图形用户界面设计GUI.ppt

上传人:本田雅阁 文档编号:3195861 上传时间:2019-07-29 格式:PPT 页数:41 大小:136.01KB
返回 下载 相关 举报
图形用户界面设计GUI.ppt_第1页
第1页 / 共41页
图形用户界面设计GUI.ppt_第2页
第2页 / 共41页
图形用户界面设计GUI.ppt_第3页
第3页 / 共41页
图形用户界面设计GUI.ppt_第4页
第4页 / 共41页
图形用户界面设计GUI.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《图形用户界面设计GUI.ppt》由会员分享,可在线阅读,更多相关《图形用户界面设计GUI.ppt(41页珍藏版)》请在三一文库上搜索。

1、2019/7/29,1,图形用户界面设计(GUI),GUI : Graphical User Interfaces 图形对象的概念 指图形系统中的基本图元。,2019/7/29,2,窗口对象,线对象,轴对象,2019/7/29,3,面对象,轴对象,像对象,块对象,线对象,文字对象,2019/7/29,4,父对象 子对象,窗口figure,窗口n,窗口2,控件control,菜单menu,轴axis,线 line,面 surface,文字 text,块 patch,像 Image,2019/7/29,5,2019/7/29,6,什么是句柄? 句柄是图形对象的标识代码,标识代码含有图形对象的各种必

2、要的属性信息。 各图形对象的句柄数据格式: 根屏幕 0 图形窗口 整数,表示图形窗口数 其它对象 对应的符点数 句柄图形充分体现了面向对象的程序设计。,一、图形句柄(handle),2019/7/29,7,句柄属性的设置与修改 get: 获得句柄图形对象的属性和返回某些 对象的句柄值 set: 改变图形对象的属性 专用函数: gcf:当前窗口对象的句柄 Get Current Figure gca:当前轴对象的句柄 Get Current Axes,二、图形对象属性的获得与设置,2019/7/29,8,三、可视化设计工具- guide,1)由控件组成界面 2)修改控件属性 3)自动生成m文件、

3、 fig文件 4)控件回调函数 callback的编辑 (完成某种功能),2019/7/29,9,matlab7helptecdoccreating_guiexample sample_gui.m sample_gui.fig,2019/7/29,10,动画效果,运用视觉暂留的现象,将静态图形制作成动画 两种方法: 将多幅静态图存放到图形缓冲区(帧矩阵)内,再逐一的播放出来。 getframe, movie 利用图形对象的EraseMode属性,更新运动部分的图案,保持图形背景图案不变,示例,第6讲 程序设计,2019/7/29,12,主要内容,M文件 M文本文件 M函数文件 程序设计 顺序结

4、构 选择结构 循环结构 M函数文件,2019/7/29,13,MATLAB有两种工作方式:,交互式的命令行工作方式,M文件的程序工作方式,2019/7/29,14,用MATLAB语言编写的程序,称为M文 件,是一个简单的ASCII码文本文件. M文件有两类: 命令文件(Script File) 函数文件(Function File) 新建M文件,一. M文件,2019/7/29,15,(1). 命令文件 简单的m文件 命令文件实际上是一串指令的集合,与在命 令窗口逐行执行文件中的所有指令,其结果是 一样的。没有输入输出参数。 m1.m 求解线性代数方程组的根 A=2 -1 1 -1;2 -1

5、0 -3;3 0 -1 1;2 2 -2 5; b=1;2;-3;-6; X=Ab,2019/7/29,16,m2.m 筛选出某些数据 load position for m=1:100 if position(m,2)0 p(m)=position(m,2); end end,2019/7/29,17,(2). 函数m文件 需要输入变量,返回输出变量 用户可以根据需要编辑自己的m函数文件,它们可以像库函数一样方便的调用,从而极大地扩展了matlab 的能力。,2019/7/29,18,编写函数tran(),实现直角坐标(x,y)与极坐 标(r,)之间的转换。,function r,theta

6、 = tran(x,y) r =sqrt(x*x+y*y); theta =atan(y/x);,调用 tran函数 x=3;y=4; r,t=tran(x,y),tran.m,2019/7/29,19,二. 程序设计,顺序结构 选择结构 循环结构,2019/7/29,20,1)顺序结构-数据输入与输出,数据的输入输出函数 1. input:用于向计算机输入一个参数 调用格式: A=input(提示信息,选项); 注:s选项,则允许用户输入一个字符串。 2. disp:命令窗口输出函数。 调用格式: disp(输出项) 注:输出项为字符串或矩阵。,2019/7/29,21,3 pause: 暂

7、停程序的执行。 调用格式: pause(延迟秒数) 注:如果省略延迟时间,则将暂停程序,直到用户按任一键后程序继续执行。,2019/7/29,22,例:键盘输入两个大小不等的数a, b。比较并 显示它们的大小关系。,a=input(a=); b=input(b=); if ab disp(a b); else disp(ab); end,2) 选择结构,2019/7/29,23,程序段:,n=input(please input a number:); if n 0 disp (Input must be positive); elseif rem(n,2) = 0 a = n/2 else

8、a = (n+1)/2 end,2019/7/29,24,switch num case -1 disp(child); case 0 disp(the young); case 1 disp(adult); otherwise disp(the old); end,例:根据变量 num 的值来决定显示的内容。,2019/7/29,25,在条件表达式中,通常都是由 关系操作符 , =, = =, = 等 逻辑操作符 &,| , 等 逻辑函数:isequal 若是相等则为真 isempty 若是空矩阵则为真 isstr 若是字符串则为真,2019/7/29,26,x(1)=1; for n =

9、2:6 x(n) = 2 * x(n - 1); end,x = 1 2 4 8 16 32,3) 循环结构,2019/7/29,27,例1:利用for循环求1!+2!+3!+ +5!的值 例2:求向量x的各元素的平方和,2019/7/29,28,for 循环变量 = 矩阵表达式 a= 1 2 3 ; 5 6 7 ; 9 10 11 执行过程是依次将矩阵 的各列元素赋给循环变量,for i=a y=i(1)+i(2)+i(3); end,2019/7/29,29,For example, this while loop finds the first integer n for which n

10、! (n factorial) is a 5-digit number. n = 1; while prod(1:n) 1e5 n = n + 1; end break continue 循环嵌套,2019/7/29,30,猜数字:guess.m,游戏开始,会随机产生一个0-100之间的 一个整数。由参与者来猜这个数字是几。 每猜一次,系统都会提示“猜大了”,还是 “猜小了”,一共有10次机会,若10次都没猜对,就 Game over!,2019/7/29,31,函数文件是另一种形式的M文件,每一个函数文 件都定义一个函数。事实上,MATLAB提供的标准 函数大部分都是由函数文件定义的。 例如

11、 inv, abs和 sqrt,利用所给的输入,返回计算所要求的结果。 Y=abs(X) 函数是一个黑箱. 只有函数的输入和输出是可见 的,至于函数中的运算过程都是隐含的。,三、M函数文件,2019/7/29,32,type fliplr help fliplr,2019/7/29,33,m函数文件必须由function作为引导词, 必须遵循如下形式: function 输出形参表 = 函数名(输入形参表) %注释说明部分 函数体,1 m函数文件格式,2019/7/29,34,编写函数,求半径为r的圆的面积和周长 fcircle.m文件代码如下: function s, p= fcircle

12、(r) % CIRCLE calculate the area and perimeter of a circle of % radii r s=pi*r*r; p=2*pi*r;,2019/7/29,35,规则和属性 1. 函数名和文件名必须相同。 2. 函数可以有零个或更多个输入参量,也可以有零个或更多个输出参量。当有一个以上输出变量时,输出变量包含在括号内。例如, V,D=eig(A) 3. 函数中的变量均为局部变量,不保存在工作空间中。其变量只在函数运行期间有效。函数内变量与MATLAB工作空间之间唯一的联系是函数的参数。,2019/7/29,36,2函数调用,函数文件编制好后,就可调

13、用函数进行计算 了。如上面定义fcircle函数后,调用它求圆的面 积和周长。 函数调用的一般格式是: 输出实参表=函数名(输入实参表) area, l=fcircle(1),2019/7/29,37,3 函数所传递参数的可调性,MATLAB在函数调用上有一个与众不同之处: 函数所传递参数数目的可调性。凭借这一点,一 个函数可完成多种功能。 linspace(d1,d2,n) linspace(d1,d2) E = EIG(X) V,D = EIG(X) 两个特殊变量 nargin 所用函数的输入参量个数 nargout 所用函数的输出参量个数,2019/7/29,38,【例】 nargin用

14、法示例,函数文件examp.m: function f=examp(a,b,c) if nargin=1 f=a; elseif nargin=2 f=a+b; elseif nargin=3 f=(a*b*c)/2; end,命令文件mydemo.m: x=1:3;y=1;2;3; examp(x) examp(x,y) examp(x,y,3),执行mydemo.m后的输出是: ans = 1 2 3 ans = 2 4 6 ans = 21,2019/7/29,39,在调用函数时,MATLAB用两个永久变量 nargin和nargout. 分别记录调用该函数时的输入 实参和输出实参的个数。只要在函数文件中包含 这两个变量,就可以准确地知道该函数文件被调 用时的输入输出参数个数,从而决定函数如何进 行处理。,2019/7/29,40,全局变量: 函数可以与其它函数、MATLAB工作空间 共享变量。所有的函数都可以对它进行存取和 修改。全局变量必须用global说明。,2019/7/29,41,总结 1、新建和编辑m文件 2、m命令文件与m函数文件的区别,各自的作用。 3、matlab编程语言: 顺序、选择、循环 4、编写简单的m函数,实现特定的功能。 5、理解局部变量与全局变量,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1