【精品】MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化精品ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【精品】MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化精品ppt课件.ppt(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化第六章 数据和函数的可视化MATLAB能够为广大科技工作中接受和喜爱的原因,除了其强大的计算功能外,就是它能够提供极其方便的绘图功能。MATLAB的数据函数可视化可以方便地让用户从一堆杂乱无章的数据中观察数据间的内在关系,并进而获得数据背后隐藏的物理本质。MATLAB可以绘制多种类型的二维、三维图形,并可以进行动画演示。本章将介绍MATLAB的二维和三维绘图指令。重点介绍几个重要指令函数plot()、mesh()、surf()的应用。并介绍图形的辅助处理函数。不同坐标系中二维和三维曲线的绘制直角坐标系和极坐标系之间的相互转换绘制三维
2、网线图和网面图并实现图形的裁切和镂空利用图形句柄实现图形的精细操作利用图形窗现场菜单实现图形的修饰简易绘图指令的应用本章的主要内容有:6.1二维曲线的绘制MATLAB绘制二维曲线,即绘制平面曲线,与手工绘制曲线的思路相同,首先必须确定平面坐标系。MATLAB提供了不同坐标系下的绘图指令,其中包括直角坐标系、极坐标系、对数坐标系等。其次,在对应坐标系中描出一组坐标点,即在坐标系中实现离散数据的可视化。最后,采用插值方法计算离散数据点之间的值并将其连接成线,从而近似表现函数的可视化。对此必须要注意一点就是采样点必须足够多,才能够比较真实地体现原函数隐藏的规律。6.1.1 二维直角坐标系中基本绘图指
3、令plot()1绘图指令plot()在绘图曲线时,最重要的指令是plot()。指令plot()在执行时将打开一个默认图形窗,描点连线在这个窗口里面自动完成。另外,它还会自动添加数据标尺到坐标轴上。如果图形窗已经存在,该指令将刷新当前窗口中的图形。指令plot()有3种调用格式:(1).plot(y,s)当y 是向量时,元素的下标作为横坐标,y作为纵坐标,绘制一条曲线。当y是矩阵时,以该矩阵的“行下标”为横坐标,y为纵坐标绘制“列数”条曲线。s是所绘曲线的线型、点型和颜色的字符串,含义如表6-1所示。当s缺省时,MATLAB将以默认设置蓝色细实线(b-)来绘制曲线。s选择表6-2里面的字符,MA
4、TLAB绘制出离散的图形。【例6.1】指令plot()使用实例之一:绘制连续波形的叠加波。编写文件名为exm6_1的脚本文件:clear,clcx1=linspace(0,4,10);y1=sin(x1)+sin(8*x1);x2=linspace(0,4,100);y2=sin(x2)+sin(8*x2);subplot(2,2,1),plot(x1,y1,r.),title(a)subplot(2,2,2),plot(x2,y2,r.),title(b)subplot(2,2,3),plot(x1,y1,x1,y1,r.),title(c)subplot(2,2,4),plot(x2,y2
5、),title(d)图 6.1 指令plot()绘制的离散图形和连续图形在指令窗中执行文件exm6_1.m,结果如图6.1所示。【例6.1】指令plot()使用实例之一:绘制连续波形的叠加波。【说明】对于同一个函数显示的图形,用户如果选择的数据点数较少,则图形(如图(a)或(c))不能较好地反映函数的特性。用户将数据点作为输入宗量传递给函数plot()时,如果不特别说明绘制离散图形,MATLAB将自动利用线性插值的方法用直线连接相邻的数据点,将各离散点连接成曲线(如图(c)和(d))。【例6-2】指令plot()使用实例之二:绘制曲线 ,其中 ,.编写文件名为exm6_2的脚本文件:Clear
6、,t=linspace(0,2*pi,30);%创建301的列向量k=linspace(0.2,0.8,7);%创建17的行向量y=cos(t)*k;%产生307的矩阵plot(y)在指令窗中执行文件exm6_2.m,结果如图6.2所示。【说明】:当指令plot()同时绘制多条曲线时,MATLAB默认的着色次序为蓝、绿、红、青、紫红、黄和黑,便于用户观察.(2)plot(x,y,s)当x和y为长度相同的向量时,则绘制由它们组成的采样点的一条曲线,其中x为横坐标,y为纵坐标。当x是向量,y是矩阵时,则绘制出“列数条”不同颜色的曲线。当x、y是同维矩阵时,则以x、y对应列元素为横纵坐标分别绘制曲线
7、。曲线条数等于y矩阵的列数。该指令的输入宗量(x,y,s)称为二维绘图的三元组。读者可以将脚本文件exm6_1中的指令plot(y)修改为plot(t,y)并观察绘图结果。(3)plot(x1,y1,s1,x2,y2,s2,xn,yn,sn)同时绘制n条曲线,每条曲线的绘制都由“三元组”(xi,yi,si)给出,且每个“三元组”之间彼此独立。6.1.1 二维直角坐标系中基本绘图指令plot()【例6-3】指令plot()执行三元组实例:绘制曲线 其中编写文件名为exm6_3的脚本文件:clear%绘制一条曲线x=linspace(0,6,20);y=x.2.*sin(x);figure(1)p
8、lot(x,y)%绘制多条曲线figure(2)y1=y+2;y2=y-2;plot(x,y,x,y1,k-.*,x,y2,:x)在指令窗中执行文件exm6_3.m,结果如图.【说明】字符串k-.*表示用黑色点划线绘制曲线,且曲线上的每一个离散数据点用“八线符”标记显示。为了避免曲线图形被刷新,可以执行指令figure()同时打开多个图形窗口。figure(n)表示打开第n个图形窗。如果用户不设置图形窗,MATLAB遇到绘图指令时自动打开名为Figure1的图形窗。【例6-3】指令plot()执行三元组实例:绘制曲线 其中MATLAB除了允许用户用相同标度在同一坐标系内绘制多条曲线外,用户运行
9、指令plotyy()可以利用不同的标度在同一个坐标内绘制不同曲线,其调用格式为:plotyy(x1,y1,x2,y2)分别以左y轴、右y轴和x轴绘制(x1,y1)和(x2,y2)的曲线。其中x1和y1,x2和y2为对应的向量或矩阵,一般情况下y1和y2的标度采用不同的间隔。2双纵坐标绘图指令plotyy()【例6-4】指令plotyy()绘制曲线实例:在同一个坐标中绘制曲线 和 编写文件名为exm6_4的脚本文件:clear,x=linspace(0,8,100);y1=2*exp(-0.5*x).*sin(2*pi*x);y2=4.5*exp(-0.1*x).*sin(x);plotyy(x
10、,y1,x,y2);在指令窗中执行文件exm6_4.m,结果如图6.4所示。6.1.2 二维极坐标系中基本绘图指令polar()函数polar()实现极坐标绘图,其格式如下:polar(theta,radius,s)在极坐标系中绘图,其中向量theta为极角,单位为弧度;向量r为极径。字符串s的含义与指令plot()中的相同,s缺省时为蓝色细实线b-。【例6-5】指令polar()绘制曲线实例:绘制曲线 编写文件名为exm6_5的脚本文件:clear,th=linspace(0,2*pi,100);r=3*(1+cos(th);polar(th,r,k-*)在指令窗中执行文件exm6_5.m,
11、结果如图6.1.3 直角坐标和极坐标之间的相互转换直角坐标和极坐标之间通过函数文件可以相互转换:直角坐标到极坐标的转换转换函数为cart2pol(),调用格式为:Th,r=cart2pol(x,y)实现直角坐标到极坐标的转换。输入宗量(x,y)为直角坐标系内的坐标,输出宗量(Th,r)为其对应极坐标系内的坐标,其中Th为极坐标系里面的极角,单位为弧度。r为极径。极坐标到直角坐标的转换函数为pol2cart(),调用格式为:x,y=pol2cart(Th,r)实现极坐标到直接坐标的转换。输入宗量(Th,r)为极坐标系内的坐标,输出宗量(x,y)为其对应直角坐标系内的坐标。比如A(2,3)、B(p
12、i/3,2)分别为直角坐标系内和极坐标系内的两点,执行转换函数可以分别获得其对应于极坐标和直角坐标内的坐标:Th,R=cart2pol(2,3)Th=0.9828R=3.6056 x,y=pol2cart(pi/3,2)x=1.0000y=1.73216.1.3 直角坐标和极坐标之间的相互转换6.1.4 二维对数坐标系绘图MATLAB除了能以直角坐标和极坐标绘图,还提供了半对数和全对数坐标系绘图指令semilogx(),semilogy()和loglog()。调用格式分别如下:semilogx(x,y,s)在半对数坐标系中绘图,横轴为以10为底的对数坐标log(x),纵轴为线性坐标y。semi
13、logx(x,y,s)在半对数坐标系中绘图,横轴为线性坐标x,纵轴为以10为底的对数坐标log(y)。loglog(x,y,s)在全对数坐标系中绘图。横轴、纵轴均为以10为底的对数坐标log(x)和log(y)。其中各个指令中的字符串s的含义与指令plot()中的相同。【例6-6】对数坐标系内绘制曲线实例:绘制曲线 编写文件名为exm6_6的脚本文件:clearx=linspace(0,10,100);y=x.3+x.2-2*x+6;figure(1);semilogy(x,y);%y轴用以10为底的对数刻度标定的半对数坐标系绘图grid onfigure(2);loglog(x,y);%全对
14、数坐标系绘图grid on(a)绘制半对数坐标曲线绘制半对数坐标曲线(b)绘制全对数坐标曲线绘制全对数坐标曲线在指令窗中执行文件exm6_6.m,则运行的结果为:用户可以执行指令plot(x,y)、semilogx(x,y)获得直角坐标和x轴半对数图形,并比较运行结果。【例6-6】对数坐标系内绘制曲线实例:绘制曲线 MATLAB的所有图形都显示在特定的窗口中,成为图形窗(figure)。当使用绘图指令时,如果没有已经存在的窗口,MATLAB会自动创建一个新的窗口。如果已经存在图形窗,默认时,MATLAB将直接利用该窗口绘图。如果用户需要同时创建多个窗口绘制不同图例或者在同一个窗口上开辟不同区域
15、绘图等,MATLAB提供了关于窗口的控制和分割的指令:figure(n)。创建第n个图形窗clf 擦除当前图形窗shg 显示当前图形窗close(n)关闭第n个图形窗见【例6-3】和【例6-6】。6.2绘制二维图形的辅助操作6.2.1 窗口的控制与分割图形窗的分割指令为subplot(),调用格式为:subplot(m,n,p)将图形窗分为mn个区域分别绘制图形,其中当前图为第p个区域。各个子图的编号为先上后下,先左后右的顺序。m、n、p之间的逗号可以省略。subplot(position,left botton width height)在规格化的窗口对象(范围为0.0-1.0)里创建一个位
16、置为left botton width height的图形窗。6.2.1 窗口的控制与分割【例6-7】指令subplot()应用实例。编写文件名为exm6_7的脚本文件:clear,subplot(2,3,1:2)%运用分区指令subplot()分区后,合并第1、2子区域t=linspace(0,10,200);y1=sin(2*pi*t);plot(t,y1)subplot(233)%与subplot(2,3,3)等价y2=sin(t);plot(t,y2)subplot(position,0.2,0.05,0.65,0.45)y3=y1.*y2;plot(t,y3,b-,t,y2,r:,t
17、,-y2,r:)【例6-7】指令subplot()应用实例。在指令窗中执行文件exm6_7.m,结果如图【说明】使用指令subplot()分区后,如果希望再恢复到整幅图的界面,用户必须使用clf指令擦除图形。6.2.2 坐标轴的设置MATLAB对图形的控制比较完善。一般情况下,它采用一些列考虑周全的默认设置,能根据所给数据自动地确定坐标取向、范围、刻度、高宽比,并给出令人满意的绘制结果。当然,MATLAB为了适应用户不同的要求,给出了一系列便于操作的指令,方便用户按照自己的需要和喜好修改系统默认的设置参数。用户可用axis()和box()命令对坐标轴重新设定。常用的坐标系统设定指令见表。6.2
18、.2 坐标轴的设置【例6-8】坐标轴设置指令应用实例。编写文件名为exm6_8的脚本文件:%the function about the setting of the axisclear,clf,x=linspace(0,2*pi,30);y=sin(x).*cos(2*x);plot(x,y,r)hold on%在当前图形上继续绘图plot(x,y-1),hold offaxis(0,2*pi,-1.5,1.5)set(gca,xtick,0.1,2.6,5,ytick,-1.5,0,0.2,1)%设定坐标轴的刻度标识axis equal,grid on%添加网格线为了能够清楚看到各个指令在
19、运行过程中的效果,建议用逐步执行的方法,并将图形窗嵌入到desktop界面,效果图如所示。执行结果见图6.8.2所示。【说明】指令set()中的xs,ys分别为横轴和纵轴刻度标识的标识向量,因此取值必须是从小到大的顺序。建议用户调用指令hold on 后在适当位置使用指令hold off,否则绘图时容易出错。6.2.3 图形标识MATLAB允许对图形对象进行文字识别,即图形标识。常用的图形标识指令有:title(s):添加图形标题xlabel(s):横坐标命名ylabel(s):纵坐标命名text(x,y,s):在位置(x,y)处添加说明文字gtext(s):用鼠标在选定位置处添加说明文字其中
20、,s为字符串。可以是英文字符,也可以是希腊文字或者中文,或者特殊字符。指令gtext()执行后,会把当前图形窗从后台调到前台,同时光标变为十字叉。用户移动鼠标,使得十字叉移动到待放置标识位置,单击左键,图形标识便添加到图形窗中。图形标识的希腊字母采用Latex编译方式。有关图形标识常用的希腊字母和其他特殊字符见表。表6-5 图形标识用的希腊字母 表 6-6 图形标识用的其他特殊字符表6-7 上标和下标的控制指令legend(s1,s2,postion)在图形窗中开启一个注释小窗口,依据绘图的先后次序,依次输出字符串对各条曲线进行注释说明。position确定注释窗口的位置,含义如表6-8所示。
21、表6-8 positon参数值6.2.3 图形标识【例6-9】图形标识指令应用实例。编写文件名为exm6_9的脚本文件:clear,clf,t=0:pi/100:2*pi;y1=2*sin(2*t);y2=3*sin(3*t);plot(t,y1,t,y2,-.)%在同一个坐标系分别绘制二条曲线 axis(0,pi,-4,4)title(正弦曲线0rightarrowpi);%给图形加上标题xlabel(时间);%给x轴加标注ylabel(函数值);text(pi/4,2*sin(pi/2),leftarrow这里是pi/4的函数值)gtext(leftarrow这里是3sin(3t)的极小值
22、)%借助鼠标确定位置legend(2sin(2t),3sin(3t),3);%在当前图形上输出图例在指令窗中执行文件exm6_9.m,并借助鼠标,结果如图所示【例6-9】图形标识指令应用实例。6.2.4二维图形辅助操作的现场实现用户通过编写好的M文件,调用一些列指令可以实现对二维图形的辅助操作,同时,MATLAB在图形窗口提供了多种辅助操作的菜单,用户可以借助这些菜单,通过鼠标很轻松地对图形窗中的图形及其坐标轴进行现场操作,方便快捷。MATLAB图形窗带有工具条,在工具条最左边是四个Windows标准按钮。在“Tool”菜单里,列出了可操作选项表6-9 图形窗中Tool菜单里的选项即功能【例6
23、.10】二维图形辅助操作的现场实现。以正弦曲线为例,从坐标轴系统和图形两个方面介绍MATLAB对二维图形辅助操作的现场实现。1,坐标轴系统辅助操作的现场实现运行程序:clear,clfx=linspace(0,2*pi,100);y=sin(x);plot(x,y)绘制出没有任何修饰的曲线。选中editaxes properties,打开图形坐标轴系统的编辑窗口,如图所示.选择X Axis、Y Axis、Font完成对横轴和纵轴的命名,绘图区间的设置,以及坐标轴上字体的设置,点击Ticks实现设定坐标轴的刻度标识。Title处直接输入图题,可以是中文,也可以是特殊字符,无需用单引号。图标给图添
24、加背景色,图标改变坐标轴上的刻度及字体的颜色,如图6.12所示。图图 6.12 坐标轴属性运用效果图坐标轴属性运用效果图【例6.10】二维图形辅助操作的现场实现。用户通过点击图箭头所指按钮,可以打开菜单Inspector:axes,用户可以通过该菜单对轴的更多属性以及有关量值进行查看或者重新设置。(续上图)选中editFigure properties,打开图形的编辑窗口,如图6.13所示。鼠标选中曲线,与曲线辅助操作的菜单便显示在图形窗下侧,通过鼠标操作就可以很容易的修改曲线的线型、线宽以及曲线的颜色.图图 6.13 打开图形属性操作界面打开图形属性操作界面2,图形窗中图形辅助操作的现场实现
25、运用菜单中的Insert选项可以实现更多辅助操作,包括给坐标轴和图形窗命名、添加图例以及给曲线添加标识,灵活方便,如图6.14所示。用户也可以通过点击图6.13箭头所指按钮,可以打开菜单Inspector:graph,用户可以通过该菜单对图形的更多属性以及有关量值进行查看或者重新设置。与运用指令执行的辅助操作相比,鼠标操作灵活方便,但缺点是现场操作产生的图形必须保存,否则图形窗口关闭后,所有鼠标操作过的效果将不复存在。图图 6.14 图形属图形属性运用效果图性运用效果图2,图形窗中图形辅助操作的现场实现6.3 其它二维绘图指令6.3.1简易绘图指令ezplot()和ezpolar()简易绘图指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化精品ppt课件 MATLAB8 程序设计 典型 应用 第六 数据 函数 可视化 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内