一个简单的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或其他命令求出极小值点和极小值?谢谢! 展开
 我来答
talk2danny
2011-09-11 · TA获得超过728个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:178万
展开全部
因为 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=-((x(1)-2).^2+(x(2)-3).^2+26),结果还是不变呢?
追答
不会啊~~ 

[X,fval]=fmincon(inline(' -( (x(1)-2)^2 + (x(2)-3)^2 +26 ) '), [1; 1], [], [], [], [], [3; 4 ], [6;7])
的话,
X =
6
7
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式