|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<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 [c,ceq]=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>>> A=[1 -1 -1 1;1 -1 1 -1;1 1 -1 -1];<BR>>> b=[0;0;0];<BR>>> x0=[10;51;28.5;53.5];<BR>>> lb=zeros(4,1);<BR>>> [x,fval,exitflag,output,lambda]=fmincon(@myfun1,x0,A,b,[],[],lb,[],@mycon1)<BR><BR>就是目标函数M文件中我想把求积分当作目标函数,加了个f=int(v,t,0,2.5),运行时就出现下面的错误:<BR>??? Error using ==> 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> |
|