Matlab图形功能简介.ppt
Matlab图形功能简介,Matlab具有强大的图形显示功能 具体介绍:1、二维图形显示功能 2、二维图形显示功能,Matlab二维图形显示功能,在线性坐标系中绘制二维数据plot函数 常用函数调用plot(x,y),其中x和y均为矢量 x定义为x坐标的离散坐标矢量 y定义为y方向上,关于x矢量的矢量计算结果,Plot函数示例,t=0:pi/100:2*pi;y=sin(t);plot(t,y),Plot函数示例,自动调用不同颜色 t=0:pi/100:2*pi;y=sin(t);plot(t,y)y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,t,y2,t,y3),指定线型,线型:实线“-”点划线“-.”虚线“:”破折线“”五角星形“p”六角星形“h”,线型示例,t=0:pi/100:2*pi;y=sin(t);plot(t,y)y2=sin(t-0.25);y3=sin(t-0.5);plot(t,y,-,t,y2,-,t,y3,:),线型示例,plot(t,y,-.,t,y2,h,t,y3,p),指定线型,标记类型:圆圈“o”点“.”星号“*”叉号“x”加号“+”正方形“s”菱形“d”向下三角形“v”,指定线型,预定的颜色标识:青色“c”、紫色“m”黄色“y”、黑色“d”红色“r”、绿色“g”蓝色“b”、白色“w”,指定线型,绘制指定线型、标记符号、颜色的一般形式为:plot(x,y,linestyle_maker_color)如plot(x,y,:squarey)表示一条颜色为黄色的虚线,并在该虚线的每个数据点上均作上一个小的方块标记。,指定线型示例,plot(t,y,-*r,t,y2,-sg,t,y3,:ob),指定线型,需要指出,参数字符串可以按任意顺序排列。即linestyle_maker_color的顺序可以互换。plot(x,y,go-.)同样可以绘制一条带有圆形标记的点划线。,指定线条的颜色和大小,LineWidth以点数为单位指定线条宽度 MarkerEdgeColor指定标记符号的颜色(对封闭标记符号,该属性用于指定边界颜色)MarkerFaceColor对封闭标记符号有效,用于指定其填充色。MarkerSize以点数为单位指定标记符号的大小。,指定线条的颜色和大小,x=-pi:pi/10:pi;y=tan(sin(x)-sin(tan(x);plot(x,y,-ro,LineWidth,2,.MarkerEdgeColor,k,.MarkerFaceColor,g,.MarkerSize,10),图形叠加,将hold 指令设置为ON,则再次绘图时将不再清除已经绘制的图形。x=-pi:pi/10:pi;y=tan(sin(x)-sin(tan(x);plot(x,y,-ro,LineWidth,2,.MarkerEdgeColor,k,.MarkerFaceColor,g,.MarkerSize,10)hold ont=0:pi/100:2*pi;y=sin(t);plot(t,y),离散数据点的绘制,只绘制表示数据的点,而不将其连成完整的线条。做法:忽略线型属性。x=0:pi/15:4*pi;y=exp(2*cos(x);plot(x,y,rx),离散数据点的绘制,当然也可以同时绘制数据点和连接这些数据点的线条。x=0:pi/15:4*pi;y=exp(2*cos(x);plot(x,y,-r,x,y,ok),黑白图形的绘制,考虑到多数打印机是黑白的,通过线型和标记(而不是颜色)符号来区分不同线条。x=0:pi/15:4*pi;y1=exp(2*cos(x);y2=exp(2*sin(x);plot(x,y1,-*k,x,y2,-.ok),矩阵数据的绘制,如果调用plot来绘制一个矩阵,则MATLAB将该矩阵的每一列绘制成一条线,其横坐标为行标1:m。Z=peaks;plot(Z),三维曲线图的绘制,MATLAB的三维绘图函数主要是plot3函数调用方式plot3(x,y,z)将在三维空间产生一条曲线,线上的点的坐标分别为x,y,z的相应元素。t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)axis squaregrid on,三维曲线图的绘制,如果plot3函数的参数为3个相同大小的矩阵,则绘制这些矩阵的三维曲线。X,Y=meshgrid(-2:0.1:2);Z=X.*exp(-X.2-Y.2);plot3(X,Y,Z)grid on,绘图的窗口创建,新增绘图窗口:figurefigure(1)为创建窗口1,figure(2)即窗口2在同一窗口中绘制多个图形subplotsubplot(2,1,2),即该窗口有2行1列,该指令为绘制第一列第二行的图形。,绘图的窗口创建,figureX,Y=meshgrid(-2:0.1:2);Z=X.*exp(-X.2-Y.2);subplot(2,1,1)plot3(X,Y,Z)grid onZ=peaks;subplot(2,1,2)plot(Z),坐标轴标签和图形注释,Z=peaks;plot(Z)xlabel(X Axis)ylabel(Y Axis)zlabel(Function Value)title(Peaks),创建三维MATLAB图形,常用网格和表面图形的绘制1、mesh(Z)创建一个彩色的、带有线框的表面视图其中Z(i,j)定义了栅格(i,j)之上表面的高度。2、surf(Z)创建一个彩色的、由多个小面组成的表面视图每个小面是四角形的,有固定颜色,黑色边界线,常用网格和表面图形的绘制,X,Y=meshgrid(-8:.5:8);创建矩阵X和矩阵YR=sqrt(X.2+Y.2)+eps;加上eps是为了避免R为0.Z=sin(R)./R;figuremesh(Z),常用网格和表面图形的绘制,X,Y=meshgrid(-8:.5:8);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;surf(X,Y,Z)shading interp;%内插配色方案daspect(5 5 1)axis tightview(50,30)camlight left,表面图形的透明处理,默认情况,MATLAB将自动隐藏。表面图形都是实心的,即不透明的。可以用hidden off 指令将图形表面作透明处理。X,Y=meshgrid(-8:.5:8);R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;figuremesh(Z);hidden off,颜色映射表,MATLAB中的colorbar函数用于显示当前的颜色映射表x,y=meshgrid(-2:.2:2);Z=x.*exp(-x.2-y.2);surf(x,y,Z,Gradient(Z)colorbar,表面曲率的颜色映射,P=peaks(40);C=del2(P);surf(P,C)colormap hot另外还创建有其他颜色映射表,如:hsv、hot、cool、summer、gray等,视点的变换,MATLAB用view命令指定视点相对于坐标原点的水平转角和仰角。默认情况下:二维图形的水平转角为0度,仰角为90度。三维图形的水平转角为-37.5度,仰角为30度。,视点的变换,在默认的视点下绘制的图形:X,Y=meshgrid(-2:.25:2);Z=X.*exp(-X.2-Y.2);surf(X,Y,Z),视点的变换,view(180 0),视点的变换,view(60 20),视点的变换,view(60 100),MATLAB中的灯光命令,MATLAB中的灯光对象light函数可以创建灯光对象,其中:Color属性用于指定灯光对象的灯光颜色。Style属性用于指定光源类型:无限远(默认)或本地。Position属性用于指定光线方向(无限远光源)或光源位置(本地光源)。,向图像场景添加灯光效果,没有灯光的表面图形利用membrane函数绘制的表面图形:membrane添加灯光1:light(position,0-2 1)添加灯光2:light(position,1 0 1)添加灯光3:light(position,2 2 10),无灯光效果1,向图像场景添加灯光效果1,向图像场景添加灯光效果2,向图像场景添加灯光效果3,无灯光效果2,ezsurf(sin(sqrt(x2+y2)/sqrt(x2+y2),-60*pi,60*pi,向图像场景添加灯光效果,ezsurf(sin(sqrt(x2+y2)/sqrt(x2+y2),-6*pi,6*piview(0,75)shading interplightangle(-45,30)set(findobj(gca,type,surface),.FaceLighting,phong,.AmbientStrength,.3,DiffuseStrength,.8,.SpecularStrength,.9,SpecularExponent,25,.BackFaceLighting,unlit),