Matlab3 画图
- 格式:pdf
- 大小:354.83 KB
- 文档页数:6
§6.利用Matlab绘制趋势面图形1. Matlab的三维绘图函数及其功能Matlab的三维绘图函数及其功能分别见表2、表3、表4和表5中。
表2三维绘图函数Contour 二维等值线图,即从上向下看Contour3等值线图Contour3 等值线图Fill3 填充的多边形Mesh 网格图Meshc 具有基本等值线图的网格图Meshz 有零平面的网格图Pcolor 二维伪彩色绘图,即从上向下看surf图Plot3 直线图Quiver 二维带方向箭头的速度图Surf 曲面图Surfc 具有基本等值线图的曲面图Surfl 带亮度的曲面图Waterfall 无交叉线的网格图表3三维绘图工具Axis 修正坐标轴属性Clf 清除图形窗口Clabel 放置等值线标签Close 关闭图形窗口Figure 创建或选择图形窗口Getframe 捕捉动画桢Grid 放置网格Griddata 对画图用的数据进行内插Hidden 隐蔽网格图线条Hold 保留当前图形Meshgrid 产生三维绘图数据Movie 放动画Moviein 创建桢矩阵,存储动画Shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影Subplot 在图形窗口内画子图Text 在指定的位置放文本Title放置标题 View改变图形的视角 Xlabel放置x 轴标记 Ylabel放置y 轴标记 Zlabel放置z 轴标记表4函数viewView(az,el) 设置视图的方位角az 和仰角elView([az,el])View([x,y,z]) 在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 01])=view(0,90)View(2) 设置缺省的二维视图,az=0,el=90View(3) 设置缺省的三维视图,az=-37.5,el=30[az,el]=View 返回当前的方位角az 和仰角elView(T) 用一个4×4的转置矩阵T 来设置视图 T=View 返回当前的4×4转置矩阵表5掌握MATLAB 高级图形功能Mmcont2(X,Y,Z,C) 具有颜色映像的二维等值线图Mmcont3(X,Y,Z,C) 具有颜色映像的三维等值线图Mmspin3d(N) 旋转当前图形的三维方位角来制作动画Mmview3d用滑标来调整视角2.实例第3章第6节,分别建立了某流域1月份降水量的二次多项式和三次多项式趋势面。
实验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 决定的。
matlab画3维meshgridplot3meshsurf的⽤法MATLAB三维绘图基础meshgrid函数的⽤法解析:见参考⽹址1介绍3类(plot3/mesh/surf)7种三维图像绘制的⽅法。
见参考⽹址2plot3 三维曲线图;mesh 三维⽹格图;meshc 除了⽣成⽹格图外,还在xy平⾯⽣成曲⾯的等⾼线;meshz 除了⽣成⽹格图外,还在曲线下⾯加上个矩形垂帘;surf 三维着⾊曲⾯图;surfc 同时画出三维着⾊曲⾯图与等⾼线;surfl 带光照的三维着⾊曲⾯图。
MATLAB中meshgrid函数是⽤来⽣成⽹格的,函数⽤法是: [X,Y] = meshgrid(x,y);这种是最常⽤的⼀种⽤法。
x和y分别是两个向量。
使⽤⽰例:结果:A中的每个点对应的是x轴的坐标点,B中的每个点对应的是y轴的坐标点,讲的有点抽象,下⾯画图来说明⼀下。
绘制出来的坐标是:坐标所对应的点是:其实A表⽰将从第⼀⾏开始到最后⼀⾏的x轴的坐标值为A矩阵的⾏,所以按照上图所⽰A矩阵就是:B表⽰将从第⼀列开始到最后⼀列的y轴的坐标值为B矩阵的列,按照上图所⽰B矩阵就是:所以可以知道meshgrid函数的本质是确定x,y坐标轴上每个位置的值。
这个在绘制三维图的时候⾮常重要,因为三维图其实就是根据x,y平⾯的每个位置上对应着⼀个特定的z,然后将它绘制出来,就是所谓的三维图。
根据以上原理简单绘制⼀个三维图,⽰例:1 %% 学习画三维图形2 % meshgrid 函数是⽤来⽣成⼀个⽹格3 clear; clc; close all;4 [x,y] = meshgrid(1:0.5:10,1:20); % ⽣成⽹格5 z = sin(x) + cos(y);6 surf(x,y,z); % 画图函数效果显⽰:。
matlab plot3画射线
plot3(X,Y,Z) 绘制三维空间中的坐标。
要绘制由线段连接的一组坐标,请将X、Y、Z 指定为相同长
度的向量。
要在同一组坐标轴上绘制多组坐标,请将X、Y 或Z 中的
至少一个指定为矩阵,其他指定为向量。
plot3(X,Y,Z,LineSpec) 使用指定的线型、标记和颜色创建绘图。
plot3(X1,Y1,Z1,...,Xn,Yn,Zn) 在同一组坐标轴上绘制多组
坐标。
使用此语法作为将多组坐标指定为矩阵的替代方法。
plot3(X1,Y1,Z1,LineSpec1,...,Xn,Yn,Zn, LineSpecn) 可
为每个XYZ 三元组指定特定的线型、标记和颜色。
您可以对某些
三元组指定LineSpec,而对其他三元组省略它。
例如,
plot3(X1,Y1,Z1,'o',X2,Y2,Z2) 对第一个三元组指定标记,但没有对第二个三元组指定标记。
plot3(___,Name,Value) 使用一个或多个名称-值对组参数指
定Line 属性。
在所有其他输入参数后指定属性。
plot3(ax,___) 在目标坐标区上显示绘图。
将坐标区指定为上
述任一语法中的第一个参数。
p = plot3(___) 返回一个Line 对象或Line 对象数组。
创建绘图后,使用p 修改该绘图的属性。
使用matlab绘制三维图形的方法要使用MATLAB绘制三维图形,首先需要了解MATLAB中的三维绘图函数和绘图选项。
下面将介绍一些常用的绘制三维图形的方法。
1.绘制基本的三维图形要绘制基本的三维图形,可以使用以下函数:- plot3(函数:用于在三维坐标系中绘制线条。
- scatter3(函数:用于在三维坐标系中绘制散点图。
- surf(函数:用于绘制三维曲面图。
- mesh(函数:用于绘制三维网格图。
- bar3(函数:用于绘制三维条形图。
- contour3(函数:用于绘制三维等高线图。
例如,下面的代码演示了如何使用plot3(函数绘制一个三维线条图:```x = linspace(0, 2*pi, 100);y = sin(x);z = cos(x);plot3(x, y, z, 'LineWidth', 2);xlabel('X');ylabel('Y');zlabel('Z');title('3D Line Plot');```2.添加颜色和纹理在绘制三维图形时,可以使用颜色和纹理来增加图形的信息。
MATLAB 提供了一系列函数来处理颜色和纹理,如:- colormap(函数:用于设置颜色映射。
- caxis(函数:用于设置坐标轴范围。
- shading(函数:用于设置颜色插值方法。
- texturemap(函数:用于设置纹理映射方法。
例如,下面的代码展示了如何使用纹理映射来绘制一个球体:```[X, Y, Z] = sphere(50);C = colormap('jet');surface(X, Y, Z, 'FaceColor', 'texturemap', 'CData', C);axis equal;```3.绘制多个数据集要在同一张图中绘制多个数据集,可以使用hold on和hold off命令。
实验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 决定的。
plot3函数是MATLAB中用于绘制三维曲线图的函数。
它可以将三维曲线图中的数据点以二维图形的方式呈现出来,并可以指定曲线的颜色、线型和标记等属性。
plot3函数的输入参数是三个同维数的数组,分别表示曲线在三维空间中的x、y、z坐标。
这些数组可以通过变量名来指定,也可以直接在函数调用中输入。
除了基本的曲线图外,plot3函数还可以绘制带有数据标记的曲线图、带有网格的曲线图等。
此外,它也支持一些可选参数,例如指定曲线的颜色、线型和标记等属性,以及设置图形的标题、坐标轴标签等。
在MATLAB中,plot3函数用于绘制三维曲线图。
它的基本语法是:
plot3(x, y, z)
其中,x、y、z是同维数的数组,它们构成了三维曲面图形在定义域上的坐标点。
具体地,(x,y)构成了三维曲面图形在二维平面上的投影坐标点,而z则是与(x,y)对应的竖坐标,可以是(x,y)的函数,也可以只有数值关系。
例如,下面的代码将绘制一个简单的三维曲线图:
t = linspace(0,10*pi,200);
x = sin(t) + t.*cos(t);
y = cos(t) - t.*sin(t);
z = t;
plot3(x, y, z);
在这个例子中,我们首先生成了一个时间向量t,然后计算了x、y和z的值,最后使用plot3函数将它们绘制成三维曲线图。