MATLAB及其应用-第3讲_第1页
MATLAB及其应用-第3讲_第2页
MATLAB及其应用-第3讲_第3页
MATLAB及其应用-第3讲_第4页
MATLAB及其应用-第3讲_第5页
已阅读5页,还剩30页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、第3讲 数据和函数的可视化3.1 引言3.2 二维绘图3.3 三维绘图13.1 引言1、为什么做数据可视化?图形可反映杂乱数据间的内在关系2、离散数据和离散函数的可视化3、连续函数的可视化(1)取离散自变量对应的数据对(2)函数连续性的处理 法一:对区间进行更细的分割,计算更多的点,近似表现函数 法二:把相邻点用直线连接,近似表示两点间的函数状态2例1:用图形表示连续调制波形y=sin(t)sin(9t)cleart1=(0:11)/11*pi;y1=sin(t1).*sin(9*t1);t2=(0:100)/100*pi;y2=sin(t2).*sin(9*t2);figuresubplot

2、(2,2,1),plot(t1,y1,r.),axis(0,pi,-1,1),title(子图(1)subplot(2,2,2),plot(t2,y2,r.),axis(0,pi,-1,1),title(子图(2)subplot(2,2,3),plot(t1,y1,t1,y1,r.),axis(0,pi,-1,1),title(子图(3)subplot(2,2,4),plot(t2,y2),axis(0,pi,-1,1),title(子图(4)34、可视化的一般步骤(1)绘二维图形的一般步骤a)数据准备;b)选定图形窗及子图位置;c)调用绘图指令(线形、色彩、数据点形);d)设置图形轴的范围、

3、刻度、坐标分格线;e)图形注释(图名、坐标名、图例、文字说明);f)图形的精细修饰;g)打印4(2)绘三维图形的一般步骤a)数据准备(三维曲线、曲面);b)选定图形窗及子图位置;c)调用(曲线或曲面)绘图指令(线形、色彩、数据点形);d)设置图形轴的范围、刻度、坐标分格线;e)图形注释(图名、坐标名、图例、文字说明);f)着色、明暗、灯光、材质处理g)视点、三度(横、纵、高)比h)图形的精细修饰;i)打印53.2 二维绘图一、绘制二维曲线的最基本函数二、 图形修饰与控制三、特殊坐标二维图形四、特殊的二维图形6一、绘制二维曲线的最基本函数1. plot函数的基本用法plot的基本调用格式:plo

4、t(x,y) 说明:(1)x,y为同维向量,绘制以x,y元素为横、纵坐标的曲线;(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线的共同横坐标。(3)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(4)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。7例2:在0X2区间内,绘制曲线y=2e-0.5xsin(2x)。 x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)8 2含多个输入参数的plot函数p

5、lot(x1,y1,x2,y2,xn,yn)3含选项的plot函数plot(x1,y1,选项1,x2,y2, 选项2,xn,yn,选项n)例3: 用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线。(参数见P241) x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp);9 二、 图形修饰与控制1. 图形标注 有关图形标注的

6、指令: title(字符串)图形标题 xlabel(字符串) x轴标注 ylabel(字符串) y轴标注 text(x,y, 字符串) 在坐标(x,y)处标注说明文字 legend(图例1,图例2,) 图例注解10 例4: 给图形添加图形标注。 x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp); title(曲线及其包络线); %加图形标题 xla

7、bel(independent variable X); %加X轴说明 ylabel(independent variable Y); %加Y轴说明 text(2.8,0.5,包络线); %在指定位置添加图形说明 text(0.5,0.5,曲线y); text(1.4,0.1,离散数据点); legend(包络线,包络线,曲线y,离散数据点) %加图例11 2. 坐标控制(1)坐标轴比例控制 axis(xmin xmax ymin ymax)限定坐标轴范围 axis控制字符: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis au

8、to 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴(2)刻度控制 set(gca,xtick,xs,ytick,ys) 二维坐标刻度设置 set(gca,xtick,xs,ytick,ys,ztick,zs) 三维坐标刻度设置12(3)网格控制 grid on/off 添加/去掉网格线 grid 在两种状态间切换(4)坐标框控制 box on/off 加/不加边框线 box 在两种状态间切换(5)图形保持 hold on/off 保持/解除当前图形及轴系的所有特性13 例5 用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线,并加网格线。 x

9、=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,b:); axis(0,2*pi,-2,2); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,k); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持14 3. 图形窗口的分割 subplot(m,n,p) p-绘图序号,按从左至右,从上至下排列例6 在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。 x=linspace(0,2*pi,60);

10、y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(2,2,2); plot(x,z);title(cos(x);axis (0,2*pi,1,1); subplot(2,2,3); plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(2,2,4); plot(x,ct);title(cotangent(x);axis

11、 (0,2*pi,-40,40);15 例7:对图形窗口灵活分割 x=linspace(0,2*pi,60); y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); %选择22个区中的1号区 stairs(x,y);title(sin(x)-1);axis (0,2*pi,-1,1); subplot(2,1,2); %选择21个区中的2号区 stem(x,y);title(sin(x)-2);axis (0,2*pi,-1,1); subplot(4,4,3); %选择44个区中

12、的3号区 plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(4,4,4); %选择44个区中的4号区 plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(4,4,7); %选择44个区中的7号区 plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(4,4,8); %选择44个区中的8号区 plot(x,ct);title(cotangent(x);axis (0,2*pi,-40,40);164. 多窗口绘图figure(n) 创建

13、第n个图形窗口 例: t=0:pi/100:2*pi; y=sin(t); y1=cos(t+0.25); y2=tan(t+0.5);plot(t,y) % 自动出现第一个窗口figure(2), plot(t,y1) % 在第二窗口绘图figure(3), plot(t,y2) %在第三窗口绘图17 三、特殊坐标二维图形1极坐标图polar(theta,rho,选项)theta极坐标极角,rho极坐标矢径,选项的内容与plot函数相似。例8: 绘制=sin(2)cos(2)的极坐标图。 theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); p

14、olar(theta,rho,k); 18 2对数坐标图形(1)半对数坐标图形x,y轴中只有一个是以10为底的对数坐标,另一个是线性坐标semilogx(x1,y1,选项1,x2,y2,选项2,)semilogy(x1,y1,选项1,x2,y2,选项2,)(2)对数坐标图形loglog(x1,y1,选项1,x2,y2,选项2,)19 例9: 绘制y=10 x2的对数坐标图并与直角线性坐标图进行比较。 x=0:0.1:10; y=10*x.*x; subplot(2,2,1);plot(x,y);title(plot(x,y);grid on; subplot(2,2,2);semilogx(x

15、,y);title(semilogx(x,y);grid on; subplot(2,2,3);semilogy(x,y);title(semilogy(x,y);grid on; subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on; 20 四、特殊的二维图形bar(x,y,选项)条形图stairs(x,y,选项)阶梯图stem(x,y,选项)杆图fill(x1,y1,选项1,x2,y2,选项2,)填充图fplot(函数运算式,xmin xmax)在指定范围内,对函数自适应采样绘图pie(x)饼图compass(x)原点向量图feather

16、(x)水平线向量图21 例10 分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。 x=0:0.35:7; y=2*exp(-0.5*x); subplot(2,2,1);bar(x,y,g); %条形图 title(bar(x,y,g);axis(0,7,0,2); subplot(2,2,2);fill(x,y,r); %填充图 title(fill(x,y,r);axis(0,7,0,2); subplot(2,2,3);stairs(x,y,b); %阶梯图 title(stairs(x,y,b);axis(0,7,0,2); subplot(2,2,4);stem(x

17、,y,k); %杆图 title(stem(x,y,k);axis(0,7,0,2);22 例11 用fplot函数绘制f(x)=cos(tan(x)的曲线。fplot(cos(tan(pi*x),-0.4,1.4,1e-4)23 例12 绘制图形:(1)某次考试优秀、良好、中等、及格、不及格的人数分别为:7,17,23,19,5,试用饼图作成绩统计分析。(2)绘制复数的相量图:3+2i、4.5-i和-1.5+5i。subplot(1,2,1);pie(7,17,23,19,5);title(饼图);legend(优秀,良好,中等,及格,不及格);subplot(1,2,2);compass(

18、3+2i,4.5-i,-1.5+5i);title(相量图);243.3 三维绘图一、绘制三维曲线的最基本函数 二、三维曲面三、图形修饰方法25一、绘制三维曲线的最基本函数 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,xn,yn,zn,选项n) 选项参数可参考二维曲线绘制plot例13: 绘制空间曲线。 t=0:pi/50:2*pi; x=8*cos(t); y=4*sqrt(2)*sin(t); z=-4*sqrt(2)*sin(t); plot3(x,y,z,p); title(Line in 3-D Space);text(0,0,0,origin); xlabel(

19、X),ylabel(Y),zlabel(Z);grid;26 二、三维曲面1数据准备平面网格坐标矩阵的生成(X,Y)(1)利用矩阵运算生成x=a:dx:b; y=(c:dy:d);X=ones(size(y)*x;Y=y*ones(size(x);(2)利用meshgrid函数生成x=a:dx:b; y=c:dy:d;X,Y=meshgrid(x,y);计算函数值Z=f(X,Y)27 例14 已知6x30,15y36,求不定方程2x+5y=126的整数解。x=5:29; y=14:35;x,y=meshgrid(x,y); %在5,2914,35区域生成网格坐标z=2*x+5*y;k=find

20、(z=126); %找出解的位置 x(k),y(k) %输出对应位置的x,y即方程的解ans = 8 13 18 23 28; ans = 22 20 18 16 14;28 2. 绘制三维曲面的函数 mesh(X,Y,Z,c)三维网线图 meshc(X,Y,Z)带等高线的三维网格曲面 meshz(X,Y,Z) 带底座的三维网格曲面 surf(X,Y,Z,c)三维曲面图(带填充颜色) surfc(X,Y,Z) 带等高线的曲面图 surfl(X,Y,Z) 被光照射带阴影的曲面图 X,Y,Z=sphere(n)透明显示的三维网格曲面 X,Y,Z=peaks(n)多峰函数三维曲面图29例15 用三维

21、曲面图表现函数z=sin(y)cos(x)。x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x);mesh(x,y,z); %网线图xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(mesh);surf(x,y,z); %曲面图xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(surf); plot3(x,y,z); %曲线图xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(plot3-1);grid;

22、网线图与曲面图的区别:网线图:线条有颜色,空挡无颜色曲面图:线条是黑色的,空挡有颜色(线条之间的空挡填充颜色)30 例16 分析由函数z=x2-2y2构成的曲面形状及与平面z=a的交线。 x,y=meshgrid(-10:0.2:10); z1=(x.2-2*y.2)+eps; %第1个曲面 a=input(a=?); z2=a*ones(size(x); %第2个曲面 subplot(1,2,1);mesh(x,y,z1);hold on;mesh(x,y,z2); %分别画出两个曲面 v=-10,10,-10,10,-100,100;axis(v);grid; %第1子图的坐标设置 hold off; r0=abs(z1-z2)=1; %求两曲面z坐标差小于1的点 xx=r0.*x; yy=r0.*y; zz=r0.*z2; %求这些点上的x,y,z坐标,即交线坐标 subplot(1,2,2); plot3(xx(r0=0),yy(r0=0),zz(r0=0),*); %在第2子图画出交线 axis(v);grid; %第2子

温馨提示

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

评论

0/150

提交评论