最新MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化(共99张PPT课件).pptx
《最新MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化(共99张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化(共99张PPT课件).pptx(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB8.X程序设计(chn x sh j)及典型应用西安电子科技大学出版社 张霞萍张霞萍 编著编著(binzh)第一页,共九十九页。第六章 数据(shj)和函数的可视化MATLAB能够为广大科技工作中接受和喜爱的原因,除了其强大的计算功能外,就是它能够提供极其方便的绘图功能。MATLAB的数据函数可视化可以方便地让用户从一堆杂乱无章的数据中观察数据间的内在关系,并进而获得数据背后隐藏的物理本质。MATLAB可以绘制多种类型的二维、三维图形,并可以进行动画演示。本章将介绍MATLAB的二维和三维绘图指令(zhlng)。重点介绍几个重要指令(zhlng)函数plot()、mesh()、su
2、rf()的应用。并介绍图形的辅助处理函数。第二页,共九十九页。 不同坐标系中二维和三维曲线的绘制 直角坐标系和极坐标系之间的相互转换绘制三维网线图和网面图并实现图形的裁切和镂空利用图形句柄实现图形的精细操作 利用图形窗现场菜单实现图形的修饰(xish)简易绘图指令的应用本章的主要(zhyo)内容有:第三页,共九十九页。6.1二维曲线(qxin)的绘制MATLAB绘制二维曲线,即绘制平面曲线,与手工绘制曲线的思路相同,首先必须确定平面坐标系。MATLAB提供了不同坐标系下的绘图指令,其中包括直角坐标系、极坐标系、对数坐标系等。其次,在对应坐标系中描出一组坐标点,即在坐标系中实现离散数据的可视化。
3、最后,采用插值方法计算离散数据点之间的值并将其连接成线,从而近似表现(bioxin)函数的可视化。对此必须要注意一点就是采样点必须足够多,才能够比较真实地体现原函数隐藏的规律。第四页,共九十九页。6.1.1 二维直角坐标系中基本绘图(hu t)指令plot()1绘图指令plot() 在绘图曲线时,最重要的指令是plot()。指令plot()在执行时将打开一个默认图形窗,描点连线在这个窗口里面自动完成。另外,它还会自动添加数据标尺到坐标轴上。如果图形窗已经存在,该指令将刷新当前窗口中的图形。指令plot()有3种调用格式:(1).plot(y,s)当y 是向量时,元素的下标(xi bio)作为横
4、坐标,y作为纵坐标,绘制一条曲线。当y是矩阵时,以该矩阵的“行下标”为横坐标,y为纵坐标绘制“列数”条曲线。s是所绘曲线的线型、点型和颜色的字符串,含义如表6-1所示。当s缺省时,MATLAB将以默认设置蓝色细实线(b-)来绘制曲线。s选择表6-2里面的字符,MATLAB绘制出离散的图形。第五页,共九十九页。表6-1 曲线(qxin)线型控制符类型符号 类型 符号 细实线(默认) - 虚点线 : 点划线 -. 虚划线 - 类型符号类型符号实心黑点(默认).圆圈标记o叉号形x十字形+星号标记*方块标记s菱形标记d向下的三角符v向上的三角符向左的三角符五角星标记p六边形标记h表6-2离散(lsn)
5、数据点点型控制符6.1.1 二维直角坐标系中基本(jbn)绘图指令plot()第六页,共九十九页。表6-3曲线(qxin)色彩控制符类型 符号 类型 符号蓝色(默认) b(Blue) 品红色(紫色) m(Magenta) 青色 c(Cyan) 红色 r(Red) 绿色 g(Green) 黄色 y(Yellow) 白色 w(White) 黑色 k(Black) 6.1.1 二维直角坐标系中基本(jbn)绘图指令plot()第七页,共九十九页。【例6.1】指令plot()使用(shyng)实例之一:绘制连续波形的叠加波。 编写文件名为exm6_1的脚本(jiobn)文件:clear,clcx1=l
6、inspace(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),title(d)第八页,共九十九页。图 6.1 指令plot()绘制的离散(lsn)图形和连续图形在指令(zhlng)窗中执行文件exm6_1.m,
7、结果如图6.1所示。【例6.1】指令plot()使用实例之一:绘制连续(linx)波形的叠加波。 第九页,共九十九页。【说明(shumng)】 对于同一个函数显示的图形,用户如果选择的数据点数较少,则图形(如图(a)或(c))不能较好地反映函数的特性。用户将数据点作为输入宗量传递给函数plot()时,如果不特别说明绘制离散图形,MATLAB将自动利用线性插值的方法用直线连接(linji)相邻的数据点,将各离散点连接(linji)成曲线(如图(c)和(d))。第十页,共九十九页。 【例6-2】指令plot()使用实例(shl)之二:绘制曲线 ,其中 , .编写文件名为exm6_2的脚本文件:Cl
8、ear,t=linspace(0,2*pi,30);%创建301的列向量k=linspace(0.2,0.8,7); %创建17的行向量y=cos(t)*k; %产生(chnshng)307的矩阵plot(y)在指令窗中执行文件exm6_2.m,结果如图6.2所示。02t 0.2,0.3,0.4,0.5,0.6,0.7,0.8k( )cosy tkt【说明】:当指令plot()同时绘制多条曲线时,MATLAB默认的着色次序(cx)为蓝、绿、红、青、紫红、黄和黑,便于用户观察.第十一页,共九十九页。(2)plot(x,y,s) 当x和y为长度相同的向量时,则绘制由它们组成的采样点的一条曲线,其中
9、x为横坐标,y为纵坐标。当x是向量,y是矩阵时,则绘制出“列数条”不同颜色的曲线。 当x、y是同维矩阵时,则以x、y对应列元素为横纵坐标分别绘制曲线。曲线条数等于y矩阵的列数。该指令的输入宗量(x,y,s)称为二维绘图的三元组。读者可以将脚本文件exm6_1中的指令plot(y)修改为plot(t,y)并观察(gunch)绘图结果。(3)plot(x1,y1,s1,x2,y2,s2,xn,yn,sn) 同时绘制n条曲线,每条曲线的绘制都由“三元组”(xi,yi,si)给出,且每个“三元组”之间彼此独立。6.1.1 二维直角坐标(zh jio zu bio)系中基本绘图指令plot()第十二页,
10、共九十九页。【例6-3】指令plot()执行三元组实例(shl):绘制曲线 其中编写文件名为exm6_3的脚本文件: clear%绘制(huzh)一条曲线x=linspace(0,6,20);y=x.2.*sin(x);figure(1)plot(x,y)%绘制多条曲线figure(2)y1=y+2;y2=y-2;plot(x,y,x,y1,k-.*,x,y2,:x)2sinyxx0,6x第十三页,共九十九页。在指令窗中执行(zhxng)文件exm6_3.m,结果如图.【说明】字符串k-.*表示用黑色点划线绘制曲线,且曲线上的每一个离散数据点用“八线符”标记显示。为了避免曲线图形被刷新,可以执
11、行指令(zhlng)figure()同时打开多个图形窗口。figure(n)表示打开第n个图形窗。如果用户不设置图形窗,MATLAB遇到绘图指令时自动打开名为Figure1的图形窗。【例6-3】指令plot()执行三元组实例:绘制(huzh)曲线 其中2sinyxx0,6x第十四页,共九十九页。MATLAB除了允许用户用相同标度在同一坐标系内绘制(huzh)多条曲线外,用户运行指令plotyy()可以利用不同的标度在同一个坐标内绘制不同曲线,其调用格式为: plotyy(x1,y1,x2,y2) 分别以左y轴、右y轴和x轴绘制(x1,y1)和(x2,y2)的曲线。其中x1和y1,x2和y2为对
12、应的向量或矩阵,一般情况下y1和y2的标度采用不同的间隔。2双纵坐标绘图(hu t)指令plotyy()第十五页,共九十九页。【例6-4】指令(zhlng)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,y1,x,y2);在指令(zhlng)窗中执行文件exm6_4.m,结果如图6.4所示。0.52sin(2)xyex0.14.5sin( )xyex第十六页,共九十九
13、页。6.1.2 二维极坐标系中基本(jbn)绘图指令polar()函数(hnsh)polar()实现极坐标绘图,其格式如下:polar(theta,radius,s)在极坐标系中绘图,其中向量theta为极角,单位为弧度;向量r为极径。字符串s的含义与指令plot()中的相同,s缺省时为蓝色细实线b-。第十七页,共九十九页。【例6-5】指令(zhlng)polar()绘制曲线实例:绘制曲线 编写文件名为exm6_5的脚本文件:clear,th=linspace(0,2*pi,100);r=3*(1+cos(th);polar(th,r,k-*)在指令(zhlng)窗中执行文件exm6_5.m,
14、结果如图3(1 cos )第十八页,共九十九页。6.1.3 直角坐标(zh jio zu bio)和极坐标之间的相互转换直角坐标和极坐标之间通过函数文件可以相互转换:直角坐标到极坐标的转换转换函数为cart2pol(),调用格式为: Th,r=cart2pol(x,y) 实现直角坐标到极坐标的转换。输入(shr)宗量(x,y)为直角坐标系内的坐标,输出宗量(Th,r)为其对应极坐标系内的坐标,其中Th为极坐标系里面的极角,单位为弧度。r为极径。极坐标到直角坐标的转换函数为pol2cart(),调用格式为: x,y=pol2cart(Th,r) 实现极坐标到直接坐标的转换。输入宗量(Th,r)为
15、极坐标系内的坐标,输出宗量(x,y)为其对应直角坐标系内的坐标。第十九页,共九十九页。比如A(2,3)、B(pi/3,2)分别为直角坐标系内和极坐标系内的两点,执行转换函数可以分别获得其对应(duyng)于极坐标和直角坐标内的坐标: Th,R=cart2pol(2,3)Th = 0.9828R = 3.6056 x,y=pol2cart(pi/3,2)x = 1.0000y = 1.73216.1.3 直角坐标和极坐标之间的相互(xingh)转换第二十页,共九十九页。6.1.4 二维对数(du sh)坐标系绘图MATLAB除了能以直角坐标和极坐标绘图,还提供了半对数和全对数坐标系绘图指令sem
16、ilogx(),semilogy()和loglog()。调用格式(g shi)分别如下: semilogx(x,y,s) 在半对数坐标系中绘图,横轴为以10为底的对数坐标log(x),纵轴为线性坐标y。 semilogx(x,y,s) 在半对数坐标系中绘图,横轴为线性坐标x,纵轴为以10为底的对数坐标log(y)。 loglog(x,y,s) 在全对数坐标系中绘图。横轴、纵轴均为以10为底的对数坐标log(x)和log(y)。其中各个指令中的字符串s的含义与指令plot()中的相同。第二十一页,共九十九页。【例6-6】对数(du sh)坐标系内绘制曲线实例:绘制曲线 编写文件名为exm6_6的
17、脚本文件(wnjin):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); %全对数坐标系绘图grid on3226y xxx 第二十二页,共九十九页。(a) 绘制绘制(huzh)半对数坐标曲线半对数坐标曲线(b)绘制绘制(huzh)全对数坐标曲线全对数坐标曲线在指令窗中执行文件exm6_6.m,则运行(ynxng)的结果为:用户可以执行指令plot(x,y)、semilogx(x,y)获得直角坐标和
18、x轴半对数图形,并比较运行结果。【例6-6】对数坐标系内绘制曲线实例:绘制曲线 3226y xxx 第二十三页,共九十九页。MATLAB的所有图形都显示在特定的窗口中,成为图形窗(figure)。当使用绘图指令时,如果没有已经存在的窗口,MATLAB会自动创建一个新的窗口。如果已经存在图形窗,默认时,MATLAB将直接利用该窗口绘图。如果用户需要同时创建多个窗口绘制不同图例(tl)或者在同一个窗口上开辟不同区域绘图等,MATLAB提供了关于窗口的控制和分割的指令:figure(n)。创建第n个图形窗clf 擦除当前图形窗shg 显示当前图形窗close(n) 关闭第n个图形窗见【例6-3】和【
19、例6-6】。 6.2绘制二维图形的辅助操作6.2.1 窗口(chungku)的控制与分割第二十四页,共九十九页。图形窗的分割指令为subplot(),调用(dioyng)格式为: subplot(m,n,p) 将图形窗分为mn个区域分别绘制图形,其中当前图为第p个区域。各个子图的编号为先上后下,先左后右的顺序。m、n、p之间的逗号可以省略。 subplot(position,left botton width height) 在规格化的窗口对象(范围为0.0-1.0)里创建一个位置为left botton width height的图形窗。6.2.1 窗口(chungku)的控制与分割第二十五
20、页,共九十九页。【例6-7】指令(zhlng)subplot()应用实例。 编写文件名为exm6_7的脚本(jiobn)文件: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,-y2,r:)第二十六页,共九十九页。
21、【例6-7】指令subplot()应用(yngyng)实例。 在指令(zhlng)窗中执行文件exm6_7.m,结果如图【说明】使用指令subplot()分区后,如果希望再恢复到整幅图的界面,用户必须(bx)使用clf指令擦除图形。 第二十七页,共九十九页。6.2.2 坐标轴的设置(shzh)MATLAB对图形的控制(kngzh)比较完善。一般情况下,它采用一些列考虑周全的默认设置,能根据所给数据自动地确定坐标取向、范围、刻度、高宽比,并给出令人满意的绘制结果。当然,MATLAB为了适应用户不同的要求,给出了一系列便于操作的指令,方便用户按照自己的需要和喜好修改系统默认的设置参数。用户可用ax
22、is()和box()命令对坐标轴重新设定。常用的坐标系统设定指令见表。 第二十八页,共九十九页。命令格式功能axis(xmin xmax ymin ymax)设定坐标系统的最大值和最小值axis auto将当前图形的坐标系统恢复到自动默认状态axis square将当前图形的坐标系统设置为正方形axis tight设置当前数据为坐标范围axis fill坐标充满整个绘图区axis equal横轴、纵轴的单位刻度设置成相等axis off关闭坐标系统axis on显示坐标系统box坐标形式封闭式和开启式之间切换box on/off使坐标形式呈现封闭形式/开启形式hold on不刷新窗口,继续绘图
23、hold off刷新窗口重新绘图grid on/off添加/擦除网格线set(gca,xtick,xs,ytick,ys)设置坐标轴的刻度标识6.2.2 坐标轴的设置(shzh)第二十九页,共九十九页。【例6-8】坐标轴设置指令(zhlng)应用实例。编写文件名为exm6_8的脚本(jiobn)文件:%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
24、(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 %添加网格线第三十页,共九十九页。为了能够清楚看到各个指令在运行过程中的效果,建议用逐步执行的方法,并将图形窗嵌入(qin r)到desktop界面,效果图如所示。 第三十一页,共九十九页。执行(zhxng)结果见图6.8.2所示。【说明】指令set()中的xs,ys分别为横轴和纵轴刻度标识的标识向量,因此取值必须是从小到大的顺序。建议用户调用指令hold on 后在适当位置使用指令hold off,否则绘图时容易
25、(rngy)出错。第三十二页,共九十九页。6.2.3 图形(txng)标识MATLAB允许对图形对象进行文字识别,即图形标识。常用的图形标识指令有:title(s):添加图形标题xlabel(s):横坐标命名ylabel(s):纵坐标命名text(x,y,s):在位置(x,y)处添加说明文字gtext(s):用鼠标在选定位置处添加说明文字其中,s为字符串。可以是英文字符,也可以是希腊文字或者中文,或者特殊字符。指令gtext()执行后,会把当前图形窗从后台调到前台,同时光标变为十字叉。用户移动鼠标,使得(sh de)十字叉移动到待放置标识位置,单击左键,图形标识便添加到图形窗中。图形标识的希腊
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新MATLAB8.X程序设计及典型应用第六章 数据和函数的可视化共99张PPT课件 最新 MATLAB8 程序设计 典型 应用 第六 数据 函数 可视化 99 PPT 课件
链接地址:https://www.taowenge.com/p-23867654.html
限制150内