matlab编程绘图方法.ppt

上传人:牧羊曲112 文档编号:5439297 上传时间:2023-07-07 格式:PPT 页数:70 大小:1.37MB
返回 下载 相关 举报
matlab编程绘图方法.ppt_第1页
第1页 / 共70页
matlab编程绘图方法.ppt_第2页
第2页 / 共70页
matlab编程绘图方法.ppt_第3页
第3页 / 共70页
matlab编程绘图方法.ppt_第4页
第4页 / 共70页
matlab编程绘图方法.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《matlab编程绘图方法.ppt》由会员分享,可在线阅读,更多相关《matlab编程绘图方法.ppt(70页珍藏版)》请在三一办公上搜索。

1、1,Matlab编程绘图,延边大学 经济管理学院主讲:崔基哲,2,Matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。,信息管理与信息系统专业 崔基哲,3,Matlab的学习方法,必须做大量的练习,熟悉其中的函数联系和自己的课题相关,深刻的体会多看帮助文件,又一本好的参考书记住:Matlab可以做很多事情,信息管理与信息系统专业 崔基哲,图形可视化的优点,以图形或图表的形式表现实验及科学计算等的结果可以给人更直观的感受,自变量与 因变量的关系、变量的分布趋势一目了然。,GUI(Graphical User Interfaces)可以使

2、得用户只需利用鼠标等便捷的方式与计算机交互信息,而无需记忆大量繁琐的命令。,信息管理与信息系统专业 崔基哲,S=270,270,280,280,280,280,290,290,300,300,300,310,320,320,320,340,340,340,360,380,400,S与N之间的关系及趋势?,N=1064100,896100,391660,1078680,1360140,1602670,827340,314470,157660,199790,261120,263580,95580,98110,165650,61860,68690,160940,59100,66230,34870,信

3、息管理与信息系统专业 崔基哲,信息管理与信息系统专业 崔基哲,Matlab及其应用,7,简单例子1,x=-pi:0.01:pi;plot(x,cos(x),grid on,Matlab及其应用,8,简单例子2,y=2*sin(0.5*pi)/(1+sqrt(3),Matlab及其应用,9,简单例子3,X,Y=meshgrid(-3:.125:3);Z=peaks(X,Y);meshc(X,Y,Z);axis(-3 3-3 3-10 5),Matlab及其应用,10,简单例子4,A=1,2,3;4,5,6;7,8,9A=1:3;4:6;7:9.*是元素对元素的运算,11,单窗口多曲线绘图,t=0

4、:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2),信息管理与信息系统专业 崔基哲,Matlab及其应用,12,流程控制,为了便于应用,MATLAB提供了一些流程控制的命令。这些命令对脚本编写带来了一些方便,但是需要注意的是,尽量不要使用这些流程控制命令,尤其是循环控制命令。1 for循环for循环允许一组命令以固定的次数重复,它的一般形式是for x=array commandendfor 和end之间的命令串按数组array的每一列执行一次,直到n次后终止。,Matlab及其应用,13,1 For循环

5、应当注意的一些方面,for循环不能使用内部重新赋值循环变量而终止;for循环内部接受任何有效的MATLAB数组;for循环可以嵌套;只要有矩阵形式可以解决的问题,不要使用for循环。使用for循环的算法执行很慢,一个好的MATLAB算法部应当出现循环语句。循环可以使用break跳出,但只跳出所在的循环,不跳出整个嵌套结构。,Matlab及其应用,14,2 while循环,与for循环以固定的次数求一组指令相反,while循环以不定的次数求一组语句的值。While循环的一般形式为:while expression commondsend只要表达式expression里的所有元素为真,就执行命令串

6、commands。通常表达式求值给一个标量值,单数组值也同样有效。,Matlab及其应用,15,3 if-else-end结构,很多情况下,命令的序列必须根据关系的检验有条件的执行,它由if-else-end结构提供。它的结构如下:if expression1 commands1else if expression2 commands2else if else if commandsend,Matlab及其应用,16,简单例子5,Matlab及其应用,17,简单例子6,18,二维图形,plot函数绘制二维曲线,常用格式有:1.plot(x):缺省自变量的绘图格式,x可为向量或矩阵。2.plot

7、(x,y):基本格式,x和y可为向量或矩阵。3.plot(x1,y1,x2,y2,):多条曲线绘图格式,在同一坐标系中绘制多个图形。4.plot(x,y,s):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标记符号。,信息管理与信息系统专业 崔基哲,延边大学 信息管理专业,19,例:plot(t,y,r-,t,y1,g:,t,y2,b*),可任意设置颜色与线型,20,图形颜色、标记和线形参数表,信息管理与信息系统专业 崔基哲,21,图形颜色、标记和线形参数表,信息管理与信息系统专业 崔基哲,点和线的基本属性,图形的属性,信息管理与信息系统专业 崔基哲,23,应用举例7plot画一个圆,程

8、序如下:R=2;t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t)plot(x,y,b:),grid,信息管理与信息系统专业 崔基哲,24,例8:序列函数、sin函数,x=3 5 7 6 12 24 15 33 6 9 7 2;plot(x)%绘制以序号为横坐标,元素值为纵坐标的曲线 x=0:pi/10:2*pi;y=sin(x);plot(x,y)%绘制以x为横坐标,y为纵坐标的曲线,信息管理与信息系统专业 崔基哲,25,例9:绘制,x=linspace(0,7);y1=sin(2.*x);y2=sin(x.2);y3=(sin(x).2;%曲线1:红色实线,+号显示数

9、据点%曲线2:黑色点线,*号显示数据点%曲线3:蓝色虚线,上三角形显示数据点 plot(x,y1,r+-,x,y2,k*:,x,y3,b-),信息管理与信息系统专业 崔基哲,26,图形修饰与控制,1.title 给图形加标题2.xlable/ylable 给x轴/y轴加标注3.text 在图形指定的任意位置加标注4.gtext 利用鼠标将标注加到图形任意位置5.grid on/off、grid 打开/关闭坐标网格线、切换方式6.legend 添加图例7.axis 控制坐标轴刻度8.hold on/off、hold图形叠加/叠加撤除、切换方式9.subplot显示多窗口(子图)10.figure

10、多窗口绘图,信息管理与信息系统专业 崔基哲,27,例:绘制正弦和余弦曲线,并加入网格和标注,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(正弦&余弦)%y坐标名grid on%添加网格axis square%将图形设置为正方形,信息管理与信息系统专业 崔基哲,28,图形修饰与控制subplot,su

11、bplot在图形窗口绘制子图形,调用:subplot(m,n,p)图形窗口分成mn个子窗口,并将第p子窗口作为当前窗口。子窗口的排列顺序为左上角为第一窗口,信息管理与信息系统专业 崔基哲,t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);subplot(1,3,1);plot(t,y);subplot(1,3,2);plot(t,y1);subplot(1,3,3);plot(t,y2);,subplot(3,1,1);plot(t,y);subplot(3,1,2);plot(t,y1);subplot(3,1,3);plot(t,y

12、2);,31,3.3 图形修饰与控制subplot,subplot在图形窗口绘制子图形,信息管理与信息系统专业 崔基哲,32,3.3 图形修饰与控制subplot,x=-10:0.01:10;y1=x.*cos(x);y2=-x.*sin(x)+cos(x);y3=sin(x).*cos(x);y4=(sin(x).2).*(cos(x).2);subplot(2,2,1);%在左上角绘图 plot(x,y1);title(第一个子图)subplot(2,2,2);%在右上角绘图 plot(x,y2);title(第二个子图)subplot(2,2,3);%在左下角绘图 plot(x,y3,m

13、o);title(第三个子图),subplot(2,2,4);%在右下角绘图 plot(x,y4,g*);title(第四个子图),信息管理与信息系统专业 崔基哲,33,3.3 图形修饰与控制figure,figure用于打开多个图形窗口,plot命令绘图时,是以缺省方式创建1号窗口。进行多窗口绘图时,需要按照窗口序号创建窗口,才可以在指定窗口绘图。如:x=linspace(-10,10);y1=%略y2=%略figure(1)%创建第1号窗口plot(x,y1,r)figure(2)%创建第2号窗口plot(x,y2,-.b*),34,MATLAB的图形编辑窗口,35,采用hold函数对图形

14、进行比较显示,可继续绘制新图,并按需自动调整刻度。,图形修饰与控制hold,调用1.hold on保留当前图形及坐标的全部属性,使得随后绘制的图形附加到已存在的图形上去。,调用2.hold off 返回hold的缺省模式,随后的作图命令“plot”将抹去当前已有图形,在绘制新的图形前重新设置坐标轴的属性。,调用3.hold 切换hold的on 和off两种状态。,36,cleart=0:pi/10:2*pi;y1=sin(t);y2=cos(t);y3=sin(t)-cos(t);plot(t,y1,bo,);hold on;%后续图形叠加显示plot(t,y2,-.b);plot(t,y3,

15、-m);,图形修饰与控制hold,例如:,信息管理与信息系统专业 崔基哲,37,采用图形窗口分割方法进行比较显示,cleart=0:pi/10:2*pi;y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi);%将图形窗口分割成两行两列,要画的图形为第1行第1列subplot(2,2,1);plot(t,y1);subplot(2,2,2);plot(t,y2);subplot(2,2,3);plot(t,y3);subplot(2,2,4);plot(t,y4);,信息管理与信息系统专业 崔基哲,特殊二维绘图函数,bar 绘制直方图 polar 绘制极

16、坐标图 hist 绘制统计直方图 stairs 绘制阶梯图 stem 绘制火柴杆图 rose 绘制统计扇形图 comet 绘制彗星曲线 area 区域图 pie 饼图,信息管理与信息系统专业 崔基哲,条形图可以显示矢量数据和矩阵数据,如果用户需要表现跨时间段的运算结果、不同数据的比较结果以及部分相对于整体比较结果时,常会用到条形图绘制离散数据。MATLAB中提供了条形图绘制函数bar,函数bar有4种,,绘制和编辑条形图,信息管理与信息系统专业 崔基哲,t=0:0.2:2*pi;y=cos(t);bar(y),绘制直方图,信息管理与信息系统专业 崔基哲,x=0:pi/20:2*pi;y=sin

17、(x);stairs(x,y),绘制阶梯曲线,信息管理与信息系统专业 崔基哲,t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y),极坐标绘图,信息管理与信息系统专业 崔基哲,t=0:0.2:2*pi;y=cos(t);stem(y),火柴杆绘图,信息管理与信息系统专业 崔基哲,t=-pi:pi/500:pi;y=tan(sin(t)-sin(tan(t);comet(t,y),彗星曲线图,信息管理与信息系统专业 崔基哲,x=magic(6);area(x),面积图,信息管理与信息系统专业 崔基哲,x=1 2 3 4 5 6 7;y=0 0 0 1 0 0 0;pie(

18、x,y),饼图,信息管理与信息系统专业 崔基哲,Matlab及其应用,47,4.二维图形绘制命令汇总,48,三维图形,1.三维曲线图plot3函数可以绘制三维曲线:(1)plot3(x1,y1,z1,s1,x2,y2,z2,s2)2.三维网格图mesh函数为数据点绘制网格线:(1)mesh(z)z为nm的矩阵,x与y坐标为元素的下标位置(2)mesh(x,y,z)x,y,z分别为三维空间的坐标位置3.三维曲面图三维曲面的绘图是由surf函数完成的,用法和mesh类似。,信息管理与信息系统专业 崔基哲,49,三维曲线图 plot3,调用格式:plot3(x,y,z1)TIP:(1)当x,y,z

19、为向量时,将以三个向量中的相应元素X、Y、Z坐标绘制出数据点,然后再用线把这些点连接起来得到一条空间曲线;(2)当x,y,z为同维矩阵时,则分别取x,y,z中的对应列,画出多条曲线;(3)plot3与函数plot一样,也可对图形的绘制进行控制。如:plot3(x1,y1,z1,s1,x2,y2,z2,s2,),信息管理与信息系统专业 崔基哲,延边大学 信息管理专业,50,三维饼图pie3(4 3 6 8 9),51,三维网格图 mesh,调用格式:(1)mesh(z)z为mn的矩阵,x与y分别为(1:m,1:n)(2)mesh(x,y,z)x,y,z分别为同阶矩阵,TIP:(1)在三维空间中画

20、出一个彩色的、带有线框的表面视图,MATLAB同时将该视图在三维空间中显示出来。(2)在曲面的网格图基础上,如果对网线间的曲面小块进行填充,就成了表面图(也称曲面图)。(3)一般是先用函数meshgrid创建矩阵X和矩阵Y,利用函数meshgrid得到的数据点是均匀分布的,然后可以继续用函数mesh等进行绘制图形。,信息管理与信息系统专业 崔基哲,52,三维网格图 mesh,x=0:0.1:10;x,y=meshgrid(linspace(0,10),linspace(0,10);z=(1./(x.3-2.*x+5)+(1./(y.3-2.*y+5);mesh(x,y,z);xlabel(X

21、axis);ylabel(Y axis);zlabel(Z axis);grid on,例如:,信息管理与信息系统专业 崔基哲,53,三维曲面图 surf,调用格式:surf(x,y,z),TIP:(1)该格式将创建一个彩色的、由多个小面组成的表面视图,MATLAB同时将该视图在三维空间中显示出来。(2)通常,这些小面是四角形的,每个都有固定的颜色,而边界是黑色网格线。,信息管理与信息系统专业 崔基哲,54,3.4.3 三维曲面图 surf,例:用surf函数绘制彩色曲面图。,x=-8:0.5:8;y=x;X,Y=meshgrid(x,y);r=sqrt(X.2+Y.2)+eps;Z=sin(

22、r)./r;surf(X,Y,Z);title(帽子形状),信息管理与信息系统专业 崔基哲,55,绘制x、y、z均为矢量时的三维曲线图,t=0:pi/50:10*pi;x=exp(-t/15).*sin(2*t);y=exp(-t/15).*cos(2*t);z=t;plot3(x,y,t)axis square;grid on,信息管理与信息系统专业 崔基哲,56,绘制指定线型、颜色及标记点的三维曲线图,t=0:pi/20:5*pi;plot3(sin(t),cos(t),t,:*r),信息管理与信息系统专业 崔基哲,57,例:分别用mesh函数和surf函数绘制高斯矩阵,z=peaks(4

23、0);%创建双峰函数mesh(z);%网格线 figure%产生新的图形窗口surf(z);%着色表面图,信息管理与信息系统专业 崔基哲,58,观察点,clearz=peaks(40);subplot(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的视点,信息管理与信息系统专业 崔基哲,colormap(R,G,B)色图设定函数

24、Matlab 的颜色数据集合为红、绿、兰三颜色矩阵R,G,B,维数m3r,g,b在0 1区间连续取值,理论上颜色种类可达无穷多种Matlab使用三维向量表示一种颜色,常用颜色数据见下表,信息管理与信息系统专业 崔基哲,饱和色 0 0 0 黑色 0 0 1 兰色 0 1 0 绿色 0 1 1 浅兰 1 0 0 红色 1 0 1 粉红 1 1 0 黄色 1 1 1 白色,调和色0.5 0.5 05 灰色0.5 0 0 暗红色1 0.62 0.4 铜色0.49 1 0.8 浅绿0.49 1 0.83 宝石兰,信息管理与信息系统专业 崔基哲,调用格式:surf(x,y,z)绘制三维曲面图,x,y,z

25、为图形坐标向量例:X,Y,Z=peaks(30)surf(X,Y,Z)peaks为Matlab自动生成的三维测试图形,信息管理与信息系统专业 崔基哲,x=-5:5;y=x;X,Y=meshgrid(x,y);Z=X.2+Y.2;surf(X,Y,Z);,信息管理与信息系统专业 崔基哲,surfc(X,Y,Z)带等高线的曲面图 X,Y,Z=peaks(30);surfc(X,Y,Z),surfl(X,Y,Z)被光照射带阴影 的曲面图X,Y,Z=peaks(30);surfl(X,Y,Z),cylinde(r,n)三维柱面绘图函数 r 为半径;n为柱面圆周等分数例:绘制三维陀螺锥面t1=0:0.1

26、:0.9;t2=1:0.1:2;r=t1-t2+2;x,y,z=cylinder(r,30);surf(x,y,z);grid on,信息管理与信息系统专业 崔基哲,为球面等分数,缺省为20例:绘制三维球面x,y,z=sphere(30);surf(x,y,z);,67,应用举例1,例:测量三组样品的稳定性随时间的变化情况,得到如下一组实验数据。请画出其图形,要求标注出坐标轴、数据点位置、数据点大小等。,信息管理与信息系统专业 崔基哲,68,应用举例1,分析:1.将“时间”作为横坐标,将“样品数据”作为纵坐标;2.自变量“时间”有9个数值;3.将三种样品的数据图形绘制在同一个图形中用于比较。,

27、信息管理与信息系统专业 崔基哲,69,x=1:9;y1=12.51 13.54 15.60 15.92 20.64 24.53 30.24 30.00 36.34;y2=2.87 20.54 32.21 40.50 48.31 64.51 72.32 85.98 89.77;y3=10.11 8.14 14.17 20.14 40.50 39.45 60.11 62.13 20.90;plot(x,y1,r.-,x,y2,gx:,x,y3,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);,应用举例1,信息管理与信息系统专业 崔基哲,70,学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成,结束语,上机练习,正比,信息管理与信息系统专业 崔基哲,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号