monster421 发表于 2006-2-28 14:30

紧急求助!(MATLAB辅助优化设计)

<P>  本人编制优化程序时遇到一问题,在M文件中用积分函数运行不起来!为什么?请高手指点一下,谢谢了!<BR>目标函数M file文件:<BR>function f=myfun1(x)<BR>global t;<BR>v=0.8*1.256*t-3.1415+acos((x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669)+x(3)^2-x(2)^2)/(2*x(3)*sqrt(x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669))))+acos((x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669)+x(4)^2-x(1)^2)/(2*x(4)*sqrt(x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669))));<BR>f=int(v,t,0,2.5);<BR>约束条件M file 文件:<BR>function =mycon1(x)<BR>c(1)=x(1)^2+x(3)^2-(x(4)-x(1))^2-2*x(2)*x(3)*cos(3.1415*40/180);<BR>c(2)=-x(2)^2-x(3)^2+(x(4)+x(1))^2-2*x(2)*x(3)*cos(3.1415*40/180);<BR>ceq=0;<BR><BR>MATLAB窗口:<BR>&gt;&gt; A=;<BR>&gt;&gt; b=;<BR>&gt;&gt; x0=;<BR>&gt;&gt; lb=zeros(4,1);<BR>&gt;&gt; =fmincon(@myfun1,x0,A,b,[],[],lb,[],@mycon1)<BR><BR>就是目标函数M文件中我想把求积分当作目标函数,加了个f=int(v,t,0,2.5),运行时就出现下面的错误:<BR>??? Error using ==&gt; fmincon<BR>FMINCON cannot continue because user supplied objective function<BR>failed with the following error:</P>
<P>No appropriate methods for function int.<BR><BR>大家帮忙解决一下吧!</P>

VibInfo 发表于 2006-2-28 15:01

回复:(monster421)紧急求助!(MATLAB辅助优化设计...

function f=myfun1(x)<BR>global t;<BR>v=0.8*1.256*t-3.1415+acos((x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669)+x(3)^2-x(2)^2)/(2*x(3)*sqrt(x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669))))+acos((x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669)+x(4)^2-x(1)^2)/(2*x(4)*sqrt(x(1)^2+x(4)^2-2*x(1)*x(4)*cos(1.256*t+2.669))));<BR>f=int(v,t,0,2.5);<BR><BR><BR>int用错了,你这样用v就变成数值了<BR>而对于int这个函数而言v应该是表达式

monster421 发表于 2006-2-28 19:38

能具体给个做法吗? v是关于x和t的表达式啊!我还是不理解?

happy 发表于 2006-3-2 09:18

回复:(monster421)紧急求助!(MATLAB辅助优化设计...

doc int看一下这个函数应该怎么用吧

dlchen 发表于 2006-3-2 14:29

help sym/int.m 有例子说明
页: [1]
查看完整版本: 紧急求助!(MATLAB辅助优化设计)