matlab fmincon 求约束条件下的最小值问题

functiony=find_min(x)y=(x(1)+2*x(2)-7)^2+(2*x(1)+x(2)-5)^2;——————————————————————xmin... function y=find_min(x)
y=(x(1)+2*x(2)-7)^2+(2*x(1)+x(2)-5)^2;
——————————————————————
xmin=[-4;-4];
xmax=[4;4];

[x,ymin,flag,c]=fmincon('find_min',[1;1],[],[],[],[],xmin,xmax);

结果输出为
x =
1.0000
3.0000
ymin =
3.0775e-09
但是当x=1,x=3时
应该为0
展开
百度网友a536a36
2013-03-21 · TA获得超过4480个赞
知道小有建树答主
回答量:534
采纳率:100%
帮助的人:286万
展开全部
你把那个x的第一个元素减去一个1看看,第一个应该不是0,只是近似解吧。

函数返回的是通过迭代求解的,不是只是个近似解~~~~

3.0775e-09就是10的-9次方量级的了。应该满足要求了~~~~~
追问
怎么修改啊?这个fmincon函数没有学过 所以不太懂。
追答
这个不需要改了,这就算完成了~~~

因为这是数值解,不是求解析解,达到一定精度就算是完成了~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式