matlab高手有好几个约束,求目标函数的最小值。

约束条件为
D<=206.9014
0.53D<=d<=0.70D
D^2+Dd+d^2<=0.28(D+d)
目标函数为F=min(D^2+d^2)

小弟matlab菜鸟,现在急需作出这道题目。
请各位高手帮帮忙。
写出程序啊,最好能有说明啊。
这个条件D^2+Dd+d^2<=0.28(D+d)也可以变成
3.1071D^2-D^3+3.1071d^2+d^3>=0

function [f,g]=devil(x)
f=x(1)^2+x(2)^2;
g(1)=x(1)-206.9014;
g(2)=x(2)-0.7*x(1);
g(3)=0.53*x(1)-x(2);
g(4)=x(1)^2+x(1)*x(2)+x(2)^2-0.28*(x(1)+x(2));

x0=[0.1 0.06];opt(1)=1;
>> x=constr('devil',x0,opt)

不过你的约束条件有问题
没有这样D,d同时满足你的三个条件吧
温馨提示:答案为网友推荐,仅供参考
相似回答