资源描述:
《matlab在二维绘图中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《MATLAB语言》课程论文MATLAB在二维绘图中的应用姓名:郭露学号:12012241985专业:电气工程与自动化班级:12级电气1班指导老师:李虹学院:物理电气信息学院完成日期:2013年12月10日MATLAB在二维绘图中的应用(姓名:郭露1201224198512级电气1班)【摘要】二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,用户不仅不许考虑绘图细节,
2、只需给出一些基本的参数就能得到所需要的图形,这一类函数称为高层绘图函数。除此之外,MATLAB还提供了直接对句柄进行操作的一系列的低层的绘图操作。这类操作将图形的每个元素(如坐标轴、曲线、文字等)看做是一个独立的对象,系统给每个对象独立的分配一个句柄,以后可以通过该句柄对改图元素进行操作,而不影响图形的其他部分。高层绘图操作简单明了,方便高效,使用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户自主绘图创造了条件。其实MATLAB的高层绘图函数都是利用低层绘图函数建立起来的。所以MATLAB的计算准确、效率高、
3、使用快捷等优点常被广泛应用于科学和工程领域.【关键字】MATLAB语言二维绘图图像处理【引言】MATLAB语言是当前国际学科界应用很广泛的一种软件,强大的绘图功能是MATLAB的特点之一。MATLAB提供了一系列的绘图函数,利用它强大的图像处理来绘制二维图形既简单而且也很方便。在绘制二维图形的过程中也用到了MATLAB语言的其他功能,比如说它提供的一些函数,利用这些函数可以方便的生成一些特殊矩阵,因此可生成一个坐标平面。MATLAB语言强大的功能也在二维绘图中的得到了很广泛的应用,利用它所提供的精细的图像处理功能还可以对所绘制的二
4、维图形作一个修饰的处理。MATLAB语言具有强大的以图形化显示矩阵和数组的能力,同时它给这些图形增加注释并且可以对图形进行标注和打印。MATLAB的图形技术包括二维的可视化、图形处理、动画等高层次的专业图形的高级绘图,例如图形的光照处理、色度处理以及四维数据的表现等。那么,如何把它强大的功能应用于实际应用中,下面我们将用实例说明。【正文】一、MATLAB的主要功能及特点MATLAB近几年广泛用于图像处理和识别,使用MATLAB设计模式识别应用软件将使设计者获得更大的自由,可以任意执行特殊的算法和实现复杂的操作,MATLAB之所以成
5、为世界顶级的科学计算与数学应用软件,是因为它随着版本的升级与不断完善而具有愈来愈强大的功能。(1)数值计算功能。(2)符号计算功能。(3)数据分析功能。(4)动态仿真功能。(5)图形文字统一处理功能。MATLAB有三大特点:一是功能强大。主要包括数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算。二是界面友好,编程效率高。MATLAB是一种以矩阵为基本单元的可视化程序设计语言,语法结构简单,数据类型单一,指令表达与标准教科书的数学表达式相近。三是开放性强。MATLAB有很好的可扩充性,可以把它当成一种更高
6、级的语言去使用。使用它很容易编写各种通用或专用应用程序。二.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)当输
7、入参数有矩阵形式时,配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。例1作出函数的图形,并观测它们的周期性。先作函数在上的图形,用MATLAB作图的程序代码为:>>x=linspace(-4*pi,4*pi,300); %产生300维向量x>>y=sin(x);%正玄函数>>plot(x,y) %二维图形绘图命令结果如图1所示此图也可用fplot命令,相应的MATLAB程序代码为:>>clear;close; %clear清理内存;close关闭已有口。>>fplot('sin(x)',[
8、-4*pi,4*pi])%绘制正玄图形结果如图2所示图1 的图形图2的图形2.fill将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,'b');%'b'