楼主: xiaozhang219
11943 4

[问答] 求助:命令出错了,请高手指教。 [推广有奖]

  • 0关注
  • 0粉丝

初中生

71%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
121 点
帖子
12
精华
0
在线时间
12 小时
注册时间
2011-10-7
最后登录
2012-2-29

楼主
xiaozhang219 发表于 2011-10-12 08:37:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
程序命令如下,但总是出错,请高手指教,是哪里出了错误,附件为命令的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.

二维码

扫码加我 拉你入群

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

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

关键词:Evaluation Dimensions Valuation Objective dimension 程序 Error agree using

代码.txt
下载链接: https://bbs.pinggu.org/a-976885.html

374 Bytes

免费下载

沙发
epoh 发表于 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
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
zhangtao + 5 + 5 + 5 精彩帖子
ywh19860616 + 1 + 1 + 1 我很赞同

总评分: 学术水平 + 6  热心指数 + 6  信用等级 + 6   查看全部评分

藤椅
xiaozhang219 发表于 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);

板凳
epoh 发表于 2011-10-12 16:19:28

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

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

得到的都是local solution

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



报纸
matlab-007 发表于 2016-7-28 21:38:44
向量运算用点乘撒

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 01:25