作业帮 > 综合 > 作业

求matlab大神帮我解决下这个程序,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 06:28:56
求matlab大神帮我解决下这个程序,
目标函数的M文件是:
function=myfun(x)
f=8.8279*x(1)^3*x(2)^3*x(3);
非线性约束的M文件是:
function[c,ceq]=yueshu(x)
c(1)=0.9-x(1)/(x(2)*x(3));
c(2)=x(1)/(x(2)*x(3))-1.4;
c(3)=x(2)*x(3)-300;
c(4)=1486250/(x(2)*x(3)*sqrt(x(1)))-550;
c(5)=53366522/(x(1)*x(2)*x(3)^2)-400;
c(6)=25214684/(x(1)*x(2)*x(3)^2)-400;
c(7)=117.04*x(4)^4/(x(2)*x(3)*x(5)^4)-0.003*x(4);
c(8)=1/x(5)^3*sqrt(2850000*x(4)/(x(2)*x(3))+2400000000000)-5.5;
c(9)=1/x(6)^3*sqrt(2850000*x(4)/(x(2)*x(3))+6000000000000)-5.5;
ceq=[];
执行命令是:
x0=[2.5,32,0.9];
lb=[2;17;0.8];
ub=[10;35;1.4];
[x,fval]=fmincon(@myfun,x0,[ ],[ ],[ ],[ ],lb,ub,@mycon)
最后得不出来结果呀 求大神看看哪里出问题了,急 急 急 急 .
发错了 非线性约束的M文件是:
function[c,ceq]=mycon(x)
c(1)=362210.23/((x(1)*x(2))^3*x(3))^0.5-550;
c(2)=444000*(12.5186/(x(2)-3.01794)+2.063)*(1.97-22.704/x(2)+34.6)/(x(1)^3*x(2)^2*x(3))-290;
c(3)=444000*(12.5186/(3.2*x(2)-3.01794)+2.063)*(1.97-22.704/(3.2*x(2)+34.6))/(x(1)^3*x(2)^2*x(3))-210;
ceq=[];
非线性约束的M文件里面的x是6维的,而你给出的x0是3维的,故出现错误
再问: 大哥 我发错了 正确的非线性约束文件在下面 你再看看 有什么问题
再答: 你的程序是有结果出来的啊,不过就是有错误提示,好像是中间中断了 得到的结果是x =    7.3337   17.0000    1.4000
fval =  2.3950e+007
再问: 但是我运行出来就是提示的这个呀 什么原因哦?

再答: 建议你将错误的信息复制到翻译软件中翻译成中文再分析