用Matlab解决有约束的非线性问题 25
求函数:(x1-x2)^2+(x2-1)^2的最小值约束条件是:x1^2-x2<=0x1+x2<=0最好可以用matlab里面的optimazationtool工具完成一...
求函数:(x1-x2)^2+(x2-1)^2的最小值约束条件是:x1^2-x2<=0 x1+x2<=0最好可以用matlab里面的optimazation tool工具完成一下,还有用调用函数完成。两种方式的答案
展开
1个回答
展开全部
用matlab里面的optimazation tool工具,来解决有约束的非线性问题。
首先,应分别建立自定义极值函数fmincon_fun(x)和自定义约束函数fmincon_con(x)
其二,用optimtool命令,打开optimazation tool工具箱
其三,分别用@fmincon_fun和@fmincon_con填入对于命令框内,同时将初值设定为【0,0】
最后,点击Start按钮,可以求得x1=-0.2,x2=0.2,f=0.8
自定义极值函数fmincon_fun(x)和自定义约束函数fmincon_con(x)的内容:
function f=fmincon_fun(x)
x1=x(1);x2=x(2);
f=(x1-x2)^2+(x2-1)^2
end
function [c,ceq]=fmincon_con(x)
x1=x(1);x2=x(2);
c(1)=x1^2-x2;
c(2)=x1+x2
ceq=[];
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询