matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt

上传人(卖家):罗嗣辉 文档编号:2045676 上传时间:2022-01-21 格式:PPT 页数:100 大小:4.94MB
下载 相关 举报
matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt_第1页
第1页 / 共100页
matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt_第2页
第2页 / 共100页
matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt_第3页
第3页 / 共100页
matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt_第4页
第4页 / 共100页
matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

1、4.1 二维曲线的绘制二维曲线的绘制4.2 MATLAB的三维图形绘制的三维图形绘制4.3 MATLAB的特殊图形绘制的特殊图形绘制4.4 图形窗口的功能图形窗口的功能4.5 对话框对话框 4.6 句柄图形句柄图形4.7 用户图形界面设计用户图形界面设计4.1.1基本绘图命令基本绘图命令plot命令是MATLAB中最简单而且使用最广泛的一个绘图命令,用来绘制二维曲线。语法:语法:plot(x) %绘制以x为纵坐标的二维曲线plot(x,y) %绘制以x为横坐标y为纵坐标的二维曲线说明:x和y可以是向量或矩阵。h1. plot(x) 绘制绘制x向量曲线向量曲线当x是长度为n的数值向量,则坐标系的

2、纵坐标为向量x,横坐标为MATLAB系统根据x向量的元素序号自动生成的从1开始的向量。plot(x)命令是在坐标系中顺序地用直线段连接各点,生成一条折线,当向量的元素充分多时,可以得到一条光滑的曲线。【例例4.1】用plot(x)命令画直线,如图4.1所示。 x1=1 2 3x1 = 1 2 3 plot(x1) x2=0 1 0 x2 = 0 1 0 plot(x2) 图图4.1 (a) x1曲线曲线 (b) x2曲线曲线h2. plot(x,y) 绘制向量绘制向量x和和y的曲线的曲线当参数x和y都是长度为n的向量,x、y的长度必须相等,plot(x,y)命令绘制纵坐标为向量y横坐标为向量x

3、的曲线。【例例4.2】绘制正弦曲线y=sin(x)和方波曲线,如图4.2所示。 x1=0:0.1:2*pi; y1=sin(x1); %y1为x1的正弦函数 plot(x1,y1) x2=0 1 1 2 2 3 ; y2=1 1 0 0 1 1 ; plot(x2,y2) axis(0 4 0 2) %将坐标轴范围设定为0-4和0-2图图4.2 (a) 正弦曲线正弦曲线 (b) 方波曲线方波曲线h3. plot(x) 绘制矩阵绘制矩阵x的曲线的曲线当x是一个mn的矩阵,plot(x)命令为矩阵的每一列画出一条线,共n条曲线,各曲线自动用不同颜色显示;每条线的横坐标为向量1:m,m是矩阵的行数,

4、绘制方法与向量相同。【例例4.3】矩阵图形的绘制,如图4.3所示。图图4.3 (a) x1曲线曲线 (b) x2曲线曲线 x1=1 2 3;4 5 6; plot(x1) x2=peaks; %产生一个49*49的矩阵 plot(x2)h4. plot(x,y)绘制混合式曲线绘制混合式曲线当plot(x,y)命令中的参数x和y是向量或矩阵时,分别有以下几种情况:如果x是向量,而y是矩阵,则x的长度与矩阵y的行数或列数必须相等,如果x的长度与y的行数相等,则向量x与矩阵y的每列向量对应画一条曲线;如果x的长度与y的列数相等,向量x与y的每行向量画一条曲线,如果y是方阵,则x和y的行数和列数都相等

5、,将向量x与矩阵y的每列向量画一条曲线;如果x是矩阵,而y是向量,则y的长度必须等于x的行数或列数,绘制的方法与前一种相似;如果x和y都是矩阵,则大小必须相同,矩阵x的每列和y的每列画一条曲线。【例例4.4】混合式图形的绘制,如图4.4所示。 x1=1 2 3; y1=1 2 3;4 5 6y1 = 1 2 3 4 5 6 plot(x1,y1) %每行一条曲线 y2=1 2 ;3 4; 5 6y2 = 1 23 4 5 6 plot(x1,y2) %每列一条曲线 plot(y1,x1) plot(y2,x1) x2=1 1 1;2 2 2x2 = 1 1 1 2 2 2 plot(x2,y1

6、) %按列与列对应的方式 图图4.4 (a) (x1,y1)曲线曲线 (b) (x2,y1)曲线曲线图图4.4 ( c) (y1,x1)曲线曲线 (d) (y2,x1)曲线曲线h 5. plot(z)绘制复向量曲线绘制复向量曲线plot(z)中的参数z为复向量时,plot(z)和plot(real(z),imag(z)是等效的,以实部为横坐标,虚部为纵坐标。【例例4.4续续】下面的程序画出的曲线和图4.4(e)中的相同。 z1=x2+i*y1z1 = 1.0000 + 1.0000i 1.0000 + 2.0000i 1.0000 + 3.0000i 2.0000 + 4.0000i 2.00

7、00 + 5.0000i 2.0000 + 6.0000i plot(z1) %以实部为横坐标,虚部为纵坐标图图4.4 (e) (x2,y1)曲线曲线h6. plot(x1,y1,x2,y2,)绘制多条曲线绘制多条曲线plot命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB自动以不同的颜色绘制不同曲线。每一对矩阵(xi,yi)均按照前面的方式解释,不同的矩阵对之间,其维数可以不同。【例例4.5】绘制三条曲线,如图4.5所示。 x=0:0.1:2*pi; plot(x,sin(x),x,cos(x),x,sin(3*x) %画三条曲线图图4.5 三条曲线三条曲线在MATLAB中,无论

8、是绘制二维还是三维图形,如果要画出相当满意的彩色图形,还要对图形进行各种修饰,表4.1为绘制二维、三维图形一般步骤的归纳。步骤步骤内容内容1曲线数据准备:对于二维曲线,横坐标和纵坐标数据变量;对于三维曲面,矩阵参变量和对应的函数值。2 指定图形窗口和子图位置:默认时,打开Figure No.1窗口或当前窗口、当前子图;也可以打开指定的图形窗口和子图。3设置曲线的绘制方式:线型、色彩、数据点形。4 设置坐标轴:坐标的范围、刻度和坐标分格线5 图形注释:图名、坐标名、图例、文字说明6 着色、明暗、灯光、材质处理(仅对三维图形使用)7视点、三度(横、纵、高)比(仅对三维图形使用)8图形的精细修饰(图

9、形句柄操作):利用对象属性值设置;利用图形窗工具条进行设置。表表4.1绘制二维、三维图形的一般步骤绘制二维、三维图形的一般步骤h1. 指定图形窗口指定图形窗口在4.1.1小节中介绍的plot命令,绘制的图形都是在默认的“Figure No.1”窗口中绘制的,当第二次使用plot命令时,就将第一次绘制的图形覆盖了。因此,如果需要多个图形窗口同时打开时,可以使用figure语句。语法:语法:figure(n) %产生新图形窗口说明:如果该窗口不存在,则产生新图形窗口并设置为当前图形窗口,该窗口名为“Figure No.n”,而不关闭其它窗口。例如,可以使用“figure (1)”、“figure

10、(2)”等语句来同时打开多个图形窗口。h2. 同一窗口多个子图同一窗口多个子图如果需要在同一个图形窗口中布置几幅独立的子图,可以在plot命令前加上subplot命令来将一个图形窗口划分为多个区域,每个区域一幅子图。语法:语法:subplot(m,n,k)%使(mn)幅子图中的第k幅成为当前图【例例4.6】用subplot命令画四个子图,如图4.6所示。 x=0:0.1:2*pi; subplot(2,2,1) %分割为2*2个子图,左上方为当前图 plot(x,sin(x) subplot(2,2,2) %右上方为当前图 plot(x,cos(x) subplot(2,2,3) %左下方为当

11、前图 plot(x,sin(3*x) subplot(224) %右下方为当前图,省略逗号 plot(x,cos(3*x)图图4.6 四个子图四个子图h3. 同一窗口多次叠绘同一窗口多次叠绘在当前坐标系中绘图时,每调用一次plot函数,会擦掉图形窗口中已有的图形。为了在一个坐标系中增加新的图形对象,可以用“hold”命令来保留原图形对象。语法:语法:hold on %使当前坐标系和图形保留hold off %使当前坐标系和图形不保留hold %在以上两个命令中切换说明:在设置了“hold on”后,如果画多个图形对象,则在生成新的图形时保留当前坐标系中已存在的图形对象,MATLAB会根据新图形

12、的大小,重新改变坐标系的比例。【例例4.7】在同一窗口画出函数sinx在区间0 2的曲线和cosx在区间- 的曲线,如图4.7(a)所示。 x1=0:0.1:2*pi; plot(x1,sin(x1) hold on x2=-pi:.1:pi; plot(x2,cos(x2)图图4.7 (a) 用用hold on在同一窗口画出两条曲线在同一窗口画出两条曲线 h4. 双纵坐标图双纵坐标图语法:语法:plotyy(x1,y1,x2,y2)%以左、右不同纵轴绘制两条曲线说明:左纵轴用于(x1,y1)数据,右纵轴用于(x2,y2)数据来绘制两条曲线。坐标轴的范围、刻度都自动产生。【例例4.7续续】用p

13、lotyy函数实现在同一图形窗口绘制两条曲线,如图4.7(b)所示。 plotyy(x1,sin(x1),x2,cos(x2) (b) 用用plotyy在同一窗口画出两条曲线在同一窗口画出两条曲线前面介绍的plot命令的多种调用方式时,MATLAB自动以默认方式设置各曲线的线型、线段的颜色和数据点形等,实际上,plot命令还可以设置曲线的线段类型、颜色和数据点形等,如表4.2所示。 颜色颜色数据点间连线数据点间连线数据点形数据点形类型类型符号符号类型类型符号符号类型类型符号符号黄色品 红 色 ( 紫色)青色红色绿色蓝色白色黑色y(Yellow)m(Magenta)c(Cyan)r(Red)g(

14、Green)b(Blue)w(White)k(Black)实线(默认)点线点划线虚线-:-.-实点标记圆圈标记叉号形十字形星号标记方块标记钻石形标记向下的三角形标记向上的三角形标记向左的三角形标记向右的三角形标记五角星标记六连形标记.ox+*sdvph表表4.2 线段、颜色与数据点形线段、颜色与数据点形【例例4.8】用不同线段类型、颜色和数据点形画出sin(x)和cos(x)曲线,如图4.8所示。图图4.8在同一窗口画出两条曲线在同一窗口画出两条曲线 x=0:0.1:2*pi; plot(x,sin(x),r-.) %用红色点划线画出曲线 hold on plot(x,cos(x),b:o)

15、%用蓝色圆圈画出曲线,用点线连接h1. 坐标轴的控制坐标轴的控制plot命令根据所给的坐标点自动地确定坐标轴的范围,用坐标控制命令axis来控制坐标轴的特性,表4.3列出其常用控制命令。命令命令含义含义命令命令含义含义axis auto使用默认设置axis equal纵、横轴采用等长刻度axis manual使当前坐标范围不变axis fill在manual方式下起作用,使坐标充满整个绘图区axis off取消轴背景axis image纵、横轴采用等长刻度,且坐标框紧贴数据范围axis on使用轴背景axis normal 默认矩形坐标系axis ij矩阵式坐标,原点在左上方axis squa

16、re产生正方形坐标系axis xy普通直角坐标,原点在左下方axis tight把数据范围直接设为坐标范围axis(xmin,xmax,ymin,ymax)设定坐标范围,必须满足xminxmax,ymin x=0:0.1:2*pi; subplot(2,1,1) plot(sin(x),cos(x) axis equal %纵、横轴采用等长刻度 grid on %加分格线 subplot(2,1,2) plot(x,exp(-x) axis(0,3,0,2) %改变坐标轴范围 图图4.9 用坐标轴、分格线和坐标框控制用坐标轴、分格线和坐标框控制h3. 文字标注文字标注图形的文字标注是指在图形中

17、添加标识性的注释,文字标注包括:图名(Title)、坐标轴名(Label)、文字注释(Text)和图例(Legend)。(1) 添加图名语法:语法:title(s)%书写图名说明:s为图名,为字符串,可以是英文或中文。(2) 添加坐标轴名语法:语法:xlabel(s) %横坐标轴名ylabel(s) %纵坐标轴名(3) 添加图例语法:语法:legend(s,pos) %在指定位置建立图例legend off %擦除当前图中的图例说明:参数s是图例中的文字注释,如果多个注释则可以用s1,s2,的方式;参数pos是图例在图上位置的指定符,它的取值如表4.4所示。pos取值取值012341图例位置图

18、例位置自动取最佳位置右上角(默认)左上角左下角右下角图右侧表表4.4pos取值所对应的图例位置取值所对应的图例位置(4) 添加文字注释语法:语法:text(xt,yt,s)%在图形的(xt,yt)坐标处书写文字注释【例例4.10】在图形窗口中添加文字注释,如图4.10所示。 x=0:0.1:2*pi; plot(x,sin(x) hold on plot(x,cos(x),ro) title(y1=sin(x),y2=cos(x) %添加标题 xlabel(x) %添加横坐标名 legend(sin(x),cos(x),4) %在右下角添加图例 text(pi,sin(pi),x=pi) %在

19、pi,sin(pi)处添加文字注释 图图4.10 添加图形标注添加图形标注h4. 特殊符号特殊符号如果需要对图形中的文字标识使用特殊字符如希腊字母、数学符等,则可以使用如表4.5所示的对应字符,如上例中的“text(pi,sin(pi),x=pi)”显示了希腊字符“”。类别类别命令命令字符字符命令命令字符字符命令命令字符字符命令命令字符字符希腊字母 alpha eta nu upsilon beta theta xi Upsilon epsilon Theta Xi phi gamma iota pi Phi Gamma zeta Pi chi delta kappa rho psi Delt

20、a mu tau Psi omega lambda sigma Omega Lambda Sigma数学符号approxoplusneqleqgeqpmtimesdivintexistsinftyinsimforallangleperpcupcapveewedgesurdotimesoplus箭头uparrowdownarrowrightarrowleftarrowleftrightarrowupdownarrow表表4.5图形标识用的希腊字母、数学符号和特殊字符图形标识用的希腊字母、数学符号和特殊字符如果需要对文字进行上下标设置,或设置字体大小,则必须在文字标识前先使用表4.6中所示的设置值

21、。命令命令含义含义fontnames字体的名称,s为Times New Roman 、Courier、宋体等。fontsizen字号大小,n为正整数,默认为10(points)。s字体风格,s可以为bf(黑体)、it(斜体一)、sl(斜体二)、rm(正体)等。s将s变为上标_s将s变为下标表表4.6文字设置文字设置【例例4.11】在MATLAB的图形窗口中写出标题为表达式 ,字体大小为16号,如图4.11所示。 figure(1) title(fontsize16y(omega)=intinfty_0y(t)e-jomegatdt)图图4.11 特殊字符特殊字符h1. ginput命令命令gi

22、nput命令与其他图形命令的原理不同,不是把数据表现在图上,而是从图上获取数据。因此,ginput命令在数值优化、工程设计中十分有用,仅适用于二维图形。语法:语法:x,y=ginput(n)%用鼠标从图形上获取n个点的坐标(x,y)h2. gtext命令命令gtext命令是把字符串放置到图形中鼠标所指定的位置上,该命令对二维、三维图形都适用。语法:语法:gtext(s) %用鼠标把字符串放置到图形上【例例4.12】在y=sin(x)的图形中将(,0)和(2,0)点的坐标取出,并在(2,0)点写“2”字符串。 x=0:0.1:2*pi; plot(x,sin(x) m,n=ginput(2) %

23、取两点坐标m = 3.1532 6.2984n = -0.0029 -0.0088 gtext(2pi) %写24.2.1绘制三维线图命令绘制三维线图命令在MATLAB的三维图形命令中plot3最易于理解,plot3是用来绘制三维曲线的,它的使用格式与二维绘图的plot命令很相似。语法:语法:plot3(x,y,z, s) %绘制三维曲线plot3(x1,y1,z1, s1,x2,y2,z2, s2,) %绘制多条三维曲线【例例4.13】三维曲线绘图,如图4.12所示。 x=0:0.1:20*pi; plot3(x,sin(x),cos(x) %按系统默认设置绘图图图4.12 三维曲线三维曲线

24、 1.meshgrid命令命令meshgrid命令是以x、y向量为基准,来产生在x-y平面的各栅格点坐标值的矩阵。语法:语法:X,Ymeshgrid(x,y) 说明:X、Y是栅格点的坐标,为矩阵;x、y为向量。 例如,将x(1m)向量和y(1n)向量转换为(nm)的矩阵: x=1 2 3 4; y=5 6 7; xx,yy=meshgrid(x,y)xx = 1 2 3 4 1 2 3 4 1 2 3 4yy = 5 5 5 5 6 6 6 6 7 7 7 7【例例4.14】使用peaks函数来测试meshgrid命令,并使用mesh命令来查看meshgrid的输出。为了方便测试立体图,MAT

25、LAB提供了peaks函数,可以产生一个凹凸有致的曲面,包含三个局部极大点和三个局部极小点,在下面的图4.13中可以看到。其x和y坐标分别为在-3 3范围内的4949的矩阵,z坐标与x、y的关系为: z = 3*(1-x).2.*exp(-(x.2) - (y+1).2) - 10*(x/5 - x.3 - y.5).*exp(-x.2-y.2) . - 1/3*exp(-(x+1).2 - y.2) x=linspace(-3,3,49); y=linspace(-3,3,49); xx,yy=meshgrid(x,y) ; %产生49*49的栅格点坐标 mesh(xx) %查看xx的网线图

26、 mesh(yy)xx和yy分别为4949的矩阵,如图4.13为xx和yy的网状图。 zz=3*(1-xx).2.*exp(-(xx.2) - (yy+1).2) . - 10*(xx/5 - xx.3 - yy.5).*exp(-xx.2-yy.2) . - 1/3*exp(-(xx+1).2 - yy.2) %产生peaks函数 plot3(xx,yy,zz) 图图4.13 (a) xx的网格图的网格图 (b) yy的网格图的网格图程序分析:zz也是4949的矩阵,绘制三维曲线图如图4.14所示。图图4.14 peaks函数的三维线图函数的三维线图h2. 三维网线图三维网线图语法:语法:m

27、esh(z) %画三维网线图mesh(x,y,z,c) 【例例4.14续续】用mesh查看peaks函数的三维网线图,如图4.15所示。 mesh(xx,yy,zz)图图4.15 peaks函数的三维网线图函数的三维网线图h3. 三维曲面图三维曲面图 语法:语法:surf (z) %画三维曲面图surf (x,y, z,c) 【例例4.14续续】用surf查看peaks函数的三维曲面图,如图4.16所 surf (xx,yy,zz) 图图4.16 peaks函数的三维曲面图函数的三维曲面图h4. 其它立体网线图和曲面图其它立体网线图和曲面图立体网线图mesh命令还有几种格式,meshc命令为立

28、体网状图加等高线;meshz为立体网状图加“围裙”。【例例4.14续续】用meshz和meshc查看peaks函数的三维曲面图,如图4.17所示。 meshz(xx,yy,zz) meshc(xx,yy,zz)图图4.17 (a) peaks函数的曲面加函数的曲面加“围裙围裙”图图 (b) peaks函数的曲面图加等高线函数的曲面图加等高线h1网格的隐藏网格的隐藏在默认方式下,MATLAB在绘制图形时前面的图形会遮盖后面的图形,即后面的网格会隐藏,如果要使被遮盖的网格也能呈现出来,可用“hidden off”命令。语法:语法:hidden off %显示被遮盖的网格hidden on %隐藏被

29、遮盖的网格【例例4.15】显示被遮盖的网格,如图4.18所示。 x,y,z=peaks; %peaks函数 mesh(x,y,z) %绘制曲面图 hidden off %显示网格 图图4.18 显示网线的显示网线的peaks函数函数h2改变视角改变视角立体图形的观测角度是由方位角和俯仰角决定的,与x平面所成的夹角称为方位角(Azimuth),与z平面所成的夹角称为俯仰角(Elevation)。对二维图形默认方位角=0,俯仰角=90;对三维图形默认方位角=-37.5,俯仰角=30。三维图形的观测角度不同则显示也不同,如果要改变观测角度,可用“view”命令。 语法:语法:view(az,el)

30、%通过方位角和俯仰角改变视角view(vx,vy,vz) %通过直角坐标改变视角【例例4.15续续】改变peaks函数的视角,如图4.19所示。 view(0,0) view(0,90) view(-37.5,30) %恢复原视角 图图4.19 (a) 视角为视角为(0,0)的的peaks函数函数 (b) 视角为视角为(0,90)的的peaks函数函数h3曲面的镂空曲面的镂空MATLAB默认绘制的曲面不透明,当有时希望看到曲面图下面的部分,可以将曲面镂空。在MATLAB中可以在希望镂空的位置用NaN(nan)来取代矩阵在该部分的数值,所有的MATLAB作图函数都会忽略NaN 数据点,实现“镂空

31、”效果。【例例4.15续续】对peaks函数曲面实现镂空效果,如图4.20所示。镂空部分 z(10:20,10:20)=nan; %将一部分数值用nan替换 surf(x,y,z) %画曲面图图图4.20 peaks函数函数 镂空部分h1色图色图(colormap)(1) RGB三元组RGB三元行数组表示一种色彩,数组元素R、G、B在01之间,分别表示红、绿、蓝基色的相对亮度,通过三色的设置可以调制出不同颜色,如表4.7所示。颜色颜色RGB成分成分Red(红色红色)Green(绿色绿色)Blue(蓝色蓝色)Black(黑)000White(白)111Red(红)100Green(绿)010Bl

32、ue(蓝)001Yellow(黄)110Magenta(品红)101Cyan(青)011Gray(灰)0.50.50.5Dark red(暗红)0.500Copper(铜色)10.620.4Aquamarine(碧绿)0.4910.83表表4.7常用颜色的常用颜色的RGB成分成分【例例4.16】查看默认的色图矩阵。 peaks; %以默认颜色显示peaks函数曲面 colormapans = 0 0 0.5625 0 0 0.6250 0 0 0.6875 0 0 0.7500 0 0 0.8125 0 0 0.8750 0 0 0.9375 0 0 1.0000 0 0.0625 1.000

33、0 0 0.1250 1.0000.0.6875 0 0 0.6250 0 0 0.5625 0 0 size(colormap)ans = 64 3(2) 预定义色图函数MATLAB系统提供了现成的可以预定义色图的函数,如表4.8所示为预定义色图的函数表。命令命令说明说明hsvHSV的颜色对照表(默认值),以红色开始和结束hot代表暖色对照表,黑、红、黄、白浓淡色cool代表冷色对照表,青、品红浓淡色summer代表夏天色对照表,绿、黄浓淡色gray代表灰色对照表,灰色线性浓淡色copper代表铜色对照表,铜色线性浓淡色autumn代表秋天颜色对照表,红、黄浓淡色winter代表冬天色对照表

34、,蓝、绿浓淡色spring代表春天色对照表,青、黄浓淡色bone代表“X光片”的颜色对照表pink代表粉红色对照表,粉红色线性浓淡色flag代表“旗帜”的颜色对照表,红、白、蓝、黑交错色jetHSV的变形,以蓝色开始和结束prim代表三棱镜对照表,红、橘黄、黄、绿、蓝交错色表表4.8预定义色图的函数表预定义色图的函数表【例例4.16续续】查看暖色色图。 colormap hot(8) %产生暖色peaks函数曲面 colormap ans = 0.3333 0 0 0.6667 0 0 1.0000 0 0 1.0000 0.3333 0 1.0000 0.6667 0 1.0000 1.00

35、00 0 1.0000 1.0000 0.5000 1.0000 1.0000 1.0000h2色图的显示和处理色图的显示和处理(1) 色图的显示可以利用rgbplot和colorbar命令显示色图。rgbplot命令语法:语法:rgbplot(map) colorbar命令colorbar命令以不同颜色来代表曲面的高度,显示一个水平或垂直的颜色标尺。【例例4.17】用rgbplot和colorbar命令显示色图,如图4.21所示。 subplot(2,1,1) rgbplot(cool) %画出冷色的颜色分量直线图 subplot(2,1,2) peaks; colormap cool %产

36、生冷色peaks函数曲面 colorbar %显示颜色标尺图图4.21用用rgbplot和和colorbar命令显示色图命令显示色图(2) 浓淡处理shading在前面的例子中,每一个曲面都可以看作是由一块块的四方小片拼成,而且每一小片表面的颜色是均匀一致的,其颜色值由小片所在的曲面高度决定。如果要使小片表面的颜色产生连续性的变化可使用shading命令,shading命令的用法如表4.9所示。命令命令功能功能shading interp使小片根据四顶点的颜色产生连续的变化,或根据网线的线段两端产生连续的变化,这种方式着色细腻但最费时。shading flat小片或整段网线的颜色是一种颜色。s

37、 h a d i n g faceted在flat着色的基础上,同时在小片交接的边勾画黑色,这种方式立体表现力最强(默认方式)。表表4.9shading命令的用法命令的用法【例例4.18】使用浓淡处理peaks函数曲面图,如图4.22所示。 subplot(1,2,1) peaks; shading interp subplot(1,2,2) peaks; shading faceted 图图4.22用用interp和和faceted方式进行浓淡处理方式进行浓淡处理(3) 亮度处理brighten可以用brighten命令来使色图变亮或变暗。语法:语法:brighten(a)【例例4.18续续

38、】对peaks函数曲面加亮,并查看色图矩阵。 peaks; brighten(0.5) colormapans = 0 0 0.7500 0 0 0.7906 0 0 0.8292 0 0 0.8660 0 0 0.9014 0 0 0.9354 0 0 0.9682 0 0 1.0000 0 0.2500 1.0000 0 0.3536 1.0000 0.8292 0 0 0.7906 0 0 0.7500 0 04.3.1条形图条形图条形图常用于对统计的数据进行作图,特别适用于少量且离散的数据。绘制条形图的函数如表4.10所示。函数函数功能功能函数函数功能功能bar垂直条形图bar3三维垂

39、直条形图barh水平条形图bar3h三维水平条形图表表4.10 条形图函数条形图函数语法:语法:bar(x,y,width,参数参数) %画条形图bar3(y,z,width,参数参数) %画三维条形图【例例4.19】用条形图表示某年一月份中3日6日连续四天的温度数据,y矩阵的各列分别表示平均温度、最高温度和最低温度,如图4.23所示,用条形图和三维条形图分别表示。 x=3:6; y=5.3000 13.0000 0.40005.1000 11.8000 -1.70003.7000 8.1000 0.60001.5000 7.7000 -4.5000 bar(x,y) %画条形图 bar3(x

40、,y) %画三维条形图 图图4.23 (a) 条形图条形图 (b) 三维条形图三维条形图h1. 面积图面积图面积图是在曲线与横轴之间填充颜色,用于绘制面积图的命令为“area”,只能用于二维绘图。语法:语法:area(y) %画面积图area(x,y)h2. 实心图实心图实心图是将数据的起点和终点连成多边形,并填充颜色,绘制实心图的命令为“fill”。语法:语法:fill(x,y,c) %画实心图说明:c为实心图的颜色,可以用r、g、b、 c、m、y、w、k,或RGB三元组行向量表示,也可以省略。【例例4.19续续】绘制面积图和实心图,并比较其区别,如图4.24所示。 area(x,y) %面

41、积图 fill(x,y,r) %红色的实心图 图图4.24 (a) 面积图面积图 (b) 实心图实心图用于建立直方图的命令为“hist”,直方图和条形图的形状相似,但直方图用于显示数据的分布规律,并具有统计的功能。语法:语法:hist(y,m) %统计每段的元素个数并画出直方图hist(y,x)【例例4.20】用直方图表示正态分布的随机数分布,如图4.25所示。 y=randn(10,2) %产生10*2的正态分布的随机数矩阵y = -1.1878 -1.1859 -2.2023 -1.0559 0.9863 1.4725 -0.5186 0.0557 0.3274 -1.2173 0.234

42、1 -0.0412 0.0215 -1.1283 -1.0039 -1.3493 -0.9471 -0.2611 -0.3744 0.9535 x=-2:0.5:2; hist(y,x) 图图4.25 直方图直方图饼图是用于显示向量中的各元素占向量元素总和的百分比,可以用pie和pie3命令分别绘制二维和三维饼图。语法:语法:pie(x,explode,label) %画二维饼图pie3(x,explode,label) %画三维饼图【例例4.21】绘制四个季度支出额的饼图,如图4.26所示。 y=200 100 250 400;%四个季度支出额 explode=0 0 1 0; pie(y,

43、explode,第一季度第一季度,第二季度第二季度,第三季度第三季度,第四季度第四季度) 图图4.26 饼图饼图【例例4.22】使用几种绘制离散数据的命令来显示 的离散数据,如图4.27所示。 x=0:0.1:2*pi; y=sin(x).*exp(-2*x); subplot(3,1,1) stem(x,y,filled) %画火柴杆图 subplot(3,1,2) stairs(x,y) %画阶梯图 subplot(3,1,3) scatter(x,y) %画点图 图图4.27 离散数据图离散数据图h1. 对数坐标图形对数坐标图形对数坐标图形有semilogx、semilogy和loglo

44、g命令。语法:语法:semilogx(x,y,参数参数) %绘制x为对数坐标的曲线semilogy(x,y,参数参数) %绘制y为对数坐标的曲线loglog(x,y,参数参数) %绘制x、y都为对数坐标的曲线【例例4.23】求传递函数为 的对数幅频特性曲线,如图4.28所示,横坐标为w按对数坐标。 w=logspace(-2,3,20); %频率w为0.01到1000 Aw=1./(w.*sqrt(0.5*w).2+1); %计算幅频 Lw=20*log10(Aw); %计算对数幅频 semilogx(w,Lw) title(对数幅频特性曲线对数幅频特性曲线)图图4.28 对数频率特性对数频率

45、特性h2. 极坐标图极坐标图极坐标图由polar命令来实现。语法:语法:polar(theta,radius,参数参数) %绘制极坐标图【例例4.23续续】用极坐标图表示上述传递函数的Nyquist曲线,如图4.29所示。 w=logspace(-2,3,20); Fw=-90-atan(0.5*w); polar(Fw,Aw)图图4.29 极坐标图极坐标图语法:语法:contour(Z,n) %绘制Z矩阵的等高线contour(x,y,z,n) %绘制以x和y指定x、y坐标的等高线【例例4.24】绘制peaks函数的等高线,如图4.30所示。 x,y,z=peaks; contour(x,y

46、,z) %画二维等高线 contour3(z,30) %画30条三维等高线 图图4.30 (a) 二维等高线二维等高线 (b) 三维等高线三维等高线h1. compass命令命令compass绘制的是以原点为起点的一组复向量,因此又称为罗盘图。语法:语法:compass(u,v) %画罗盘图compass(Z) h2. feather命令命令feather绘制的是起点为(k,0)的复向量图,又称为羽毛图。语法:语法:feather(u,v) %画羽毛图feather (Z)【例例4.25】用罗盘图和羽毛图绘制复向量,如图4.31所示。 theta=0:0.2:2*pi; z=sin(theta

47、).*exp(j*theta); compass(z) feather(z)图图 4.31 (a)罗盘图罗盘图 (b)羽毛图羽毛图h1工具栏工具栏从MATLAB的图形窗口带有工具栏,工具栏如图4.32所示。数据光标添加颜色条三维图形旋转图形对象编辑添加图例隐藏绘图工具显示绘图工具图图4.32 图形窗口的工具条图形窗口的工具条拆分窗口h2菜单菜单图形窗口中的Edit和Insert菜单可以方便地编辑图形,Edit和Insert菜单如图4.33所示。Edit菜单:选择“Figure Properties”、“Axes Properties”和“Current Object Properties”菜单

48、项,可以打开相应的窗口来修改图形属性、坐标轴属性和对象属性。Insert菜单:可以插入各种文字标注、箭头、线、坐标轴等。 图图4.33 (a) Edit菜单菜单 (b) Insert菜单菜单 使用View菜单可以在图形窗口中添加工具栏和其他窗口,如图4.34所示的在View菜单打开“Figue Palette”、“Plot Browser”和“Property Editor”窗口。图图4.34 图形窗口图形窗口 h1. 输入信息对话框输入信息对话框输入对话框为用户的输入信息提供了界面,使用inputdlg命令创建。输入对话框中有两个按钮,分别为“Ok”和“Cancel”。语法:语法:answe

49、rinputdlg(prompt,title,lineno,defans,addopts) %创建输入对话框【例例4.26】利用输入对话框输入二阶系统的系数,如图4.35所示。 prompt=请输入阻尼系数请输入阻尼系数,请输入无阻尼振荡频率请输入无阻尼振荡频率; defans=0.707,1; p=inputdlg(prompt,输入参数输入参数,1,defans) 图图4.35 输入对话框输入对话框 h2. 输出信息对话框输出信息对话框MATLAB提供了几种专用的对话框,用于显示不同的输出信息。(1) 消息框msgbox消息框是用来显示输出信息,有一个“Ok”按钮。语法:语法:msgbox

50、(message,title,icon,icondata,iconcmap,CreateMode) %创建消息框【例例4.26续续】使用消息框显示当阻尼系数大于1时的警告信息,如图4.36所示。 msgbox(阻尼系数输入范围出错阻尼系数输入范围出错,警告警告,warn) 图图4.36 消息框消息框(2) 警告对话框warndlg警告对话框是用来显示警告信息,有一个“Ok”按钮,创建的警告对话框与msgbox用“warn”参数时相同。语法:语法:warndlg(WarnString,DlgName,CreateMode) %创建警告对话框说明:WarnString为显示的警告信息,是字符串;D

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

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(matlab与数值分析课件:第4章 MATLAB计算的可视化和.ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|