一个简单的matlab问题,fmincon优化,谢谢
例如求以下这个函数f=(x(1)-2).^2+(x(2)-3).^2+26的极小值,如果对自变量加上约束条件:3<=x(1)<=6,4<=x(2)<=7,那如何用fmin...
例如求以下这个函数f=(x(1)-2).^2+(x(2)-3).^2+26的极小值,如果对自变量加上约束条件:3<=x(1)<=6, 4<=x(2)<=7, 那如何用fmincon或其他命令求出极小值点和极小值?谢谢!
展开
1个回答
展开全部
因为
f
是一个凸函数,函数的极小值发生在
f
对
x(1)
和
x(2)
的偏导为
0
的地方,或者在约束条件的边界上。本题的主函数的点为
x(1)=2,
x(2)=3,
在约束条件以外,所以,最小值发生在离这个点最近的约束条件边界上,即
x(1)=3,
x(2)=4,其对应的最小值为
28。
用Matlab的fmincon的话,
X=fmincon(inline('
(x(1)-2)^2
+
(x(2)-3)^2
+26
'),
[1;
1],
[],
[],
[],
[],
[3;
4
],
[6;7])
得
X
=
3
4
f
是一个凸函数,函数的极小值发生在
f
对
x(1)
和
x(2)
的偏导为
0
的地方,或者在约束条件的边界上。本题的主函数的点为
x(1)=2,
x(2)=3,
在约束条件以外,所以,最小值发生在离这个点最近的约束条件边界上,即
x(1)=3,
x(2)=4,其对应的最小值为
28。
用Matlab的fmincon的话,
X=fmincon(inline('
(x(1)-2)^2
+
(x(2)-3)^2
+26
'),
[1;
1],
[],
[],
[],
[],
[3;
4
],
[6;7])
得
X
=
3
4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询