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

上传人:txadgkn****dgknqu... 文档编号:242757298 上传时间:2024-09-02 格式:PPT 页数:35 大小:402.56KB
返回 下载 相关 举报
实验四多元函数的极值课件_第1页
第1页 / 共35页
实验四多元函数的极值课件_第2页
第2页 / 共35页
实验四多元函数的极值课件_第3页
第3页 / 共35页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验4 多元函数的极值,实验4 多元函数的极值,1,实验目的,了解多元函数偏导数的求法,了解多元函数极值的求法,了解多元函数条件极值的求法,了解多元函数插值的方法,学习、掌握MATLAB软件有关的命令,实验目的,2,实验内容,1、求函数 的极值点和极值。,2、求函数 在条件下 的极值。,3、已知曲面上一些点(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),将这些点用二元函数插值的方法画出完整的曲面。,4、求图像的极值点,并通过这些极值点对图像进行插值。,实验内容1、求函数,3,实验准备,1、,计算多元函数的极值,对于多元函数的极值问题,根据多元函数极值的必要条件和充分条件,可分为以下几个步骤:,(2)求解正规方程 得到驻点;,(1)定义多元函数 ;,实验准备1、计算多元函数的极值(2)求解正规方程,4,实验四多元函数的极值课件,5,2. 计算二元函数在区域D内的最大值和最小值,设函数,z=f(x,y),在有界区域D上连续,则,f(x,y),在D上必定有最大值和最小值。求,f(x,y),在D上的最大 值和最小值的一般步骤为:,计算,f(x,y),在D内所有驻点处的函数值;,b) 计算,f(x,y),在D的各个边界线上的最大值和最小值;,c) 将上述各函数值进行比较,最终确定出在D内的最大值和最小值。,2. 计算二元函数在区域D内的最大值和最小值,6,求函数偏导数的MATLAB命令,MATLAB中主要用diff求函数的偏导数。,diff(f,x,n) 求函数f关于自变量x的n阶导数。,实验方法与步骤,练习1、求函数 的极值点和极值。,MATLAB中主要用diff求函数的偏导数。diff,7,练习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,练习1、求函数,8,其次,求解正规方程,得到驻点的坐标,一般方程组的符号解用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),其次,求解正规方程,得到驻点的坐标一般方程组的符号解用sol,9,下面再求判别式中的二阶偏导数:,clear;,syms x y;,z=x4-8*x*y+2*y2-3;,A=diff(z,x,2),B=diff(diff(z,x),y),C=diff(z,y,2),运行结果为:A=12*x2,B =-8,C =4,Ex4_3,下面再求判别式中的二阶偏导数:clear;运行结果为:A=1,10,最后,对于点(-2,-4),(0,0)和(2,4)分别判别是否是极值点,Ex4_4,clear;,N=input(please input points number,N=);,for i=1:N,x=input(x=);,y=input(y=);,A=12*x2;,B=-8;,C=4;,p=A*C-B*B;,最后,对于点(-2,-4),(0,0)和(2,4)分别判别是,11,if p=0 disp(无法判别),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,-4)和 (2,4)都是函数的极小,12,练习2、求函数 在条件 下的极大值。,构造Lagrange函数,求Lagrange函数的极值。先求 关于 的一阶偏导数,相应的matlab代码为,Ex4_5,练习2、求函数 在条件,13,clear;,syms x y k;,L=x*y+k*(x+y-1);,Lx=diff(L,x),Ly=diff(L,y),Lk=diff(L,k),运行得到,Lx =y+k,Ly =x+k,Lk =x+y-1,解正规方程,,clear;,x1,y1,k1=solve(y+k=0,x+k=0,x+y-1=0,x, y, k);,所以,极大值点为(1/2,1/2),极大值点为1/4,clear;运行得到Lx =y+k解正规方程,clear;所,14,练习3 抛物面 被平面 截成了一个椭圆,求这个椭圆到原点的最长距离与最短距离。,在条件 及 下的最大值和最小值。构造Lagrange函数,求Lagrange函数的极值。先求 关于 的一阶偏导数,相应的matlab代码为,这个问题实际上就是求函数,Ex4_6,练习3 抛物面 被平,15,clear;,syms x y z u v;,l=x2+y2+z2+u*(x2+y2-z)+v*(x+y+z-1);,diff(l,x),diff(l,y),diff(l,z),diff(l,u),diff(l,v),再解正规方程,得,Ex4_7,clear;得Ex4_7,16,即得Lagrange函数的驻点,所求的条件极值点必在其中得到。由于所求问题存在最大值与最小值(因为函数,f,在有界闭集,上连续,从而存在最大值与最小值),故由,可得椭圆到原点的最长距离为 ,最短距离为 。,得,即得Lagrange函数的驻点,所求的条件极值点必在其中得到,17,练习4 已知曲面上一些点(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),将这些点用二元函数插值的方法画出完整的曲面。,首先看这些原始数据的柄图,数据是残缺不全的,需要用插值的方法画出完整的曲面,练习4 已知曲面上一些点(2,2,80),(3,2,8,18,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); %画柄图命令,title(Raw data);,xlabel(x),ylabel(y),zlabel(z),Ex4_8,画柄图的MATLAB命令,clear;Ex4_8画柄图的MATLAB命令,19,插值的MATLAB命令,interp1(x,y,xi,method) 或interp1(x,y,xi)是一维插值函数,其中x,y是已存在的数据,xi是要插入其中的数据点。method是:nearnest(最近点插值)、 linear(线性插值)、cubic(三次分段插值)、 spline(三次样条插值),缺省是linear。,插值的MATLAB命令interp1(x,y,xi,met,20,interp2(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相似,不同之处在于:,Interp2严格要求x,y单调;而griddate可以处理不规则数据,interp2(x,y,z,xi,yi,method),21,对上面数据用插值的方法画出完整的曲面,相应的matlab程序代码如下:,xi=0:0.2:3;,yi=2:0.2:4; %选定x,y的范围,X,Y=meshgrid(xi,yi); %产生网格向量X,Y,Z=griddata(x,y,z,X,Y,cubic);,%cubic采用三角形三次插值,mesh(X,Y,Z);,title(Griddata);,xlabel(x),ylabel(y),zlabel(z),Ex4_9,对上面数据用插值的方法画出完整的曲面,相应的,22,实验四多元函数的极值课件,23,练习5 求图像的极值点,并通过这些极值点对图像进行插值。,B=imregionalmax(A),求A的所有局部极大值点, B是二值图像,B=imregionalmin(A),求A的所有局部极小值点,B是二值图像,问题:为什么要求图像的极值点?,Ex4_12,练习5 求图像的极值点,并通过这些极值点对图像进行插值。,24,clear all;,I=imread(horseriding.bmp);,I=double(I);,row,col=size(I);,t1=clock;,%*,Imax=imregionalmax(I);,Imin=imregionalmin(I);,Imax=double(Imax);,Imin=double(Imin);,clear all;,25,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);,Nmax,xmax,ymax,zmax=extreman,26,%-display-,figure(1);,subplot(221);imshow(uint8(I);axis off,subplot(222);imshow(uint8(u);axis off,subplot(223);imshow(uint8(v);axis off,%*,t=etime(clock,t1),%-display-,27,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,end,end,Num=k-1;,function Num,x,y,z=extreman,28,实验四多元函数的极值课件,29,动画效果,动画生成的步骤,创建帧矩阵 moviein,对动画中的每一帧生成图形,并把它们放到帧矩阵中 getframe,从帧矩阵中回放动画,动画效果动画生成的步骤,30,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;,%保存坐标值,使得所有帧都在同一坐标系中,moviein、 getframe、movie指令,31,fmat=moviein(20);,%创建动画矩阵,保存20祯,for j=1:20;,%循环创建动画数据,surf(sin(2*pi*j/20)*Z,Z),%画出每一,步的曲面,axis(theAxes),%使用相同的坐标系,fmat(:,j)=getframe;,%拷贝祯到矩阵fmat中,end,movie(fmat,10),%演示动画10次,fmat=moviein(20); %创建动画矩阵,保存20,32,数学实验的大门刚刚打开,里面的世界很精彩,愿你在这个五彩缤纷的世界里获得知识、获得愉悦、获得对数学学科的新的认识!,数学实验的大门刚刚打开,里面的世界很精彩,愿你在这个五彩缤纷,33,上机练习,求 的极值,并对图形进行观察。,求出球面 上与点(3,1,-1)距离最近和最远点。,上机练习求 的极,34,3. 在一丘陵地带测量高程,x和y方向每隔100米测一个点,得高程见表4-2,试拟合一曲面,确定合适的模型,并由此找出最高点和该点的高程。,表4-2 高程数据,y x,100,200,300,400,100,200,300,400,636,698,680,662,697,712,674,626,624,630,598,552,478,478,412,334,3. 在一丘陵地带测量高程,x和y方向每隔100米测一个点,,35,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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