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

下载本文档

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

文档简介

1、第三章MATLAB绘图和数据可视化1MATLAB绘图和数据可视化本章内容何为“好”的数据可视化二维图形绘制三维图形绘制图形处理基本技术本章的学习目标掌握基本的绘图命令了解各种图形注释方法掌握二维、三维图形的绘制方法掌握一些特殊图形的绘制了解图形的高级控制技巧2MATLAB绘图和数据可视化为何要将数据可视化难以从大量数据或符号中感受具体含义人更喜欢用眼睛看直观的图形快速、有效地表达想法、观察或结论Matlab的数据可视化功能点、线、面处理二维、三维和四维表现图图形着色、消隐、光照、渲染及多视角处理等3MATLAB绘图和数据可视化何为“好”数据可视化?好的可视化应该是因为明显目的对描述、探索或记录

2、感兴趣不偏差地展示数据数据,特别是数据所揭示的真理才是最重要的引发观看者思考数据的实质如果图像过于花哨,会使人们分散注意力在小空间中表现出大量数据大量数据太繁杂,需要使大数据集更紧凑易于视觉的比较容易看出相关的不同揭示不同层次的信息当有更多细节时,更容易理解更广的方面4MATLAB绘图和数据可视化何为“好”数据可视化?比较:下面两张黑白图,哪张更好图1图25MATLAB绘图和数据可视化【例题】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*

3、pi*x)+sin(6*pi*x);subplot(2,2,3)plot(x,y3,r+)y4=cos(2*pi*x)+cos(6*pi*x);subplot(2,2,4)plot(x,y3,r+,x,y4,b-)7MATLAB绘图和数据可视化二维图形绘制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蓝色右三角k黑色p正五边形8MATLAB

4、绘图和数据可视化【解】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:)10MATLAB绘图和数据可视化特殊坐标系的二维图形绘图polar (theta,rho,s):命令是通过使用极坐标,按照坐标的角度 为theta,极半径为rho绘制图形,s定义绘制图形的颜色和线型。例:极坐标x=0.0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x, y, -)11MA

5、TLAB绘图和数据可视化二维图形绘制双纵坐标图plotyy(x1,y1,x2,y2) %以左、右不同纵轴绘制x1- y1,x2-y2 两条曲线.12MATLAB绘图和数据可视化例:双纵坐标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)14MATLAB绘图和数据可视化二维图形绘制例:一个将有害的废料转化为无害的生物医学实验。实验中的废料的聚乙烯物质(TCE)和相关温度数据如下: TCE=515 420 370

6、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);15MATLAB绘图和数据可视化二维图形绘制饼图pie(x):绘制关于向量x的各个分量的饼形图。x的各个分量先被除以sum(x),这样可以决定各个分量在图形中的“饼块份额”。pie(x,e):可以绘制出饼块分离的饼形图。向量x必须和x 具有相同的维数。e和x的分量相对应。pie(,labels):可

7、以给每个饼块取名。向量labels必须和x 具有相同的维数,并且只能是字符串。17MATLAB绘图和数据可视化例:饼图clfx1=2, 4, 6, 8;x2=0.1,0.3,0.2,0.2;e1=1,0,0,0;lab=math, English, Chinese, musicsubplot(1,3,1)pie(x1, lab)subplot(1,3,2)pie(x2,lab)subplot(1,3,3)pie(x1,e1,lab)18MATLAB绘图和数据可视化二维图形绘制离散数据图形绘制例:x = 0:0.25:(3*pi);stem(x,sin(x), sr, fill);title(s

8、tem(x,sin(x);xlabel(x);19MATLAB绘图和数据可视化二维图形绘制二维特殊函数图的绘制表:Matlab中常见二维特殊图形函数函数名说明函数名说明area填充绘图feather矢量图bar条形图harh水平条形图hist直方图pie饼图polar极坐标图contour等高线图20MATLAB绘图和数据可视化二维图形绘制二维图形修饰(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=s

9、in(x),FontSize,14)21MATLAB绘图和数据可视化二维图形绘制二维图形修饰(2)在标注中如何输入特殊符号?字符转换如:pi 即显示为; Omega 即显示为无须记住,用时会查,会联想即可常见符号转义示例控制字符串转义控制字符串转义控制字符串转义sigmaSigmaPhideltaDeltainftyleqgeqneq22MATLAB绘图和数据可视化二维图形绘制图形修饰:相关函数汇总可以将标题、坐标轴标记、网格线及文字注释加注到图形。title 给图形加标题xlable 给x轴加标注ylable 给y轴加标注text(x,y,s) 在图形指定位置加标注gtext 将标注加到图形

10、任意位置grid on(off) 打开、关闭坐标网格线legend (off) 在指定位置建立图例。24MATLAB绘图和数据可视化【例】clfx = 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)25MATLAB绘图和数据可视化三维图形绘制三维曲线绘制 plot3()plot3(x,y,z) %x,y,z为3个相同维数的向量plot3(X,Y,Z) %X,Y,Z为3个相同阶数的矩阵pl

11、ot3(X,Y,Z,s)%s为定义线形的参数例1:绘制三维螺旋线x=0:pi/50:10*pi;y=sin(x);z=cos(x);plot3(x,y,z)plot327MATLAB绘图和数据可视化三维图形绘制三维曲线绘制 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)/428MATLAB绘图和数据可视化练习x=1,2;3,4;y=2,1;4,

12、3;z=5,6;7,8;plot3(x,y,z)29MATLAB绘图和数据可视化三维图形绘制三维饼状图绘制 pie3()例:x=2, 4, 6, 8;pie3(x,1,1,1,1) %第二个参数控制各块的分离30MATLAB绘图和数据可视化三维图形绘制mesh(x,y,z)画网格曲面,x, y, z是数据矩阵,分别表示数据点的横坐标、纵坐标和函数值,该命令将数据点在空间中描出,并连成网格surf(x,y,z)画完整曲面, x, y, z是数据矩阵,分别表示数据点的横坐标、纵坐标和函数值,该命令将数据点所表示曲面画出 t=0:pi/6:4*pi; x,y,z=cylinder(4+cos(t);

13、 surf(x,y,z)31MATLAB绘图和数据可视化三维图形绘制创建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矩阵X重复x为行向量Y重复y为列向量32MATLAB绘图和数据可视化%ffmesh.mfunctionX,Y=ffmesh(x,y)m=length(x);n=length(y);X=repmat(x,n,1);Y=repmat(y,1,m);3

14、3MATLAB绘图和数据可视化clfx = -1 0 1; y = 9 10 11 12; X,Y = meshgrid(x,y)Z=X.2+Y.2subplot(1,2,1)plot3(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 14534MATLAB绘图和数据可视化三维图形绘制三维曲面绘制例:X,Y = meshgrid(linspace(0,2*pi,50),linspac

15、e(0,pi,50);Z = sin(X).*cos(Y);mesh(X,Y,Z)xlabel(x); ylabel(y); zlabel(z);axis(0,2*pi,0,pi,-1,1)35MATLAB绘图和数据可视化三维图形绘制马鞍面绘制t2=-30:.3:30; x2,y2=meshgrid(t2);z2=x2.2-2*y2.2;mesh(x2,y2,z2);title(马鞍面)36MATLAB绘图和数据可视化三维图形绘制Matlab中创建三维图形基本步骤1.数据准备2.调用三维图形函数 plot3(), mesh(), surf()等表: 绘制三维图形的函数函数函数可以创建的图形me

16、sh, surf表面图形meshc, surfc带有轮廓线的表面图形meshz带有遮帘线(参考平面)的表面图形pcolor平坦表面图形surfl源于指定方向的表面图形37MATLAB绘图和数据可视化三维图形绘制例:绘制二元函数图形画出函数的图形,其中(x,y)属于3,3*3,3绘制的步骤是?38MATLAB绘图和数据可视化三维图形绘制步骤%准备数据,指定定义域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)39MAT

17、LAB绘图和数据可视化三维图形绘制再绘马鞍面,观察两个曲面相交,马鞍面z=x2-2y2和平行于x-y平面且Z=20的平面%准备数据,指定定义域并转化为矩阵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);40MATLAB绘图和数据可视化三维图形绘制参数方程绘制 ezmesh, ezsurf例:绘制椭球面u=-2*pi:0.1:2*pi;v=-2*p

18、i: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)41MATLAB绘图和数据可视化三维图形绘制绘制正螺面例:绘制螺旋面ezsurf(u*sin(v),u*cos(v),4*v,-2*pi,2*pi,-2*pi,2*pi)42MATLAB绘图和数据可视化三维图形绘制例:绘制圆锥面ezsurf(u*sin(v),u*cos(v),u,-2*pi,2*pi,-2*pi,2*pi)43MATLAB绘图和数据可视化三维图形绘制三维图形的基本处理:视角变换view(az,el)az表示方位角el表示仰角zyx-y视点az方位角el仰角44MATLAB绘图和数据可视化三维图形绘制三维图

温馨提示

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

评论

0/150

提交评论