2第一部分的2-6讲函数的等高线.doc

上传人:cl****1 文档编号:560783442 上传时间:2023-01-07 格式:DOC 页数:62 大小:1.85MB
返回 下载 相关 举报
2第一部分的2-6讲函数的等高线.doc_第1页
第1页 / 共62页
2第一部分的2-6讲函数的等高线.doc_第2页
第2页 / 共62页
2第一部分的2-6讲函数的等高线.doc_第3页
第3页 / 共62页
2第一部分的2-6讲函数的等高线.doc_第4页
第4页 / 共62页
2第一部分的2-6讲函数的等高线.doc_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《2第一部分的2-6讲函数的等高线.doc》由会员分享,可在线阅读,更多相关《2第一部分的2-6讲函数的等高线.doc(62页珍藏版)》请在金锄头文库上搜索。

1、第二讲 函数的等高线、梯度线及有关的作图问题鲨鱼袭击目标的前进途径等高线和梯度线有广泛的实际应用,例如在地理学中绘制地貌图,在气象学中绘制气象图等等.本实验通过鲨鱼袭击目标这一例子介绍二元函数的等高线和梯度线的绘制,最后介绍用等高线来做一元隐函数的图形及微分方程的积分曲线.2.1 等高线的绘制二元函数在空间表示的是一张曲面,这个曲面与平面的交线在面上的投影曲线称为函数的一条等高线,我们可以用Matlab作出等高线的图形.等高线的作图命令为“Contour”,最基本格式为Contour二元函数,自变量1,自变量1最小值,自变量1最大值,自变量2,自变量2最小值,自变量2最大值例1 作出在区间上的

2、等高线.解 X,Y = meshgrid(-2:.2:2,-2:.2:3);Z = X.*exp(-X.2-Y.2);C,h = contour(X,Y,Z);set(h,ShowText,on,TextStep,get(h,LevelStep)*2)colormap cool运行后见图(2.1).2.2 矢量场图矢量场图(又称速度图)是指由指令quiver实现的.它主要用于描写函数在点的梯度大小和方向。其一般的调用格式为: quiver(X,Y,DZX,DZY)例2 作出函数的等高线和矢量场.解 X,Y = meshgrid(-2:.2:2,-1:.2:2);Z = X.*exp(-X.2

3、- Y.2);DX,DY = gradient(Z,.2,.2);% 求二元函数矩阵Z的梯度指令,0.2 为x、y方向上的计算步长. DX,DY是.C,h = contour(X,Y,Z);hold onquiver(X,Y,DX,DY)colormap hsvhold off运行后见图(2.2). 图(2.1)等高线及其标注图(2.2)等高线和矢量场2.3 梯度线的描绘设为平面曲线,如果上任意一点处的切线与函数在该店处的梯度位于同一直线上,则称为的梯度线。现在来讨论如何作出函数的梯度线。下面我们一等步长的折线段来近似模拟函数的梯度线。设步长为,从点()出发,沿梯度方向前进得到点,即,再从出发

4、沿梯度线向前进得到点,依次得到一列点,利用plot做出此点集的图形,即得梯度线的图形. 例3.作出函数的梯度线.clear allt=cputime;syms x yS= sym(x2 -y2);Sx=diff(S,x);Sy=diff(S,y);x0=1;y0=1;lamda=0.01;i=1;sx(1)=x0;sy(1)=y0;for i=2:400 fx=subs(Sx,x,y,sx(i-1),sy(i-1); fy=subs(Sy,x,y,sx(i-1),sy(i-1); sx(i)=sx(i-1)+lamda*fx./sqrt(fx.2+fy.2); sy(i)=sy(i-1)+la

5、mda*fy./sqrt(fx.2+fy.2);endplot(sx,sy)cputime-t运行后见图(2.3). 图(2.3)梯度线2.4 鲨鱼袭击目标的前进途径海洋生物学家发现,当鲨鱼在海水中察觉到血液的存在时,就会沿着血液浓度增加得最快的方向前进去寻找目标.根据在海水中世纪测试的结果,如果以流血目标处作为原点在海面上建立直角坐标系,则在海面上点P(x,y)处的血液浓度近似等于(x,y的单位为m,f(x,y)单位的百万分之一)键入x,y = meshgrid(-1:.05:1,-1:.05:1);z =exp(-x.2-2*y.2)/104);C,h = contour(x,y,z);h

6、old on 运行后,作为函数的等高线,得到图(2.4).由题设条件和梯度的性质可知,鲨鱼袭击目标的前进途径即为的梯度线,下面作出的梯度线,有前面梯度线的绘制可知, 图(2.4)的等高线syms x yS= sym(exp(-x.2-2*y.2)/104);Sx=diff(S,x);Sy=diff(S,y);x0=1;y0=1;lamda=0.01;i=1;sx(1)=x0;sy(1)=y0;for i=2:400 fx=subs(Sx,x,y,sx(i-1),sy(i-1); fy=subs(Sy,x,y,sx(i-1),sy(i-1); sx(i)=sx(i-1)+lamda*fx./sq

7、rt(fx.2+fy.2); sy(i)=sy(i-1)+lamda*fy./sqrt(fx.2+fy.2);endplot(sx,sy)hold on得到图(2.5):图(2.5)鲨鱼袭击目标的前进途径再运用hold on 命令把等高线和梯度线在同一坐标系中显示,得图(6). 图(2.6)等高线和梯度线函数的梯度线在实际中有广泛的应用,例如在温度场总热量的流动也是沿着梯度线方向的. 习题1.一块长方形的金属板,四个顶点的坐标是(1,1),(5,1),(1,3),(5,3)在坐标原点处有一个火焰,它使金属板受热假定板上任意一点处的温度与该点到原点的距离成反比在(3,2)处有一个青蛙,问这只青蛙

8、应沿什么方向爬行才能最快到达较凉快的地点?(应沿由热变冷变化最骤烈的方向(即梯度方向)爬行) 第三讲 函数的极值、最值及有关的最优化问题水轮机最优化问题最优化概念反映了人类实践活动中十分普遍的现象,即要在尽可能节省人力、物力和时间前提下,争取获得在可能范围内的最佳效果,因此,最优化问题成为现代数学的一个重要课题,涉及统筹、线性规划一排序不等式等内容。3.1多元函数的偏导数1调用格式一:diff(多元函数,自变量,n)其中,n 为所求偏导数的阶数例 1 已知,求和.解 打开文件编辑窗口,在其中输入下面命令集:pzpx=diff(x2*cos(2*y),x)p2zpypx=diff(pzpx,y)

9、p2zpy2=diff(x2*cos(2*y),y,2)取名为exa9 保存,再在命令窗口中输入命令exa9,程序运行结果如下:pzpx =2*x*cos(2*y)p2zpypx =-4*x*sin(2*y)p2zpy2 =-4*x2*cos(2*y)即,.2调用格式二:syms x y z diff(f,自变量,n)例2 已知,求解 在命令行中依次输入:syms x y zu=sin(x2-y3+5*z);ux=diff(u,x);uxy=diff(ux,y);uxyz=diff(uxy,z);uz3=diff(u,z,3);ux,uxyz,uz3运行结果如下:ux =2*cos(x2-y3

10、+5*z)*xuxyz =30*cos(x2-y3+5*z)*y2*xuz3 =-125*cos(x2-y3+5*z)3.2 隐函数的导数在 Matlab 中没有直接求隐函数导数的命令,但可调用Maple 中求隐函数导数的命令,调用格式如下:maple(implicitdiff(f(u,x,y,z,,)=0,u,x)例3 求由多元方程x2 + y2 + z2 = xyz所确定的隐函数解 在命令行中输入:pzpx=maple(implicitdiff(x2+y2+z2-x*y*z=0,z,x)运行结果是:pzpx =(2*x-y*z)/(-2*z+x*y)即xy zx yz3.3一元函数的极(或

11、最)值例1 求 在中的最小值与最大值主程序为: f=2*exp(-x).*sin(x); fplot(f,0,8); %作图语句 xmin,ymin=fminbnd (f, 0,8) f1=-2*exp(-x).*sin(x); xmax,zmin=fminbnd (f1, 0,8)ymax=-zmin运行结果: xmin = 3.9270 ymin = -0.0279 xmax = 0.7854 ymax = 0.6448 3.4 多元函数的极(或最)值在 Matlab 中同样有求多元函数的极(或最)小值的函数,但由于多元函数的形式比较复杂,不同情况用到不同的Matlab 函数若要求多元函数

12、在某一区域的极(或最)大值,可转化为求在该区域内的极(或最)小值1非线性无约束情形求极(或最)小值点或极(或最)小值的调用格式是:x,fval=fminsearch(f,x0) %fminsearch是不能设定约束范围的f是被最小化的目标函数名,x0 是求解的初始值向量例 求二元函数的最值点和最值解 打开文件编辑窗口,在其中输入下面命令集:%必须对自变量进行转化x=x(1),y=x(2)Xmin,fmin=fminsearch(2*x(1)3+4*x(1)*x(2)3-10*x(1)*x(2)+x(2)2,0,0);Xmax,Fmin=fminsearch(-2*x(1)3-4*x(1)*x(

13、2)3+10*x(1)*x(2)-x(2)2,0,0);fmax=-Fmin;Xmin,fminXmax,fmax取名为exa10保存,再在命令窗口中输入命令exa10,程序运行结果如下:Xmin =1.0016 0.8335fmin =-3.3241Xmax =-1.0000 1.0000fmax =5.00002非线性有约束情形非线性有约束优化问题的数学模型如下: 式中,和是向量,和是矩阵,和为函数,返回量和可以是非线性函数求极(或最)小值点或极(或最)小值的调用格式如下:x,fval=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)nonlcon参数计算非线性不等式约束c(x)0,i=1,2,3 建立函数文件fun1打开文件编辑窗口,在其中输入下面命令集:function F=fun1(x) %函数文件必须是function开头F=-x(1)*x(2)*x(3);单击“保存”按钮,自动取名为fun1,再击保存 建

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

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号