Matlab绘图方法总结_第1页
Matlab绘图方法总结_第2页
Matlab绘图方法总结_第3页
Matlab绘图方法总结_第4页
Matlab绘图方法总结_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 Matlab的图形功能的图形功能 (1)掌握图形窗口的创建与控制,以及图形窗口的基本操掌握图形窗口的创建与控制,以及图形窗口的基本操作;作;(2)熟练掌握二维和三维绘图基本的命令、着色、线型控)熟练掌握二维和三维绘图基本的命令、着色、线型控制;制;(3)初步掌握用特殊的图形来表现特殊数据的性质,如面)初步掌握用特殊的图形来表现特殊数据的性质,如面积图、直方图、饼图等。积图、直方图、饼图等。 (4)了解在极坐标、柱坐标和球坐标系下绘制图形。)了解在极坐标、柱坐标和球坐标系下绘制图形。 (5)掌握坐标轴的控制和图形标注命令及其用法。)掌握坐标轴的控制和图形标注命令及其用法。 (6)了解

2、句柄图形的概念和图形对象的结构层次、掌握图)了解句柄图形的概念和图形对象的结构层次、掌握图形对象属性的获取及利用图形对象属性编辑器设置对象属性形对象属性的获取及利用图形对象属性编辑器设置对象属性的方法。的方法。 (7)掌握用)掌握用 GUI 设计用户界面菜单对象和用户界面控制对设计用户界面菜单对象和用户界面控制对象的方法。象的方法。 一、图形窗口一、图形窗口创建图形窗口的命令为创建图形窗口的命令为figure,有两种调用格式:有两种调用格式: figure/ figure(n)也可以由菜单创建:也可以由菜单创建: File-New-Figure图形窗口的操作及控制图形窗口的操作及控制第第4章章

3、 Matlab的图形功能的图形功能 figure(1)x=0:0.1:1;y=sin(x);plot(x,y)第第4章章 Matlab的图形功能的图形功能 二、二维平面图形与坐标系二、二维平面图形与坐标系 1. 几个基本的绘图命令几个基本的绘图命令 a.a. 线性坐标曲线线性坐标曲线 plot (连续曲线连续曲线)b. stem(离散曲线)(离散曲线)函数命令函数命令 plot 是是 MATLAB 二维曲线绘图中最简单、最重二维曲线绘图中最简单、最重要、使用最广泛的一个线性绘图函数。它可以生成线段、要、使用最广泛的一个线性绘图函数。它可以生成线段、曲线和参数方程曲线的函数图形。曲线和参数方程曲

4、线的函数图形。 命令格式命令格式: : plot(y) :单参数式单参数式(y为纵坐标向量,横坐标为向量为纵坐标向量,横坐标为向量1 2 3 4 1 2 3 4 ) plot(x,y):参数式参数式 (x 为横坐标向量,为横坐标向量,y为纵坐标向量为纵坐标向量) plot(Y):mn 矩阵式矩阵式( (矩阵的每列为纵坐标,横坐标为向量矩阵的每列为纵坐标,横坐标为向量1:1:m)m) plot(X,Y):混合式混合式 plot(Z):复向量式复向量式 plot(x1,y1,x2,y2,):综合调用方式综合调用方式 第第4章章 Matlab的图形功能的图形功能 用命令用命令 plot(y)绘曲线,

5、其中绘曲线,其中 y=5 3 4 9 0 2 3。 y=5 3 4 9 0 2 3; plot(y)用命令用命令 plot(x,y)绘制函数绘制函数 y=cos(x)在两个周期内的图形。在两个周期内的图形。 x=0:0.01:2*pi; y=cos(x); plot(x,y)在同一图形窗口中在同一图形窗口中用命令用命令 plot(x,y)绘出正弦余弦函数的图形。绘出正弦余弦函数的图形。 x=0:0.01:2*pi; y=sin(x);cos(x); plot(x,y) 用命令用命令plot(Y)绘制矩阵绘制矩阵 Y=5 4 3 8 9 10;3 4 4 5 8 2 ;8 12 13 21 18

6、 25 ;9 8 8 9 6 7的图形。的图形。 Y=5 4 3 8 9 10;3 4 4 5 8 2 ;8 12 13 21 18 25 ;9 8 8 9 6 7; plot(Y) 第第4章章 Matlab的图形功能的图形功能 在在混合式混合式的命令格式的命令格式plot(X,Y)中,对中,对X和和Y而言,可分下而言,可分下列几种情况:列几种情况:如果如果 X 和和 Y 都是向量,则长度必须相等都是向量,则长度必须相等; 如果如果 X 是向量,而是向量,而 Y 是一个矩阵是一个矩阵,X 的长度与矩阵的长度与矩阵 Y 的行数或列数相等,则它的作用是将向量的行数或列数相等,则它的作用是将向量 X

7、 与矩阵与矩阵 Y 的的每列或每行的向量相对应作折(每列或每行的向量相对应作折( 曲)线,当曲)线,当 Y 是是方阵方阵时,时,则将向量则将向量 X 与矩阵与矩阵 Y 的的列向量列向量对应作图;对应作图; 如果如果 X 是矩阵,是矩阵,Y 是向量是向量,Y 的长度等于矩阵的长度等于矩阵 X 的行的行数或列数,则将数或列数,则将 X 的每列或每行的向量与的每列或每行的向量与 Y 相对应作图。相对应作图。当当 X 是是方阵方阵时,则将时,则将 X 的各列的各列与与 Y 对应作图;对应作图; 如果如果 X 和和 Y 都是矩阵都是矩阵,且维数相同,则按,且维数相同,则按列与列列与列的对的对应方式来作图

8、。应方式来作图。第第4章章 Matlab的图形功能的图形功能 用命令用命令plot(X,Y) 绘制图形。绘制图形。 x=1:length(peaks); plot(x,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) 第第4章章 Matlab的图形功能的图形功能 用用plot(Z)绘制图形。绘制图形。 x=0:pi/20:2*pi; Z=sin(x)+cos(x)*i plot(Z)等价于等价于plo

9、t(real(Z),imag(Z) 用用plot(x1,y1,x2,y2,)在同一窗在同一窗口中绘制多条曲线,且坐标和口中绘制多条曲线,且坐标和长度都不同。长度都不同。 t1=0:0.1:3*pi; t2=0:0.1:6; plot(t1,sin(t1),t2,sqrt(t2)第第4章章 Matlab的图形功能的图形功能 b.二维函数二维函数曲线曲线专用命令专用命令 fplot用用plot绘图在确定自变量的取值间隔时,一般采用绘图在确定自变量的取值间隔时,一般采用平均间隔平均间隔,有时会因,有时会因某处某处 间距太大,而间距太大,而不能反映出函数的变化不能反映出函数的变化情况。情况。fplot

10、是绘制函数是绘制函数 y=f(x)图形的专用命令图形的专用命令,它的它的数据点是自适应产生的数据点是自适应产生的,对那些导数变化较大的,对那些导数变化较大的函数,用函数,用 fplot 函数绘出的曲线比等分取点所画出的曲线函数绘出的曲线比等分取点所画出的曲线更加接近真实更加接近真实。fplot 函数命令的调用格式为:函数命令的调用格式为: X,Y=fplot(fun,lims,tol,n, linespec,p1,p2) fun:函数名字符串;函数名字符串; lims:定义定义 x 的取值区间,的取值区间,lims=xmin,xmax; tol:相对误差(默认值为相对误差(默认值为 2e-3)

11、;n:绘图的最少点数(绘图的最少点数( n+1);); linespec:线性设置;线性设置;p1,p2,:函数传递参数;函数传递参数; X,Y :数组数据点坐标。数组数据点坐标。第第4章章 Matlab的图形功能的图形功能 fplot 和和 plot 命令的比较。命令的比较。 ( 1)创建函数)创建函数 M 文件文件 funfplot。 function y=funfplot(x) y=sin(1./tan(pi.*x); (2)将将用用 fplot 命令求得的坐标点命令求得的坐标点按照对应大小创按照对应大小创建一个建一个等间距坐标点等间距坐标点赋值给矩阵赋值给矩阵 X,Y。 X,Y=fpl

12、ot(funfplot,-0.1,0.1,2e-4);%只只把数据点坐标输入把数据点坐标输入 X、Y,而不显示图形。而不显示图形。%要使用要使用 toltol、n n 或是或是linespeclinespec的默认参数,可以给的默认参数,可以给函数传递一个函数传递一个作为参数。作为参数。 x=-0.1:1/1000*pi:0.1; y=funfplot(x);( 3)用用 plot和和fplot命令作图,比较二者的不同:命令作图,比较二者的不同: plot(x,y) figure(2) %打开一个新的图形窗口打开一个新的图形窗口 plot(X,Y) %该命令等价于该命令等价于 fplot(fu

13、nfplot,-0.1,0.1,2e-4); 第第4章章 Matlab的图形功能的图形功能 c.c.对数坐标曲线命令对数坐标曲线命令 绘制二维对数坐标曲线的命令绘制二维对数坐标曲线的命令semilogx、semilogy 和和 loglog,其其用法和函数用法和函数 plot 相同。相同。函数函数 semilogx 横坐标横坐标为对数坐标;为对数坐标;函数函数 semilogy 纵坐标纵坐标为对数坐标;为对数坐标;函数函数loglog 横、纵坐标横、纵坐标均为对数坐标。均为对数坐标。绘制正弦函数的对数坐标曲线。绘制正弦函数的对数坐标曲线。 t=0.1:0.1:3*pi; y=sin(t); f

14、igure(1) semilogx(t,y) grid on %为图形窗口添加网格 figure(2) semilogy(t,y) figure(3) loglog(t,y) 第第4章章 Matlab的图形功能的图形功能 d.d.双双 y 轴图形轴图形 绘制绘制左右均有左右均有 y 轴轴的图形的图形 plotyy(x1,y1,x2,y2) 在窗口中同时绘制两条曲线:在窗口中同时绘制两条曲线:(x1,y1)和和(x2,y2),曲线曲线(x1,y1)用左侧的用左侧的 y 轴轴,曲,曲线线(x2,y2)用右侧的用右侧的 y 轴。轴。 plotyy(x1,y1,x2,y2, fun) fun是字符串是

15、字符串,用来指定绘图的,用来指定绘图的函数函数名,如名,如 plot、semilogx、semilogy 等等 。plotyy(z1,y1,x2,y2, fun1, fun2) 用用fun1和和fun2指定指定不同的绘图函数不同的绘图函数分别绘制。分别绘制。 用用 plotyyplotyy 函数绘制双函数绘制双 y y 轴图形。轴图形。 t1=0:0.1:3*pi; t2=0:0.1:6; y1=sin(t1); y2=sqrt(t2); plotyy(t1,y1,t2,y2,semilogx) grid on 第第4章章 Matlab的图形功能的图形功能 在同一图形窗口中用不同的绘图函数绘制

16、同一函数曲线在同一图形窗口中用不同的绘图函数绘制同一函数曲线 的双的双 y 轴轴图形。图形。 x=0:0.1:6; y=sqrt(x); plotyy(x,y,x,y,semilogy,plot) plotyy 函数不能加入设置曲线线型、颜色及标出数据点的参数。函数不能加入设置曲线线型、颜色及标出数据点的参数。 xy 第第4章章 Matlab的图形功能的图形功能 2.线型和颜色线型和颜色 plot 函数可以设置曲线的函数可以设置曲线的线段类型、定点标记和线段颜色线段类型、定点标记和线段颜色。 常用的线段、颜色与定点标记参数常用的线段、颜色与定点标记参数 调用格式调用格式:plot(x,y,s)

17、 ,s 为类型说明参数,是字符串。为类型说明参数,是字符串。s 字符串字符串可以是三种类型的可以是三种类型的符号之一符号之一,也可以是线型与颜色和定点标记,也可以是线型与颜色和定点标记与颜色的与颜色的组合组合;如果如果没有没有 s 参数参数,plot 将使用将使用缺省设置(实线,前七种颜色顺序着色缺省设置(实线,前七种颜色顺序着色)绘制曲线;绘制曲线; 在当前坐标系中绘图时,每调入一次绘图函数,在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标将擦掉坐标系中已有的图形对象。可以用系中已有的图形对象。可以用 hold on 命令命令在一个坐标系中在一个坐标系中增加新的图增加新的图形

18、对象形对象。注意。注意MATLAB会根据新图形的大小,重新改变坐标系的比例。会根据新图形的大小,重新改变坐标系的比例。用不同的用不同的线型和标注线型和标注来绘制两条曲线。来绘制两条曲线。 t1=0:0.1:2*pi; t2=0:0.1:6; y1=sin(t1); y2=sqrt(t2); plot(t1,y1,:hb,t2,y2,-g) 第第4章章 Matlab的图形功能的图形功能 第第4章章 Matlab的图形功能的图形功能 3. 图形窗口的分割图形窗口的分割 有时需要在有时需要在一个图形窗口中显示几幅图一个图形窗口中显示几幅图,以便对几个函数进行直观、,以便对几个函数进行直观、便捷的比较

19、。由于每个绘图命令在绘制数据图像时都会将已有图形覆便捷的比较。由于每个绘图命令在绘制数据图像时都会将已有图形覆盖掉,而用盖掉,而用 hold 命令不能实现同时显示几个不同坐标尺寸下的图形,命令不能实现同时显示几个不同坐标尺寸下的图形,用用 figure 命令再创窗口又很难同时比较由不同的数据绘得的图像。命令再创窗口又很难同时比较由不同的数据绘得的图像。实现在实现在同一个窗口中同时显示多个图像同一个窗口中同时显示多个图像的命令的命令subplot。使用格式为:使用格式为: subplot(m,n,i)其含义为其含义为 :把图形窗口分割为:把图形窗口分割为 m 行行 n 列子窗口列子窗口,然后选,

20、然后选定定第第 i 个窗口为当前窗口个窗口为当前窗口。subplot 命令不仅用于命令不仅用于二维图形二维图形,对,对三维图形三维图形一样适用。其本质是将一样适用。其本质是将 figure 窗口分为几个区域窗口分为几个区域,再在每个区域内分别绘图。,再在每个区域内分别绘图。第第4章章 Matlab的图形功能的图形功能 用用 subplot 函数函数把两种不同的图形综合在一个图形窗口中。把两种不同的图形综合在一个图形窗口中。 subplot(2,2,1) t=0.1:0.1:2*pi; y=sin(t); semilogx(t,y) grid on subplot(2,2,2) t=0:0.1:

21、4*pi; y=sin(t); plot(t,y)subplot(2,2,3) x=1:0.01:5; y=exp(x); plotyy(x,y,x,y,semilogx,plot) subplot(2,2,4) x=1:0.1:10; y=sqrt(x); plot(x,y,:rd) 第第4章章 Matlab的图形功能的图形功能 4. 坐标系的调整坐标系的调整 实现坐标系的调整的命令是实现坐标系的调整的命令是 axis 函数。函数。 调用格式为:调用格式为: axis(xmin,xmax,ymin,ymax,zmin,zmax)坐标的最小值(坐标的最小值( xmin,ymin,zmin)必须

22、小于相应的最大值必须小于相应的最大值( xmax,ymax,zmax),),否则会出错。否则会出错。自动坐标系与用自动坐标系与用 axis axis 函数函数调整后的坐标系的比较。调整后的坐标系的比较。 subplot(2,1,1) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,1,2) t=0:0.1:4*pi; y=sin(t); plot(t,y) axis(0,max(t),min(y),max(y) 第第4章章 Matlab的图形功能的图形功能 三、三、三维绘图三维绘图 1. 1. 三维三维曲线曲线绘图命令绘图命令 三维函数三维函数 plot

23、3主要用来表现主要用来表现单参数的三维曲线单参数的三维曲线,与二维绘,与二维绘图函数图函数 plot 相比,只多了相比,只多了第三维数据第三维数据。其调用格式为:其调用格式为: plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)或或 plot3(X,Y,Z,s)参数的含义如下:参数的含义如下: Xn、Yn、Zn:第一到三维数据,是第一到三维数据,是尺寸相等的尺寸相等的向量向量/矩阵;矩阵;s、s1、s2:是是字符串字符串,用来设置,用来设置线型、颜色、数据点线型、颜色、数据点标记。标记。X、Y、Z 是是向量时向量时,绘制以向量,绘制以向量 X、Y、Z 的的元素为元素为 x、y、z

24、坐标坐标的三的三维曲线。维曲线。 X、Y、Z 是是矩阵时矩阵时,以,以 X、Y、Z 对应列元素为对应列元素为 x、y、z 坐标坐标分别绘制分别绘制曲线。曲线。 第第4章章 Matlab的图形功能的图形功能 x、y、z 是向量时,是向量时,plot3 命令的使用命令的使用t=0:0.1:8*pi; plot3(sin(t),cos(t),t)title(绘制螺旋线) %用命令用命令 title 对图形主题进行标注对图形主题进行标注 xlabel(sin(t),FontWeight,bold,FontAngle,italic) ylabel(cos(t),FontWeight,bold,FontA

25、ngle,italic) zlabel(t,FontWeight,bold,FontAngle,italic) %命令命令 zlabel 用来指定用来指定 z 轴的数据名称轴的数据名称 grid onx、y、z 都是矩阵时,都是矩阵时,plot3 命令的使用命令的使用X,Y=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y); plot3(X,Y,Z) 第第4章章 Matlab的图形功能的图形功能 2.2.三维曲面绘图命令三维曲面绘图命令 为了绘制定义在平面区域为了绘制定义在平面区域 D =x0,xmD =x0,xmy0,yn y0,yn 上的上的三维三维曲面曲面z=f(

26、x,yz=f(x,y) ) ,首先将,首先将 x0,xmx0,xm在在 x x 方向分成方向分成 m m 份,将份,将 y0,yny0,yn在在 y y 方向分成方向分成 n n 份,由各划点分别作平行于坐标份,由各划点分别作平行于坐标轴的直线,将轴的直线,将区域区域 D D 分成分成 m mn n 个小矩形个小矩形;对于每个小矩;对于每个小矩形,计算出形,计算出网格点的函数值网格点的函数值,决定出空间中四个顶点,决定出空间中四个顶点( xi,yi,f(xi,yixi,yi,f(xi,yi) )),),连接四个顶点得到一个连接四个顶点得到一个空间的四边空间的四边形片形片;所有四边形片连在一起构

27、成函数;所有四边形片连在一起构成函数 z=f(x,y)z=f(x,y)定义在区定义在区域域 D D 上的上的空间网格曲面空间网格曲面。因此,三维曲面绘图命令可分为因此,三维曲面绘图命令可分为平面网格点的生成平面网格点的生成、在平、在平面网格基础上面网格基础上绘制三维网格绘制三维网格及对及对三维表面进行处理三维表面进行处理三个步三个步骤。骤。a.平面网格点的生成平面网格点的生成函数命令函数命令meshgrid 用来生成用来生成 x-y 平面上的网格点矩阵。平面上的网格点矩阵。调用形式为:调用形式为: X,Y=meshgrid(x,y) X,Y=meshgrid(x) 等价于等价于X,Y=mesh

28、grid(x,x) 参数含义如下:参数含义如下: x:是区间是区间x0,xm上分划的向量;上分划的向量; y:是区间是区间y0,yn上分划的向量;上分划的向量; X,Y:输出变量矩阵,矩阵输出变量矩阵,矩阵 X 的行向量都是向量的行向量都是向量 x,矩矩阵阵 Y 的列向量都是向量的列向量都是向量 y。 函数函数 meshgrid 将将由两个向量决定的区域转换为对应的网格由两个向量决定的区域转换为对应的网格点矩阵。点矩阵。第第4章章 Matlab的图形功能的图形功能 第第4章章 Matlab的图形功能的图形功能 函数函数 ,定义区域为,定义区域为-2,2-2,2。生成网格生成网格并并计算其网格点

29、上的函数值。计算其网格点上的函数值。X,Y = meshgrid(-2:2:2, -2:2:2); X,Y %将划分结果输出至矩阵将划分结果输出至矩阵 ans = -2 0 2 -2 -2 -2 -2 0 2 0 0 0 -2 0 2 2 2 2 Z = X .* exp(-X.2 - Y.2); %计算网格点上的函数值赋予变量计算网格点上的函数值赋予变量 Z Z = -0.0007 0 0.0007 -0.0366 0 0.0366 -0.0007 0 0.000722yxexz第第4章章 Matlab的图形功能的图形功能 b.b.三维网格命令三维网格命令 mesh利用利用函数函数mesh生

30、成网格曲面。生成网格曲面。调用格式为:调用格式为:mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,是同维数的矩阵,X、Y、Z 对对应空间上的网格点,网格线颜色由应空间上的网格点,网格线颜色由C决定;决定;mesh(X,Y,Z):相当于上面的相当于上面的 C=Z 的情况;的情况; mesh(x,y,Z,C):x 和和 y 是向量,是向量,Z 和和 C 是同维数的矩阵,网格是同维数的矩阵,网格曲面的网格顶点是(曲面的网格顶点是( x(j),y(i),Z(i,j)),),网格线的颜色由矩阵网格线的颜色由矩阵 C 决决定;定; mesh(x,y,Z):相当于上面的相当于上面的 C=Z 的情况;的情况; mesh(Z,C):等价于等价于 mesh(x,y,Z,C),此时向量此时向量x=1:n,向量向量 y=1:m; mesh(Z):相当于上面的相当于上面的 C=Z 的情况的情况mesh(.,PropertyName,PropertyValue,.):给函给函mesh设置曲面属性。设置曲面属性。第第4章章 Matlab的图形功能的图形功能 用用 mesh 命令绘制上例中的网格曲面。命令绘制上例中的网格曲面。 X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); mesh(Z) 与与 mesh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论