Matlab3 画图
matlab的空间三维作图与符号作图
三、加密:取更二多维的点作图举例
>> x=[0:pi/20:2*pi]; >> y=sin(x); >> plot(x,y,'.')
11
三维曲线作图过程
x t
例:绘制三维螺线:
y
sin( t )
z cos(t)
( 0 < t < 20 )
先画点,后连线
1) 计算空间离散点的坐标 (x,y,z) 2) 将这些点按顺序连接即可
调用 Matlab 的绘图命令作出曲面图形
怎样得到网格矩阵 X 和 Y ?
—— 利用 Matlab 的网格生成函数 meshgrid
5
网格生成函数
网格生成函数 [X,Y] = meshgrid(x,y) x,y 是分别对 x 变化区域和 y 变化区域进行分割后
得到的向量 X, Y 即为我们所需要的网格矩阵
>> x= -8:0.5:8; >> y= -8:0.5:8; >> [X,Y]=meshgrid(x,y); >> r=sqrt(X.^2+Y.^2)+eps; >> Z=sin(r)./r; >> mesh(X,Y,Z)
+eps?
1) x 与 y 可以取不同的步长 2) 注意这里采用的数组运算
最后一个命令能否改为 mesh(Z)?
gray cool
线性灰色系 hot 青和洋红色系 pink
黑红黄白色系 柔和色系
26
Matlab 符号作图
27
二维曲线 ezplot
二维曲线绘图命名: ezplot ezplot(f(x),[a,b])
利用Matlab的三维绘图功能绘制趋势面图形
§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月份降水量的二次多项式和三次多项式趋势面。
实验Matlab三维作图地绘制
实验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画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); % 画图函数效果显⽰:。
MATLAB3+-+MATLAB绘图与程序设计+(2)
(4) 双纵坐标图 语法: plotyy(x1,y1,x2,y2) %以左、右不同纵轴绘制两
条曲线
说明:左纵轴用于(x1,y1)数据,右纵轴用于 (x2,y2)数据来绘制两条曲线。坐标轴的范围、 刻度都自动产生。
例8续 用plotyy函数实现在同一图形窗口绘制两 条曲线。
例5. 绘制三条曲线。
x=0:0.1:2*pi;
plot(x,sin(x),x,cos(x),x,sin(3*x)) %画三条曲线
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
绘制曲线的一般步骤
步骤
内容
1 曲线数据准备:对于二维曲线,横坐标和纵坐标数据变量;对 于三维曲面,矩阵参变量和对应的函数值。
说明:在设置了“hold on”后,如果画多个图 形对象,则在生成新的图形时保留当前坐标系 中已存在的图形对象,MATLAB会根据新图 形的大小,重新改变坐标系的比例。
例8 在同一窗口画出函数sinx在区间[0 2π]的 曲线和cosx在区间[-π π]的曲线。
x1=0:0.1:2*pi; plot(x1,sin(x1)) hold on x2=-pi:.1:pi; plot(x2,cos(x2))
2 指定图形窗口和子图位置:默认时,打开Figure No.1窗口或当 前窗口、当前子图;也可以打开指定的图形窗口和子图。
3 设置曲线的绘制方式:线型、色彩、数据点形。
4 设置坐标轴:坐标的范围、刻度和坐标分格线
matlab三维散点图scatter3plote
解 因为这里的函数是隐函数,化成显函数后有两支,必须使用参数方程,旋 转面的参数方程为
3.1 二维曲线的绘制
1、绘制二维图形最常用的函数是plot,调用格式有以下四种:
〔1〕plot(Y) 如果Y为实向量,那么以Y的索引坐标作为横坐标,以Y本身 的元素作为纵坐标。如果Y为复数向量,那么以该向量实部为横坐标,虚 部为纵坐标。 〔2〕plot(X,Y)此时以X为横坐标,Y为纵坐标。X和Y要求维数必须一样。 当变量X和Y是同阶矩阵时,将按照矩阵的行或列进展操作。 〔3〕plot(X,Y,s) 第三个变量用于设置图形显示属性。设置图形的线型、颜 色、标记等。
第三章 Matlab图形绘制
10 5 0 -5
-10 30
20 10
25
25
20 15 10 5 00
20
15
10
5
5
10
15
20
25
10
5
0
-5
-10 30
20 10
25
20 15 10 5 00
2
1
0
-1
-2 2
1
2
0 -1
1 0 -1
-2 -2
主要内容
3.1. 二维曲线的绘制 3.2. 三维曲线的绘制 3.3 三维网线图和曲面图的绘制 3.4 Matlab图形处理的根本技术 3.5 动画技术 3.6 图形用户界面设计
可以定义网格的划分方法,X和Y是网格划分后的数值矩阵。
matlab plot3画射线
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绘制三维图形,首先需要了解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命令。
实验Matlab三维作图的绘制
实验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中plot3用法
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函数将它们绘制成三维曲线图。
MATLAB第三节 绘图
2,0.5],[0,2]上画隐函数 的图. 【例】 在[-2,0.5],[0,2]上画隐函数 e x + sin( xy ) = 0 的图 ezplot('exp(x)+sin(x*y)',[ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
ezplot(‘x(t) , y(t) ezplot( x(t)’,’y(t) ,[tmin,tmax]) x(t) y(t)’,[tmin,tmax])
上画y=cos x 的图形 的图形. 【例】 在[0,π ]上画 上画
ezplot('sin(x)',[0,pi])
ezplot(‘f(x,y) ,[xmin,xmax,ymin,ymax]) ezplot( f(x,y)’,[xmin,xmax,ymin,ymax]) f(x,y)
note:表示在区间xmin<x<xmax和 ymin<y<ymax绘制隐 函数f(x,y)=0的函数图.
4.2特殊坐标图形 特殊坐标图形
semilogx(x,y)—单对数X semilogx(x,y) 单对数X轴绘图命令 semilogy(x,y)—单对数Y轴绘图命令 semilogy(x,y) 单对数Y
【例】以X轴为对数重新绘制上述曲线; 轴为对数重新绘制上述曲线; x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 单对数X semilogx(x,y) %单对数X轴绘图 【例】以Y轴为对数重新绘制上述曲线; 轴为对数重新绘制上述曲线; x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 单对数Y semilogy(x,y) %单对数Y轴绘图
matlab03w-matlab绘图
怎样在一个绘图区域内绘制多个函数的图像 ?
16
同时绘制多个函数图像
plot(x1,y1,s1,x2,y2,s2, ... ,xn,yn,sn) 等价于: hold on plot(x1,y1,s1) plot(x2,y2,s2) ... plot(xn,yn,sn) 属性选项 可以省略
17
图形的其他属性
空间曲线作图举例
>> >> >> >> >> ’) >> >> >> >> >> t=[0:0.1:20]; x=t; y=sin(t); z=cos(t); plot3(x,y,z,’.-
t=[0:0.1:20]; x=t; y=sin(t); z=cos(t); plot3(x,y,z)
28
空间曲面作图
y m c r g b w k 黄色 棕色 青色 红色 绿色 蓝色 白色 黑色
help plot 查看
11
图形的其他属性
标题 title(’text’)
例:
可以指定文本的属性 title('text', 'Property1', value1, ' Property2', value2, ...) Property: linewidth, markersize, fontsize, fontweight, fontname, …
19
plot3的用法与 plot 类似
空间三维作图
空间曲面
20
空间三维作图
空间曲面 mesh, meshc, meshz
mesh(X,Y,Z,C) 绘制由矩阵 X,Y,Z 所确定的曲面网格图, 矩阵 C 用于确定网格颜色,省略时 C=Z。 mesh(Z) 绘出矩阵 Z 的三维消隐图。 mesh(x,y,Z) x, y 是向量时,length(x)=n,length(y)=m,[m,n]=size(Z) meshc 调用方式与 mesh 相同,在 mesh 基础上增加等高线
matlab 三维立体绘图
MATLAB 程序设计入门篇:三维立体绘图
NCU MCM 暑期培训
4-1 基本立体绘图指令
范例4-7:plotxyz04.m
MATLAB 程序设计入门篇:三维立体绘图
NCU MCM 暑期培训
4-1 基本立体绘图指令
MATLAB 程序设计入门篇:三维立体绘图
NCU MCM 暑期培训
4-1 基本立体绘图指令
范例4-12:plotxyz09.m
MATLAB 程序设计入门篇:三维立体绘图
NCU MCM 暑期培训
4-1 基本立体绘图指令
整理:基本三维立体绘图指令的列表
类别 指令 mesh, ezmesh 网状图 meshc, ezmeshc meshz surf, ezsurf 曲面图 surfc, ezsurfc surfl 说明 立体网状图 网状图加上等高线 网状图加上“围裙”(或“舞 台”) 三维曲面图 曲面图加上等高线 曲面图加上光源
set(h, 'hori', 'center', 'vertical', 'bottom', 'color', 'r'); % 改变位置及颜色 end end
MATLAB 程序设计入门篇:三维立体绘图
NCU CM 暑期培训
4-1 基本立体绘图指令
MATLAB 程序设计入门篇:三维立体绘图
NCU MCM 暑期培训
y = 31− x) e (
2 −x2−( y+1)2
x 3 5 −x2−y2 1 −(x+1)2−y2 −10( − x − y )e − e 5 3
matlab实验 三维画图
实验(六)项目名称:三维绘图一、实验目的:熟悉MATLAB中几个常用的绘图命令,掌握集中常见三维图形的画法。
二、实验原理三维绘图命令:Plot(X,Y,Z)//曲线;mesh(X,Y,Z)//网状;surf(X,Y,Z)//表面;contour(X,Y,Z)//等高线。
三、实验环境1.硬件:PC机2. 软件:Windows操作系统、matlab2015四、实验内容、步骤以及结果4.1.1实验要求:用plot函数画出的三维曲线。
4.1.2实验步骤(1)启动matlab,新建一个M文件;(2)输入程序,如图1;(3)保存文件;(4)编译源程序,观察屏幕上显示的编译信息,修改出现的错误,直到编译成功;图1:plot函数画三维曲线4.1.3运行结果如下:图2:三维曲线4.2.1实验要求:用mesh函数画出的三维网状图。
4.2.2实验步骤(5)启动matlab,新建一个M文件;(6)输入程序,如图3;(7)保存文件;(8)编译源程序,查看运行结果,如图4。
图3:mesh函数画三维网状图图4:运行结果4.3.1实验要求:用surf函数画出的三维表面图。
4.3.2实验步骤(9)启动matlab,新建一个M文件;(10)输入程序,如图5;(11)保存文件;(12)编译源程序,查看运行结果,如图6。
图5:surf函数画三维表面图图6:运行结果4.3.1实验要求:用contour函数画出的等高线图。
4.3.2实验步骤(13)启动matlab,新建一个M文件;(14)输入程序,如图7;(15)保存文件;(16)编译源程序,查看运行结果,如图8。
图7:contour函数画等高线图8:运行结果五、实验总结MATLAB具有强大的图形功能,能够将它们直观的表现出来,解决很多的问题。
matlab三维绘图命令和演示
三维绘图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);三维绘图的主要功能:绘制三维线图绘制等高线图绘制伪彩色图绘制三维网线图绘制三维曲面图、柱面图和球面图绘制三维多面体并填充颜色(一)三维线图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’,…)二维图形的所有基本特性对三维图形全都适用。
MATLAB绘三维图
第六讲 MATLAB可视化(二)绘三维图【目录】一、三维图形绘制步骤 (1)二、三维绘图基本操作 (2)1、三维线图 (2)2、三维网线图 (3)3、三维曲面图 (4)三、透视、镂空和裁切 (5)1、图形的透视 (5)2、图形的镂空 (6)3、图形的裁切 (7)四、三维图形的精细控制 (8)1、视点与旋动 (8)2、色彩控制 (9)3、浓淡处理 (11)五、照明和材质处理 (12)六、简洁绘图指令 (13)【正文】一、三维图形绘制步骤步骤典型指令1三维曲线数据:先取一个参变量采样向量然后计算各坐标数据向量t=pi*(0:100)/100;x=f1(t);y=f2(t);z=f3(t);三维曲面数据:产生自变量采样向量;由自变量向量产生格点矩阵;计算格点矩阵相对应的函数值矩阵x=x1:dx:x2;y=y1:dy:y2;[X,Y]=meshgrid(x,y);Z=f(x,y);2 选定图形窗及子窗位置:同二维3调用三维曲线绘图指令:线型、色彩、数据点形plot3(x,y,z,'b-') 调用三维曲面绘图指令Mesh(X,Y,Z);4 设置轴的范围与刻度、坐标分隔线同二维5 图形注释:图名、坐标名、图例、文字同二维6 着色、明暗、灯光、材质处理colormap,shading,light,material7 视点、三度(横、纵、高)比view,aspect二、三维绘图基本操作1、三维线图用来画三维曲线,三维曲线与一组(x,y,z)坐标相对应的点连接而成。
绘图格式为:plot3(X,Y,Z,'s')plot3(X1,Y1,Z1,'s1',X2,Y2,Z2,'s2',...)(1) X、Y、Z是同维向量时,则绘制以X、Y、Z元素为x、y、z 坐标的三维曲线;(2) X、Y、Z是同维矩阵时,则以X、Y、Z对应列元素为x、y、z坐标绘制多条曲线,曲线条数等于矩阵的列数;(3) (X1,Y1,Z1,'s1')与(X2,Y2,Z2,'s2')的结构与作用和(X,Y, Z,'s')相同,表示同一指令绘两组以上曲线;(4) s、s1、s2的意义与二维相同。
matlab各种三维绘图及实例
Matlab绘制三维图形三维曲线plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例绘制三维曲线。
程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t.*sin(t).*cos(t);plot3(x,y,z);title('Line in 3-D Space');xlabel('X');ylabel('Y');zlabel('Z');三维曲面1.产生三维数据在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。
其格式为:x=a:d1:b; y=c:d2:d;[X,Y]=meshgrid(x,y);语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
2.绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。
surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。
一般情况下,x,y,z是维数相同的矩阵。
x,y是网格坐标矩阵,z是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。
例绘制三维曲面图z=sin(x+sin(y))-x/10。
程序如下:[x,y]=meshgrid(0:0.25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标z=sin(x+sin(y))-x/10;mesh(x,y,z);axis([0 4*pi 0 4*pi -2.5 1]);此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。
MATLAB三维绘图
第7讲 绘制三维图(第5章MATLAB 绘图)目的:1.掌握绘制三维图形的方法。
2.掌握绘制图形的辅助操作。
一、绘图时点坐标矩阵的生成。
绘图函数使用描点法绘图,所以在绘图前,需要建立空间点的概念,空间中的点需要三个坐标(,,)x y z ,matlab 使用三个矩阵来存储点的三个坐标,一个矩阵(比如A )存储点的x 坐标,一个矩阵(比如B )存储点的y 坐标,一个矩阵(比如C )存储点的z 坐标。
其中A 、B 、C 三矩阵是同型矩阵。
例如设矩阵123112X ⎛⎫⎪= ⎪ ⎪⎝⎭,014221Y −⎛⎫ ⎪= ⎪ ⎪⎝⎭,510113Z ⎛⎫ ⎪= ⎪ ⎪−⎝⎭则,matlab 绘图函数将绘制点()()1,0,5,(2,1,1),(3,4,0),,2,1,3−共6个点。
如果点的坐标没有规律那么我们需要手工输入坐标矩阵。
如果点的坐标有规律,那么我们可以使用矩阵运算或者matlab 产生点的函数来生成坐标矩阵。
例如,假设空间中点的纵横坐标如下图所示:图中点的坐标有规律:横坐标是(1,2,3,4),纵坐标是(1,2,3),所以可以使用如下方法得到点的坐标矩阵。
方法一:>> a=[1,2,3,4];b=[1,2,3];i=ones(1,3);j=ones(1,4);>>x=i’ *a; y=b‘ *j;方法二:使用matlab系统函数meshgrid(推荐使用)>> a=[1,2,3,4]; b=[1,2,3];>>[x,y]=meshgrid(a,b) % 该函数生成的x,y矩阵和方法一相同。
------------------我是华丽分割线-----------------除meshgrid外,还可以用peaks、cylinder函数等生成点坐标矩阵。
peaks(n): 本身是一个创建具有多个峰值的曲面图,例如:>> peaks(30) %产生的图如下:在matlab中可以使用,例如:命令[x,y,z]=peaks(30)取出曲面点的三个坐标矩阵x,y,z;[a,b]=peaks(30)取出曲面点的前两坐标矩阵x,y;%可以用逻辑运算a==x,b==y验证注意:命令a=peaks(30)取出的a不是曲面点的x坐标,而是点的z坐标;可以用二维绘图函数scatter(x,y)绘制散点图观察取出的坐标点:>>[x,y]=peaks(8);>>scatter(x,y)另一个可以用来取坐标点的函数是sphere(n),命令sphere(n):绘制一个具有n个纵列的单位球面。
matlab画三维散点图
matlab画三维散点图MATLAB是一种非常强大的数值计算和可视化软件,广泛用于科学、工程、统计学等领域的数据分析和可视化。
其中之一的功能是绘制三维散点图,这种图形能够帮助我们直观地观察和理解数据的分布情况。
本文将介绍如何使用MATLAB绘制三维散点图。
一、准备数据在绘制三维散点图之前,我们首先需要准备数据。
在MATLAB中,数据可以以不同的形式输入,如矩阵、向量或数据文件。
这里,我们假设我们已经有了一个包含三个列的矩阵,每一列代表一个维度的数据。
例如,我们有一个矩阵A,其中第一列代表x坐标,第二列代表y坐标,第三列代表z坐标。
二、绘制三维散点图在MATLAB中,我们可以使用scatter3函数来绘制三维散点图。
该函数的语法如下:scatter3(x, y, z)其中,x、y和z分别是包含数据的向量或矩阵。
例如,我们可以使用下面的代码来绘制散点图:scatter3(A(:,1), A(:,2), A(:,3))三、设置图形属性除了绘制三维散点图,我们还可以通过设置不同的属性来适应数据的特点和需求。
下面是一些常用的属性设置:1. 颜色:可以使用Color参数来定义散点的颜色。
例如,可以使用'b'来表示蓝色散点、'r'表示红色散点。
如果想要为每个散点指定不同的颜色,可以使用RGB值或提供一个与数据大小相同的向量来表示颜色。
2. 标记:可以使用Marker参数来指定散点的标记。
例如,可以使用'o'表示圆形标记、'+'表示十字标记。
3. 大小:可以使用Size参数来调整散点的大小。
默认情况下,散点的大小是基于数据的相对大小确定的。
4. 标签:可以使用Text参数来为散点添加文本标签。
使用Text中的文本来指定标签的内容。
下面是一个例子,演示如何使用属性设置:scatter3(A(:,1), A(:,2), A(:,3), 'Marker', 'o', 'Size', 50, 'Color', 'b')四、添加标题和坐标轴标签为了进一步提高图形的可读性,我们还可以添加标题和坐标轴标签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
\leftritharrow ↔
3.7 二维作图的附加类型
附加的二维作图类型 函数 描述 bar(x,y) 创建一个水平的条形图,x代表第 一个X轴的取值,y代表对应于Y的 取值 barh(x,y) 创建一个竖直的条形图 pie(x) 创建一个饼状图,x代表占总数的 pie(x,explode) 百分数
柱状图
• 在一系列数值中范围被平均划分,并确定某一个范围中数值 的个数,并把这个数目通过函数画出图来。 • 格式:hist (y)、hist(y, nbins)、hist(y, x) • 例:y = randn(10000,1); hist(y,15) • 例:y = randi(10,[10000,1]); hist(y,1:10) • 重做练习6 n=10^5; a=vpa('pi',n); a=char(a); a(2)=[]; b=arrayfun(@str2num,a); figure; hist(b,0:9); count2=hist(b,0:9)
n=10^5; a=vpa('pi',n); % pi,sqrt(2),exp(1).... a=char(a); % 将符号转化成字符串 count=zeros(1,10); % 预分配内存
format 结果 string %d 把值作为整数来处理 %e %f %g \n 用科学记数法来显示数据 用于浮点数格式显示这个数 用科学记数格式,或浮点数格式,根据那 个短,并显示之 转到新的一行
用legend来制作 图例
• 基本形式: legend('string1','string2',...,pos) • 其中string1,string2等等是轨迹标签名,而pos是 一个整数,用来指定图例的位置。 x=0:pi/100:2*pi; y1=sin(2*x); y2=2*cos(2*x); plot(x,y1,'k-',x,y2,'b--'); title(' Plot of f(x)=sin(2x) and its derivative'); legend('f(x)','d/dx f(x)');
练习1:在同一坐标轴内画出两个曲线图
• y=x3-x-1 和 y=|x|0.2sin(5x) 定义域[-1,2] • 要求: – 第一条实线、红色 – 第二条点线、黑色,圆圈标注数据点、蓝色 – 图例 放在 左上角
练习2 动态显示 y=esin(k*x) 随 k 的变化 • 参见:exp, plot, pause x=0:pi/100:2*pi; for k=1:0.1作出多个函数 的图像
例2:作出f(x)=sin2x和它的微分函数的图像 x=0:pi/100:2*pi; y1=sin(2*x); y2=2*cos(2*x); plot (x,y1,x,y2); title('Plot of sin(x) and its derivative');
3.3 画图函数 fplot • fplot(fun,[a,b]) 函数fun在区间[a,b] 上的图像 • 例: fplot('sin(1/x)',[0.01,1]) y=@(x)sin(1/x); fplot(y, [0.01,1]) • 重做两个练习
3.4 创建多个图像
• figure\close • figure(n)\close(n) 开\关一个图形窗口 开\关第n个图形窗口
3.1 简单的 xy 画图
15
Matlab (3) ——画图入门
吴宝丰
例1:画出函数 y=x2-10x+15的图像, 定义域为[0,10] x=0:1:10; y=x.^2-10*x+15; plot(x,y);
10
5
0
-5
• 创建两个向量,长度相同
-10 0
2
4
6
8
10
图形说明:给图增加标题、坐标轴标签 ——title, xlabel, ylable
子图像 • subplot(m,n,p) • 在当前图像窗口创建了m×n个子图像,按 m行,n列排列,并选择子图像p来接受当前 所有画图命令。 • 这些子图像以从左向右从上到下编号。例 如,命令subplot(2,3,4)将会创建6个子图像, 而且subplot 4是当前子图像。
• 例:创建两个图像,第一个用来展示ex的图像, 第二个用来展示e-x的图像。 figure(1); x=x:0.05:2; y1=exp(x); plot(x,y1); figure(2); y2=exp(-x); plot(x,y2);
按列打印: a=[1,2; 3,4]; fprintf('%d %4.2f\n',a);
3.8 空间曲线
例:绘制空间曲线 (eg3_7)
小结
• 曲线图 – plot(x,y) 以数据(x(i), y(i))为节点的折线图, 其中x, y为同长度的向量 – plot3(x,y,z) 空间曲线图, 其中x, y, z为同长度的 向量 – polar(theta,rho) 极坐标画图 – fplot(fun,[a,b]) 函数fun在区间[a,b] 上的图像 – 其他参数曲线、隐函数曲线,参见:ezplot, ezplot3, ezpolar
3.6 文本字符串的高级控制
\bf \it \rm \fontname \fontsize _{xxx} ^{xxx} 黑体 斜体 恢复正常字体 字体的名字 字体的大小 xxx做为某字符的上标 xxx做为某字符的下标
精选的希腊符号和数学符号 字符序列 \alpha \eta \gamma \delta \epsilon \lamda \mu \pi \phi \sigma \tau \omega 符号 α η γ δ ε λ μ π φ σ τ ω \Omega \uparrow \downarrow Ω ↑ ↓ \Lamda \nu \Pi \rho \Sigma Λ ν Π ρ Σ 字符序列 \beta \theta \Gamma \Delta 符号 β θ Γ Δ 字符序列 \int \cong \sim \infty \pm \leq \geq \neq \propto \div \circ \leftarrow \rightarrow ~ ∞ ± ≤ ≥ ≠ ∝ ÷ ° ← → 符号 ∫
图像的颜色,标记(符号)类型,线型
颜色 y m c r g b w k 黄色 品红色 青绿色 红色 绿色 蓝色 白色 黑色 . o x s d v ^ > < p h <none> 标记类型 点 圈 ×号 正方形 菱形 倒三角 正三角 三角 三角 五角星 六线形 无 : -. - <none> 线型 实线 虚线 点划线 划线 无
• 选一个无理数,如 π, sqrt(2), e=exp(1), (sqrt(5)1)/2,..., 考察各数字出现的频率, 以饼图、条形图、 表格的形式表示。 • 参见:vpa, char, num2str, sum, bar, pie, subplot, fprintf • 前面的语句如下,请补充后面
练习4. 画轨道
• 一颗卫星绕地球运行,卫星的轨道是椭圆形的,而 地球就处于这个椭圆的某一个焦点上。卫星的轨迹 方程满足下式 P r= • 1 − ε cos θ • • r与θ分加代表卫星距地球的距离和两者形成的交角, P是体现轨道大小的参数,ε是来决定轨道形状的参 数,ε为0则轨道是圆形的,0≤ε≤1则说明轨道是 椭圆形的。如果ε>1,则卫星要做离心运动。 • 已知卫星的p=1000km,画出卫星的轨迹,已知 • (a) ε=0;(b) ε=0.25;(c) ε=0.5 • 每一颗卫星到地球最近距离是多少?最远距离是多 少?比较这三幅图,说出p代表意义是什么?
练习3: 阿基米德螺旋 • g = 0.5; • theta = 0:pi/20:2*pi; • gain = 2*g*(1+cos(theta)); • polar (theta,gain,'r-'); • title ('Gain versus angle \it\theta'); • 阿基米德螺旋用极坐标可描述为 • r = kθ • r是指到原点的距离,θ为角度,单位为弧度。 已知0≤θ≤6π,画出它的极坐标图。 • 要求:在一个图形窗口里画两个子图,左 右排列,k分别取 0.5, 0.7
例:条形图 x = [1 2 3 4 5 6]; y = [2 6 8 7 8 5]; bar(x,y); %bar->barh title('\bf Example of a bar Plot'); xlabel('\bf\it x'); ylabel('\bf\it y'); axis([0 7 0 10]);
3.5 极坐标图像
close all subplot(2,1,1); x=-pi:pi/20:pi; y=sin(x); plot(x,y); title('Subplot 1 title'); subplot(2,1,2); y=cos(x); plot(x,y); title('Subplot 2 title');
在legend命令中pos的值
值 0 1 2 3 4 -1 意义 自动寻找最佳位置,至少不与数据冲突 在图像的右上角 在图像的左上角 在图像的左下角 在图像的右下角 在图像的右边
使用 hold on/off
例3:在同一坐标轴内画出sinx和cosx的图像。 x=-pi:pi/20:pi; y1=sin(x); y2=cos(x); plot(x,y1,'b-'); hold on; plot(x,y2,'k--'); hold off; legend ('sin x','cos x',4);