第4章a Matlab的图形功能_第1页
第4章a Matlab的图形功能_第2页
第4章a Matlab的图形功能_第3页
第4章a Matlab的图形功能_第4页
第4章a Matlab的图形功能_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、1 第第4章章 Matlab的图形功能的图形功能 视觉是人们感受世界、认识自然的最重要依靠。数视觉是人们感受世界、认识自然的最重要依靠。数 据可视化的目的在于:通过图形,从一堆杂乱的离散数据可视化的目的在于:通过图形,从一堆杂乱的离散数 据中观察数据间的内在关系,据中观察数据间的内在关系,形象地感受由图形所传递形象地感受由图形所传递 的内在本质。的内在本质。 MATLAB一向注重数据的图形表示,并不断地采用一向注重数据的图形表示,并不断地采用 新技术改进和完备其可视化功能。新技术改进和完备其可视化功能。 2 第第4章章 Matlab的图形功能的图形功能 (1)掌握掌握图形窗口图形窗口的创建与控

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

3、握图、掌握图 形对象形对象属性的获取属性的获取及利用及利用图形对象属性编辑器图形对象属性编辑器设置对设置对 象属性的方法。象属性的方法。 (7)掌握用)掌握用 GUI 设计用户界面设计用户界面菜单对象菜单对象和用户界面和用户界面控制控制 对象对象的方法。的方法。 3 一、图形窗口一、图形窗口 创建图形窗口的命令为创建图形窗口的命令为figure,有两种调用格式:有两种调用格式: figure/ figure(n) 也可以由菜单创建:也可以由菜单创建: File-New-Figure 图形窗口的操作及控制图形窗口的操作及控制 figure(1) x=0:0.1:1; y=sin(x); plot

4、(x,y) 第第4章章 Matlab的图形功能的图形功能 4 二、二维平面图形与坐标系二、二维平面图形与坐标系 1. 几个基本的绘图命令几个基本的绘图命令 a. 线性坐标曲线线性坐标曲线:plot 函数命令函数命令 plot 是是 MATLAB 二维曲线绘图中最简单、二维曲线绘图中最简单、 最重要、使用最广泛的一个线性绘图函数。它可以最重要、使用最广泛的一个线性绘图函数。它可以生成线生成线 段、曲线和参数方程曲线段、曲线和参数方程曲线的函数图形。的函数图形。 命令格式命令格式: : plot(y) plot(x,y) plot(x1,y1,x2,y2,xn,yn) 第第4章章 Matlab的图

5、形功能的图形功能 5 plot(y) 若若y为实向量为实向量,表示以该向量元素的,表示以该向量元素的下标为横坐标、元下标为横坐标、元 素值为纵坐标素值为纵坐标画一条连续曲线;画一条连续曲线; 若若y为实矩阵为实矩阵,表示以,表示以行下标为横坐标、每列元素值为行下标为横坐标、每列元素值为 纵坐标纵坐标画多条曲线,画多条曲线,曲线数曲线数=y矩阵列数矩阵列数; 若若y为复数向量为复数向量,表示以该向量元素的,表示以该向量元素的实部为横坐标、实部为横坐标、 虚部为纵坐标虚部为纵坐标画一条曲线;画一条曲线; 若若y为复数矩阵为复数矩阵,表示以,表示以每列元素的实部为横坐标、虚每列元素的实部为横坐标、虚

6、 部为纵坐标部为纵坐标画多条曲线,画多条曲线,曲线数曲线数=y矩阵列数矩阵列数。 注:注:y为复数向量为复数向量/矩阵时,矩阵时,plot(y)相当于相当于plot(real(y),imag(y) 第第4章章 Matlab的图形功能的图形功能 6 plot(y) y=5 3 4 9 0 2 3; plot(y) 第第4章章 Matlab的图形功能的图形功能 7 plot(y) 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) Y = 5 4 3 8 9 10 3 4 4 5 8 2 8 12 13 21 18 25

7、 9 8 8 9 6 7 第第4章章 Matlab的图形功能的图形功能 8 plot(y) x=0:pi/20:2*pi; Z=sin(x)+cos(x)*i; plot(Z) 第第4章章 Matlab的图形功能的图形功能 9 plot(x,y) 若若x、y都是向量都是向量(长度必须相等长度必须相等),以),以x元素为横坐标、元素为横坐标、y元元 素为纵坐标素为纵坐标画一条曲线;画一条曲线; 若若x是向量,是向量,y是矩阵是矩阵(矩阵矩阵y的行数或列数与向量的行数或列数与向量x的长度相的长度相 等等),以),以x元素为横坐标、元素为横坐标、y的每列或每行元素为纵坐标的每列或每行元素为纵坐标画多

8、画多 条曲线,条曲线,曲线数曲线数=y矩阵列数或行数矩阵列数或行数,x被作为这些曲线的被作为这些曲线的共共 同横坐标同横坐标;若;若y是是方阵方阵,以,以y的每列元素为纵坐标的每列元素为纵坐标作图;作图; 若若x是矩阵,是矩阵,y是向量是向量(矩阵矩阵x的行数或列数与向量的行数或列数与向量y的长度相的长度相 等等),以),以x的每列或每行元素为横坐标、的每列或每行元素为横坐标、y元素为纵坐标元素为纵坐标画多画多 条曲线,条曲线,曲线数曲线数=x矩阵列数或行数矩阵列数或行数,y被作为这些曲线的被作为这些曲线的共共 同纵坐标同纵坐标;若;若x是是方阵方阵,以,以x的每列元素为横坐标的每列元素为横坐

9、标作图;作图; 若若x、y都是矩阵都是矩阵(维数必须相同维数必须相同),分别以),分别以x、y的对应列元的对应列元 素为横、纵坐标素为横、纵坐标画多条曲线,画多条曲线,曲线数曲线数=矩阵列数矩阵列数。 第第4章章 Matlab的图形功能的图形功能 (若(若x、y为复数,则虚部被忽略)为复数,则虚部被忽略) plot(x,y)相当于相当于plot(real(x),real (y) 10 plot(x,y) 用命令用命令 plot(x,y)绘制函数绘制函数 y=cos(x)在两个周期内的图形。在两个周期内的图形。 x=0:0.01:4*pi; y=cos(x); plot(x,y) 第第4章章 M

10、atlab的图形功能的图形功能 11 plot(x,y) 在同一图形窗口中用命令在同一图形窗口中用命令 plot(x,y)绘出正弦、余弦函数的图形。绘出正弦、余弦函数的图形。 x=0:0.01:2*pi; y=sin(x);cos(x); plot(x,y) 第第4章章 Matlab的图形功能的图形功能 12 plot(x,y) x=1:length(peaks); plot(x,peaks) 注意:注意: peaks z = 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

11、(-(x+1).2 - y.2) m,n=size(peaks) m = 49 n = 49 第第4章章 Matlab的图形功能的图形功能 13 plot(x1,y1,x2,y2,. xn,yn) 在同一窗口中绘制多条曲线,且坐标和长度都不同。在同一窗口中绘制多条曲线,且坐标和长度都不同。 plot(x1,y1,x2,y2,.,xn,yn) 相当于:相当于: plot(x1,y1) hold on plot(x2,y2) . plot(xn,yn) hold off t1=0:0.1:3*pi; t2=0:0.1:6; plot(t1,sin(t1),t2,sqrt(t2) 第第4章章 Mat

12、lab的图形功能的图形功能 14 例例 分析下列程序绘制的曲线。分析下列程序绘制的曲线。 x1=linspace(0,2*pi,100); x2=linspace(0,3*pi,100); x3=linspace(0,4*pi,100); y1=sin(x1); y2=1+sin(x2); y3=2+sin(x3); x=x1;x2;x3; y=y1;y2;y3; plot(x,y,r*,x1,y1-1,b-) 第第4章章 Matlab的图形功能的图形功能 15 b. 二维函数二维函数曲线曲线专用命令专用命令:fplot 用用plot绘图在确定自变量的取值间隔时,一般采用绘图在确定自变量的取值

13、间隔时,一般采用平均间平均间 隔隔,有时会因某处间距太大,而,有时会因某处间距太大,而不能反映出函数的变化不能反映出函数的变化情况。情况。 fplot是绘制函数是绘制函数 y=f(x)图形的专用命令图形的专用命令,它的它的数据点是自适数据点是自适 应产生的应产生的,对那些导数变化较大的函数,用,对那些导数变化较大的函数,用 fplot 函数绘出的函数绘出的 曲线比等分取点所画出的曲线曲线比等分取点所画出的曲线更加接近真实更加接近真实。 fplot 函数命令的调用格式为:函数命令的调用格式为: X,Y=fplot(fun,lims,tol,n, linespec,) fun:函数名字符串函数名字

14、符串/表达式字符串;表达式字符串; lims:定义定义 x 的取值区间,的取值区间,lims=xmin,xmax; tol:相对允许误差(默认值为相对允许误差(默认值为 2e-3); n:绘图的最少点数(绘图的最少点数( n+1);); (默认值为(默认值为1) linespec:设置线型、点型、颜色等;设置线型、点型、颜色等; X,Y :数组数据点坐标。数组数据点坐标。 第第4章章 Matlab的图形功能的图形功能 16 fplot 用命令用命令fplot绘制绘制正弦正弦函数在两个周期内的图形。函数在两个周期内的图形。 fplot(sin(x),0,4*pi,-+) 第第4章章 Matlab

15、的图形功能的图形功能 17 fplot 在同一图形窗口中用命令在同一图形窗口中用命令fplot绘出正弦、余弦函数的图形。绘出正弦、余弦函数的图形。 fplot(sin(x),cos(x),0,2*pi); 第第4章章 Matlab的图形功能的图形功能 18 fplot 和和 plot 命令的比较命令的比较 分别用分别用plot和和fplot命令绘制函数命令绘制函数y=sin(1/tan(x)的图形。的图形。 (1)创建函数)创建函数 M 文件文件 funfplot: function y=funfplot(x) y=sin(1./tan(pi.*x); (2)用用 plot 命令作图:命令作图

16、: x=-0.1:1/1000*pi:0.1; y=funfplot(x); plot(x,y) (3)用用 fplot命令作图:命令作图: fplot(funfplot,-0.1,0.1,2e-4); 第第4章章 Matlab的图形功能的图形功能 19 c. 对数坐标曲线命令:对数坐标曲线命令:semilogx、semilogy、loglog 绘制二维对数坐标曲线的命令绘制二维对数坐标曲线的命令semilogx、semilogy 和和 loglog,其用法和函数其用法和函数 plot 相同。相同。 函数函数 semilogx:横坐标横坐标为对数坐标;为对数坐标; 函数函数 semilogy:

17、纵坐标纵坐标为对数坐标;为对数坐标; 函数函数 loglog:横、纵坐标横、纵坐标均为对数坐标。均为对数坐标。 第第4章章 Matlab的图形功能的图形功能 20 例:绘制正弦函数的对数坐标曲线。例:绘制正弦函数的对数坐标曲线。 clear;close all; t=0.1:0.1:3*pi; y=sin(t); subplot(2,2,1);semilogx(t,y,r-);grid on; subplot(2,2,2);semilogy(t,y,g*);grid on; subplot(2,2,3);loglog(t,y,-bs);grid on; subplot(2,2,4);plot(

18、t,y);grid on 第第4章章 Matlab的图形功能的图形功能 21 22 d. 双双 y 轴图形命令:轴图形命令:plotyy 绘制绘制左右均有左右均有 y 轴轴的图形。调用格式:的图形。调用格式: plotyy(x1,y1,x2,y2) 在窗口中同时绘制两条曲线:在窗口中同时绘制两条曲线:(x1,y1)和和(x2,y2),曲线曲线(x1,y1) 用左侧的用左侧的 y 轴轴,曲线,曲线(x2,y2)用右侧的用右侧的 y 轴。轴。 plotyy(x1,y1,x2,y2, fun) fun是字符串是字符串,用来指定绘图的,用来指定绘图的函数函数名,如名,如 plot、semilogx、

19、semilogy 等等 。 plotyy(x1,y1,x2,y2, fun1, fun2) 用用fun1和和fun2指定指定不同的绘图函数不同的绘图函数分别绘制。分别绘制。 注:注: plotyy 函数不能加入设置曲线线型、颜色及标出数据点函数不能加入设置曲线线型、颜色及标出数据点 的参数。的参数。 第第4章章 Matlab的图形功能的图形功能 23 例:用例:用 plotyy 函数绘制双函数绘制双 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 o

20、n 第第4章章 Matlab的图形功能的图形功能 24 例:用不同标度在同一坐标内绘制曲线例:用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和和 y2=2e-0.5xcos(x)。 程序如下:程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2); 第第4章章 Matlab的图形功能的图形功能 25 例:在同一图形窗口中用不同的绘图函数绘制同一函数曲线例:在同一图形窗口中用不同的绘图函数绘制同一函数曲线 的双的双 y 轴图

21、形。轴图形。 x=0:0.1:6; y=sqrt(x); plotyy(x,y,x,y,semilogy,plot) yx 第第4章章 Matlab的图形功能的图形功能 26 2. 线型、点型和颜色线型、点型和颜色 plot 函数可以设置曲线的函数可以设置曲线的线段类型、数据点标记、颜色线段类型、数据点标记、颜色。 常用的颜色、线型和点型参数常用的颜色、线型和点型参数 点型(数据点标记) (默认) 点线 虚线 六角星符 第第4章章 Matlab的图形功能的图形功能 27 调用格式:调用格式:plot(x,y,s) ,s 为类型说明参数,是字符串。为类型说明参数,是字符串。 s 字符串字符串可以

22、是三种类型的可以是三种类型的符号之一符号之一,也可以是线型、数,也可以是线型、数 据点标记与颜色的据点标记与颜色的组合组合; 如果如果没有没有 s 参数参数,plot 将使用将使用缺省设置(实线,前七种颜缺省设置(实线,前七种颜 色顺序着色色顺序着色)绘制曲线;)绘制曲线; 例:用不同的例:用不同的线型、点型、颜色线型、点型、颜色来绘制两条曲线。来绘制两条曲线。 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的图形功能的图形功能 28 在当前坐标系中绘图时,每调入

23、一次绘图函数,在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将将 擦掉坐标系中已有的图形对象。可以用擦掉坐标系中已有的图形对象。可以用 hold on 命令命令在一个坐标在一个坐标 系中系中增加新的图形对象增加新的图形对象。注意。注意MATLAB会根据新图形的大小,重会根据新图形的大小,重 新改变坐标系的比例。新改变坐标系的比例。 例:采用图形保持,在同一坐标内绘制曲线例:采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4x) 和和 y2=2e-0.5xcos(x)。 程序如下:程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*co

24、s(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off 第第4章章 Matlab的图形功能的图形功能 29 3. 图形窗口的分割图形窗口的分割 有时需要在有时需要在一个图形窗口中显示几幅图一个图形窗口中显示几幅图,以便对几个函,以便对几个函 数进行直观、便捷的比较。由于每个绘图命令在绘制数据图数进行直观、便捷的比较。由于每个绘图命令在绘制数据图 像时都会将已有图形覆盖掉,而用像时都会将已有图形覆盖掉,而用 hold 命令不能实现同时显命令不能实现同时显 示几个不同坐标尺寸下的图形,用示几个不

25、同坐标尺寸下的图形,用 figure 命令再创窗口又很命令再创窗口又很 难同时比较由不同的数据绘得的图像。难同时比较由不同的数据绘得的图像。 实现在实现在同一个窗口中同时显示多个图像同一个窗口中同时显示多个图像的命令的命令subplot。 使用格式为:使用格式为: subplot(m,n,i) 其含义为其含义为 :把图形窗口分割为:把图形窗口分割为 m 行行 n 列子窗口列子窗口,然后选定,然后选定 第第 i 个窗口为当前窗口个窗口为当前窗口。 subplot 命令不仅用于命令不仅用于二维图形二维图形,对,对三维图形三维图形一样适用。一样适用。 其本质是将其本质是将 figure 窗口分为几个

26、区域窗口分为几个区域,再在每个区域内分别,再在每个区域内分别 绘图。绘图。 第第4章章 Matlab的图形功能的图形功能 30 用用 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: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) sub

27、plot(2,2,4) x=1:0.1:10; y=sqrt(x); plot(x,y,:rd) 第第4章章 Matlab的图形功能的图形功能 31 4. 坐标控制与图形标注坐标控制与图形标注 a. 坐标控制坐标控制 设定坐标比例和尺寸的命令是设定坐标比例和尺寸的命令是 axis 函数。函数。 调用格式为:调用格式为: axis(xmin,xmax,ymin,ymax,zmin,zmax) 坐标的最小值(坐标的最小值( xmin,ymin,zmin)必须小于相应的最大值必须小于相应的最大值 ( xmax,ymax,zmax),),否则会出错。否则会出错。 例:自动坐标系与用例:自动坐标系与用

28、axis 函数函数调整后的坐标系的比较。调整后的坐标系的比较。 subplot(2,1,1) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,1,2) plot(t,y) axis(0,max(t),min(y),max(y) 第第4章章 Matlab的图形功能的图形功能 32 axis函数功能丰富,常用的格式还有:函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度:纵、横坐标轴采用等长刻度 axis square:产生正方形坐标系:产生正方形坐标系(缺省为矩形缺省为矩形) axis auto:使用缺省设置:使用缺省设置 ax

29、is off:取消坐标轴:取消坐标轴 axis on:显示坐标轴:显示坐标轴 给坐标给坐标加网格线加网格线用用grid命令来控制。命令来控制。grid on/off命令控命令控 制是画还是不画网格线,不带参数的制是画还是不画网格线,不带参数的grid命令在两种状态之命令在两种状态之 间进行切换。间进行切换。 给坐标给坐标加边框加边框用用box命令来控制。命令来控制。box on/off命令控制是命令控制是 加还是不加边框线,不带参数的加还是不加边框线,不带参数的box命令在两种状态之间进命令在两种状态之间进 行切换。行切换。 第第4章章 Matlab的图形功能的图形功能 33 例:在同一坐标中

30、,绘制例:在同一坐标中,绘制3个同心圆,并加坐标控制。个同心圆,并加坐标控制。 程序如下:程序如下: t=0:0.01:2*pi; x=exp(i*t); y=x;2*x;3*x; plot(y) grid on; %加网格线加网格线 box on; %加坐标边框加坐标边框 axis equal %坐标轴采用等刻度坐标轴采用等刻度 第第4章章 Matlab的图形功能的图形功能 34 b. 图形标注图形标注 有关图形标注函数的调用格式为:有关图形标注函数的调用格式为: title(图形名称图形名称) 给图形加标题给图形加标题 xlabel(x轴说明轴说明) 给给x轴加标注轴加标注 ylabel(

31、y轴说明轴说明) 给给y轴加标注轴加标注 text(x,y,图形说明图形说明) 在指定位置加文本字符串在指定位置加文本字符串 legend(图例图例1,图例图例2,) 为图形添加图例为图形添加图例 函数中的说明文字,除使用标准的函数中的说明文字,除使用标准的ASCII字符外,还可使用字符外,还可使用 LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数格式的控制字符,这样就可以在图形上添加希腊字母、数 学符号及公式等内容。例如,学符号及公式等内容。例如,text(0.3,0.5,sin(omegat+beta) 将得到标注效果将得到标注效果sin(t+)。 第第4章章 Matlab的图

32、形功能的图形功能 35 例:在例:在0 x2 区间内,绘制曲线区间内,绘制曲线y1=2e-0.5x和和y2=cos(4x),并,并 给图形添加图形标注。给图形添加图形标注。 程序如下:程序如下: x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=cos(4*pi*x); plot(x,y1,x,y2) title(x from 0 to 2pi); %加图形标题加图形标题 xlabel(Variable X); %加加X轴说明轴说明 ylabel(Variable Y); %加加Y轴说明轴说明 text(0.8,1.5,曲线曲线y1=2e-0.5x); %在指定位置添

33、加图形说明在指定位置添加图形说明 text(2.5,1.1,曲线曲线y2=cos(4pix); legend(y1, y2) %加图例加图例 第第4章章 Matlab的图形功能的图形功能 36 图形的可视化编辑图形的可视化编辑 MATLAB 在图形窗口中提供了可视化的图形编辑工具,在图形窗口中提供了可视化的图形编辑工具, 利用图形窗口菜单栏或工具栏中的有关命令可以完成对窗口利用图形窗口菜单栏或工具栏中的有关命令可以完成对窗口 中各种图形对象的编辑处理。中各种图形对象的编辑处理。 第第4章章 Matlab的图形功能的图形功能 37 【练习练习】运行以下指令产生如左图所示的图形窗。把一幅如运行以下

34、指令产生如左图所示的图形窗。把一幅如 左图所示的简单图形,编辑成右图那样左图所示的简单图形,编辑成右图那样 nclf;shg,t=(pi*(0:1000)/1000);y1=sin(t);y12=sin(t).*sin(10*t); nplot(t,y12,b-,t,y1,-y1,r:),axis(0,pi,-1,1) 第第4章章 Matlab的图形功能的图形功能 38 三、三、三维绘图三维绘图 1. 1. 三维三维曲线曲线绘图命令绘图命令 三维函数三维函数 plot3主要用来表现主要用来表现单参数的三维曲线单参数的三维曲线,与二维绘图,与二维绘图 函数函数 plot 相比,只多了相比,只多了

35、第三维数据第三维数据。 其调用格式为:其调用格式为: plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)或或 plot3(X,Y,Z,s) 参数的含义如下:参数的含义如下: Xn、Yn、Zn:第一到三维数据,是第一到三维数据,是尺寸相等的尺寸相等的向量向量/矩阵;矩阵; X、Y、Z 是是向量时向量时,绘制以向量,绘制以向量 X、Y、Z 的的元素为元素为 x、y、z 坐标坐标的三维曲线。的三维曲线。 X、Y、Z 是是矩阵时矩阵时,以,以 X、Y、Z 对应列元素为对应列元素为 x、y、z 坐标坐标 分别绘制曲线。分别绘制曲线。 s、s1、s2:是是字符串字符串,用来设置,用来设置线型、

36、颜色、数据点标记线型、颜色、数据点标记。 第第4章章 Matlab的图形功能的图形功能 39 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,FontAngle,italic) zlabel(t,FontWeight,bold,FontAngle

37、,italic) %命令命令 zlabel 用来指定用来指定 z 轴的数据名称轴的数据名称 grid on t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t); plot3(x,y,z,y-,linewidth,2),view(-82,58),box on; hold on;plot3(x,y,z,bd),legend(链链,宝石宝石) 第第4章章 Matlab的图形功能的图形功能 40 2. 三维曲面绘图命令三维曲面绘图命令 为了绘制定义在平面区域为了绘制定义在平面区域 D=x0,xmy0,yn 上的上的三三 维曲面维曲面z=f(x,y) ,首先将,首先

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

39、。 因此,三维曲面绘图命令可分为因此,三维曲面绘图命令可分为平面网格点的生成平面网格点的生成、 在平面网格基础上在平面网格基础上绘制三维网格绘制三维网格及对及对三维表面进行处理三维表面进行处理三三 个步骤。个步骤。 第第4章章 Matlab的图形功能的图形功能 41 a. 平面网格点的生成平面网格点的生成 函数命令函数命令meshgrid 用来生成用来生成 x-y 平面上的网格点矩阵。平面上的网格点矩阵。 调用形式为:调用形式为: X,Y=meshgrid(x,y) X,Y=meshgrid(x) 等价于等价于X,Y=meshgrid(x,x) 参数含义如下:参数含义如下: x:是区间是区间x

40、0,xm上划分的向量;上划分的向量; y:是区间是区间y0,yn上划分的向量;上划分的向量; X,Y:输出变量矩阵,输出变量矩阵,矩阵矩阵X的每一行都是向量的每一行都是向量x,行数,行数 等于向量等于向量y的元素的个数,矩阵的元素的个数,矩阵Y的每一列都是向量的每一列都是向量y,列数,列数 等于向量等于向量x的元素的个数。的元素的个数。 函数函数 meshgrid 将将由两个向量决定的区域转换为对应的网格由两个向量决定的区域转换为对应的网格 点矩阵。点矩阵。 第第4章章 Matlab的图形功能的图形功能 42 n x=1:3,y=10:14,X,Y=meshgrid(x,y) nx = n 1

41、 2 3 ny = n 10 11 12 13 14 nX = n 1 2 3 n 1 2 3 n 1 2 3 n 1 2 3 n 1 2 3 nY = n 10 10 10 n 11 11 11 n 12 12 12 n 13 13 13 n 14 14 14 第第4章章 Matlab的图形功能的图形功能 43 例:函数例:函数 ,定义区域为,定义区域为-2,2-2,2。生成网格生成网格 并并计算其网格点上的函数值。计算其网格点上的函数值。 X,Y = meshgrid(-2:2:2, -2:2:2); X,Y %将划分结果输出至矩阵将划分结果输出至矩阵 ans = -2 0 2 -2 -2

42、 -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.0007 22 xy zxe 第第4章章 Matlab的图形功能的图形功能 44 b. 三维网格命令三维网格命令 mesh 利用利用函数函数mesh生成网格曲面。生成网格曲面。 调用格式为:调用格式为: mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,是同维数的矩阵,X、 Y、Z 对应空间上的网格点,网格线颜色

43、由对应空间上的网格点,网格线颜色由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; m,n=size(Z) mesh(Z):相当于上面的相当于上面的 C=Z 的情况的情况 mesh(.,PropertyName,PropertyValue,.):给函数给函数mesh 设置曲面属性。设置曲面属性。 第第4章章 Matlab的图形功能的图形功能 45 用用 mesh 命令绘制上例中的网格曲面。命令绘制上例中的网格曲面。 X,Y = meshgrid(-2:.2:2, -2:.2:2); Z = X .* exp(-X.2 - Y.2); m

温馨提示

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

评论

0/150

提交评论