MATLAB绘图教程课件.ppt

上传人(卖家):三亚风情 文档编号:2959115 上传时间:2022-06-15 格式:PPT 页数:77 大小:823KB
下载 相关 举报
MATLAB绘图教程课件.ppt_第1页
第1页 / 共77页
MATLAB绘图教程课件.ppt_第2页
第2页 / 共77页
MATLAB绘图教程课件.ppt_第3页
第3页 / 共77页
MATLAB绘图教程课件.ppt_第4页
第4页 / 共77页
MATLAB绘图教程课件.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

1、2022-6-21图 形 处 理nMATLAB 7语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。n学会使用MATLAB 7的图形处理功能,包括基本的绘图命令、图形的简单控制、图形窗口的编辑以及图形的高级控制等。(各种图形注释方法,三维图形的绘制方法)2022-6-22具体内容n基本的绘图命令n各种图形注释方法n三维图形的绘制方法n特殊一些特殊图形的绘制n图形的高级控制技巧2022-6-231. 基本的绘图命令 n基本的绘图命令 n绘图的一般步骤 n绘制二维曲线图 n极坐标图形的绘制 n多个图形的绘制方法 n曲线的色彩、线型和数据点型 2022-6-24(1)基本的绘图命令n 绘

2、制基本线性图的函数表 函 数 名功 能 描 述plot在x轴和y轴都按线性比例绘制二维图形plot3在x轴、y轴和z轴都按线性比例绘制三维图形loglog在x轴和y轴按对数比例绘制二维图形semilogx在x轴按对数比例,y轴按线性比例绘制二维图形semilogy在y轴按对数比例,x轴按线性比例绘制二维图形plotyy绘制双y轴图形2022-6-25(2)绘图的一般步骤 n基本的绘图步骤 步 骤典 型 代 码1. 准备绘图数据x = 0:0.2:12;y1 = bessel(1,x);2. 选择一个窗口并在窗口中给图形定位figure(1) ,subplot(2,2,1) 3. 调用基本的绘图

3、函数h = plot(x,y1,x,y2,x,y3);4. 选择线型和标记特性set(h,LineWidth,2,LineStyle,-;:;-.)5. 设置坐标轴的极限值、标记符号和网格线axis(0 12 -0.5 1)6. 使用坐标轴标签、图例和文本对图形进行注释xlabel(Time)ylabel(Amplitude)7. 输出图形2022-6-26(3)绘制二维曲线图n二维曲线图在MATLAB 7中的绘制是最为简便的。如果将X轴和Y轴的数据分别保存在两个向量中,同时向量的长度完全相等,那么可以直接调用函数进行二维图形的绘制。在MATLAB 7中,使用plot函数进行二维曲线图的绘制。

4、 2022-6-27绘制二维曲线图n x= 0:0.01:10;n y=tan(x);n plot(x,y)n2022-6-28(4)极坐标图形的绘制 nMATLAB提供了polar函数来在极坐标下绘制图形 :n x= 0:0.01:10;n y1=sin(x);n y2 = cos(x-2.5);n polar(y1,y2,-r+)n2022-6-29(5)多个图形的绘制方法 nsubplot函数 可以实现多个图形的绘制:n x = 0:.1:20;n subplot(2,2,1)n plot(x,sin(x);n 2022-6-210多个图形的绘制方法n x = 0:.1:20;n sub

5、plot(2,2,2)n plot(x,cos(x);n 2022-6-211多个图形的绘制方法n subplot(2,2,3)n x = 0:.1:2;n y1=tan(x);n plot(x,y1,-b*);n2022-6-212(6)曲线的色彩、线型和数据点型 n曲线的色彩、线型和数据点型参数定义 颜 色 符 号含 义数 据 点 型含 义线 型含 义b蓝色.点-实线g 绿色xX符号:点线r 红色+号-.点划线c 篮绿色h六角星形-虚线m 紫红色*星号(空白)不画线y 黄色s方形k 黑色d菱形o: 圆 v: 下三角 : 上三角 : 右三角 p: 正五边形w: 白色 k: 黑色Plot(x,

6、y,s)2022-6-2132. 图形注释 n图题的标注 n坐标轴的标签 n文本标注和交互式文本标注 n图例的添加 n 坐标网格的添加 n使用矩形或是椭圆在图形中圈出重要部分 2022-6-214(1) 图题的标注n在MATLAB中,通常可以使用3种方式给图形添加图题:q使用Insert 菜单中的Title命令;q使用属性编辑器(Property Editor);q使用title函数。2022-6-215图题的标注n x = 0:.1:2;ny1=sin(x);ny2 = sin(x-0.25); ny3 = sin(x-0.5);n plot(x,y1,-.b, x,y2,-r*, x,y3

7、,-.gh)n title(There three lines)n2022-6-216(2) 坐标轴的标签 n在MATLAB 7中,可以使用如下3种方式给图形的坐标轴添加标签:q使用Insert菜单下的Label选项;q使用属性编辑器(Property Editor); q使用MATLAB 7的添加标签命令;2022-6-217坐标轴的标签添加举例n 使用属性编辑器(Property Editor)添加坐标轴标签q 打开Tools菜单,选择Edit Plot命令,激活图形编辑状态。q在图形框内双击空白区域,调出属性编辑器;也可以采取在图形框内右击,从弹出的菜单中选择Properties 项的方

8、式调出属性编辑器;或者是在View菜单中选择Property Editor项。2022-6-218(3)文本标注和交互式文本标注n用户可以在MATLAB 7图形窗口的任意地方添加文本注释,从而更好地解释图形窗口的数据。MATLAB 7提供了text函数和gtext函数来进行文本标注。其中gtext函数的使用形式更为灵活,可以实现交互式文本标注。 2022-6-219文本标注举例n x=linspace(-3,5,100);n y=cos(x);n z=sin(x);n plot(x,y,x,z)n title(一条正弦曲线和一条余弦曲线)n xlabel(x的取值范围)n ylabel(Y和Z

9、的值)n2022-6-220(4)图例的添加n为了更好地区分所绘制的多条曲线,可以使用图例加以说明,对它们表示的数据进行更准确的区分。可以使用如下3种方法生成图例:q打开Insert 菜单中并选择Legend命令;q单击工具栏中的legend图标;q使用legend函数。2022-6-221图例的添加 举例2022-6-222(5)坐标网格的添加 n在图形绘制过程中,为了精确地知道图形上某点的坐标,需要绘制坐标网格来定位,MATLAB 7语言中提供了grid函数来实现这一功能:qgrid off命令关闭坐标网格; qgrid on命令打开坐标网格 qgrid mirror命令使用更细化的网格;

10、 2022-6-223坐标网格的添加举例n x=linspace(-5,5,100);n y=x.4+22*x.2-6*x+10;n plot(x,y)n grid onn2022-6-224(6) 使用矩形或是椭圆在图形中圈出重要部分 n用户可以使用矩形或是椭圆在图形中圈出特别的区域,从而使得该区域能引起特别的注意。当其中的一个矩形或是椭圆被选中时,用户可以移动并改变它的大小,或是右击它,在弹出的快捷菜单中用户可以选择改变它的属性和外观。2022-6-225应用举例n当右击矩形或是椭圆时,将弹出一个菜单 2022-6-2263. 三维图形的绘制 nMATLAB语言提供了三维图形的处理功能。与

11、二维图形相似,绘制三维图形时可以使用MATLAB语言提供的相关函数:q三维线图指令plot3 q三维网线图和曲面图 n三维网线图n三维曲面图2022-6-227(1)三维线图指令plot3 n % 该程序用于绘制三维的螺旋曲线图n t = 0:pi/50:20*pi;n plot3(sin(t),cos(2*t),sin(t)+cos(t)2022-6-228(2) 三维网线图 (与plot3区别,可以绘制一区间内完整曲面,而非单根曲线)n使用mesh函数来绘制三维网格图形:n z=peaks(50);n mesh(z);n 2022-6-229(3)三维曲面图 n使用surf函数来绘制三维表

12、面图形 :n X,Y=meshgrid(-4:0.2:4);n Z=exp(-0.5*(X.2Y.2);n surf(X,Y,Z)n2022-6-2304. 特殊图形的绘制 n条形图和面积图(Bar and Area Graphs) n饼形图(Pie Charts)n离散型数据图 n方向和速度矢量图形 n等高线的绘制(Contour Plots) 2022-6-231(1)条形图和面积图n条形图和面积图用于绘制向量和矩阵数据,这两种图形可以用来比较不同组数据的在总体数据中所占的比例,其中条形图适于表现离散型数据,而面积图适于表现连续型数据。函 数功 能 描 述bar绘制矩阵Y(mn)各列的垂直

13、条形图,各条以垂直方向显示barh绘制矩阵Y(mn)各列的垂直条形图,各条以水平方式显示bar3绘制矩阵Y(mn)各列的三维垂直条形图,条以垂直方向显示bar3h绘制矩阵Y(mn)各列的三维垂直条形图,各条以水平方式显示area绘制向量的堆栈面积图2022-6-232条形图举例n集合式条形图的绘制 n y=1 2 3 4 5 6 7 8 9 10nbar(y)2022-6-233(2)饼形图n在统计学中,人们经常要用到饼形图来表示各个统计量占总量的份额,饼形图可以显示向量或矩阵中的元素占所有元素总和的百分比,MATLAB提供了pie函数和pie3函数,分别用于绘制二维饼形图和三维饼形图。 20

14、22-6-234(3)离散型数据图 nMATLAB 7提供了一系列适于表现离散型数据的函数。n其中常用的主要有stem 函数、stem3函数和stairs函数。2022-6-235离散型数据图举例n使用 stem(y)函数来绘制句柄状图形 。n y=rand(20,1);n stem(y)n 2022-6-236(4)方向和速度矢量图形 nMATLAB 7提供了一些函数用于绘制方向矢量和速度矢量图形,这些函数有compass、feather、quiver和quiver3。 函 数功 能 描 述compass显示极坐标图形中的极点发散出来的矢量图feather显示从一条水平线上均匀间隔的点所发散

15、出来的矢量图quiver显示由(u,v)矢量特定的二维矢量图 quiver3显示由(u,v,w)矢量特定的三维矢量图2022-6-237方向和速度矢量图形举例 n 用compass函数绘制矢量图形 :n w=0:0.1:6;n z=sin(w).*exp(j*w);n compase(z)n2022-6-238(5)等高线的绘制 n等高线函数为创建、显示并标注由一个或多个矩阵确定的等值线。函 数 名功 能 描 述clabel使用等值矩阵生成标注,并将标注显示在当前图形contour显示矩阵Z的二维等高线图contour3显示矩阵Z的三维等高线图contourf显示矩阵Z的二维等高线图,并在各等

16、高线之间用实体颜色填充contourc用于计算由其他等高线函数调用的等值矩阵meshc创建一个与二维等高线图匹配的网线图surfc创建一个与二维等高线图匹配的曲面图2022-6-239等高线的绘制举例n使用contour函数绘制等高线图形:n x,y,z=peaks;n contour(x,y,z)n 2022-6-2405. 图形的高级控制 n视点控制和图形的旋转 n 颜色的使用 q颜色映像理解 q颜色映像使用 q颜色映像显示 q颜色映像的建立和修改 n光照控制 2022-6-241(1)视点控制和图形的旋转 n为了使图形的效果更逼真,有时需要从不同的角度观看图形,MATLAB 7语言提供了

17、view、viewmtx和rotate3d等3个命令进行操作。用户可以在命令窗口中调用这3个函数。其中,view函数主要是从不同的角度观察图形;viewmtx给出指定视角的正交转换矩阵;而rotate3d函数可以让用户方便地用鼠标来适时旋转视图。2022-6-242视点控制举例nview函数的使用 :n X,Y=meshgrid(-5:0.2:5);n Z=exp(0.5*(X.2-Y.2);n surf(X,Y,Z)n view(30,60) n鼠标旋转 2022-6-243(2)颜色的使用 n颜色映像理解 qMATLAB 7有一个叫颜色映像的数据结构来代表颜色值。颜色映像定义为一个有3列和

18、若干行的矩阵。利用0到1之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、黄、蓝3种颜色的强度,形成一种特定的颜色。 2022-6-244颜色映像理解1Red(红)Green(绿)Blue(蓝)颜 色000黑111白100红010绿001蓝110黄101洋红011青蓝2/301天蓝11/20橘黄0.500深红0.50.50.5灰色2022-6-245颜色映像理解2函 数功 能 描 述hsv色彩饱和值(以红色开始和结束)hot从黑到红到黄到白cool青蓝和洋红的色度pink粉红的彩色度gray线性灰度bone带一点蓝色的灰度jethsv的一种变形(以蓝色开始和结束)

19、copper线性铜色度prim三棱镜,交替为红色、橘黄色、黄色、绿色和天蓝色flag交替为红色、白色、蓝色和黑色2022-6-246颜色映像使用 n句句colormap(M)将矩阵将矩阵M作为当前图形窗口所用的颜色映像。例如,作为当前图形窗口所用的颜色映像。例如,colormap(cool)装入了一个有装入了一个有64个输入项的个输入项的cool颜色映像。颜色映像。colormap default装入了默认的颜色映像装入了默认的颜色映像(hsv)。n函数函数plot、plot3、contour和和contour3不使用颜色映像,它们使用列不使用颜色映像,它们使用列在在plot颜色和线形表中的颜

20、色。而大多数其他绘图函数,比如颜色和线形表中的颜色。而大多数其他绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映像。和它们的各种变形函数,使用当前的颜色映像。 2022-6-247颜色映像显示 n可以用多种途径来显示一个颜色映像。其中一个方法是观察颜色映像矩阵的元素:n hot(8)nans =n 0.3333 0 0n 0.6667 0 0n 1.0000 0 0n 1.0000 0.3333 0n 1.0000 0.6667 0n 1.0000 1.0000 0n 1.0000 1.0000 0.5000n 1.0000 1.0000 1.00

21、00n2022-6-248颜色映像的建立和修改 n颜色映像就是矩阵,意味着你可以象其他数组那样对它们进行操作。函数brighten就利用这一点通过调整一个给定的颜色映像来增加或减少暗色的强度。 n用户可以通过生成m3的矩阵mamap来建立自己的颜色映像,并用colormap(mymap)来安装它。颜色映像矩阵的每一个值都必须在0和1之间。如果企图用大于或小于3列的矩阵或者包含着比0小比1大的任意值,函数colormap会提示一个错误然后退出。2022-6-249(3)光照控制 nMATLAB 7语言提供了许多函数在图形中进行对光源的定位并改变光照对象的特征。 函 数 名功 能 描 述camli

22、ght设置并移动关于摄像头的光源lightangle在球坐标下设置或定位一个光源light设置光源lighting选择光源模式material设置图形表面对光照的反映模式2022-6-250光照控制举例n本例首先绘制一个膜面图,然后使用位置向量 0 -2 1 设置光源的方向。 n z=peaks(50);n surf(z)n light(Position,0 -2 1)n2022-6-251绘图(Plot )对象举例n x,y,z = peaks;n c,h = contour(x,y,z);nset(h,LineWidth,3,LineStyle,:)n2022-6-252绘制饼状图nx=1

23、 3 0.5 2.5 2;nexplode=0 1 0 0 0;npie(x,explode)2022-6-253绘制矢量图nX,Y=meshgrid(-2:.2:2);nZ=X.*exp(-X.2-Y.2);nDX,DY=gradient(Z,.2,.2);ncontour(X,Y,Z); nhold on;nquiver(X,Y,DX,DY)2022-6-254绘制误差棒形图nx=0:0.2:4*pi;ny=sin(x);ne=0:1/(length(x)-1):1;nerrorbar(x,y,e)2022-6-255绘制圆柱 球体ncylinder;nt=0:pi/10:2*pi;nX,

24、Y,Z=cylinder(2+cos(t);nsurf(X,Y,Z)nm,n,p=sphere(50);nt=abs(p);nsurf(m,n,p,t)2022-6-256(2) 图形对象属性的获取和设置nget函数 nset函数 n默认属性 2022-6-257get函数 n在MATLAB 7中,使用get函数可以得到对象的属性及其属性值,其通常的调用格式为 : get(handle, PropertyName )。n关于它的详细使用方法,用户可以参见get函数的帮助信息。 2022-6-258set函数n在在MATLAB 7中,使用中,使用set函数可以设置对象的属性函数可以设置对象的属性

25、值,其通常的调用格式如下。值,其通常的调用格式如下。qset(H,PropertyName,PropertyValue)命令设置命令设置PropertyName的属性为的属性为PropertyValue。qset(H,a)命令中,命令中,a为结构型变量,字段名为图形对象的属性为结构型变量,字段名为图形对象的属性名,字段值为映像的属性值。名,字段值为映像的属性值。qset(H,PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,.)命令同时设置多个属性的值。命令同时设置多个属性的值。 2022-6-2591. M文本编辑器的基本知识

26、n M文本编辑器 qM文件的基本属性 qM文件的组成部分 n脚本式M文件 n函数式M文件 2022-6-260(1)M文本编辑器nM文件的语法类似于一般高级语言,是一种程序化的编程语言,但是,与传统的高级语言相比,M文件又有自己的特点。它只是一个简单的ASC型码文本文件,因此,它的语法比一般的高级语言要简单,程序也容易调试,并且有很好的交互性。2022-6-261M文件的基本属性nM文件有两种,一种为脚本式(Script),一种为函数式(Function) 。q函数M文件必须满足一些标准,另外,它们还应该满足一些MATLAB 7的属性。主要有以下几点:n函数式M文件名和出现在文件的第一行的函数

27、名必须相同。实际上,MATLAB 7忽略了第一行的函数名,并且根据存储在硬盘上的文件名来执行函数。 n2022-6-262M文件的组成部分n函数式M文件的组成部分。q调出Medit窗口,在里边输入如下内容:nfunction f = fact(n) %函数的定义行n% Compute a factorial value. %H1行n% FACT(N) returns the factorial of N, %帮助文本n% usually denoted by N!n% Put simply, FACT(N) is PROD(1:N). %注释nf = prod(1:n); % 函数体2022-

28、6-263M文件的组成部分及其功能 nM文件的组成部分及其功能 组 成 部 分描 述函数定义行(仅限于函数式M文件)定义函数名,以及输入和输出变量的数目和顺序H1 行H1行对程序进行概括性的描述,使用help和lookfor命令都可以调出此行帮助文本这是比H1 行更详细的帮助信息,使用help命令时与H1行一起显示函数体函数体是M文件的主要部分,程序的计算和设计都在此实现注释解释程序行的意义2022-6-264(2)脚本式M文件 n用户可以将需要重复输入的所有命令按顺序放到一个扩展名为m的文本文件下,每次运行时只要输入该M文件的文件名即可。n用户自己创建的M文件的文件名要避免与MATLAB 7

29、的内置函数和工具箱中的函数重名,以免发生内置函数被替换的情况。 2022-6-265脚本式M文件举例n本脚本式M文件绘制一个正弦曲线:q %此文件用于绘制【2pi,2pi】区间的正弦曲线图qx=-2*pi:0.05:2*pi;qy=sin(x);qplot(x,y,c+)qlegend(正弦曲线图)2022-6-266(3)函数式M文件n函数式M文件一般都要自带参数,并且有返回结果 。n函数式M文件的第一行都是以function开始,说明此文件是一个函数。函数式M文件中的变量都不是全局变量,仅在函数运行期间有效,函数运行完毕之后,它所定义的变量将从工作区间中清除。2022-6-267函数式M文

30、件举例n例 判断某一年是否为闰年。n解:调出Medit窗口,在里边输入如下内容。n%该函数用于判断某一年是否为闰年n%使用格式为isleapea(y),其中y是用户所要计算的年份nfunction isleapyear(year)nsign=0;nif rem(year,4)=0n sign=sign+1;nendnif rem(year,100)=0n sign=sign-1;n endn if rem(year,400)=0n sign=sign+1;n endn if sign=1n fprintf(%4d year is a leap year.n,year)n else n fpri

31、ntf(%4d year is not a leap year.n,year)nend2022-6-2682. 控制流n最简单的程序控制就是顺序结构,用户依次输入命令语句即可。nMATLAB 7语言还提供了4种高级的控制结构。它们是:if-else-end结构、switch-case-otherwise-end结构、for循环和while循环。 2022-6-269(1)顺序结构 n顺序结构是最简单的程序结构,用户在编写好程序之后,系统将按照程序的物理位置顺次执行。 na=1;nb=2;nc=3;ns1=a+bns2=s1+cns3=s2/s22022-6-270(2)ifend语句n只有一种

32、选择时的情况 qif 表达式q执行语句qend 2022-6-271ifend语句n有两种选择时的情况 qif 表达式 q执行语句1 qelseq 执行语句2qend 2022-6-272ifend语句 n有3种或3种以上选择时的情况 qif 表达式1q 表达式1为真时的执行语句1 qelseif表达式2q 表达式2为真时的执行语句2 q elseif表达式3q 表达式3为真时的执行语句3qelseifqqelseq 所有的表达式都为假时的执行语句 q end2022-6-273(3) switchcaseend语句 nswitch开关语句n case条件语句,n 执行语句,执行语句n cas

33、e 条件语句1,条件语句2, 条件语句3,n 执行语句,执行语句n n otherwise, n 执行语句,执行语句n end2022-6-274 (4) trycatchend ntry-catch模块给用户提供了一种错误捕获机制。换句话说,利用try-catch模块,MATLAB 7编译系统发现的错误将被其捕获,用户可以控制MATLAB 7怎样对发生的错误进行处理。 qtry q 执行语句1qcatchq执行语句 2qend2022-6-275 (5) for循环语句 nFor语句是一种循环语句,可以让用户很方地实现循环操作,从而可以从容地应付大规模的循环语句。 qfor i =表达式,q 执行语句,执行语句 qend2022-6-276(6)while循环语句 n与for循环不同,while循环的判断控制可以是逻辑判断语句,因此,它的循环次数可以是一个不定数。这样就赋予了它比for循环更广泛的用途。 qwhile表达式q 执行语句qend2022-6-277(7) 人机交互命令n终止命令break和return n继续命令continue n等待用户反应命令pause necho命令 n用户输入提示命令input n请求键盘输入命令keyboard

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(MATLAB绘图教程课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|