Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-11-15
帖子: 5
声望力: 0 ![]() |
![]()
coeff是所求的未知系数,一共三个参数
xdata=【0:0.001:3】。。。。1x3001 ydata=不规则的数据,请见附件,长度1x3001 是一个公式求出来的数值 附件是matlab中.mat文件,下载后可以改成.mat后缀 求解的曲线是: F=coeff(3)^2./((coeff(2)-xdata.^2).^2+(coeff(1)*xdata).^2); 非常感谢,我使用了: coeff0 = [5; 8; 0.00001]; % Starting guess [coeff,resnorm] = lsqcurvefit(@myfun,coeff0,xdata,ydata) function F = myfun(coeff,xdata) F=coeff(3)^2./((coeff(2)-xdata.^2).^2+(coeff(1)*xdata).^2); 但是一直出错: ??? Error using ==> optim\private\snls at 304 lsqcurvefit cannot continue: user function is returning Inf or NaN values. Error in ==> optim\private\lsqncommon at 221 [x,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msg]=... Error in ==> lsqcurvefit at 182 [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ... Error in ==> white_noise_to_color at 25 [coeff,resnorm] = lsqcurvefit(@myfun,coeff0,omega,S_FF) 此帖于 2010-05-17 03:07 被 lincsu 编辑。 |
![]() |
![]() |