- 16
- 0
- 约3.05万字
- 约 63页
- 2018-06-08 发布于江苏
- 举报
第一部分地讲函数地等高线
第二讲 函数的等高线、梯度线及有关的作图问题
——鲨鱼袭击目标的前进途径
等高线和梯度线有广泛的实际应用,例如在地理学中绘制地貌图,在气象学中绘制气象图等等.本实验通过鲨鱼袭击目标这一例子介绍二元函数的等高线和梯度线的绘制,最后介绍用等高线来做一元隐函数的图形及微分方程的积分曲线.
2.1 等高线的绘制
二元函数在空间表示的是一张曲面,这个曲面与平面的交线在面上的投影曲线称为函数的一条等高线,我们可以用Matlab作出等高线的图形.
等高线的作图命令为“Contour”,最基本格式为
Contour[二元函数,{自变量1,自变量1最小值,自变量1最大值},{自变量2,自变量2最小值,自变量2最大值}]
例1 作出在区间上的等高线.
解 [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 - Y.^2);
[DX,DY] = gradient(Z,.2,.2);% 求二元函数矩阵Z的梯度指令,0.2 为x、y方向上的计算步长. DX,DY是.
[C,h] = contour(X,Y,Z);
hold on
quiver(X,Y,DX,DY)
colormap hsv
hold off
运行后见图(2.2).
图(2.1)等高线及其标注
图(2.2)等高线和矢量场
2.3 梯度线的描绘
设为平面曲线,如果上任意一点处的切线与函数在该店处的梯度位于同一直线上,则称为的梯度线。现在来讨论如何作出函数的梯度线。下面我们一等步长的折线段来近似模
拟函数的梯度线。设步长为,从点()出发,沿梯度方向前进得到点,即
,
再从出发沿梯度线向前进得到点,依次得到一列点,利用plot做出此点集的图形,即得梯度线的图形.
例3.作出函数的梯度线.
clear all
t=cputime;
syms x y
S= sym(x^2 -y^2);
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)+lamda*fy./sqrt(fx.^2+fy.^2);
end
plot(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)/10^4);
[C,h] = contour(x,y,z);
hold on
运行后,作为函数的等高线,得到图(2.4).
由题设条件和梯度的性质可知,鲨鱼袭击目标的前进途径即为的梯度线,下面作出的梯度线,有前面梯度线的绘制可知,
图(2.4)的等高线
syms x y
S= sym(exp((-x.^2-2*y.^2)/10^4));;
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),s
原创力文档

文档评论(0)