您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > MATLAB在二维绘图中的应用
《MATLAB语言》课程论文MATLAB在二维绘图中的应用姓名:郭露学号:12012241985专业:电气工程与自动化班级:12级电气1班指导老师:李虹学院:物理电气信息学院完成日期:2013年12月10日MATLAB在二维绘图中的应用(姓名:郭露1201224198512级电气1班)【摘要】二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,用户不仅不许考虑绘图细节,只需给出一些基本的参数就能得到所需要的图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素(如坐标轴、曲线、文字等)看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件。其实MATLAB的高层绘图函数都是利用低层绘图函数建立起来的。所以MATLAB的计算准确、效率高、使用快捷等优点常被广泛应用于科学和工程领域.【关键字】MATLAB语言二维绘图图像处理【引言】MATLAB语言是当前国际学科界应用很广泛的一种软件,强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,利用它强大的图像处理来绘制二维图形既简单而且也很方便。在绘制二维图形的过程中也用到了MATLAB语言的其他功能,比如说它提供的一些函数,利用这些函数可以方便的生成一些特殊矩阵,因此可生成一个坐标平面。MATLAB语言强大的功能也在二维绘图中的得到了很广泛的应用,利用它所提供的精细的图像处理功能还可以对所绘制的二维图形作一个修饰的处理。MATLAB语言具有强大的以图形化显示矩阵和数组的能力,同时它给这些图形增加注释并且可以对图形进行标注和打印。MATLAB的图形技术包括二维的可视化、图形处理、动画等高层次的专业图形的高级绘图,例如图形的光照处理、色度处理以及四维数据的表现等。那么,如何把它强大的功能应用于实际应用中,下面我们将用实例说明。【正文】一、MATLAB的主要功能及特点MATLAB近几年广泛用于图像处理和识别,使用MATLAB设计模式识别应用软件将使设计者获得更大的自由,可以任意执行特殊的算法和实现复杂的操作,MATLAB之所以成为世界顶级的科学计算与数学应用软件,是因为它随着版本的升级与不断完善而具有愈来愈强大的功能。(1)数值计算功能。(2)符号计算功能。(3)数据分析功能。(4)动态仿真功能。(5)图形文字统一处理功能。MATLAB有三大特点:一是功能强大。主要包括数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算。二是界面友好,编程效率高。MATLAB是一种以矩阵为基本单元的可视化程序设计语言,语法结构简单,数据类型单一,指令表达与标准教科书的数学表达式相近。三是开放性强。MATLAB有很好的可扩充性,可以把它当成一种更高级的语言去使用。使用它很容易编写各种通用或专用应用程序。二.MATLAB在二维绘图中的具体应用1.常用的绘图函数1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式plot(x,y)其中x,y为长度相同的向量,存储x坐标和y坐标。2.含多个输入参数的plot函数plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)当输入参数有矩阵形式时,配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。例1作出函数xyxycos,sin的图形,并观测它们的周期性。先作函数xysin在]4,4[上的图形,用MATLAB作图的程序代码为:x=linspace(-4*pi,4*pi,300);%产生300维向量xy=sin(x);%正玄函数plot(x,y)%二维图形绘图命令结果如图1所示此图也可用fplot命令,相应的MATLAB程序代码为:clear;close;%clear清理内存;close关闭已有口。fplot('sin(x)',[-4*pi,4*pi])%绘制正玄图形结果如图2所示图1xysin的图形图2xysin的图形2.fill将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,'b');%'b'为蓝色3.feather将每一个资料点视复数,并以箭号画出:theta=linspace(0,2*pi,20);z=cos(theta)+i*sin(theta);feather(z);2.二维图形的修饰由前面的图1至2可以看出,当利用plot命令绘图时,虽然运用起来比较简单,但它所自动产生的图形却显得有些简单,未能产生特殊的效果。为此MATLAB提供了一些图形函数,专门对由plot命令所画出的图形进行进一步的修饰,以使其更加美观、更便于应用。如坐标轴范围的设定(axis命令)、加坐标轴名称(xlabel、ylabel命令)、加网络(grid命令)、加图形加图题(title命令)、对图形进行文字注释(text命令)等。1.用不同的线型及颜色加以绘制。x=-2*pi:2*pi/30:2*pi;%产生向量xy1=sin(x);y2=cos(x);%正余玄函数plot(x,y1,x,y2,’gp’)%’gp’表示绘出的图形是绿色五角星线结果如图4图4不同线型与颜色绘制的正余玄图形2.坐标轴的调整MATLAB可以自动根据曲线数据的范围选择合适的坐标系,从而使得曲线能够尽可能清晰地显示出来,所以在一般情况下用户不必去进行坐标系的选择。但是,如果用户对MATLAB所自动生成的坐标轴不太满意的话,则可以利用axis所要绘制出的图形的坐标轴进行调整。axis命令的功能非常丰富,按常用用法有如下4类调整坐标轴的范围;调整坐标轴的状态;保存调整坐标轴的范围;保存坐标轴的状态。3.设置图形标题MATLAB中有专门的函数title来为图形添加标题,调用这种函数的格式是:(1)title('string')设置当前绘图区的标题为字符串string的值。(2)title(...,'PropertyName',PropertyValue,...)可以在添加或设置标题的同时,设置标题的属性,如字体、颜色、加粗等。例2图形标注函数title使用实例。利用title函数为图形添加标题。解:在命令窗口输入下面的代码x=0:0.05:10;y=exp(-0.2*x).*cos(x);plot(x,y)title('\ite^{0.2x}cos(x)','FontWeight','Bold')执行程序后,可以得到2-18所示结果图形:4.在图形中显示文字MATLAB允许用户在图形的任意位置加注一串文字。加注文字的时候,MATLAB提供了两种不同确定文字位置的操作方式:(1)用坐标轴确定文字位置;(2)用鼠标确定文字位置。MATLAB允许用户在图形窗口的任意位置用低级命令书写一串字符。该方式的格式是text(x,y,string,option),主要功能是在图形指定坐标位置(x,y)处,写出由string所给出的字符串。坐标(x,y)的单位是由选项参数option决定的。如果不给出该选项参数,则(x,y)坐标的单位与图中的单位是一致的。如果选项参数取为`sc`,则(x,y)坐标表示规范化的窗口相对坐标,其变化范围为0~1,即该窗口绘图范围的左下角坐标为(0,0),右上角坐标为(1,1)。例3坐标轴标注函数text使用实例。利用text函数在y=sinx指定位置添加文字。解:在命令窗口输入以下代码x=0:pi/100:2*pi;y=sin(x);plot(x,y)axis([02*pi-1.51.5])line([0,2*pi],[0,0])text(0.5,0.85,'sin(x)sc’)text(0.5*pi,0.5,‘position’)text(1.5*pi,-0.5,‘negative’)3.手工绘图方式手工绘图的关键在于如何选取绘图时的一些关键数据点,如何将这些数据点的坐标值读入变量,然后加以利用。MATLAB提供了用鼠标选取数据点的命令ginput,当在图形窗口中的某一位置按下某个鼠标键(或键盘上除回车之外的任何键)时,ginput将返回该位置的坐标值。[x,y]=ginput[x,y]=ginput(n)[x,y,button]=ginput(n)(1)利用[x,y]=ginput,当在图形窗口中按下某个鼠标键或某一键盘键时,读取此时鼠标所在位置的一系列坐标值,并将这些坐标值存储到向量x和y中,直到按回车键后才中止该读书过程。(2)利用命令[x,y]=ginput(n),当在图形窗口中按下某一个鼠标键或某一键盘键时,读取此时鼠标所在位置的一系列坐标值,并将这些坐标值存储到向量x和y中,总共读取n个数据点。(3)命令[x,y,button]=ginput(n)也可利用鼠标从图形窗口中读取n个数据点,并将这些数据点的坐标值存储到向量x和y中,同时还将读数过程中鼠标的按键情况或键盘的按键情况记录到向量变量button中。在这里需要说明以下问题:在读取第i个数据点时,若按的是鼠标左键,则button(i)=1;若按的是鼠标中键,则button(i)=2;若按的是鼠标右键,则button(i)=3;若按的是键盘键,则button(i)存储相应键的ASCⅡ。该命令仅仅只是读取了一些数据点,并没有绘制图形。在读取了一些数据点后,我们就可以利用某种方法或按某种或图要求把这些数据点连成一起,从而达到手工绘图的效果。三、结论由上面二维制图我们不难得出以下结论:在matlab中,最基本且应用最为广泛的绘图函数为plot函数,利用它可以在二维平面上绘制出不同的曲线。Plot函数用于绘制xy平面上的线性坐标曲线图需要提供一组x坐标及其各点对应的y坐标,这样就可以绘制出分别以x,y为横纵坐标的二维曲线。Matlab还提供了一些绘图选项,用于确定所绘曲线的线性,颜色和数据点标记符号,它们可以组合使用。数据点可以用向量或矩阵的形式给出,类型可以是实型或复型,在取数据点时一般都是等间隔采样,这对绘制高频率变化的函数不够精确,为提高精度,绘制出比较真实的函数曲线,就不能等间隔取样,而必须在变化率大的区段密集采样,以充分反映函数的变化规律,进而提高图形的真实性。Fplot函数可自适应的对函数进行采样能更好地反映函数变化规律。在matlab中如果需要绘制出具有不同坐标标度的两个图形,可以使用plotyy函数。这种图形能把函数值具有不同量纲,不同数量级的两个函数绘制在同一坐标中,有利于图形数据的对比分析。同时利用MATLAB语言强大的绘图功能可以精确的绘制出一系列的三维图像。MATLAB提供了一系列的绘图函数,用户不仅不许考虑绘图细节,只需给出一些基本的参数就能得到所需要的图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件。其实MATLAB的高层绘图函数都是利用低层绘图函数建立起来的。MATLAB在绘制图形方面更进一步的体现出了
本文标题:MATLAB在二维绘图中的应用
链接地址:https://www.777doc.com/doc-2881945 .html