MATLAB实用技巧精讲之三_第1页
MATLAB实用技巧精讲之三_第2页
MATLAB实用技巧精讲之三_第3页
MATLAB实用技巧精讲之三_第4页
MATLAB实用技巧精讲之三_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、1第三章MATLAB绘图和数据可视化绘图和数据可视化数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 2MATLAB绘图和数据可视化绘图和数据可视化 本章内容 何为“好”的数据可视化 二维图形绘制 三维图形绘制 图形处理基本技术 本章的学习目标掌握基本的绘图命令了解各种图形注释方法掌握二维、三维图形的绘制方法掌握一些特殊图形的绘制了解图形的高级控制技巧数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 3MATLAB绘图和数据可视化绘图和数据可视化 为何要将数据可视化 难以从大量数据或符号中感受具体含义 人更喜欢用眼睛看直观的图形 快速、有效地表达想法、观察或结论

2、 Matlab的数据可视化功能 点、线、面处理 二维、三维和四维表现图 图形着色、消隐、光照、渲染及多视角处理等数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 4MATLAB绘图和数据可视化绘图和数据可视化 何为“好”数据可视化?好的可视化应该是好的可视化应该是因为因为明显目的对描述、探索或记录感兴趣不偏差地展示数据数据,特别是数据所揭示的真理才是最重要的引发观看者思考数据的实质如果图像过于花哨,会使人们分散注意力在小空间中表现出大量数据大量数据太繁杂,需要使大数据集更紧凑易于视觉的比较容易看出相关的不同揭示不同层次的信息当有更多细节时,更容易理解更广的方面数学物理建模与计算

3、机辅助设计数学物理建模与计算机辅助设计Page 5MATLAB绘图和数据可视化绘图和数据可视化 何为“好”数据可视化? 比较:下面两张黑白图,哪张更好图1图2数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 6MATLAB绘图和数据可视化绘图和数据可视化二维图形绘制 基本绘图命令基本绘图命令 plot(y) : 以y的索引坐标为横坐标,y本身为纵坐标,绘制图 形。 plot(x,y,s):用于绘制向量y相对于x的图形,其中s为一个 字符串,例如:plot(x,y, r-), plot(x,y, b+)。 plot(x1,y1,s1,x2,y2,s2,.):可以将多个图形放到一个

4、图形框 中。 subplot(m,n,p):将图形窗口分解成 块绘图子域, 并且设置第P块绘图子域作为当前绘图窗口。m n数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 7MATLAB绘图和数据可视化绘图和数据可视化【例题】y1=1,2,3,4;subplot(2,2,1)plot(y1)y2=1+2*i,2+3*i,3+4*i,4+5*i;subplot(2,2,2)plot(y2)x=0:0.01:1;y3=sin(2*pi*x)+sin(6*pi*x);subplot(2,2,3)plot(x,y3,r+)y4=cos(2*pi*x)+cos(6*pi*x);subpl

5、ot(2,2,4)plot(x,y3,r+,x,y4,b-)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 8MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 plot(X,Y,s) 以x为横坐标,y为纵坐标,绘制图形,第3个参数控制图形显示属性(线形、颜色及标识等),例如:plot(x,y, r-)plot(x,y,b+)。选项选项说明说明选项选项说明说明-实线实线.点点:点线点线o圆圆-.点划线点划线xX-符号符号-虚线虚线+符号符号y黄色黄色*星号星号m紫红色紫红色s方形方形c蓝绿色蓝绿色d菱形菱形r红色红色v下三角下三角g绿色绿色上三角上三角b蓝色蓝色右三角

6、右三角k黑色黑色p正五边形正五边形数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 9MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制【练习】令变量x从0取到10,在一个图形窗口中建立三个绘图子域,分别画出函数,y1=sin(x),y2=cos(x-2.5),y3=tan(x+1.5)的图形,要求分别用红色的实线,蓝色的虚线,和黄色的点线表示。选选项项说明说明选选项项说明说明-实线实线.点点:点线点线o圆圆-.点划线点划线xX-符号符号-虚线虚线+符号符号y黄色黄色*星号星号m紫红色紫红色s方形方形c蓝绿色蓝绿色d菱形菱形r红色红色v下三角下三角g绿色绿色上三角上三角

7、b蓝色蓝色右三角右三角k黑色黑色p正五边形正五边形数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 10MATLAB绘图和数据可视化绘图和数据可视化 【解】clfx=0:0.01:10;y1=sin(x);subplot(1,3,1)plot(x,y1,r-)y2=cos(x-2.5);subplot(1,3,2)plot(x,y2,b-)y3=tan(x+1.5);subplot(1,3,3)plot(x,y3,g:)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 11MATLAB绘图和数据可视化绘图和数据可视化 特殊坐标系的二维图形绘图polar (the

8、ta,rho,s):命令是通过使用极坐标,按照坐标的角度 为theta,极半径为rho绘制图形,s定义绘制图形的颜色和线型。例:极坐标x=0.0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x, y, -)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 12MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 双纵坐标图双纵坐标图plotyy(x1,y1,x2,y2) %以左、右不同纵轴绘制x1- y1,x2-y2 两条曲线.数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 13MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘

9、制 双纵坐标图例:双纵坐标x=0:0.01*pi:2*pi;y=sin(x);z=exp(x);plotyy(x, y, x, z, plot, semilogy)绘图方式可以是 plot、semilogy、semilogx等数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 14MATLAB绘图和数据可视化绘图和数据可视化例:双纵坐标x=0:0.01*pi:2*pi;y=sin(x);z=exp(x);subplot(1,2,1)plotyy(x, y, x, z, plot, semilogy)subplot(1,2,2)z2=log(z);plot(x,z2)数学物理建模与

10、计算机辅助设计数学物理建模与计算机辅助设计Page 15MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制例:一个将有害的废料转化为无害的生物医学实验。实验中的废料的聚乙烯物质(TCE)和相关温度数据如下: TCE=515 420 370 250 135 120 60 20; temp=29 23 27 25 20 23 23 27;days=0:5:35;tce=515 420 370 250 135 120 60 20;temp=29 23 27 25 20 23 23 27;plotyy(days,tce,days,temp);数学物理建模与计算机辅助设计数学物理建模与计算机辅助

11、设计Page 16MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制二维特殊函数图的绘制举例例1:条形图x=1:10;y=rand(10,1);bar(x, y)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 17MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 饼图pie(x):绘制关于向量x的各个分量的饼形图。x的各个分量先被除以sum(x),这样可以决定各个分量在图形中的“饼块份额”。pie(x,e):可以绘制出饼块分离的饼形图。向量x必须和x 具有相同的维数。e和x的分量相对应。pie(,labels):可以给每个饼块取名。向量labels必须和x

12、具有相同的维数,并且只能是字符串。数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 18MATLAB绘图和数据可视化绘图和数据可视化例:饼图 clf x1=2, 4, 6, 8; x2=0.1,0.3,0.2,0.2; e1=1,0,0,0; lab=math, English, Chinese, music subplot(1,3,1) pie(x1, lab) subplot(1,3,2) pie(x2,lab) subplot(1,3,3) pie(x1,e1,lab)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 19MATLAB绘图和数据可视化绘图和

13、数据可视化 二维图形绘制 离散数据图形绘制例:x = 0:0.25:(3*pi);stem(x,sin(x), sr, fill);title(stem(x,sin(x);xlabel(x);数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 20MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 二维特殊函数图的绘制表:表:MatlabMatlab中常见二维特殊图形函数中常见二维特殊图形函数函数名说明函数名说明area填充绘图feather矢量图bar条形图harh水平条形图hist直方图pie饼图polar极坐标图contour等高线图数学物理建模与计算机辅助设计数学

14、物理建模与计算机辅助设计Page 21MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 二维图形修饰(1)标题与轴标签:对图形加上标题,标明横纵坐标例:x=0:0.01*pi:2*pi;y=sin(x);plot(x,y)title(正弦函数, FontSize,15)xlabel(x(0-2pi),FontSize,14)ylabel(y=sin(x),FontSize,14)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 22MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 二维图形修饰(2)在标注中如何输入特殊符号?字符转换 如:pi 即显示为; O

15、mega 即显示为 无须记住,用时会查,会联想即可常见符号转义示例控制字符串控制字符串转义转义控制字符控制字符串串转义转义控制字符控制字符串串转义转义sigmaSigmaPhideltaDeltainftyleqgeqneq数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 23MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 二维图形修饰(3)文本标注 text(x,y,标注文本及控制字符串)例:x=0:0.01*pi:2*pi;plot(x,sin(x)text(3*pi/4,sin(3*pi/4),leftarrow sin(3pi/4)=0.70711, Fon

16、tSize,12)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 24MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制图形修饰:相关函数汇总可以将标题、坐标轴标记、网格线及文字注释加注到图形。title 给图形加标题xlable 给x轴加标注ylable 给y轴加标注text(x,y,s) 在图形指定位置加标注gtext 将标注加到图形任意位置grid on(off) 打开、关闭坐标网格线legend (off) 在指定位置建立图例。数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 25MATLAB绘图和数据可视化绘图和数据可视化 【例】clfx =

17、 0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,x,z)xlabel(x)ylabel(y)title(y=sin(x)legend(y=sin(x),z=cos(x)grid ongrid offgtext(sin(1)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 26MATLAB绘图和数据可视化绘图和数据可视化 二维图形绘制 复杂图形的布置和修饰:图形的保持(hold on和hold off)例:x=0:0.1*pi:2*pi; y=sin(x); z=cos(x);plot(x,y,-*)hold on %开启plot(x,z,o)

18、; plot(x,y+z,-h)legend(sin(x),cos(x),sin(x)+cos(x),0)hold off %关闭数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 27MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 三维曲线绘制 plot3() plot3(x,y,z) %x,y,z为3个相同维数的向量 plot3(X,Y,Z) %X,Y,Z为3个相同阶数的矩阵 plot3(X,Y,Z,s)%s为定义线形的参数例1:绘制三维螺旋线x=0:pi/50:10*pi;y=sin(x);z=cos(x);plot3(x,y,z)plot3数学物理建模与计算机

19、辅助设计数学物理建模与计算机辅助设计Page 28MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 三维曲线绘制 plot3()例2:t = 0:0.1:10*pi;x = exp(-t/20).*cos(t);y = exp(-t/20).*sin(t);z = t;plot3(x,y,z);xlabel(x);ylabel(y);zlabel(z);课堂练习绘制直线(z+1)/5=(y+2)/6=(x+3)/4数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 29MATLAB绘图和数据可视化绘图和数据可视化 练习x=1,2;3,4;y=2,1;4,3;z=5,6;

20、7,8;plot3(x,y,z)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 30MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 三维饼状图绘制 pie3()例:x=2, 4, 6, 8;pie3(x,1,1,1,1) %第二个参数控制各块的分离数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 31MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 mesh(x,y,z)画网格曲面,x, y, z是数据矩阵,分别表示数据点的横坐标、纵坐标和函数值,该命令将数据点在空间中描出,并连成网格 surf(x,y,z)画完整曲面, x, y, z是

21、数据矩阵,分别表示数据点的横坐标、纵坐标和函数值,该命令将数据点所表示曲面画出 t=0:pi/6:4*pi; x,y,z=cylinder(4+cos(t); surf(x,y,z)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 32MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 创建3-D网格和表面例:x = -1 0 1; y = 9 10 11 12; X,Y = meshgrid(x,y)X =-1 0 1 -1 0 1 -1 0 1 -1 0 1Y = 9 9 9 10 10 10 11 11 11 12 12 12meshgrid(x,y)生成X,Y矩

22、阵X重复x为行向量Y重复y为列向量数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 33MATLAB绘图和数据可视化绘图和数据可视化 %ffmesh.m functionX,Y=ffmesh(x,y) m=length(x); n=length(y); X=repmat(x,n,1); Y=repmat(y,1,m);数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 34MATLAB绘图和数据可视化绘图和数据可视化clfx = -1 0 1; y = 9 10 11 12; X,Y = meshgrid(x,y)Z=X.2+Y.2subplot(1,2,1)pl

23、ot3(X,Y,Z)subplot(1,2,2)surf(X,Y,Z)X =-1 0 1-1 0 1-1 0 1-1 0 1Y =9 9 910 10 1011 11 1112 12 12Z =82 81 82101 100 101122 121 122145 144 145数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 35MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 三维曲面绘制例:X,Y = meshgrid(linspace(0,2*pi,50),linspace(0,pi,50);Z = sin(X).*cos(Y);mesh(X,Y,Z)xlabel

24、(x); ylabel(y); zlabel(z);axis(0,2*pi,0,pi,-1,1)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 36MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 马鞍面绘制t2=-30:.3:30; x2,y2=meshgrid(t2);z2=x2.2-2*y2.2;mesh(x2,y2,z2);title(马鞍面)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 37MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 Matlab中创建三维图形基本步骤 1.数据准备 2.调用三维图形函数 plot3(),

25、 mesh(), surf()等表:表: 绘制三维图形的函数绘制三维图形的函数函数函数函数可以创建的图形函数可以创建的图形mesh, surf表面图形表面图形meshc, surfc带有轮廓线的表面图形带有轮廓线的表面图形meshz带有遮帘线(参考平面)的表面图形带有遮帘线(参考平面)的表面图形pcolor平坦表面图形平坦表面图形surfl源于指定方向的表面图形源于指定方向的表面图形数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 38MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制例:绘制二元函数图形画出函数的图形,其中(x,y)属于3,3*3,322zxy数学物理

26、建模与计算机辅助设计数学物理建模与计算机辅助设计Page 39MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 步骤%准备数据,指定定义域x=-3:0.1:3;y=-3:0.1:3;%将向量x, y指定区域转化为矩阵X, YX,Y=meshgrid(x,y);%产生函数值Z=sqrt(X.2+Y.2);%mesh绘制网格,surf绘制完整表面surf(X,Y,Z)数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 40MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 再绘马鞍面,观察两个曲面相交,马鞍面z=x2-2y2和平行于x-y平面且Z=20的平面%准备数

27、据,指定定义域并转化为矩阵x, yx,y=meshgrid(-10:0.2:10, -10:0.2:10);%产生函数值z1=(x.2-2*y.2)+eps;a=20; z2=a*ones(size(x);%mesh绘制网格,surf绘制完整表面mesh(x,y,z1);hold on; %保持图形mesh(x,y,z2);数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 41MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 参数方程绘制 ezmesh, ezsurf例:绘制椭球面u=-2*pi:0.1:2*pi;v=-2*pi:0.1:2*pi;ezmesh(3*cos(u)*sin(v),2*cos(u)*cos(v),sin(u),-2*pi,2*pi,-2*pi,2*pi)3cos sin2cos cossinxuvyuvzu数学物理建模与计算机辅助设计数学物理建模与计算机辅助设计Page 42MATLAB绘图和数据可视化绘图和数据可视化 三维图形绘制 绘制正螺面例:绘制螺旋面ezsurf(u*sin(v),u*cos(v),4*v,

温馨提示

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

评论

0/150

提交评论