声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 960|回复: 2

[综合讨论] 请大家试试这个函数能不能得到函数help文件中结果??

[复制链接]
发表于 2007-5-13 11:52 | 显示全部楼层 |阅读模式

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

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

x
matlab优化函数中,有个fmincon函数,我把这个函数的help文件中的程序运行,却得到了错误的结果,请大家分析。

计算f(x)=-x1*x2*x3取最小值时得x值,初始值为[10
10
10 ]
,约束条件为0<x1+2*x2+2*x3<27.


为了使用这个函数,先把约束条件转换为:-x1-2*x2-2*x3<0

x1+2*x2+2*x3<27

写成矩阵不等式形式:A*X<B
A=[ -1 -2 -2 1 2
2 ] ,B=[0
;27
] ,
代码如下:


Function
f=myfun(x)


F= -1*x(1)*x(2)*x(3) ;


[x fval]=fmincon(@myfun,
[10
10
10 ] , A, b)


Help中的执行结果为:x =


24.0000



12.0000



12.0000

fval = -3.4560e+03

可是我却得不到这个结果,请大家试试能不能得到上面的结果??
回复
分享到:

使用道具 举报

发表于 2007-5-13 12:05 | 显示全部楼层
原帖由 gaohongxia0707 于 2007-5-13 11:52 发表
在matlab优化函数中,有个fmincon函数,我把这个函数的help文件中的程序运行,却得到了错误的结果,请大家分析。

计算f(x)=-x1*x2*x3取最小值时得x值,初始值为[10
10
10 ],约束条件为0



请看清楚help后的信息,b=[0;72],not 27
 楼主| 发表于 2007-5-13 12:12 | 显示全部楼层

回复 #2 eight 的帖子

哎呀,我粗心了。

不过不能全怪我,我是在<matlab 6.5 辅助优化与设计>上抄下来的,这本书真垃圾,把72写成27
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-19 06:41 , Processed in 0.067338 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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