《第三章 数据及函数的可视化.ppt》由会员分享,可在线阅读,更多相关《第三章 数据及函数的可视化.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章 数据和函数的可视化仿真技术第三章 数据及函数的可视化本章主要内容如下:3.1 可视化的基本步骤3.2 二维曲线绘图3.3 三维曲线绘图3.4 图形窗功能简介 数据可视化是数据分析、系统分析的一种重要方法。MATLAB具有丰富且易于理解和使用的绘图指令,数据和函数的可视化是MATLAB的重要组成部分。第三章 数据和函数的可视化仿真技术第三章 数据和函数的可视化仿真技术3.1 可视化的基本步骤1.曲线数据准备(以二维图形为例):n选取一个参变量采样向量n计算各坐标数据向量2.选定图形窗及子图位置;3.调用曲线绘图指令;4.设置轴的范围5.图形注释(图名、坐标名、图例、文字说明)。第三章 数
2、据和函数的可视化仿真技术例用图形表示 y=sin(t)sin(9t).t=(0:100)/100*pi;y=sin(t).*sin(9*t);subplot(2,1,1),plot(t,y,r.),axis(0,pi,-1,1),title(子图1)subplot(2,1,2),plot(t,y),axis(0,pi,-1,1),title(子图2)%产生参变量采样向量%产生数据向量%确定子图、线%型、注释等第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.1 plot的基本调用格式a)plot(X,s)nX为实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画一条连续曲线。nX
3、为实矩阵时,则按列绘制每列元素值相对其下标的曲线,图中曲线数等于X阵列数。nX为复数矩阵时,则按列绘制每列以元素实部和虚部为横、纵坐标绘制多条曲线。n用来指定线型、色彩等,缺省时为MATLAB默认设置。第三章 数据和函数的可视化仿真技术【例3-1】二维曲线绘图基本指令演示一。t=(0:pi/50:2*pi);k=0.4:0.1:1;Y=cos(t)*k;plot(Y)%生成(101*1)的时间采样列向量%生成(1*7)的行向量%生成(101*7)的矩阵第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.1 plot的基本调用格式b)plot(X,Y,s)nX、Y是同维向量时,绘制X、
4、Y元素为横、纵坐标的曲线。nX是列向量,Y是与X等行的矩阵时,以X为横坐标,按Y的列数绘制多条曲线。nX是矩阵,Y是向量时,以Y为纵坐标按X的列数绘制多条曲线。nX、Y是同维矩阵时,以X,Y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵列数ns的意义与其在plot(X,s)中相同。第三章 数据和函数的可视化仿真技术【例3-2】二维曲线绘图基本指令演示二:plot(t,Y)、plot(Y,s)所绘图形的比较。t=(0:pi/50:2*pi);k=0.4:0.1:1;Y=cos(t)*k;plot(t,y)%生成(101*7)的矩阵%生成(1*7)的行向量%生成(101*1)的列向量第三章
5、数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.2 曲线的色彩、线型和数据点形a)色彩和线型线型符号-:-.-含义实线虚线点划线双划线色彩符号bgrcmykw含义蓝绿红青品红黄黑白n 【说明】当s缺省时,默认设置为n 曲线一律用“实线”线型。n 不同曲线按表中所给前七种颜色次序着色,依次为蓝、绿、红等.第三章 数据和函数的可视化仿真技术【例3-3】二维曲线绘图基本指令演示三:色彩和线型。用图形表示连续调制波形 及其包络线。t=(0:pi/100:pi);y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);plot(t,y1,r:,t,y2,b)axis(0,pi,-1,
6、1)%生成(101*1)的时间采样列向量%生成(101*2)的矩阵(包络线函数值)%生成(101*1)的调制波列向量%用红虚线绘y1,用蓝实线绘y2第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.2 曲线的色彩、线型和数据点形b)数据点形n数据点形用来标志数据点,既可单独使用也可与色彩、线型组合使用。符 号含 义符 号含 义.实心黑点d菱形符+十字符h六角星符朝上三角符o空心圆符朝右三角符s方块符v朝下三角符x叉字符第三章 数据和函数的可视化仿真技术【例3-4】二维曲线绘图基本指令演示四:数据点形(函数与例3-3相同)。t=(0:pi/100:pi);y2=sin(t).*sin
7、(9*t);t1=pi*(0:9)/9;y3=sin(t1).*sin(9*t1);plot(t,y2,b,t1,y3,bp)axis(0,pi,-1,1)%用蓝实线绘y2,用对y3进行标志%生成(1*10)数据标志点采样向量%生成(1*10)数据标志点数据第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.3 图形控制n在一般绘图时可采用MATLAB的缺省设置,也能得到满意的画面,但用户也可根据需要改变缺省设置。a)坐标控制指 令含 义指 令含 义axis auto使用缺省设置axis equal纵、横轴为等长刻度axis ij矩阵式坐标axis normal缺省矩形坐标系axis
8、 xy普通直角坐标axis square正方形坐标系axis(V)V=x1,x2,y1,y2V=x1,x2,y1,y2,z1,z2人工设定坐标范围。设定值:二维,4个;三维,6个.axis tight坐标范围为数据范围axis image纵、横轴为等长刻度,且坐标框紧贴数据范围第三章 数据和函数的可视化仿真技术3.2.3 图形控制b)分格线和坐标框ngrid on 画出分格线ngrid off 不画分格线nbox on 使当前坐标呈封闭形式nbox off 使当前坐标呈开启形式n【说明】缺省时,不画分格线;坐标呈封闭形式。第三章 数据和函数的可视化仿真技术3.2.3 图形控制c)图形标识nti
9、tle(S)书写图名nxlable(S)横坐标轴名nylable(S)纵坐标轴名ntext(xt,yt,S)在(xt,yt)处写字符注释nlegend(s1,s2,)在图右上角建立图例n【说明】S为带单引号的英文或中文字符串。x=0:0.1:1;y=x.*exp(-x);plot(x,y);xlabel(x),ylabel(y)%图形标识title(y=x*exp(-x)%图形标识【例3-6】二维曲线绘图基本指令演示:图形标识图形标识第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图 利用精细指令可以对图形进行精细控制,例如在图形指定位置显示各种字符,公式等。3.2.3 图形控制c)图形标
10、识n精细指令形式第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.3 图形控制c)图形标识n精细指令形式指 令字符指 令字符指 令含义arg取值举例alphaomegaarg上标任何合法字符ite-alphatbetaOmega _arg下标任何合法字符rmt_sxineqarg风格bf(黑体)it(斜体)rm(正体)inttimesfontsizearg大小正整数(缺省值为10)fontsize12sin示例结果:(1);(2)ts ;(3)sin第三章 数据和函数的可视化仿真技术t=pi*(0:1/100:1);beta=asin(1);y=1-exp(-2*t).*sin(5
11、*t+beta);plot(t,y)text(3.0,1.14,bfalpha=2)text(3.0,1.10,rmomega=5)xlabel(fontsize14bft)ylabel(fontsize14y)title(rm y=1-e-alphatsin(omegat+beta)例3-6 精细指令示例第三章 数据和函数的可视化仿真技术3.2.3 图形控制d)双纵坐标图 把同一自变量的两个不同量纲、不同数量级的函数绘制在同一张图上,即为双纵坐标图。nplotyy(X1,Y1,X2,Y2)以左右不同纵轴绘制X1-Y1,X2-Y2两条曲线。nplotyy(X1,Y1,X2,Y2,FUN)以左右
12、不同纵轴把X1-Y1,X2-Y2绘制成FUN指定形式的两条曲线。nplotyy(X1,Y1,X2,Y2,FUN1,FUN2)以左右不同纵轴把X1-Y1,X2-Y2绘制成FUN1,FUN2指定的不同形式的两条曲线。【说明】1)轴的范围、刻度自动产生。2)FUN,FUN1,FUN2为MATLAB中所有接受X-Y数据对的二维绘图指令.第三章 数据和函数的可视化仿真技术【例3-7】已知系统单位阶跃响应和单位脉冲响应分别为t=0:0.02:3;xi=0.5;wn=5;sxi=sqrt(1-xi2);sita=atan(sxi/xi);wd=wn*sxi;y1=1-exp(-xi*wn*t).*sin(w
13、d*t+sita)/sxi;y2=wn*exp(-xi*wn*t).*sin(wd*t)/sxi;plotyy(t,y1,t,y2)其中,.用双纵坐标图画出这两个函数在区间0,4上的曲线.第三章 数据和函数的可视化仿真技术3.2 二维曲线绘图3.2.3 图形控制e)多子图 MATLAB允许用户在同一个图形窗里布置几幅独立的子图。nsubplot(m,n,k)使(mn)幅子图中的第k幅成为当前图.nsubplot(position,left bottom widt hight)在指定位置开辟子图,并成为当前图.【说明】1)subplot(m,n,k)表示图形窗有(mn)幅子图,k是子图编号。序号
14、编排原则是:左上方为第一幅,向右向下依次排号。2)subplot(position,left bottom widt hight)产生的子图位置由人工指定,指定位置的四元组采用归一化的标称单位,即认为图形窗的高、宽的取值范围都是0,1。第三章 数据和函数的可视化仿真技术【例3-8】二维曲线绘图基本指令演示:多子图多子图t=(pi*(0:1000)/1000);y1=sin(t);y2=sin(10*t);y12=sin(t).*sin(10*t);subplot(2,2,1),plot(t,y1);axis(0,pi,-1,1)subplot(2,2,2),plot(t,y2);axis(0,
15、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)子图一子图二子图三第三章 数据和函数的可视化仿真技术3.3 三维曲线绘图3.3.1 plot3的基本调用格式nplot3在三维曲线绘图指令中是最易理解的,其使用格式与plot十分相似。具体如下:nplot3(X,Y,Z,s)nplot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,)【说明】1)X,Y,Z为同维向量时,绘制以X,Y,Z元素为x,y,z坐标的三维曲线。2)X,Y,Z为同维矩阵时,以X,Y,Z对应列元素为x,y
16、,z坐标分别绘制曲线,曲线条数等于矩阵列数。3)s,s1,s2的意义与二维情况完全相同,可以缺省。4)(X1,Y1,Z1,s1),(X2,Y2,Z2,s2)的结构和作用与(X,Y,Z,s)相同。第三章 数据和函数的可视化仿真技术【例3-13】三维曲线绘图基本指令演示一:plot3t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,b-,x,y,z,bd)box onlegend(链,宝石)三维曲线绘图(蓝实线和蓝菱形)在右上角建立图例第三章 数据和函数的可视化仿真技术3.3 三维曲线绘图3.3.2 三维网线图和曲面图nplot3只能
17、绘制单参数的三维曲线图,而三维网线图和曲面图则比较复杂,主要表现于绘图数据的准备,图形的色彩、明暗、光照和视点处理。1.数据准备 画函数 z=f(x,y)所代表的三维空间曲面,需要做以下数据准备:a)确定自变量x,y的取值范围和取值间隔。x=x1:dx:x2;y=y1:dy:y2第三章 数据和函数的可视化仿真技术3.3.2 三维网线图和曲面图1.数据准备b)构成xy平面上的自变量“格点”阵。X,Y=meshgrid(x,y)c)计算在自变量采样“格点”上的函数值,即 Z=f(X,Y)n【说明】X由x按行复制而成,其行数为y元素的个数;Y由y按列复制而成,其列数为x元素的个数。x=-4:4y=0
18、:4第三章 数据和函数的可视化仿真技术3.3 三维曲线绘图3.3.2 三维网线图和曲面图2.网线、曲面图基本指令格式a)网线图nmesh(Z)以Z矩阵列、行下标为x,y轴自变量,画网线图.nmesh(X,Y,Z)最常用的网线图调用格式。nmesh(X,Y,Z,C)最完整的调用格式,画由C指定用色的网线图。【说明】a)在最完整调用格式中,四个输入宗量都是维数相同的矩阵。X、Y是自变量“格点”矩阵,Z是格点上函数矩阵;C是指定各点用色的矩阵。C缺省时,默认用色矩阵为Z。b)单输入宗量格式时,Z矩阵列下标为x轴的“自变量”;Z的行下标为y轴“自变量”。第三章 数据和函数的可视化仿真技术【例3-14a
19、】三维网线绘图指令演示:meshclf,x=-4:4;y=x;X,Y=meshgrid(x,y)Z=X.2+Y.2;mesh(X,Y,Z);colormap(cool)xlabel(X),ylabel(y),zlabel(z)将将 mesh(X,Y,Z)改改 为为mesh(Z),其其网网线线图图如如左左图图所所示示(注注意意X、Y)坐坐标标的的变化。变化。第三章 数据和函数的可视化仿真技术3.3.2 三维网线图和曲面图2.网线、曲面图基本指令格式b)曲面图n surf(Z)以Z矩阵列、行下标为x,y轴自变量,画曲面图。nsurf(X,Y,Z)最常用的曲面图调用格式。nsurf(X,Y,Z,C)
20、最完整的调用格式,画由C指定用色的曲面图。有关调用的说明同mesh指令。【例3-14b】三维曲面绘图指令演示:surfx=-4:4;y=x;X,Y=meshgrid(x,y);Z=X.2+Y.2;surf(X,Y,Z);画三维曲面图第三章 数据和函数的可视化仿真技术x=-4:4;y=x;X,Y=meshgrid(x,y);Z=X.2+Y.2;subplot(1,3,1),surf(X,Y,Z);subplot(1,3,2),mesh(X,Y,Z);subplot(1,3,3),plot3(x,y,x.2+y.2),box on绘曲面图绘网线图绘曲线图【例3-14】网线、曲面、曲线图比较网线、曲
21、面、曲线图比较:第三章 数据和函数的可视化仿真技术3.3 三维曲线绘图3.3.2 三维网线图和曲面图3.图形的透视n曲面图MATLAB在采用缺省设置画mesh图形时,对叠压在后面的图形采取了消隐措施。采用如下指令可控制消隐:n透视被叠压的图形nhidden onhidden off消隐被叠压的图形%【例3-15】透视演示透视演示clf,x,y=meshgrid(-3:0.1:3,-2:0.1:2);z=(x.2+2*x).*exp(-x.2-y.2-x.*y);subplot(1,2,1),mesh(x,y,z),axis(-3,3,-2,2,-0.5,1.0)hidden offsubplo
22、t(1,2,2),mesh(x,y,z)hidden onaxis(-3,3,-2,2,-0.5,1.0)%透视%不透视第三章 数据和函数的可视化仿真技术透视透视不透视不透视第三章 数据和函数的可视化仿真技术【例3-22】零开口四通滑阀的流量方程为 ,其中K为阀系数,xv为阀的开口量,pl为阀的负载压力,ps为阀的供油压力。设K=0.01m3.N-1/2.s-1,ps=14MPa,xv和pl的变化范围分别为0,2mm 和 0,14MPa,试绘制Ql的曲面图。%调整视点,以符合绘制二维流量-压力曲线的习惯表示。ClfK=0.01;Ps=14;xv=0:0.05:2;pl=0:1:14;Pl,Xv
23、=meshgrid(pl,xv);Ql=K*Xv.*sqrt(Ps-Pl)/1000;surf(Pl,Xv,Ql)view(43.5,42)%视点调整xlabel(pl/MPa)ylabel(xv/mm)zlabel(Ql/l/min)第三章 数据和函数的可视化仿真技术3.4 图形窗功能简介图形窗功能简介 图形窗除了用于显示图形,还可对所显示的图形进行编辑。下图为图形窗工具条上MATLAB所特有的七个按键,它们用来对图形进行交互操作。图形对象编辑添加直线添加文字添加箭头放大缩小三维图形旋转第三章 数据和函数的可视化仿真技术下图中左图是图形窗里的原始图形,右图是经过图形窗编辑后的图形。第三章 数据和函数的可视化仿真技术1.命令窗口中,键入:demo,出现MATLAB的demo演示窗口,然后选择:MATLAB下的Graphics,依次选取其中的Overview of Features(playback)、2-D Plots、3-D Plots两个示例,了解MATLAB有关绘图的操作。2.教材64-65页1、2、3题。练 习