Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2011-11-15, 10:41   #1
溺水的鱼88
初级会员
 
注册日期: 2011-11-14
帖子: 1
声望力: 0
溺水的鱼88 正向着好的方向发展
默认 有关于nlinfit非线性拟合的问题 谢谢各位大侠指导呀

有关于nlinfit非线性拟合的问题 谢谢各位大侠指导呀

x1=[-292.2,-137.3,1120.9,-33877.0,-35100.1,33812.2,-48791.0,-74.3,48609.9];
x2=[-35588.1,-36343.4,35635.9,-808.6,-24.9,-330.5,-298.3,-50834.3,-466.1];
x3=[35238.0,-34957.3,-35201.9,35506.2,-34776.5,-35558.4,-971.7,-1357.6,-219.5];
x=[x1,x2,x3];
y=[51688.7^2,51688.3^2,51690.0^2,51689.7^2,51689.5^2,51688.9^2,51689.9^2,51690.1^2,51691.9^2];
beta0=[-0.5 -0.5 -0.5 -0.5 -0.5 -0.5 -100.0 -100.0 -100.0];
myfun=@(a,x)a(1).*(x(:,1)-a(7))^2+a(2).*(x(:,2)-a(8))^2+a(3)*(x(:,3)-a(9))^2+a(4).*(x(:,1)-a(7))*(x(:,2)-a(8))+a(5).*(x(:,2)-a(8))*(x(:,3)-a(9))+a(6).*(x(:,3)-a(9))*(x(:,1)-a(7));
[a,b,c,d,res]=nlinfit(x,y,myfun,beta0);
a;
plot3(x1,x2,x3,y,'o',x1,x2,x3,myfun(a,x));
程序是这个
报错
??? Error using ==> nlinfit at 127
MODELFUN should return a vector of fitted values the same length as Y.

Error in ==> nlinfit0 at 8
[a,b,c,d,res]=nlinfit(x,y,myfun,beta0);

请问大侠是什么问题呢?

还有如果使用optimization tool 能解决这个拟合问题么 谢谢指导了
溺水的鱼88 当前离线   回复时引用此帖
旧 2011-11-19, 20:09   #2
mathjiang
高级会员
 
注册日期: 2008-01-02
帖子: 247
声望力: 22
mathjiang 正向着好的方向发展
默认 回复: 有关于nlinfit非线性拟合的问题 谢谢各位大侠指导呀

x是1*27的向量,y是1*9的向量。

x1=[-292.2,-137.3,1120.9,-33877.0,-35100.1,33812.2,-48791.0,-74.3,48609.9];
x2=[-35588.1,-36343.4,35635.9,-808.6,-24.9,-330.5,-298.3,-50834.3,-466.1];
x3=[35238.0,-34957.3,-35201.9,35506.2,-34776.5,-35558.4,-971.7,-1357.6,-219.5];
x=[x1;x2;x3]; %其中逗号改为分号.
mathjiang 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 03:55


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.