MATLAB数据和函数的可视化.ppt
《MATLAB数据和函数的可视化.ppt》由会员分享,可在线阅读,更多相关《MATLAB数据和函数的可视化.ppt(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 数据和函数的可视化matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。matlab语言的绘图功能 不仅能绘制几乎所有的标准图形,而且不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。其表现形式也是丰富多样的。matlabmatlab语言不仅具有高层绘图能力,而语言不仅具有高层绘图能力,而且还具有底层绘图能力且还具有底层绘图能力句柄绘图方句柄绘图方法。法。在面向对象的图形设计基础上,使得用在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。户可以用来开发各专业的专用图形。6.1 引导6.1.1 离散数据和
2、离散函数的可视化6.1.2 连续函数的可视化6.1.3 可视化的一般步骤6.2 二维曲线绘图的基本操作6.2.1 plot命令基本调用格式6.2.2 曲线的色彩、线型和数据点型6.2.3 坐标、刻度和分格线6.2.4 图形标志6.2.5 多次叠绘、双纵坐标和多子图6.2.6 交互图形指令6.2.1 plot命令基本调用格式(1)plot 最基本的二维图形指令plot的功能:plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y 轴用对数坐标表示plot的调用格式 plot(
3、x)缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y)基本格式,以y(x)的函数关系作出直角坐标图,如果y为nm的矩阵,则以x 为自变量,作出m条曲线plot(x1,y1,x2,y2)多条曲线绘图格式 plot(x,y,s)开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前13个字母,如 yellowyel表示等。或plot(x1,y1,s1,x2,y2,s2,)6.2.2 曲线的色彩、线型和数据点型1.色彩和线型色彩:符号:b,g,r,c,m,y,k,w 含义:蓝 绿 红 青 品 黄 黑 白线型:符号:-,:,-.,-含义:实线
4、虚线 点划 双划 6.2.2 曲线的色彩、线型和数据点型2.数据点型符号含义符号含义.实心黑点d菱形+十字符h六角心符*八线符o空心圆圈朝上三角符p五角星符朝右三角符x叉字符v朝下三角符【例6.2.2.2-1】用图形演示平面上一个方块四个顶点在仿射投影(Affine Projection)下的位置、形状变化。分别实现矩阵平移、旋转和刻度变换%平面上四个点和它们构成的方块平面上四个点和它们构成的方块p1=-0.5,0,1;p2=-0.5,1,1;p3=0.5,1,1;p4=0.5,0,1;Sq=p1,p2,p3,p4,p1;%平移投影平移投影:dx=0.5;dy=1;T=1,0,dx;0,1,d
5、y;0,0,1;%旋转投影:逆时针旋转旋转投影:逆时针旋转30th=pi/6;R=cos(th),-sin(th),0;sin(th),cos(th),0;0,0,1;%刻度投影:刻度投影:alpha=2;beta=3;S=alpha,0,0;0,beta,0;0,0,1;E=eye(3,3);%TRS=E,T,R,S;ss=r,rd,rp,rh;tt=Original Square,Translation,Rotation,Scaling;for i=1:4W=TRSi*Sq;%进行仿射变换进行仿射变换subplot(2,2,i)for k=1:4plot(W(1,k),W(2,k),ssk
6、);%用不同点形标志四个顶点用不同点形标志四个顶点axis(-3,3,-1,5),axis equalhold onendplot(W(1,:),W(2,:)%连接四个顶点使得图形封闭连接四个顶点使得图形封闭grid on%title(tti)%hold off%end6.2.3 坐标、刻度和分格线控制1、坐标控制2、刻度、分格线和坐标框坐标控制【例6.2.3.1-1】观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15 的椭圆。注意:采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。本书这样处理,是出于篇幅考虑。读者欲想准确体会控制指
7、令的影响,请在全图状态下进行观察。(图6.2-6)t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);%subplot(2,3,1),plot(x,y),axis normal,grid on,title(Normal and Grid on)subplot(2,3,2),plot(x,y),axis equal,grid on,title(Equal)subplot(2,3,3),plot(x,y),axis square,grid on,title(Square)subplot(2,3,4),plot(x,y),axis image,box off,t
8、itle(Image and Box off)subplot(2,3,5),plot(x,y),axis image fill,box offtitle(Image and Fill)subplot(2,3,6),plot(x,y),axis tight,box off,title(Tight)2、刻度、分格线和坐标框(1)刻度设置set(gca,xtick,xs,ytick,ys,ztick,zs);set(gca,xticklabel,sx,);(2)分格线gridgrid on(off)(3)坐标框boxbox on(off)【例例6.2.3.2-1】通过绘制二阶系统阶跃响应,综合演通过
9、绘制二阶系统阶跃响应,综合演示图形标识。本例比较综合,涉及的指令较广。请示图形标识。本例比较综合,涉及的指令较广。请读者耐心读、实际做、再看例后说明,定会有匪浅读者耐心读、实际做、再看例后说明,定会有匪浅收益。(图收益。(图6.2-7)clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);tt=t(find(abs(y-1)0.05);ts=max(tt);plot(t,y,r-,LineWidth,3)axis(-inf,6*pi,0.6,inf)set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,ma
10、x(y)grid on%title(it y=1-e-alphatcosomegat)%text(13.5,1.2,fontsize12alpha=0.3)%text(13.5,1.1,fontsize12omega=0.7)%hold on;plot(ts,0.95,bo,MarkerSize,10);hold offcell_string1=fontsize12uparrow;cell_string2=fontsize16 fontname隶书隶书镇定时间镇定时间;cell_string3=fontsize6 ;cell_string4=fontsize14rmt_s=num2str(ts
11、);text(ts,0.85,cell_string)xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow)latextext=(s,p)(text(Interpreter,latex,String,s,Position,p,fontsize,14);latextext($-pi$,-pi-.25,-1.1);latextext($-fracpi2$,-pi/2-.25,-1.1);latextext($fracpi2$,pi/2-.1,-1.1);latextext($pi$,pi-.1,-1.1);set(gca
12、,xtick,-pi -pi/2 0 pi/2 pi);set(gca,xticklabel,0 );axis(-pi pi,-1 1);6.2.4 图形标识图形标识1、简捷指令形式titlexlabel,ylabel,zlabellegend(s1,s2,)text(xt,yt,s)2.精细指令形式精细指令形式(1)允许标识多行字符允许标识多行字符指令指令arg取值取值 举举 例例示例指令示例指令效果效果单单行行arg任何任何合法合法字符字符Single lineSingle line多多行行arg1,arg2元胞数组元胞数组,标志标志,Multiline元胞数组元胞数组标志标志Multil
13、inearg1;arg2元元 胞胞 数数 组组;标标 志志;Multiline元元 胞胞 数数 组组标标 志志Multiline(2)允许标识字体允许标识字体,风格及大小进行设风格及大小进行设置置字字体体指令指令arg取值取值 举举 例例示例指令示例指令效果效果名名称称fontnameargarial;courier;roman;宋体宋体;隶书隶书;黑体黑体fontnamecourierExample 1风风格格argbf-黑体黑体lt-斜体斜体sl斜体斜体rm正体正体bfExample 3大大小小fontsizearg正整数正整数缺省值为缺省值为0fontsize14 Example 5(3
14、)允许使用上下标允许使用上下标指令指令arg取值取值 举举 例例示例指令示例指令效效果果上标上标arg任何合法字符任何合法字符ite-tsint下标下标_arg任何合法字符任何合法字符xchi_alpha2(3)(4)允许标识希腊字符和其他特殊字符允许标识希腊字符和其他特殊字符6.2.5 多次叠绘、双纵坐标和多子图1、多次叠绘hold hold on(off)2.多窗口绘图 figure(n)创建窗口函数,n为窗 口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)自动出现第一个窗口figure(2)plot(
15、t,y1)在第二窗口绘图figure(3)plot(t,y2)在第三窗口绘图例:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-);x=1.7*pi;1.6*pi;y=-0.3;0.8;s=sin(t);cos(t);text(x,y,s);title(正弦和余弦曲线);legend(正弦,余弦)xlabel(时间t),ylabel(正弦、余弦)gridaxis square3.双纵坐标图plotyy(X1,Y1,X2,Y2)plotyy(X1,Y1,X2,Y2,FUN)plotyy(X1,Y1,X2,Y2,FUN1,FUN2)4.多子图sub
16、plot 子图分割命令调用格式:subplot(m,n,p)按从左至右,从上至下排列subplot(position,left bottom width height)6.2.6 交互式图形指令ginputx,y=ginput(n)用鼠标从二维图形上获取n个点的数据坐标(x,y).gtextgtext(arg)用鼠标把字符串元胞数组arg放置到图形上.legendlegend(arg,pos);legend off;zoom6.3三维绘图的基本操作6.3.1 三维线图指令plot36.3.2三维网线图和曲面图6.3.3透视、镂空和裁切6.3.1 三维线图指令plot3t=(0:0.02:2)*
17、pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,b-,x,y,z,bd)view(-82,58)box onlegend(链,宝石)6.3.2三维网线图和曲面图三维网线图和曲面图用曲面图表现函数。clf,x=-4:4;y=x;X,Y=meshgrid(x,y);Z=X.2+Y.2;surf(X,Y,Z);hold on,colormap(hot)stem3(X,Y,Z,bo)(1)三维网线图mesh 三维网线绘图函数调用格式:mesh(z)z为nm的矩阵,x与y 坐标为元素的下标 mesh(x,y,z)x,y,z分别为三维空 间的坐标位置三维网线图作图要
18、领生成坐标 X,Y=meshgrid(x,y)表达式点运算 Z=X.2+Y.2X,Y是nm的矩阵,维数可任定X nY mZ默认方位角:37。5,俯角30。nm维 meshgrid 网线坐标值计算函数 z=f(x,y)根据x,y坐标找出z的高度例:绘制z=x2+y2的三维网线图形 x=-5:5;y=x;X,Y=meshgrid(x,y)Z=X.2+Y.2 mesh(X,Y,Z)坐标矩阵坐标向量纵坐标矩阵绘图函数(2)三维曲面图surf 三维曲面绘图函数,与网格图 看起来一样与三维网线图的区别:网线图:线条有颜色,空挡是黑色的(无颜色)曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿
19、z轴按每一网格变化调用格式:surf(x,y,z)绘制三维曲面图,x,y,z 为图形坐标向量例:X,Y,Z=peaks(30)peaks为matlab自动生成的三维测试图形surf(X,Y,Z)surfc(X,Y,Z)带等高线的曲面图 X,Y,Z=peaks(30);surfc(X,Y,Z)surfl(X,Y,Z)被光照射带阴影 的曲面图X,Y,Z=peaks(30);surfl(X,Y,Z)6.3.3透视、镂空和裁切透视、镂空和裁切透视演示透视演示X0,Y0,Z0=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interphol
20、d on,mesh(X,Y,Z),colormap(hot),hold offhidden offaxis equal,axis off 演示:如何利用演示:如何利用“非数非数”NaN,对图形进,对图形进行行镂空镂空处理。处理。P=peaks(30);P(18:20,9:15)=NaN;surfc(P);colormap(summer);light(position,50,-10,5);lighting flat;material(0.9,0.9,0.6,15,0.4);表现切面(将切面部分强制为零)clf,x=-8:0.05:8;y=x;X,Y=meshgrid(x,y);ZZ=X.2-Y.
21、2;ii=find(abs(X)6|abs(Y)6);ZZ(ii)=zeros(size(ii);surf(X,Y,ZZ);shading interp;colormap(copper);light(position,0,-15,1);lighting phong;material(0.8,0.8,0.5,10,0.5)6.4特殊图形和高维可视化特殊图形和高维可视化6.4.1特殊图形指令例示特殊图形指令例示6.4.2四维表现四维表现6.4.3动态图形动态图形6.4.16.4.1特殊图形指令例示特殊图形指令例示1.1.面域图面域图areaarea2.2.各种直方图各种直方图bar,barh,ba
22、r3,bar3hbar,barh,bar3,bar3h3.3.饼图饼图pie,pie3pie,pie34.4.填色图填色图fill,fill3fill,fill35.5.射线图射线图compasscompass和羽毛图和羽毛图featherfeather6.Vornonoi6.Vornonoi图和三角剖分图和三角剖分7.7.彩带图彩带图ribbonribbon8.8.离散杆图离散杆图stem,stem3stem,stem39.9.二维半图指令二维半图指令pcolorpcolor,contourcontour,contourfcontourf10.10.散点图散点图scatterscatter,
23、scatter3scatter3,plotmatrixplotmatrix11.11.不规则数据的网线图和曲面图不规则数据的网线图和曲面图trimeshtrimesh,trisurftrisurf1.面域图areaclf;x=-2:2Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5Cum_Sum=cumsum(Y)area(x,Y,0)legend(因素因素A,因素因素B,因素因素C),grid on,colormap(spring)2.各种直方图bar,barh,bar3,bar3h二维直方图有两种图型:二维直方图有两种图型:垂直直方图垂直直方图和和水平直水平直方图方图。而每种
24、图型又有两种表现模式:累计式:。而每种图型又有两种表现模式:累计式:分组式。本例选其两种加以表现。分组式。本例选其两种加以表现。x=-2:2;Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5;subplot(1,2,1),bar(x,Y,stacked)xlabel(x),ylabel(Sigma y),colormap(cool)legend(因素因素A,因素因素B,因素因素C)subplot(1,2,2),barh(x,Y,grouped)xlabel(y),ylabel(x)3.饼图pie,pie3饼图指令pie,pie3pie,pie3 用来表示各元素占总和的百分数。该指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数据 函数 可视化
限制150内