登录论坛

查看完整版本 : [MATLAB混合编程] 【求助】编程问题


梦奇林
2009-05-15, 23:31
f='[1/(x(1)/(10*x(1)+7*x(2)+5*x(3))+x(4)/(8*x(4)+9*x(5)+8*x(6))-0.0143)+1/(x(5)/(8*x(4)+9*x(5)+8*x(6))+x(7)/(6*x(7)+5*x(8)+9*x(9))-0.0143)+1/(x(3)/(10*x(1)+7*x(2)+5*x(3))+x(9)/(6*x(7)+5*x(8)+9*x(9))-0.0143);1/(x(1)/(10*x(1)+7*x(2)+5*x(3))+x(4)/(8*x(4)+9*x(5)+8*x(6))-0.0143)+1/(x(2)/(10*x(1)+7*x(2)+5*x(3))+x(6)/(8*x(4)+9*x(5)+8*x(6))+x(8)/(6*x(7)+5*x(8)+9*x(9))-0.0143)+1/(x(3)/(10*x(1)+7*x(2)+5*x(3))+x(9)/(6*x(7)+5*x(8)+9*x(9))-0.0143)]';

x0=[0,0,1,1,0,0,1,1,0]
aeq=[ 1,0,0,1,0,0,0,0,0;...
0,0,0,0,1,0,1,0,0;...
0,1,0,0,0,1,0,1,0;...
0,0,1,0,0,0,0,0,1];
beq=[1;1;1;1];
lb=zeros(9,1);
ub=[1;1;1;1;1;1;1;1;1];
[x,fval,exitflag]=fminimax(f,x0,[],[],aeq,beq,lb,ub,[])

V[i]=x(1)/(10*x(1)+7*x(2)+5*x(3))+x(4)/(8*x(4)+9*x(5)+8*x(6))-a[i]
U[i]=x(5)/(8*x(4)+9*x(5)+8*x(6))+x(7)/(6*x(7)+5*x(8)+9*x(9))-a[i]
a=[0;0.1;0.2;0.3]
现在需要另加一个约束条件V[i]>0.0143,u[i]>0.0143
请问这样的话程序应该怎么改?
先谢谢进来看的,更谢谢肯帮我想想的人!更加感激那些帮我解决难题的人。