刚修改的
function [f,c]=fun(x)f=x(1)*(x(2)+x(3)*20)/2
c(1)=2-x(1);
c(2)=x(1)-10;
c(3)=6-x(2);
c(4)=x(2)-25;
c(5)=1-x(3);
c(6)=x(3)-4;
c(7)=1.949*10^6*exp(-1.7762*2*x(2)/(x(2)+20*x(3)))*(1/(x(1)^3*(x(2)+20*x(3))^3))^0.5-244;
c(8)=114800/(x(1)^3*x(3)*(0.5+(x(2)+1)^0.5))-45.08;
c(9)=((118552/(x(1)*x(2)))^2+(34519/(x(1)*x(3)))^2)^0.5*(1.179*10^(-8)*x(1)^3*x(3)^3)/(x(1)*x(2)-2*x(1)-0.4)^4-0.001*x(1)*x(2);
x0=[8,10,2];
options=[];
[x,options]=constr('fun',x0,options);
[f,c]=fun(x)
x(1)
x(2)
x(3)
刚修改后程序 可以运行就是 结果 不对 估计是把一个约束条件给编错了 15度≤atandx(3)/x(2)≤30度
这个约束条件怎么编啊 谢谢