24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2713  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

alan_fang

木虫 (正式写手)

[求助] matlab的lsqnonlin函数怎么用

x = lsqnonlin(fun,x0)

见图片1有一个例子这个好处理些,我想问的是如果目标函数图片3所示的话应该怎么处理呢?lsqnonlin里面的fun应该怎么定义?
matlab的lsqnonlin函数怎么用
图片1.png


matlab的lsqnonlin函数怎么用-1
图片3.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

★ ★
csgt0: 金币+2, 谢谢 2013-05-31 11:33:19
首先,要说,LZ给的那个例子是不对的(我觉得)
你的fun6求的是10个值,而不是10 个值的平方加和。
而求解的时候用的是myfun8.我试了一下,也是用myfun6进行求解的结果。

而我觉得LZ的意思是要求x1,x2.使得平方加和最小。
所以,根据LZ例子中给的公式,将myfun8进行修改。
用main_solve.m进行调用。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : myfun6.m
  • 2013-05-28 09:05:04, 65 bytes
  • 附件 2 : main_solve.m
  • 2013-05-28 09:05:15, 205 bytes
  • 附件 3 : myfun8.m
  • 2013-05-28 09:05:22, 85 bytes
唉。还是学吧。
3楼2013-05-28 09:05:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

alan_fang

木虫 (正式写手)

图3看不清,重新上传一张
matlab的lsqnonlin函数怎么用-2
9W291RUQXCJDW[B$H05OXTA.jpg

2楼2013-05-27 22:58:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

如果要写2楼的公式。LZ需要自行修改myfun8.m

function F = myfun8(x)
k=1:10;
F_tm=2+2*k-exp(k*x(1))-exp(k*x(2));%mod this part "F_tm"
F=sum(F_tm.^2);
唉。还是学吧。
4楼2013-05-28 09:11:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alan_fang

木虫 (正式写手)

引用回帖:
4楼: Originally posted by meatball1982 at 2013-05-28 09:11:22
如果要写2楼的公式。LZ需要自行修改myfun8.m

function F = myfun8(x)
k=1:10;
F_tm=2+2*k-exp(k*x(1))-exp(k*x(2));%mod this part "F_tm"
F=sum(F_tm.^2);

我找到上面例子的原型了,在help文档里面的。我想说的是使目标函数F=(x1-x2)^2最小化的话,用lsqnonlin函数调用的话,fun函数是(x1-x2)^2定义还是(x1-x2)定义,例子好像是(x1-x2)定义就可以了,不用它的平方项。而如果是使目标函数F=(x1-x2)^2+(y1-y2)^2那又该怎么定义fun函数
matlab的lsqnonlin函数怎么用-3
快照1.png

5楼2013-05-28 13:09:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见