MATLAB7.0绘图教程.ppt

上传人:za****8 文档编号:11832370 上传时间:2020-05-03 格式:PPT 页数:77 大小:826.01KB
返回 下载 相关 举报
MATLAB7.0绘图教程.ppt_第1页
第1页 / 共77页
MATLAB7.0绘图教程.ppt_第2页
第2页 / 共77页
MATLAB7.0绘图教程.ppt_第3页
第3页 / 共77页
点击查看更多>>
资源描述
2020/5/3,1,图形处理,MATLAB7语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。学会使用MATLAB7的图形处理功能,包括基本的绘图命令、图形的简单控制、图形窗口的编辑以及图形的高级控制等。(各种图形注释方法,三维图形的绘制方法),2020/5/3,2,具体内容,基本的绘图命令各种图形注释方法三维图形的绘制方法特殊一些特殊图形的绘制图形的高级控制技巧,2020/5/3,3,1.基本的绘图命令,基本的绘图命令绘图的一般步骤绘制二维曲线图极坐标图形的绘制多个图形的绘制方法曲线的色彩、线型和数据点型,2020/5/3,4,(1)基本的绘图命令,绘制基本线性图的函数表,2020/5/3,5,(2)绘图的一般步骤,基本的绘图步骤,2020/5/3,6,(3)绘制二维曲线图,二维曲线图在MATLAB7中的绘制是最为简便的。如果将X轴和Y轴的数据分别保存在两个向量中,同时向量的长度完全相等,那么可以直接调用函数进行二维图形的绘制。在MATLAB7中,使用plot函数进行二维曲线图的绘制。,2020/5/3,7,绘制二维曲线图,x=0:0.01:10;y=tan(x);plot(x,y),2020/5/3,8,(4)极坐标图形的绘制,MATLAB提供了polar函数来在极坐标下绘制图形:x=0:0.01:10;y1=sin(x);y2=cos(x-2.5);polar(y1,y2,-r+),2020/5/3,9,(5)多个图形的绘制方法,subplot函数可以实现多个图形的绘制:x=0:.1:20;subplot(2,2,1)plot(x,sin(x);,2020/5/3,10,多个图形的绘制方法,x=0:.1:20;subplot(2,2,2)plot(x,cos(x);,2020/5/3,11,多个图形的绘制方法,subplot(2,2,3)x=0:.1:2;y1=tan(x);plot(x,y1,-b*);,2020/5/3,12,(6)曲线的色彩、线型和数据点型,曲线的色彩、线型和数据点型参数定义,o:圆v:下三角:上三角:右三角p:正五边形,w:白色k:黑色,Plot(x,y,s),2020/5/3,13,2.图形注释,图题的标注坐标轴的标签文本标注和交互式文本标注图例的添加坐标网格的添加使用矩形或是椭圆在图形中圈出重要部分,2020/5/3,14,(1)图题的标注,在MATLAB中,通常可以使用3种方式给图形添加图题:使用Insert菜单中的Title命令;使用属性编辑器(PropertyEditor);使用title函数。,2020/5/3,15,图题的标注,x=0:.1:2;y1=sin(x);y2=sin(x-0.25);y3=sin(x-0.5);plot(x,y1,-.b,x,y2,-r*,x,y3,-.gh)title(Therethreelines),2020/5/3,16,(2)坐标轴的标签,在MATLAB7中,可以使用如下3种方式给图形的坐标轴添加标签:使用Insert菜单下的Label选项;使用属性编辑器(PropertyEditor);使用MATLAB7的添加标签命令;,2020/5/3,17,坐标轴的标签添加举例,使用属性编辑器(PropertyEditor)添加坐标轴标签打开Tools菜单,选择EditPlot命令,激活图形编辑状态。在图形框内双击空白区域,调出属性编辑器;也可以采取在图形框内右击,从弹出的菜单中选择Properties项的方式调出属性编辑器;或者是在View菜单中选择PropertyEditor项。,2020/5/3,18,(3)文本标注和交互式文本标注,用户可以在MATLAB7图形窗口的任意地方添加文本注释,从而更好地解释图形窗口的数据。MATLAB7提供了text函数和gtext函数来进行文本标注。其中gtext函数的使用形式更为灵活,可以实现交互式文本标注。,2020/5/3,19,文本标注举例,x=linspace(-3,5,100);y=cos(x);z=sin(x);plot(x,y,x,z)title(一条正弦曲线和一条余弦曲线)xlabel(x的取值范围)ylabel(Y和Z的值),2020/5/3,20,(4)图例的添加,为了更好地区分所绘制的多条曲线,可以使用图例加以说明,对它们表示的数据进行更准确的区分。可以使用如下3种方法生成图例:打开Insert菜单中并选择Legend命令;单击工具栏中的legend图标;使用legend函数。,2020/5/3,21,图例的添加举例,2020/5/3,22,(5)坐标网格的添加,在图形绘制过程中,为了精确地知道图形上某点的坐标,需要绘制坐标网格来定位,MATLAB7语言中提供了grid函数来实现这一功能:gridoff命令关闭坐标网格;gridon命令打开坐标网格gridmirror命令使用更细化的网格;,2020/5/3,23,坐标网格的添加举例,x=linspace(-5,5,100);y=x.4+22*x.2-6*x+10;plot(x,y)gridon,2020/5/3,24,(6)使用矩形或是椭圆在图形中圈出重要部分,用户可以使用矩形或是椭圆在图形中圈出特别的区域,从而使得该区域能引起特别的注意。当其中的一个矩形或是椭圆被选中时,用户可以移动并改变它的大小,或是右击它,在弹出的快捷菜单中用户可以选择改变它的属性和外观。,2020/5/3,25,应用举例,当右击矩形或是椭圆时,将弹出一个菜单,2020/5/3,26,3.三维图形的绘制,MATLAB语言提供了三维图形的处理功能。与二维图形相似,绘制三维图形时可以使用MATLAB语言提供的相关函数:三维线图指令plot3三维网线图和曲面图三维网线图三维曲面图,2020/5/3,27,(1)三维线图指令plot3,%该程序用于绘制三维的螺旋曲线图t=0:pi/50:20*pi;plot3(sin(t),cos(2*t),sin(t)+cos(t),2020/5/3,28,(2)三维网线图(与plot3区别,可以绘制一区间内完整曲面,而非单根曲线),使用mesh函数来绘制三维网格图形:z=peaks(50);mesh(z);,2020/5/3,29,(3)三维曲面图,使用surf函数来绘制三维表面图形:X,Y=meshgrid(-4:0.2:4);Z=exp(-0.5*(X.2Y.2);surf(X,Y,Z),2020/5/3,30,4.特殊图形的绘制,条形图和面积图(BarandAreaGraphs)饼形图(PieCharts)离散型数据图方向和速度矢量图形等高线的绘制(ContourPlots),2020/5/3,31,(1)条形图和面积图,条形图和面积图用于绘制向量和矩阵数据,这两种图形可以用来比较不同组数据的在总体数据中所占的比例,其中条形图适于表现离散型数据,而面积图适于表现连续型数据。,2020/5/3,32,条形图举例,集合式条形图的绘制y=12345678910bar(y),2020/5/3,33,(2)饼形图,在统计学中,人们经常要用到饼形图来表示各个统计量占总量的份额,饼形图可以显示向量或矩阵中的元素占所有元素总和的百分比,MATLAB提供了pie函数和pie3函数,分别用于绘制二维饼形图和三维饼形图。,2020/5/3,34,(3)离散型数据图,MATLAB7提供了一系列适于表现离散型数据的函数。其中常用的主要有stem函数、stem3函数和stairs函数。,2020/5/3,35,离散型数据图举例,使用stem(y)函数来绘制句柄状图形。y=rand(20,1);stem(y),2020/5/3,36,(4)方向和速度矢量图形,MATLAB7提供了一些函数用于绘制方向矢量和速度矢量图形,这些函数有compass、feather、quiver和quiver3。,2020/5/3,37,方向和速度矢量图形举例,用compass函数绘制矢量图形:w=0:0.1:6;z=sin(w).*exp(j*w);compase(z),2020/5/3,38,(5)等高线的绘制,等高线函数为创建、显示并标注由一个或多个矩阵确定的等值线。,2020/5/3,39,等高线的绘制举例,使用contour函数绘制等高线图形:x,y,z=peaks;contour(x,y,z),2020/5/3,40,5.图形的高级控制,视点控制和图形的旋转颜色的使用颜色映像理解颜色映像使用颜色映像显示颜色映像的建立和修改光照控制,2020/5/3,41,(1)视点控制和图形的旋转,为了使图形的效果更逼真,有时需要从不同的角度观看图形,MATLAB7语言提供了view、viewmtx和rotate3d等3个命令进行操作。用户可以在命令窗口中调用这3个函数。其中,view函数主要是从不同的角度观察图形;viewmtx给出指定视角的正交转换矩阵;而rotate3d函数可以让用户方便地用鼠标来适时旋转视图。,2020/5/3,42,视点控制举例,view函数的使用:X,Y=meshgrid(-5:0.2:5);Z=exp(0.5*(X.2-Y.2);surf(X,Y,Z)view(30,60),鼠标旋转,2020/5/3,43,(2)颜色的使用,颜色映像理解MATLAB7有一个叫颜色映像的数据结构来代表颜色值。颜色映像定义为一个有3列和若干行的矩阵。利用0到1之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、黄、蓝3种颜色的强度,形成一种特定的颜色。,2020/5/3,44,颜色映像理解1,2020/5/3,45,颜色映像理解2,2020/5/3,46,颜色映像使用,句colormap(M)将矩阵M作为当前图形窗口所用的颜色映像。例如,colormap(cool)装入了一个有64个输入项的cool颜色映像。colormapdefault装入了默认的颜色映像(hsv)。函数plot、plot3、contour和contour3不使用颜色映像,它们使用列在plot颜色和线形表中的颜色。而大多数其他绘图函数,比如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映像。,2020/5/3,47,颜色映像显示,可以用多种途径来显示一个颜色映像。其中一个方法是观察颜色映像矩阵的元素:hot(8)ans=0.3333000.6667001.0000001.00000.333301.00000.666701.00001.000001.00001.00000.50001.00001.00001.0000,2020/5/3,48,颜色映像的建立和修改,颜色映像就是矩阵,意味着你可以象其他数组那样对它们进行操作。函数brighten就利用这一点通过调整一个给定的颜色映像来增加或减少暗色的强度。用户可以通过生成m3的矩阵mamap来建立自己的颜色映像,并用colormap(mymap)来安装它。颜色映像矩阵的每一个值都必须在0和1之间。如果企图用大于或小于3列的矩阵或者包含着比0小比1大的任意值,函数colormap会提示一个错误然后退出。,2020/5/3,49,(3)光照控制,MATLAB7语言提供了许多函数在图形中进行对光源的定位并改变光照对象的特征。,2020/5/3,50,光照控制举例,本例首先绘制一个膜面图,然后使用位置向量0-21设置光源的方向。z=peaks(50);surf(z)light(Position,0-21),2020/5/3,51,绘图(Plot)对象举例,x,y,z=peaks;c,h=contour(x,y,z);set(h,LineWidth,3,LineStyle,:),2020/5/3,52,绘制饼状图,x=130.52.52;explode=01000;pie(x,explode),2020/5/3,53,绘制矢量图,X,Y=meshgrid(-2:.2:2);Z=X.*exp(-X.2-Y.2);DX,DY=gradient(Z,.2,.2);contour(X,Y,Z);holdon;quiver(X,Y,DX,DY),2020/5/3,54,绘制误差棒形图,x=0:0.2:4*pi;y=sin(x);e=0:1/(length(x)-1):1;errorbar(x,y,e),2020/5/3,55,绘制圆柱球体,cylinder;t=0:pi/10:2*pi;X,Y,Z=cylinder(2+cos(t);surf(X,Y,Z)m,n,p=sphere(50);t=abs(p);surf(m,n,p,t),2020/5/3,56,(2)图形对象属性的获取和设置,get函数set函数默认属性,2020/5/3,57,get函数,在MATLAB7中,使用get函数可以得到对象的属性及其属性值,其通常的调用格式为:get(handle,PropertyName)。关于它的详细使用方法,用户可以参见get函数的帮助信息。,2020/5/3,58,set函数,在MATLAB7中,使用set函数可以设置对象的属性值,其通常的调用格式如下。set(H,PropertyName,PropertyValue)命令设置PropertyName的属性为PropertyValue。set(H,a)命令中,a为结构型变量,字段名为图形对象的属性名,字段值为映像的属性值。set(H,PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,.)命令同时设置多个属性的值。,2020/5/3,59,1.M文本编辑器的基本知识,M文本编辑器M文件的基本属性M文件的组成部分脚本式M文件函数式M文件,2020/5/3,60,(1)M文本编辑器,M文件的语法类似于一般高级语言,是一种程序化的编程语言,但是,与传统的高级语言相比,M文件又有自己的特点。它只是一个简单的ASC型码文本文件,因此,它的语法比一般的高级语言要简单,程序也容易调试,并且有很好的交互性。,2020/5/3,61,M文件的基本属性,M文件有两种,一种为脚本式(Script),一种为函数式(Function)。函数M文件必须满足一些标准,另外,它们还应该满足一些MATLAB7的属性。主要有以下几点:函数式M文件名和出现在文件的第一行的函数名必须相同。实际上,MATLAB7忽略了第一行的函数名,并且根据存储在硬盘上的文件名来执行函数。,2020/5/3,62,M文件的组成部分,函数式M文件的组成部分。调出Medit窗口,在里边输入如下内容:functionf=fact(n)%函数的定义行%Computeafactorialvalue.%H1行%FACT(N)returnsthefactorialofN,%帮助文本%usuallydenotedbyN!%Putsimply,FACT(N)isPROD(1:N).%注释f=prod(1:n);%函数体,2020/5/3,63,M文件的组成部分及其功能,M文件的组成部分及其功能,2020/5/3,64,(2)脚本式M文件,用户可以将需要重复输入的所有命令按顺序放到一个扩展名为m的文本文件下,每次运行时只要输入该M文件的文件名即可。用户自己创建的M文件的文件名要避免与MATLAB7的内置函数和工具箱中的函数重名,以免发生内置函数被替换的情况。,2020/5/3,65,脚本式M文件举例,本脚本式M文件绘制一个正弦曲线:%此文件用于绘制【2pi,2pi】区间的正弦曲线图x=-2*pi:0.05:2*pi;y=sin(x);plot(x,y,c+)legend(正弦曲线图),2020/5/3,66,(3)函数式M文件,函数式M文件一般都要自带参数,并且有返回结果。函数式M文件的第一行都是以function开始,说明此文件是一个函数。函数式M文件中的变量都不是全局变量,仅在函数运行期间有效,函数运行完毕之后,它所定义的变量将从工作区间中清除。,2020/5/3,67,函数式M文件举例,例判断某一年是否为闰年。解:调出Medit窗口,在里边输入如下内容。%该函数用于判断某一年是否为闰年%使用格式为isleapea(y),其中y是用户所要计算的年份functionisleapyear(year)sign=0;ifrem(year,4)=0sign=sign+1;end,ifrem(year,100)=0sign=sign-1;endifrem(year,400)=0sign=sign+1;endifsign=1fprintf(%4dyearisaleapyear.n,year)elsefprintf(%4dyearisnotaleapyear.n,year)end,2020/5/3,68,2.控制流,最简单的程序控制就是顺序结构,用户依次输入命令语句即可。MATLAB7语言还提供了4种高级的控制结构。它们是:if-else-end结构、switch-case-otherwise-end结构、for循环和while循环。,2020/5/3,69,(1)顺序结构,顺序结构是最简单的程序结构,用户在编写好程序之后,系统将按照程序的物理位置顺次执行。a=1;b=2;c=3;s1=a+bs2=s1+cs3=s2/s2,2020/5/3,70,(2)ifend语句,只有一种选择时的情况if表达式执行语句end,2020/5/3,71,ifend语句,有两种选择时的情况if表达式执行语句1else执行语句2end,2020/5/3,72,ifend语句,有3种或3种以上选择时的情况if表达式1表达式1为真时的执行语句1elseif表达式2表达式2为真时的执行语句2elseif表达式3表达式3为真时的执行语句3elseifelse所有的表达式都为假时的执行语句end,2020/5/3,73,(3)switchcaseend语句,switch开关语句case条件语句,执行语句,执行语句case条件语句1,条件语句2,条件语句3,执行语句,执行语句otherwise,执行语句,执行语句end,2020/5/3,74,(4)trycatchend,try-catch模块给用户提供了一种错误捕获机制。换句话说,利用try-catch模块,MATLAB7编译系统发现的错误将被其捕获,用户可以控制MATLAB7怎样对发生的错误进行处理。try执行语句1catch执行语句2end,2020/5/3,75,(5)for循环语句,For语句是一种循环语句,可以让用户很方地实现循环操作,从而可以从容地应付大规模的循环语句。fori=表达式,执行语句,执行语句end,2020/5/3,76,(6)while循环语句,与for循环不同,while循环的判断控制可以是逻辑判断语句,因此,它的循环次数可以是一个不定数。这样就赋予了它比for循环更广泛的用途。while表达式执行语句end,2020/5/3,77,(7)人机交互命令,终止命令break和return继续命令continue等待用户反应命令pauseecho命令用户输入提示命令input请求键盘输入命令keyboard,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!