matlab绘制二元函数图形.docx
- 文档编号:24729051
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:21
- 大小:1,005.34KB
matlab绘制二元函数图形.docx
《matlab绘制二元函数图形.docx》由会员分享,可在线阅读,更多相关《matlab绘制二元函数图形.docx(21页珍藏版)》请在冰豆网上搜索。
matlab绘制二元函数图形
MATLAB^制二元函数的图形
【实验目的】
1.了解二元函数图形的绘制。
2.了解空间曲面等高线的绘制。
3.了解多元函数插值的方法。
4.学习、掌握MATLAB软件有关的命令。
【实验内容】
画出函数―厂空的图形,并画出其等高线。
【实验准备】
1.曲线绘图的MATLAB命令
MATLAB中主要用mesh,suf命令绘制二元函数图形。
主要命令
mesh(x,y,z)画网格曲面,这里x,y,z是数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点在空间中描出,并连成网格。
surf(x,y,z)画完整曲面,这里x,y,z是数据矩阵,分别表示数据点的横坐标,纵坐标和函数值,该命令将数据点所表示曲面画出。
【实验重点】
1.二元函数图形的描点法
2.曲面交线的计算
3.地形图的生成
【实验难点】
1.二元函数图形的描点法
2.曲面交线的计算
【实验方法与步骤】
练习1画出函数z»xLy2的图形,其中(x,y).[一3,3][一3,3]。
用MATLAB作图的程序代码为
>>clear;
>>x=-3:
0.1:
3;%x的范围为[-3,3]
>>y=-3:
0.1:
3;%y的范围为[-3,3]
>>[X,Y]二meshgrid(x,y);%将向量x,y指定的区域转化为矩阵X,Y
>>Z=sqrt(X.A2+丫八2);%产生函数值Z
>>mesh(X,Y,Z)
运行结果为
-4_4
图5.3
如果画等高线,用contour,contour3命令。
contour画二维等高线。
contour3画三维等高线。
画图5.3所示的三维等高线的MATLAB代码为
>>clear;
>>x=-3:
0.1:
3;
>>y=-3:
0.1:
3;
>>[X,Y]二meshgrid(x,y);
>>Z=sqrt(X.A2+Y八2);
>>contour3(X,Y,Z,10);%画10条等高线
>>xlabel('X-axis'),ylabel('Y-axis'),zlabel('Z-axis');%三个坐标轴的
标记
>>title('Contour3ofSurface')%标题
>>gridon%画网格线
运行结果为
图5.4
如果画图5.4所示的二维等高线,相应的
MATLAB代码为
>>clear;x=-3:
0.1:
3;y=-3:
0.1:
3;
>>[X,Y]二meshgrid(x,y);Z=sqrt(X42+Y.八2);
>>contour(X,Y,Z,10);
>>xlabel('X-axis'),ylabel('Y-axis');
>>title('Contour3ofSurface')
>>gridon
运行结果为
Contour3ofSurface
3-2-10123
X-axis
如果要画z=1的等高线,相应的MATLAB代码为
>>clear;x=-3:
0.1:
3;y=-3:
0.1:
3;
>>[X,Y]二meshgrid(x,y);Z=sqrt(X42+Y.八2);
>>contour(X,Y,Z,[11])
运行结果为
练习2二次曲面的方程如下
b2
1丄
2
c
讨论参数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);%确定NxN个点的x,y网格坐标
>>z=c*sqrt(d-y.*y/bA2-x.*x/aA2);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;end
>>end
>>end
>>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)]);
>>end
>>xlabel('x'),ylabel('y'),zlabel('z')
>>holdoff
运行程序,当a=5,b=4,c=3,d=1,N=50时结果为
y」-5
当a=5i,b=4,c=3,d=1,N=15时结果为
y
当a=5i,b=4i,c=3,d=0.1,N=10时结果为
0.-
-1、,
【练习与思考】
:
22
1.画出空间曲面z=1°SiZxy在一30:
:
:
x,y:
:
:
30范围内的图形,并画Jl+x2+y2
出相应的等高线。
解:
clear;close;
u=-30:
0.5:
30;
v=-30:
0.5:
30;
[x,y]=meshgrid(u,v);
z=10*sin(sqrt(x.A2+y.A2))./sqrt(1+x.A2+y.A2);
subplot(1,2,1);
mesh(x,y,z)subplot(1,2,2);contour(x,y,z,10)
-50-50
-200
2.根据给定的参数方程,绘制下列曲面的图形。
a)椭球面x=3cosusinv,y=2cosucosv,z=sinu;
解:
u=-4:
0.1:
4;
v=-4:
0.1:
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=3usinv,y=2ucosv,z=4u2;
解:
u=-4:
0.1:
4;
v=-4:
0.1:
4;[U,V]=meshgrid(u,v);
X=3.*U.*sin(V);
Y=2.*U.*cos(V);
Z=4.*U.A2;
surf(X,Y,Z);
shadinginterp;colormap(hot);
axisequal
c)单叶双曲面x=3secusinv,2secucosv,z=4tanu;
解:
u=-2:
0.1:
2;
v=-2:
0.1:
2;[U,V]=meshgrid(u,v);
X=3*sec(U).*sin(V);
Y=2*sec(U).*cos(V);
Z=4*tan(U);mesh(X,Y,Z);
shadinginterp;colormap(jet);
22u-vz=
axisequald)双叶抛物面x=u,
解:
clear;close;u=-4:
0.1:
4;v=-4:
0.1:
4;
[U,V]=meshgrid(u,v);
X=U;
Y=V;
Z=(U.A2-V.A2)/3;mesh(X,Y,Z);shadinginterp;colormap(jet);
axisequal
5o-54
e)旋转面x=lnusinv,y=Inucosv,z=u;解:
clear;close;
u=-4:
0.1:
4;
v=-4:
0.1:
4;
[U,V]=meshgrid(u,v);
X=log(U).*sin(V);
Y=log(U).*cos(V);
Z=U;
mesh(X,Y,Z);
shadinginterp;
colormap(jet);
axisequal
f)圆锥面x二usinv,y=ucosv,z=u;解:
clear;close;
u=-4:
0.1:
4;
v=-4:
0.1:
4;
[U,V]=meshgrid(u,v);
X=U.*sin(V);
Y二U.*cos(V);
Z=U;
mesh(X,Y,Z);
shadinginterp;
colormap(jet);
axisequal
g)环面x=(30.4cosu)cosv,y=(30.4cosu)sinv,z=0.4sinv;解:
clear;close;
u=-4:
0.1:
4;
v=-4:
0.1:
4;
[U,V]=meshgrid(u,v);
X=(3+0.4*cos(U)).*cos(V);
Y=(3+0.4*cos(U)).*sin(V);
Z=0.4*sin(V);
shadinginterp;colormap(jet);
axisequal
h)正螺面x二usinv,y二ucosv,z=4v。
解:
clear;close;
u=-4:
0.1:
4;
v=-4:
0.1:
4;
[U,V]=meshgrid(u,v);
X=U.*sin(V);
Z=4*V;
mesh(X,Y,Z);
shadinginterp;colormap(jet);
axisequal
3.在一丘陵地带测量高程,x和y方向每隔100米测一个点,得高程见表5-2,试拟合一曲面,确定合适的模型,并由此找出最高点和该点的高程。
表5-2高程数据
100
200
300
400
100
636
697
624
478
200
698
712
630
478
300
680
674
598
412
400
662
626
552
334
解:
clear;close;
x=[100100100100200200200200300300300300
400400400400];
y二[100200300400100200300400100200300400
100200300400];
z二[636697624478698712630478680674598412
662626552334];
xi=100:
5:
400;
yi=100:
5:
400;
[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));
'fill'
stem3(X(r,c),Y(r,c),maxh,
800
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 绘制 二元 函数 图形