《Matlab绘制曲线方法.ppt》由会员分享,可在线阅读,更多相关《Matlab绘制曲线方法.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章 Matlab的图形功能的图形功能(1)掌掌握握图图形形窗窗口口的的创创建建与与控控制制,以以及及图图形形窗窗口口的的基基本本操操作;作;(2)熟熟练练掌掌握握二二维维和和三三维维绘绘图图基基本本的的命命令令、着着色色、线线型型控控制;制;(3)初初步步掌掌握握用用特特殊殊的的图图形形来来表表现现特特殊殊数数据据的的性性质质,如如面面积图、直方图、饼图等。积图、直方图、饼图等。(4)了解在极坐标、柱坐标和球坐标系下绘制图形。)了解在极坐标、柱坐标和球坐标系下绘制图形。(5)掌握坐标轴的控制和图形标注命令及其用法。)掌握坐标轴的控制和图形标注命令及其用法。(6)了了解解句句柄柄图图形形
2、的的概概念念和和图图形形对对象象的的结结构构层层次次、掌掌握握图图形形对对象象属属性性的的获获取取及及利利用用图图形形对对象象属属性性编编辑辑器器设设置置对对象象属属性性的方法。的方法。(7)掌掌握握用用 GUI 设设计计用用户户界界面面菜菜单单对对象象和和用用户户界界面面控控制制对对象的方法。象的方法。一、图形窗口一、图形窗口创建图形窗口的命令为创建图形窗口的命令为figure,有两种调用格式:有两种调用格式:figure/figure(n)也可以由菜单创建:也可以由菜单创建:File-New-Figure图形窗口的操作及控制图形窗口的操作及控制第第4章章 Matlab的图形功能的图形功能
3、figure(1)x=0:0.1:1;y=sin(x);plot(x,y)第第4章章 Matlab的图形功能的图形功能 二、二维平面图形与坐标系二、二维平面图形与坐标系 1.几个基本的绘图命令几个基本的绘图命令 a.a.线性坐标曲线线性坐标曲线 plot(连续曲线连续曲线)b.stem(离散曲线)(离散曲线)函数命令函数命令 plot 是是 MATLAB 二维曲线绘图中最简单、最重二维曲线绘图中最简单、最重要、使用最广泛的一个线性绘图函数。它可以生成线段、要、使用最广泛的一个线性绘图函数。它可以生成线段、曲线和参数方程曲线的函数图形。曲线和参数方程曲线的函数图形。命令格式命令格式:plot(y
4、):单参数式单参数式(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)绘曲线,其中绘曲线,其中 y=5 3 4 9 0 2 3。y=5 3 4 9
5、 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 25 ;9 8 8 9 6 7的图形。的图形。Y=5 4 3 8 9 10;3 4
6、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 与与矩矩阵阵 Y 的的每每列列或或每每行行的的向向量量相相对对应应作作折折(曲曲)线线,当当 Y 是是方
7、方阵阵时时,则将向量则将向量 X 与矩阵与矩阵 Y 的的列向量列向量对应作图;对应作图;如如果果 X 是是矩矩阵阵,Y 是是向向量量,Y 的的长长度度等等于于矩矩阵阵 X 的的行行数数或或列列数数,则则将将 X 的的每每列列或或每每行行的的向向量量与与 Y 相相对对应应作作图图。当当 X 是是方阵方阵时,则将时,则将 X 的各列的各列与与 Y 对应作图;对应作图;如如果果 X 和和 Y 都都是是矩矩阵阵,且且维维数数相相同同,则则按按列列与与列列的的对对应方式来作图。应方式来作图。第第4章章 Matlab的图形功能的图形功能 用命令用命令plot(X,Y)绘制图形。绘制图形。x=1:lengt
8、h(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)等价于等价于plot(real(Z),imag(Z)用用plot(x1,y1,x2,y2,)在在同同一一窗窗口口中中绘绘制制多多条条曲曲线线,且且坐坐标标和和长度都不同。长度都不同。t1=0:0
9、.1:3*pi;t2=0:0.1:6;plot(t1,sin(t1),t2,sqrt(t2)第第4章章 Matlab的图形功能的图形功能 b.二维函数二维函数曲线曲线专用命令专用命令 fplot用用plot绘图在确定自变量的取值间隔时,一般采用绘图在确定自变量的取值间隔时,一般采用平均间隔平均间隔,有时会因,有时会因某处某处 间距太大,而间距太大,而不能反映出函数的变化不能反映出函数的变化情况。情况。fplot是绘制函数是绘制函数 y=f(x)图形的专用命令图形的专用命令,它的它的数据点是自适应产生的数据点是自适应产生的,对那些导数变化较大的,对那些导数变化较大的函数,用函数,用 fplot
10、函数绘出的曲线比等分取点所画出的曲线函数绘出的曲线比等分取点所画出的曲线更加接近真实更加接近真实。fplot 函数命令的调用格式为:函数命令的调用格式为:X,Y=fplot(fun,lims,tol,n,linespec,p1,p2)fun:函数名字符串;函数名字符串;lims:定义定义 x 的取值区间,的取值区间,lims=xmin,xmax;tol:相对误差(默认值为相对误差(默认值为 2e-3);n:绘图的最少点数(绘图的最少点数(n+1););linespec:线性设置;线性设置;p1,p2,:函数传递参数;函数传递参数;X,Y :数组数据点坐标。数组数据点坐标。第第4章章 Matla
11、b的图形功能的图形功能 fplot 和和 plot 命令的比较。命令的比较。(1)创建函数)创建函数 M 文件文件 funfplot。function y=funfplot(x)y=sin(1./tan(pi.*x);(2)将将用用 fplot 命命令令求求得得的的坐坐标标点点按按照照对对应应大大小小创创建一个建一个等间距坐标点等间距坐标点赋值给矩阵赋值给矩阵 X,Y。X,Y=fplot(funfplot,-0.1,0.1,2e-4);%只只把数据点坐标输入把数据点坐标输入 X、Y,而不显示图形。而不显示图形。%要要使使用用 toltol、n n 或或是是linespeclinespec的的默
12、默认认参参数数,可可以以给给函数传递一个函数传递一个作为参数。作为参数。x=-0.1:1/1000*pi:0.1;y=funfplot(x);(3)用用 plot和和fplot命令作图,比较二者的不同:命令作图,比较二者的不同:plot(x,y)figure(2)%打开一个新的图形窗口打开一个新的图形窗口 plot(X,Y)%该命令等价于该命令等价于 fplot(funfplot,-0.1,0.1,2e-4);第第4章章 Matlab的图形功能的图形功能 c.c.对数坐标曲线命令对数坐标曲线命令 绘制二维对数坐标曲线的命令绘制二维对数坐标曲线的命令semilogx、semilogy 和和 lo
13、glog,其其用法和函数用法和函数 plot 相同。相同。函数函数 semilogx 横坐标横坐标为对数坐标;为对数坐标;函数函数 semilogy 纵坐标纵坐标为对数坐标;为对数坐标;函数函数loglog 横、纵坐标横、纵坐标均为对数坐标。均为对数坐标。绘制正弦函数的对数坐标曲线。绘制正弦函数的对数坐标曲线。t=0.1:0.1:3*pi;y=sin(t);figure(1)semilogx(t,y)grid on%为图形窗口添加网格 figure(2)semilogy(t,y)figure(3)loglog(t,y)第第4章章 Matlab的图形功能的图形功能 d.d.双双 y 轴图形轴图形
14、 绘制绘制左右均有左右均有 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、semilogy 等等。plotyy(z1,y1,x2,y2,fun1,fun2)用用fun1和和fun2指定指定不同的绘图函数不同的绘图函数分别绘制。分别绘制。用用 plo
15、tyyplotyy 函数绘制双函数绘制双 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的图形功能的图形功能 在在同同一一图图形形窗窗口口中中用用不不同同的的绘绘图图函函数数绘绘制制同同一一函函数数曲曲线线 的的双双 y 轴轴图形。图形。x=0:0.1:6;y=sqrt(x);plotyy(x,y,x,y,semilogy,plot)plotyy 函数不能加入设置曲线线型、颜色及标出数据点的参数。函数不能加入设置曲线线型、颜色
16、及标出数据点的参数。第第4章章 Matlab的图形功能的图形功能 2.线型和颜色线型和颜色 plot 函数可以设置曲线的函数可以设置曲线的线段类型、定点标记和线段颜色线段类型、定点标记和线段颜色。常用的线段、颜色与定点标记参数常用的线段、颜色与定点标记参数 调用格式调用格式:plot(x,y,s),s 为类型说明参数,是字符串。为类型说明参数,是字符串。s 字符串字符串可以是三种类型的可以是三种类型的符号之一符号之一,也可以是线型与颜色和定点标记,也可以是线型与颜色和定点标记与颜色的与颜色的组合组合;如果如果没有没有 s 参数参数,plot 将使用将使用缺省设置(实线,前七种颜色顺序着色缺省设
17、置(实线,前七种颜色顺序着色)绘制曲线;绘制曲线;在当前坐标系中绘图时,每调入一次绘图函数,在当前坐标系中绘图时,每调入一次绘图函数,MATLAB将擦掉坐标将擦掉坐标系中已有的图形对象。可以用系中已有的图形对象。可以用 hold on 命令命令在一个坐标系中在一个坐标系中增加新的图增加新的图形对象形对象。注意。注意MATLAB会根据新图形的大小,重新改变坐标系的比例。会根据新图形的大小,重新改变坐标系的比例。用不同的用不同的线型和标注线型和标注来绘制两条曲线。来绘制两条曲线。t1=0:0.1:2*pi;t2=0:0.1:6;y1=sin(t1);y2=sqrt(t2);plot(t1,y1,:
18、hb,t2,y2,-g)第第4章章 Matlab的图形功能的图形功能 第第4章章 Matlab的图形功能的图形功能 3.图形窗口的分割图形窗口的分割 有有时时需需要要在在一一个个图图形形窗窗口口中中显显示示几几幅幅图图,以以便便对对几几个个函函数数进进行行直直观观、便便捷捷的的比比较较。由由于于每每个个绘绘图图命命令令在在绘绘制制数数据据图图像像时时都都会会将将已已有有图图形形覆覆盖盖掉掉,而而用用 hold 命命令令不不能能实实现现同同时时显显示示几几个个不不同同坐坐标标尺尺寸寸下下的的图图形形,用用 figure 命令再创窗口又很难同时比较由不同的数据绘得的图像。命令再创窗口又很难同时比较
19、由不同的数据绘得的图像。实现在实现在同一个窗口中同时显示多个图像同一个窗口中同时显示多个图像的命令的命令subplot。使用格式为:使用格式为:subplot(m,n,i)其其含含义义为为 :把把图图形形窗窗口口分分割割为为 m 行行 n 列列子子窗窗口口,然然后后选选定定第第 i 个窗口为当前窗口个窗口为当前窗口。subplot 命命令令不不仅仅用用于于二二维维图图形形,对对三三维维图图形形一一样样适适用用。其其本本质质是是将将 figure 窗口分为几个区域窗口分为几个区域,再在每个区域内分别绘图。,再在每个区域内分别绘图。第第4章章 Matlab的图形功能的图形功能 用用 subplot
20、 函数函数把两种不同的图形综合在一个图形窗口中。把两种不同的图形综合在一个图形窗口中。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)subplot(2,2,4)x=1:0.1:10;y=sqrt(x);plot(x,y,:rd)第第4章章 Matlab的图形功能的图形功能 4.坐标系的调整坐标系的调整 实现坐标
21、系的调整的命令是实现坐标系的调整的命令是 axis 函数。函数。调用格式为:调用格式为:axis(xmin,xmax,ymin,ymax,zmin,zmax)坐标的最小值(坐标的最小值(xmin,ymin,zmin)必须小于相应的最大值(必须小于相应的最大值(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
22、)axis(0,max(t),min(y),max(y)第第4章章 Matlab的图形功能的图形功能 三、三、三维绘图三维绘图 1.1.三维三维曲线曲线绘图命令绘图命令 三三维维函函数数 plot3主主要要用用来来表表现现单单参参数数的的三三维维曲曲线线,与与二二维维绘绘图函数图函数 plot 相比,只多了相比,只多了第三维数据第三维数据。其调用格式为:其调用格式为:plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)或或 plot3(X,Y,Z,s)参数的含义如下:参数的含义如下:Xn、Yn、Zn:第一到三维数据,是第一到三维数据,是尺寸相等的尺寸相等的向量向量/矩阵;矩阵;s、s
23、1、s2:是是字符串字符串,用来设置,用来设置线型、颜色、数据点线型、颜色、数据点标记。标记。X、Y、Z 是是向向量量时时,绘绘制制以以向向量量 X、Y、Z 的的元元素素为为 x、y、z 坐坐标标的的三三维曲线。维曲线。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 对图形主题进行标注对图形
24、主题进行标注 xlabel(sin(t),FontWeight,bold,FontAngle,italic)ylabel(cos(t),FontWeight,bold,FontAngle,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
25、.三维曲面绘图命令三维曲面绘图命令 为了绘制定义在平面区域为了绘制定义在平面区域 D=x0,xmD=x0,xmy0,yn y0,yn 上的上的三维三维曲面曲面z=f(x,yz=f(x,y),首先将,首先将 x0,xmx0,xm在在 x x 方向分成方向分成 m m 份,将份,将 y0,yny0,yn在在 y y 方向分成方向分成 n n 份,由各划点分别作平行于坐标份,由各划点分别作平行于坐标轴的直线,将轴的直线,将区域区域 D D 分成分成 m mn n 个小矩形个小矩形;对于每个小矩;对于每个小矩形,计算出形,计算出网格点的函数值网格点的函数值,决定出空间中四个顶点(,决定出空间中四个顶点
26、(xi,yi,f(xi,yixi,yi,f(xi,yi)),),连接四个顶点得到一个连接四个顶点得到一个空间的四边形空间的四边形片片;所有四边形片连在一起构成函数;所有四边形片连在一起构成函数 z=f(x,y)z=f(x,y)定义在区域定义在区域 D D 上的上的空间网格曲面空间网格曲面。因此,三维曲面绘图命令可分为因此,三维曲面绘图命令可分为平面网格点的生成平面网格点的生成、在平、在平面网格基础上面网格基础上绘制三维网格绘制三维网格及对及对三维表面进行处理三维表面进行处理三个步三个步骤。骤。a.平面网格点的生成平面网格点的生成函数命令函数命令meshgrid 用来生成用来生成 x-y 平面上
27、的网格点矩阵。平面上的网格点矩阵。调用形式为:调用形式为:X,Y=meshgrid(x,y)X,Y=meshgrid(x)等价于等价于X,Y=meshgrid(x,x)参数含义如下:参数含义如下:x:是区间是区间x0,xm上分划的向量;上分划的向量;y:是区间是区间y0,yn上分划的向量;上分划的向量;X,Y:输输出出变变量量矩矩阵阵,矩矩阵阵 X 的的行行向向量量都都是是向向量量 x,矩矩阵阵 Y 的列向量都是向量的列向量都是向量 y。函函数数 meshgrid 将将由由两两个个向向量量决决定定的的区区域域转转换换为为对对应应的的网网格格点矩阵。点矩阵。第第4章章 Matlab的图形功能的图
28、形功能 第第4章章 Matlab的图形功能的图形功能 函函数数 ,定定义义区区域域为为-2,2-2,2。生生成成网网格格并并计算其网格点上的函数值。计算其网格点上的函数值。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.0007第第4章章 Matlab的
29、图形功能的图形功能 b.b.三维网格命令三维网格命令 mesh利用利用函数函数mesh生成网格曲面。生成网格曲面。调用格式为:调用格式为: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 决决
30、定;定;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)
31、与与 mesh 相关的相关的另外两个函数是另外两个函数是 meshc 和和 meshz,它们的调用形它们的调用形式与式与 mesh 相同。相同。meshc 除除生生成成网网格格曲曲面面外外,还还在在 x-y 平平面面上上生生成成曲曲面面的的等等高高线线图图形形;meshzmeshz 除除生生成成与与 mesh mesh 相相同同的的网网格格曲曲面面外外,还还在在曲面下面加上一个曲面下面加上一个长方体的台柱长方体的台柱。比较函数比较函数 meshc 和和 meshz。X,Y=meshgrid(-2:.2:2,-2:.2:2);Z=X.*exp(-X.2-Y.2);Subplot(2,1,1)me
32、shc(Z)subplot(2,1,2)meshz(Z)第第4章章 Matlab的图形功能的图形功能 第第4章章 Matlab的图形功能的图形功能 c.三维表面命令三维表面命令 surf函数函数 surf 可实现可实现对网格曲面片进行着色对网格曲面片进行着色,将网格曲面转化,将网格曲面转化为为实曲面实曲面。surf 命令的调用格式与命令的调用格式与 mesh 相同相同。利用三维网格表面命令利用三维网格表面命令 surf 绘制图形。绘制图形。z=peaks;%绘制山峰的图像,将函数值赋予变量绘制山峰的图像,将函数值赋予变量z surf(z)%对山峰的图像进行着色处理对山峰的图像进行着色处理sha
33、ding interp%函数函数 shading 改变着色方式改变着色方式 上机练习(7)(1)按按照照的的步步长长间间隔隔 绘绘制制函函数数 在在0 x1时的曲线。时的曲线。(2)用用图图形形表表示示离离散散函函数数 ,其其中中 n 为为0,12的自然数。的自然数。(3)分分别别采采用用 、的的步步长长,绘绘制制连连续续调调制制波形波形 的图像。的图像。(4)给给出出一一系系列列的的 a 值值,采采用用函函数数 画画一一组椭圆。组椭圆。(5)用曲面图命令)用曲面图命令 surf 表现函数表现函数 的的图像。图像。(6)绘制颜色为蓝色,数据点用五角星标识的下述函)绘制颜色为蓝色,数据点用五角星标识的下述函数在数在(0,5)上的虚线图。上的虚线图。上机习题(7)