如何求函数在两平面上的交线最大值
各位高手,请教一道Matlab的题目:编写程序,求函数 f(x,y,z)=xyz 在两个平面
x+y+z-30=0 及 x+y-z=0
的交线上的最大值。
各位前辈、高手——帮帮忙——在此先谢谢啦!
[ 本帖最后由 eight 于 2007-6-14 10:35 编辑 ] 由 x+y+z-30=0 及 x+y-z=0 得到 z=15,x+y=15
这样f(x,y,z)=xyz =15xy=15x(15-x)=15(15x-x^2)
当x=7.5时取得最大值f(x,y,z)=15(15*7.5-7.5^2) 用计算器即可,干吗用MATLAB? 3搂的作法不错!如果函数表达式复杂,无法消元化简,可考虑优化方法:
目标函数:Max = x*y*z;
约束1: x+y+z-30=0;
约束2: x+y-z=0;
可适用于任何复杂形式。 首先感谢楼上两位的帮助——谢谢!!!
因为这是一道Matlab的作业题嘛——所以得用Matlab编程做嘛…… 这是带约束优化问题,用fmincon即可求解.
当然,如2楼所言,这个问题完全可以手算解决. 首先再次感谢各位!:handshake :handshake
——问题仍未解决呢:不知能否用二楼的方法,通过符号运算来求解此题呢? 另外,至于楼上所说的“优化问题”,我还不甚了解——毕竟刚接触Matlab——找了下书,试了下,没能成功——希望有高手能帮我把这题的完整程序编出来参考下——谢谢谢谢! 原帖由 于 2007-6-15 08:18 发表 http://www.chinavib.com/forum/images/common/back.gif
另外,至于楼上所说的“优化问题”,我还不甚了解——毕竟刚接触Matlab——找了下书,试了下,没能成功——希望有高手能帮我把这题的完整程序编出来参考下——谢谢谢谢!
优化问题的方法请 help fmincon 一下,或者看看本版相关帖子,多自己动手,而不是要别人帮你 最终通过符号运算完成程序——哈哈哈——再次谢谢各位的帮忙! 怎么弄啊?!:lol
页:
[1]