版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 2010教程教程 第第4章章 数值计算数值计算 第五讲第五讲 数据和函数的可视化数据和函数的可视化matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现可视化,这是其它语言所不能比拟的。MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.1 引导引导l任何二元实数标量对任何二元实数标量对x,y可用平面上的一个点可用平面上的一个点表式;任何二元实数向量对表式;任何二元实数向量对x,y可用平面上的可用平面上的一组点表示。对于离散实函数一组点表示。对于离散实函数yn=f(xn),当,当 xn以以递增或递减次序取值递增或递减次序取值x=x1,x2,xN
2、T时,时,根据函数关系可求得同样数目的根据函数关系可求得同样数目的yn,y=y1,y2,yNT。当把这向量对用直角坐标中。当把这向量对用直角坐标中的点序列图示时,就实现了离散函数的可视化。的点序列图示时,就实现了离散函数的可视化。5.1.1离散数据和离散函数的可视化离散数据和离散函数的可视化MATLAB 2010教程教程 第第4章章 数值计算数值计算 例5.1-1:离散函数y=|n|的可视化 n=(-10:10); y=abs(n); plot(y,r.) figure (2), plot(n,y,b)MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.1.2 连续函数的可视化连
3、续函数的可视化l与离散函数可视化一样,进行连续函数可视化也必须先在一组离散自变量上计算相应的函数值,并把这一组“数据对用点图示。但这些离散的点不能表现函数的连续性。l为了进一步表示离散点之间的函数情况,有两种常用处理方法:l对区间进行更细的分割,计算更多的点,去近似表现函数的连续变化;l把两点用直线连接,近似表现两点间的一般是非线性的函数性状。l在MATLAB中,以上两种表现方法都可以采用。l留意:倘若自变量的采样点数不足够多,则无论哪种方法都不能真实地反映原函数。MATLAB 2010教程教程 第第4章章 数值计算数值计算 例例5.1-2:用图形表示连续调制波形:用图形表示连续调制波形y=s
4、in(t)sin(9t)t1=(0:11)/11*pi;t2=(0:400)/400*pi;t3=(0:50)/50*pi;y1=sin(t1).*sin(9*t1);y2=sin(t2).*sin(9*t2);y3=sin(t3).*sin(9*t3);subplot(2,2,1),plot(t1,y1,r.)axis(0,pi,-1,1),title(1)点过少的离散图形点过少的离散图形)subplot(2,2,2),plot(t1,y1,t1,y1,r.) %红色部分画折线,其余红色部分画折线,其余画点画点axis(0,pi,-1,1),title(2)点过少的连续图形点过少的连续图形)
5、subplot(2,2,3),plot(t2,y2,r.)axis(0,pi,-1,1),title(3)点密集的离散图形点密集的离散图形)subplot(2,2,4),plot(t3,y3)axis(0,pi,-1,1),title(4)点足够的连续图形点足够的连续图形) MATLAB 2010教程教程 第第4章章 数值计算数值计算 N=9;t=0:2*pi/N:2*pi;x=sin(t);y=cos(t);tt=reshape(t,2,(N+1)/2);tt=flipud(tt);tt=tt(:);xx=sin(tt);yy=cos(tt);subplot(1,2,1),plot(x,y)
6、title(1) 正常排序图形正常排序图形),axis equal off,shgsubplot(1,2,2),plot(xx,yy)title(2) 非正常排序图形非正常排序图形),axis equal off,shg 例例5.1-3:绘制奇数正多边形及圆。:绘制奇数正多边形及圆。(1) 正 常 排 序 图 形(2) 非 正 常 排 序 图 形开始点开始点开始点开始点tt = 0 1.3963 2.7925 4.1888 5.5851 0.6981 2.0944 3.4907 4.8869 6.2832tt = 0.6981 2.0944 3.4907 4.8869 6.2832 0 1.3
7、963 2.7925 4.1888 5.5851tt = 0.6981 0 2.0944 1.3963 3.4907 2.7925 4.8869 4.1888 6.2832 5.5851 MATLAB 2010教程教程 第第4章章 数值计算数值计算 5. 2 二维曲线和图形二维曲线和图形 plot 最基本的二维图形指令plot的功能: plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,自动标注数据标尺及单位标注5.2.1二维曲线绘制的基本指令二维曲线绘制的基本指令plotMATLAB 2010教程教程 第第4章章 数值计算数值计算 1
8、. 基本调用格式基本调用格式plot (x,y,s)(1) 一维数组一维数组(x,y)指定采样点的横坐标和纵坐标。指定采样点的横坐标和纵坐标。(2) s 是字符串,用来设定是字符串,用来设定“离散点形离散点形” 或或/和和“连续线连续线型型”,也指定,也指定“点线色彩点线色彩”。颜色字符串用英文单词。颜色字符串用英文单词的前的前13个字母,如个字母,如yellowyel或或y或或ye表示表示等。等。(3) 若没有第三个输入量,将采用默认设置:蓝色细若没有第三个输入量,将采用默认设置:蓝色细实线。实线。输入量输入量 (x,y,s) 称为平面绘线三元组。称为平面绘线三元组。MATLAB 2010教
9、程教程 第第4章章 数值计算数值计算 表表5.2-2 离散数据点形允许设置值离散数据点形允许设置值符号 含义 符号 含义 .实心点 d菱形符 diamond +十字符 h六角星 hexagram *米字符 o空心圆圈 朝上三角符 p五角星 pentagram 朝右三角符 x叉字符 v朝下三角符演示数据点型的变化演示数据点型的变化t=0:10; plot(t, p, MarkerSize,18)MATLAB 2010教程教程 第第4章章 数值计算数值计算 表表5.2-4 连续线型允许设置值连续线型允许设置值符号 -: -. -含义实线虚线 点划线 双划线表表5.2-4 点线色彩允许设置值点线色彩
10、允许设置值符号 b g r c m y k w含义 蓝 绿 红 青 品红 黄 黑 白如:如:s=r:-表示红色虚线表示红色虚线t=0:10; plot(t, pr:, MarkerSize,18)MATLAB 2010教程教程 第第4章章 数值计算数值计算 2. plot的衍生调用格式的衍生调用格式 plot(X,Y) 指令采用细实线绘制多条彩色曲线,各指令采用细实线绘制多条彩色曲线,各曲线的颜色顺序见表曲线的颜色顺序见表5.2-4.(1) 单色或多色绘制多条曲线单色或多色绘制多条曲线plot(X,Y,s)uX、Y是均为是均为mn矩阵时,则以矩阵时,则以X、Y对应列元素对应列元素为横、纵坐标分
11、别绘制为横、纵坐标分别绘制n条曲线。条曲线。uX、Y之一是一维数组,且数组长度与另一个矩阵输之一是一维数组,且数组长度与另一个矩阵输入量的入量的“行数行数”(或(或“列数列数”)相等时,将绘制出)相等时,将绘制出“列数列数”(或(或“行数行数”)条曲线。)条曲线。u s 用来指定多条曲线用同一色彩绘制。用来指定多条曲线用同一色彩绘制。uX、Y均是一维数组时,就是基本调用格式。均是一维数组时,就是基本调用格式。plot(X,Y, p-, MarkerSize,18)X =1 1 4; 2 2 5; 3 3 6; Y =1 4 7; 2 5 8; 3 6 9; MATLAB 2010教程教程 第第
12、4章章 数值计算数值计算 plot(x1,y1,s1,x2,y2,s2)在此格式中,每个绘线在此格式中,每个绘线“三元组三元组”(X, Y, s)的结构和的结构和作用,与作用,与plot(X,Y,s) 一样。不同的一样。不同的“三元组之间三元组之间没有约束关系。没有约束关系。(3 3单输入量绘线单输入量绘线plot(Y)(2 2多三元组绘制多条曲线多三元组绘制多条曲线 Y是实向量时,以该向量元素的下标为横坐标、元是实向量时,以该向量元素的下标为横坐标、元素值为纵坐标画出一条连续曲线。素值为纵坐标画出一条连续曲线。Y是实矩阵时,则按列绘制每列元素值相对其下标是实矩阵时,则按列绘制每列元素值相对其
13、下标的曲线。图中曲线数等于的曲线。图中曲线数等于Y阵列数。阵列数。Y是复数矩阵时,则按列分别以元素实部和虚部为是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线横、纵坐标绘制多条曲线MATLAB 2010教程教程 第第4章章 数值计算数值计算 3. plot3. plot的属性可控调用格式的属性可控调用格式plot(x,y, s, PropertyName, PropertyValue,)含义属性名属性值说明点、线颜色ColorVr,Vg,Vb, 取 0,1默认为b线 型LineStyle-, :, -., -默认为实线线 宽LineWidth正实数默认为0.5点 形 状Mark
14、erd, +, 可通过s设置点 大 小MarkerSize正实数默认为6.0plot(x,y, LineStyle, :, LineWidth, 8.5)MATLAB 2010教程教程 第第4章章 数值计算数值计算 02468-1-0.8-0.6-0.4-0.200.20.40.60.81By plot(t,Y)t050100150-1-0.8-0.6-0.4-0.200.20.40.60.81By plot(Y)row subscript of Y例例5.2-1:二维曲线绘图指令演示:二维曲线绘图指令演示 。Clft=(0:pi/50:2*pi); k=0.4:0.1:1;Y=cos(t)*
15、k; %是矩阵是矩阵subplot(1,2,1),plot(t,Y,LineWidth,1.5)title(By plot(t,Y),xlabel(t)subplot(1,2,2),plot(Y,LineWidth,1.5)title(By plot(Y),xlabel(row subscript of Y) MATLAB 2010教程教程 第第4章章 数值计算数值计算 00.511.522.533.5-1-0.8-0.6-0.4-0.200.20.40.60.81例例5.2-2:用图形表示连续调制波形:用图形表示连续调制波形y=sin(t)sin(9t)极其极其包络线包络线 。t=(0:pi
16、/100:pi); y1=sin(t)*1,-1;y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);plot(t,y1,r:,t,y2,-bo)hold onplot(t3,y3,s,MarkerSize,10,MarkerEdgeColor,0,1,0,MarkerFaceColor,1,0.8,0)axis(0,pi,-1,1)hold off00.511.522.53-1-0.8-0.6-0.4-0.200.20.40.60.81MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.2.2 坐标控制和图形标识坐标控
17、制和图形标识表 5.2-6 常用的坐标控制指令坐标轴控制方式、取向和范围坐标轴的高宽比指 令含 义指 令含 义axis auto使用缺省设置axis equal纵、横轴采用等长刻度axis manual使当前坐标范围不变axis fill在manual方式下起作用,使坐标充满整个绘图区axis off取消轴背景axis image纵、横轴采用等长刻度,且坐标框紧贴数据范围axis on使用轴背景axis normal缺省矩形坐标系axis ij矩阵式坐标,原点在左上方axis square产生正方形坐标系axis xy普通直角坐标,原点在左下方axis tight把数据范围直接设为坐标范围Ax
18、is(V)V=x1,x2,y1,y2;V=x1,x2,y1,y2,z1,z2;人工设定坐标范围。社定植:二维,4个;三维,6个axis vis3d保持高宽比不变,用于三维旋转时避免图形大小变化说明:坐标范围设定向量V中的元素必须服从:x1x2,y1y2,z1z2。V的元素值允许取inf或-inf,那意味着上限或下限是自动产生的,即坐标范围半自动确定。1. 坐标轴的控制坐标轴的控制MATLAB 2010教程教程 第第4章章 数值计算数值计算 例例5.2-3观察各种轴控制指令的影响。观察各种轴控制指令的影响。演示采用长轴为演示采用长轴为3.253.25,短轴为,短轴为1.151.15的椭圆。留意:
19、采的椭圆。留意:采用多子图表现时,图形形状不仅受用多子图表现时,图形形状不仅受“控制指令影响,控制指令影响,而且受整个图面而且受整个图面“宽高比及宽高比及“子图数目的影响。想子图数目的影响。想准确体会控制指令的影响,可在全图状态下进行观察。准确体会控制指令的影响,可在全图状态下进行观察。t=0:2*pi/99:2*pi;x=1.15*cos(t);y=3.25*sin(t);subplot(2,3,1),plot(x,y),axis normal, grid on,title(Normal and Grid on)subplot(2,3,2),plot(x,y),axis equal, gri
20、d on,title(Equal)subplot(2,3,3),plot(x,y),axis square, grid on,title(Square)subplot(2,3,4),plot(x,y),axis image, box off,title(Image and Box off)subplot(2,3,5),plot(x,y),axis image fill, box offtitle(Image and Fill)subplot(2,3,6),plot(x,y),axis tight, box off,title(Tight) -202-4-2024Normal and Grid
21、on-202-202Equal-202-4-2024Square-101-202Image and Box off-101-1-0.500.51Image and Fill-101-202TightMATLAB 2010教程教程 第第4章章 数值计算数值计算 2. 分格线和坐标框分格线和坐标框grid是否画分格线的双向切换指令使当前分格线状态翻转)是否画分格线的双向切换指令使当前分格线状态翻转)grid on 画出分格线画出分格线grid off 不画分格线不画分格线box 坐标形式在封闭式和开启式之间切换指令坐标形式在封闭式和开启式之间切换指令box on 使当前坐标呈封闭形式使当前坐标呈封
22、闭形式box off 使当前坐标呈开启形式使当前坐标呈开启形式默认设置:不画出分格线,所画坐标呈封闭形式。默认设置:不画出分格线,所画坐标呈封闭形式。MATLAB 2010教程教程 第第4章章 数值计算数值计算 3. 图形标识图形标识l图形标识包括:图名图形标识包括:图名Title)、坐标轴名)、坐标轴名Label)、)、图形注释图形注释Text和图例和图例Legend)。)。l标识指令的最简捷使用格式如下:标识指令的最简捷使用格式如下:ltitle(S)书写图名书写图名lxlabel(S)横坐标轴名横坐标轴名lylabel(S)纵坐标轴名纵坐标轴名llegend(S1,S2,)绘制曲线所用线
23、型、色彩或数据绘制曲线所用线型、色彩或数据点形图例点形图例ltext(xt,yt,S)在图面在图面xt,yt坐标处书写字符坐标处书写字符注释注释MATLAB 2010教程教程 第第4章章 数值计算数值计算 4. 标识指令中字符的精细控制标识指令中字符的精细控制表表5.2-7 图形标识用的希腊字母图形标识用的希腊字母指令字符指令字符指令字符指令字符alphathetaXiphibetaThetapiPhigammaiotaPichiGammakapparhopsideltalambdasigmaPsiDeltaLambdaSigmaomegaepsilonmutauOmegazetaNuupsi
24、lonetaxiUpsilonY指令效果指令效果指令效果sinbeztsinzetaomegaitAinRmtimesnA RmnMATLAB 2010教程教程 第第4章章 数值计算数值计算 表表5.2-8 图形标识用的其他特殊字符图形标识用的其他特殊字符指令字符指令字符指令字符指令字符指令字符approx propto existscapdownarrowcongsimforallcupleftarrowdivtimesinsubsetleftrightarrowequivoplus+infty subseteqrightarrowgeqoslashperpsupsetuparrowleqo
25、times primesupseteqcircneqintcdotImbulletpm partialldotsRecopyrightc4. 标识指令中字符的精细控制标识指令中字符的精细控制MATLAB 2010教程教程 第第4章章 数值计算数值计算 4. 标识指令中字符的精细控制标识指令中字符的精细控制l若想设置上下标,对字体和字体大小进行控制,须在若想设置上下标,对字体和字体大小进行控制,须在被控制字符前使用被控制字符前使用5.2-9, 5.2-10的指令的指令表表5.2-9 上下标的控制指令上下标的控制指令 分类指令arg取值举例示例指令效果上标 arg任何合法字符ite-tsinte-
26、tsint下标 _arg任何合法字符xchi_alpha2(3)x 2(3)MATLAB 2010教程教程 第第4章章 数值计算数值计算 4. 标识指令中字符的精细控制标识指令中字符的精细控制表4 字体式样设置规则 x字样指令arg取值举例示例指令效果名称 fontnameargarial; courier; roman;宋体;隶书;黑体fontnamecourierExample 1fontname隶书范例2Example1范例2风格arg bf (黑体) it (斜体1) bf (斜体2) bf (正体)bf Example 3itExample 4Example 3Example 4大小
27、 fontsizearg任何合法字符xchi_alpha2(3) x 2(3)MATLAB 2010教程教程 第第4章章 数值计算数值计算 表表5.2-2 离散数据点形允许设置值离散数据点形允许设置值符号含义符号含义 .实心点 d菱形符 diamond +十字符 h六角星 hexagram *米字符 o空心圆圈 朝上三角符 p五角星 pentagram 朝右三角符 x叉字符 v朝下三角符1. 基本调用格式基本调用格式plot (x,y,s)平面绘线三元组平面绘线三元组表表5.2-4 连续线型允许设置值连续线型允许设置值符号 -: -. -含义实线虚线 点划线 双划线表表5.2-4 点线色彩允许
28、设置值点线色彩允许设置值符号 b g r c m y k w含义 蓝 绿 红 青 品红 黄 黑 白ReviewMATLAB 2010教程教程 第第4章章 数值计算数值计算 2 坐标控制和图形标识坐标控制和图形标识axis equal; axis square; axis off; axis on(1). 坐标轴的控制坐标轴的控制grid是否画分格线的双向切换指令使当前分格线状态翻转)是否画分格线的双向切换指令使当前分格线状态翻转)grid on 画出分格线画出分格线grid off 不画分格线不画分格线(2).分格线分格线(3).图形标识图形标识title(S)书写图名书写图名xlabel(S
29、)横坐标轴名横坐标轴名ylabel(S)纵坐标轴名纵坐标轴名legend(S1,S2,) 绘制曲线所用线型、色彩或数据点形绘制曲线所用线型、色彩或数据点形图例图例text(xt,yt,S)在图面在图面xt,yt坐标处书写字符注释坐标处书写字符注释ReviewMATLAB 2010教程教程 第第4章章 数值计算数值计算 例例5.2-4:标识实验。:标识实验。clf; t=0:pi/50:2*pi; y=sin(t);plot(t,y); axis(0,2*pi,-1.2,1.2)text(pi/2,1,fontsize16leftarrowitsin(t)fontname隶隶书书极大值极大值)t
30、itle(y=sin(t)xlabel(t)ylabel(y) 0123456-1-0.8-0.6-0.4-0.200.20.40.60.81sin(t)极大值y=sin(t)tyMATLAB 2010教程教程 第第4章章 数值计算数值计算 例例5.2-5 通过绘制二阶系统阶跃响应,综合演示图形标识。通过绘制二阶系统阶跃响应,综合演示图形标识。 clf;t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t);plot(t,y,r-,LineWidth,3);hold ontt=t(find(abs(y-1)0.05);ts=max(tt);plot(ts,
31、0.95,bo,MarkerSize,10);hold off;axis(-inf,6*pi,0.6,inf)set(gca,Xtick,2*pi,4*pi,6*pi,Ytick,0.95,1,1.05,max(y)set(gca,XtickLabel,2*pi;4*pi;6*pi)set(gca,YtickLabel,0.95;1;1.05;max(y); grid ontext(13.5,1.2,fontsize12alpha=0.3)text(13.5,1.1,fontsize12omega=0.7)cell_string1=fontsize12uparrow;cell_string2=
32、fontsize16 fontname隶书隶书镇定时间镇定时间;cell_string3=fontsize6 ;cell_string4=fontsize14rmt_s = num2str(ts);text(ts,0.85,cell_string,Color,b,HorizontalAlignment,Center)title(fontsize14it y = 1 - e -alpha tcosomegat)xlabel(fontsize14 bft rightarrow)ylabel(fontsize14 bfy rightarrow) 2*pi4*pi6*pi0.9511.05max(y)
33、=0.3=0.7 镇定时间 ts = 9.6133 y = 1 - e - tcost t y MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.2.3 多次叠绘、双纵坐标和多子图多次叠绘、双纵坐标和多子图l前面已介绍过plot在同一次调用中画多条曲线的功能。实际应用中,还会遇到在已经存在的图上再绘制一条或多条曲线的情况。为此,MATLAB提供了以下指令:1. 多次叠绘多次叠绘hold on 使当前轴及图形保持而不被刷新,准备接受此后将绘制的新曲线hold off使当前轴及图形不再具备不刷新的性质hold当前图形是否具备刷新性质的双向切换开关MATLAB 2010教程教程 第第
34、4章章 数值计算数值计算 例例5.2-6 利用利用hold绘制离散信号通过零阶保持器后产绘制离散信号通过零阶保持器后产生的波形。生的波形。t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);stem(t,y,g,Color,k);hold onstairs(t,y,:r,LineWidth,3)hold offlegend(fontsize14it stem,fontsize14it stairs)box on MATLAB 2010教程教程 第第4章章 数值计算数值计算 2. 双纵坐标图双纵坐标图l在实际应用中常常提出这样一种需求:把同一自变量的两个不同量纲、不同数
35、量级的函数量的变化绘制在同一张图上。为此,MATLAB5.x新增了以下指令。plotyy(X1,Y1,X2,Y2)%以左、右不同纵轴绘制X1-Y1,X2-Y2两条曲线plotyy(X1,Y1,X2,Y2,FUN) %以左、右不同纵轴把X1-Y1,X2-Y2绘制成绘图函数名FUN指定形式的两条曲线。plotyy(X1,Y1,X2,Y2,FUN1,FUN2) %以左,右不同纵轴 把X1-Y1,X2-Y2绘制成绘图函数名FUN1,FUN2指定的不同形式的两条曲线MATLAB 2010教程教程 第第4章章 数值计算数值计算 clf;dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtr
36、apz(y)*dx;a=plotyy(x,y,x,s,stem,plot); text(0.5,1.5,fontsize14ity=xsinx) sint=fontsize16int_fontsize80 x;ss=fontsize14its=,sint,fontsize14itxsinxdx;text(2.5,3.5,ss)set(get(a(1),Ylabel),String,被积函数被积函数 ity=xsinx)set(get(a(2),Ylabel),String,ss)xlabel(x) 00.511.522.533.54-505y=xsinxs=0 xxsinxdx被积函数 y=x
37、sinxx00.511.522.533.54024s=0 xxsinxdx例例5.2-7 用双纵坐标画出函数用双纵坐标画出函数 和积分和积分 在在0,4区间上的曲线。区间上的曲线。xxysin0( sin )xxx dxMATLAB 2010教程教程 第第4章章 数值计算数值计算 3. 多子图多子图lMATLAB允许用户在同一图形窗中布置几幅独立的子图,具体指令是:subplot(m,n,k)使(mn)幅子图中的第k幅成为当前图。subplot(position,left bottom width height) 在指定位置上开辟子图,并成为当前图。MATLAB 2010教程教程 第第4章章
38、数值计算数值计算 subplot(position,left bottom width height)subplot(position,left bottom width height)例:例:subplot(position,0.5 0.5 0.45 0.45)subplot(position,0.5 0.5 0.45 0.45)subplot(position,0.05 0.5 0.4 0.45)subplot(position,0.05 0.5 0.4 0.45)subplot(position,0.2 0.05 0.6 0.4)subplot(position,0.2 0.05 0.6
39、 0.4)MATLAB 2010教程教程 第第4章章 数值计算数值计算 例例5.2-8 演示演示subplot指令对图形窗的分割。指令对图形窗的分割。clf;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,pi,-1,1)subplot(position,0.2,0.1,0.6,0.40)plot(t,y12,b-,t,y1,-y1,r:)axis(0,pi,-1,
40、1) MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.2.4 获取二维图形数据的指令获取二维图形数据的指令ginputx,y=ginput(n)用鼠标从二维图形上获取用鼠标从二维图形上获取n个点的数个点的数据坐标据坐标(x,y)。l该指令仅适用于二维图形。l具体操作方法:指令运行后,会把当前图形从后台调到前台,同时鼠标光标变为十字叉;用户可移动鼠标,使十字叉移到待取坐标点;点动鼠标左键,便获得该点数据;以后,用同样的方法,获取其余点的数据;当n个点的数据全部取到后,图形窗便退回后台,机器回到ginput执行前的环境。MATLAB 2010教程教程 第第4章章 数值计算数值计算
41、 clfx=0:0.01:1;y=(x+2).x-2;plot(x,y);grid on 例例5.2-9 采用图解法求采用图解法求 的解。的解。(2)2xx(1绘制绘制 的曲线。的曲线。(2)2xyxx,y=ginput(1); (2放大图形,用鼠标获取曲线与横轴交点坐标值。放大图形,用鼠标获取曲线与横轴交点坐标值。format longx,yx = 0.698286930399556y = -3.381823762854459e-009MATLAB 2010教程教程 第第4章章 数值计算数值计算 交互式图形指令l在MATLAB中还有若干与鼠标有关的图形操作指令。它们是:lginputlgte
42、xtllegendMATLAB 2010教程教程 第第4章章 数值计算数值计算 gtextlgtext(arg), 用鼠标把字符串或字符串异质用鼠标把字符串或字符串异质(元胞元胞)数组数组arg放置到图形上。放置到图形上。l该指令对二维、三维图形都适用。该指令对二维、三维图形都适用。l具体操作方法:指令运行后,当前图形窗自动由后台具体操作方法:指令运行后,当前图形窗自动由后台转为前台,鼠标光标变为十字叉;移动鼠标,使十字转为前台,鼠标光标变为十字叉;移动鼠标,使十字叉移到希望的位置;点动鼠标右键,叉移到希望的位置;点动鼠标右键,arg所承载的字所承载的字符将被放在紧靠十字叉点的符将被放在紧靠十
43、字叉点的“第一象限位置。第一象限位置。A=My,God; Its,here!gtext(A)MATLAB 2010教程教程 第第4章章 数值计算数值计算 legendllegend(arg,pos)在指定位置建立图例llegend off 擦除当前图上的图例l阐明:l输入宗量arg是图例中的说明文字注释。l输入宗量pos是图例在图上位置的指定符,它可取下表中的值。lLegend在图形窗中产生后,可用鼠标对其进行拖拉,即把鼠标光标移到图例上,按住鼠标左键;图例将随鼠标移动,直到满意位置;放开按键便完成操作。pos取值取值01234-1图例位置图例位置自动取最佳位自动取最佳位右上角右上角(缺省值缺
44、省值)左上角左上角左下角左下角右下角右下角图右侧图右侧MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.3 三维曲线和曲面图三维曲线和曲面图plot3(X,Y,Z s) plot3(X1,Y1,Z1,s1, X2,Y2,Z2,s2, )5.3.1 三维线图指令三维线图指令plot3 X,Y,Z是同维向量时是同维向量时,则绘制以则绘制以X,Y,Z元素为元素为x,y,z坐标的三维曲线坐标的三维曲线 X,Y,Z是同维矩阵时,则以是同维矩阵时,则以X,Y,Z对应列元素为对应列元素为x,y,z坐标分别绘制曲线曲线条数等于矩阵列数坐标分别绘制曲线曲线条数等于矩阵列数 s,s1,s2的意义与
45、二维情况相同,是主要用于指定的意义与二维情况相同,是主要用于指定线型,颜色,数据点形的选项字符串。线型,颜色,数据点形的选项字符串。MATLAB 2010教程教程 第第4章章 数值计算数值计算 l二维图形的所有基本特性对三维图形全都适用。二维图形的所有基本特性对三维图形全都适用。l定义三维坐标轴大小定义三维坐标轴大小: axis(xmin xmax ymin ymax l zmin zmax )l grid on(off) 绘制三维网格绘制三维网格l text(x,y,z,string) 三维图形标注三维图形标注l 子图和多窗口也可以用到三维图形中子图和多窗口也可以用到三维图形中MATLAB
46、2010教程教程 第第4章章 数值计算数值计算 例例5.3-1 三维曲线绘图三维曲线绘图t=(0:0.02:2)*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z,r-,x,y,z, bd),view(-82,58),box on,legend(链链,宝石宝石)MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.3.2 三维曲面三维曲面/网线图网线图需要绘图数据的准备,可实现三维图形的色彩,明暗,光照和视点处理1. 三维图形的数据准备三维图形的数据准备1)确定自变量确定自变量x,y的取值范围和取值间距如的取值范围和取值间距如x=x1:dx:x
47、2; y=y1:dy:y22)构成构成xy平面上的自变量格点矩阵平面上的自变量格点矩阵: X,Y=meshgrid(x,y);3)计算在自变量采样格点上的函数值,即计算在自变量采样格点上的函数值,即Z=f(X,Y)MATLAB 2010教程教程 第第4章章 数值计算数值计算 三维网线图曲面图作图要领三维网线图曲面图作图要领lx 1m数组数组, y 1n数组数组l生成生成X,Y格点坐标格点坐标 X,Y=meshgrid(x,y)l X由由x1m按行放置,再纵向扩展按行放置,再纵向扩展n行行l Y由由y1n按列放置,再横向扩展按列放置,再横向扩展m行行l 结果:结果:X和和Y均成为均成为nm矩阵矩
48、阵l表达式点运算表达式点运算 Z=X.2+Y.2l X, Y, Z是是nm的数组,维数可任定的数组,维数可任定l 默认方位角:默认方位角:-37.5,俯角,俯角30。MATLAB 2010教程教程 第第4章章 数值计算数值计算 2. 绘制曲面绘制曲面/网线图基本指令格式网线图基本指令格式mesh(Z)-以以Z矩阵列,行下标为矩阵列,行下标为x,y轴自变量,画网线图轴自变量,画网线图mesh(X,Y,Z)-最常用的网线图调用格式最常用的网线图调用格式mesh(X,Y,Z,C)-最完整的格式,画由最完整的格式,画由C指定用色的网线图指定用色的网线图surf(Z)-以以Z矩阵列,行下标为矩阵列,行下
49、标为x,y轴自变量,画曲面图轴自变量,画曲面图surf(X,Y,Z)-最常用的曲面图调用格式最常用的曲面图调用格式surf(X,Y,Z,C)-最完整调用格式,画由最完整调用格式,画由C指定用色曲面图指定用色曲面图在最完整的调用格式中在最完整的调用格式中,四个输入宗量都是维数相同的矩阵。四个输入宗量都是维数相同的矩阵。X,Y是自变量是自变量 格点矩阵格点矩阵,Z是格点上的函数矩阵。指定点的用色是格点上的函数矩阵。指定点的用色,可以缺省可以缺省,此时取此时取C=Z。单输入宗量格式绘图时单输入宗量格式绘图时,把把Z矩阵的列下标当作矩阵的列下标当作x坐标轴的自变量坐标轴的自变量,把把Z的行的行 下标当
50、作下标当作y坐标轴的自变量。坐标轴的自变量。MATLAB 2010教程教程 第第4章章 数值计算数值计算 clf,x=-4:4; y=x; X,Y=meshgrid(x,y); %生成x-y坐标格点矩阵 Z=X.2+Y.2; surf(X,Y,Z); %绘曲面图 hold on; colormap(hot) stem3(X,Y,Z,bo); %表现在格点上计算函数值22yxz例5.3-2:用曲面图表现函数-4-2024-4-202405101520253035figure(2), mesh(X,Y,Z) %绘网线图绘网线图hold on;colormap(hot)MATLAB 2010教程教程
51、 第第4章章 数值计算数值计算 5.3.3 曲面曲面/网线图的精细修饰网线图的精细修饰 1.视角控制视角控制view 改变观察点是获得较好三维视觉效果的重要途径改变观察点是获得较好三维视觉效果的重要途径一般而言,三维图形的观测角度是由方位角(Azimuth)及仰角(Elevation)来决定对二维图形而言,默认值对二维图形而言,默认值为为 az = 0,el = 90;对三维图形而言,默认值为对三维图形而言,默认值为 az = -37.5,el = 30.ElevationAzimuth观察点原点xzyview(az,el)-通过方位角,俯视角设置视点通过方位角,俯视角设置视点.view(vx
52、,vy,vz)-通过直角坐标设置视点通过直角坐标设置视点.MATLAB 2010教程教程 第第4章章 数值计算数值计算 5.3.3 曲面曲面/网线图的精细修饰网线图的精细修饰Colormap(CM) %设置当前图形窗的着色色图为设置当前图形窗的着色色图为CM。2. 色彩控制色彩控制色图为色图为(m3)矩阵,它的每一行是矩阵,它的每一行是RGB三元组。三元组。 常用色图矩阵见表常用色图矩阵见表5.3-1。这些预定义色图矩阵是。这些预定义色图矩阵是由由0,1区间数据组成的区间数据组成的(643)矩阵矩阵.Jet是默认色图。是默认色图。MATLAB 2010教程教程 第第4章章 数值计算数值计算 指
53、令指令功能功能shading faceted瓷瓷砖砖”的的颜颜色是均色是均匀匀一致的,而且一致的,而且同同时显时显色色“瓷瓷砖砖”交接的交接的“边边”。(此此为缺省为缺省值值)shading flat“瓷瓷砖砖”的的颜颜色是色是均匀均匀一致的。一致的。shading interp使用使用双线性插值来双线性插值来使使“瓷瓷砖砖”根根据据四四顶点顶点的的颜颜色色产产生生连续的变化连续的变化shading options % options可取以下方式:可取以下方式:3. 浓淡处理浓淡处理MATLAB 2010教程教程 第第4章章 数值计算数值计算 【例5.3-3】三种浓淡处理方式比较。clfx=-
54、4:4;y=x;X,Y=meshgrid(x,y);Z=X.2+Y.2;surf(X,Y,Z)colormap(jet)subplot(1,3,1),surf(Z),axis off %默认默认shading facetedsubplot(1,3,2),surf(Z),axis off, shading flatsubplot(1,3,3),surf(Z),axis off, shading interpset(gcf,Color,w) MATLAB 2010教程教程 第第4章章 数值计算数值计算 hidden off:用于网格图形alpha(v):0v1 用于曲面图形,0表示完全透明,1表示
55、不透明。根据3个数据mn矩阵X,Y和Z所绘制得到的曲面为例,Matlab有三种透明度的处理方式标量:使所有数据点都设置相同的透明度标量:使所有数据点都设置相同的透明度线性数据:使曲面的数据点的透明度按照某线性数据:使曲面的数据点的透明度按照某个指定的维数的方向线性变化个指定的维数的方向线性变化矩阵:使每个数据点选取不同的透明度矩阵:使每个数据点选取不同的透明度4.透明控制透明控制MATLAB 2010教程教程 第第4章章 数值计算数值计算 【例5.3-4】半透明的表面图。clfsurf(peaks)shading interpalpha(0.7)colormap(summer) alpha(v
56、):0v透视被叠压的图形透视被叠压的图形hidden on-消隐被叠压的图形消隐被叠压的图形MATLAB 2010教程教程 第第4章章 数值计算数值计算 例例5. 3-6 透视演示透视演示X0,Y0,Z0=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interp;hold on;mesh(X,Y,Z), colormap(hot), hold offhidden off;axis equal, axis offMATLAB 2010教程教程 第第4章章 数值计算数值计算 2. 图形的镂空图形的镂空例例5.3-7 演示如何利用非数
57、演示如何利用非数NaN对图形进行镂空处理对图形进行镂空处理P=peaks(30);surfc(P); % 完整的图形完整的图形P(18:20,9:15)=NaN; % 进行镂空处理进行镂空处理surfc(P); % 镂空后的图形镂空后的图形colormap(hot );light( position , 50,-10,5); lighting flatmaterial(0.9,0.9,0.6,15,0.4)MATLAB 2010教程教程 第第4章章 数值计算数值计算 3. 裁切裁切由由NaN处理的图形不会产生切面,为了看清图形而处理的图形不会产生切面,为了看清图形而需要表现切面,那么应该把被切
58、部分强制为零需要表现切面,那么应该把被切部分强制为零例例5.3-8 表现切面表现切面x=-8:0.1:8;y=x;X,Y=meshgrid(x,y);ZZ=X.2+Y.2-40;ii=find(abs(X)6|abs(Y)6); %确定超出确定超出-6,6范围的格点下标范围的格点下标ZZ(ii)=zeros(size(ii); % 强制为强制为0surf(X,Y,ZZ),shading interp;colormap(copper)light(position,0,-15,1);lighting phongmaterial(0.8,0.8,0.5,10,0.5)MATLAB 2010教程教程
59、第第4章章 数值计算数值计算 伪彩图伪彩图 pcolor, 等位线指令等位线指令 contour 、 contourf 5.4 高维可视化高维可视化 5.4.1 二维半图指令二维半图指令pcolor, contour, contourfclose all; clear;X,Y,Z=peaks(40); subplot(1,2,1),pcolor(X,Y,Z)% shading interpsubplot(1,2,2), surf(X,Y,Z)% shading interp例5.4-1 二维半图指令pcolor, contour, contourf 运用。MATLAB 2010教程教程 第第4
60、章章 数值计算数值计算 close all; clear;X,Y,Z=peaks(40);n=6; %等高线分级数等高线分级数subplot(1,2,1),pcolor(X,Y,Z)shading interpzmax=max(max(Z);zmin=min(min(Z);caxis(zmin,zmax)Colorbarhold onC=contour(X,Y,Z,n,k:);clabel(C)hold offsubplot(1,2,2)C,h=contourf(X,Y,Z,n,k:);clabel(C,h)colormap(cool)set(gcf,Color,w) 例5.4-1 二维半图指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉诺塔动画解析
- 《GB-T 16895.7-2021低压电气装置 第7-704部分:特殊装置或场所的要求 施工和拆除场所的电气装置》专题研究报告
- 智能灌溉系统运维师岗位招聘考试试卷及答案
- 物业的2025个人年终总结及2026年的年度工作计划
- 春季养肝的饮食方法
- 女性手脚冰凉的营养调理
- 辽宁省2025秋九年级英语全册Unit5Whataretheshirtsmadeof课时2SectionA(3a-3c)课件新版人教新目标版
- 2025年乙型脑炎活疫苗项目发展计划
- 2025年高性能传输线缆项目发展计划
- 干性皮肤的护理产品选择
- 上海财经大学2026年辅导员及其他非教学科研岗位人员招聘备考题库带答案详解
- 2026湖北恩施州建始县教育局所属事业单位专项招聘高中教师28人备考笔试试题及答案解析
- 心肺康复课件
- 2025人民法院出版社社会招聘8人(公共基础知识)测试题附答案解析
- 多元催化体系下羊毛脂转酯化制备胆固醇的工艺解析与效能探究
- 上海市奉贤区2026届高三一模英语试题
- 设施设备综合安全管理制度以及安全设施、设备维护、保养和检修、维修制
- 2025届高考全国二卷第5题说题课件
- 2026福建春季高考语文总复习:名篇名句默写(知识梳理+考点)原卷版
- QSY08002.3-2021健康安全与环境管理体系第3部分审核指南
- 四川省德阳市旌阳区2024-2025学年七年级上学期语文期末检测试卷(含答案)
评论
0/150
提交评论