1 / 46

第 6 章 MATLAB 绘图 (2)

第 6 章 MATLAB 绘图 (2). 6.2 特殊二维图形的绘制. 6.2.1 直方图 bar : 直方图的绘图函数 bar(X,Y,WIDTH ,参数 ) 功能: 对 m×n 矩阵 Y 绘制含有 m 组、每组 n 个宽度为 WIDTH 柱形条的直方图。向量 X 为 x 坐标,要求递增或递减。参数 'grouped' 为缺省值,即垂直的分组直方图,参数 'stacked' 为绘制垂直的将 n 个直方图的值叠加在另一条上的直方图。 barh(X,Y,WIDTH ,参数 ) 功能: 绘制水平直方图。参数含义同函数 bar 。.

amity
Download Presentation

第 6 章 MATLAB 绘图 (2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 MATLAB 绘图 (2)

  2. 6.2 特殊二维图形的绘制 6.2.1 直方图 bar :直方图的绘图函数 • bar(X,Y,WIDTH,参数) 功能:对m×n矩阵Y绘制含有m组、每组n个宽度为WIDTH柱形条的直方图。向量X为x坐标,要求递增或递减。参数'grouped'为缺省值,即垂直的分组直方图,参数'stacked'为绘制垂直的将n个直方图的值叠加在另一条上的直方图。 • barh(X,Y,WIDTH,参数) 功能:绘制水平直方图。参数含义同函数bar。 MATLAB 7.X程序设计

  3. 例6-19绘制向量(2 6 8 7 8 5)的直方图。 MATLAB 7.X程序设计

  4. 6.2.2 饼图 pie :饼图的绘图函数 • pie(x,explode) 功能:绘制向量x的饼图。如果向量x的元素和小于1,则绘制不完全的饼图。 explode是与向量x大小相同的向量,并且其中不为零的元素所对应的相应部分从饼图中独立出来。 MATLAB 7.X程序设计

  5. 例6-20绘制向量(10 37 5 6 6)的饼图。 MATLAB 7.X程序设计

  6. 6.2.3 离散杆状图 stem:离散杆状图的绘图函数 stem (X,Y, 'filled') 功能:绘制向量X中指定的序列Y的填充的离散杆状图。 MATLAB 7.X程序设计

  7. 例6-21绘制向量(2 6 8 7 8 5)的离散杆状图。 MATLAB 7.X程序设计

  8. 6.2.4 阶梯状图 • stairs:阶梯状图的绘图函数 stairs(X,Y,STYLE) 功能:绘制向量X中指定的序列Y的指定线型的阶梯状图。 MATLAB 7.X程序设计

  9. 例6-22绘制向量(2 6 8 7 8 5)的阶梯状图。 MATLAB 7.X程序设计

  10. 6.2.5 射线图 compass:射线图的绘图函数 • compass(Z) 功能:把复数矩阵Z中元素的相角和幅值显示成从原点辐射的箭头。 • compass(X,Y)等价于compass(X+Y*i)。 • compass(Z,str)使用str确定的线型绘制箭头; MATLAB 7.X程序设计

  11. 例6-23绘制向量(2 -2 1 3 -1)和(2 2 -2 1 -3)的射线图。 MATLAB 7.X程序设计

  12. 6.2.6 误差条形图 errorbar:误差条形图的绘图函数 • errorbar(x,y,e,s) 功能:绘制向量y对x的误差条形图。误差条对称地分布在yi的上方和下方,长度为ei。 • errorbar(x,y,l,u,s) 功能:绘制向量y对x的误差条形图。误差条分布在yi上方的长度为ui,下方的长度为li。字符串s设置颜色和线型。 MATLAB 7.X程序设计

  13. 例6-24绘制正弦函数的误差条形图。 MATLAB 7.X程序设计

  14. 6.2.7 彗星图 comet:彗星图的绘图函数 • comet(x,y) 功能:绘制向量y对向量x的彗星轨线。如果只给出一个向量,则用该向量对其下标值绘图 • comet(x,y,p) 功能:绘制长度为p*length(y)的彗星轨线,p的缺省值为0.1。 MATLAB 7.X程序设计

  15. 例6-25绘制彗星图。 t = -pi:pi/200:pi; comet(t,tan(sin(t))-sin(tan(t))) MATLAB 7.X程序设计

  16. 6.2.8 圆形图 scatter:圆形图的绘图函数 • scatter(x,y,size,color) 功能:以具有相同长度的向量x、y所确定的点为圆心,size (以点为单位)为半径绘制圆。圆的颜色由字符串color确定,color是向量、矩阵或颜色值字符串。 MATLAB 7.X程序设计

  17. 例6-26已知圆的圆心分别为(1,2),(2,6),(3,8),(4,7),(5,8)和(6,5),半径为100,绘制圆。例6-26已知圆的圆心分别为(1,2),(2,6),(3,8),(4,7),(5,8)和(6,5),半径为100,绘制圆。 MATLAB 7.X程序设计

  18. 6.3 三维绘图 6.3.1 三维曲线 plot3 :三维曲线图形函数 plot3(x,y,z, 's') 功能:绘制三维曲线。 其中当x,y和z是相同的向量时,则绘制以x,y和z元素为坐标的三维曲线;当x,y和z是同型矩阵时,则绘制以x,y和z元素为坐标的三维曲线,且曲线的条数等于矩阵的列数。s是指定绘制三维曲线的线型、数据点形和颜色的字符串,省略s时,将自动选择线型、数据点形和颜色。 线型、数据点形和颜色的含义同plot函数。 MATLAB 7.X程序设计

  19. 对参数方程表示的三维曲线的绘制还有一个简单形式ezplot3, 调用格式为: • ezplot3 (x,y,z,[tmin,tmax]) 功能:绘制区间 范围内x = x(t), y = y(t)和z = z(t) 的三维曲线。 参数[tmin,tmax]的默认值为 。 MATLAB 7.X程序设计

  20. 例6-29绘制三维曲线 。 • 例6-24绘制三维曲线 。 • 例6-28绘制三维曲线 。 MATLAB 7.X程序设计

  21. 6.3.2 三维曲面 1 网格坐标矩阵 • meshgrid:网格坐标矩阵的生成函数 [X,Y]=meshgrid(x,y) 功能:由向量x和y产生在x-y平面的各网格点坐标矩阵(X,Y)。其中向量x为1×m的行向量,向量y为1×n的行向量,产生的网格点坐标矩阵(X,Y)的元素为坐标对(X ij,Y ij),i=1,...,m,j=1,...,n。 MATLAB 7.X程序设计

  22. 注意向量x和y相同时,meshgrid函数也可以写成[X,Y]=meshgrid(x)。注意向量x和y相同时,meshgrid函数也可以写成[X,Y]=meshgrid(x)。 例如 语句 x=[1 2 3 4]; y=[5 6 7]; [U,V]=meshgrid(x,y) 功能:将x(1×m)向量和y(1×n)向量转换为(n×m)的矩阵。 MATLAB 7.X程序设计

  23. 用矩阵运算生成的方式产生平面区域内的网格坐标矩阵的语句:用矩阵运算生成的方式产生平面区域内的网格坐标矩阵的语句: x=a:dx:b;y=(c:dy:d)'; X=ones(size(y))*x; Y=y*ones(size(x)); 等价语句为: x=a:dx:b;y=c:dy:d; [X,Y]=meshgrid(x,y)。 MATLAB 7.X程序设计

  24. 2 三维曲面图 • surf:三维曲面图的绘制函数为 surf(z) surf(x,y,z) 功能:绘制三维曲面图。当只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当作y坐标轴;x和y分别为x和y坐标轴的自变量。 当有x,y和z参数时,绘制出由坐标(xij, yij, zij)确定的表面图形。 MATLAB 7.X程序设计

  25. 三维曲面图的绘制函数ezsurf的格式为: • ezsurf(f,[xmin,xmax,ymin,ymax]) 功能:绘制符号表达式f代表的x、y二元函数的在[xmin,xmax,ymin,ymax]范围内的三维曲面。 • ezsurf (x,y,z,[smin,smax,tmin,tmax]) 功能:绘制在[smin,smax,tmin,tmax]范围内x = x(s,t), y = y(s,t)和z = z(s,t)的三维曲面。 MATLAB 7.X程序设计

  26. 例6-31绘制函数 • 的图形。 • 例6-30绘制三维网面 的图形。 MATLAB 7.X程序设计

  27. 3 三维网格图 • mesh:三维网格图的绘制函数 mesh(z) mesh(x,y,z) 功能:绘制三维网格图。当只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当作y坐标轴;x和y分别为x和y坐标轴的自变量。 当有x,y和z参数时,绘制出由坐标(xij, yij, zij)确定的三维网格图形。 MATLAB 7.X程序设计

  28. 三维网格图的函数为ezmesh,调用格式为: ezmesh (f,[xmin,xmax,ymin,ymax]) 功能:绘制符号表达式f代表的x和y二元函数的在[xmin,xmax,ymin,ymax]范围内的三维网格图。ezmesh (x,y,z,[smin,smax,tmin,tmax]) 绘制在[smin,smax,tmin,tmax]范围内x = x(s,t), y = y(s,t)和z = z(s,t)的三维网格图。 MATLAB 7.X程序设计

  29. 例6-33绘制 的三维网 • 格曲面图。 • 例6-34绘制三维曲面 • 图中的 部分。 • 例6-32绘制三维网格图。 MATLAB 7.X程序设计

  30. 例6-35绘制下列函数的曲面图和等高线。 (1) (2) MATLAB 7.X程序设计

  31. 6.3.3 色彩处理 1 颜色的向量表示 颜色 RGB三元组 黑 0 0 0 白 1 1 1 红 1 0 0 绿 0 1 0 蓝 0 0 1 黄 1 1 0 MATLAB 7.X程序设计

  32. 2 色图 • 函数colormap定义色图 colormap(m) 功能:设置m为色图矩阵。 MATLAB 7.X程序设计

  33. 例6-36绘制三维曲面和三维网格图,并设 置色图为洋红色和红黄阴影彩色。 MATLAB 7.X程序设计

  34. 3 三维表面图形的着色 着色方式三种: • shading flat 功能:对小片或整段网格线着同一种颜色。 • shading faceted 功能:在flat着色的基础上同时在小片交接的边勾画黑色,这种方式立体表现力最强(默认方式)。 • shading interp 功能:着色时使小片根据四顶点的颜色产生连续的变化,或根据网格线的线段两端产生连续的变化,这种方式着色细腻但费时间。 MATLAB 7.X程序设计

  35. 例6-37三种图形着色方式的效果比较。 MATLAB 7.X程序设计

  36. 6.3.4 图像的读写和动画处理 1 图像的读写 • A=imread(filename,FMT) 功能:将文件格式为FMT的图像文件filename读入MATLAB工作空间变量A中。 • imwrite(A, filename,FMT) 功能:将图像数据的存放矩阵A和色图矩阵写入格式为FMT的图像文件filename中。 • image(A) 功能:显示数据存放矩阵A的图像。 MATLAB 7.X程序设计

  37. 例6-38图像文件的读取和图像的显示。 MATLAB 7.X程序设计

  38. 2 动画处理 • getframe 功能:截取每一幅画面信息而形成一个很大的列向量并保存到一个变量中。 • moviein(n) 功能:建立n列矩阵,用来保存n幅画面的数据,以备播放。 • movie(m,n) 功能:以每秒n幅图形的速度播放由矩阵m的列向量所组成的画面。 MATLAB 7.X程序设计

  39. 6.3.5 特殊三维绘图的绘制 1 三维直方图 bar3:三维直方图的绘制函数 • bar3(y,z,width,模式) 功能:绘制矩阵z的三维直方图。要求向量y自动增加或减小。模式参数有detached(分离式),grouped(分组式)和stacked(累加式),省略时默认为grouped。 • bar3(z,width, 模式) 功能:绘制矩阵z的三维直方图。省略时向量y默认值是1:m。其中参数width指定竖条的宽度,省略时默认宽度是0.8,如果宽度大于1,则条与条之间将重叠。模式参数同bar3(y,z,width,模式)。 函数bar3h是绘制三维水平条形图。 MATLAB 7.X程序设计

  40. 例6-40 用三维直方图表现矩阵。 MATLAB 7.X程序设计

  41. 2 三维饼图 • pie3:三维饼图的绘制函数 pie3(x,explode) 功能:绘制向量x的三维饼图。explode是与x同长度的向量,用来决定是否从饼图中分离对应的一部分。 MATLAB 7.X程序设计

  42. 例6-41分别用二维、三维饼图表现向量 MATLAB 7.X程序设计

  43. 3 填充图 • fill3:绘制填充图函数 fill3(x,y,z,c) 功能:绘制向量x,y和z的填充图。其中c为实心图的颜色,可以用'r','g','b', 'c','m','y','w',k'(含义同plot函数),或RGB三元组行向量表示。 MATLAB 7.X程序设计

  44. 例 6-42 绘制x=sint,y=cost的填充图。 MATLAB 7.X程序设计

  45. 4 离散杆图 stem3: 绘制离散杆图函数 • stem3 (Z,'filled') 功能:绘制x-y平面的Z的离散表面图。 • stem3 (X,Y,Z,'filled') 功能:绘制在指定的(x,y)的Z的离散表面图。其中参数'filled'表示填充标志。 MATLAB 7.X程序设计

  46. 例6-43用三维离散杆图表现一个离散方波的快速Fourier变换的振幅。例6-43用三维离散杆图表现一个离散方波的快速Fourier变换的振幅。 MATLAB 7.X程序设计

More Related