Matlab基础第四章_第1页
Matlab基础第四章_第2页
Matlab基础第四章_第3页
Matlab基础第四章_第4页
Matlab基础第四章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.1二维曲线的绘制二维曲线的绘制4.1.1基本绘图命令基本绘图命令plot1. plot(x) 绘制绘制x向量曲线向量曲线功能:功能: 绘制以x为纵坐标的二维曲线,横坐标由MATLAB根据x向量的元素序号自动生成从1开始的向量。 2. plot(x,y) 绘制向量绘制向量x和和y的曲线的曲线3. plot(x) 绘制绘制矩阵矩阵x的曲线的曲线注意:以注意:以每列向量为纵坐标画一条曲线,横坐标自动生成。每列向量为纵坐标画一条曲线,横坐标自动生成。第第4章章 MATLAB计算的可视化和计算的可视化和GUI设计设计4. plot(x,y)绘制混合式曲线绘制混合式曲线当plot(x,y)命令中的参数

2、x和y是向量或矩阵时,分别有以下几种情况:(1)如果如果x是向量,而是向量,而y是矩阵是矩阵,则x的长度与矩阵y的行数或列数必须相等,如果x的长度与y的行数相等,则向量x与矩阵y的每列向量对应画一条曲线;如果x的长度与y的列数相等,向量x与y的每行向量画一条曲线,如果y是方阵,则x和y的行数和列数都相等,将向量x与矩阵y的每列每列向量画一条曲线;(2)如果如果x是矩阵,而是矩阵,而y是向量是向量,则y的长度必须等于x的行数或列数,绘制的方法与前一种相似;(3)如果如果x和和y都是矩阵都是矩阵,则大小必须相同,矩阵x的每每列列和y的每列每列画一条曲线。4.1二维曲线的绘制5. plot(z)绘制

3、复向量曲线绘制复向量曲线 z1=x2+i*y1 plot(z1) %以实部为横坐标,虚部为纵坐标以实部为横坐标,虚部为纵坐标 6. plot(x1,y1,x2,y2,)绘制多条曲线绘制多条曲线plot命令还可以同时绘制多条曲线,用多个矩阵对为参数,MATLAB自动以不同的颜色绘制自动以不同的颜色绘制不同曲线。【例】绘制三条曲线,如图【例】绘制三条曲线,如图4.5所所示。示。x=0:0.1:2*pi;plot(x,sin(x),x,cos(x),x,sin(3*x) %画三条曲线画三条曲线图图4.5 三条曲线三条曲线4.1二维曲线的绘制4.1.2 绘制曲线的一般步骤绘制曲线的一般步骤 表表4.1

4、绘制二维、三维图形的一般步骤绘制二维、三维图形的一般步骤 步骤步骤内容内容 1曲线数据准备:曲线数据准备:对于二维曲线,横坐标和纵坐标数据变量;对于二维曲线,横坐标和纵坐标数据变量;对于三维曲面,矩阵参变量和对应的函数值。对于三维曲面,矩阵参变量和对应的函数值。 2 指定图形窗口和子图位置:指定图形窗口和子图位置:默认时,打开默认时,打开Figure No.1窗口或当前窗口、当前子图;窗口或当前窗口、当前子图;也可以打开指定的图形窗口和子图。也可以打开指定的图形窗口和子图。 3设置曲线的绘制方式:设置曲线的绘制方式:线型、色彩、数据点形。线型、色彩、数据点形。 4 设置坐标轴:设置坐标轴:坐标

5、的范围、刻度和坐标分格线坐标的范围、刻度和坐标分格线 5 图形注释:图形注释:图名、坐标名、图例、文字说明图名、坐标名、图例、文字说明1. 指定图形窗口指定图形窗口 figure(n) %产生新图形窗口说明:说明:如果该窗口不存在,则产生新图形窗口并设置为当前图形窗口,该窗口名为“Figure No.n”,而不关闭其它窗口。2. 同一窗口多个子图同一窗口多个子图 subplot(m,n,k) %使(mn)幅子图中的第k幅成为当前图说明:说明:将图形窗口划分为mn幅子图,k是当前子图的编号,“,”可以省略可以省略。子图的序号编排原则是:左上方为第左上方为第1幅,幅,先向先向右后向下右后向下依次排

6、列,子图彼此之间独立。依次排列,子图彼此之间独立。4.1.3 多个图形绘制的方法多个图形绘制的方法clf %清除所有子图清除所有子图3. 同一窗口多次叠绘同一窗口多次叠绘语法:语法:hold on %使当前坐标系和图形保留 hold off %使当前坐标系和图形不保留 hold %在以上两个命令中切换4. 双纵坐标图双纵坐标图语法:语法:plotyy(x1,y1,x2,y2) %以左、右不同纵轴绘制两条曲线说明:说明:左纵轴用于(x1,y1)数据,右纵轴用于(x2,y2)数据来绘制两条曲线。它会自动以不同颜色绘制两条曲线。4.1.3多个图形绘制的方法多个图形绘制的方法4.1.4 曲线的线型、颜

7、色和数据点形曲线的线型、颜色和数据点形颜色颜色数据点间连线数据点间连线数据点形数据点形类型类型符号符号类型类型符号符号类型类型符号符号黄色黄色品红色品红色(紫色紫色)青色青色红色红色绿色绿色蓝色蓝色白色白色黑色黑色y(Yellow)m(Magenta)c(Cyan)r(Red)g(Green)b(Blue)w(White)k(Black)实 线实 线 ( 默默认认)点线点线点划线点划线虚线虚线-:-.-实点标记实点标记圆圈标记圆圈标记叉号形叉号形十字形十字形星号标记星号标记方块标记方块标记钻石形标记钻石形标记向下的三角形标记向下的三角形标记向上的三角形标记向上的三角形标记向左的三角形标记向左的

8、三角形标记向右的三角形标记向右的三角形标记五角星标记五角星标记六连形标记六连形标记.ox+*sdvph表表4.2 线段、颜色与数据点形线段、颜色与数据点形语法:语法: plot(x,y,s)说明:说明:s为类型说明为类型说明字符串参数字符串参数;s字符串可以是线段类型、颜色和数据点形字符串可以是线段类型、颜色和数据点形三种类型的符号之一,也可以是三种类型符号的组合。三种类型的符号之一,也可以是三种类型符号的组合。 【例】用不同线段类型、颜色和数据例】用不同线段类型、颜色和数据点形画出点形画出sinx和cosx曲线,如图所示。 x=0:0.1:2*pi; plot(x,sin(x),r-.) %

9、用红色点划线画出曲线用红色点划线画出曲线 hold on plot(x,cos(x),b:o) %用蓝色圆圈画出曲线,用点线连接用蓝色圆圈画出曲线,用点线连接 4.1.4曲线的线型、颜色和数据点形曲线的线型、颜色和数据点形-1. 坐标轴的控制坐标轴的控制(axis命令命令)4.1.5设置坐标轴和文字标注设置坐标轴和文字标注表表4.3常用的坐标控制命令常用的坐标控制命令命令命令含义含义命令命令含义含义axis auto使用默认设置使用默认设置axis equal纵、横轴采用等长刻度纵、横轴采用等长刻度axis manual使当前坐标范围不变使当前坐标范围不变axis fill在在manual方式

10、下起作用,方式下起作用,使坐标充满整个绘图区使坐标充满整个绘图区axis off取消轴背景取消轴背景axis image纵、横轴采用等长刻度,且纵、横轴采用等长刻度,且坐标框紧贴数据范围坐标框紧贴数据范围axis on使用轴背景使用轴背景axis normal默认矩形坐标系默认矩形坐标系axis ij矩阵式坐标,原点在左上矩阵式坐标,原点在左上方方Axis square产生正方形坐标系产生正方形坐标系axis xy普通直角坐标,原点在左普通直角坐标,原点在左下方下方axis tight把数据范围直接设为坐标范把数据范围直接设为坐标范围围axis(xmin,xmax,ymin,ymax)设定坐标

11、范围,必须满足设定坐标范围,必须满足xminxmax,yminymax,可以取可以取inf或或-inf。axis vis3d保持高宽比不变,用于三维保持高宽比不变,用于三维旋转时避免图形大小变化旋转时避免图形大小变化2. 分格线和坐标框分格线和坐标框(1) 使用使用grid命令显示分格线命令显示分格线语法:语法: grid on%显示分格线 grid off%不显示分格线 grid%在以上两个命令间切换说明:不显示分格线是说明:不显示分格线是MATLAB的默认设置。 (2) 使用使用box命令显示坐标框命令显示坐标框语法:语法: box on%使当前坐标框呈封闭形式 box off%使当前坐标

12、框呈开启形式 box %在以上两个命令间切换说明:在默认情况下,所画的坐标框呈封闭形式。说明:在默认情况下,所画的坐标框呈封闭形式。4.1.5 设置坐标轴和文字标注设置坐标轴和文字标注【例】在两个子图中使用坐标轴、分格线和坐标框控制,如图例】在两个子图中使用坐标轴、分格线和坐标框控制,如图4.9所示。 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) %改变坐标

13、轴范围改变坐标轴范围 4.1.5 设置坐标轴和文字标注设置坐标轴和文字标注(1) 添加图名添加图名语法:语法: title(s)%书写图名说明:说明:s是图名,为字符串,可以是英文或中文。(2) 添加坐标轴名添加坐标轴名语法:语法:xlabel(s) %横坐标轴名 ylabel(s) %纵坐标轴名(3) 添加图例添加图例语法:语法: legend(s,pos) %在指定位置建立图例 legend off %擦除当前图中的图例说明:参数说明:参数s是图例中的文字注释,如果多个注释则可以用s1,s2,的方式;参数pos是图例在图上位置的指定符,它的取值如下表所示。用用legend命令产生图例后,也

14、可用鼠标对其进行拖拉操作,将图例拖命令产生图例后,也可用鼠标对其进行拖拉操作,将图例拖到满意的位置。到满意的位置。 pos取值取值012341图例位置图例位置自动取最佳位自动取最佳位置置右上角右上角(默认默认)左上角左上角左下角左下角右下角右下角图右侧图右侧3. 文字标注文字标注4.1.5设置坐标轴和文字标注设置坐标轴和文字标注(4) 添加文字注释添加文字注释语法:语法:text(xt, yt, s) %在图形的(xt,yt)坐标处书写文字注释【例】在图形窗口中添加文字注释,如图所示。【例】在图形窗口中添加文字注释,如图所示。 x=0:0.1:2*pi; plot(x,sin(x) hold

15、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)处添加文字注释处添加文字注释 特殊字符见特殊字符见P128表表4.5.如果需要对文字进行上下标设置,或设置字体大小上下标设置,或设置字体大小,则必须在文字标识前先使用表4.6中所示的设置值。 表表4.6文字设置文字设置命令命令含义含义fontnames字体的名称,字体的名称,s为为T

16、imes New Roman 、Courier、宋体等。、宋体等。fontsizen字号大小,字号大小,n为正整数,默认为为正整数,默认为10(points)。s字体风格,字体风格,s可以为可以为bf(黑体黑体)、it(斜体一斜体一)、sl(斜体二斜体二)、rm(正正体体)等。等。s将将s变为上标变为上标_s将将s变为下标变为下标【例】例】在图形窗口中写出标题为 ,字体大小为16号。figure(1)title(fontsize16y(omega)=intinfty_0y(t)e-jomegatdt) dty(t)e)y(0tj(5)文字设置)文字设置1. ginput命令命令-从图上获取数据

17、从图上获取数据。语法:语法: x,y=ginput(n) %用鼠标从图形上获取n个点的坐标(x,y)2. gtext命令命令-把字符串放置到图形中鼠标所指定的位置把字符串放置到图形中鼠标所指定的位置。语法:语法: gtext(s) %用鼠标把字符串放置到图形上说明:若说明:若s是多行字符串矩阵,那么每操作一次鼠标,只能放置一是多行字符串矩阵,那么每操作一次鼠标,只能放置一行字符串行字符串。 例例:x=0:0.1:2*pi; plot(x,sin(x) m,n=ginput(2) %用鼠标从图形上取两点坐标 gtext(2pi) %在鼠标指定位置上写24.1.6 交互式图形命令交互式图形命令1.

18、绘制三维线图命令绘制三维线图命令plot3语法语法: plot3(x,y,z, s) %绘制三维曲线 plot3(x1,y1,z1, s1,x2,y2,z2, s2,) %绘制多条三维曲线说明:当说明:当x、y、z是同维向量时,则绘制以x、y、z元素为坐标的三维曲线;当x、y、z是同维矩阵时,则绘制三维曲线的条数等于矩阵的列数列数。s是指定线型、色彩、数据点形的字符串线型、色彩、数据点形的字符串。【例例】 x=0:0.1:20*pi; plot3(x,sin(x),cos(x) %按系统默认设置绘图按系统默认设置绘图 4.2 MATLAB的三维图形绘制4.3 对数坐标和极坐标图对数坐标和极坐标

19、图1. 对数坐标图形对数坐标图形语法:语法:semilogx(x,y,参数参数) %绘制x为对数坐标的曲线 semilogy(x,y,参数参数) %绘制y为对数坐标的曲线 loglog(x,y,参数参数) %绘制x、y都为对数坐标的曲线【例】例】求传递函数为 的对数幅频特性曲线,横坐标为w按对数坐标。 程序清单:程序清单: w=logspace(-2,3,20); Aw=1./(w.*sqrt(0.5*w).2+1); Lw=20*log10(Aw); semilogx(w,Lw) title(对数幅频特性曲线对数幅频特性曲线) ) 1s5 . 0( s1) s (G语法:语法:polar(t

20、heta,radius,参数参数) %绘制极坐标图说明:说明:theta为相角即相频特性,radius为离原点的距离,即幅频特性。【例】用极坐标图表示传递函数例】用极坐标图表示传递函数 的的Nyquist曲线曲线 w=logspace(-2,3,20); Aw=1./(sqrt(0.5*w).2+1) Fw=-atan(0.5*w); polar(Fw,Aw) 2. 极坐标图极坐标图15 . 01)(ssG-1-0.8-0.6-0.4-0.200.20.40.60.81-0.5-0.4-0.3-0.2-0.100.10.20.30.40.5Nyquist DiagramReal AxisIma

21、ginary Axis1工具栏工具栏2菜单菜单图形窗口中的Edit和Insert菜单可以方便地编辑图形,Edit和Insert菜单如图下所示。添加箭头添加箭头添加直线添加直线添加文字添加文字图形对象编辑图形对象编辑放大放大缩小缩小三维图形旋转三维图形旋转4.4 图形窗口的功能4.4图形窗口的功能 图图 (a) Edit菜单菜单 (b) Insert菜单菜单 Edit菜单菜单:选择“Figure Properties”、“Axes Properties”和“Current Object Properties”菜单项,可以打开相应的窗口来修改图形属性、坐标轴属性和对象属性图形属性、坐标轴属性和对象

22、属性。Insert菜单菜单:可以插入各种文字标注、箭头、坐标轴文字标注、箭头、坐标轴等。1. 输入信息对话框的创建输入信息对话框的创建answer = inputdlg(prompt,title,lineno,defans,addopts) 说明:说明:answer返回用户的输入,数据类型为元胞数组; prompt为元胞数组,元胞元素内容为提示信息字符串,用引号引号括起来; title为标题字符串,用引号括起来,可以省略; lineno用于指定输入值的行数,可以省略; defans为元胞数组,元胞元素内容为输入项的默认值,用引号引号括起来; addopts指定对话框是否可以改变大小,取on或o

23、ff,省略时为off表示不能改变大小,为有模式有模式对话框(即在对话框关闭之前,用户无法进行其它程序的运行),如果为on则可以改变大小,自动变为无模式对话框。4.5 对话框【例】利用输入对话框输入二阶系统的系数例】利用输入对话框输入二阶系统的系数。 prompt=请输入阻尼系数请输入阻尼系数,请输入无阻尼振荡频率请输入无阻尼振荡频率; defans=0.707,1; p=inputdlg(prompt,输入参数输入参数,1,defans) 程序分析程序分析:prompt、defans和p都是元胞数组。如果单击“Cancel”按钮,则返回空的元胞数组。输入对话框输入对话框4.5对话框2. 输出信

24、息对话框输出信息对话框 (1) 消息框消息框语法:语法:msgbox(message,title,icon,icondata,iconcmap,CreateMode) 说明:说明:message为显示的信息;title为标题;icon为显示的图标,可取值为“none”(无图标)、“error”(出错图标)、“help”(帮助图标)、“warn”(警告图标)或“custom”(自定义图标),也可省略;当使用当使用“custom”时,用时,用icondata定义图标的数据,用定义图标的数据,用iconcmap定义图标定义图标的颜色的颜色;CreateMode为对话框的产生模式可省略,取值为“mod

25、al”(有模式)、“replace”(无模式可代替同名的对话框)、“non-modal”(默认为无模式)。 如: msgbox(阻尼系数输入范围出错阻尼系数输入范围出错,警告警告,warn) 程序分析程序分析:消息框消息框msgbox没有返回值没有返回值。图图4.36 消息框消息框4.5对话框4.5 对话框(2)警告对话框)警告对话框 语法:语法:warndlg(WarnString,DlgName,CreateMode)(3)出错提示对话框)出错提示对话框 语法:语法:errordlg(ErrorString,DlgName,CreateMode)(4) 帮助对话框帮助对话框 语法:语法:h

26、elpdlg(HelpString,DlgName)(5)提问对话框)提问对话框 语法语法: Button=questdlg(Question,Title,Btn1,Btn2,Btn3,DEFAULT)说明说明:Button为返回的用户所按下的按钮的名称;Question为提出的问题,是字符串;Title为对话框的标题,可省略;DEFAULT为按下回车键时默认的按钮,可省略;Btn1、Btn2和Btn3为按钮的显示标注,可以有2个或3 个按钮,当全部省略时默认为“Yes”、“No”和“Cancel”3个按钮。帮助提示框帮助提示框提问提示框提问提示框4.5 对话框helpdlg(欠阻尼系数应大于

27、欠阻尼系数应大于0小于小于1,帮助帮助)button=questdlg(是否确认?是否确认?,Are you sure?,Yes,No,Yes)(1) 打开文件对话框打开文件对话框uigetfileFileName,PathName=uigetfile(FiltrEspec, Title,x,y)说明:说明:FileName和PathName分别为返回的文件名和路径,可省略,如果按“取消”按钮或发生错误,都返回0;FiltrEspec指定初始时显示的文件名,可以用通配符通配符“*”表示,当省略时,则自动列出当当前路径前路径下的所有“*.m”文件和目录;Title为对话框标题,可省略;x、y分别

28、指定对话框在屏幕上的位置(到屏幕左上角的距离),单位是像素,可省略。例例: fname,pname=uigetfile(*.*,打开文件打开文件,100,100)程序分析程序分析:在屏幕的(100,100)位置显示打开文件对话框,单击“打开”按钮,返回文件名和路径名到fname和pname变量。注意:并没有真正打开文件。注意:并没有真正打开文件。(2) 保存文件对话框保存文件对话框uiputfile3. 文件管理对话框文件管理对话框4.6.1句柄图形体系句柄图形体系句柄图形是一种面向对象的绘图系统,又称为低层图形。句柄图形是一种面向对象的绘图系统,又称为低层图形。句柄图形体系由若干个图形对象组

29、成,如图4.41所示。4.6.2 图形对象的操作图形对象的操作1图形对象的创建图形对象的创建Root(屏幕屏幕)Figure(图图)Uicontrol(界面控件界面控件)Axes(轴轴)Uimenu(界面菜单界面菜单)Line(线条线条)Surface(表面表面)Rectangle(矩形矩形)Patch(贴片贴片)Image(图像图像)Text(文字文字)Light(光源光源)图图4.41 句柄图形体系句柄图形体系4.6 句柄图形表表4.11 创建图形对象的命令创建图形对象的命令 功能功能创建第创建第n个个图形窗口图形窗口创建坐标轴创建坐标轴创建直线创建直线创建面创建面命令命令h_ figur

30、e =figure(n)h_axes =axes(position,left,bottom,width,height)h_ line =line(x,y,z)h_ surface=surface(x,y,z,c)说明说明n为正整数为正整数定义轴的位置和大小定义轴的位置和大小z省略则在二维平面上省略则在二维平面上x、y、z定义三维曲面,定义三维曲面,c是颜是颜色参数色参数创建图像创建图像创建文字创建文字h_ image=image(x)h_ text=text(x,y,string)x为图像数据矩阵为图像数据矩阵x、y为字符串为字符串string的标注位的标注位置置创建用户创建用户界面控件界面控

31、件h_uicontrol =uicontrol(PropertyName,Propertyvalue)h_uimenu=uimenu(propertyName, Propertyvalue)创建用户创建用户界面菜单界面菜单PropertyNam和和Propertyvalue指定控件的类型指定控件的类型propertyNam和和Propertyvalue指定菜单的形式指定菜单的形式每次创建一个对象时,就为它建立一个唯一的句柄每次创建一个对象时,就为它建立一个唯一的句柄。(1) 当前对象句柄的获取当前对象句柄的获取语法:语法:gcf %获取当前图形句柄获取当前图形句柄gca %获取当前坐标轴句柄获

32、取当前坐标轴句柄gco %获取被鼠标最近点击对象的句柄获取被鼠标最近点击对象的句柄(2) 查找对象查找对象语法:语法:h=findobj %返回根对象和所有子对象的句柄返回根对象和所有子对象的句柄 h=findobj(h_obj) %返回指定对象及子对象的句柄返回指定对象及子对象的句柄 h=findobj(PropertyName,PropertyValue) %返回符合指定属性值的对象句柄返回符合指定属性值的对象句柄 h=findobj(h_obj,PropertyName, PropertyValue) %在指定对象及子对象中查找符合指定属性值的对象句柄在指定对象及子对象中查找符合指定属性

33、值的对象句柄2对象句柄的获取对象句柄的获取(3) 追溯父对象和子对象的句柄追溯父对象和子对象的句柄语法:语法:h_parent=get(h_obj,parent) %追溯父对象的句柄 h_children=get(h_obj,children) %追溯子对象的句柄3对象句柄的删除对象句柄的删除语法:语法: delete(h_obj) %删除句柄所指对象和所有子对象,而且不提示确认,使用时要小心。例:例:delete(h_axes)2对象句柄的获取对象句柄的获取1创建对象时同时设置属性创建对象时同时设置属性例:创建图形对象,并设置其属性。例:创建图形对象,并设置其属性。h_fig=figure(

34、color,red,menubar,none,position,0,0,300,300) 或者使用结构数组创建图形对象:或者使用结构数组创建图形对象: ps.color=red; ps.position=0,0,300,300; ps.menubar=none; h_fig=figure(ps) h_fig = 1程序分析程序分析:创建一个图形窗口,背景为红色,没有菜单条,在屏幕的(0,0)位置,宽度、高度为300。 4.6.3 图形对象属性的获取和设置图形对象属性的获取和设置2. 用用get函数获取属性值函数获取属性值语法:语法: get(h_obj) %获取句柄对象所有属性的当前值 get

35、(h_obj, PropertyName) %获取句柄对象指定属性的当前值3. 用用set函数设置属性值函数设置属性值语法:语法: set(h_obj) %显示句柄对象所有属性和属性值set(h_obj, PropertyName) %显示句柄对象指定属性名的属性值set(h_obj, PropertyName, PropertyValue ) %设置句柄对象指定属性的属性值set(h_obj, PropertyStructure) %用结构数组设置句柄对象指定属性的属性值4.6.3图形对象属性的获取和设置图形对象属性的获取和设置4对象属性的默认设置和获取对象属性的默认设置和获取语法:语法:g

36、et(h_obj, DefaultObjectTypePropertyName) %获取对象属性的默认值set(h_obj,DefaultObjectTypePropertyName,PropertyValue) %设置属性的用户定义默认值set(h_obj, DefaultObjectTypePropertyName, Remove) %删除属性的用户定义默认值说明说明:DefaultObjectTypePropertyName表示为“Default+对象名对象名+属性属性名名”,例如线对象的线条宽度为“DefaultLineLineWidth”。4.6.3图形对象属性的获取和设置图形对象属

37、性的获取和设置【例】使用低层命令画图,并设置各对象的属性,【例】使用低层命令画图,并设置各对象的属性,如下图所示。如下图所示。图形对象图形对象举例:举例:h_fig=figure(color,red,menubar,none,position,0,0,300,300); x=0:0.1:2*pi;y=sin(x).*exp(-x); h_line1=plot(x,y,b); title(y=exp(-x)*sin(x) set(gca,ygrid,on) %显示显示y网格网格 line1width=get(h_line1,linewidth) %获取曲线宽度获取曲线宽度 set(h_line1

38、,linewidth,3) %设置曲线宽度设置曲线宽度 h_title=get(gca,title) %获取标题句柄获取标题句柄 titlefontsize=get(h_title,fontsize) %获取字体大小获取字体大小程序清单:程序清单:程序清单:程序清单:set(h_title,fontsize,13) %设置标题字体大小设置标题字体大小h_text1=text(pi,0,downarrow); %画向下箭头画向下箭头text1pos=get(h_text1,position) %获取文字位置获取文字位置h_text2=text(text1pos(1,1),text1pos(1,2

39、)+0.025,exp(-x)*sin(x)=0); %设置文字位置设置文字位置set(h_text1,fontsize,13,color,red) set(h_text2,fontsize,13,color,red) 4.7.1可视化的界面环境可视化的界面环境( 1 ) 选 择 菜 单“ F i l e ” “ New”“GUI”命令;(2) 在命令窗口输入“Guide”命令就会出现Guide快速开始界面。Guide快速开始快速开始4.7 图形用户界面图形用户界面(GUI)设计设计 MATLAB设计图形用户界面的方法有两种:使用可视化的界面环设计图形用户界面的方法有两种:使用可视化的界面环境

40、和通过编写程序。境和通过编写程序。4.7.1可视化的界面环境可视化的界面环境激活激活图形图形图形对图形对象面板象面板界面编界面编辑面板辑面板对象对象浏览器浏览器属性属性编辑器编辑器菜单菜单编辑器编辑器对象对对象对齐工具齐工具可视化界面环境可视化界面环境1. 菜单编辑器菜单编辑器【例】使用菜单编辑器创建菜单。例】使用菜单编辑器创建菜单。在图 (a)中创建了两个菜单“File”和“Paint”,在图 (b)中创建了一个菜单“Paint”,并具有两级下拉子菜单,“Circle”和“Color”为第一级下拉菜单,“Red”和“Blue”为第二级。 图图 (a)在新窗口创建菜单在新窗口创建菜单 (b)在

41、已建的窗口创建菜单在已建的窗口创建菜单4.7.2菜单菜单 注意:注意:用菜单编辑器创建菜单,用菜单编辑器创建菜单,如果是直接在可视化的界面环如果是直接在可视化的界面环境中新建图形窗口,则从头开始新建菜单境中新建图形窗口,则从头开始新建菜单,如图,如图 (a);如如果在已存在的图形窗口中创建菜单,则果在已存在的图形窗口中创建菜单,则MATLAB图形窗图形窗口默认有七个标准菜单,新建的菜单从最右边添加口默认有七个标准菜单,新建的菜单从最右边添加,如,如图图 (b)。4.7.2菜单菜单 2. 用用uimenu命令创建菜单命令创建菜单语法:语法:h_menu=uimenu(h_Parent,Prope

42、rtyName,ProperValue,)【例】编程创建如上图例】编程创建如上图 (b)所示的菜单。所示的菜单。 h_fig=gcf h_menu=uimenu(h_fig,label,Paint); %创建菜单Paint h_menu1=uimenu(h_menu,label,Circle); %创建Paint的子菜单Circle h_menu2=uimenu(h_menu,label,Color); %创建Paint的子菜单Color h_menu21=uimenu(h_menu2,label,Red); %创建Color的子菜单Red h_menu22=uimenu(h_menu2,la

43、bel,Blue); %创建Color的子菜单Blue 程序分析程序分析:label属性用来命名菜单项名称。4.7.2菜单菜单控件名控件名按钮按钮切换按钮切换按钮单选按钮单选按钮复选框复选框文本框文本框静态文本框静态文本框滚动条滚动条框架框架列表框列表框弹出式菜单弹出式菜单坐标轴坐标轴PropertyNamePushButtonToggleButtonRadioButtonCheckBoxEditTextStaticTextSliderFrameListBoxPopupMenuAxes功能功能最常用的控件,用于最常用的控件,用于响应用户的鼠标单击响应用户的鼠标单击,按钮上有说明文字说明其,按钮

44、上有说明文字说明其作用。作用。当单击时会当单击时会凹凸状态切换凹凸状态切换。当单击时会用当单击时会用黑白点切换黑白点切换,总是成组出现,多个单选按钮互斥,一组,总是成组出现,多个单选按钮互斥,一组中只有一个被选中。中只有一个被选中。当单击时会当单击时会用用切换切换,有选中、不选中和不确定等状态,总是成组出,有选中、不选中和不确定等状态,总是成组出现,多个复选框可同时选用。现,多个复选框可同时选用。凹形方框,可随意输入和编辑单行和多行文字,并显示出来。凹形方框,可随意输入和编辑单行和多行文字,并显示出来。用于显示文字信息,但不接受输入。用于显示文字信息,但不接受输入。可以用图示的方式显示在一个范

45、围内数值的大概值范围,用户可以移可以用图示的方式显示在一个范围内数值的大概值范围,用户可以移动滚动条改变数值。动滚动条改变数值。将一组控件围在框架中,用于装饰界面。将一组控件围在框架中,用于装饰界面。显示下拉文字列表,用户可以从列表中选择一项和多项。显示下拉文字列表,用户可以从列表中选择一项和多项。相当于文本框和列表框的组合,用户可以从下拉列表中选择。相当于文本框和列表框的组合,用户可以从下拉列表中选择。用于用于绘制坐标轴绘制坐标轴。4.7.3 控件控件常用的控件及其功能常用的控件及其功能2. 控件的创建控件的创建(1) 在可视化界面环境中创在可视化界面环境中创建控件建控件在可视化界面环境中创

46、建控件很简单,就是在图形对象面板中选中控件选中控件,然后在空白的界面编辑面板中拖放即可拖放即可,如右图所示为各种控件的显示。4.7.3控件控件(2) 用用uicontrol命令创建控件命令创建控件语法:语法:h_control=uicontrol(h_Parent,PropertyName,ProperValue,)4.7.3 控件控件3、控件的常用属性、控件的常用属性创建控件以后,需要对控件的各种属性进行设置,大部分控件都具创建控件以后,需要对控件的各种属性进行设置,大部分控件都具有以下属性。有以下属性。(1)string属性属性:用于显示在控件上的字符串,起说明或提示作用。:用于显示在控件

47、上的字符串,起说明或提示作用。(2)callback属性属性:回调函数,设定:回调函数,设定控件的功能控件的功能。(3)enable属性属性:表示该控件是否有效,如果:表示该控件是否有效,如果“on”则有效,则有效,“off”则无效。则无效。(4)tooltipstring属性属性:当鼠标放在控件上时显示提示信息,为字:当鼠标放在控件上时显示提示信息,为字符串。符串。(5)字体属性字体属性:包括:包括fontname,fontsize等。等。(6)Tag属性属性:控件的标记,用于:控件的标记,用于标识控件标识控件。4.7.4 回调函数回调函数 实现GUI的基本机制是对控件的callback属性

48、编辑,如创建了一个按钮,则选择按钮后,选择选单“View”下 面 的 “ O b j e c t C a l l b a c k s ” , 就 会 出 现“ButtonDownFcn”,“Callback”,“CreateFcn”和“DeleteFcn”子选单。除了“Callback”之外,其他3个选单项也都是用来编写回调函数的。(1)ButtonDownFcn:当鼠标左键单击控件时执行。(2)Callback:与控件相关的标准回调函数,实现的功能因控件而异。(3)CreateFcn:当创建对象时执行。(4)DeleteFcn:当删除对象之前执行。当选择各选单时,就会打开当选择各选单时,就会

49、打开M文件编辑器文件编辑器/调试器窗口,出现具有如下调试器窗口,出现具有如下函数名的程序:函数名的程序:%-Function varargout=pushbutton1_ButtonDownFcn(h,eventdata,handles,varargin)%-function varargout=pushbutton1_CreateFcn(h,eventdata,handles,varargin)%-function varargout=pushbutton1_DeleteFcn(h,eventdata,handles,varargin)%-function varargout=pushbut

50、ton1_Callback(h,eventdata,handles,varargin)4.7.4 回调函数回调函数【例】使用控件设计用户界面,根据阻尼系数绘制二阶【例】使用控件设计用户界面,根据阻尼系数绘制二阶系统的时域曲线。系统的时域曲线。功能功能:在图形用户界面中,通过弹出式菜单选择二阶系统的阻尼系数,然后单击不同按钮在坐标轴中绘制不同阻尼系数不同颜色的时域曲线。1. 设计界面设计界面使用“guide”命令打开Guide快速开始界面,选择“Blank GUI”出现空白的可视化界面环境窗口,调整图形大小,将界面窗口右边的图形对象面板中的控件拖放到空白窗口中。4.7.6 GUI应用举例应用举例界面布局界面布局放置以下控件:一个坐标轴、两个静态文本框、一个弹一个坐标轴、两个静态文本框、一个弹出式菜单、两个按钮;出式菜单、两个按钮;然后打开对象对齐工具对齐各控件,界面布局如图所示。4.7.6 GUI应用举例应用举例2. 设置控件属性设置控件属性控件类型控件类型属性名属性名属性值属性值静态文本框静态文本框Str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论