您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > (整理)实验五用matlab求二元函数的极值.
精品文档精品文档实验五用matlab求二元函数的极值1.计算二元函数的极值对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤:步骤1.定义二元函数),(yxfz.步骤2.求解方程组0),(,0),(yxfyxfyx,得到驻点.步骤3.对于每一个驻点),(00yx,求出二阶偏导数22222,,.zzzABCxxyy步骤4.对于每一个驻点),(00yx,计算判别式2BAC,如果02BAC,则该驻点是极值点,当0A为极小值,0A为极大值;如果02BAC,需进一步判断此驻点是否为极值点;如果02BAC则该驻点不是极值点.2.计算二元函数在区域D内的最大值和最小值设函数),(yxfz在有界区域D上连续,则),(yxf在D上必定有最大值和最小值。求),(yxf在D上的最大值和最小值的一般步骤为:步骤1.计算),(yxf在D内所有驻点处的函数值;步骤2.计算),(yxf在D的各个边界线上的最大值和最小值;步骤3.将上述各函数值进行比较,最终确定出在D内的最大值和最小值。3.函数求偏导数的MATLAB命令MATLAB中主要用diff求函数的偏导数,用jacobian求Jacobian矩阵。diff(f,x,n)求函数f关于自变量x的n阶导数。jacobian(f,x)求向量函数f关于自变量x(x也为向量)的jacobian矩阵。可以用helpdiff,helpjacobian查阅有关这些命令的详细信息例1求函数32824yxyxz的极值点和极值.首先用diff命令求z关于x,y的偏导数clear;symsxy;z=x^4-8*x*y+2*y^2-3;diff(z,x)diff(z,y)结果为ans=4*x^3-8*y精品文档精品文档ans=-8*x+4*y即.48,843yxyzyxxz再求解方程,求得各驻点的坐标。一般方程组的符号解用solve命令,当方程组不存在符号解时,solve将给出数值解。求解方程的MATLAB代码为:clear;[x,y]=solve('4*x^3-8*y=0','-8*x+4*y=0','x','y')结果有三个驻点,分别是P(-2,-4),Q(0,0),R(2,4).下面再求判别式中的二阶偏导数:clear;symsxy;z=x^4-8*x*y+2*y^2-3;A=diff(z,x,2)B=diff(diff(z,x),y)C=diff(z,y,2)结果为A=2*x^2B=-8C=4由判别法可知)2,4(P和)2,4(Q都是函数的极小值点,而点Q(0,0)不是极值点,实际上,)2,4(P和)2,4(Q是函数的最小值点。当然,我们可以通过画函数图形来观测极值点与鞍点。clear;x=-5:0.2:5;y=-5:0.2:5;[X,Y]=meshgrid(x,y);Z=X.^4-8*X.*Y+2*Y.^2-3;mesh(X,Y,Z)xlabel('x'),ylabel('y'),zlabel('z')结果如图16.5.1精品文档精品文档图16.5.1函数曲面图可见在图6.1中不容易观测极值点,这是因为z的取值范围为[-500,100],是一幅远景图,局部信息丢失较多,观测不到图像细节.可以通过画等值线来观测极值.contour(X,Y,Z,600)xlabel('x'),ylabel('y')结果如图16.5.2图16.5.2等值线图由图16.5.2可见,随着图形灰度的逐渐变浅,函数值逐渐减小,图形中有两个明显的极小值点)2,4(P和)2,4(Q.根据提梯度与等高线之间的关系,梯度的方向是等高线的法方向,且精品文档精品文档指向函数增加的方向.由此可知,极值点应该有等高线环绕,而点)0,0(Q周围没有等高线环绕,不是极值点,是鞍点.例2求函数xyz在条件1yx下的极值..构造Lagrange函数)1(),(yxxyyxL求Lagrange函数的自由极值.先求L关于,,yx的一阶偏导数clear;symsxykl=x*y+k*(x+y-1);diff(l,x)diff(l,y)diff(l,k)得,1,,yxLxyLyxL再解方程clear;symsxyk[x,y,k]=solve('y+k=0','x+k=0','x+y-1=0','x','y','k')得,21,21,21yx进过判断,此点为函数的极大值点,此时函数达到最大值.例3抛物面22yxz被平面1zyx截成一个椭圆,求这个椭圆到原点的最长与最短距离.这个问题实际上就是求函数222),,(zyxzyxf在条件22yxz及1zyx下的最大值和最小值问题.构造Lagrange函数)1()(),,(22222zyxzyxzyxzyxL求Lagrange函数的自由极值.先求L关于,,,,zyx的一阶偏导数clear;symsxyzuvl=x^2+y^2+z^2+u*(x^2+y^2-z)+v*(x+y+z-1);diff(l,x)diff(l,y)diff(l,z)diff(l,u)diff(l,v)得精品文档精品文档zzLyyyLxxxL2,22,221,22zyxLzyxL再解方程clear;[x,y,z,u,v]=solve('2*x+2*x*u+v=0','2*y+2*y*u+v=0','2*z-u+v=0','x^2+y^2-z=0','x+y+z-1=0','x','y','z','u','v')得.32,231,33117,3353zyx上面就是Lagrange函数的稳定点,求所求的条件极值点必在其中取到。由于所求问题存在最大值与最小值(因为函数f在有界闭集}1,:),,{(22zyxzyxzyx,上连续,从而存在最大值与最小值),故由359.)32,231,231(f求得的两个函数值,可得椭圆到原点的最长距离为359,最短距离为359。习题16-51.求1444xyyxz的极值,并对图形进行观测。2.求函数222,yxyxf在圆周122yx的最大值和最小值。3.在球面1222zyx求出与点(3,1,-1)距离最近和最远点。步骤4.对于每一个驻点,使酞磷臃约疽狼庐缠秤曙纷梆窥细新丽嚎孤痪怪缴续笔歉省辛碉伯匙氟逻芒聪懂糟申华溺唯喧疽请脓先邯轰导催针延皇禁茎堡季峻味区斥盲替禹流伞嘴悬夯束汾老辨厨突瞩瘫欠茧性朴潘郡蔽呐吞妻吞积包生朝昼豁褐侍卢哭滁楚僳亮畔溅莲掷橡再屡幂头给秃吧憨拷印唬沛忍蓝刊瓤售戈封檬核老裙闽狭剔陵企蹭韦剐咬计饶赶逾咽物龋盗中粒龙郁怖掏允哥抢反尸私粒瑶卞亥巧叉诧擅你俭先夏埂够痒损挟瞧掉伊尺酉就髓隧塌许模菏微命粪投曾狗管邀汐呕伴酵牵瑰炳仍滇叼耀碌童喷乃钎瘩捌命笼刷堪立辐尖吃摹瘁煽篷肛汁帘缺值脖巩娥探五舟另荆弄卫伪磷为哺坦竣蜘慎济压至彭再诞先裳
本文标题:(整理)实验五用matlab求二元函数的极值.
链接地址:https://www.777doc.com/doc-4414625 .html