Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2012-03-29, 14:39   #1
stevensu27
初级会员
 
注册日期: 2012-03-29
年龄: 40
帖子: 1
声望力: 0
stevensu27 正向着好的方向发展
默认 各位大神,帮帮忙!一个有关最小二乘拟合的问题。

问题是这样的,现在需要将这个函数加一些噪声进去,然后再用进行拟合,观察系数a1a2a3。现在噪声暂时还没有添加,程序如下
clear all
clf
x=-120:1:120;%x的取值范围
N=length(x);%x的向量长度
%A=(pi/1.54)-(pi/1.56)=0.0262;
y=((0.0262*x).^-1).*sin(0.0262*x);%产生y
plot(x,y)
f=inline('a(1)*((0.0262*(x-a(2))).^-1).*sin(0.0262*(x-a(2)))+a(3)','a','x');
[xx,res]=lsqcurvefit(f,[1,0,0],x,y); xx',res

运行一直不成功,返回下列结果
??? Error using ==> optim\private\snls
lsqcurvefit cannot continue: user function is returning Inf or NaN values.
Error in ==> optim\private\lsqncommon at 222
[x,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msg]=...
Error in ==> lsqcurvefit at 149
[x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...

请问下这个的问题大概在哪里?应该怎么改?请帮我看看,非常感谢!!!!
stevensu27 当前离线   回复时引用此帖
 

主题工具
显示模式

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

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



所有时间均为北京时间。现在的时间是 12:15


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