收藏 分享(赏)

Matlab教程Ch4.ppt

上传人:hyngb9260 文档编号:4529434 上传时间:2019-01-02 格式:PPT 页数:56 大小:1.13MB
下载 相关 举报
Matlab教程Ch4.ppt_第1页
第1页 / 共56页
Matlab教程Ch4.ppt_第2页
第2页 / 共56页
Matlab教程Ch4.ppt_第3页
第3页 / 共56页
Matlab教程Ch4.ppt_第4页
第4页 / 共56页
Matlab教程Ch4.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、1,第4章 MATLAB绘图,2,本章目标,了解MATLAB的绘图功能 掌握二维图形和三维图形的绘制方法 能够进行常用的数据可视化处理,3,主要内容,4.1 二维图形 4.2 图形修饰与控制 4.3 三维图形,4,数据可视化 图形对象 句柄,5,4.1 二维图形,图形窗口的创建 图形窗口 当前窗口 figure figure(h) 图形窗口的清除与关闭 clf close close(h) close all,6,plot函数绘制二维曲线,常用格式有: plot(x):缺省自变量的绘图格式,x可为向量或矩阵。 plot(x, y):基本格式,x和y可为向量或矩阵。 plot(x1, y1, x

2、2, y2,):多条曲线绘图格式,在同一坐标系中绘制多个图形。 plot(x, y, s):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标示符号,7,例:plot(x),clear x=3 5 7 6 12 24 15 33 6 9 7 2; plot(x) figure x=3 5 7;6 12 24;15 33 6;9 7 2 plot(x),向量,矩阵,离散数据的可视化,8,t=(0:pi/50:2*pi); k=0.4:0.1:1; Y=cos(t)*k; plot(t,Y),9,例:用图形表示连续调制波形 及其包络线。 t=(0:pi/100:pi);%长度为101的时间采样

3、列向量 y1=sin(t)*1,-1;%包络线函数值,是(101x2)的矩阵 y2=sin(t).*sin(9*t);%长度为101的调制波列向量 t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3); plot(t,y1,r:,t,y2,b,t3,y3,bo) axis(0,pi,-1,1) %控制轴的范围,10,11,图形颜色、标记和线形参数表,12,例, x=linspace(0,7); y1=sin(2*x); y2=sin(x.2); y3=(sin(x).2; %曲线1:红色实线,+号显示数据点 %曲线2:黑色点线,*号显示数据点 %曲线3:蓝色虚线,上三角形显

4、示数据点 plot(x, y1, r+, x, y2, k*:, x, y3, b-),13,4.2 图形修饰与控制,title 给图形加标题 xlable 给x轴加标注 ylable 给y轴加标注 text 在图形指定的任意位置加标注 gtext 利用鼠标将标注加到图形任意位置 grid on 打开坐标网格线 grid off关闭坐标网格线 legend 添加图例 axis 控制坐标轴刻度,14,图形标识,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,fontsize16leftarrowi

5、tsin(t)fontname隶书极大值),清除当前图形,15,多次叠绘,利用hold绘制离散信号通过零阶保持器后产生的波形。 t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t); stem(t,y,g);hold on;stairs(t,y,r);hold off,离散信号的重构,16,双纵坐标图,画出函数 和积分 在区间上的曲线。,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=fon

6、tsize16int_fontsize80 x; text(2.5,3.5,fontsize14its=,sint,fontsize14itxsinxdx),17,例:绘制正弦和余弦曲线,并加入网格和标注,clear t=0:0.1:10; y1=sin(t); y2=cos(t); plot(t,y1,r,t,y2,b-); x=1.7*pi;1.6*pi; y=-0.3; 0.7; s=sin(t);cos(t); text(x, y, s); 指定位置加标注 title(正弦和余弦曲线); 标题 legend(正弦,余弦) %添加图例注解 xlabel(时间) x坐标名 ylabel(正

7、弦&余弦) y坐标名 grid on %添加网格 axis square %将图形设置为正方形,18,MATLAB的图形编辑窗口,19,采用hold函数对图形进行比较显示,clear t=0:pi/10:2*pi; y1=sin(t); y2=cos(t); y3= sin(t)-cos(t); plot(t,y1); hold on; %后续图形叠加显示 plot(t,y2); plot(t,y3);,20,采用图形窗口分割方法进行比较显示,clear t=0:pi/10:2*pi; y1=sin(t); y2=cos(t); y3=cos(t+pi/2); y4=cos(t+pi); %将

8、图形窗口分割成两行两列,要画的图形为第1行第1列 subplot(2,2,1); plot(t,y1); %将图形窗口分割成两行两列,要画的图形为第1行第2列 subplot(2,2,2); plot(t,y2); %将图形窗口分割成两行两列,要画的图形为第2行第1列 subplot(2,2,3); plot(t,y3); %将图形窗口分割成两行两列,要画的图形为第2行第2列 subplot(2,2,4); plot(t,y4);,21,clf;t=(pi*(0:1000)/1000); y1=sin(t); y2=sin(10*t); y12=sin(t).*sin(10*t); subpl

9、ot(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),22,23,4.3三维图形,三维曲线图 plot3函数可以绘制三维曲线: plot3(x1, y1, z1, s1, x2, y2, z2, s2) 三维网格图 mesh函数为数据点绘制网格线: mesh(z) z为nm的矩阵,x与y坐标为元素的下标位置 mesh(x, y, z)

10、x, y, z分别为三维空间的坐标位置 三维曲面图 三维曲面的绘图是由surf函数完成的,用法和mesh类似。,24,三维图形的数据准备 (1)确定自变量的取值范围和取值间隔。 (2)构成平面上的自变量采样“格点”矩阵。 (3)计算在自变量采样“格点”上的函数值,即 Z=f(X,Y)。,25,例:函数plot3绘制的三维曲线图,clear t=0:pi/50:10*pi; plot3(t,sin(t),cos(t),r:) grid on,26,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),view

11、(-82,58),box on,legend(链,宝石),27,例:分别用mesh函数和surf函数绘制高斯矩阵,z=peaks(40); mesh(z); % 网格线 figure %产生新的图形窗口 surf(z); %着色表面图,28,用曲面图表现函数,clf,x=-4:4;y=x;X,Y=meshgrid(x,y); %生成 x-y 坐标网格矩阵 Z=X.2+Y.2; %计算格点上的函数值 surf(X,Y,Z);hold on,colormap(hot) stem3(X,Y,Z,bo) %用来表现在格点上计算函数值,29,30,观察点,clear z=peaks(40); subpl

12、ot(2,2,1); mesh(z); %绘制子图1(默认视点) subplot(2,2,2); mesh(z); view(-15,60); %指定子图2的视点 subplot(2,2,3); mesh(z); view(-90,0); %指定子图3的视点 subplot(2,2,4); mesh(z); view(-7,-10); %指定子图4的视点,31,扩展阅读,4.4 特殊坐标系 4.5 绘制特殊图形,32,直方图bar, barh, bar3, bar3h,二维直方图有两种图型:垂直直方图和水平直方图。而每种图型又有两种表现模式:累计式:分组式。 x=-2:2; %注意:自变量要单

13、调变化 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),33,34,clf;x=-2:2; %注意:自变量要单调变化 Y=3,5,2,4,1;3,4,5,2,1;5,4,3,2,5; %各因素的相对贡献份

14、额 subplot(1,2,1),bar3(x,Y,1) %“队列式”直方图 xlabel(因素ABC),ylabel(x),zlabel(y) colormap(summer) %控制直方图的用色 subplot(1,2,2),bar3h(x,Y,grouped) %“分组式”水平直方图 ylabel(y),zlabel(x),35,36,饼图pie, pie3,饼图指令pie , pie3 用来表示各元素占总和的百分数。该指令第二输入宗量为与第一宗量同长的0-1向量,1使对应扇块突出。 a=1,1.6,1.2,0.8,2.1; subplot(1,2,1),pie(a,1 0 1 0 0)

15、, legend(1,2,3,4,5) subplot(1,2,2),pie3(a,a=min(a),colormap(cool),37,38,散点图scatter , scatter3,表现函数 。 x=3*pi*(-1:0.2:1);y=x;X,Y=meshgrid(x,y); R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R; %引入eps避免0/0, % C=abs(del2(Z); %求“五点格式”差分,反映曲面变化。 meshz(X,Y,Z,C) %由曲面变化决定用色 hold on,scatter3(X(:),Y(:),Z(:),filled) % hold off

16、,colormap(hot),39,请注意本例中的3个指令:(1)散点图指令scatter3 ,标志三维数据点。它的前三个输入宗量必须是同长的向量,如指令。(2)带垂帘的网线图指令meshz ,它的调用格式与mesh没有什么不同。 此外,再次提醒读者注意指令。这样处理的目的是避免0/0的不定性。该处理方法是求极限的一种数值方法。,40,41,42,特殊效果,透视 镂空 裁切,43,透视演示,X0,Y0,Z0=sphere(30); %产生单位球面的三维坐标 X=2*X0;Y=2*Y0;Z=2*Z0; %产生半径为2的球面的三维坐标 clf,surf(X0,Y0,Z0); %画单位球面 shad

17、ing interp %采用插补明暗处理 hold on,mesh(X,Y,Z),colormap(hot),hold off %采用hot色图 hidden off %产生透视效果 axis equal,axis off %不显示坐标轴,44,45,演示:如何利用“非数”NaN,对图形进行剪切处理,clf; t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t); %旋转母线 X,Y,Z=cylinder(r,60); %产生旋转柱面数据 ii=find(X0colormap(spring),shading interp light(position,

18、-3,-1,3,style,local) %设置光源 material(0.5,0.4,0.3,10,0.3) %设置表面反射,46,47,演示:如何利用“非数”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),48,49,应用举例,画出一花瓣状图形theta = -pi:0.01:pi; rho(1,:) = 2*sin(5*theta).2; rho(2,:

19、) = cos(10*theta).3; rho(3,:) = sin(theta).2; rho(4,:) = 5*cos(3.5*theta).3; for i = 1:4% 极坐标图形输出函数 polar(theta,rho(i,:) pause end,1*629,50,51,52,53,54,应用举例,55,clear; t=1:9; d1=12.51 13.54 15.60 15.92 20.64 24.53 30.24 30.00 36.34; d2=2.87 20.54 32.21 40.50 48.31 64.51 72.32 85.98 89.77; d3=10.11 8.14 14.17 20.14 40.50 39.45 60.11 62.13 20.90; plot(t,d1,r.-,t,d2,gx:,t,d3,m*-.); title(稳定性变化规律); xlabel(时间); ylabel(稳定性); axis(0 10 0 100); text(6.5,25.5,leftarrow样品a); text(3,43.8,样品brightarrow); text(4.8,30.5,leftarrow样品c);,56,学好计算机的唯一途径是你的编程能力与你在计算机上投入的时间成,结 束 语,上机练习,正比,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报