第4章-MATLAB计算的可视化与GUI设计-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章-MATLAB计算的可视化与GUI设计-课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- _MATLAB 计算 可视化 GUI 设计 课件
- 资源描述:
-
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的曲线。【例例4.2】绘制正弦曲
3、线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.3】矩阵图形的绘制,如图4.3所
4、示。图图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的行数和列数都相等,将向量x与矩阵y的每列向量画一条曲线;如果x是矩阵,而y是向量,则y的长度
5、必须等于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)%按列与列对应的方式 图图4.4(a)(x1,y1)曲线曲线 (b)(x2,y1)曲线曲线图图4.4(
6、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.0000+5.0000i 2.0000+6.0000i plot(z1)%以实部为横坐标,虚部为纵坐标图图4.4(e)(x2,y1)曲线曲线h6.p
7、lot(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中,无论是绘制二维还是三维图形,如果要画出相当满意的彩色图形,还要对图形进行各种修饰,表4.1为绘制二维、三维图形一般步骤的归纳。步骤步骤内容内容1曲线数据准备:对于二维曲线
8、,横坐标和纵坐标数据变量;对于三维曲面,矩阵参变量和对应的函数值。2 指定图形窗口和子图位置:默认时,打开Figure No.1窗口或当前窗口、当前子图;也可以打开指定的图形窗口和子图。3设置曲线的绘制方式:线型、色彩、数据点形。4 设置坐标轴:坐标的范围、刻度和坐标分格线5 图形注释:图名、坐标名、图例、文字说明6 着色、明暗、灯光、材质处理(仅对三维图形使用)7视点、三度(横、纵、高)比(仅对三维图形使用)8图形的精细修饰(图形句柄操作):利用对象属性值设置;利用图形窗工具条进行设置。表表4.1绘制二维、三维图形的一般步骤绘制二维、三维图形的一般步骤h1.指定图形窗口指定图形窗口在4.1.
9、1小节中介绍的plot命令,绘制的图形都是在默认的“Figure No.1”窗口中绘制的,当第二次使用plot命令时,就将第一次绘制的图形覆盖了。因此,如果需要多个图形窗口同时打开时,可以使用figure语句。语法:语法:figure(n)%产生新图形窗口说明:如果该窗口不存在,则产生新图形窗口并设置为当前图形窗口,该窗口名为“Figure No.n”,而不关闭其它窗口。例如,可以使用“figure(1)”、“figure(2)”等语句来同时打开多个图形窗口。h2.同一窗口多个子图同一窗口多个子图如果需要在同一个图形窗口中布置几幅独立的子图,可以在plot命令前加上subplot命令来将一个图
10、形窗口划分为多个区域,每个区域一幅子图。语法:语法: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)%左下方为当前图 plot(x,sin(3*x)subplot(224)%右下方为当前图,省略逗号 plot(x,cos(3*x)图图4.6 四个子图四个子图h3.同一窗口多次叠绘同一窗口多次叠绘在当前
11、坐标系中绘图时,每调用一次plot函数,会擦掉图形窗口中已有的图形。为了在一个坐标系中增加新的图形对象,可以用“hold”命令来保留原图形对象。语法:语法:hold on%使当前坐标系和图形保留hold off%使当前坐标系和图形不保留hold%在以上两个命令中切换说明:在设置了“hold on”后,如果画多个图形对象,则在生成新的图形时保留当前坐标系中已存在的图形对象,MATLAB会根据新图形的大小,重新改变坐标系的比例。【例例4.7】在同一窗口画出函数sinx在区间0 2的曲线和cosx在区间-的曲线,如图4.7(a)所示。x1=0:0.1:2*pi;plot(x1,sin(x1)hold
12、 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续续】用plotyy函数实现在同一图形窗口绘制两条曲线,如图4.7(b)所示。plotyy(x1,sin(x1),x2,cos(x2)(b)用用plotyy在同一窗口画出两条曲线在同一窗口画出两条曲线前面介绍的plot命令的多种
13、调用方式时,MATLAB自动以默认方式设置各曲线的线型、线段的颜色和数据点形等,实际上,plot命令还可以设置曲线的线段类型、颜色和数据点形等,如表4.2所示。颜色颜色数据点间连线数据点间连线数据点形数据点形类型类型符号符号类型类型符号符号类型类型符号符号黄色品 红 色(紫色)青色红色绿色蓝色白色黑色y(Yellow)m(Magenta)c(Cyan)r(Red)g(Green)b(Blue)w(White)k(Black)实线(默认)点线点划线虚线-:-.-实点标记圆圈标记叉号形十字形星号标记方块标记钻石形标记向下的三角形标记向上的三角形标记向左的三角形标记向右的三角形标记五角星标记六连形标
14、记.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)%用蓝色圆圈画出曲线,用点线连接h1.坐标轴的控制坐标轴的控制plot命令根据所给的坐标点自动地确定坐标轴的范围,用坐标控制命令axis来控制坐标轴的特性,表4.3列出其常用控制命令。命令命令含义含义命令命令含义含义axis auto使
15、用默认设置axis equal纵、横轴采用等长刻度axis manual使当前坐标范围不变axis fill在manual方式下起作用,使坐标充满整个绘图区axis off取消轴背景axis image纵、横轴采用等长刻度,且坐标框紧贴数据范围axis on使用轴背景axis normal 默认矩形坐标系axis ij矩阵式坐标,原点在左上方axis square产生正方形坐标系axis xy普通直角坐标,原点在左下方axis tight把数据范围直接设为坐标范围axis(xmin,xmax,ymin,ymax)设定坐标范围,必须满足xminxmax,ymin x=0:0.1:2*pi;sub
16、plot(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.文字标注文字标注图形的文字标注是指在图形中添加标识性的注释,文字标注包括:图名(Title)、坐标轴名(Label)、文字注释(Text)和图例(Legend)。(1)添加图名语法:语法:title(s)%书写图名说明:s为图名,为字符串,可以是英文或中文。(2)添加坐标轴名语法:语法:xlabe
17、l(s)%横坐标轴名ylabel(s)%纵坐标轴名(3)添加图例语法:语法:legend(s,pos)%在指定位置建立图例legend off%擦除当前图中的图例说明:参数s是图例中的文字注释,如果多个注释则可以用s1,s2,的方式;参数pos是图例在图上位置的指定符,它的取值如表4.4所示。pos取值取值012341图例位置图例位置自动取最佳位置右上角(默认)左上角左下角右下角图右侧表表4.4pos取值所对应的图例位置取值所对应的图例位置(4)添加文字注释语法:语法:text(xt,yt,s)%在图形的(xt,yt)坐标处书写文字注释【例例4.10】在图形窗口中添加文字注释,如图4.10所示
18、。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)%在pi,sin(pi)处添加文字注释 图图4.10 添加图形标注添加图形标注h4.特殊符号特殊符号如果需要对图形中的文字标识使用特殊字符如希腊字母、数学符等,则可以使用如表4.5所示的对应字符,如上例中的“text(pi,sin(pi),x=pi)”显示了希腊字符“”。类别类别命令命令字符
19、字符命令命令字符字符命令命令字符字符命令命令字符字符希腊字母 alpha eta nu upsilon beta theta xi Upsilon epsilon Theta Xi phi gamma iota pi Phi Gamma zeta Pi chi delta kappa rho psi Delta mu tau Psi omega lambda sigma Omega Lambda Sigma数学符号approxoplusneqleqgeqpmtimesdivintexistsinftyinsimforallangleperpcupcapveewedgesurdotimesopl
20、us箭头uparrowdownarrowrightarrowleftarrowleftrightarrowupdownarrow表表4.5图形标识用的希腊字母、数学符号和特殊字符图形标识用的希腊字母、数学符号和特殊字符如果需要对文字进行上下标设置,或设置字体大小,则必须在文字标识前先使用表4.6中所示的设置值。命令命令含义含义fontnames字体的名称,s为Times New Roman、Courier、宋体等。fontsizen字号大小,n为正整数,默认为10(points)。s字体风格,s可以为bf(黑体)、it(斜体一)、sl(斜体二)、rm(正体)等。s将s变为上标_s将s变为下标表
21、表4.6文字设置文字设置【例例4.11】在MATLAB的图形窗口中写出标题为表达式,字体大小为16号,如图4.11所示。figure(1)title(fontsize16y(omega)=intinfty_0y(t)e-jomegatdt)图图4.11 特殊字符特殊字符h1.ginput命令命令ginput命令与其他图形命令的原理不同,不是把数据表现在图上,而是从图上获取数据。因此,ginput命令在数值优化、工程设计中十分有用,仅适用于二维图形。语法:语法:x,y=ginput(n)%用鼠标从图形上获取n个点的坐标(x,y)h2.gtext命令命令gtext命令是把字符串放置到图形中鼠标所指
22、定的位置上,该命令对二维、三维图形都适用。语法:语法: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)%取两点坐标m=3.1532 6.2984n=-0.0029 -0.0088 gtext(2pi)%写24.2.1绘制三维线图命令绘制三维线图命令在MATLAB的三维图形命令中plot3最易于理解,plot3是用来绘制三维曲线的,它的使用格式与二维绘图的plot命令很相似。语法:语法:plot3(x,y,z,s)
23、%绘制三维曲线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 三维曲线三维曲线 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,
24、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的输出。为了方便测试立体图,MATLAB提供了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
25、).2-y.2)x=linspace(-3,3,49);y=linspace(-3,3,49);xx,yy=meshgrid(x,y);%产生49*49的栅格点坐标 mesh(xx)%查看xx的网线图 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的网格图的网格图
展开阅读全文