24小时热门版块排行榜    

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

playpanda

新虫 (小有名气)

[求助] 用matlab 的 fminu 函数做非线性最优化 出现错误, 求高手帮忙

syms a1 a2 a3 a4 a5 x;
t=a1*x+a2*x^2+a3*x^3+a4*x^4+a5*x^5;
f=(1+t+t^2/2+t^3/6+t^4/24+t^5/120);
f1=int(x*f,x,0.5779,13.5993);
g=int(f,x, 0.5779,13.5993);
r1=1-f1/(6.86*g);
f2=int(x^2*f,x,0.5779,13.5993);
r2=1-f2/(54.39*g);
f3=int(x^3*f,x,0.5779,13.5993);
r3=1-f3/(478.14*g);
f4=int(x^4*f,x,0.5779,13.5993);
r4=1-f4/(4534.51*g);
f5=int(x^5*f,x,0.5779,13.5993);
r5=1-f5/(45534.81*g);
r=r1^2+r2^2+r3^2+r4^2+r5^2;
a=[a1,a2,a3,a4,a5];
a0=[0,0,0,0,0];
options=[];
a=fminu(r,a0,options);
这是源码,用matlab的时候提示下面的错误
??? Error: File: fminu.m Line: 270 Column: 42
The expression to the left of the equals sign is not a valid target for an
assignment.
fminu.m函数已经有了,我在网上下载的,对matlab不是很了解,改了别人的一个程序却怎么也算不出来,请高手指正

貌似 fminunc  这个函数也可以,只要更改后能在matlab中运行 能求出a的5个数值,就给分

如果上面有写的不对的地方,请高手指正
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lzz654321

木虫 (著名写手)

凑活

我想问一下,你是从个网上看到的?粘个链接过来看看。
5楼2013-11-03 16:34:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

sg47

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
变量格式有问题,看看帮助就好了
2楼2012-07-23 17:19:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mhkmars

金虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
首先你的优化函数必须写成一个function,而不是像你这样用符号变量表达
be the change you want to see
3楼2012-07-23 19:23:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dybo

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
确实应该写成函数,以.m格式文件存放及调用
不反对美国不可能,不学习美国的科学技术也不可能,反正我不学清北不回来!
4楼2012-07-24 07:06:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见