




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 数据和函数的可视化 51 可视化的一般步骤绘制二维、三维图形的一般步骤步 骤典 型 指 令1曲线数据准备l 先取一个参变量采样向量l 然后计算各坐标数据向量T=pi*(0:100)/100;X=f1(t);y=f2(t);z=f3(t);三维曲面数据l 产生自变量采样向量l 产生自变量“格点”矩阵l 计算自变量“格点”矩阵相应的函数矩阵x=x1:dx:x2;y=y1:dy:y2;X,Y=meshgrid(x,y);Z=f(X,Y); 2 选定图形窗及子图位置l 缺省时,打开Figure N0. 1,或当前窗、当前子图l 可用指令指定图形窗口和子图号figure(1)subplot(2,
2、2,3)3调用三维曲线绘图指令:线型、色彩、数据点plot(x,y,r:)plot3(x,y,z.b-)调用三维曲面绘图指令mesh(X,Y,Z)4设置轴的范围、坐标分格线axis(x1,x2,y1,y2)axis(x1,x2,y1,y2,z1,z2)grid on5图形注释:图名、坐标名、图例、文字说明title(调制波形)xlabel(t);ylabel(y)legend (sin(t),sin(t)sin(9t)text(2,0.5,y=sin(t)sin(9t))6着色、明暗、灯光、材质处理(仅对三维图形使用)Colormap,shading,liht,material7视点、三度(横
3、、纵、高)比(仅对三维图形使用)view,aspect8图形的精细修饰(图柄操作):l 利用对象属性值设置l 利用图形窗工具条进行getset52 二维曲线绘图的基本操作521 plot 基本调用格式(1) plot(X,s)l X是实向量时,以该向量的下标为横坐标、元素值为纵坐标画出一条连续曲线。l X是实矩阵时,按列绘制每列元素值相对应其下标的曲线,图中曲线数等于X阵列数。l S是用来指定线型、色彩、数据点形的选项字符串。S可为 LineWidth,MarkerEdgeColor,MarkerFaceColor,MarkerSize(2) plot(X,Y,s)l X,Y是同维向量时,绘制
4、以X,Y元素为横、纵坐标的曲线。l X,Y是同维矩阵时,以X,Y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(3) plot(X1,Y1,s1,X2,Y2,s2,)53 曲线的色彩、线型和数据点一. 色彩和线型线型符号:.含义实线虚线点划线双点划线色彩符号bgrcmykw含义蓝绿红青品红黄黑白二. 数据点形符号含义符号含义.实心黑点d菱形符+十字符h六角星符*八字符o空心圆圈朝上三角符p五角星符<朝左三角符s方块符>朝又三角符x叉字符v朝下三角符【例】用图形表示连续调制波形 及其包络线。t=(0:pi/100:pi)'y1=sin(t)*1,-1;y2=si
5、n(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(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=tan(sin(x)-sin(tan(x);plot(x,y,'r-s','LineWidth',3,'MarkerEdgeColor',.'b','MarkerFaceColor','k',
6、'MarkerSize',10)axis tighty3=sin(t3).*sin(9*t3);plot(t,y1,r:,LineWidth,3,MarkerEdgeColor,b,MarkerFaceColor,k,MarkerSize,15,t,y2,b,t3,y3,bo)54 坐标、刻度和分格线控制一 坐标控制 axis常用的坐标控制指令axis坐标轴控制方式、取向和范围坐标轴的高宽比指令含义指令含义axis auto使用缺省值axis equal纵、横轴采用等长刻度axis manual 使当前坐标范围不变axis fill在manual 方式下起作用,使坐标充满这个绘
7、图区axis off 取消轴背景axis image纵、横轴采用等长刻度,且坐标框紧帖数据范围axis on使用轴背景axis normal缺省矩形坐标系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【例】观察各种轴控制指令的影响。演示采用长
8、轴为3.25,短轴为1.15的椭圆。注意:采用多子图表现时,图形形状不仅受“控制指令”影响,而且受整个图面“宽高比”及“子图数目”的影响。本书这样处理,是出于篇幅考虑。读者欲想准确体会控制指令的影响,请在全图状态下进行观察。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')pausesubplot(2,3,2),plot(x,y),axis equal,grid on,title('Equ
9、al')pausesubplot(2,3,3),plot(x,y),axis square,grid on,title('Square')pausesubplot(2,3,4),plot(x,y),axis image,box off,title('Image and Box off')pausesubplot(2,3,5),plot(x,y),axis image fill,box offtitle('Image and Fill')pausesubplot(2,3,6),plot(x,y),axis tight,box off,tit
10、le('Tight') 二 分格线和坐标框grid on 画网格grid off 取消网格线box on 使当前坐标呈封闭形式box off 使当前坐标呈开启形式三 图形标识title(s) 书写图明xlabel(s) 横坐标轴名ylabel(s) 纵坐标轴名legend(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,'
11、;fontsize16leftarrowitsin(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',
12、0.95,1,1.05,max(y)grid ontitle('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 fontn
13、ame隶书镇定时间'cell_string3='fontsize6 'cell_string4='fontsize14rmt_s = ' num2str(ts);text(ts,0.85,cell_string)xlabel('fontsize14 bft rightarrow')ylabel('fontsize14 bfy rightarrow') 五 多次叠绘、双纵坐标和多子图一 多次叠绘【例】利用hold绘制多个曲线。t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);plot(t,y,r)
14、;hold on;t=2*pi*(0:20)/20;y1=sin(t).*exp(-0.4*t);plot(t,y1,b);hold off二 双纵坐标图plotyy(x1,y1,x2,y2)【例】画出函数和积分在区间上的曲线。clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx;plotyy(x,y,x,s),text(0.5,0,'fontsize14ity=xsinx')sint='fontsize16int_fontsize80 x'text(2.5,3.5,'fontsize14its=',s
15、int,'fontsize14itxsinxdx') 三 多子图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);subplot(2,2,1),plot(t,y1);axis(0,pi,-1,1)subplot(2,2,2),plot(t,y2);axis(0,pi
16、,-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);axis(0,pi,-1,1)subplot(3,1,2),plot(t,y2);axis(0,pi,-1,1)subplot('position
17、39;,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,1,2),plot(t,y2);axis(0,pi,-1,1)subplot('position',0.40,0.05,0.3,0.3)plot(t,y
18、12,'b-',t,y1,-y1,'r:');axis(0,pi,-1,1)55 三维绘图的基本操作551 三维线图指令plot3绘图指令如下:plot3(X,Y,Z,s)plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,.)说明:l X,Y,Z是同维向量时,则绘制以X,Y,Z元素为x,y,z坐标的三维曲线。l X,Y,Z是同维矩阵时,则以X,Y,Z对应列元素为x,y,z坐标分别绘制曲线,曲线条数等于矩阵的列数。S,s1,s2的意义与二维情况相同,用来指定线型、色彩、数据点。【例】三维曲线绘图(要点:参量选取;线型、点型、图例)。t=(0:0.02:2
19、)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,'b-',x,y,z,'bd'),view(-82,58),box on,legend('链','宝石') 改变视角 view(-82,58)注意两个图形,一个是以30度视角向下看z=0平面,一个是以37.5度视角向上看x=0平面。这是对所有三维图形的缺省视角。与z=0平面所成的方向角叫仰角,与x=0平面的夹角叫做方位角。这样,缺省的三维视角方向仰角为30度,方位角为-37.5度。而缺省的二维视角仰角为90度,方位角为0度。仰角和方位角的概
20、念在下图中形象地画出。【例】X,Y=meshgrid(-pi:0.1:pi);Z=sin(X)-cos(Y);plot3(X,Y,Z); t=0:pi/50:10*pi; plot3(sin(t),cos(t),t)title('Helix'),xlabel('sint(t)'),ylabel('cos(t)'),zlabel('t')text(0,0,0, 'Origin'),grid,v = axis552 三维网线图和曲面图 一 三维图形的数据准备画函数z=f(x,y)所代表的三维空间曲面,需要做以下数据准备
21、:(1) 确定自变量x,y的取值范围和取值间隔。x=x1:dx:x2;y=y1:dy:y2(2) 构成xy平面上的自变量“格点”矩阵。X,Y=meshgrid(x,y);生成的矩阵X的行和Y的列相同,矩阵X的每一行都是向量x,Y的每一列都是向量y。(3) 计算在自变量采样“格点”上的函数值,即Z=f(X,Y)。 二 三维网线图、曲面图基本指令格式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,
22、Y=meshgrid(x,y);Z=X.2+Y.2-X.*Y;mesh(X,Y,Z);hidden off;图形的透视hidden offhidden on【例】X,Y=meshgrid(-8:0.5:8);R=sqrt(X.2+Y.2)+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.2+Y.2)+eps;Z=sin(R)./R;meshc(X,Y,Z);meshz(X,Y,Z);【例】用曲面图表现函数-xy。clf,x=-4:0.5:4;y=x;X
23、,Y=meshgrid(x,y);Z=X.2+Y.2-X.*Y;surf(X,Y,Z);hold on,colormap(hot)stem3(X,Y,Z,'bo')【例】X,Y=meshgrid(-8:0.5:8);R=sqrt(X.2+Y.2)+eps;Z=sin(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(X.2+Y.2)+eps;Z=sin(R)./R;figure(1), su
24、rf(X,Y,Z);pausefigure(2),surf(X,Y,Z);shading flat;pausefigure(3), Surf(X,Y,Z);shading interppausefigure(4),Surf(X,Y,Z);shading interp;axis off图形的浓淡处理 shading optionsoptions的取值为:flatinterpfaceted透明控制alpha(v)v01之间取值,0表示完全不透明,1表示完全透明。surf(peaks)shading interpalpha(0.5)colormap(summer)灯光lightlight('
25、color',option1,'style',option2,'position',option3)clf;colormap(jet)X,Y,Z=sphere(40);subplot(1,2,1);surf(X,Y,Z);shading interplight('position',0,-10,1.5,'style','infinite')lighting phongmaterial shinysubplot(1,2,2);surf(X,Y,Z,-Z);shading flatlight;lighting
26、flatlight('position',-1,0.5,1,'style','local','color','w')56 其它图形一 等高线contour,contour3(1) contour(Z)(2) contour(X,Y,Z)(3) contour(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)
27、;三维等高线X,Y,Z=peaks; C,H=contour3(X,Y,Z,15);clabel(C,H);二瀑布图指令: waterfall例 waterfall(peaks); axis tightX,Y,Z=peaks;waterfall(X,Y,Z);axis tight三条形图指令:bar(X,Y); bar(Y); bar(X,Y,width) width 指定竖条的宽度,缺省值为0.8bar(X,Y,grouped,width) 产生组合的条形图 bar(X,Y,stacked,width) 产生堆叠的条形图bar(X,Y,linespec,width) 指定条的颜色h=bar(
28、X,Y) 返回图形对象的句柄向量例x=1:12;y=-10,-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,1
29、0,6;-18,-14,-3,2,12,17,22,16,14,10,2,-4;Y=Y'Y=Y Y Y;bar3(x,Y)pausefigure(2), bar3(x,Y,'grouped')pausefigure(3) bar3(x,Y,'stacked')四 饼形图指令:(1) pie(x), (2) pie(x,explode), explode 用于指定从饼图中抽出一部分的块, 和向量x的长度必须相等, explode中的非零向量对应的块将被抽出.(3) pie(,label) label 为标注饼形图的字符串数组, 其长度须等于x的长度.(4)
30、 h=pie() 返回图形的句柄向量.例sale=100 150 400 250pie(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的功能和绘制二
31、维和三维图形类似, 但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提供了一种能力,它可以存储一系列各种类型的二维或三维图,然后象放电影一样把它们按次序重放出来。在某种意义上,动画提供的运动为图形增加另一个维数。通常图形的次序不必以任意的方式关联起来。一种明显的动画类型是取出三维图形然后缓慢地将它旋转,这样
32、我们就可以从不同角度来观察它。另一种类型是当一个参数变化时,依次显示某些问题解的图形。MATLAB中的函数moviein,getframe提供了捕捉和播放动画的所需工具。函数moviein可以产生一个帧矩阵来存放动画中的帧;函数getframe对当前的图象进行快照;而函数movie按顺序回放各帧。照这样,捕捉和回放动画的方法是:(1)创建帧矩阵;(2)对动画中的每一帧生成图形,并把它捕捉到到帧矩阵里;(3)从帧矩阵里回放动画。考虑下面的一段脚本M文件例子,例中绘制了函数peaks并且将它绕z轴旋转。% movie making example: rotate a 3-D surface plo
33、tX,Y,Z=peaks(30); % create datasurfl(X,Y,Z) % plot surface with lightingaxis(-3 3 -3 3 -10 10) % fix axes so that scaling does not changeaxis off % erase axes because they jump around shading 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 frameview(-37.5+24*(i-1),30) % change viewpoint for this framem(:,i)=getframe; % add figure t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CERU 0025-2024西樵面料企业生态设计管理指南
- 高中修辞手法比喻的课件
- 高三高原反应课件
- 2024学年嘉兴市高三语文上学期期中考试卷附答案解析
- 高一生物必修二卵母细胞课件
- 高一女性的课件
- 2025秋苏教版(2024)小学科学二年级上册(全册)教学设计(附目录P123)
- 互联网投资担保合同签订流程及风险控制策略
- 离职员工知识产权保护及竞业限制协议范本
- 生态环境局等行政协调的生态修复项目监理合同
- 第十四章 全等三角形 单元测试(含部分解析) 2025-2026学年人教版八年级数学上册
- 2025年中式烹调师(技师)考试题库及答案
- 小儿疱疹性咽峡炎护理查房
- 中班健康:变质食物不能吃
- 初中英语新人教版八年级上册全册单词(2025秋)
- 支气管扩张伴咯血的护理
- 小红书自媒体教你小红书种草方案
- 村居法律明白人培训课件
- 6.3.3 点到直线的距离 课件-2025-2026学年高一数学高教版2023修订版基础模块 下册
- 2025年广西中考道德与法治试题答案详解讲评课件
- 视觉引导装配自动化
评论
0/150
提交评论