大家好,又见面了,我是你们的朋友全栈君。
满意答案
ufm42724
2013.09.07
采纳率:55% 等级:12
已帮助:8663人
你的代码中调用fmincon函数中@total1不应该是@myfun目标函数吗,后面的那个@total1应该是@mycon为非线性约束
function f = myfun(x)
f = 0.192457*1e-4*(x(2)+2)*x(1)^2*x(3);
function [c,ceq] = mycon(x)
c(1)=350-163*x^(-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-356000*x(1)^(-4)*x(2)*x(3)^3;
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(@myfun,x0,A,b,[],[],lb,[],@mycon)
这样才对!
04分享举报
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149519.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...