1 / 49

第三章 MATLAB 图形系统

第三章 MATLAB 图形系统. §3.1 简单图形绘制. 本节以一个简单的正弦函数曲线 例来说明图形的绘制,这一过程 在 MATLAB 中很简单。. §3.1 简单图形绘制. 设要产生从 0 到 2pi 之间的正弦函数,则 可按下列步骤进行: 1. 产生 x 轴、 y 轴数据: x=0:pi/20:2*pi y=sin(x) 2. 打开一个新的图形窗口: figure(1). §3.1 简单图形绘制. 3. 绘制出正弦曲线: plot(x, y, ‘ r- ’ ) ‘ r- ’ 表示以红色实线绘制出正弦曲线。

eavan
Download Presentation

第三章 MATLAB 图形系统

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. 第三章 MATLAB图形系统

  2. §3.1 简单图形绘制 本节以一个简单的正弦函数曲线 例来说明图形的绘制,这一过程 在MATLAB中很简单。

  3. §3.1 简单图形绘制 设要产生从0到2pi之间的正弦函数,则 可按下列步骤进行: 1.产生x轴、y轴数据: x=0:pi/20:2*pi y=sin(x) 2.打开一个新的图形窗口:figure(1)

  4. §3.1 简单图形绘制 3.绘制出正弦曲线:plot(x, y, ‘r-’) ‘r-’表示以红色实线绘制出正弦曲线。 4.给图形加上栅格线:grid on 这样就可以得到如书P81图3.1所使得正 弦曲线。 从这一过程看出,在MATLAB中建立曲线图是很方变的。

  5. §3.1 简单图形绘制 我们还可以将图形窗口进行分割,从而 可在每个窗口各绘制一条曲线。例如将图 形窗口分割成2*2的窗格,分别绘制出正弦、 余弦、正切、余切函数曲线。 程序和图见书P82页。

  6. §3.2 图形标注 绘制图形后,还应该给图形进 行标注。例如,可给每个图加上 标题、坐标轴标记和曲线说明等。

  7. §3.2 图形标注 例如: 给书图3.1加上标题和轴标记,可输入:title(‘sin(\alpha)’) xlabel (‘alpha’) ylable(‘sin(\alpha)’) 则可得到如书图3.3所示的结果。这里\alpha表示,取自于text字符集。

  8. §3.2 图形标注 1. 利用 legend函数可对图中的曲线进行 说明。 例如,在同一张图上可得到两条曲线, 这时利用legend函数可方便的标注各自 的曲线。 注意:字符串中^表示上标,_表示下标。

  9. §3.2 图形标注 2. 利用text函数也可以标注函数曲线。 对于更复杂的曲线图形,可利用gtext函 数对曲线进行标注。 gtext与text类似,只是可以利用鼠标来 放置文本,因此可交互式的对图形曲线 进行标注。

  10. §3.3 对数和极坐标系图形绘制 1.有时变量变化范围非常大,如x轴 从0.01到100,这时如果仍采用plot 灰土,就会失去局部可视性。因此应 用对数坐标系来绘图。在对数坐标 中可清晰地看到局部。

  11. §3.3 对数和极坐标系图形绘制 2. 对于任一矩阵,通过eig函数可求其特征值。为了解这一矩阵的特性,我们期望直观地显示出特征值。由于特征值一般为复数,因此在极坐标上绘制它会更方便、更直观。

  12. §3.4 复杂图形绘制 在同一个图形窗口中绘制多条曲线是 MATLAB的一大功能,有多种方法。 一. 将曲线数据保存在n*m的矩阵y中,而x 为相应的x轴向量n*1或1*n,则plot(x,y)可 在同一个图形窗口中绘制出m条曲线。

  13. §3.4 复杂图形绘制 注意:方法一是用于由其它软件产生的数据,然后由load命令读入MATLAB到中,然后再绘制出曲线。 二.绘制多条曲线的第二种方法是在一个 plot函数中分别指定每条曲线的数据。

  14. §3.4 复杂图形绘制 三.利用hold on函数绘制多条曲线. 先在图形窗口中绘制出第一条曲线,然后再利用hold on,使之保持原有图形, 最后绘制出第二条、第三条…曲线。 利用这种方法可在绘制函数曲线后,同 时在数据点上以记号标注。

  15. §3.4 复杂图形绘制 四. 利用函数plotyy可绘制出双y轴 的图形,这样在同一张图上表 示两条曲线时,可拥有各自的 y轴。

  16. §3.5 坐标轴控制 1.利用box函数可控制图形的边框,box off 可关闭图形边框,这时图形只有x-y轴,而 没有上、右边框,这样绘制的图形与通常 在坐标纸上所画的图形一致。 2.利用axis可控制坐标轴的刻度,这样在两 个图形对比时,可有相同的比例因子。

  17. §3.5 坐标轴控制 3.axis equal可是输出图形的x、y轴等长,因此在图形窗口绘制的圆或椭圆都可以用圆来表示。 4.axis off命令可关闭坐标轴的显示,从而 可产生不含坐标轴的图形。

  18. §3.6 颜色控制 1. 在绘制曲线时可直接指定曲线的颜色, 在标注文本如title、xlabel、ylabel、zlabel、 text命令中,可利用文本特性color来指定 文本颜色。 2. 利用colormap函数可改变每种颜色的色 调。MATLAB提供了许多种不同用途的颜色 板。

  19. §3.6 颜色控制 MATLAB专门提供了人体脊骨的图像,利 用bone颜色板可清晰的显示这一图像。 MATLAB程序为: load spine image(X) colormap bone title(‘人体脊骨图’)

  20. §3.8图形函数 • 表3-1 一.基本图形和图形操作 1.plot 功能:线性二维图形。 说明:当Y为实向量时,plot(Y)以Y的序号作为X轴,绘制出二为曲线;当以Y为实向量时,则plot(Y)相当于plot(real(Y),imag(Y)),即Y的实部为X轴,虚轴为虚轴为Y轴。 plot(X1,Y1,…)可按(X1,Y1),(X2,Y2),…成对绘制出曲线,而且在同一张图上以不同形式显示。如果Xn,Yn至一位矩阵,则取矩阵的行或列与另一个向量构成数据对绘制出曲线。 plot(x1,y1,linespec,…)可绘制出所有由三袁组(Xn,Yn,LineSpec) 指定的曲线,其中LineSpec用于指定线型,标记和线的颜色。 plot(…,’PorpertyName’,PropertyValue,…)可设置图形对象的属性。 h=plot(…)可绘制出图形的同时,得到各条曲线的句柄向量

  21. §3.8图形函数 • 一.基本图形和图形操作 2.loglog 功能:对数坐标图形。 说明:loglog函数类似于plot函数,唯一不同的是在绘图时以对书坐标来标注 。

  22. §3.8图形函数 • 一.基本图形和图形操作 3.semilogx,semilogy 功能:半对数坐标图形。 说明:semilogx和semilogy与plot,loglog函数类似,只是X轴Y轴采用对数表示。 4.polar 功能:绘制极坐标图形。 说明:polar函数可在迪卡尔坐标内绘制出一极坐标形式的曲线,并可绘制出极坐标栅格线。

  23. §3.8图形函数 • 一.基本图形和图形操作 5.poltyy 功能:绘制左右边都饱含Y轴的图像。 说明:poltyy(X1,Y1,X2,Y2)可绘制出(X1,Y1)曲线,其Y轴标记在左边,同时绘制出(X1,Y1)曲线,其Y轴标记在右边。 poltyy(X1,Y1,X2,Y2,’function’)可利用字符串function制定的函数来取代磨人的plot函数。Function可取polt,semilogxsemilogy,loglog,stem及用户自己缩写的M函数文件。

  24. §3.8图形函数 • 一.基本图形和图形操作 6.figure 功能:建立图形(窗口)。 说明:figure可打开一个新的窗口,以供后续绘图命令输出图形。 figure(‘PorpertyName’,PorpertyValue,…),在建立图形的同时,设置图形的指定特性,参见表3.3。 figure(h)有两种情况,当h为已存在图形的句柄时,则打开这一图形作为当前图形,当h不为句柄且为整数时,则figure(h)可建立一图形窗口,并给他分配句柄h. h=figure(…)还可得到句柄。

  25. §3.8图形函数 • 一.基本图形和图形操作 7.close 功能:关闭图形窗口,即删除指定的图形。 说明:close可删除当前图形;close(h)可删除句柄为h的图形;close name将删除由name指定的所有图形;close all可删除所有图形(不包括句柄隐含的图形);close all hidden可删除所有的图形。 status=close(…)除了删除图形外,还可以得到删除操作的状态: .1 删除成功 .0 删除失败

  26. §3.8图形函数 • 一.基本图形和图形操作 8.clf 功能:清除当前图形窗口。 说明:clf可从当前图形中删除所有的图形对象,但不删除这一图形窗口。这一点与close命令不同。 clf reset可在当前图形中删去所有的图形对象,并将所有的图形特性(position除外)复位到缺省位。

  27. §3.8图形函数 • 一.基本图形和图形操作 9.gcf 功能:获得当前图形的句柄。 说明:h=gcf可获得当前图形的句柄。 h=get(0,’CurrentFigure’)这时会得到一个空阵列h。

  28. §3.8图形函数 • 一.基本图形和图形操作 10.refesh 功能:重画当前图形。 说明: refesh可重新划出当前图形;refesh(h)可重新划出由h指定的图形。

  29. §3.8图形函数 • 二. 图形注释 1.title 功能:给当前坐标系加上标题。 说明:title(‘string’)可将指定字符串作为标题;title(fname)可将执行制定函数fname是产生的字符串作为标题。 title(…’PorpertyName’,PorpertyValue,…)可为标题文本指定特性。 h=title(…)还可以得到比标题文本的控制句柄。

  30. §3.8图形函数 • 二. 图形注释 2.text 功能:在当前坐标系中建立文本对象。 说明:text(x,y,’string’)可在土星的(x,y)点上放置指定的字符串,(x,y)的单位由Unit特性决定;text(x,y,z,’string’)用在三维图像上。 text(…’PorpertyName’,PorpertyValue,…)可在放置字符串的同时,指定文本的特性;见表3.4 text(‘PotpertyName’,PorpertyValue,…)用来只指定文本的特性; h=text(…)还可以得到文本对象的句柄。

  31. §3.8图形函数 • 二. 图形注释 3.gtext 功能:利用鼠标在二维图形上放置文本。 说明: gtext(‘string’)可利用鼠标将指定字符串放在图形的任意位置;h=gtext(‘string’)还可以得到该文本图形对象的句柄。

  32. §3.8图形函数 • 二. 图形注释 4.xlable,ylable,zlable 功能:x,y,z轴的标记。 说明: 利用xlable,ylable,zlable可给x,y,z轴加上标记。 有关可设定的文本特性可参见text中的表3.4

  33. §3.8图形函数 • 二. 图形注释 5.legend 功能: 给每个坐标系加上插图说明。 说明: legend可在土上给出插图说明,对图中的每一条曲线,legend会在指定文本字符串的边上给出线型,记号及颜色。

  34. §3.8 图形函数 三.坐标系控制 1.subplot 建立和控制多个坐标系。 subplot可将图形窗口分成举行窗格,并 按行编号,每窗格上可建立一个坐标系, 后续的绘图命令会在当前窗格上绘制图形。 subplot(m,n,p)可将图形窗口分割成m*n个 窗格,并将第p个窗格置成当前窗格。

  35. §3.8 图形函数 subplot(h)可使句柄h坐标系变成当前坐 标系。 subplot(‘Position’,[left,bottom,width, height])可在指定位置建立指定尺寸的坐标系。 h=subplot(…)还可以得到新坐标系的句。柄。

  36. §3.8 图形函数 2.hold 在图形窗口中保持当前图形。 hold函数可决定所绘制的图形是添加到图形上,还是取代已绘制的图形。 hold on表示保持当前图形。 hold off表示关闭这种保持特性。 hold命令可在两种状态(on,off)之间切换。 hold的状态可由ishold函数来测定。

  37. §3.8 图形函数 3.grid 给图形加上栅格线。 grid on表示给当前坐标系加上栅格线。 grid off表示从当前坐标系中删去栅格线。 grid命令可在这两种状态之间切换。

  38. §3.8 图形函数 4.axes 建立坐标系图形对象。 axes是建立坐标系图形对象的低级函数,可在当前窗口中建立坐标系图形对象,其特性取其缺醒值。 axes(h)可使已存在的坐标系h变成当前坐标系。 h=axes(…)还可以得到所建坐标系的句柄。

  39. §3.8 图形函数 5. axis 坐标轴刻度 axis函数通常可通过设置坐标系特性来获得。 axis([xmin xmax ymin ymax])可为x轴和y 轴设置一个极限范围。 axis([xmin xmax ymin ymax zmin zmax]) 可同时设置x、y、z轴的范围。

  40. §3.8 图形函数 v=axis可得到当前坐标系的轴范围。 axis auto可将当前坐标系的轴范围设置为自动方式。 axis manual可冻结当前坐标轴的刻度范围, 这时如果设置hold on,并绘制另一个图形 则其轴范围不会改变。

  41. §3.8 图形函数 6. box 控制坐标系边框。 box on可在当前坐标系中显示一个边框,这时缺醒情况。 box off可去掉边框,这时图中只含坐标轴 box命令可在这两种状态之间切换。

  42. §3.8 图形函数 四.其他重要函数 1.get 获得图形对象的特性。 get(h)可获得由h制定的图形对象的所有特 性及其当前值。 get(h,’PropertyName’)只得到指定的特性值。 P=get(H,pn)中,H为m维向量。

  43. §3.8 图形函数 a=get(0,’Factory’)可得到用户可设置特性的出厂值。 a=get(0,’FactoryObjectTypePropertyName’) 可得到指定对象类型的指定特性的出厂值。

  44. §3.8 图形函数 a=get(h,’Default’)可得到指定对象h的当前缺醒值。 a=get(h,’DefaultObjectTypePropertyName’)可得到指定对象类型的指定缺醒值。 a=get(h,’DefaultFigureColor’)可得到图形颜色缺醒值。

  45. §3.8 图形函数 2.set 设置图形对象的特性。 set(H,’PropertyName’,…)可对由H知识的对象设置制定的特性。 set(H,a)中,a结构阵列,这样可对多个对象设置多种特性。 set(H,pn,P)中,P为m*n元的单元阵列,用于指定多个对象的多个特性。

  46. §3.8 图形函数 3.rotate 沿着指定方向旋转对象。 rotate可在三维空间上按右手准则旋转图形对象。 rotate(h,direction,alpha)可将指定对象h璇转alpha角,direction为二元或三元向量,它与原点相连构成旋转轴。

  47. §3.8 图形函数 4.colormap 设置和获取当前图形的颜色板。 颜色板是一个m*3的矩阵,其值在0.0到 1.0之间,分别表示红、绿、蓝三种颜色, 颜色板的每一行定义了一种颜色。

  48. §3.8 图形函数 colormap(map)可将颜色板设置成map , 当map中含有[0.0,1.0]之外的时,MATLAB 会产生一出错信息。 colormap(‘default’)可将颜色板设置成缺醒的颜色板。 cmap=colormap可得到当前使用的颜色。

  49. §3.8 图形函数 作业:课后习题 P122: 1-10

More Related