用matlab帮我解个题,谢谢!用matlab求 min F(x)=(x1-2)^2+(x2-1)^2 s.t. g1(x)=x2-x1^2>=0g2(x)=2-x1-x2>=0取:x1属于[-5 6] x2属于[-5 8]
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 09:51:18
用matlab帮我解个题,谢谢!用matlab求 min F(x)=(x1-2)^2+(x2-1)^2 s.t. g1(x)=x2-x1^2>=0g2(x)=2-x1-x2>=0取:x1属于[-5 6] x2属于[-5 8]
用matlab帮我解个题,谢谢!
用matlab求 min F(x)=(x1-2)^2+(x2-1)^2
s.t. g1(x)=x2-x1^2>=0
g2(x)=2-x1-x2>=0
取:x1属于[-5 6] x2属于[-5 8]
用matlab帮我解个题,谢谢!用matlab求 min F(x)=(x1-2)^2+(x2-1)^2 s.t. g1(x)=x2-x1^2>=0g2(x)=2-x1-x2>=0取:x1属于[-5 6] x2属于[-5 8]
把下列内容全部保存为s.m
function [x,val]=s
f=@(x)(x(1)-2)^2+(x(2)-1)^2;
A=[1 1];
b=2;
lb=[-5;-5];
ub=[6;8];
[x,val]=fmincon(f,[0;0],A,b,[],[],lb,ub,@g);
function [c,ceq]=g(x)
c=x(1)^2-x(2);
ceq=0;
然后在command Windows下输入
[x,val]=s
令x=x1,y=x2,min F(x)=z
在MATLAB中编程
for x=-5:0.01:6
for y=-5:0.01:8
if ((y-x*x)>=0)&&((2-x-y)>=0)
z=(x-2)*(x-2)+(y-1)*(y-1);
else
di...
全部展开
令x=x1,y=x2,min F(x)=z
在MATLAB中编程
for x=-5:0.01:6
for y=-5:0.01:8
if ((y-x*x)>=0)&&((2-x-y)>=0)
z=(x-2)*(x-2)+(y-1)*(y-1);
else
disp('error');
continue;
end
end
end
z
最终得到 z=1;
收起