xu003822 发表于 2008-12-26 22:57

像高手请教matlab优化死循环问题

请问为什么下面代码会出现死循环呢:
Aeq=
beq=
x0='
lb=zeros(4,1)
=fmincon('1490*(60.1424-x(1))^0.507+690*(30.1562-x(2))^0.807+214*(117.7613-x(3))^0.407+283*(43.5848-x(4))^1.219',x0,[],[],Aeq,beq,lb,[],'yuesu')

yuesu.m的代码
function=mycon(x)
ceq=[]
c(1)=(x(1)-25.974)^2+(x(1)-15.84)^2+(x(1)-26.26)^2-534.1
c(2)=(x(2)-10.8)^2+(x(2)-21)^2+(x(2)-17.38)^2-135.3
c(3)=(x(3)-40.845)^2+(x(3)-13.42)^2+(x(3)-25.02)^2-1934.4
c(4)=(x(4)-15.913)^2+(x(4)-38.76)^2+(x(4)-20.36)^2-293.6
非常感谢

ch_j1985 发表于 2008-12-26 23:13

function=mycon(x)
ceq=[]
c(1)=(x(1)-25.974)^2+(x(1)-15.84)^2+(x(1)-26.26)^2-534.1
c(2)=(x(2)-10.8)^2+(x(2)-21)^2+(x(2)-17.38)^2-135.3
c(3)=(x(3)-40.845)^2+(x(3)-13.42)^2+(x(3)-25.02)^2-1934.4
c(4)=(x(4)-15.913)^2+(x(4)-38.76)^2+(x(4)-20.36)^2-293.6
将上面的代码保存为mycon.m
然后修改下面红色的代码
=fmincon('1490*(60.1424-x(1))^0.507+690*(30.1562-x(2))^0.807+214*(117.7613-x(3))^0.407+283*(43.5848-x(4))^1.219',x0,[],[],Aeq,beq,lb,[],'mycon')
页: [1]
查看完整版本: 像高手请教matlab优化死循环问题