实验四多元函数的极值课件.ppt

上传人:飞****2 文档编号:71807575 上传时间:2023-02-06 格式:PPT 页数:35 大小:566.50KB
返回 下载 相关 举报
实验四多元函数的极值课件.ppt_第1页
第1页 / 共35页
实验四多元函数的极值课件.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《实验四多元函数的极值课件.ppt》由会员分享,可在线阅读,更多相关《实验四多元函数的极值课件.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验实验4 多元函数的极值多元函数的极值实验目的实验目的v 了解多元函数偏导数的求法了解多元函数偏导数的求法v 了解多元函数极值的求法了解多元函数极值的求法v 了解多元函数条件极值的求法了解多元函数条件极值的求法v 了解多元函数插值的方法了解多元函数插值的方法v 学习、掌握学习、掌握MATLAB软件有关的命令软件有关的命令实验内容实验内容1、求函数、求函数 的极值点和极值。的极值点和极值。2、求函数、求函数 在条件下在条件下 的极值。的极值。3、已知曲面上一些点、已知曲面上一些点(2,2,80),(3,2,82),(4,2,84)(0,3,79),(2,3,61),(3,3,65),(0,4,

2、84),(1,4,84),(4,4,86),将这些点用二,将这些点用二元函数插值的方法画出完整的曲面。元函数插值的方法画出完整的曲面。4、求图像的极值点,并通过这些极值点对图像、求图像的极值点,并通过这些极值点对图像进行插值。进行插值。实验准备实验准备1、计算多元函数的极值计算多元函数的极值 对于多元函数的极值问题,根据多元对于多元函数的极值问题,根据多元函数极值的必要条件和充分条件,可分函数极值的必要条件和充分条件,可分为以下几个步骤:为以下几个步骤:(2)求解正规方程)求解正规方程 得到驻点;得到驻点;(1)定义多元函数)定义多元函数 ;2.计算二元函数在区域计算二元函数在区域D内的最大值

3、和最小值内的最大值和最小值 设函数设函数z=f(x,y)在有界区域在有界区域D上连续,则上连续,则f(x,y)在在D上必定有最大值和最小值。求上必定有最大值和最小值。求f(x,y)在在D上的最大上的最大 值和最小值的一般步骤值和最小值的一般步骤为:为:a)计算计算f(x,y)在在D内所有驻点处的函数值;内所有驻点处的函数值;b)计算计算f(x,y)在在D的各个边界线上的最大值和最的各个边界线上的最大值和最小值;小值;c)将上述各函数值进行比较,最终确定出在将上述各函数值进行比较,最终确定出在D内内的最大值和最小值。的最大值和最小值。3.求函数偏导数的求函数偏导数的MATLAB命令命令 MATL

4、AB中主要用中主要用diff求函数的偏导数。求函数的偏导数。diff(f,x,n)求函数求函数f关于自变量关于自变量x的的n阶导数。阶导数。实验方法与步骤实验方法与步骤练习练习1、求函数、求函数 的极值点和极值。的极值点和极值。练习练习1、求函数、求函数 的极值点和极值。的极值点和极值。clear;syms x y zx zy;z=x4-8*x*y+2*y2-3;zx=diff(z,x);zy=diff(z,y);首先用首先用diff命令求命令求z关于关于x,y的偏导数的偏导数Ex4_1结果为结果为zx=4*x3-8*y,zy=-8*x+4*y其次,求解正规方程,得到驻点的坐标其次,求解正规方

5、程,得到驻点的坐标一般方程组的符号解用一般方程组的符号解用solve命令,当方程命令,当方程组不存在符号解时,组不存在符号解时,solve将给出数值解。将给出数值解。求解正规方程的求解正规方程的matlab代码为代码为:clear;x1,y1=solve(4*x3-8*y=0,-8*x+4*y=0,x,y);Ex4_2得到得到三个驻点,分别为三个驻点,分别为(-2,-4),(0,0),(2,4)下面再求判别式中的二阶偏导数下面再求判别式中的二阶偏导数:clear;clear;symssyms x y;x y;z=x4-8*x*y+2*y2-3;z=x4-8*x*y+2*y2-3;A=diff(

6、z,x,2)A=diff(z,x,2)B=diff(diff(z,x),y)B=diff(diff(z,x),y)C=diff(z,y,2)C=diff(z,y,2)运行结果为:运行结果为:A=12*x2B=-8C=4Ex4_3最后,对于点(最后,对于点(-2,-4),(),(0,0)和()和(2,4)分别判别是否是极值点)分别判别是否是极值点Ex4_4clear;N=input(please input points number,N=);for i=1:Nx=input(x=);y=input(y=);A=12*x2;B=-8;C=4;p=A*C-B*B;if p=0 disp(无法判别无

7、法判别)elseif and(p0,A0)disp(极小值点极小值点,极小值是极小值是)fmin=x4-8*x*y+2*y2-3 elseif and(p0,A0)disp(极大值点极大值点,极大值是极大值是)fmax=x4-8*x*y+2*y2-3 elseif(p0)disp(不是极值点不是极值点)end end由判别法可知由判别法可知(-2,-4)和和(2,4)都是函数的极小值都是函数的极小值点,而点点,而点(0,0)不是极值点。不是极值点。练习练习2、求函数、求函数 在条件在条件 下的极下的极大值。大值。构造构造Lagrange函数函数求求Lagrange函数的极值。先求函数的极值。先

8、求 关关于于 的一阶偏导数,相应的的一阶偏导数,相应的matlab代代码为码为Ex4_5clear;clear;symssyms x y k;x y k;L=x*L=x*y+ky+k*(x+y-1);*(x+y-1);Lx=Lx=diff(L,xdiff(L,x)Ly=Ly=diff(L,ydiff(L,y)LkLk=diff(L,kdiff(L,k)运行得到运行得到Lx=y+kLy=x+k Lk=x+y-1解正规方程,解正规方程,clear;clear;x1,y1,k1=x1,y1,k1=solve(solve(y+ky+k=0=0,x+k=0 x+k=0,x x+y-1=0+y-1=0,x

9、 x,y y,k k););所以,极大值点为(所以,极大值点为(1/2,1/2),极大值点为),极大值点为1/4 练习练习3 抛物面抛物面 被平面被平面 截成了一个截成了一个椭圆,求这个椭圆到原点的最长距离与最短距离。椭圆,求这个椭圆到原点的最长距离与最短距离。在条件在条件 及及 下的最大值和最小值。构下的最大值和最小值。构造造Lagrange函数函数求求Lagrange函数的极值。先求函数的极值。先求 关关于于 的一阶偏导数,相应的的一阶偏导数,相应的matlab代代码为码为这个问题实际上就是求函数这个问题实际上就是求函数Ex4_6clear;clear;symssyms x y z u v

10、;x y z u v;l=x2+y2+z2+u*(x2+y2-z)+v*(x+y+z-1);l=x2+y2+z2+u*(x2+y2-z)+v*(x+y+z-1);diff(l,x)diff(l,x)diff(l,y)diff(l,y)diff(l,z)diff(l,z)diff(l,u)diff(l,u)diff(l,v)diff(l,v)再解正规方程再解正规方程得得Ex4_7即得Lagrange函数的驻点,所求的条件极值点必在其中得到。由于所求问题存在最大值与最小值(因为函数f在有界闭集上连续,从而存在最大值与最小值),故由可得椭圆到原点的最长距离为 ,最短距离为 。得得练习练习4 已知曲面

11、上一些点已知曲面上一些点(2,2,80),(3,2,82),(4,2,84)(0,3,79),(2,3,61),(3,3,65),(0,4,84),(1,4,84),(4,4,86),将这些点用二,将这些点用二元函数插值的方法画出完整的曲面。元函数插值的方法画出完整的曲面。首先看这些首先看这些原始数据的原始数据的柄图柄图数据是残缺数据是残缺不全的,需不全的,需要用插值的要用插值的方法画出完方法画出完整的曲面整的曲面clear;x=2,3,4,0,2,3,0,1,4;y=2,2,2,3,3,3,4,4,4;z=80,82,84,79,61,65,84,84,86;stem3(x,y,z);%画柄

12、图命令画柄图命令title(Raw data);xlabel(x),ylabel(y),zlabel(z)Ex4_8画柄图的画柄图的MATLAB命令命令插值的插值的MATLAB命令命令interp1(x,y,xi,method)或或interp1(x,y,xi)是是一维插值函数,其中一维插值函数,其中x,y是已存在的数据,是已存在的数据,xi是要插入其中的数据点。是要插入其中的数据点。method是:是:nearnest(最近点插值最近点插值)、linear(线性插值线性插值)、cubic(三次分段插值三次分段插值)、spline(三次样条插三次样条插值值),缺省是,缺省是linear。int

13、erp2(x,y,z,xi,yi,method)或或interp1(x,y,z,xi,yi)是二维插值函数,其中是二维插值函数,其中x,y是是已有二维数据,已有二维数据,z是由是由x,y决定的数值,决定的数值,xi,yi是是已知的一对数值,通过插值来找到相应的已知的一对数值,通过插值来找到相应的zi值。值。参数参数method有:有:nearest、bilinear、bicubic、spline。griddata(x,y,z,xi,yi,method)或或griddata(x,y,z,xi,yi)也是二维插值函数,与也是二维插值函数,与interp2相似,不同之处在于:相似,不同之处在于:In

14、terp2严格要求严格要求x,y单调;而单调;而griddate可以处理不规则数据可以处理不规则数据 对上面数据用插值的方法画出完整的曲面,相应对上面数据用插值的方法画出完整的曲面,相应的的matlab程序代码如下:程序代码如下:xi=0:0.2:3;yi=2:0.2:4;%选定选定x,y的范围的范围X,Y=meshgrid(xi,yi);%产生网格向量产生网格向量X,YZ=griddata(x,y,z,X,Y,cubic);%cubic采用三角形三次插值采用三角形三次插值mesh(X,Y,Z);title(Griddata);xlabel(x),ylabel(y),zlabel(z)Ex4_

15、9练习练习5 求图像的极值点,并通过这些极值点求图像的极值点,并通过这些极值点对图像进行插值。对图像进行插值。B=imregionalmax(A),求,求A的所有局部极的所有局部极大值点,大值点,B是二值图像是二值图像B=imregionalmin(A),求,求A的所有局部极的所有局部极小值点,小值点,B是二值图像是二值图像问题:为什么要求图像的极值点?问题:为什么要求图像的极值点?Ex4_12clear all;I=imread(horseriding.bmp);I=double(I);row,col=size(I);t1=clock;%*Imax=imregionalmax(I);Imin

16、=imregionalmin(I);Imax=double(Imax);Imin=double(Imin);Nmax,xmax,ymax,zmax=extremanum(I,Imax);Nmin,xmin,ymin,zmin=extremanum(I,Imin);%*xr=1:row;yr=1:col;x1,y1=meshgrid(xr,yr);u=griddata(xmax,ymax,zmax,x1,y1,cubic);v=griddata(xmin,ymin,zmin,x1,y1,cubic);%-display-figure(1);subplot(221);imshow(uint8(I)

17、;axis off subplot(222);imshow(uint8(u);axis off subplot(223);imshow(uint8(v);axis off%*t=etime(clock,t1)function Num,x,y,z=extremanum(I,Ima)width=size(Ima,2);height=size(Ima,1);k=1;for h=1:height for w=1:width if Ima(h,w)=1 x(k)=h;y(k)=w;z(k)=I(h,w);k=k+1;end endendNum=k-1;动画效果动画效果动画生成的步骤动画生成的步骤1.创建

18、帧矩阵创建帧矩阵 moviein2.对动画中的每一帧生成图形,并把它们对动画中的每一帧生成图形,并把它们放到帧矩阵中放到帧矩阵中 getframe3.从帧矩阵中回放动画从帧矩阵中回放动画moviein、getframe、movie指令指令x=-8:0.5:8;XX,YY=meshgrid(x);r=sqrt(XX.2+YY.2)+eps;Z=sin(r)./r;surf(Z);%画出祯画出祯theAxes=axis;%保保存存坐坐标标值值,使使得得所所有有帧帧都都在在同同一坐标系中一坐标系中fmat=moviein(20);%创建动画矩阵,保存创建动画矩阵,保存20祯祯for j=1:20;%

19、循环创建动画数据循环创建动画数据surf(sin(2*pi*j/20)*Z,Z)%画出每一画出每一 步的曲面步的曲面 axis(theAxes)%使用相同的坐标系使用相同的坐标系fmat(:,j)=getframe;%拷贝祯到矩阵拷贝祯到矩阵fmat中中end movie(fmat,10)%演示动画演示动画10次次数学实验的大门刚刚打开,数学实验的大门刚刚打开,里面的世界很精彩,愿你在里面的世界很精彩,愿你在这个五彩缤纷的世界里获得这个五彩缤纷的世界里获得知识、获得愉悦、获得对数知识、获得愉悦、获得对数学学科的新的认识!学学科的新的认识!上机练习上机练习1.求 的极值,并对图形进行观察。2.求出球面 上与点(3,1,-1)距离最近和最远点。3.在一丘陵地带测量高程,在一丘陵地带测量高程,x和和y方向每隔方向每隔100米测一个点,得高程见表米测一个点,得高程见表4-2,试拟合一曲面,试拟合一曲面,确定合适的模型,并由此找出最高点和该点确定合适的模型,并由此找出最高点和该点的高程。的高程。表表4-2 高程数据高程数据 y x100200300400100200300400636698680662697712674626624630598552478478412334

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁