|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我是个菜鸟,按照书上的例子学习使用优化工具箱.
完全按照书上的方法输入下列程序.
首先,编写一个叫opt17_7o.m的文件,具体如下:
function f = myfun(x)
f=0.192457*1e-4*(x(2)+2)*x(1)^2*x(3);
然后,再编写一个叫opt17_7c.m的文件,具体如下:
function [c,ceq]=mycon(x)
c(1)=350-163*x(1)^(-2.86)*x(3)^0.86;
c(2)=10-0.4*0.01*x(1)^(-4)*x(2)*x(3)^3;
c(3)=(x(2)+1.5)*x(1)+0.44*0.01*x(1)^(-4)*x(2)*x(3)^3-3.7*x(3);
c(4)=375-0.356*1e6*x(1)*x(2)^(-1)*x(3)^(-2);
c(5)=4-x(3)/x(1);
最后在命令窗口中输入:
A =[ -1 0 0
1 0 0
0 -1 0
0 1 0
0 0 -1
0 0 1];
b=[-1;4;-4.5;50;-10;30];
x0=[2.0;5.0;25.0]
lb=zeros(3,1);
[x,fval,exitflag,output,lambda]=fmincon(@opt17_7o,x0,A,b,[],[],lb,[],@opt17_7c)
按照书上的说法,应该得出一个优化的结果,可是我输入后,却提示我有下面的错误:
Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
> In fmincon at 260
??? Error using ==> fmincon
FMINCON cannot continue because user supplied nonlinear constraint function
failed with the following error:
One or more output arguments not assigned during call to 'C:\MATLAB7\work\opt17_7c.m (opt17_7c)'.
我琢磨半天,实在不知道要怎么解决,因为是原本照书上套的程序,为什么在我机子上就不能运行呢?很烦恼啊!求各位高手鼎立相助!谢谢!
[ 本帖最后由 eight 于 2008-4-14 20:47 编辑 ] |
|