matlab题目:求f(x,y)=3x2+2xy+y2在[1,1]附近的最小值。写出编程过程

[复制链接]
查看11 | 回复3 | 2019-3-2 14:56:49 | 显示全部楼层 |阅读模式
注:字母后面的2是平方的意思
1楼这个不行呀

回复

使用道具 举报

千问 | 2019-3-2 14:56:49 | 显示全部楼层
其实这个问题不用matlab直接就可以解出来,方法如下:f(x,y)=2x^2+(x+y)^2,设x+y=z,有f(x,y)=g(x,z)=2x^2+z^2,则原问题等价于求g(x,z)在(1,2)点附近的最小值,从该式的形式观察即可知当x=y=z=0时,f与g同时取得其最小值为0。另外,从一阶必要条件来看(f'=0,即kkt点),对f求导也可知它只有一个极值点,即(0,0)点。希望这个思路能够帮助你。...
回复

使用道具 举报

千问 | 2019-3-2 14:56:49 | 显示全部楼层
高等数学的解法:令z=3*x.^2+2*x.*y+y.^2;solve('diff(z,x)=0,diff(z,y)=0')就可以求出x,y的值如果看不到结果的话就用disp(ans.x)和disp(ans.y).这个和你用的matlab的版本的数据结构有关。然后将x,y代入就可以了。我求出的是当x=0y=0时,最小值也为0....
回复

使用道具 举报

千问 | 2019-3-2 14:56:49 | 显示全部楼层
他是matlab 7的。你如果用低版本的话,不妨:f=inline('3*x(1)^2+2*x(1)*x(2)+x(2)^2');x=fminsearch(f,[1,1]) 我这里得到的是:x =1.0e-004 * -0.0675
0.1715...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行