MATLAB三维图形绘制
- 格式:ppt
- 大小:450.50 KB
- 文档页数:52


实验9 三维绘图一、实验目的学会MATLAB软件中三维绘图的方法。
二、实验内容与要求1.三维曲线图格式一:plot3(X,Y,Z,S).说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表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所示.格式二:comet3(x,y,z).说明:显示一个彗星通过数据x,y,z确定的三维曲线.【例1.80】>>t=-20*pi:pi/50:20*pi;>>comet3(sin(t),cos(t),t)可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线.格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色.图1.16 例1.79图形结果图1.17 例1.81图形结果【例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,1]>>fill3(X,Y,Z,C)>>grid on图形的结果如图1.17所示.问题 1.30:图 1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何?2.三维网格图格式: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的行;若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平面上数据点的纵坐标值.【例1.82】>> x=1:4;>> y=1:5;>> [x,y]=meshgrid(x,y)x =1 2 3 41 2 3 41 2 3 41 2 3 41 2 3 4y =1 1 1 12 2 2 23 3 3 34 4 4 45 5 5 5图1.18所示x-y 平面上的矩形定义域中20个数据点(星号点)的坐标就是有X ,Y 决定的。
三维绘图1 三维绘图指令2 基本XYZ立体绘图命令mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图,plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。
下列命令可画出由函数形成的立体网状图:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵mesh(xx, yy, zz); % 画出立体网状图●surf和mesh的用法类似:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是25x25的矩阵surf(xx, yy, zz); % 画出立体曲面图●peaks为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) -1/3*exp(-(x+1).^2 - y.^2)●我们亦可对peaks函数取点,再以各种不同方法进行绘图。
meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);●waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);●下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');●meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);●surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);●contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);●contour画出曲面等高线在XY平面的投影:contour(peaks, 20);plot3可画出三度空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t);亦可同时画出两条三度空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);3 三维绘图的主要功能绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图plot3 ——基本的三维图形指令调用格式:plot3(x,y,z) —— x,y,z是长度相同的向量plot3(X,Y,Z) —— X,Y,Z是维数相同的矩阵plot3(x,y,z,s) ——带开关量plot3(x1,y1,z1,’s1’,x2,y2,z2,’s2’,…)二维图形的所有基本特性对三维图形全都适用。
Plot3是MATLAB中的一个函数,用于绘制三维图形。
它是MATLAB中强大且常用的绘图函数之一,可以帮助用户可视化三维数据。
本文将介绍Plot3的基本用法以及一些常见的参数和技巧。
首先,让我们来了解一下Plot3函数的基本语法。
在MATLAB中,Plot3函数的语法如下:plot3(X,Y,Z,LineSpec)其中,X、Y和Z是三维数据的坐标向量,LineSpec是可选参数,用于指定绘图的线条样式。
X、Y和Z的长度应相同,用于确定三维数据点的位置。
接下来,我们可以通过几个简单的示例来演示Plot3的使用。
假设我们有一个数据集,其中包含一组三维坐标点。
我们可以使用Plot3函数将这些点绘制出来。
例如,我们可以使用以下代码绘制一个简单的三维点图:```matlabX = [1, 2, 3, 4, 5];Y = [1, 4, 9, 16, 25];Z = [1, 8, 27, 64, 125];plot3(X, Y, Z, 'o')```上述代码中,我们定义了三个坐标向量X、Y和Z,然后使用Plot3函数将这些坐标点绘制成散点图。
'o'参数指定了散点图的样式,表示使用圆形标记。
通过这个简单的示例,我们可以看到Plot3函数可以轻松地绘制出三维数据点的图形。
除了散点图,Plot3还支持绘制其他类型的三维图形,例如线条图、曲面图等。
我们可以使用LineSpec参数来指定不同的线条样式。
例如,我们可以使用以下代码绘制一条简单的三维线条:```matlabX = [1, 2, 3, 4, 5];Y = [1, 4, 9, 16, 25];Z = [1, 8, 27, 64, 125];plot3(X, Y, Z, 'r-')```上述代码中,我们将LineSpec参数设置为'r-',表示使用红色的实线来绘制三维线条。
通过这个示例,我们可以看到Plot3函数不仅可以绘制散点图,还可以绘制线条图。
matlab plot的用法Matlab是一种常用的科学和工程计算软件,其具备强大的绘图功能。
其中,Matlab Plot函数是用于创建二维和三维图形的主要工具。
下面将介绍Matlab Plot 函数的用法和一些常见的图形类型。
1. 二维图形绘制:Matlab Plot函数可用于绘制直线图、散点图、条形图等。
下面是一些常用函数的示例:- plot(x, y):绘制二维直线图,其中x和y是数据点的坐标数组。
- scatter(x, y):绘制二维散点图,其中x和y是数据点的坐标数组。
- bar(x, y):绘制垂直条形图,其中x是类别,y是对应的值。
- barh(x, y):绘制水平条形图,其中x是类别,y是对应的值。
2. 三维图形绘制:Matlab Plot函数还可以用于创建三维图形,例如曲面图、散点云图等。
下面是一些常用函数的示例:- plot3(x, y, z):绘制三维直线图,其中x、y和z是数据点的坐标数组。
- scatter3(x, y, z):绘制三维散点图,其中x、y和z是数据点的坐标数组。
- surf(x, y, z):绘制三维曲面图,其中x、y和z是数据点的坐标数组。
3. 图形设置:Matlab Plot函数还可用于设置图形的样式和属性。
下面是一些常用的设置函数:- title("标题"):设置图形的标题。
- xlabel("x轴标签"):设置x轴的标签。
- ylabel("y轴标签"):设置y轴的标签。
- legend("图例1", "图例2", ...):添加图例,用于标识不同的数据系列。
以上仅是Matlab Plot函数的一些基本用法和示例,Matlab还提供了丰富的绘图功能和属性设置选项,能够满足各种数据可视化的需求。
通过学习Matlab Plot的用法,您可以更好地利用Matlab进行数据分析和图形展示。