当前位置 :
matlab中,两个自变量的函数怎么求最大值(急!1)请举例说明
1人问答
问题描述:

matlab中,两个自变量的函数怎么求最大值(急!1)

请举例说明

彭传勇回答:
  需求:利用matlab求解二元函数y=f(x1,x2)   =(339-0.01*x1-0.003*x2)*x1+(399-0.004*x1-0.01*x2)*x2-(400000+195*x1+225*x2)的最大值   步骤:1、symsx1x2;   2、y=(339-0.01*x1-0.003*x2)*x1+(399-0.004*x1-0.01*x2)*x2-(400000+195*x1+225*x2)得y=-195*x1-225*x2-x1*(x1/100+(3*x2)/1000-339)-x2*(x1/250+x2/100-399)-400000   3、y=simple(y)得y=-x1^2/100-(7*x1*x2)/1000+144*x1-x2^2/100+174*x2-400000   4、求偏导dydx1=diff(y,x1)得dydx1=144-(7*x2)/1000-x1/50dydx2=diff(y,x2)得dydx2=174-x2/50-(7*x1)/1000   5、令偏导等于0,解方程S=solve(dydx1,dydx2)得S=x1:[1x1sym]x2:[1x1sym]   6、显示结果S.x1得ans=554000/117S.x2得ans=824000/117   7、把得到的结果代入原f(x1,x2),求最大y值:   y=subs(y,x1,554000/117);y=subs(y,x2,824000/117)得y=5.5364e+005   当然,该最大值是不是真正的最大值,还需要进一步结合实际情况验证(通过画出图形,观察二阶导数的符号等).比如,symsx1x2;y=(339-0.01*x1-0.003*x2)*x1+(399-0.004*x1-0.01*x2)*x2-(400000+195*x1+225*x2);然后使用ezsurf(y,[010000],[010000]);就可以得到三维的图形如下图所示:   可以看到,在感兴趣区间内,函数是有最大值的,即上面求出的y=5.5364e+005,在x1=554000/117,x2=824000/117处取得.
最新更新
PC端 | 移动端 | mip端
字典翻译(zidianfy.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
电话:  邮箱:
Copyright©2009-2021 字典翻译 zidianfy.com 版权所有 闽ICP备2022014709号-7
lyric 頭條新聞