ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:148.35KB ,
资源ID:10464759      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10464759.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6章 MATLAB 图形处理功能.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第6章 MATLAB 图形处理功能.docx

1、第6章 MATLAB 图形处理功能第六章 图形处理功能Chapter 6: The function of Image processing一 二维图形(Two dimensional plotting)1. 基本绘图函数(Basic plotting function):Plot, semilogx, semilogy, loglog, polar, plotyy(1). 单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。例1:单矢量绘图y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20;

2、plot(y)可以在图形中加标注和网格,例2:给例1 的图形加网格和标注。y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20;plot(y)title(简单绘图举例);xlabel(单元下标);ylabel(给定的矢量);grid(2). 双矢量绘图(Double vector plotting):如x和y是同样长度的矢量, plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y)(3). 对数坐标绘图(ploting in logarithm coordinate): x轴对数 s

3、emilogx, y轴对数semilogy, 双对数loglog,例:绘制数组y的线性坐标图和三种对数坐标图。y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20;subplot(2,2,1)plot(y)subplot(2,2,2)semilogx(y)subplot(2,2,3)semilogy(y)subplot(2,2,4)loglog(y) (4)极坐标绘图( Plotting in polar coordinate): polar(theta,rho) theta角度, rho半径例:建立简单的极坐标图形。t=0:.01:2*pi;polar(t,sin(2

4、*t).*cos(2*t)2. 多重曲线绘图(Multiple curve plotting)(1)一组变量绘图(A group variable plotting)plot(x,y)(a) x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。例1: x=0:pi/50:2*pi;y(1,: )=sin(x);y(2,:) =0.6*sin(x);y(3, :)=0.3*sin(x);plot(x,y)(b) x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。例 2:x(1,: )= 0:pi/50:2*pi;x(2,: )=

5、pi/4:pi/50:2*pi+pi/4;x(3,: )=pi/2:pi/50:2*pi+pi/2;y=sin(x(1,: );plot(x,y)(c) x和y是同样大小的矩阵时, plot(x,y)绘制y矩阵中各列对应于x各列的图形。例3:x(:,1 )=0:pi/50:2*pix(:,2 )=pi/4:pi/50:2*pi+pi/4x(:,3 )=pi/2:pi/50:2*pi+pi/2;y(:,1 )=sin(x(:,1 )y(:,2 )=0.6*sin(x(:,1);y(:,3 )=0.3*sin(x(:,1);plot(x,y)这里x和y的尺寸都是1013,所以画出每条都是101点组

6、成的三条曲线。如行列转置后就会画出101条曲线,每条线由三点组成。x(1,:)=0:pi/50:2*pix(2,:)=pi/4:pi/50:2*pi+pi/4x(3,:)=pi/2:pi/50:2*pi+pi/2y(1,:)=sin(x(1,:)y(2,:)=0.6*sin(x(1,:)y(3,:)=0.3*sin(x(1,:)plot(x,y)(d) 如果y是矩阵,则plot(y)绘出y中各列相对于行号的图形,对于n行矩阵,x轴的坐标为1:n。(2)多组变量绘图( Multiple group variables plotting):对于一系列相应的矩阵yi和xi, 可以使用多组变量绘图法:

7、plot(x1,y1,x2,y2,xn,yn),这种方法的优点是允许将不同大小的矩阵或矢量的图形绘制在一张图上。例:多组变量绘图。x=0:pi/50:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,x,y3)(3)双y轴绘图:plotyy, 在一个图形窗口绘制两组数据曲线,共用一个x轴,图形两边各有一个y轴。两条图线可以调用不同的绘图方法。例1: x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,plot,stem) 左侧y轴对应plot形式的绘图,右侧y轴对应stem形式

8、的曲线。例2: 对于y坐标不同的情况。t=0:900;A=1000;a=0.005;b=0.005;z1=A*exp(-a*t);z2=sin(b*t);plotyy(t,z1,t,z2,semilogy,plot)3. 图线形式和颜色(Style and color of plot)(1) 图线的形式: (style of plot)MATLAB提供的四种线形,实线 虚线- - , 冒号线 : ,点划线 - .标记点类型: . , + , *, o, , s (或square), d (或diamond), , , , p (或pentagram), h (或hexagram),plot(x

9、,y,), plot(x1,y1,:,x2,y2,*) 例1:选择不同的线形绘图。 t=0:pi/100:2*pi;y=sin(t); y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,-,t,y2,-,t,y3,:)例2:选择不同的标记点绘图。 t=0:pi/20:2*pi;x=t.3;y=sin(t);plot(x,y,o)(2) 线的颜色(color of plot): MATLAB中可选的颜色: 红r,绿g, 蓝b, 黄y, 粉红m, 青c(cyan) 黑k.例:t=0:pi/20:2*pi;y=sin(t);plot(x,y,r), plot(x,y,g+)

10、(3) 图线的其他属性(other characters of plot): 可设置图线的宽度、标记点的边缘颜色、填充颜色、标记点的大小等。 例: 设置图线的线形、颜色、宽度、标记点的颜色及大小。t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,-bs,LineWidth,2,MarkerEdgeColor,k,. MarkerFaceColor, y,MarkerSize,10)4. 复数绘图(Complex plotting): plot用于函数绘制复数的图形时,通常虚部是被忽略的。但plot只作用于单个复变量z时,则绘出的是实部对虚部的关系图(复平面上

11、的一组点)。即这时plot(z)等价于 plot(real(z).例: 画一个20 边的多边形(用exp函数生成),顶角用小圆圈表示。t=0:pi/10:2*pi;plot(exp(i*t),o)axis(square)如果在复平面绘制多重线 ,只能分别以实部和虚部为坐标来绘制,否则虚部将被忽略,并给出警告。二 图形的控制与表现(Figure control and representation)MATLAB提供的用于图形控制的函数和命令:axis: 人工选择坐标轴尺寸.clf: 清图形窗口.ginput: 利用鼠标的十字准线输入.hold: 保持图形.shg: 显示图形窗口.subplot:

12、 将图形窗口分成N块子窗口。1 图形窗口(figure window)(1). 图形窗口的创建和选择(Creating and selecting of figure window)figure(n)函数用于为当前的绘图创建图形窗口,每运行一次figure就会创建一个新的图形窗口,n表示第个n窗口,如果窗口定义了句柄,也可以用figure(h)将句柄h的窗口作为当前窗口。clf 命令用于清除当前图形窗口中的内容。shg命令用于显示当前图形窗口。(2). 在一个图形窗口中绘制多个子图形(Drawing several subfigures in a single window)subplot(m

13、,n,p), 把窗口分成mn个小窗口,并把第p个窗口当作当前窗口。例:将4 个图形显示在同一个图形窗口中。t=0:pi/20:2*pi;x,y=meshgrid(t);subplot(2,2,1)plot(sin(t),cos(t),axis equalsubplot(2,2,2)z=sin(x)+cos(y);plot(t,z),axis(0 2*pi 2 2)subplot(2,2,3)z=sin(x).*cos(y);plot(t,z),axis(0 2*pi 1 1)subplot(2,2,4)z=sin(x).2-cos(y).2;plot(t,z),axis(0 2*pi 1 1)

14、(3). 在一个已有的图形上绘图(Drawing a figure on the figure was existed): 用hold on命令在一个已有的图形上继续绘图,使用hold off命令结束继续绘图。例:将peaks函数的等高线图与伪彩色画在一起。x,y,z=peaks; %产生双变量数组contour(x,y,z,20,k) %绘制等高线hold onpcolor(x,y,z) %绘制伪彩色图shading interp %表面色彩渲染hold off2 坐标轴控制命令(Axis control commands) 控制坐标性质的axis函数的多种调用格式:axis(xmin xm

15、ax ymin ymax):指定二维图形x和y轴的刻度范围,axis auto 设置坐标轴为自动刻度(缺省值)axis manual(或axis(axis)) 保持刻度不随数据的大小而变化axis tlght 以数据的大小为坐标轴的范围axis ij 设置坐标轴的原点在左上角,i为纵坐标,j为横坐标axis xy 使坐标轴回到直角坐标系axis equal 使坐标轴刻度增量相同axis square 使各坐标轴长度相同,但刻度增量未必相同axis normal 自动调节轴与数据的外表比例,使其他设置失效axis off 使坐标轴消隐axis on 显现坐标轴(1) 坐标轴的范围(Domain

16、of coordinates axis):二维图形坐标轴范围在缺省状态下是根据数据的大小自动设置的,如欲改变,可利用axis(xmin xmax ymin ymax),函数来定义。例: 定义坐标轴范围对观察图形的影响。x=0:.01:pi/2;figure(1)plot(x,tan(x),-ro) %ymax=tan(1.57),而其他数据都很小,结果将%使图形难于进行观察和判断。figure(2)plot(x,tan(x),-ro)axis(0, pi/2,0,5) %对坐标轴的范围进行控制就可得到较满意的绘图结果(2)显示比例对绘图结果的影响(Effect of display scali

17、ng on plotting results)例:比较(Default, axis square, axis equal, axis tight)几种不同的显示方式的显示效果。 t=0:pi/20:2*pi; figure(1) subplot(2,1,1)plot(sin(t),2*cos(t) %缺省状态下的图形比例grid on subplot(2,1,2)plot(sin(t),2*cos(t)axis square %正方形的显示比例grid onfigure(2)subplot(1,2,1)plot(sin(t),2*cos(t) axis equal %具有相等的刻度比例grid

18、 onsubplot(1,2,2)plot(sin(t),2*cos(t)axis tight %紧缩形式grid on3 图形标注(Marking on the figure):MATLAB的图形标注方法(表 67)title 标题, xlabel x轴标注, ylabel y轴标注,text 任意定位的标注 gtext 鼠标定位标注,legent 标注图例图形标注可以使用字母,数字,汉字或按规定的方法表示希腊字母,如pi表示,leq表示,rm表示后面的字恢复为正体字,it表示斜体字,FontSize表示字体的大小, FontName表示字体的类型等。 可以使用图形窗口的 Insert菜单,

19、也可以使用属性编辑器,还可以使用函数输入的方法加标注,以下介绍相关函数的使用方法。(1). 加注坐标轴标识和图形标题(Add axis labels and title of figure) 加注坐标轴标识:xlabel(s), ylabel(s)图形标题: title(s)例:加注坐标轴标示和图形标题。t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis(0 2*pi,-1 1)xlabel(0 leq itt rm leq pi,FontSize,16)ylabel(sin(t),FontSize,20)title(正弦函数图形,FontName,隶书,FontSi

20、ze,20)(2). 图中加注文本(Add text in the figure)text(x,y,字符串)例:在上图中加语句。t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis(0 2*pi,-1 1) xlabel(0 leq itt rm leq pi,FontSize,16)ylabel(sin(t),FontSize,20)title(正弦函数图形,FontName,隶书,FontSize,20)text(3*pi/4,sin(3*pi/4),leftarrowsin(t)=0.707, FontSize,16)text(pi,sin(pi),leftarr

21、owsin(t)=0, FontSize,16)text(5*pi/4,sin(5*pi/4),sin(t)=-0.707rightarrow,FontSize,16, .HorizontalAlignment,right)句中:leftarrow 表示加一个向左的箭头rightarrow表示加一个向右的箭头HorizontalAlignment 表示右对齐水平排列gtext函数用于在图形窗口上用鼠标直接在指定的位置上加注文本,调用格式:gtext(字符串)例:t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis(0 2*pi,-1 1)xlabel(0 leq itt

22、 rm leq pi,FontSize,16)ylabel(sin(t),FontSize,20)title(正弦函数图形,FontName,隶书,FontSize,20)gtext(MATLAB) (3). 指定TeX字符例:在标题中指定TeX字符 t=0:pi/100:2*pi;alpha=-0.8;beta=15;y=sin(beta*t).*exp(alpha*t);plot(t,y)title(itAe-italphaittsinitbetaittitalphaitbeta)xlabel(时间mus.),ylabel(幅值)在title中的字符串表现的是 Aet sint itAe-

23、italphaitt sinitbetaittitalphaitbeta斜体Ae 上标斜体t 斜体t 斜体 斜体4.在图形中添加图例框(Add legend in the figure)legend(字符串1, 字符串2,)例:在当前图形中添加图例说明。x=0:pi/10:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,-o,x,y3,-*)legend( 曲线1,曲线2,曲线3)legend(boxoff)legend函数的其他功能见(表 68)三 特殊图形(Special figure)1 条形图(Bar figure):

24、 bar(y), bar(x,y), barh, bar3(y), bar3(x,y), bar3h(x,y)(1) 二维条形图 :bar(y), bar(x,y), barh,(a).如果y是矢量,bar(y) 绘制最简单的条形图, 每一个条形图的位置由y元素的下标决定,高度由y元素的大小决定。例1: a=1 3 5;4 3 7;2 8 4bar(a)(b) 当y是mn阶的矩阵时,bar(y) 绘制的条形图以分组或叠加的形式表现。矩阵中每一行元素绘制在一组中,每一列元素绘制在每组中相对应的位置上(各组中同样颜色的条形表示同一列数据)。例2:y=9 8 6;2 5 8;6 2 9;5 8 7;

25、9 4 2;bar(y)例3:绘制分组形式的水平条形图。y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;barh(y)例4:绘制叠加形式的条形图。y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;bar(y,stack)例5:绘制叠加形式的水平条形图。y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;barh(y,stack) (b) 使用bar(x,y)绘制指定x坐标的条形图,其中x必须是矢量,用于确定各组条形图的位置。例1:指定x坐标的二维条形图,x=1 2 4 7 10y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;bar(x,

26、y)例2:指定x坐标的水平二维条形图,x=1 2 4 7 10y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;barh(x,y)例3:绘制指定x坐标的叠加形式的二维条形图。x=1 2 4 7 10 y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;bar (x,y,stack)如果y也是矢量,对应每一个x坐标有一个条形,条形的高度表示了矢量y元素的大小。例4:x=0:pi/10:2*pi;y=sin(x);bar(x,y)(2). 三维条形图:bar3(y),将mn阶的矩阵绘制成分布在三维空间中的柱体,有分组形式和分列形式两种。例1:分组形式的三维条形图。y=9

27、8 6;2 5 8;6 2 9;5 8 7;9 4 2;bar3 (y,group)例2:分列形式的三维条形图。y=9 8 6;2 5 8;6 2 9;5 8 7;9 4 2;bar3 (y)(3)条形图中的图形叠加:通过在相同的位置创建一个与原来条形图中的坐标轴相对独立的新的坐标轴实现条形图的叠加。例: 有两组实验数据,一组表示物质成分(TCE),一组表示温度(temp),数据是在35天中每隔5天的采样,将物质成分和温度与时间的关系画在一张图中。TCE=515 420 370 250 135 120 60 20; %实验数据temp=29 23 27 25 20 23 23 27;days=

28、0:5:35; %采样天数bar(days,temp,c) %温度与时间的条形图xlabel(Day)ylabel(Temperature (oC)h1=gca; %获取当前轴对象句柄h2=axes(position,get(h1,position); %建立新的与h1位置相同的对象句柄plot(days,TCE,LineWidth,3) %在以为句柄的坐标对象上绘制物质成分与时间的关系曲线set(h2,YaxisLocation,right,color,none,Xticklabel,) %设置句柄为h2的坐标轴对象的y轴为右侧。set(h2,Xlim,get(h1,Xlim),Layer,

29、top) %设置句柄为h2的坐标轴对象的x轴的范围与句柄为h1 的%坐标轴对象轴的范围相同。text(11,380,Concentration,Rotation,-55,FontSize,16) % 在坐标为 11,380 的位置以旋转-55%的方向书写concentrationylabel(TCE Concentration (PPM)title(Bioremediation,FontSize,16)饼图(pie): 用于表示矢量或矩阵中各元素所占有的比例。, 函数pie和pie3提供平面饼图和三维饼图的绘图功能。 *pie(x) 使用x中的数据绘制饼图,x中的每一个元素用饼图中的一个扇区表示。*pie(x,explode) 将一些扇区从饼图中分离出来,explode为一个与 x尺寸相同的矩阵,其非零元素所对应的x矩阵中的元素从饼图中分离出来。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1