第5章Matlab软件根蒂基本及应用_第1页
第5章Matlab软件根蒂基本及应用_第2页
第5章Matlab软件根蒂基本及应用_第3页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章数据和函数的可视化5. 1可视化的一般步骤绘制二维、三维图形的一般步骤步骤典型指令1曲线数据准备先取一个参变量采样向量T=pi*(0: 100)/100;X=f1 ( t); y=f2( t); z=f3( t);三维曲面数据产生自变量采样向量产生自变量“格点”矩阵 计算自变量“格点”矩阵 相应的函数矩阵x=x1:dx:x2;y=y1:dy:y2;X, Y=meshgrid(x,y); Z=f(X, Y);2选定图形窗及子图位置缺省时,打开Figure NO. 1,或 当前窗、当前子图可用指令指定图形窗口和子 图号figure ( 1) subplot(2,2,3)3调用三维曲线绘图指令

2、: 线型、色彩、数据点plot(x,y,'' plot3(x,y,z.'- 调用三维曲面绘图指令mesh(X, Y,Z)4设置轴的范围、坐标分格线axis(x1,x2,y1,y2) axis(x1,x2,y1,y2,z1,z2) grid on5图形注释:图名、坐标名、图例、文字 说明title ('调制波形)xlabel (' t' ); ylabel (' y') lege nd (' sin (tsin ( t) sin (9t)')text (2,0.5,'二sin(t)sin(9t)'6着

3、色、明暗、灯光、材质处 理(仅对三维图形使用)Colormap, shading, liht, material7视点、三度(横、纵、高) 比(仅对三维图形使用)view, aspect8图形的精细修饰(图柄操 作):利用对象属性值设置利用图形窗工具条进 行get set5. 2二维曲线绘图的基本操作5. 2. 1 plot基本调用格式(1)plot (X, s')X是实向量时,以该向量的下标为横坐标、元素值为纵 坐标画出一条连续曲线。X是实矩阵时,按列绘制每列元素值相对应其下标的曲 线,图中曲线数等于X阵列数。S是用来指定线型、色彩、数据点形的选项字符串。S 可为 Lin eWidt

4、h, MarkerEdgeColor, MarkerFaceColor, MarkerSize(2)plot( X,Y, s')X,Y是同维向量时,绘制以 X,Y元素为横、纵坐标 的曲线。X,Y是同维矩阵时,以X,丫对应列元素为横、纵坐 标分别绘制曲线,曲线条数等于矩阵的列数。(3)plot (X1 , 丫1, s1', X2, 丫 2, s2',)5. 3曲线的色彩、线型和数据点一.色彩和线型线型符号一含义实线虚线点划线双点划线色彩符号bgrcmykw含义蓝绿红青品红黄里八、白二.数据点形符号含义符号含义实心黑点d麦形付+十字符h六角星符*八字符o空心圆圈A朝上三角符

5、p五角星符<朝左三角符s方块符>朝又三角符x叉字符v朝下三角符【例】用图形表示连续调制波形y二Sin(t)sin(9t)及其包络线t=(0:pi/100:pi):y1=s in( t)*1,-1;y2=si n( t).*si n(9*t);t3=pi*(0:9)/9;y3=si n(t3).*si n(9*t3);plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')axis(0,pi,-0.5,0.5)figure(2);x=-pi:pi/10:pi;y=ta n(sin( x)-s in(tan( x);plot

6、(x,y,'r-s','Li neWidth',3,'MarkerEdgeColor',.'b','MarkerFaceColor','k','MarkerSize',10)axis tight y3=si n(t3).*si n(9*t3);plot(t,y1, ' r: ' , ' LineWidth ' ,3, ' MarkerEdgeColor ', 'b', ' MarkerFaceColor '

7、; , 'k', 'MarkerSize ' ,15, t,y2, ' b ',t3,y3,' bo')5. 4坐标、刻度和分格线控制一.坐标控制axis常用的坐标控制指令axis坐标轴控制方式、取向和 范围坐标轴的高宽比指令含义指令含义axis auto使用缺省值axis equal纵、横轴采 用等长刻度axis manual使当前坐标 范围不变axis fill在manual方 式下起作 用,使坐标 充满这个绘 图区axis off取消轴背景axis image纵、横轴采 用等长刻 度,且坐标 框紧帖数据 范围axis on使

8、用轴背景axis no rmal缺省矩形坐 标系axis square产生正方形 坐标系axis ij矩阵式坐 标,原点在 左上方axis tight把数据范围 直接设为坐 标范围axis xy普诵直角坐 标,原点在 左下方axis vis3d保持咼宽比 不变,用于 二维旋转时 避免图形大 小变化axis (V) , V=x1 , x2, y1, y2; V=x1 , x2, y1, y2,z1,z2,坐标范围设定向量V中的元素必须服从:x1<x2, y1<y2, z1<z2【例】观察各种轴控制指令的影响。演示采用长轴为3.25,短轴为1.15的椭圆。注意:采用多子图表现时,

9、图形形状不仅受“控制指令” 影响,而且受整个图面“宽高比”及“子图数目”的影响。本书这样 处理,是出于篇幅考虑。读者欲想准确体会控制指令的影响,请在全图状态下进行观察。t=0:2*pi/99:2*pi; x=1.15*cos(t);y=3.25*s in( t); subplot(2,3,1),plot(x,y),axis no rmal,grid on, title('Normal and Grid on') pause subplot(2,3,2),plot(x,y),axis on ,title('Equal') pause subplot(2,3,3),

10、plot(x,y),axis on ,title('Square') pause subplot(2,3,4),plot(x,y),axis off,title('lmage and Box off') pause subplot(2,3,5),plot(x,y),axis image fill,box off title('Image and Fill') pause subplot(2,3,6),plot(x,y),axis off,title('Tight')equal,gridsquare,gridimage,boxtig

11、ht,box分格线和坐标框grid on画网格grid off取消网格线box on使当前坐标呈圭寸闭形式box off使当前坐标呈开启形式图形标识title(s)xlabel(s) ylabel(s)lege nd(s1,s2;)text(xt,yt,s)书写图明 横坐标轴名 纵坐标轴名绘制曲线所用线型、色彩或数据点形图例 在图面( xt ; yt )坐标处书写字符注释四 细指令形式【例】指令、标识的理解和使用 clf;t=0:pi/50:2*pi;y=sin(t);plot(t;y);axis(0;2*pi;-1.2;1.2)text(pi/2;1;'fontsize16lefta

12、rrowitsin(t)fontname 隶书 极大值 ')【例】 通过绘制二阶系统阶跃响应, 综合演示图形标识。 本例比较综 合,涉及的指令较广。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;

13、1.05;max(y)grid ontitle('it y = 1 - eA -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);holdoffcell_string1='fontsize12uparrow'隶书镇定时cell_stri ng2='fo ntsize16 fo

14、 ntn ame 间';cell_stri ng3='fo ntsize6'cell_stri ng4='fo ntsize14rmt_s num2str(ts);text(ts,0.85,cell_stri ng) xlabel('fo ntsize14 bft rightarrow') ylabel('fo ntsize14 bfy rightarrow')五. 多次叠绘、双纵坐标和多子图一. 多次叠绘【例】利用hold绘制多个曲线。t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t); plot(t,

15、y, ''hold on;t=2*pi*(0:20)/20;y1=si n( t).*exp(-0.4*t); plot(t,y1, ' b 'hold off二. 双纵坐标图plotyy (x1,y1,x2,y2) x【例】画出函数y=xsin x和积分s = (xsin x)dx在区间0,4上的曲线。clf;dx=0.1;x=0:dx:4;y=x.*s in( x);s=cumtrapz(y)*dx; plotyy(x,y,x,s),text(0.5,0,'fo ntsize14ity=xsinx')sin t='fo ntsize1

16、6i nt_fo ntsize80F x'text(2.5,3.5,'fo ntsize14its=',si nt,'fo ntsize14itxsi nxdx')三. 多子图subplot (m, n, k) 把图形窗口分割成 m行n列子 窗口,k为指定第k个窗口为当前窗口。subplot ( position , left bottom width height)【例】演示 subplot 指令对图形窗的分割clf;t=(pi*(0:1000)/1000)'y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t

17、);subplot(2,2,1),plot(t,y1);axis(0,pi,-1,1)subplot(2,2,2),plot(t,y2);axis(0,pi,-1,1)subplot('position',0.2,0.05,0.6,0.45)plot(t,y12,'b-',t,y1,-y1,'r:');axis(0,pi,-1,1) ;break;clf;t=(pi*(0:1000)/1000)' y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t); subplot(3,1,1),plot(t,y1)

18、;axis(0,pi,-1,1) subplot(3,1,2),plot(t,y2);axis(0,pi,-1,1) subplot('position',0.40,0.05,0.3,0.3)plot(t,y12,'b-',t,y1,-y1,'r:');axis(0,pi,-1,1)break;clf;t=(pi*(0:1000)/1000)' y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t); subplot(3,1,1),plot(t,y1);axis(0,pi,-1,1) subplot(3,

19、1,2),plot(t,y2);axis(0,pi,-1,1) subplot('position',0.40,0.05,0.3,0.3)plot(t,y12,'b-',t,y1,-y1,'r:');axis(0,pi,-1,1)5 5 三维绘图的基本操作5 51 三维线图指令 plot3绘图指令如下:plot3(X,Y,Z, 's')plot3(X1,Y1,Z1, '1;X2,丫2,Z2, '2'.)说明:X , Y ,Z是同维向量时,贝U绘制以X , Y ,Z元素为 X , y , z 坐标的三维曲线。

20、X,Y,Z 是同维矩阵时,贝以 X ,Y,Z 对应列元素为 x,y,z 坐标分别绘制曲线, 曲线条数等于矩阵的列数。 S, s1,s2 的 意义与二维情况相同,用来指定线型、色 彩、数据点。【例】三维曲线绘图(要点:参量选取;线 型、点型、图例)。t=(0:0.02:2)*pi;x=sin(t);y=cos( t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd'),vi ew(-82,58),box on,legend(' 链 ',' 宝石 ')改变视角 view(-82,58)注意两个图形,一个是以

21、 30 度视角向下看 z=0 平面 ,一个是以37.5度视角向上看x=0平面。这是对所有三维图形的缺 省视角。与z=0平面所成的方向角叫 仰角,与x=0平面的夹 角叫做方位角。这样,缺省的三维视角方向仰角为30度,方位角为-37.5度。而缺省的二维视角仰角为90度,方位角为0度。仰角和方位角的概念在下图中形象地画出。例X,Y =meshgrid(-pi:0 1:pi);Z=si n( X)-cos( Y);plot3(X, Y,Z);t=0:pi/50:10*pi;plot3(si n( t),cos(t),t) title('Helix'),xlabel('s in

22、t(t)'),ylabel('cos(t )'),zlabel('t')text(0,0,0, 'Origi n'),grid,v = axis552 三维网线图和曲面图 一 三维图形的数据准备画函数z=f (x, y)所代表的三维空间曲面,需要做 以下数据准备:(1)确定自变量 x, y 的取值范围和取值间隔。x=x1:dx:x2;y=y1:dy:y2 ( 2)构成 xy 平面上的自变量“格点”矩阵。X , Y=meshgrid ( x, y);生成的矩阵X的行和丫的列相同,矩阵X的每- 行都是向量 x, Y 的每一列都是向量 y。(

23、3)计算在自变量采样“格点”上的函数值,即Z=f( X, 丫)。三维网线图、曲面图基本指令格式mesh(z),mesh(x,y,z),mesh(x,y,z,c)x,y 是自变量格点矩阵, z 是格点上的函数矩阵 C 是指定各点用色的矩阵,省略是默认 C=Z。 meshc , meshz , surf , surfc , surfl 例 clf,x=-4:0.5:4;y=x;X,Y=meshgrid(x,y); Z=X.A2+Y.A2-X.*Y; mesh(X,Y,Z);hidden off;图形的透视hidde n off hidde n on【例】X,Y=meshgrid(-8:0.5:8)

24、;R=sqrt(X.A2+Y42)+eps;Z=sin(R)./R;Surf(X,Y,Z); figure (2);mesh(X,Y,Z),hidden off;【例】X,Y=meshgrid(-8:0.5:8);R=sqrt(X.A2+Y.A2)+eps;Z=si n(R)./R;meshc(X,Y,Z); meshz(X,Y,Z);【例】用曲面图表现函数Z = x2 y2-xy。clf, x=-4:0.5:4;y=x;X,Y=meshgrid(x,y); Z=X.A2+Y.A2-X.*Y;surf(X,Y,Z);hold on ,colormap(hot) stem3(X,Y,Z,'

25、;bo')【例】X,Y=meshgrid(-8:0.5:8); R=sqrt(X.A2+Y.A2)+eps; Z=si n(R)./R;figure(1), surf(X,Y,Z); pausefigure(2), surfc(X,Y,Z); pausefigure(3), surfl(X,Y,Z);【例】X,Y=meshgrid(-8:0.5:8);R=sqrt(X42+Y八2)+eps;Z=sin(R)./R;figure(1), surf(X,Y,Z);pausefigure(2),surf(X,Y,Z);shading flat;pausefigure(3), Surf(X,Y

26、,Z);shading interppausefigure(4),Surf(X,Y,Z);shading interp;axis off图形的浓淡处理 shading optionsoptio ns的取值为:flatinterpfaceted透明控制 alpha(v)v 01之间取值,0 表示完全不透明, 1 表示完全透明surf(peaks) shading interp alpha(0.5) colormap(summer)灯光 lightlight('color',option1,'style',option2,'position',opt

27、ion3) clf;colormap(jet)X,Y,Z=sphere(40); subplot(1,2,1);surf(X,Y,Z);shading interp light('position',0,-10,1.5,'style','infinite') lighting phong material shiny subplot(1,2,2);surf(X,Y,Z,-Z);shading flat light;lighting flat light('position',-1,0.5,1,'style',

28、9;local','color','w')56 其它图形 一 等高线contour,contour3( 1) contour(Z)( 2) contour(X,Y,Z)(3)con tour(Z, n)n为指定绘制的等高线条数( 4) contour(X,Y,Z,n)X,Y,Z=peaks;C,H=contour3(X,Y,Z,15);%C,H=contourf(X,Y,Z,15);%clabel(C,H);二维等高线contourf(Z,15);三维等高线X,Y,Z=peaks;C,H=contour3(X,Y,Z,15);clabel(C,H);瀑布

29、图 指令: waterfall 例waterfall(peaks);axis tight X,Y,Z=peaks; waterfall(X,Y,Z); axis tight三条形图 指令:width 指定产生组合产生堆叠的bar(X,Y); bar(Y); bar(X,Y,width) 竖条的宽度 ,缺省值为 0.8 bar(X,Y, 'grouped',width) 的条形图bar(X,Y, 'stacked',width) 条形图指定条的颜返回图形对bar(X,Y,linespec,width)色h=bar(X,Y)象的句柄向量例 x=1:12;y=-10,

30、-6,5,10,20,25,30,24,22,19,10,6;bar(x,y)例 x=1:12;Y=-10,-6,5,10,20,25,30,24,22,19,10,6;-18,-14,-3,2,12,17,22,16,14,10,2,-4;Y=Y'subplot(2,1,1),bar(x,Y,'grouped');subplot(2,1,2),bar(x,Y,'stacked');三维条形图 指令: bar3(x,Y) x=1:12;Y=-10,-6,5,10,20,25,30,24,22,19,10,6; -18,-14,-3,2,12,17,22,

31、16,14,10,2,-4; Y=Y'Y=Y Y Y; bar3(x,Y) pausefigure(2), bar3(x,Y,'grouped') pause figure(3) bar3(x,Y,'stacked')四饼形图指令:(1) pie(x),(2) pie(x,explode), explode 用于指定从饼 图中抽出一部分的块 , 和向量 x 的长度必 须相等 , explode 中的非零向量对应的块 将被抽出 .(3) pie(,label) label为标注饼形图的字 符串数组 , 其长度须等于 x 的长度.(4) h=pie()返回图

32、形的句柄向量.例sale=100 150 400 250 pie(sale,0 0 0 1) pie3(sale,1 1 1 1,'Spring','Summer','Autumn','Winter') pie3(sale,1 1 1 1,'10%','20%','50%','20%')例sale=0.11 0.17 0.44 0.28; pie(sale(2:4);五. 离散数据图指令: stem, stem3函数 stem, stem3 的功能和绘制二维和三维图形

33、类 似,但stem, stem3中可以用选项"filled ”来填充图中的 离散点的标记 .例x=0:0.1:2*pi;stem(x,sin(x);stem(x,sin(x),'filled');stem3(exp(x),x,exp(x);stem3(exp(x),x,exp(x),'filled');动画MATLAB提供了一种能力,它可以存储一系列各种类型的 二维或三维图,然后象放电影一样把它们按次序重放出来。 在某种意义上,动画提供的运动为图形增加另一个维数。通 常图形的次序不必以任意的方式关联起来。一种明显的动画 类型是取出三维图形然后缓慢地将它

34、旋转,这样我们就可以 从不同角度来观察它。另一种类型是当一个参数变化时,依 次显示某些问题解的图形。MATLAB的函数moviein , getframe提供了捕捉和播放 动画的所需工具。函数 moviein 可以产生一个帧矩阵来存放 动画中的帧;函数 getframe 对当前的图象进行快照;而函 数 movie 按顺序回放各帧。照这样,捕捉和回放动画的方法是:( 1)创建帧矩阵;( 2)对动画中的每一帧生成图形, 并把它捕捉到到帧矩阵里;(3)从帧矩阵里回放动画。考虑下面的一段脚本 M文件例子,例中绘制了函数peaks并且将它绕 z 轴旋转。% movie making example: r

35、otate a 3-D surface plotX,Y,Z=peaks(30); % create datasurfl(X,Y,Z) % plot surface with lightingaxis(-3 3 -3 3 -10 10) % fix axes so thatscaling does not changeaxis off % erase axes because they jump aroundshading interp % make it pretty with interpolated shadingcolormap(hot) % choose a good colormap for lightingm=moviein(15); % choose 15 movie frames for frame matrix mfor I=1:15 % rotate and capture each frame view(-37.5+24*(i-1),30) % change

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论