MATLAB的可视化功能ppt课件
- 格式:ppt
- 大小:10.75 MB
- 文档页数:93
第五讲 MATLAB的数据可视化MATLAB的数据可视化几乎能满足一般实际工程、科学计算中所有图形需要。
Matlab可使用户计算所得的数据根据其不同情况转化成相应的图形。
可以选择直角坐标、极坐标等不同的坐标系;可以表现出平面曲线、空间曲线,绘制直方图、向量图、柱状图及空间网面图、空间表现图。
当初步完成计算结果的可视化后,Matlab还可对图形作进一步加工,如初级操作,如标注、添色、变换视角;中级操作,如控制色图、取局部视图、切片图;高级操作,如动画、句柄等。
2 二维图形2.1基本的绘图函数plot2.1.1向量式plot(v)v=[1,2,2,1,4];plot(v)t=0:pi/100:2*pi;x=cos(t);y=sin(t);A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16];若X,Y为同维向量若X为向量,Y有一维与X等维的矩阵X=0:pi/100:2*pi;X=X';Y=[sin(X),cos(X),cos(X+0.5)];plot(X,Y)t1=0:pi/100:2*pi;y1=cos(t1);t2=0:pi/100:4*pi;y2=sin(t2);plot(X1,Y1,S1,X2,Y2,S2,…)y1=sin(t);y2=cos(t);plot(t,y1,'+r:',t,y2,'og--')2.32.3.1函数简介bar 生成数据的bar图形compass 生成复数的平面向量图形errorbar 生成误差的bar图形feather 生成沿x-轴分布的复数向量图hist 生成向量的统计直方图polar 生成极坐标上的函数图形quiver 生成向量的梯度场或向量场rose 生成幅角的统计直方图stairs 与bar的作用相同,但无区间间隔线段fill 生成多边型区域并进行着色填充fplot 生成数学函数的函数图形semilogx 生成x为对数坐标,y为线性坐标图形semilogy 生成y为对数坐标,x为线性坐标图形loglog 生成双对数坐标图形plotyy 生成左右两侧带y轴的图形2.3.2极坐标图形t=0:0.01:2*pi;fplot('cos(tan(pi*x))',[-0.4,1.4])2.3.4 隐函数绘制f(x,y)=0ezplot(隐函数表达式)ezplot('x^2*sin(x+y^2)+y^2*exp(x+y)+5*cos(x^2+y)')3三维图形3.1三维函数简介plot3 3维曲线contour,contour3 等高线图mesh,meshc,meshz 网格图surf,surfc,surfl 着色图fill3 3维多边型填充图3.2 三维线型图形plot3(X1,Y1,Z1,S1,X2,Y2,Z2,S2,…)3.33.3.1平面网格点的生成[X,Y]=meshgrid(x,y)生成x-y平面上小矩形顶点坐标值的矩阵3.3.2计算所有网格点处的函数值3.3.3生成网格曲面meshx=-8:0.5:8;y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(Z)一般形式为mesh(X,Y,Z,C)C称为颜色矩阵,网格曲面的网格线的颜色由C值根据当前的色谱来着色mesh(Z)mesh(X,Y,Z)x=-4:4;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;mesh(X,Y,Z)meshz(Z) 带垂帘线的网格图 Z=peaks(30); meshc(Z)meshz(Z)3.4三维着色图surfsurf 的曲面生成过程与mesh 是类似的,所不同的是mesh 仅对网格线进行着色,surf 是对网格片进行着色,而网格线用黑色标出.surf(Z,C) surf(X,Y,Z,C) surf(x,y,Z,C) x=-1.5:0.3:1.5;y=-1:0.2:1; [X,Y]=meshgrid(x,y);Z=sqrt(4-X.^2/9-Y.^2/4);surfl(X,Y,Z) 带光照效果的着色图着色方式:shading faceted 缺省着色模式,网格线为黑色shading flat 与faceted 模式类似,只是网格线也分块着色shading interp 网格块区域内部像素的颜色由该4个顶点的颜色值做双线性插值 surfl(peaks(200)),shading interp;3.5等高线图形contourcontour(Z) contour(Z,n) contour(Z,v) contour(X,Y,Z,n) contour(X,Y,Z,v) contour(x,y,Z,n) contour(x,y,Z,v)C=contourc(X,Y,Z,n) C=contourc(X,Y,Z,v) 生成等高线的x-y 坐标数据 clabel(C) clabel(C) 等高线加高度标识 其中n 是绘制等高线的数目,可缺省v 是在向量v 指定的值上绘制等高线,可缺省 Z=peaks(40); contour(Z,6)C=contourc(Z,6); clabel(C)三维等高线contour3contour3(peaks(40),6)44.1定义在面上的三维函数[X,Y,Z]=sphere(30);T=abs(Z); %假设地球的气温函数surf(X,Y,Z,T))(222z y x xe v ++-=4.2作切片图slicev=f(x,y,z)[X,Y,Z]=meshgrid(x,y,z) slice(X,Y,Z,V,xi,yi,zi)函数的四维表现x=-2:0.1:2;y=-2:0.25:2;z=-2:0.25:2; [X,Y,Z]=meshgrid(x,y,z); V=X.*exp(-X.^2-Y.^2-Z.^2); xi=[-0.7,0.7];yi=0.5;zi=-0.5;slice(X,Y,Z,V,xi,yi,zi)xlabel('x');ylabel('y');zlabel('z');hold on colorbar('horiz')view([-30,45])5图形的标注5.1 图名和坐标轴的标注title('string')xlable('string') ylabel('string') zlabel('string')legend('string1','string2',…)5.2 所画图形的文字说明text(x,y,z,'string')gtext('string')5.3分格线grid ongrid offgridx=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,'b:',x,z,'k-')xlabel('varible x'),ylabel('function y and z'), title('sin and cos curves')grid ontext(3.3,0.1,'sin(x)')text(5.1,0.3,'cosx')66.1 图形的窗口创建和控制figure figure(n) clf6.2 子图形的创建和控制subplot(m,n,p)t=0:0.1:2*pi;x=sin(t);subplot(2,2,1)plot(t,x)subplot(2,2,2)polar(t,x)subplot(2,2,3)6.3hold on hold off hold6.4坐标轴的控制axis([xmin,xmin,ymin,ymax,zmim,zmax])axis('auto') 返回坐标轴的缺省状态(自动刻度)axis(axis) 保持刻度范围不变axis('ij') 以"矩阵(ij)"坐标轴表现图形axis('xy') 以缺省的笛卡尔坐标系表现图形axis('off') 使坐标系消隐axis('on') 使坐标系显现axis('equal') 使坐标系轴刻度增量相同axis('suare') 使坐标系轴长度相同axis('normal') 关闭axis('equal') 和axis('suare')[x,y,z]=peaks(20);subplot(1,2,1);mesh(z);axis('ij');title('矩阵坐标');xlabel('J轴');ylabel('I轴');subplot(1,2,2);mesh(z);axis('xy');title('笛卡尔坐标');xlabel('X轴');ylabel('Y轴');6.5视角的控制观察函数view(az,el)二维观察的缺省值为:az=0,el=90三维观察的缺省值为:az=-37.5,el=30Z=peaks(40);subplot(1,2,1);mesh(Z),view(-37.5,30)subplot(1,2,2);mesh(Z),view(-90,0)7色彩的控制和表现7.1 颜色的表示法用一个长度为3的实数向量表示色谱:由RGB值组成的m x 3维数值矩阵,每个MATLAB图形窗口关联一个色谱矩阵,即该图形窗口中图形对象可使用的颜色伪色谱:相对于图象来说非图象真实颜色的任何一个色谱调色板:图象的特定色谱,在该色谱下,图象颜色被真实地表现出来7.3系统色谱(色图函数)MATLAB缺省着色方式是通过线性变换的方式将颜色矩阵的数值元素映射到色谱矩阵的行索引号,以该行的RGB颜色值所决定的颜色对颜色矩阵元素对应的图形位置进行着色7.5基本操作colormap(MAP) 将当前图形的色谱设为 MAPcolormap(pink)color([110])rgbplot(MAP) 把色谱矩阵中的三列数分别用红、绿、蓝三种颜色画出来pcolor 绘伪彩色图,图形使用的色彩用于表示数据的大小,而不是自然的色彩colorbar 在图形窗口中增加水平或垂直的颜色标尺以显示当前所采用的色谱colorbar('vert')colorbar('horiz')Z=peaks(40);colormap(hot)mesh(Z)colorbar('horiz')8 图形的输出(尽量保持原图形的信息)8.1 打印输出8.2 文件保存 file save as…选文件格式(上面主要是以“命令”方式讲解,其实许多命令都可以在figure窗口完成)9 补充* 前面对图形的控制都是通过命令来完成的,其实可以通过Menu+Toolbar+Mouse来完成更方便。