MATLAB绘制二元函数图形资料下载.pdf
《MATLAB绘制二元函数图形资料下载.pdf》由会员分享,可在线阅读,更多相关《MATLAB绘制二元函数图形资料下载.pdf(21页珍藏版)》请在冰豆网上搜索。
3;
%x的范围为-3,3y=-3:
%y的范围为-3,3X,Y=meshgrid(x,y);
%将向量x,y指定的区域转化为矩阵X,YZ=sqrt(X.2+Y.2);
%产生函数值Zmesh(X,Y,Z)运行结果为图5.3如果画等高线,用contour,contour3命令。
contour画二维等高线。
contour3画三维等高线。
画图5.3所示的三维等高线的MATLAB代码为clear;
y=-3:
X,Y=meshgrid(x,y);
Z=sqrt(X.2+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;
contour(X,Y,Z,10);
xlabel(X-axis),ylabel(Y-axis);
title(Contour3ofSurface)gridon运行结果为如果要画z=1的等高线,相应的MATLAB代码为clear;
contour(X,Y,Z,11)运行结果为练习练习2二次曲面的方程如下222222xyzdabc讨论参数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);
%确定NN个点的x,y网格坐标z=c*sqrt(d-y.*y/b2-x.*x/a2);
u=1;
%u=1,表示z要取正值z1=real(z);
%取z的实部z1fork=2:
N-1;
%以下7行程序的作用是取消z中含虚数的点forj=2:
N-1ifimag(z(k,j)=0z1(k,j)=0;
endifall(imag(z(k-1:
k+1,j-1:
j+1)=0z1(k,j)=NaN;
endendendsurf(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);
endxlabel(x),ylabel(y),zlabel(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.画出空间曲面22221sin10yxyxz在30,30yx范围内的图形,并画出相应的等高线。
解:
clear;
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)椭球面vuxsincos3,vuycoscos2,uzsin;
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);
axisequalb)椭圆抛物面vuxsin3,vuycos2,24uz;
X=3.*U.*sin(V);
Y=2.*U.*cos(V);
Z=4.*U.2;
shadinginterp;
colormap(hot);
axisequalc)单叶双曲面vuxsinsec3,vucossec2,uztan4;
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);
axisequald)双叶抛物面ux,vy,322vuz;
X=U;
Y=V;
Z=(U.2-V.2)/3;
axisequale)旋转面vuxsinln,vuycosln,uz;
X=log(U).*sin(V);
Y=log(U).*cos(V);
Z=U;
axisequalf)圆锥面vuxsin,vuycos,uz;
X=U.*sin(V);
Y=U.*cos(V);
axisequalg)环面vuxcos)cos4.03(,vuysin)cos4.03(,vzsin4.0;
X=(3+0.4*cos(U).*cos(V);
Y=(3+0.4*cos(U).*sin(V);
Z=0.4*sin(V);
axisequalh)正螺面vuxsin,vuycos,vz4。
Z=4*V;
axisequal3.在一丘陵地带测量高程,x和y方向每隔100米测一个点,得高程见表5-2,试拟合一曲面,确定合适的模型,并由此找出最高点和该点的高程。
表5-2高程数据yx100200300400100200636698697712624630478478300400680662674626598552412334解:
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)