《matlab图形处理教程.ppt》由会员分享,可在线阅读,更多相关《matlab图形处理教程.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社第8章 图 形 处 理 教学目标 教学重点 教学过程1/28/20231第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学目标MATLAB 7语言除了有强大的矩阵处理功能之外,它的绘图功能也是相当强大的。学习完本章之后,读者将学会使用MATLAB 7的图形处理功能,包括基本的绘图命令、图形的简单控制、图形窗口的编辑以及图形的高级控制等。1/28/20232第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学重点基本的绘图命令各种图形注释方法三维图形的绘制
2、方法1/28/20233第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社教学过程基本的绘图命令各种图形注释方法三维图形的绘制方法特殊一些特殊图形的绘制图形的高级控制技巧1/28/20234第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社1.基本的绘图命令 基本的绘图命令 绘图的一般步骤 绘制二维曲线图 极坐标图形的绘制 多个图形的绘制方法 曲线的色彩、线型和数据点型 1/28/20235第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)基本的绘图命令 绘制基本线性图的函数表 函
3、 数 名功 能 描 述plot在x轴和y轴都按线性比例绘制二维图形plot3在x轴、y轴和z轴都按线性比例绘制三维图形loglog在x轴和y轴按对数比例绘制二维图形semilogx在x轴按对数比例,y轴按线性比例绘制二维图形semilogy在y轴按对数比例,x轴按线性比例绘制二维图形plotyy绘制双y轴图形1/28/20236第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)绘图的一般步骤 基本的绘图步骤 步 骤典 型 代 码1.准备绘图数据x=0:0.2:12;y1=bessel(1,x);2.选择一个窗口并在窗口中给图形定位figure(1),s
4、ubplot(2,2,1)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.输出图形print-depsc-tiff-r200 myplot1/28/20237第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)绘制二维曲线图二维曲线图在MATLAB 7中的绘制是最为简便
5、的。如果将X轴和Y轴的数据分别保存在两个向量中,同时向量的长度完全相等,那么可以直接调用函数进行二维图形的绘制。在MATLAB 7中,使用plot函数进行二维曲线图的绘制。1/28/20238第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社绘制二维曲线图 x=0:0.01:10;y=tan(x);plot(x,y)1/28/20239第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(4)极坐标图形的绘制 MATLAB提供了polar函数来在极坐标下绘制图形:x=0:0.01:10;y1=sin(x);y2=cos(x-
6、2.5);polar(y1,y2,-r+)1/28/202310第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(5)多个图形的绘制方法 subplot函数 可以实现多个图形的绘制:x=0:.1:20;subplot(2,2,1)plot(x,sin(x);1/28/202311第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社多个图形的绘制方法 x=0:.1:20;subplot(2,2,2)plot(x,cos(x);1/28/202312第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大
7、学出版社多个图形的绘制方法 subplot(2,2,3)x=0:.1:2;y1=tan(x);plot(x,y1,-b*);1/28/202313第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(6)曲线的色彩、线型和数据点型 曲线的色彩、线型和数据点型参数定义 颜 色 符 号含 义数 据 点 型含 义线 型含 义b蓝色.点-实线g 绿色xX符号:点线r 红色+号-.点划线c 篮绿色h六角星形-虚线m 紫红色*星号(空白)不画线y 黄色s方形k 黑色d菱形1/28/202314第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学
8、出版社2.图形注释 图题的标注 坐标轴的标签 文本标注和交互式文本标注 图例的添加 坐标网格的添加 使用矩形或是椭圆在图形中圈出重要部分 1/28/202315第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)图题的标注在MATLAB中,通常可以使用3种方式给图形添加图题:使用Insert 菜单中的Title命令;使用属性编辑器(Property Editor);使用title函数。1/28/202316第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社图题的标注 x=0:.1:2;y1=sin(x);y2=sin(
9、x-0.25);y3=sin(x-0.5);plot(x,y1,-.b,x,y2,-r*,x,y3,-.gh)title(There three lines)1/28/202317第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)坐标轴的标签 在MATLAB 7中,可以使用如下3种方式给图形的坐标轴添加标签:使用Insert菜单下的Label选项;使用属性编辑器(Property Editor);使用MATLAB 7的添加标签命令;1/28/202318第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社坐标轴的标签添
10、加举例 使用属性编辑器(Property Editor)添加坐标轴标签 打开Tools菜单,选择Edit Plot命令,激活图形编辑状态。在图形框内双击空白区域,调出属性编辑器;也可以采取在图形框内右击,从弹出的菜单中选择Properties 项的方式调出属性编辑器;或者是在View菜单中选择Property Editor项。1/28/202319第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)文本标注和交互式文本标注用户可以在MATLAB 7图形窗口的任意地方添加文本注释,从而更好地解释图形窗口的数据。MATLAB 7提供了text函数和gtext
11、函数来进行文本标注。其中gtext函数的使用形式更为灵活,可以实现交互式文本标注。1/28/202320第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社文本标注举例 x=linspace(-3,5,100);y=cos(x);z=sin(x);plot(x,y,x,z)title(一条正弦曲线和一条余弦曲线)xlabel(x的取值范围)ylabel(Y和Z的值)1/28/202321第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(4)图例的添加为了更好地区分所绘制的多条曲线,可以使用图例加以说明,对它们表示的数据进行
12、更准确的区分。可以使用如下3种方法生成图例:打开Insert 菜单中并选择Legend命令;单击工具栏中的legend图标;使用legend函数。1/28/202322第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社图例的添加 举例1/28/202323第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(5)坐标网格的添加 在图形绘制过程中,为了精确地知道图形上某点的坐标,需要绘制坐标网格来定位,MATLAB 7语言中提供了grid函数来实现这一功能:grid off命令关闭坐标网格;grid on命令打开坐标网格 gr
13、id mirror命令使用更细化的网格;grid(AX,)命令使用AX坐标系代替当前坐标系。1/28/202324第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社坐标网格的添加举例 x=linspace(-5,5,100);y=x.4+22*x.2-6*x+10;plot(x,y)grid on1/28/202325第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(6)使用矩形或是椭圆在图形中圈出重要部分 用户可以使用矩形或是椭圆在图形中圈出特别的区域,从而使得该区域能引起特别的注意。当其中的一个矩形或是椭圆被选中时,
14、用户可以移动并改变它的大小,或是右击它,在弹出的快捷菜单中用户可以选择改变它的属性和外观。1/28/202326第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社应用举例当右击矩形或是椭圆时,将弹出一个菜单 1/28/202327第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社3.三维图形的绘制 MATLAB语言提供了三维图形的处理功能。与二维图形相似,绘制三维图形时可以使用MATLAB语言提供的相关函数:三维线图指令plot3 三维网线图和曲面图 三维网线图三维曲面图1/28/202328第8章 图 形 处 理MATL
15、AB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)三维线图指令plot3%该程序用于绘制三维的螺旋曲线图 t=0:pi/50:20*pi;plot3(sin(t),cos(2*t),sin(t)+cos(t)1/28/202329第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)三维网线图使用mesh函数来绘制三维网格图形:z=peaks(50);mesh(z);1/28/202330第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)三维曲面图 可是使用surf函数来绘制三维表面图形:X,Y=mes
16、hgrid(-4:0.2:4);Z=exp(-0.5*(X.2Y.2);surf(X,Y,Z)1/28/202331第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社4.特殊图形的绘制 条形图和面积图(Bar and Area Graphs)饼形图(Pie Charts)离散型数据图 方向和速度矢量图形 等高线的绘制(Contour Plots)1/28/202332第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)条形图和面积图条形图和面积图用于绘制向量和矩阵数据,这两种图形可以用来比较不同组数据的在总体数据中所占
17、的比例,其中条形图适于表现离散型数据,而面积图适于表现连续型数据。函 数功 能 描 述bar绘制矩阵Y(mn)各列的垂直条形图,各条以垂直方向显示barh绘制矩阵Y(mn)各列的垂直条形图,各条以水平方式显示bar3绘制矩阵Y(mn)各列的三维垂直条形图,条以垂直方向显示bar3h绘制矩阵Y(mn)各列的三维垂直条形图,各条以水平方式显示area绘制向量的堆栈面积图1/28/202333第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社条形图举例集合式条形图的绘制 y=1 2 3 4 5 6 7 8 9 10bar(y)1/28/202334第8章 图 形
18、处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)饼形图在统计学中,人们经常要用到饼形图来表示各个统计量占总量的份额,饼形图可以显示向量或矩阵中的元素占所有元素总和的百分比,MATLAB提供了pie函数和pie3函数,分别用于绘制二维饼形图和三维饼形图。1/28/202335第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)离散型数据图 MATLAB 7提供了一系列适于表现离散型数据的函数。其中常用的主要有stem 函数、stem3函数和stairs函数。1/28/202336第8章 图 形 处 理MATLAB 7 简明教程简
19、明教程 清华大学出版社清华大学出版社离散型数据图举例使用 stem(y)函数来绘制句柄状图形。y=rand(20,1);stem(y)1/28/202337第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(4)方向和速度矢量图形 MATLAB 7提供了一些函数用于绘制方向矢量和速度矢量图形,这些函数有compass、feather、quiver和quiver3。函 数功 能 描 述compass显示极坐标图形中的极点发散出来的矢量图feather显示从一条水平线上均匀间隔的点所发散出来的矢量图quiver显示由(u,v)矢量特定的二维矢量图 quiver3
20、显示由(u,v,w)矢量特定的三维矢量图1/28/202338第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社方向和速度矢量图形举例 用compass函数绘制矢量图形:w=0:0.1:6;z=sin(w).*exp(j*w);compase(z)1/28/202339第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(5)等高线的绘制 等高线函数为创建、显示并标注由一个或多个矩阵确定的等值线。函 数 名功 能 描 述clabel使用等值矩阵生成标注,并将标注显示在当前图形contour显示矩阵Z的二维等高线图contou
21、r3显示矩阵Z的三维等高线图contourf显示矩阵Z的二维等高线图,并在各等高线之间用实体颜色填充contourc用于计算由其他等高线函数调用的等值矩阵meshc创建一个与二维等高线图匹配的网线图surfc创建一个与二维等高线图匹配的曲面图1/28/202340第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社等高线的绘制举例使用contour函数绘制等高线图形:x,y,z=peaks;contour(x,y,z)1/28/202341第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社5.图形的高级控制 视点控制和图形的
22、旋转 颜色的使用 颜色映像理解 颜色映像使用 颜色映像显示 颜色映像的建立和修改 光照控制 1/28/202342第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(1)视点控制和图形的旋转 为了使图形的效果更逼真,有时需要从不同的角度观看图形,MATLAB 7语言提供了view、viewmtx和rotate3d等3个命令进行操作。用户可以在命令窗口中调用这3个函数。其中,view函数主要是从不同的角度观察图形;viewmtx给出指定视角的正交转换矩阵;而rotate3d函数可以让用户方便地用鼠标来适时旋转视图。1/28/202343第8章 图 形 处 理M
23、ATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社视点控制举例view函数的使用:X,Y=meshgrid(-5:0.2:5);Z=exp(0.5*(X.2-Y.2);surf(X,Y,Z)view(30,60)1/28/202344第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(2)颜色的使用 颜色映像理解 MATLAB 7有一个叫颜色映像的数据结构来代表颜色值。颜色映像定义为一个有3列和若干行的矩阵。利用0到1之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、黄、蓝3种颜色的强度,形成一种特定的颜色。1/28
24、/202345第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社颜色映像理解1Red(红)Green(绿)Blue(蓝)颜 色000黑111白100红010绿001蓝110黄101洋红011青蓝2/301天蓝11/20橘黄0.500深红0.50.50.5灰色1/28/202346第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社颜色映像理解2函 数功 能 描 述hsv色彩饱和值(以红色开始和结束)hot从黑到红到黄到白cool青蓝和洋红的色度pink粉红的彩色度gray线性灰度bone带一点蓝色的灰度jethsv的一种变形
25、(以蓝色开始和结束)copper线性铜色度prim三棱镜,交替为红色、橘黄色、黄色、绿色和天蓝色flag交替为红色、白色、蓝色和黑色1/28/202347第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社颜色映像使用 句colormap(M)将矩阵M作为当前图形窗口所用的颜色映像。例如,colormap(cool)装入了一个有64个输入项的cool颜色映像。colormap default装入了默认的颜色映像(hsv)。函数plot、plot3、contour和contour3不使用颜色映像,它们使用列在plot颜色和线形表中的颜色。而大多数其他绘图函数,比
26、如mesh、surf、fill、pcolor和它们的各种变形函数,使用当前的颜色映像。1/28/202348第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社颜色映像显示 可以用多种途径来显示一个颜色映像。其中一个方法是观察颜色映像矩阵的元素:hot(8)ans=0.3333 0 0 0.6667 0 0 1.0000 0 0 1.0000 0.3333 0 1.0000 0.6667 0 1.0000 1.0000 0 1.0000 1.0000 0.5000 1.0000 1.0000 1.00001/28/202349第8章 图 形 处 理MATLAB
27、 7 简明教程简明教程 清华大学出版社清华大学出版社颜色映像的建立和修改 颜色映像就是矩阵,意味着你可以象其他数组那样对它们进行操作。函数brighten就利用这一点通过调整一个给定的颜色映像来增加或减少暗色的强度。用户可以通过生成m3的矩阵mamap来建立自己的颜色映像,并用colormap(mymap)来安装它。颜色映像矩阵的每一个值都必须在0和1之间。如果企图用大于或小于3列的矩阵或者包含着比0小比1大的任意值,函数colormap会提示一个错误然后退出。1/28/202350第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社(3)光照控制 MATLAB 7语言提供了许多函数在图形中进行对光源的定位并改变光照对象的特征。函 数 名功 能 描 述camlight设置并移动关于摄像头的光源lightangle在球坐标下设置或定位一个光源light设置光源lighting选择光源模式material设置图形表面对光照的反映模式1/28/202351第8章 图 形 处 理MATLAB 7 简明教程简明教程 清华大学出版社清华大学出版社光照控制举例本例首先绘制一个膜面图,然后使用位置向量 0-2 1 设置光源的方向。z=peaks(50);surf(z)light(Position,0.5-3 2)1/28/202352第8章 图 形 处 理
限制150内