资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MATLAB,程序设计基础,MATLAB,的图形处理,二维图形,基本绘图命令,plot(Y,),Y,为实向量,则以,Y,的索引坐标作为横坐标,,Y,作为纵坐标来绘制图形。,例:,y=rand(100,1);,plot(y,),如果,Y,为复数向量,则以向量的实部作为横坐标,虚部作为纵坐标,来绘制图形。,例:,x=rand(100,1);,z=,x+y,.*i;,plot(z,),plot(X,Y,),第一个变量作为横坐标,第二个变量作为纵坐标。,例:,x=0:0.01*,pi:pi,;,y=,sin(x,).*,cos(x,);,plot(x,y,),注:两个向量必须维数相同且同为行向量或列向量。,当,X,和,Y,为同阶矩阵时,按照矩阵的行或列操作,可以在同一幅图中绘出所有曲线。,例:,x=0:0.01*pi:pi;,y=sin(x),cos(x);,plot(x,x,y);,plot(X,Y,s,),s,参数:,-,实线,.,点* 星号,上三角,: 点线,o,圆,s,方形,右三角,-,虚线,+ +,号,v,下三角,p,正五边形,y,黄色,m,紫红色,c,蓝绿色,r,红色,g,绿色,b,蓝色,w,白色,k,黑色,上述参数的不同组合可以为图形设置不同的线形、颜色和标识,调用时以单引号来引用,各选项直接相连,不需要分隔符。,例:,x=0:0.1*pi:pi;,y=sin(x);,z=cos(x);,plot(x,y,-k,x,z,-.rd),特殊二维图形函数,特殊坐标系的二维函数,对数坐标,semilogx,、,semilogy,、,loglog,格式与,plot,类似。,例:,x=1:0.1*pi:2*pi;,y=,sin(x,);,semilogx(x,y,-*),极坐标系,polar(theta,rho,),polar(theta,rho,s,),其中,,theta,为角向量,,rho,为幅向量,,s,为图形属性选项。,例:,x=1:0.01*pi:4*pi;,y=sin(x/2)+x;,polar(x,y,-),双,y,轴坐标系,plotyy(X1,Y1,X2,Y2),plotyy(X1,Y1,X2,Y2,fun),plotyy(X1,Y1,X2,Y2,fun1,fun2),其中,,fun,、,fun1,、,fun2,可以为,plot,、,semilogx,、,semilogy,、,loglog,等。,例:,x=1:0.1*pi:2*pi;,y=,sin(x,);,z=,exp(x,);,plotyy(x,y,x,z,plot,semilogy,),二维特殊函数图,area,填充绘图,fplot,函数图绘制,bar,条形图,hist,直方图,barh,水平条形图,pareto,Pareto,图,comet,彗星图,pie,饼状图,errorbar,误差带图,plotmatrix,分散矩阵图,ezplot,简单绘制函数图,ribbon,三位图的二维条状显示,ezpolar,简单绘制极坐标图,scatter,散射图,feather,矢量图,stem,离散序列饼状图,fill,多边形填充,stairs,阶梯图,例:绘制条形图,?x=1:10;,?y=rand(10,1);,?,bar(x,y,);,例:绘制矢量图,?x=0:0.1*pi:2*pi;,?y=x.*,sin(x,);,?,feather(x,y,),例:函数图形绘制,?lim=0,2*pi,-1,1;,?fplot(sin(x),cos(x),lim),例:绘制饼图,?x=2 4 6 8;,?,pie(x,),绘制等高线图,contour(Z,N,/V),contour(X,Y,Z,N,/V),N,为所绘等高线的条数,,V,为输入向量,等高线的值为对应向量的元素值。,例:,?a=,rosser,;,?v=-1000,-500,-100,0,100,500,1000;,?,contour(a,v,),?,contourf(a,v,),三维图形,基本绘图命令,plot3,函数,plot3(x,y,z),x,y,z,为相同维数的向量,绘出这些向量表示的点的曲线。,plot3(X,Y,Z) X,Y,Z,为相同阶数的矩阵,绘出矩阵列向量的曲线。,plot3(X,Y,Z,s) s,为定义线型的字符串。,plot3(x1,y1,z1,s1,x2,y2,s2,),例:绘三维螺旋线,?x=0:pi/50:10*pi;,?y=,sin(x,);,?z=,cos(x,);,?plot3(x,y,z);,网图函数,X,Y=,meshgrid(x,y,),x,y,为给定向量,用来定义网格的划分区域和划分方法。矩阵,X,和,Y,为网格划分后的数据矩阵。,例:,?x,y=meshgrid(-3:0.1:3,-2:0.1:2);,?z=(x.2-2*x).*exp(-x.2-y.2-x.*y);,?plot3(x,y,z),mesh(X,Y,Z,),绘制彩色网格面图形,mesh(x,y,Z,),x,y,为两个向量,要求,length(y),length(x,)=,size(Z,),mesh(Z,),m,n,=,size(Z,),则使用,x=1:n,及,y=1:m,例:,?x=-8:0.5:8;y=x;,?a=,ones(size(y,)*x;,?b=y*,ones(size(x,);,?c=sqrt(a.2+b.2)+eps;,?z=,sin(c)./c,;,?,mesh(z,),meshc,与,mesh,调用方式相同,且能绘制相应的等高线。,例:,?x,y=meshgrid(-4:0.5:4);,?z=sqrt(x.2+y.2);,?meshc(z),meshz,与,mesh,调用方式相同,增加了边界面屏蔽。,例:,?x,y=meshgrid(-4:0.5:4);,?z=sqrt(x.2+y.2);,?meshz(x,y,z),着色函数,surf(X,Y,Z,),绘制着色的三维表面图,参数设置与,mesh,相同。,例:,?,x,y,=meshgrid(-4:0.5:4);,?z=sqrt(x.2+y.2);,?,surf(x,y,z,),三维等高线,例:,?,waterfall(z,),?,x,y,=meshgrid(-4:0.5:4);,?contour3(peaks(x,y),25);,特殊三维图形函数,bar3,三维条形图,surfc,着色与等高线结合,comet3,三维彗星轨迹图,trisurf,三角形表面图,ezgraph3,函数控制绘制三位图,trimesh,三角形网格图,pie3,三维饼状图,waterfall,瀑布图,scatter3,三维散射图,cylinder,柱面图,stem3,三维离散数据图,sphere,球面图,绘三维饼图,例:,?x=2 4 6 8;,?pie3(x,0,0,1,0),柱面图,:,X,Y,Z=,cylinder(R,N,),R,为母线向量,,N,为旋转圆周上分割线的条数。,例:,?x=0:pi/20:pi*3;,?r=5+cos(x);,?a,b,c=cylinder(r,30);,?mesh(a,b,c),图形处理常用技术,图形控制,坐标轴控制函数,axis(V,),V,为坐标轴范围数组:,二维图形:,V=XMIN,XMAX,YMIN,YMAX,三维图形:,V=XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX,axis ,控制字符串,auto,自动模式,axis,当前坐标设置固定,equal,控制各坐标轴的分度使其相等,square,使绘图区为正方形,normal,解除对坐标轴的任何限制,坐标轴缩放函数,zoom ,控制字符串,实现对二维图的缩放,on,允许对图形缩放,off,禁止对图形缩放,(factor),以,factor,为缩放因子进行坐标轴缩放,out,恢复所进行的一切缩放,xon,只允许对,x,轴进行缩放,yon,只允许对,y,轴进行缩放,平面坐标网格函数,grid on/off,显示和取消网格,坐标轴封闭函数,box on/off,四周显示坐标轴和常规坐标轴,图形的标注,坐标轴标注,title,xlabel,ylabel,(,标注,属性,1,属性值,1,),例:,?x=0:0.1*pi:2*pi;,?y=,sin(x,);,?,plot(x,y,),?xlabel(x(02pi),FontWeight,bold);,?,ylabel(y,=,sin(x),FontWeight,bold,);,?title(,正弦函数,Fontsize,12,fontweight,bold,fontname,黑体,),特殊符号的输入,转义符号,alphaGamma,betaDelta,gammaTheta,deltaLambda,epsilonXi,zetaPi,eta,omega,theta,标注的显示控制,bf,黑体,it,斜体,rm,标准形式,fontnamefontname,字体名,fontsize(fontsize,),字体大小,特殊符号如,”,”,、,”,“,、,”,“,等,用”,”,来引导。,上标和下标,调用符为,”,_”,和,”,”,相应的内容置于, ,内。,例:,?x=-10:0.1:10;,?y=exp(-x.2/2);,?title(bf y=e-x2/2),文本标注,text(x,y,标注文本及控制字符串,),(,x,y,),为给定标注文本在途中添加的位置。,例:,?x=1:0.1*pi:2*pi;,?y=sin(x);,?plot(x,y);,?text(3*pi/4,sin(3*pi/4),leftarrow sin(3pi/4)=-7.707),复杂文本标注,例:,?x=1:0.1*pi:2*pi;,?y=,sin(x,);,?,plot(x,y,);,?text(3*pi/4,sin(3*pi/4),leftarrow sin(3pi/4)=,num2str(sin(3*pi/4),fontsize,12),?text(5*pi/4,sin(5*pi/4),sin(5pi/4)=,num2str(sin(5*pi/4),rightarrow,.,horizontalalignment,right,fontsize,12),交互式文本标注,gtext(s,),执行时,图形中出现“十”字型交叉线供用户选择标注位置。,S,为标注内容的字符串,标注内容为多行时,,s,为一单元型字符数组。,图例标注,legend(,标注,1,,标注,2,,,),标注,1,、标注,2,等分别对应绘图过程中绘制的先后顺序的曲线。,例:,?x=1:0.1*pi:2*pi;,?y=sin(x);,?z=cos(x);,?plot(x,y,x,z),?legend(sin(x),cos(x),legend(,标注,定位代号,),定位代号:,0,自动定位,1,右上角,2,左上角,3,左下角,4,右下角,1,右外侧,图形的保持和子图,图形的保持,hold on,启动图形保持功能,此后所有的图形都添加到当前的图形窗口中,系统会自动调整坐标。,hold off,关闭图形保持功能。,例:,?x=0:0.1*pi:2*pi;,?y=,sin(x,);,?z=,cos(x,);,?,plot(x,y,-*),?hold on,?,plot(x,z,-o,),?,plot(x,y+z,-h,),?legend(sin(x),cos(x),sin(x)+cos(x),0),?hold off,子图,subplot(m,n,p,),将一个图形窗口分隔成,mn,格区域,参数,p,指定子绘图区域。,例:,?x=0:0.1*pi:2*pi;,?subplot(2,2,1);,?,plot(x,sin(x,),-*),?,title(sin(x,),?subplot(2,2,2);,?,plot(x,cos(x),-o,),?,title(cos(x,),?subplot(2,2,3);,?,plot(x,sin(x,).*,cos(x),-x,),?,title(sin(x,)*,cos(x,),?subplot(2,2,4);,?,plot(x,sin(x)+cos(x),-h,),?,title(sin(x)+cos(x,),图形处理的高级技术,颜色,采用,RGB,色系,由矩阵,R,G,B,来表示颜色的映像。,R,G,B,颜色,0,0,0,黑色,1,1,1,白色,1,0,0,红色,0,1,0,绿色,0,0,1,蓝色,1,1,0,黄色,1,0,1,洋红,0,1,1,青色,2/3,0,1,天蓝,1,1/2,0,橘黄,0.5,0,0,深红,0.5,0.5,0.5,灰色,常用的颜色映像,(默认状态为,643,颜色矩阵),颜色映像,相应颜色系,颜色映像,相应颜色系,autumn,红黄色系,hsv,红色调饱和色系,bone,蓝色灰系,jet,蓝色调饱和色系,colorcube,增强颜色系,lines,线性色系,cool,青和洋红色系,pink,柔和色系,copper,铜色系,prism,棱镜色系,flag,红白蓝黑交替色系,spring,洋红、黄色系,gray,线性灰色色系,summer,绿黄色系,hot,黑红黄白色系,winter,蓝绿色系,vga,Windows16,位色系,着色过程,生成颜色映像,colormap(c,),c,为颜色映像矩阵,,3,列,行数不限,图形应用函数,如,pcolor,、,colorbar,等,着色方式,shading c,c,为控制字符串,分别为,faceted,、,interp,和,flat,。其中,faceted,以平面作为着色单位,为默认形式;,interp,以插值形式为图形像点着色;,flat,以平滑形式着色。,pcolor(c,),以当前的颜色映像为矩阵,c,进行着色。,例:,?colormap(hot(80),?pcolor(rand(6,8);,?shading,interp,rgbplot(c,),将矩阵的三列值分别以红、绿、蓝绘出。,colorbar(vert,),%,垂直显示颜色标尺,colorbar(horiz,),%,水平显示颜色标尺,例:,?,x,y,z,=peaks;,?,mesh(x,y,z,);,?colormap(hot(80);,?,colorbar,brighten(beta,),beta,大于零时,增加当前的色彩强度;相反,当,beta,小于零时,削弱当前的颜色强度。,caxis(cmin,cmax,),cmin,cmax,=,caxis,函数自动控制图形中色彩和数值的对应关系。,colordef,colordef,none,将图形背景与窗口背景设为相同,colordef,black,将图形背景设为黑色,colordef,white,将图形背景设为白色,视觉与光照,视觉控制,view(az,el,),az,为方位角,即,xy,平面旋转的角度,顺时针方向旋转的角度为正;,el,为仰角,即从,xy,平面向,z,轴旋转的角度,朝向,z,轴的旋转(仰视)为正角度;单位均为度,而非弧度。,view(2),二维图形中视角的默认值,(0,90),view(3),三维图形中视角的默认值,(-37.5,30),az,el,=view,返回当前图形的视角。,例,: Z,轴正方向俯视图,?,contourf(a,v,),?,x,y,z,=peaks;,?colormap(hsv(100),?,mesh(x,y,z,),?view(0,90),viewmtx,给出指定视角的正交转换矩阵。,?a=viewmtx(0,90),a =,1.0000 0 0 0,0 1.0000 0.0000 0,0 -0.0000 1.0000 0,0 0 0 1.0000,rotate3d,触发图形窗口的,Rotate3d,选项,使用户可以方便的以鼠标来控制视角的变化。,光照控制,light(,属性,1,属性值,1,属性,2,属性值,2,),属性包括,Color, Style, Position,和,Visible,等。,例:,?,x,y,z,=peaks;,?,mesh(x,y,z,),?light(position,1,1,1),lighting ,光源模式,光源模式为,flat,、,gouraud,、,phong,以及,none,等;其中,flat,为平面模式,光照单元为图形网格;,gourand,为点模式,光照单元为象素点;,phong,为以象素为光照基本单元,且计算各点的反射比;,none,为关闭图形光源功能。,material ,表面控制模式,模式有,shiny,、,dull,、,metal,等,其中,shiny,使图形表面显示较为光亮的色彩模式,,dull,指表面显示较为阴暗的色彩模式,,metal,指表面呈现金属色泽模式。,surfl(X,Y,Z,S,K,),S,为光源控制变量具体形式为,Sx,Sy,Sz,光源位置和,az,el,视角;,K,为控制图形的表面形式,具体形式为,Ka,Kd,Ks,spread,其中,,Ka,表示背景光系数,,Kd,反映表面漫反射特性,,Ks,反映表面镜面反射特性,,spread,为镜面扩展因子。,例:,?,x,y,z,=peaks;,?surfl(x,y,z,1,1,1,0.55,0.8,0.1,0.1),光滑曲线,例:,?,x,y,z,=peaks;,?,surf(x,y,z,),?shading,interp,图像处理,用户可以对外部图形进行操作,或将,MATLAB,图形转换成其他图形类型。,A=,imread(filename,fmt,),filename,为图形文件名,,fmt,为图形类型,如果图形为灰度图像,则返回值,A,为两列矩阵;如果图形为彩色,则返回值为三列矩阵。,matlab,所识别的图形大致为,jpeg,、,tiff,、,bmp,、,png,、,hdf,、,pcx,和,xwd,。,imwrite(A,filename,fmt,),将图像矩阵写入外部文件,参数同,imread,。,imfinfo(filename,fmt,),返回一结构数组,反映图形详细的信息。,?,pictureinfo,=,imfinfo(s.jpg,jpg,),pictureinfo,=,Filename: ,s.jpg,FileModDate,: 15-Jan-2002 15:57:54,FileSize,: 14875,Format: jpg,FormatVersion,: ,Width: 320,Height: 240,BitDepth,: 24,ColorType,: ,truecolor,FormatSignature,: ,image(c,),显示图形,,c,为图形数据矩阵。,
展开阅读全文