matlab实验六 多元函数的极值

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六多元函数的极值

【实验目的】

1.了解多元函数偏导数的求法。

2.了解多元函数极值的求法。

3.了解多元函数条件极值的求法。

4.学习、掌握MATLAB软件有关的命令。

【实验内容】

求函数42

=-+-的极值点和极值。

823

z x xy y

【实验准备】

1.计算多元函数的极值

2.计算二元函数在区域D内的最大值和最小值

3.求函数偏导数的MATLAB命令

MATLAB中主要用diff求函数的偏导数,用jacobian求Jacobian 矩阵。

diff(f,x,n)求函数f关于自变量x的n阶导数。

jacobian(f,x)求向量函数f关于自变量x(x也为向量)的jacobian 矩阵。

【实验重点】

1、多元函数的偏导数计算

2、多元函数极值的计算

【实验难点】

1、多元函数极值的计算

【实验方法与步骤】

练习1 求函数42823z x xy y =-+-的极值点和极值。首先用diff 命令求z 关于x,y 的偏导数

>>clear;syms x y;

>>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 即348,84z z x y x y x y

∂∂=-=-+∂∂再求解正规方程,得各驻点的坐标。一般方程组的符号解用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;syms x y;

>>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=12*x^2

B=-8

C=4

由判别法可知P(-4,-2)和Q(4,2)都是函数的极小值点,而点Q(0,0)不是极值点。实际上,P(-4,-2)和Q(4,2)是函数的最小值点。当然,我们可以通过画函数图形来观测极值点与鞍点。

>>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')

运行结果为

还可以通过画等值线来观察极值。

>>contour (X,Y ,Z,600)

>>xlabel ('x'),ylabel ('y')

运行结果为

练习2 求函数z xy =在条件1x y +=下的极值。构造Lagrange 函数 (,,)(1)L x y xy x y λλ=++- 求Lagrange 函数的极值。先求(,,)L x θλ关于,,x θλ的一阶偏导数,相应的MATLAB 代码为

>>clear;syms x y k

>>l=x*y+k*(x+y-1);

>>diff(l,x)

>>diff(l,y)

>>diff(l.k) 得L

y x λ∂=+∂,L

x y λ∂=+∂,1L

x y λ∂=+-∂,再解正规方程

>>clear;syms x y k

>>[x,y,k]=solve ('y+k=0','x+k=0','x+y-1=0','x','y','k') 得12x =-,12y =,1

2λ=。经过判断,该点为函数的极大值点,此

时函数达到最大值。

【练习与思考】

1. 求1444+-+=xy y x z 的极值,并对图形进行观察。

2. 求函数222),(y x y x f +=在圆周122=+y x 的最大值和最小值。

相关文档
最新文档