声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3861|回复: 7

[编程技巧] 利用MATLAB求最小值问题

[复制链接]
发表于 2009-11-11 22:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

[ 本帖最后由 friendchj 于 2009-11-13 04:03 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-11-12 00:43 | 显示全部楼层
Help fmincon
发表于 2009-11-12 17:34 | 显示全部楼层
这个没有必要用matlab解决吧
发表于 2009-11-12 18:14 | 显示全部楼层
minf=2x+y
2x*y=2*512 =1024
因此2x=y=32时最小,即2x+y=64
发表于 2009-11-12 18:32 | 显示全部楼层

回复 板凳 dbx12358 的帖子

其实验证时, 是可以使用可推演出正确值的例子
 楼主| 发表于 2009-11-12 21:48 | 显示全部楼层
我也知道没有必要用matlab 但是 要求用~~~
能不能帮我写一下具体的程序~~~
我试了好多~~都没弄出来
发表于 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
发表于 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可能故意看大家有无小心
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-26 09:36 , Processed in 0.063851 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表