mandyhang 发表于 2007-8-12 23:29

关于fmincon符号变量的使用求助

被这个问题困扰好久了!
具体如下:
=fmincon(@J,x0,[],[],[],[],lb,ub,@Risk,[],l,m,n,gxf(j),gyf(j),xs,ys,D);
其中J.m如下:
function f=J(x,l,m,n)
J=-1/2*log((2*pi*exp(1))^2*(l*n-m^2))
Risk.m如下:
function c=Risk(x,gxf,gyf,xs,ys,D)
c=D-sqrt((gxf-xs)^2+(gyf-ys)^2);
其中l,m,n,xs,ys均为与x有关的符号变量,是前面程序中推出来的;gxf(j),gyf(j),D为常数;j用来循环。@J与@Risk需要代入的变量还不一样,分别为l,m,n及gxf(j),gyf(j),xs,ys,D。
版上一位朋友告诉我用subs,但我还是不会用。。。。
我把程序附在下面,需要改错的地方用醒目的%%%标出来了,请大家帮我看一下,应该怎么改。万分谢谢!
(因为不能上传打包的格式,于是把程序一一附上,其中运行main.m出错。)

[ 本帖最后由 eight 于 2007-8-15 20:24 编辑 ]

mandyhang 发表于 2007-8-13 17:50

解决了,用struct传递参数,用subs进行符号变量置换。

yanxuehu 发表于 2008-1-18 19:07

解决了,用struct传递参数,用subs进行符号变量置换。
能够表述清楚一点吗?

[ 本帖最后由 eight 于 2008-1-22 16:12 编辑 ]
页: [1]
查看完整版本: 关于fmincon符号变量的使用求助