您好,欢迎访问三七文档
第六章图形处理功能一.二维图形1.基本绘图函数:Plot,semilogx,semilogy,loglog,polar,plotyy(1).单矢量绘图:plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。例1:单矢量绘图y=[00.62.358.311.71517.719.420];plot(y)可以在图形中加标注和网格,例2:给例1的图形加网格和标注。y=[00.62.358.311.71517.719.420];plot(y)title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid(2).双矢量绘图:如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。例:双矢量绘图。x=0:0.05:4*pi;y=sin(x);plot(x,y)(3).对数坐标绘图:x轴对数semilogx,y轴对数semilogy,双对数loglog,例:绘制数组y的线性坐标图和三种对数坐标图。y=[00.62.358.311.71517.719.420];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)极坐标绘图:polar(theta,rho)theta—角度,rho—半径例:建立简单的极坐标图形。t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t))2.多重曲线绘图(1)一组变量绘图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,:)=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*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,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)(d)如果y是矩阵,则plot(y)绘出y中各列相对于行号的图形,对于n行矩阵,x轴的坐标为[1:n]。(2)多组变量绘图:对于一系列相应的矩阵yi和xi,可以使用多组变量绘图法: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形式的曲线。例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.图线形式和颜色(1)图线的形式:MATLAB提供的四种线形,实线虚线--,冒号线:,点划线--.标记点类型:.,+,*,o,×,s(或square),d(或diamond),△,▽,,,p(或pentagram),h(或hexagram),plot(x,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;y=sin(t);plot(t,y,'o')(2)图线的颜色:MATLAB中可选的颜色:红r,绿g,蓝b,黄y,粉红m,青c,白w,黑k.例:t=0:pi/20:2*pi;y=sin(t);plot(x,y,'r'),plot(x,y,'g+')(3)图线的其他属性:可设置图线的宽度、标记点的边缘颜色、填充颜色、标记点的大小等。例:设置图线的线形、颜色、宽度、标记点的颜色及大小。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.复数绘图:plot用于函数绘制复数的图形时,通常虚部是被忽略的。但plot只作用于单个复变量z时,则绘出的是实部对虚部的关系图(复平面上的一组点)。即这时plot(z)等价于plot(real(z)).例:画一个20边的多边形(用exp函数生成),顶角用小圆圈表示。t=0:pi/10:2*pi;plot(exp(i*t),'o')axis('square')如果在复平面绘制多重线,只能分别以实部和虚部为坐标来绘制,否则虚部将被忽略,并给出警告。二.图形的控制与表现MATLAB提供的用于图形控制的函数和命令:axis:人工选择坐标轴尺寸.clf:清图形窗口.ginput:利用鼠标的十字准线输入.hold:保持图形.shg:显示图形窗口.subplot:将图形窗口分成N块子窗口。1.图形窗口(1).图形窗口的创建和选择figure(n)函数用于为当前的绘图创建图形窗口,每运行一次figure就会创建一个新的图形窗口,n表示第个n窗口,如果窗口定义了句柄,也可以用figure(h)将句柄h的窗口作为当前窗口。clf命令用于清除当前图形窗口中的内容。shg命令用于显示当前图形窗口。(2).在一个图形窗口中绘制多个子图形subplot(m,n,p),把窗口分成m×n个小窗口,并把第p个窗口当作当前窗口。例:将4个图形显示在同一个图形窗口中。t=0:pi/20:2*pi;[x,y]=meshgrid(t);subplot(2,2,1)plot(sin(t),cos(t)),axisequalsubplot(2,2,2)z=sin(x)+cos(y);plot(t,z),axis([02*pi–22])subplot(2,2,3)z=sin(x).*cos(y);plot(t,z),axis([02*pi–11])subplot(2,2,4)z=sin(x).^2-cos(y).^2;plot(t,z),axis([02*pi–11])(3).在一个已有的图形上绘图:用holdon命令在一个已有的图形上继续绘图,使用holdoff命令结束继续绘图。例:将peaks函数的等高线图与伪彩色画在一起。[x,y,z]=peaks;%产生双变量数组contour(x,y,z,20,'k')%绘制等高线holdonpcolor(x,y,z)%绘制伪彩色图shadinginterp%表面色彩渲染holdoff2.坐标轴控制命令控制坐标性质的axis函数的多种调用格式:axis(xminxmaxyminymax):指定二维图形x和y轴的刻度范围,axisauto设置坐标轴为自动刻度(缺省值)axismanual(或axis(axis))保持刻度不随数据的大小而变化axistight以数据的大小为坐标轴的范围axisij设置坐标轴的原点在左上角,i为纵坐标,j为横坐标axisxy使坐标轴回到直角坐标系axisequal使坐标轴刻度增量相同axissquare使各坐标轴长度相同,但刻度增量未必相同axisnormal自动调节轴与数据的外表比例,使其他设置失效axisoff使坐标轴消隐axison显现坐标轴(1)坐标轴的范围:二维图形坐标轴范围在缺省状态下是根据数据的大小自动设置的,如欲改变,可利用axis(xminxmaxyminymax),函数来定义。例:定义坐标轴范围对观察图形的影响。x=0:.01:pi/2;figure(1)plot(x,tan(x),'-ro')%ymam=tan(1.57),而其他数据都很小,结果将%使图形难于进行观察和判断。figure(2)plot(x,tan(x),'-ro')axis([0,pi/2,0,5])%对坐标轴的范围进行控制就可得到较满意的绘图结果(2)显示比例对绘图结果的影响例:比较(Default,axissquare,axisequal,axistight)几种不同的显示方式的显示效果。t=0:pi/20:2*pi;figure(1)subplot(2,1,1)plot(sin(t),2*cos(t))%缺省状态下的图形比例gridonsubplot(2,1,2)plot(sin(t),2*cos(t))axissquare%正方形的显示比例gridonfigure(2)subplot(1,2,1)plot(sin(t),2*cos(t))axisequal%具有相等的刻度比例gridonsubplot(1,2,2)plot(sin(t),2*cos(t))axistight%紧缩形式gridon3.图形标注:MATLAB的图形标注方法(表6—7)title标题,xlabelx轴标注,ylabely轴标注,text任意定位的标注gtext鼠标定位标注,legent标注图例图形标注可以使用字母,数字,汉字或按规定的方法表示希腊字母,如\pi表示π,\leq表示≤,\rm表示后面的字恢复为正体字,\it表示斜体字,FontSize表示字体的大小,FontName表示字体的类型等。可以使用图形窗口的Insert菜单,也可以使用属性编辑器,还可以使用函数输入的方法加标注,以下介绍相关函数的使用方法。(1).加注坐标轴标识和图形标题加注坐标轴标识:xlabel('s'),ylabel('s')图形标题:title('s')例:加注坐标轴标示和图形标题。t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis([02*pi,-11])xlabel('0\leq\itt\rm\leq\pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书','FontSize',20)(2).图中加注文本text(x,y,'字符串')例:在上图中加语句。t=0:pi/100:2*pi;y=sin(t);plot(t,y)axis([02*pi,-11])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),'\leftarrowsin(t)=0','FontSize',16)text(5*pi/4,sin(5*pi/
本文标题:第六章图形处理功能
链接地址:https://www.777doc.com/doc-2158552 .html