x0=[1;1;1;1;0;0;0;0;0;0;0;0;0;0]; A=[]; b=[];
Aeq=[80 80 80 80 0 0 1 -1 0 0 0 0 0 0;5 5 5 5 0 0 0 0 1 -1 0 0 0 0 0 0]; %两方程的系数
beq=[1000;80];
lb=[]; ub=[];
[x,fval,exitflag,output,lambda,grad,hessian]=fmincon('myfun',x0,A,b,Aeq,beq,lb,ub,'mycon')
限制函数
function [c,ceq]=mycon(x)
ceq(1)=0.2^2*5^2/x(1)+0.25^2*9^2/x(2)+0.4^2*14^2/x(3)+0.15^2*19^2/x(4)+x(11)-x(12)-5;
ceq(2)=0.2^2*20^2/x(1)+0.25^2*30^2/x(2)+0.4^2*50^2/x(3)+0.15^2*100^2/x(4)+x(13)-x(14)-20;
ceq(3)=0.2^2/x(1)*0.25*0.5+0.25^2/x(2)*0.56*0.5+0.4^2/x(3)*0.88*0.5+0.15^2/x(4)*1.62*0.5+x(5)-x(6)-60;
c=[];
目标函数
function f=myfun(x)
f=3*(x(7)+x(8))+5*(x(9)+x(10))+10*(x(11)+x(12)+x(10)+x(9)+x(5)+x(6));
??? Error using ==> vertcat CAT arguments dimensions are not consistent.
根本没用过CAT这个函数,怎么会这样?
哪位大仙帮帮忙,小弟在这冰天雪地360度翻转裸跪求答案! |