全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
11871 4
2011-10-12
程序命令如下,但总是出错,请高手指教,是哪里出了错误,附件为命令的txt格式,谢谢!

>> f=@(a,x) (1/((2*pi)^0.5*a(1)*x))*exp(-1/2*(log(x)-a(2))^2/a(1)^2);
x=1:0.5:19;
y=[3.155 8.621 11.777 9.170 17.110 18.813 22.961 24.887 25.331 22.961 20.739 18.517 15.702 12.888 10.666 9.184 7.999 6.814 6.370 5.481 5.185 5.037...
    4.740 4.148 4.000 3.851 3.881 3.881 3.807 3.985 3.881 3.614 3.244 3.526 2.977 3.348 3.348];
a0=[4.4013 7.4999];
a=lsqcurvefit(f,a0,x,y);
??? Error using ==> mldivide
Matrix dimensions must agree.

Error in ==> @(a,x)(1/((2*pi)^0.5*a(1)*x))*exp(-1/2*(log(x)-a(2))^2/a(1)^2)

Error in ==> lsqcurvefit at 209
            initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.

附件列表

代码.txt

大小:374 Bytes

 马上下载

免费下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-10-12 10:15:36
f=@(a,x) (1./((2*pi)^0.5*a(1)*x)).*exp(-1/2*(log(x)-a(2)).^2/a(1)^2);
x=1:0.5:19;
y=[3.155 8.621 11.777 9.170 17.110 18.813 22.961 24.887 25.331 22.961 20.739 18.517 15.702 12.888 10.666 9.184 7.999 6.814 6.370 5.481 5.185 5.037...
    4.740 4.148 4.000 3.851 3.881 3.881 3.807 3.985 3.881 3.614 3.244 3.526 2.977 3.348 3.348];
a0=[4.4013 7.4999];
a=lsqcurvefit(f,a0,x,y)
%%%%%%%%%
Optimization terminated: relative function value
changing by less than OPTIONS.TolFun.
a =
    0.0043    1.3870
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-10-12 16:05:21
epoh 发表于 2011-10-12 10:15
f=@(a,x) (1./((2*pi)^0.5*a(1)*x)).*exp(-1/2*(log(x)-a(2)).^2/a(1)^2);
x=1:0.5:19;
y=[3.155 8.621 1 ...
您好,谢谢您的解答。可是我在拟合的过程中发现,利用拟合所得系数对应的方程绘图与原始数据图差别太大了,具体代码如下,请问是为什么?
>> f=@(a,x) (1./((2*pi)^0.5*a(1)*x)).*exp(-1/2*(log(x)-a(2)).^2/a(1)^2);
x=1:0.5:19;
y=[3.155 8.621 11.777 9.170 17.110 18.813 22.961 24.887 25.331 22.961 20.739 18.517 15.702 12.888 10.666 9.184 7.999 6.814 6.370 5.481 5.185 5.037...
    4.740 4.148 4.000 3.851 3.881 3.881 3.807 3.985 3.881 3.614 3.244 3.526 2.977 3.348 3.348];
a0=[4.4013 7.4999];
a=lsqcurvefit(f,a0,x,y);
y1=(1./((2*pi)^0.5*a(1)*x)).*exp(-1/2*(log(x)-a(2)).^2/a(1)^2);
subplot(211);plot(x,y);
subplot(212);plot(x,y1);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-10-12 16:19:28

这组数据应该是你随便给的吧

不管用lsqcurvefit.m,lsqnonlin.m,ga.m

得到的都是local solution

除非能给出正确的初始值,以及设定lb,ub



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-7-28 21:38:44
向量运算用点乘撒
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群