24小时热门版块排行榜    

查看: 917  |  回复: 0

Justiceall

新虫 (初入文坛)

[求助] 求助 编出来的matlab规划问题程序运行不了(线性约束方面的)

代码如下:
function profit
[x,fval]=ga(@fitness,5,[],[],[],[],0,1,@nonl)
function y=fitness(x)
y=(-(7.42-(1.56*x(1)+258.98*x(2)+1.26*x(3)+3.32*x(4)+5.00*x(5))));
function [c,ce,A,B,X,C,D,E,F,O,S,G,H,I,J,L,e,r,m]=nonl(x)
A=[18,0,0,0,0;0,0,0,0,0;0,0,8,0,0;0,0,0,21,0;0,0,0,0,9]; %s=R-M的对角阵
B=[8,0,8,21,9];
s=B';
X=[x(1),x(2),x(3),x(4),x(5)];
C=[118,0,95,111,78];
r=C';
D=[100,0,87,90,69];
m=D';
E=[0,0,0,0,0];  %组分油烯烃含量
O=E';
F=[0,0,0,0,0];  %组分油烯烃含量平方
S=F';
G=[0,0,0,0,0];  %组分油芳烃含量
H=G';
I=[0,0,0,0,0];  %组分油芳烃含量平方
J=I';
L=[1,1,1,1,1];
e=L';
R=r*X+0.03224*(r*A*X-((r*X)*(s*X))/(e*X))+0.00101*((S*X)-((O*X).^2)/(e*X));
M=m*X+0.0445*(m*A*X-((m*X)*(s*X))/(e*X))+0.00081*((S*X)-((O*X).^2)/(e*X))+((-0.00645)/10000*(e*X))/(((J*X)-((H*X).^2)/(e*X)).^2);
c(1)=-(r*X+0.03224*(r*A*X-((r*X)*(s*X))/(e*X))+0.00101*((S*X)-((O*X).^2)/(e*X)))+90;
c(2)=(-(R+M)/2)+85;
c(3)=((x(1)*(50.5).^1.25)+(x(2)*(0.00667).^1.25)+(x(3)*(39).^1.25)+(x(4)*(5.87).^1.25)+(x(5)*(75).^1.25)).^0.8-72;
ce=[];
matlab检测出的错误是:
>> profit
Error using  *
Inner matrix dimensions must agree.

Error in profit>nonl (line 24)
R=r*X+0.03224*(r*A*X-((r*X)*(s*X))/(e*X))+0.00101*((S*X)-((O*X).^2)/(e*X));

Error in validate>@(x)nonlcon(x,NonconFcnArgs{:}) (line 142)
    nonlcon = @(x) nonlcon(x,NonconFcnArgs{:});

Error in constrValidate (line 20)
        [cineq,ceq] = nonlcon(Iterate.x');

Error in gacommon (line 132)
[LinearConstr, Iterate,nineqcstr,neqcstr,ncstr] = constrValidate(NonconFcn, ...

Error in ga (line 322)
[x,fval,exitFlag,output,population,scores,FitnessFcn,nvars,Aineq,bineq,Aeq,beq,lb,ub, ...

Error in profit (line 2)
[x,fval]=ga(@fitness,5,[],[],[],[],[],[],@nonl)

Caused by:
    Failure in initial user-supplied nonlinear constraint function evaluation.

>>
请各位大哥帮忙看看,我都改了一天了还是运行不出来啊。。。。。急死。。。就这些金币了全给你们了。。。。。谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 Justiceall 的主题更新
信息提示
请填处理意见