《实验Matlab三维作图地绘制.doc》由会员分享,可在线阅读,更多相关《实验Matlab三维作图地绘制.doc(9页珍藏版)》请在三一办公上搜索。
1、word实验9 三维绘图一、实验目的学会MATLAB软件中三维绘图的方法。二、实验内容与要求1三维曲线图格式一:plot3(X,Y,Z,S).说 明:当X,Y,Z均为同维向量时,如此plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.假如X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为colorlinestylemarker控制字符表1.6表1.10.【例1.79】 绘制螺旋线.t=0:pi/60:10*pi;x=sin(t);y=cos(t);plot3(x,y,t,*-b)grid on图形的结果如图1.16所示.格式二:et3(x,y,z).说明:显示一
2、个彗星通过数据x,y,z确定的三维曲线.【例1.80】t=-20*pi:pi/50:20*pi;et3(sin(t),cos(t),t)可见到彗星头一个小圆圈沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线. 格式三:fill3(X,Y,Z,C) 填充由参数X,Y,Z确定的多边形,参数C指定颜色.【例1.81】X=2,1,2;9,7,1;6,7,0;Y=1,7,0;4,7,9;0,4,3;Z=1,8,6;7,9,6;1,6,1;C=1,0,0;0,1,0;0,0,1fill3(X,Y,Z,C)grid on图形的结果如图1.17所示.问题1.30:图1.17中每个三角形按什么规
3、律画出的?用X,Y,Z的对应列元素值为坐标画三角形每个三角形内填充的颜色又有何规律?用C第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡假如C=1,5,10;1,5,10;1,5,10,结果如何?格式:mesh(X,Y,Z,C) 画出颜色由C指定的三维网格图. meshc(X,Y,Z,C) 画出带有等高线的三维网格图. meshz(X,Y,Z,C) 画出带有底座的三维网格图.说明:假如X与Y均为向量,n=length(X),m=length(Y), Z必须满足m,n=size(Z),如此空间中的点(X(j),Y(i),Z(i,j)为所画曲面网线的交点,X对应于Z的列,Y对应于Z的行;假
4、如X,Y,Z均为同维矩阵,如此空间中的点(X(i,j),Y(i,j),Z(i,j)为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进展线性处理,以便从当前色图中获得有用的颜色,假如C缺省,网线颜色和曲面的高度Z相匹配.在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y.格式:X,Y= meshgrid(x,y).说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值.【例182】 x=1:4; y=1:5
5、; x,y=meshgrid(x,y)x = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4y = 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5图1.18所示x-y平面上的矩形定义域中20个数据点星号点的坐标就是有X,Y决定的。【】绘出带有底座的马鞍面。 x,y=meshgrid(x,y); z=(x.2/42-y.2/52); x=-8:8; y=-8:8; X,Y=meshgrid(x,y);Z=(x.2/42-y.2/52); meshz(X,Y,Z)图形结果如图1.19所示。问题1.31:将mesh(X,Y,Z)改为me
6、sh(x,y,Z),结果如何?一样曲面网格颜色有何规律?从高到低按赤、橙、黄、绿、青、蓝、紫排列格式:surf(X,Y,Z,C) %画出颜色由C指定的三维曲面图。Surfc(X,Y,Z,C) %画出带有等高线的三维曲面图。说明:surf同mesh命令用法和使用格式一样,不同之处在于绘得的图形是一个彩色曲面而不是彩色网格。C缺省时,数据Z同时为曲面高度,也是颜色数据。【例1.84】绘出带有等高线的理想气体状态方程曲面。pv=nRT,n=2mol: R=8.31; n=2; p=(1:20)*1e5; v=(1:20)*1e-3; p,v=meshgrid(p,v); T=p.*v/n/R; su
7、rfc(p,v,T); view(45,30)图形结果如图1.20所示。4三维旋转曲面图格式:X,Y,Z=cylinder(r,n).说明:返回一母线向量为r、高度为1的旋转曲面x,y,z轴的坐标值, 旋转轴为z轴,旋转曲面的圆周有指定的n个距离一样的点。用户可以用命令surf或命令mesh画出旋转曲面图像。 【例185】 绘制一个旋转抛物面/60. z=0:20; R=(60*z).(1/2); X,Y,Z=cylinder(R,40); mesh(X,Y,Z)图形结果如图 1.21所示。图1.20 例1.84图形结果 图1.21 例1 .85的图形结果5三维球面图格式:X,Y,Z=sphe
8、re(n).说明:生成三维直角坐标系中的单位球体坐标,该单位球体有个面。该命令没有画图,只有返回矩阵,用户可以用命令surf(X,Y,Z)或mesh(X,Y,Z)画出球体。【例186】 X,Y,Z=sphere; mesh(X,Y,Z)图形结果如图 1.22所示。三、练习和思考 画出如下三维网格曲面图。四、提高内容格式: quiver(X,Y,U,V) %在由向量X和Y 决定的每一个平面点上画出由U,V决定的向量.quiver(,scale) %自动对向量的长度进展处理,假如scale=2,如此向量长度伸长2倍,假如scale=0,如此如实画出向量图.【例1.87】:给出点电荷的电场强度分布图
9、;,设求出 E. X,Y=meshgrid(-19:2:19); R=(X.2+Y.2).(1/2); U=1./R; EX,EY=gradient(U); quiver(X,Y,-EX,-EY,0.5) axis square注意:gradient为梯度算符,电场强度的大小图中 是用箭头长短表示的.格式一: contour(x,y,z,n).说明: (x,y)是平面z=0上点的坐标矩阵,二维函数z为相应点的高度值矩阵,等高曲线是一个平面的曲线,n是等高线条数.c,h=contour() %返回contourc命令描述的等高矩阵c和句柄列向量h,这些可作为clabel命令的输入参量,每条线对应
10、一个句柄.contour(,linespec) %因为等高线是一当前的色图中的颜色画的,且是作为块对象处理的,即等高线是一般的线条,我们可像画普通线条一样,指定等高线的颜色或者线形.【例1.88】x,y=meshgrid(-2:0.2:2); z=x.*y.*exp(-x.2-y.2); contour(x,y,z,8);图形结果如图1.24所示. 格式二:clabel(C,h).说明:在从命令contour生成的二维等高线结构C的位置上添加标签h.【例1.89】x,y=meshgrid(-2:.2:2);x,y=meshgrid(-2:.2:2); z=x.*y.*exp(-x.2-y.2)
11、; C,h=contour(x,y,z); clabel(C,h);图1.24 格式一图形结果 图1.25 格式二图形结果格式三:contour(X,Y,Z,n)说明:用X与Y 定义x,y轴的X围,画出由矩阵Z确定的n条等高线的三维图.【例1.90】 X,Y=meshgrid(-2:0.25:2); Z=X.*exp(-X.2-Y.2); contour3(X,Y,Z,30)图形结果如图1.26所示.3. 三维曲面法线图格式:surfnorm(X,Y,Z)说明:画出一曲面与它的法线图,其中,矩阵Z用于指定曲面的高度值,X与Y为向量或矩阵,用于定义曲面的x 与y 局部.【例1.91】x,y,z=
12、cylinder(1:10);surfnorm(x,y,z)四 .三维饼图格式:pie3(X,explode).说明:x中的某一局部可以从三维饼形图中别离出来,explode是一个与x 同型的向量或矩阵,explode中非零的元素对应x中从饼形图中别离出来的分量.【例1.92】 x=1,3,0.5,2.5,2x = ex=0,1,0,0,0ex = 0 1 0 0 0 pie3(x,ex)图形如图1.28所示. 图1.28 例 1.92图形结果 5. 直角坐标,柱坐标,球坐标之间的转换柱坐标和直角坐标之间的转换.格式: %将二维极坐标转换为直角坐标. %将二维直角坐标转换为极坐标 %将三维柱坐
13、标转换为直角坐标 %将三维直角坐标转换为柱坐标【例1.93】 theta=0:pi/30:2*pi; ro=sin(theta); t,r=meshgrid(theta,ro); z=r.*t; x,y,z=pol2cart(t,r,z); mesh(x,y,z)图形结果如图1.29所示.球坐标和直角坐标之间的转换.格式: %将三维球坐标转换为直角坐标. %将三维直角坐标转换为球坐标.【例1.94】 theta=0:pi/30:6*pi; ph=theta.2-theta; t,p=meshgrid(theta,ph); r=t.*p; x,y,z=sph2cart(t,p,r); mesh(x,y,z)图形结果如图1.30所示.图1.29 例1.93图形结果 图1.30 例1.94 图形结果9 / 9