MATLAB中图形的绘制、处理.doc_第1页
MATLAB中图形的绘制、处理.doc_第2页
MATLAB中图形的绘制、处理.doc_第3页
MATLAB中图形的绘制、处理.doc_第4页
MATLAB中图形的绘制、处理.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB中图形的绘制、处理学生姓名 金悦悦 专业 电子信息工程 2011级116班 学号1665110615摘要:简述了图形的绘制、数字图像处理以及MATLAB三者之间的关系,针对图形的绘制的方法及MATLAB语言的应用环境,选择一些简单的图形让MATLAB实现,实现了MATLAB环境下的图形绘制以及一些简单的处理。关键词:图形绘制、matlab、图形对象。一、 MATLAB的简介MATLAB是MathWorks公司于1984年开发的,目前已经发展成国际上最流行、应用最广泛的科学与工程计算软件之一。MATLAB集矩阵运算、数值分析、图形显示和仿真等于一体,被广泛应用于自动控制、数学运算、计算机技术、图像信号处理、汽车工业和语音处理等行业,正是如此,各大高校纷纷将MATLAB正式列入本科生和研究生课程的教学计划,成为学生必须掌握的基本软件之一。二、 绘图的一般步骤1、 曲线数据准备对于二维曲线,需要准备横坐标和纵坐标数据;对于三维曲面,则要准备矩阵参变量和对应的Z坐标。2、 指定图形窗口和子图位置可以使用Figure命令指定图形窗口,默认时打开Figure1窗口,或使用subplot命令指定当前子图。3、 绘制图形根据数据绘制曲线后,并设置曲线的绘制方式包括线型、色彩、数据点形等。4、 设置坐标轴和图形注释设置坐标轴包括坐标的范围、刻度和坐标分割线等,图形注释包括图名、坐标名、图例、文字说明等。5、 仅对三维图形使用的着色和视点等设置仅对三维图形还需要着色、明暗、灯光、材质处理,以及视点、三度(横、纵、高)比等设置。6、 图形的精细修饰 图形的精细修饰可以利用对象或图形窗口的菜单和工具条进行设置,属性值使用图形句柄进行操作。7、 按指定格式保存或导出图形将绘制的图形窗口保存为.fig文件,或转换成其他图形文件。三、 二维图形的绘制1、 线形图、条形图和面积图这几种图形在功能上比较相似,都是以直观的形式表示数据的分布特征。绘制线形图、条形图和面积图分别使用plot函数、bar函数和area函数。x=1 2 3 4 5 6;y=10 15 8 20 22 32;bar(x,y);colormap cool;hold onplot(x,y,LineWidth,3,Color,r,LineStyle,-);生成图1。2、 饼图饼图显示部分与整体之间的比例关系。下面用pie函数生成饼图。x=19.3 22.1 51.6;explode=0 0 1;pie(x,explode)colormap cool生成图2。3、 误差条图误差条图显示数据的置信区间或沿曲线的偏差。用errorbar函数误差条图。y=10 6 17 13 20;e=2 1.5 1 3 1;errorbar(y,e)生成图3。4、 散点图 分别用scatter函数和scatter3函数绘制二维和三维散点图。x=1:40;y=rand(size(x);Scatter(x,y)生成图4。5、 直方图用hist函数绘制直方图。Y=randn(10000,3);hist(Y)生成图5。6、 对数坐标图和半对数坐标图用loglog函数绘对数-对数比例图,用semilogx函数和semilogy函数分别对x轴和y轴绘半对数坐标数据图。7、 多轴图在同一个图中绘制坐标度量单位不同的图形,可以使图形表达更加简练。在有些情况下,多轴图有利于数据对比。利用plotyy命令可以创建两套数据的图形,并同时使用左侧和右侧的y轴。对于每套数据,还可以应用不同的绘图函数。例如可以在同一幅图中组合线形图和火柴杆图。t=0:pi/20/:2*pi;y=exp(sin(t);plotyy(t,y,t,y,plot,stem)生成图6。8、 极坐标图用polar函数绘极坐标图。t=0:.01:2*pi;polar(t,sin(2*t).*sin(2*t),-r)生成图7。9、 等值线图等值线图通过将空间上一定范围内值相等的点依次连接起来反映数据的分布特征。这种图在地质、气象、力学等领域有着广泛的应用,特点是简便、直观,而且二维等值线图还能表现三维信息。Z=peaks(50);C,hcontour(interp2(Z,4);text-handle=clabel(C,h);set(text-handle,BackgroundColor,1 1 .6,Edgecolor,.7 .7 .7)Colormap jet生成图8。10、 向量图向量图用箭头显示图中各点处的向量大小和方向。其中,箭头指示的方向为向量的方向,箭头的长短表示向量大小。x,y,z=peaks(30);dx,dy=gradient(z,.2,.2);contour(x,y,z)hold onquiver(x,y,dx,dy)colormap autumngrid offhold off生成图9。11、 帕累托图帕累托图按降序用条形表示向量中的值。用pareto函数绘制帕累托图。y=8 9 50 20 3 10;pareto(y)生成图10。12、 火柴杆图火柴杆图沿x轴将数据用直线段相对于基线显示在上下两侧,数据点用小圆圈或其他标记显示。用stem函数绘制火柴杆图。t=linspace(-2*pi,2*pi,10);h=stem(t,cos(t),fill,-);set(get(h,BaseLine),LineStyle,:)set(h,MarkerFaceColor,red)生成图11。13、 彗星图彗星图实际上是一个动画,用一个小圆圈(彗星头)跟踪屏幕上的数据点。彗星体是头后面的跟踪线段,彗星尾是跟踪整个函数的实线。用comet函数绘制彗星图。t=0:01:2*pi;x=cos(2*t).*(cos(t).2);y=sin(2*t).*(sin(t).2);comet(x,y);生成图12。14、 罗盘图罗盘图用起点在原点的箭头表示向量数据,数据为笛卡尔坐标中的值,显示在圆形网格中。用compass函数绘罗盘图。Z=eig(randn(20,20);compass(Z)生成图13。15、 羽列图羽列图沿水平轴在等间隔的点上显示向量。用feather函数绘制羽列图。theta=(-90:10:90)*pi/180;r=2*ones(size(theta);u,v=pol2cart(theta,r);feather(u,v);生成图14。16、 阶梯图阶梯图主要用于绘制数字采样数据的时间历史图形。用stairs函数绘制阶梯图。x=linspace(-2*pi,2*pi,40);stairs(x,sin(x)生成图15。17、 玫瑰花图玫瑰花图实际上是极坐标中的直方图,它根据数据值的范围进行分组,并显示数据的分布特征。每个组显示一瓣,用rose函数绘制玫瑰花图。theta=2*pi*rand(1,50);rose(theta)生成图16.四、 简单三维图形的绘制 MATLAB绘制的三维图形包括三维曲线、三维网格线和三维表面图。三维图形与二维图形相比需要的数据是三维的,并且三维图形还增加了颜色表、光照、视角等设置。1、 三维网线图 网格图常用于表现二维平面或三维实体。作为前期处理,网格图常常用于建立二维、三维有限元计算对象的几何模型。其中的网格可以是三角形网格,也可以是四边形网格,还可以是其他多边形网格。Meshgrid函数就是用来在(x,y)平面上产生矩形网格。X,Y=meshgrid(-3:125:3);Z=peaks(X,Y);meshc(X,Y,Z);axis(-3 3 -3 3 -10 5)生成图17.2、 三维表面图 三维表面图与网线图相似,但不同的是网线图中网格范围内的区域为空白,而三维表面图则用颜色来填充。MATLAB中三维表面图使用surf函数绘制,也是先得出网格顶点(X,Y),在计算出Z。X,Y,Z=peaks(30);surfc(X,Y,Z)colormap hsvaxis(-3 3 -3 3 -10 5)生成图18.3、 三维曲面图 三维曲面图在三维表面图的基础上生成,它对三维表面图中的三角形单元或四边形单元进行了平滑处理,使其成为曲面片,因而更接近实体外观。使用surfl函数,用基于色图的光照绘制表面图。x,y=meshgrid(-3:1/8:3);z=peaks(x,y);surfl(x,y,z);shading interpcolormap(gray);axis(-3 3 -3 3 -10 5)生成图19.五、 句柄图形对象 句柄图形对象是MATLAB绘图的基础,是构筑MATLAB图形这座大厦的砖和瓦。MATLAB提供的所有二维、三维绘图工具都是利用这些基本对象建立起来的。句柄图形对象按层次体系组织,对象的每个实例都与名为句柄的惟一标识相连。使用这个句柄,可以操作已经存在的图形对象,也可以在创建图形对象时给属性指定值。句柄图形对象有两个基本的图形对象类型:核心图形对象和组合对象。核心图形对象包括基本的绘图对象如直线,文本和多边形壳(Patch对象)、曲线对象、图像对象和光照对象等图表1 核心图形对象函数功能axesAxes对象定义显示图形的坐标系统,它总是包含在Figure对象中image矩阵的二维表示,矩阵中的数值值映射为颜色。Image对象还可以是RGB值的三维数组light坐标系内的镜面光源。Light对象影响Patch对象和Surface对象显示,但是它们本身不可见line连接定义直线的数据点,形成直线patch填充多边形集合。一个Patch对象可以由多个小面组成,每个小面可以单独着色,有刻面着色和插值着色两种着色方式rectangle矩阵对象,可以绘制椭圆surface绘制矩阵数据的三维表面图text文本字符串下面的代码计算一个数学函数,并通过将属性值作为变量指定给figure,axes和surface函数来创建3个图形对象。MATLAB对所有其他属性使用默认值。x,y=meshgrid(-2:.4:2);Z=x.*exp(-x.2-y.2);fh=figure(Position,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论