绘制二元函数图形Word文件下载.docx
《绘制二元函数图形Word文件下载.docx》由会员分享,可在线阅读,更多相关《绘制二元函数图形Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。
【实验方法与步骤】
练习1画出函数
的图形,其中
。
用MATLAB作图的程序代码为
>
clear;
x=-3:
0.1:
3;
%x的范围为[-3,3]
y=-3:
%y的范围为[-3,3]
[X,Y]=meshgrid(x,y);
%将向量x,y指定的区域转化为矩阵X,Y
Z=sqrt(X.^2+Y.^2);
%产生函数值Z
mesh(X,Y,Z)
运行结果为
图5.3
如果画等高线,用contour,contour3命令。
contour画二维等高线。
contour3画三维等高线。
画图5.3所示的三维等高线的MATLAB代码为
contour3(X,Y,Z,10);
%画10条等高线
xlabel('
X-axis'
),ylabel('
Y-axis'
),zlabel('
Z-axis'
);
%三个坐标轴的标记
title('
Contour3ofSurface'
)%标题
gridon%画网格线
图5.4
如果画图5.4所示的二维等高线,相应的MATLAB代码为
contour(X,Y,Z,10);
)
gridon
如果要画z=1的等高线,相应的MATLAB代码为
contour(X,Y,Z,[11])
练习2二次曲面的方程如下
讨论参数a,b,c对其形状的影响。
相应的MATLAB代码为
a=input('
a='
b=input('
b='
c=input('
c='
d=input('
d='
N=input('
N='
%输入参数,N为网格线数目
xgrid=linspace(-abs(a),abs(a),N);
%建立x网格坐标
ygrid=linspace(-abs(b),abs(b),N);
%建立y网格坐标
[x,y]=meshgrid(xgrid,ygrid);
%确定N×
N个点的x,y网格坐标
z=c*sqrt(d-y.*y/b^2-x.*x/a^2);
u=1;
%u=1,表示z要取正值
z1=real(z);
%取z的实部z1
fork=2:
N-1;
%以下7行程序的作用是取消z中含虚数的点
forj=2:
N-1
ifimag(z(k,j))~=0z1(k,j)=0;
end
ifall(imag(z([k-1:
k+1],[j-1:
j+1])))~=0z1(k,j)=NaN;
surf(x,y,z1),holdon%画空间曲面
ifu==1z2=-z1;
surf(x,y,z2);
%u=1时加画负半面
axis([-abs(a),abs(a),-abs(b),abs(b),-abs(c),abs(c)]);
x'
y'
z'
holdoff
运行程序,当a=5,b=4,c=3,d=1,N=50时结果为
当a=5i,b=4,c=3,d=1,N=15时结果为
当a=5i,b=4i,c=3,d=0.1,N=10时结果为
【练习与思考】
1.画出空间曲面
在
范围内的图形,并画出相应的等高线。
解:
close;
u=-30:
0.5:
30;
v=-30:
[x,y]=meshgrid(u,v);
z=10*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2);
subplot(1,2,1);
mesh(x,y,z)
subplot(1,2,2);
contour(x,y,z,10)
2.根据给定的参数方程,绘制下列曲面的图形。
a)椭球面
,
;
u=-4:
4;
v=-4:
[U,V]=meshgrid(u,v);
X=3.*cos(U).*sin(V);
Y=2.*cos(U).*cos(V);
Z=sin(U);
surf(X,Y,Z);
axisequal
b)椭圆抛物面
X=3.*U.*sin(V);
Y=2.*U.*cos(V);
Z=4.*U.^2;
shadinginterp;
colormap(hot);
c)单叶双曲面
u=-2:
2;
v=-2:
X=3*sec(U).*sin(V);
Y=2*sec(U).*cos(V);
Z=4*tan(U);
mesh(X,Y,Z);
colormap(jet);
d)双叶抛物面
X=U;
Y=V;
Z=(U.^2-V.^2)/3;
e)旋转面
X=log(U).*sin(V);
Y=log(U).*cos(V);
Z=U;
f)圆锥面
X=U.*sin(V);
Y=U.*cos(V);
g)环面
X=(3+0.4*cos(U)).*cos(V);
Y=(3+0.4*cos(U)).*sin(V);
Z=0.4*sin(V);
h)正螺面
Z=4*V;
3.在一丘陵地带测量高程,
和
方向每隔100米测一个点,得高程见表5-2,试拟合一曲面,确定合适的模型,并由此找出最高点和该点的高程。
表5-2高程数据
yx
100
200
300
400
636
698
680
662
697
712
674
626
624
630
598
552
478
412
334
x=[100100100100200200200200300300300300400400400400];
y=[100200300400100200300400100200300400100200300400];
z=[636697624478698712630478680674598412662626552334];
xi=100:
5:
400;
yi=100:
[X,Y]=meshgrid(xi,yi);
H=griddata(x,y,z,X,Y,'
cubic'
surf(X,Y,H);
view(-112,26);
holdon;
maxh=vpa(max(max(H)),6)
[r,c]=find(H>
=single(maxh));
stem3(X(r,c),Y(r,c),maxh,'
fill'