jiao~ 发表于 2009-11-11 22:16

利用MATLAB求最小值问题

请问用什么命令解 minf=2x+y xy=512 求2x+y的最小值,以及取到最小值时x,y的值谢谢!~~~

[ 本帖最后由 friendchj 于 2009-11-13 04:03 编辑 ]

ChaChing 发表于 2009-11-12 00:43

Help fmincon

dbx12358 发表于 2009-11-12 17:34

这个没有必要用matlab解决吧

VibrationMaster 发表于 2009-11-12 18:14

minf=2x+y
2x*y=2*512 =1024
因此2x=y=32时最小,即2x+y=64

ChaChing 发表于 2009-11-12 18:32

回复 板凳 dbx12358 的帖子

其实验证时, 是可以使用可推演出正确值的例子

jiao~ 发表于 2009-11-12 21:48

我也知道没有必要用matlab 但是 要求用~~~
能不能帮我写一下具体的程序~~~
我试了好多~~都没弄出来

friendchj 发表于 2009-11-13 04:17

可以转化为无约束单变量函数求最小值(x,y还应大于零):
clc
clear
f=fminunc(@myfun,1)
~~~~~~~~~~~~~~~~~~~~~~~
function f=myfun(x)
f=2*x+512/x;
------------------------------------
结果:
f =

   15.9991

ChaChing 发表于 2009-11-13 13:35

看玩楼上的答案, 才惊觉又犯误植了!
个人不察出个模糊错误! 4F的推论有问题!
若已知 a+b=k, 当a=b=k/2时, a*b有极大值!
但没有a*b=k^2, 当a=b=k时, a+b有极小值!
我想VibrationMaster可能故意看大家有无小心
页: [1]
查看完整版本: 利用MATLAB求最小值问题