gui设计论文篇(1)
1.引言
数字信号处理,是现今应用成效最显著、应用领域最广的新科学之一,国内外各高校均开设了数字信号处理课程。这门课程相应的特点是:公式特别多、性质的推导复杂繁琐、概念性的东西比较多,还需要以信号与系统等诸多课程为基础,被很多同学认为大学最难的课程之一,学生因跟不上老师的进度和本身对学习内容的理解不到位而对这门课程失去兴趣。传统的教学模式已经远远满足不了新时代教学的需求,在计算机技术快速发展的今天,计算机辅助教学己经逐步成为教师授课的主要方式。MATLAB为数字信号处理课程的教学提供了很大的实验帮助。很早之前,国外就开始把交互式软件MATLAB用于数字信号处理的教学中,并采用功能强大的系统开发平台。本文利用MATLAB的***形界面设计工具(GUI),以数字信号处理理论知识为基础,设计了与课堂教学、实验内容相配套的辅助工具。该辅助工具可用于《数字信号处理》课程的实验辅助教学、课堂教学演示,也可作为学生课后自学平台,真正的将实验内容融入教学过程中。
2.MATLAB GUI简介
GUI是当今计算机软件的发展趋势。MATLAB为表现其基本功能而设计的演示程序demo是使用GUI的最好范例。MATLAB全面支持GUI编程,可自行设计窗口、菜单、对话框、滑动条等。在MATLAB的命令窗口中运行guide,即进入交互式编程。Guide可以根据用户GUI的版面设计过程直接自动生成M文件框架,这样就简化了GUI应用程序的创建工作,用户可以直接使用这个框架来编写自己的函数代码。
GUI设计可以采用两种方法,一种是利用GUIDE工具进行设计。这种方法的优点是上手容易;缺点是对于有些复杂功能的实现比较困难。另一种方法是基本代码法,即在M文件中用MATLAB代码写出所有的***形对象控件所对应的代码,通过各个参数的控制可以灵活地实现所需要的功能。这种方法的缺点是上手困难;优点是功能强大,可以实现许多复杂的功能,而且调试程序也比较容易。
3.基于MATLAB GUI的数字信号处理仿真平台的构建方案
5.结论
此仿真平台的制作是为了能够更方便地进行数字信号处理的辅助教学,此平台使得教学的内容更加直观,理论知识更容易理解,所以能够有效地提高教师授课的效率。通过此仿真平台,不仅能够激发学生对数字信号处理课程的学习兴趣,还能够加深对理论公式等知识的理解。此外,有了这样一个可以在计算机上操作的仿真平台,不仅使学生容易掌握那些比较抽象的数字信号处理知识的内容抽象,而且使教师的教学内容更形象化、生动化。本系统拥有友好的MATLAB GUI界面设计,用丰富的画面、简洁的文字将数字信号处理中抽象的实验内容展现在学生面前,提高了学生的学习主动性和积极性。
参考文献
[1]程佩青.数字信号处理(第三版)[M].北京:清华大学出版社,2007.
gui设计论文篇(2)
中***分类号:TP319文献标识码:A文章编号:1009-3044(2012)13-3140-03
The Application of MATLAB GUI in Numerical Analysis Course Teaching
CHEN Li-hong, ZHOU Zhi-gang
(Department of Mathematics and Computer College, Wuhan Textile University, Wuhan 430073, China)
Abstract:According to the difficult in numerical analysis course teaching, it is discussed that the MATLAB GUI(Graphical User Interfaces,GUI) application in numerical analysis course teaching with solving nonlinear equations as example. the view is proposed that designing MATLAB GUI for numerical analysis will fully arouse teachers and students both aspects of the enthusiasm to improve quality of numerical analysis course combined with MATLAB GUI function.
Key words:auxiliary teaching;solving nonlinear equations;MATLAB GUI
《数值分析》是理工科院校数学、力学、物理、计算机等专业的教材,它在专业课程体系中占有重要地位。该课程的主要任务是研究用计算机解决数学问题的数值方法及其理论,它的内容包括函数的数值逼近、数值微分与数值积分、非线性方程数值解、数值线性代数、微分方程数值解等,这些均与计算机紧密结合在一起。如果采用传统的教学方式,一方面需要花大量的时间在黑板上绘***和计算,在有限的学时内无法进行内容的扩展;另一方面学生理解和接授知识时感觉枯燥、难度大。MATLAB软件的推出为该门课的教学提供了有利工具,利用MATLAB强大的绘***及仿真功能,可以将抽象的内容以形象的***形表示出来,既可演示复杂系统的未知结果,又可改变系统参数,演示系统随参数变化的变化结果或变化趋势,有助于学生对抽象理论的理解。然而在课堂上应用MATLAB演示所讲授内容,需要临时编程,这对于有限的课堂时间多有不便,而且界面也不直观,若能将MATLAB的可开发的GUI功能结合数值计算中的典型算法构造开放式的用户界面,既可充分发挥MATLAB的强大的计算功能,又可避免记忆繁琐的命令,不仅方便老师在课堂直观演示,而且便于学生课下自己设计系统,添加代码实现更多的演示功能,将会充分调动教师和学生两方面的积极性,全面提高课程的教学质量。
1***形用户界面设计简介
***形用户界面是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面,用户通过一定的方法(如鼠标或键盘)选择激活这些***形对象,使计算机产生某种动作或变化,如实现计算或绘***等。MATLAB的GUI编程可以用两种方式实现。一是GUI设计工具GUIDE,它的优点是非常容易入手,风格很像VB,相关控件可以随意拖动,GUI设计简单、省时,但GUIDE的一个严重缺点是无法直接创建核心对象;二是利用M函数构建GUI,即M文件界面设计,这种方法需要解决数据传递问题,如何正确实现回调函数中用户菜单或控件的句柄传送是M文件成功创建GUI的关键。事实上,不管采用哪种设计方法,事先都要分析界面所要求实现的主要功能,明确设计任务,并站在使用者的角度审查界面功能及界面的控件布局,然后进行代码编写,对功能进行逐项检查,调整完善界面功能。***形用户界面设计的一个基本原则要求具有简单性,即设计界面时应力求简洁、清晰地体现出界面的功能和特征,为此要尽量使用用户所熟悉的标志和符号,尽量删去可有可无的功能,尽量多采用***形结果,尽量减少窗口数目,力避在不同窗口之间进行来回切换。
2实例仿真及分析
非线性方程的迭代解法求根是数值分析课程的一个重要内容,初始迭代点及迭代函数的正确选取是求根的关键,为了使学生对迭代法求根有清醒的认识,下面以非线性方程迭代法求根的GUI实现说明MATLAB GUI对数值分析课程的辅助教学功能。
不动点迭代法求根中需要选取迭代公式,确定迭代初始点、精度,不动点迭代法求根的界面如***1。***1不动点迭代法求根的GUI界面
界面中设置了五个edit控件,分别用于输入方程f(x)、迭代公式、迭代初始点x0、精度tol和最大迭代次数;四个Push Button控件,分别用于绘***、求解、重设参数和退出界面;一个axes控件,用于显示函数f(x)的***像;为体现设计的简洁性,界面中只设置一个List? box控件,所有的结果都将在Listbox控件中显示,这样设计使界面更加合理化。系统能输入任意的方程,通过huatu_pushbutton3控件得到其***像,很容易判断该方程在零点的大致位置,即迭代初始点x0。输入方程后,单击画***控件,可以得到函数f(x)的***像,并显示在界面中。用编制好的GUI演示求解程f(x)=x3-x-1=0在x0=1.5附近的根x*,并用两种迭代公式求根,迭代公式分别为x= 3,初始点x0=1.5,精度tol=0.000001,最大迭代次数N=20,左键单击不动点求解控件,得到求根运行界面,如***2。在运行界面中得到运行结果,并且在函数***像中标出了通过运行得到的方程的根。
选取迭代公式x=x3-1,初始点x0=1.5,精度tol=0.000001,最大迭代次数N=50的运行界面,左键单击不动点求解控件,得到如***3的求根界面。***2,***3分别为同一方程取不同迭代函数求根的运行界面,由此可以让学生直观的看出不动点迭代法求根在选取不同迭代函数时,得到的收敛效果不同,直观的体现了迭代函数的重要性。
用Newton法来求方程f(x)=x3-x-1=0在x0=1.5附近的根,精度tol=0.000001,最大迭代次数N=20。编制的GUI演示结果可以让学生感受到Newton法求根的收敛速度比不动点迭代法求根的收敛速度快。
学生通过以上非线性方程求根的GUI,很容易体会到不动点迭代求根选取迭代函数的重要性及不动点迭代与Newton法求方程根的区别。同时设计的GUI具有开放性,可以让学生课后添加控件与代码,实现GUI更多的功能,这样不仅能够提高学生对数值算法的理解,而且极大提高学生学习数值分析课程的兴趣及编程解决实际问题的能力。
3结束语
将MATLAB GUI与数值分析课程结合起来,教师可以现场演示数值方法,开阔了学生学习数值分析课程的思路。若针对数值分析课程的所有教学重点内容编制一个辅助教学仿真软件,这对于数值分析课程的可视化教学、学生的数值实验更有意义。
参考文献:
[1]张志涌.精通MATLAB [M].北京:北京航空航天大学出版社,2000.
[2]陈垚光,王正林,毛涛涛.精通MATLAB GUI设计[M].北京:电子工业出版社,2008.
gui设计论文篇(3)
【关键词】装载机设计 人机交互界面 matlab/GUI
一、引言
随着社会发展与经济水平的提高的需求,工程机械呈现种类多,覆盖面宽,功能齐全的蓬勃发展局面。而设计作为整个机械生产流程的第一步可以说是至关重要的,但是传统的设计过程基本没有用户界面,或者仅仅靠简单的文字信息和 屏幕显示与用户进行交互,过程繁杂、工作量大,容易出现较大的错误且不便于修改,这极大的制约着设计师推出更优秀的产品。而GUI设计具有用户界面友好性,***标识别平衡性,***标功能的一致性等特点,能够建立起友好的交互界面便于在设计过程中与用户进行交流。
因此本文利用MATLAB强大的***像处理和***形表现能力,良好的GUI设计环境,针对工程机械的设计特点,以装载机为例,将GUI设计应用于其设计过程、关键参数确定等的设计过程,来建立良好的人机交互界面,从而在繁杂的设计过程中,减轻设计人员的工作量,降低设计的错误率,从而提高工作效率。
二、设计思路
设计平台的布局是先设计GUI总界面,然后设计子界面,再在子界面上设置按钮、菜单、文本框等一系列控件,最后借助于callback函数调用程序,在函数调用程序的设计中先编写各个子界面中的回调函数下的程序,再编写GUI界面的回调函数下的程序。
在设计人机交互操作界面时,在MATLAB命令行中输入guide或者选择MATLAB主界面File菜单New子菜单下的GUI项,打开GUIDE启动对话框,在GUIDEtemplates 菜单下4个选项中选择空白模板BlankGUI(Default),在点击OK后进入GUI编辑界面。在GUIDE设计界面下,通过单击或者拖拽鼠标的方式创建自己的GUI程序界面。
三、装载机设计平台的具体实现
装载机设计过程复杂,设计内容繁多,该设计平台的建立采用一个总设计界面与若干个子设计界面相互回调,每个子界面都可以实现一个具体的设计内容,并且可以切换回主界面,进行其他内容的设计。
(一)总界面的设计
打开Matlab,打开NEW中的GUI,新建一个主界面,添加一个Static Text控件用于显示参数的名称,并命名为“装载机设计”; 添加一个Axes控件用于显示参数的细则***像,并添加装载机***片;同时再创建9个Push Button控件用于完成程序在后台的实现,并分别命名为“总体设计”、“工作装置设计”、“动力系统设计”、“传动系统设计”、“制动系统设计”、“行走系统设计”、“液压系统设计”、“电气系统设计”以及“退出”;点击运行按钮,运行结果如1所示。
(二)子界面的设计
针对总结面中8个按钮所对应的设计内容分别设置多级子界面,以工作装置设计中的铲斗设计为例进行说明。
(1)新建工作装置设计一级子界面。添加Panel控件,并命名为“工作装置设计”;添加5个Push Button控件,并分别命名为“铲斗设计”、“连杆系统设计”、“静力学计算及强度校核”、“结构动力分析”以及“退出”,点击运行按钮,运行结果如***2所示。
(2)新建铲斗设计二级子界面。由4个面板(Panel)、2个触控按钮(Push Button)、34个静态文本(Static Text)、9个可编辑文本框(Edit Text)、4个弹出式菜单(Pop-up Menu)组成。4个面板(Panel),分别命名为“铲斗设计”、“确认基本参数”、“计算”以及“斗容计算”;2个触控按钮(Push Button)用于实现相关计算,分别命名为“计算”、“计算”;34个静态文本(Static Text)用于显示部分计算结果的值,分别为“mr”、“vr”、“cxvs”、“宽度m”、“内侧宽度m”、“斗底长度系数1.40-1.53”、“后壁长度系数1.1-1.2”、“挡板高度系数0.12-0.14”、“圆弧半径系数0.35-0.45”、“张开角45°-52°”、“挡板与后壁间的夹角5°-10°”、“下铰接点与斗底高系数0.06-0.12”、“铲斗回转半径m”、“铲斗圆弧半径m”、“斗底长度m”、“后斗壁长度m”、“挡板高度m”、“下铰接点与斗底高度”、“r0”、“r1”、“lg”、“lz”、“lk”、“homega”、“横截面积”、“铲斗开口长m”、“堆积高度m”、“平装容量计算”、“额定容量计算”、“sa”、“bt”、“c”、“vs”、“vrr”;9个可编辑文本框(Edit Text),分别命名为“edit1”、“b0”、“lambdag”、“lambdaz”、“lambdak”、“lambdar”、“gamma0”、“gamma1”、“hr”;4个弹出式菜单(Pop-up Menu)用于同类数值的选取,并命名为“选择装载机的型号(ZL10、ZL15、ZL20、ZL25、ZL30、ZL40、ZL50、ZL80、ZL100、ZL160、ZL200、ZL240)”、“请选择切削刃形状(直线型切削刃和非直线型切削刃)”、“请选择斗齿(整体式和分体式)”和“请选择侧刃(弧线测刃和折线测刃)”,并摆放于合适位置,如***3所示。
点击下拉菜单,选择ZL80轮式装载机为例,点击运行按钮,然后输入相应的参数时可得到如下结果,如***4所示。
由D4可知,在下拉菜单中选择不同型号的铲斗,在文本输入框中输入不同的条件参数,即可得到不同的铲斗设计参数,设计过程直观明了,不同的条件参数对设计结果的影响一目了然,方便了设计人员修改更正,使得设计过程更为简单有效。
铲斗设计结束后,可通过界面跳转返回一级子界面,点击其他按钮进入相应设计内容的二级子界面进行设计,界面及功能的实现过程与铲斗类似,在此不一一赘述。
(三)界面的跳转及退出
在设计过程中,每一个界面之间还存在一定的联系,因此需要界面的跳转,以***2跳转到***3界面为例,设计过程为:打开装载机设计的fig文件,右键单击工作装置设计,然后点击View Callbacks中的Callback,弹出回调函数如下:
% --- Executes on button press in pushbutton10.
function pushbutton10_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton10 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
(1)此时如在此程序后面输入要跳转到下一界面的m文件程序名称,如:Gongzuozhuangzhisheji即可从主界面跳转到工作装置设计一级子界面。
(2)如在此程序后面输入close(gcf),即可退出此界面。
四、结论
本文应用可视化程能力的***形用户界面GUI,实现了装载机设计平台的建立,该设计平台将装载机的设计过程加载在平台界面中,通过总界面与子界面不同的回调函数进行链接,实现了***形用户界面人机交互式的设计过程,增加了设计过程的直观性,便于设计人员修改更正,既可作为教学辅助软件帮助学生理解理论知识,提高教学质量,也可作为专业设计人员的辅助设计工具,同时也为其他工程机械的可视化设计奠定了良好的基础。
参考文献:
[1] 张春慧,宗哲英,王蒙等.基于Matlab GUI的自动控制原理虚拟实验平台的开发与研究[J].内蒙古农业大学学报(自然科学版),2015.
gui设计论文篇(4)
1 人机交互界面
UI的本意是用户界面,是英文User和Interface的缩写。从字面上看是用户与界面2个组成部分,但实际上还包括用户与界面之间的交互关系,所以这样可分为3个方向,它们分别是:用户研究、交互设计、界面设计。UI实际上是体现在我们生活中的每一个环节,例如我们切菜的时候刀把手是这个界面,开车时候方向盘和仪表盘是这个界面,看电视的时候遥控器和屏幕就也这个界面,用电脑的时候键盘和显示器还是这个界面。于是我们可以把UI可以分成两大类:硬件界面和软件界面。
UI也可以被看作是一个系统,在这个系统中用户可以和机器(软件)进行良好的交互。用户界面包括硬件部分(物理因素)和软件部分(逻辑因素)两个元素,它存在于各种各样的系统当中,它的存在主要有这两方面的意义:1)输入――允许用户对系统进行操控。2)输出――允许操作系统显示用户操作之后的效果。
对于工业设计领域中的人机交互设计就是指人和机器之间发生交互的时候能够高效率、舒适的对机器进行操控,在操作者需要对机器的操作做出决定的同时也能够帮助机器快速的给用户以反馈。当我们设计一个用户界面的时候一定要考虑到用户界面的适用性,同时也会运用到人机工程学以及设计心理学等学科的内容。界面设计不是单纯的美术绘画,它需要考虑使用者、使用环境、使用方式,并且最终实现为用户而设计,是纯粹的科学性的艺术设计。检验一个界面的标准既不是某个项目开发组领导的意见也不是项目成员投票的结果,而是最终用户的感受。所以界面设计要和用户研究紧密结合,最终为用户设计出一个高效、舒适人性化的交互界面。
2 ***形化交互界面(GUI)
2.1 GUI定义及各组成元素
GUI(GraphicalUserInterface)是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调“人――机――环境”三者作为一个系统进行总体设计。GUI是人机交互***形化用户界面设计,准确说就是屏幕产品的视觉体验和互动操作部分。GUI的出现则是意味着更加的用户友好型界面。这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。GUI结合了各种科技和设备来为用户提供一个可以交互的平台,这个平台的目的就是收集和产生信息。一系列的GUI元素构成了一种可视性语言,在GUI中最常用的元素就是“WIMP”:窗口、标志、菜单和指针。WIMP元素在个人电脑上的使用尤为突出。
2.2 GUI用户界面和交互设计
设计这些视觉元素和GUI的时序行为是软件应用程序的很重要的一部分。设计的目标是提高使用效率和使以逻辑设计为基础的储存程序更加容易使用,这就是我们所熟知的设计原则可用性设计。以用户为中心的设计可以确保将视觉语言元素很好的引入到界面当中,并且能够使得操作任务更加高效、准确、舒适的完成。通常情况下,用户通过操控可视性控件来对信息进行交换。一个精心设计的交互控件能够高效的支持用户去实现自己的目标任务。一个模型化的***标可以有灵活的构成形式,在结构当中控件界面是一个***的形式并且间接的与应用的功能性相连接。所以,GUI可以很容易为用户专门定制。这样可以允许用户去选择或自己设定不同的皮肤,而且更加方便设计师去改变界面以适应用户需要。
3 UI与GUI的关系
在人和机器的互动过程中,有一个层面,即我们所说的界面。从心理学意义来分,界面可分为感觉(视觉、触觉、听觉等)和情感两个层次。用户界面设计是屏幕产品的重要组成部分。界面设计是一个复杂的有不同学科参与的工程,认知心理学、设计学、语言学等在此都扮演着重要的角色。用户界面设计的三大原则是:置界面于用户的控制之下;减少用户的记忆负担;保持界面的一致性。UI设计从工作内容上来说分为3个方向,它主要是由UI研究的3个因素决定的,其分别是研究工具、研究人与界面的关系、研究人。
GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用,人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。准确来说GUI就是屏幕产品的视觉体验和互动操作部分,是在***形环境下控制机器的部分。通常情况下,控制计算机是通过键盘鼠标,所有输入和输出的信息都会通过GUI在屏幕上显示。通过GUI实现控制并不局限于个人电脑,GUI已经被用在了越来越大的机器上了。这些机器都有一个共同点就是它们是被可编程逻辑控制器所控制或驱动。像这类自动化操作的机器都非常的适合应用GUI。UI是一个集合,而GUI就是UI里的一个子集,即UI的“研究工具”方向。用户界面不仅指的是某种特定的机器、网站或应用,它可以被描述成任何形式的一个平台,通过这个平台用户可以为执行特定的任务与其进行交互。UI可以分为好多种:CLI―命令行界面,VUI―语音用户界面,GUI―***形用户界面等等。其它的界面还包括一些硬件,比如机器、键盘、显示屏等等。所以任何帮助用户去完成某项目标的实施行动都可以被当作是用户界面。这可以适用与任何物体。
gui设计论文篇(5)
一、前言
作为理工科各专业的一门本科基础课程,《线性代数与解析几何》课程的基本方法理论是学生进行后续专业研究所必备的。由于此课程中概念、结论较为抽象、复杂,传统的课堂教学对其的讲解必然是有限且不充分的,因此学生需要在课余时间借助其他教学资源进行必要的自主学习。
二、课程对学生自主学习能力的要求
1.《线性代数与解析几何》课程的教学特点及存在的问题
通常情况下,《线性代数与解析几何》课程是在本科一年级开设。在教学过程中,学校对此课程多采用大班授课形式。授课教师可以结合多媒体课件进行理论教学,以生动的方式来讲解抽象的理论知识;基于Matlab软件进行实验教学,充分发挥Matlab的优势来展示相关理论知识的实践性,着力加深学生对包括行列式、空间解析几何、线性方程组等理论内容的理解。
但是,很多学生在学习此课程的过程中仍存在困难。一是对于空间解析几何这一章中的许多问题,学生需要借助形象具体的***形来解决。尽管在课堂上,教师可以对典型的空间几何***形进行描述,但并不是所有的问题都能在课堂上得到解决。那么,学生在课堂之外***解决其他空间几何问题时,就不免会对一些几何***形的形成产生困惑,而这会阻碍其对问题的进一步解决。二是现有的授课过程还很难体现课程内容的实践意义。在目前的授课过程中,教师的大部分时间都在讲授教学大纲所规定的教学内容,没有较多时间将课程内容拓展到相关的实际工程问题上。三是许多学生觉得此课程的理论知识较多,使其学习感到吃力。
这些问题都是教师在教学过程中需要注意,并应着力解决的。对此,一些研究者也提出了相应的解决方法,其中以增强学生的自主学习能力为主。
2.课程需要学生进行自主学习
所谓的自主学习,是在20世纪70年代由美国等国家提出。相比于传统的课堂学习方式,自主学习方式强调学习者是学习过程的主体,是学习者发挥自主性和创造性的一种学习方式。有效的自主学习,不仅可以让学习者体会学习中的乐趣,而且可以提高学习效率。
对于《线性代数与解析几何》课程,有效的自主学习过程可以帮助学生解决学习中的困难。这是因为,学生之所以觉得此课程中的定理引理较多,主要是源于其对理论知识理解得不够深入透彻,忽视了各知识点间的内在联系,未能建立起完善的知识体系。尽管一定学时的实验教学,可以缓解学生在形象思维与课程理论知识间存在的差异,也可以让学生对课程内容的实用性有一些了解,但是,鉴于学时方面的限制,课堂讲解必然是不充分的,学生仍需要在课余时间借助其他教学资源进行自主学习。
事实上,实现有效地自主学习《线性代数与解析几何》课程并不容易。目前,虽有一些学者对此进行了研究,但多数研究成果仅是从学习流程角度进行讨论。但是,要实现真正高效的自主学习,还应从调动学生的学习兴趣入手,这也与其他学科课程是一致的。对于理工科学生而言,只有让其真正认识到所学理论知识是有应用价值的,让其在解决问题时体会到学习的乐趣和成就感,才能调动其学习兴趣,从而使其实现真正的“自主”学习。对此,许多研究者认为MALAB GUI不失为一种有效的工具。
三、MATLAB GUI课件对学生自主学习能力的帮助增强作用
GUI是基于MATLAB软件的一种***形用户界面(Graphical User Interfaces),由窗口、按键、光标、菜单、文字说明等多个对象构成的。用户可以通过一定的方法(如鼠标)选择、激活***形对象,从而使计算机产生某些动作或是变化(如实现绘***等)。基于MATLAB软件,GUI不仅可以实现科学计算和***形处理等功能,也可以将复杂程序形成可视化人机交互界面,从而被国内外许多院校接受并作为数学等学科的辅助教学工具。
在《线性代数与解析几何》课程中,无论是应用空间几何***形的解析几何内容,还是基于矩阵理论的方程组、向量空间内容,都是可以设计出相关的MATLAB GUI课件。具体的,在***1的MATLAB GUI界面中,平面的参数是可以自行编辑输入的。通过这种自主输入曲面参数的方式,学生可以更为深刻地体会参数变化对曲面位置及形状的影响,从而有助于其以空间***形的角度理解问题。
总体上,对于《线性代数与解析几何》课程而言,MATLAB GUI课件的优势主要表现在以下几个方面:
(1)可以在较短时间内进行复杂运算,并且有强大的交互式功能。一方面,MATLAB GUI是基于MATLAB软件进行编写的,在MATLAB软件可实现的运算都可在MATLAB GUI中实现。即使是一些复杂的运算问题,也可以用MATLAB GUI以可视化的形式展示在学生面前。另一方面,MATLAB GUI具有强大的交互式功能。
(2)可以更好地展示理论知识的实践价值。该课程有着深厚的工程实践背景,这是大学安排学生学习此课程的主要原因之一。MATLAB GUI课件以其设计简洁、操作简便的界面,将这些工程实践问题生动地展示在学生面前,这种可视化交互式形式避免了枯燥的文字叙述,有助于加深学生对知识的理解、增强理论知识的应用价值。
四、结论
《线性代数与解析几何》课程在高校基础教学中发挥着重要的作用。在学习此课程的过程中,对于抽象的数学知识,学生难免会感到难于理解并可能产生厌学的情绪。而我们的教学实践表明,利用MATLAB GUI设计应用案例问题,通过演示应用案例的解决过程,可以让学生进一步理解相应的理论知识,提高其学习兴趣,从而使其更加积极主动地进行自主学习。
参考文献:
[1]周宇剑.基于思维能力培养的大学数学自主学习研究[J].科技信息,2013,(11):59.
gui设计论文篇(6)
引言
嵌入式GUI为嵌入式系统提供了一种应用于特殊场合的人们交互接口。嵌入式GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。另外,由于嵌入式系统硬件本身的特殊性,嵌入式GUI应具备高度可移植性与可裁减性,以适应不同的硬件条件和使用需求。总体来讲,嵌入式GUI具备以下特点:
*体积小;
*运行时耗用系统资源小;
*上层接口与硬件无关,高度可移植;
*高可靠性;
*在某些应用场合应具备实时性。
1 基于嵌入式Linux的GUI系统底层实现基础
一个能够移植到多种硬件平台上的嵌入式GUI系统,应用至少抽象出两类设备:基于***形显示设备(如VGA卡)的***形抽象层GAL(Graphic Abstract Layer),基于输入设备(如键盘,触摸层等)的输入抽象层IAL(Input Abstract Layer)。GAL层完成系统对具体的显示硬件设备的操作,极大程度上隐蔽各种不同硬件的技术实现细节,为诮程序开发人员提供统一的***形编程接口。IAL层则需要实现对于各类不同输入设备的控制操作,提供统一的调用接口。GAL层与IAL层的设计概念,可以极大程序地提高嵌入式GUI的可移植性,如***1所示。
目前应用于嵌入式Linux系统中比较成熟,功能也比较强大的GUI系统底层支持库有SVGA lib、LibGGI、Xwindow、framebuffer等。
2 三种嵌入式GUI系统的分析与比较
2.1 Microwindows
Microwindows是一个典型的基于Server/Clinent体系结构的GUI系统,基本分为三层,如***2所示。
最底层是面向***形显示和键盘、鼠标或触摸屏的驱动程序;中间层提供底层硬件的抽象接口,并进行窗口管理;最高层分别提供兼容于X Window和ECMA APIW(Win32子集)的API。其中使用Nano-X接口的API与X接口兼容,但是该接口没有提供窗口管理,如窗口移动和窗口剪切等高级功能,系统中需要首先启动nano-X的Server程序nanoxserver和窗口管理程序nanowm。用户程序连接nano-X的Server获得自身的窗口绘制操作。使用ECMA APIW编写的应用程序无需nanox-server和nanowm,可直接运行。
Microwindows提供了相对完善的***形功能和一些高级的特性,如Alpha混合、三维支持和TrueType字体支持等。该系统为了提高运行速度,也改进了基于Socket套接字的X实现模式,采用了基于消息机制的Server/Client传输机制。Microwindows也有一些通用的窗口控件,但其***形引擎存在许多问题,可以归纳如下:
*无任何硬件加速能力;
****形引擎中存在许多低效算法,如在圆弧***函数的逐点判断剪切的问题。
由于该项目缺乏一个强有力的核心代码维护人员,2003年Microwindows推出版本0.90后,该项目的发展开始陷于停滞状态。
2.2 MiniGUI
MiniGUI是由国内自由软件开发人员设计开发的,目标是为基于Linux的实时嵌入式系统提供一个轻量级的***形用户界面支持系统。MiniGUI的体系架构如***3所示。
MiniGUI分为最底层的GAL层和IAL层,向上为基于标准POSIX接口中pthread库的Mini-thread架构和基于Server/Client的Mini-Lite架构。其中前者受限于thread模式对于整个系统的可靠性影响——进程中某个thread的意外错误可能导致整个进程的崩溃,该架构应用于系统功能较为单一的场合。Mini-Lite应用于多进程的应用场合,采用多进程运行方式设计的Server/Client架构能够较好地解决各个进程之间的窗口管理、Z序剪切等问题。MiniGUI还有一种从Mini-Lite衍生出的standalone运行模式。与Lite架构不同的是,standalone模式一次只能以窗口最大化的方式显示一个窗口。这在显示屏尺寸较小的应用场合具有一定的应用意义。
MiniGUI的GAL层技术SVGA lib、LibGGI、基于framebuffer的native***形引擎以及哑***形引擎等,对于Trolltech公司的QVFB在X Window下也有较好的支持。IAL层则支持Linux标准控制台下的GPM鼠标服务、触摸屏、标准键盘等。
MiniGUI下丰富的控件资源也是MiniGUI的特点之一。当前MiniGUI的最新版本是1.3.3。该版本的控件中已经添加了窗口皮肤、工具条等桌面GUI中的高级控件支持。
2.3 QT/Embedded
Qt/Embedded是著名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。因为Qt是KDE等项目使用的GUI支持库,许多基于Qt的X Window程序因此可以非常方便地移植到Qt/Embedded上。Qt/Embedded同样是Server/Client结构。
Qt/Embedded延续了Qt在X上的强大功能,在底层摒弃了X lib,仅采用framebuffer作为底层***形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件,底层接口支持键盘、GPM鼠标、触摸屏以及用户自定义的设备等。
Qt/Embedded类库完全采用C++封装。丰富的控件资源和较好的可移植性是Qt/Embedded最为优秀的一方面。它的类库接口完全兼容于同版本的Qt-X11,使用X下的开发工具可以直接开发基于Qt/Embedded的应用程序QUI界面。
与前两种GUI系统不同的是,Qt/Embedded的底层***形引擎只能采用framebuffer。这就注定了它是针对高端嵌入式***形领域的应用而设计的。由于该库的代码追求面面俱到,以增加它对多种硬件设备的支持,造成了其底层代码比较凌乱,各种补丁较多的问题。Qt/Embedded的结构也过于复杂臃肿,很难进行底层的扩充、定制和移植,尤其是用来实现signal/slot机制的moc文件。
Qt/Embedded当前的最新版本为3.3.2,能够支持Trolltech的手持应用套件Qtopia的Qt/Embedded最高版本为2.3.8。Trolltech公司将于2004年末推出的Qt/Embedded 3为基础的Qtopia 2应用套件。
3 三种嵌入式GUI的移植与中文化
在进行以上三种嵌入式GUI的研究和移植过程中,硬件平台采用自行设计的以Motorola MC9328 MX1为核心的开发系统。该系统采用CPU内部LCD控制器和320×240分辨率的16bpp TFT LCD作为显示设备,使用I2C总线扩展出16按键的键盘,同时配置了9位A/D量化精度的电阻触摸屏作为鼠标类输入设备;同时移植了ARM Linux作为操作系统。以下分别讨论这三种嵌入式GUI的底层移植和中文化技术。
移植以上三种嵌入式GUI系统,需要首先实现Linux内核中的framebuffer驱动。对应于开发系统为MC9328中的LCD控制器,该部分驱动程序必须以静态方式编译进内核,在系统启动时由传递进内核的启动参数激活该设备。I2C键盘的驱动程序和触摸屏的驱动程序实现后,作为Linux内核模块在使用时动态加载。
3.1 Microwindows的移植
Microwindows驱动层相应的源码目录为src/drivers/。其中以scr*开头的源码是针对显示设备的驱动接口,以mou*开头的源码文件为鼠标设备(包括触摸屏)的驱动接口,以kbd*开头的源码文件针对键盘设备的驱动接口。移植过程中需要实现自己的设备驱动接口提供给Microwindows使用,就必须按照指定的接口格式编写相应的scr、mou、kbd的底层支持。这种方式实现简单,条理也很清晰。
显示设备驱动接口:Microwindows的***形发生引擎支持framebuffer,修改src/中的config文件指定使用framebuffer作为底层***形支持引擎;但需要注意嵌入式Linux的framebuffer较少支持控制台字符模式,需要修改Microwindows中对framebuffer的操作部分以关闭显示模式的转换。
在应用程序开发移植中需要注意的是:使用E
CMAAPIW接口设计的程序无需nano-X的Server程序和nanowm,如***2所示。系统中可以直接启动使用该接口编写的用户程序;但需要注意的是,一个系统中如同时存在使用两种不同的API接口编写的进程,会造成nano-X的Server与ECMA APIW的进程对系统硬件资源的使用竞争,双方的程序将无法正常显示或响应应用户输入。
在为Microwindows增加中文显示的支持时,主要工作包括两个部分。一部分是系统字体的中文支持。此处使用等宽光栅字体,主要负责窗口标题和内置控件的中文绘制,将字体编译进Microwindows内核中,光栅信息作为一维数组,显示时按照字符偏移量从该数组中调出相应的光栅信息显示即可。除此之外,当程序调用CreateFont时,需要在内部实现为打开文件系统中的字体文件。通过修改src/engine/devfont.c中的GdCreateFont部分,添加相应的hzk(汉字库)支持,便可以实现在CreateFont时创建出一个支持GB2312字符集的逻辑字体,并使用外部字体进行显示。在应用程序设计时,如果没有调用SelectObjectu将外部字体选入,中文显示时将默认使用系统字体。
3.2 MiniGUI
由于MiniGUI较好地将硬件设备抽象为GAL层和IAL层,移植时只需要针对自身的硬件特点按照GAL层调用接口和IAL层调用接口来做内部实现即可。***4为MiniGUI的GAL层结构示意,IAL层结构类似。
gui设计论文篇(7)
一、GUI外观设计能否授予专利权
(一)《专利法》第二条第四款的分析
2008年修正的《专利法》从授权条件、保护内容等角度全面提升了外观设计专利保护的标准,外观设计的定义也首次上升到法律条文中。《专利法》第二条第四款规定,外观设计,是指对产品的形状、***案或者其结合以及色彩与形状、***案的结合所作出的富有美感并适于工业应用的新设计。根据《专利法》第二条第四款的规定,满足以下四个法律要件的外观设计,可以成为我国外观设计专利权的保护客体:(一)以工业产品为载体;(二)是对产品形状、***案或者其结合以及色彩与形状、***案结合所作出的新的设计;(三)适于批量化生产的工业应用;(四)富有美感。
在苹果案中,本申请为便携式显示设备(带***形用户界面),是对便携式显示设备产品在整体形状和***案上所作出的外观设计。北京市高级人民法院认为,虽然本申请还包括了在产品通电状态下才能显示的***形用户界面,但并不能以此否定本申请在实质上仍是对便携式显示设备在产品整体外观方面所进行的设计。同时,本申请亦能满足外观设计专利在工业应用和美感方面的要求,故可以成为我国外观设计专利权的保护客体。
(二)第68号令的佐证
《专利审查指南2010》第一部分第三章第7.4小节中规定,“产品通电后显示的***案,例如电子表盘显示的***案,手机显示屏上显示的***案、软件界面等”属于不授予外观设计专利权的情形。由于***形用户界面属于通电***案,因此在实践中,专利审查部门据此拒绝给予GUI外观设计授予专利权。
2014年3月12日,国家知识产权局令第68号《国家知识产权局关于修改
毫无疑问,在《专利法》和《专利法实施细则》都没有对外观设计专利的授权客体进行修正的情况下,第68号令将GUI外观设计纳入专利授权客体,表明国家知识产权局认为依照《专利法》和《专利法实施细则》,GUI外观设计本来就应当属于外观设计专利的授权客体。如若不然,第68号令将GUI外观设计纳入专利权保护范围就没有法律依据。
二、专利授权客体的法律依据
(一)《专利审查指南》能否作为法律依据
既然《专利法》本来就允许给予GUI外观设计授予专利权,那么第68号令修改之前的《专利审查指南2010》第一部分第三章第7.4节的相关规定是否违反法律规定呢?这取决于外观设计专利授权客体的法律依据到底是什么?如果说确定外观设计专利授权客体的法律依据是《专利审查指南》,那么《专利审查指南》对授权客体的改变可以使GUI外观设计由不合法的授权客体变成了合法的授权客体。如果确定外观设计专利授权客体的法律依据是《专利法》,而《专利法》本来就没有将GUI外观设计排除在授权客体之外,那么《专利审查指南2010》第一部分第三章第7.4小节的相关规定就缺乏法律依据。
《专利法》第三条规定:“***专利行***部门负责管理全国的专利工作;统一受理和审查专利申请,依法授予专利权。”国家知识产权局虽然负责授予专利权,但必须依法授予专利权。也就是说,哪些客体能够授予专利权,应当由全国人大及其常务会制定的法律来规定,不应当由国家知识产权局来确定。《立法法》第七十一条规定:“***各部、委员会、中国人民银行、审计署和具有行***管理职能的直属机构,可以根据法律和***的行***法规、决定、命令,在本部门的权限范围内,制定规章。部门规章规定的事项应当属于执行法律或者***的行***法规、决定、命令的事项。”在《专利法》已经明确对专利授权客体进行了规定的情况下,《专利审查指南》对外观设计专利授权客体的相关规定应当属于执行《专利法》的事项。因此,确定外观设计专利授权客体的法律依据应当是《专利法》而非《专利审查指南》,《专利审查指南》对专利授权客体的规定只不过是对《专利法》的执行事项。在能够确定《专利法》第二条第四款允许给予GUI外观设计授予专利权的前提下,《专利审查指南》不能作出相反的规定。
在苹果案中,在GUI外观设计属于《专利法》第二条第四款规定的外观设计专利授权客体,国家知识产权局也通过第68号令确认这一点的前提下,专利复审委员会依据第68号令修改之前的《专利审查指南2010》的相关规定将GUI外观设计排除在专利授权客体之外,缺乏法律依据,因此北京市第一中级人民法院和北京市高级人民法院对专利复审委员会的主张不予支持。
(二)《专利审查指南2010》相关规定的解读
在苹果案中,专利复审委员会上诉主张,《专利审查指南2010》在“外观设计专利申请的初步审查”部分,即第一部分第三章第7.4节中规定,产品通电后显示的***案,例如电子表表盘显示的***案、手机显示屏上显示的***案、软件界面等属于不授予外观设计专利权的情形。对此北京市高级人民法院认为:第一,《专利审查指南》仅是部门行***规章而非法律或行***法规,人民法院在判断包含通电***案的外观设计是否属于我国外观设计专利授权客体时,仍应以《专利法》第二条第四款的规定为基础进行考察。第二,尽管《专利审查指南》规定“产品通电后显示的***案”属于不授予外观设计专利权的情形,但结合《专利法》第二条第四款及上述分析可知,该规定也不应被扩大解释为只要是包含了产品通电后所显示***案的外观设计申请,均应被排除在授予外观设计专利权的范围之外。换言之,产品通电后显示的***案并非全部不能享有外观设计专利权保护,如本案之情形,若产品通电后显示的***形用户界面属于产品整体外观设计的一部分,或产品整体外观设计包括了***形用户界面,则由于此种外观设计专利申请实质上仍属于对产品整体外观所进行的设计,并不应以不符合《专利法》第二条第四款规定为由而被驳回。
gui设计论文篇(8)
一、点对多点无线通信系统处理
(1)无线通信系统的信号处理。
点对多点无线通信系统处理之一是无线通信系统的信号处理。基于Maflab的无线通信系统中通信信号处理功能的实现,是利用Matlab自身提供的工具箱Toolbox中各种通信信号处理函数对信号进行处理。通信信号处理的GUI设计和实现,是基于无线通信信号处理系统各个细分模块的功能要求,选取工具箱中适宜的信号处理函数,根据函数的输入、输出各种参数类型要求,在GUI界面中利用按钮、单选按钮、编辑文本框和列表框等界面控件来实现各种调制/解调方式、编码/解码方式和信道类型的选择,和各种输入参数的设定。界面既要实现与用户交流的友好性,还要更加注重界面的简洁性和系统的功能性,将内部功能部署和外部实体界面有机结合起来,使无线通信系统的用户***形界面得以实现。
(2)通信信号处理的GUI设计。
点对多点无线通信系统处理之二是通信信号处理的GUI设计。通信信号处理的GUI设计,第一,必须根据无线通信信号设置的功能,该信号系统可以分为多个模块,因为每个模块的部署不同,所以确定通信信号处理的GUI设计功能就不同。第二,针对通信信号每个模块设计,设计每个模块组成的***形用户界面的功能,以完成通信信号设计的GUI功能。最后,在信号编程中,必须建立好各系统模块之间的联系。通信信号处理,通信模拟信号和数字通信信号仿真系统设计分为用户界面,通信信号处理的GUI设计,有利于点对点无线通信接收信息。例如:下***表所示。
二、点对多点无线通信系统设计
(1)信号输入模块设计。
点对多点无线通信系统设计之一是信号输入模块设计。针对于输入到通信系统中的相关信号,它可以将工作空间的相关信息作为输入的对象,与此同时也可以选择指定的信号作为输入对象,例如:语音信号,它主要运用单选按钮来调控屏蔽设置。当选择实时采集的语音信号时,必须点击“开始”按钮,就会弹出文件对话框,程序设置对WaV格式的文件进行筛选,从而完成信号输入模块工作。
(2)控制面板系统设计。
点对多点无线通信系统设计之二是控制面板系统的合理设计。在控制面板系统设计时,应该采取相应的频率作为数据参数,针对于无线通信文件设计时,必须要进行该程序的编写,合理的运用有关的函数的参数,保证相关信息的及时读取,充分地利用点对多点无线通信系统的文件,来满足各个变量之间的相应参数传递,为此必须利用按钮给予控制,特别是“开始通信”等一系列的性能控件,就此启动通信信号的对话框,再进行传输通信信号,设置相应的传输参数。
(3)点对多点的通信界面设计。
点对多点无线通信系统设计之三是点对多点的通信界面设计。首先选定GUl对象,在经过设计GUIDE应用程序,来确定GUIDE组态,在进行通信界面设计分析过程中,针对于信号处理的系统中抽象出来的各项编程环节必须给予认真的设计。对话框的选项包括窗口重画行为,命令行访问、生成文件选择、生成回调函数原型,不选择或选择无线通信系统的设计,整体配置的***形用户界面设计的背景颜色。Matlab接口设计编辑器组件的平台,其中包含所有的用户界面,***形用户界面,以及单选按钮、编辑框、静态文本、列表框、弹出菜单控制。应采取确保各部件的名称或属性是不同的,使用GUI之间的差异,可以存在于一个或多个GUI组件。用户可以使用属性来检查每个组件的性能。
三、点对多点无线通信系统实现
(1)应用无线通信系统程序。
点对多点无线通信系统实现的表现之一是应用无线通信系统程序。应用无线通信系统程序中,首先可以建立相应的应用程序,由它来提供与GUI控制程序相关的体系框架。这种框架是一项特别有效的无线通信系统程序编程,所有的代码必然要采用无线通信程序中的M文件来实现,这使得M文件会有多个不同的项目采用GUI程序的使用以及GUI的任何程序帮助无线通信系统程序初始化。M文件的应用程序相关代码创建,可以指导GUI应用程序功能的发挥。
(2)信号发送系统应用。
点对多点无线通信系统实现的表现之二是信号系统中发送功能的应用。信号系统中发送功能的应用,是运用发送系统的编码模块进行,它一般包括信源编码和信道编码两种。信号发送中相应的数字信号,通道信号发送系统,对循环码的编码和错码进行统计。信源编码函数执行M文件编辑设备,可以充分发挥信源编码功能,在信道编码的执行时,可以使用工具箱中的信源编码功能进行了相应的矩阵转换,开始重新编码,同时也要在信道编码中输入变量的函数。
(3)无线通信接收流程。
点对多点无线通信系统实现的表现之四是无线通信接收流程。无线通信接收流程,必须适当地提高TRX--CE的高度,当Tr-EN为低时,nRF905也开始进入Shock-BurstTM接收模式,然而在650us后,nRF905会得到有效的监测,可以有效的进行数据接收。
gui设计论文篇(9)
中***分类号: TN99?34; TM743 文献标识码: A 文章编号: 1004?373X(2017)12?0063?03
Abstract: In view of the advantages of short class time, more concepts, wide knowledge scope and strong practice of the power electronic curriculum, the construction of power electronic virtual simulation platform based on Matlab GUI (graphical user interface) and Simulink is discussed. Taking the main interface of DC?DC converting technique as an example, contents of main interface, contents and functions of principle analysis interface, basic characteristics of running interface and closed?loop simulation instance are described. The interface of visualization platform for power electronic teaching is friendly and easy to operate. It is helpful to deepen students' understanding of basic concepts, improve the quality of experimental teaching. Its application can deepen students′ comprehension to the basic theory and concept of their courses, improve the experimental teaching quality, and promote the experimental teaching reform.
Keywords: power electronic technology; Matlab GUI; virtual simulation platform
电力电子技术是使用电力电子器件对电能进行变换和控制的技术[1]。它是以高等数学、电路原理及模拟电子技术等课程为基础,同时也是自动控制原理,电机与拖动等专业课程的基础课,具有很强的实用性和综合性,是电气工程领域理论和实践相结合的专业核心课程之一,因此电力电子技术教学质量的好坏,将直接影响后续课程的学习[2?4]。电力电子课程概念多、知识面广、实践性强,这给老师讲课和学生理解带来很大的困惑,所以借助实验来加深学生对基本概念、基本理论和基本方法的理解很有必要。而传统电力电子实验教学受场地、器材、时间等诸多因素的影响,难以让学生达到基本的实验目标。虚拟仿真实验平台投入小,不受时间、地点的限制,具有一定的开放性,方便学生创新等优点。所以借助虚拟仿真平台来辅助课堂及实验教学会起到巨大的帮助作用[5?7]。本文借助Matlab/Simulink仿真环境,以及GUI(Graphical User Interface)设计友好的人机界面,通过GUI输入框中数值的不同,改变电路参数,即可在界面观察对应的波形变化。同时在界面中添加不同的入口画面,可以观察仿真原理***,以及该电路的原理分析。同时,在虚拟仿真平台中加入电路的闭环实例分析,加深学生对该电路的理解,提高学生的积极性和学习效率[8?9]。
1 电力电子虚拟仿真平台的建立
1.1 电力电子虚拟仿真平台结构
在设计GUI界面之前,首先需要确定虚拟仿真平台的结构。由于设计该平台的主要目的是为电力电子课程提供一个教学和实验的仿真平台,对电力电子课程中的一些常用电路进行动态仿真,帮助学生深刻理解电力电子课程中电路拓扑和电路实例。根据这些基本要求,并结合电力电子课程的特点,确定了虚拟仿真平台的结构框***,如***1所示。该平台包含了电力电子技术中常用电路,如整流电路、逆变电路、直流?直流变流技术、交流?交流变流技术及PWM控制技术5个基本模块。课程的其他内容可在虚拟仿真平台的基础上扩展,因此,该平台具有很强的通用性。
为了使每个模块设计更加简单,虚拟仿真平台采用了分层设计方法,将该平台分为若干个模块,每个模块包括一些子模块。***2给出了直流?直流变流技术模块的组成框***,它包括原理分析、运行界面和实例分析三个子模块,其他模块的设计思想同该模块基本相同。
1.2 Matlab***形用户界面设计
Matlab为用户提供了强大的集成***形用户界面开发环境(GUIDE),用户可以方便地设计***形用户界面,开发自己的用户程序[10]。***形用户界面(GUI)是由窗口、菜单、文字说明、标签等控件构成。用户通过提供的控件,如按钮、滑块、列表框等可以设计出易于理解的人机界面。一个***形用户界面必须包括控件(Component)、***形窗口(Graphics)和回调函数(Callback)三个部分,利用GUIDE创建GUI是常用方法之一。使用GUIDE创建GUI的基本步骤如下:
(1) 选择控件类型。根据预期的界面设计,选择控件类型。电力电子教学虚拟仿真平台中使用的控件主要包括按钮、输入框、标签、坐标轴及面板等。
(2) 设置控件属性。控件的基本属性包括字符(String)、标签(Tag)、字体大小(FontSize)、前景色(ForegroundColor)等。通过设置控件属性,实现预期的功能指标。
(3) 编写回调函数。确定整个界面布局之后,需要编写控件的回调函数。鼠标右键单击控件,选择“查看回调”“callback”,编写回调函数。
在界面设计中用到的主要函数如下:
get_param(′boostdianlu/Vin′,′Amplitude′);
%获取电路输入电压幅值
set_param(′boostdianlu/Vin′,′Amplitude′,a);
%设置输入电压幅值
options = simset(′SrcWorkspace′,′current′);
%指定模型从当前空间运行,获取编辑框中输入电压幅值参数
sim(′boostdianlu′,[],options);
%使用sim()函数使仿真模型从当前GUI函数空间进行仿真
plot(tout,yout); %将输出波形绘制到当前坐标轴对象上
1.3 Simulink仿真模型
Simulink是Matlab的一个功能组件,为用户提供建模和仿真的工作平台。Simulink的SimPowerStems仿真工具箱提供电机与拖动、电力系统与自动化以及电力电子等仿真模块,几乎涵盖所有电力电子电路的仿真模块。按照电力电子电路的基本原理,利用工具箱提供的模块可以进行仿真电路的搭建[11]。以“升压斩波闭环仿真电路”为例,说明建立仿真模型的基本步骤:
(1) 调用功能模块。根据升压斩波电路原理***,确定所需功能模块,找到它们所在模块库。
(2) 创建并保存模型。建好模型后,使用Save命令保存,以便下次使用时直接调用。
(3) 连接模块并设置参数。将各个功能模块按照布局进行连接,并设置每个模块的参数。
(4) 运行仿真并显示结果。
2 电力电子仿真平台实例
根据***1所示的虚拟仿真平台结构框***和***2所示的直流?直流变流技术模块结构框***,采用GUIDE设计各基本模块和子模块的***形用户界面,编写各控件对应的回调函数,响应用户操作。该GUI界面由主界面、原理分析界面、运行界面以及仿真模型四个部分组成。
2.1 直流?直流变流技术主界面
主界面是访问该节的第一个用户界面,如***3所示。直流?直流变流技术主界面由标题和功能选择按钮组成。在主界面中列出了包括降压斩波电路、升压斩波电路、升降压斩波电路等常用的六大类基本斩波电路。每一类电路中有三个按钮,对应三个入口,分别是“原理分析”、“运行界面”以及“实例分析”。用户点击其中任意一个按钮,即可进入对应的功能界面。
2.2 升压斩波电路原理分析界面
以升压斩波电路为例,当点击“原理分析”按钮后,通过按钮对应的回调函数,就可跳转到升压斩波电路的原理分析界面,如***4所示。原理分析界面由三部分构成,分别是电路原理***、原理分析文字说明以及主界面按钮。学生通过原理分析界面巩固所学内容,进一步加深对升压斩波电路基本原理的理解,提高理论知识的学习效果。当点击“主界面”按钮时即可返回***3所示的直流?直流变流技术的主界面。
2.3 升压斩波电路运行界面
当点击升压斩波电路“运行界面”按钮后,跳转到对应的运行界面,如***5所示。运行界面由参数设置栏,波形栏以及菜单栏三部分组成。在参数栏设置需要改变的参数,分别为电压E、电容R、电感L、电阻R。在输入框中输入对应的数值可改变仿真电路的参数[12]。波形栏共有三个坐标轴,分别显示输出电压,电感电压以及开关信号波形。菜单栏包括仿真按钮和主界面按钮两部分。点击“仿真”按钮进行电路仿真,点击“主界面”按钮返回***3对应的直流?直流变流技术的主界面。
通过输入框改变仿真电路参数,不用在仿真模型中双击元件改变,提高了仿真效率,同时该界面可直观地观察电路参数的改变而引起的波形的变化。
2.4 实例分析电路
当点击“实例分析”按钮后,打开以升压斩波电路为基础的闭环仿真电路***。“运行界面”只是针对课本中开环升压斩波电路进行操作,而在实际工程中,几乎所有的电路均使用闭环模型,由于闭环仿真电路在课堂中不作讲述重点,学生对闭环设计无从下手,不能将所学知识应用于实际工程。因此,在虚拟仿真平台添加“实例分析”入口,有助于学生从工程的角度理解闭环仿真电路的设计方法,以及闭环参数改变对电路的影响。
3 结 语
在电力电子教学过程中,针对课程课时短、概念多、知识面广、实践性强等特点,电力电子教学虚拟仿真平台可以达到辅助教学的目的。通过Matlab GUI,设计友好的人机交互界面,搭建电力电子技术虚拟仿真平台。对于一基本电路,其“原理分析”界面巩固所学理论知识、“运行界面”分析参数改变引起的波形变化、“实例分析”界面理解闭环电路设计思想。学生不仅学习基本电路拓扑,巩固课堂所学知识,而且真正学会该电路在工程实际中的使用方法。
参考文献
[1] 王兆安,刘进***.电力电子技术[M].北京:机械工业出版社,2009.
[2] 刘桂英,粟时平.“电力电子技术”的Matlab/Simulink教学仿真实践[J].电气电子教学学报,2011(1):87?89.
[3] 王春凤,李旭春,薛文轩,等.电力电子技术实验教学改革的探索与实践[J].实验室研究与探索,2011(9):127?129.
[4] 夏小虎,张春鹏,冯敏亮.“电力电子技术”课程可视化实践教学改革与探索[J].中国电力教育,2011(12):146?147.
[5] 杨蕊,王晓燕,杨婷.基于Multisim虚拟仿真技术的电工电子实验室建设[J].实验技术与管理,2015(10):129?131.
[6] 朱高中.基于Multisim仿真软件在高频实验教学中的应用研究[J].实验技术与管理,2012(11):106?108.
[7] 尚丽,淮文***.基于Matlab/Simulink和GUI的运动控制系统虚拟实验平台设计[J].实验室研究与探索,2010(6):66?71.
[8] 杜世民,杨润萍.基于Matlab GUI的“信号与系统”教学仿真平台开发[J].实验技术与管理,2012(3):87?90.
[9] 牛天林,樊波,张强,等.Matlab/Simulink仿真在电力电子技术教学中应用[J].实验室研究与探索,2015(2):84?87.
gui设计论文篇(10)
中***分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)31-7513-03
线性代数是大学数学教育中的一门基础课程,是用数学知识解决实际问题的一个强有力的工具。传统的线性代数教学偏重自身的理论体系,强调基本定义、定理的讲解以及复杂的计算过程。随着计算机技术和工程科技的发展,科学与工程计算日益重要。线性代数实验课程就是使用计算机以及应用软件,将先进技术工具引入线性代数教学过程的一种有用的学习手段。借助于线性代数实验,使学生通过对特定例子的计算和观察,直观的理解抽象的教学内容,同时通过对数据的可视化,从中发现和归纳有意义的规律并进行理论的验证。本文尝试将线性代数课程学习与MATLAB软件的使用以及编程方法解决线性代数问题结合起来,借助于MATLAB的***形用户开发环境(GUI)设计和实现线性代数实验课程教学平台系统。
1 实验平台内容体系设计
1.1 实验平台内容体系结构设计
根据线性代数课程的内容和线性代数教学改革的要求出发,该实验平台主要设计以下几个方面的内容,如***1。
其中行列式计算与矩阵方程求解平台主要实现方阵的行列式和逆矩阵求解以及输入和显示矩阵方程及其确定其解;矩阵代数和矩阵运算平台主要实现矩阵加法、数乘、乘法、求秩运算的输入和显示;矩阵的分解与求基平台主要实现化矩阵为行简化矩阵形式、求矩阵的LU和QR分解以及确定齐次线性方程组的基础解系等运算;线性方程组求解平台主要实现AX=b的解的存在性判定和求解;线性变换及其特征平台实现线性变换AX=Y的输入和显示,确定变换矩阵A的特征值,特征变量以及给出它们***性变换中的几何意义的动画演示;多项式插值问题求解平台实现数据点(X,Y)的输入和确定插值多项式以及绘制数据点和插值多项式对应的的***形。
1.2 实验平台实验类型设计
系统从线性代数的内容和教学需要为划分标准,从以下几个方面设计实验类型。
1)线性代数基本计算实验平台:主要实现线性代数的矩阵和行列式的基本计算和演示。如实验平台1、2、3。
2)演示式实验平台:通过实验揭示抽象的线性代数概念并演示其数学规律和***形规律,且动态的呈现出来。例如线性变换及其特征平台,通过该平台的实验可以绘制变量变换前后的***形,并将变换矩阵的特征值和特征向量的关系通过动画显示出来,使学生从***形变化的感性认识上升到抽象的理性认识。
3)验证式实验平台:通过数据的输入和***形演示,对线性代数中的定理和公式归纳和验证。
2 实验平台界面体系设计
线性代数实验系统是通过MATLAB的***形用户界面GUI设计和实现的。GUI是使用***形对象(按钮、文本框、滚动条、菜单等)创建的用户界面,这些对象对用户而言具有明确的含义。实现一个GUI的过程包括两个基本的任务:一是GUI的组件布局,另外一个是GUI组件编程。
2.1 线性代数实验系统界面组件布局
实验界面组件布局的设计要保持一致性。包括使用标准的控件,相同的信息表现方法。外观体现应用程序的协调性。布局力求简洁和方便操作。如***2线性变换及其特征实验平台布局。在这个平台的主界面上方的左侧布局了菜单栏:实验室、实验目的、实验任务、实验帮助,主要实现各个实验之间的转换和对实验的要求和步骤说明。中上部的两个编辑框实现实验数据的输入。中间左侧是文本框,用于实现数据转换形式的显示,右侧是数据的***像演示。下侧的两个多选框实现不同实验步骤的转换。按钮实现数据的重置和实验前后的选择。整个布局既满足实验的要求又体现了协调、简洁和一致性的要求。
2.2 线性代数实验系统界面组件的软件设计
gui设计论文篇(11)
1.引言
光学实验是物理实验的重要内容。对光学实验进行计算机仿真,具有重要意义[1-2]:可以把抽象的概念、现象和规律通过仿真生动形象地表达出来,使学生利于理解,加深印象;不必通过具体仪器的调试,通过电脑就可演示,节省了时间,减少了贵重仪器的损伤,等等。通过GUI设计,可以设计出界面良好、操作简便、功能强大的用户界面,而且人机交互性好,可以直接在界面上更改参数而不必修改程序,动态显示仿真结果,更利于学生观察和分析各参数对干涉条纹的影响,也为相关课件的设计提供了新的途径。[3-4]MATLAB是集数值运算、符号运算和***形处理等功能于一体的科学计算语言,而且提供了功能强大的***形用户设计界面,可设计出方便直观的智能型交互界面[5-6]。我用MATLAB 语言的GUI设计,以等倾干涉为例,设计了仿真界面,并应用于光学实验教学中,取得了很好效果。
2.等倾干涉原理和实验的主要内容[7-8]
把单色点光源S放在会聚透镜L的焦点处,使平行光束ab照射到薄膜表面上。光束分为两部分:一部分是反射光束ab;另一部分折射后又反射,然后折射成ab,如***1所示。通过透镜L使ab、ab在点S′叠加,产生干涉。由于干涉条纹与ab的入射角有关,因此称其为等倾干涉。
等倾干涉的光强分布为:I=Icos[2πdcos],其中d为薄膜的厚度,f为L焦距,r=。
等倾干涉实验的主要内容包括实验目的、实验原理、实验步骤、数据处理和思考与练习。
3.界面设计
Gui界面设计主要包括以下几个步骤。
第一步构思草***,编排控件的布局。打开Matlab程序,在file菜单中选择new gui,打开guide设计界面模板,界面模板左边的各个控件可以直接用鼠标拖到编辑框。
第二步设置各控件的属性。比如设置各控件的标识(Tag)、颜色、字体等。
第三步各个控件代码的设计。关键是OpeningFcn(初始界面函数)和控件的Callback(回调函数)代码的设计。 初始界面函数即设定各参数的初始值,可根据实际情况设定。回调函数是核心,是对界面控件触发时的事件响应函数。
根据需要,界面使用了7个按钮(Push Button),标识分别为:实验目的、实验演示、实验步骤、数据处理、思考与练习、实验演示和系统退出,用鼠标点击任一个项目,则会执行相应的功能;2个静态文本框(Static Text)用于输入波长和薄膜厚度;2个滑动条(Slide),用鼠标拖动滑动条可以改变波长和厚度的大小;1个坐标轴对象(Axes)用于显示仿真结果。界面如***2所示。
4.演示控件的回调函数
控件的功能是通过执行其回调程序来实现的,用户界面设计完成后,选中控件用鼠标双击,在弹出的菜单中选择View Callbacks,在其子菜单中选择Callback,就可以进入回调程序编译器中,在回调程序编译器中编写个控件的代码,就可以使***形界面完成约定的任务。
演示控件的回调函数代码:
Lambda=str2num(get(handles.slide1,’String’)); %从滑动条中获取波长的大小
d=str2num(get(slide2,’String’)); %从滑动条中获取厚度的大小
f=200;n=1;N=300;xmax=10;ymax=10;
x=linspace(-xmax,xmax,N);y=linspace(-ymax,ymax,N); %设定相关参数和范围
for i=1:N
for j=1:N
r(i,j)=sqrt(x(i)*x(i)+y(j)*y(j));
B(i,j)=cos(pi*(2*n*d*cos(asin(n*sin(atan(r(i,j)/f)))))/Lambda).^2;
end
end%计算光强的大小
Br=4*B*NCL;NCL=255; colormap(gray(NCL)); %设定灰度等级
axes(handles.axes1) image(x,y,Br); %在坐标轴对象中显示仿真结果
5.仿真结果和结果分析
在界面中设定波长的初始数据为,厚度,用鼠标点击演示控件,得到如***3的仿真结果。
用鼠标拖动滑动条,使由大到小变化,则在仿真界面上可以看到,条纹向外发散,如***4.1所示;如果使由小到大变化,则条纹向里收缩,如***4.2所示。变化结果与理论完全相同。连续拖动滑动条,则可以观察到条纹连续变化,实现仿真的动态演示。
同样,如果通过鼠标改变波长滑动条数值大小,可以看到条纹随波长变化而变化,结果与理论完全相同。
6.结语
利用Matlab Gui可以设计出内容丰富、界面直观的光学实验仿真界面,在界面上可以输入参数,可以通过滑动条来该变参数,实现动态仿真,更利于学生观察和分析各参数对干涉条纹的影响,也为相关课件的设计提供了新的途径。
参考文献:
[1]梁齐,许晓琳等.光干涉实验的计算机模拟[J].大学物理实验,2003,16,(3):61-63.
[2]宋清,熊万杰.光学现象的计算机仿真[J].中山大学学报论丛,2005,25,(3):24-29.
[3]基于MATLABGUI的大学物理交互式演示实验动画设计[J]. 大学物理实验,2010,23,(1):52-53.
[4]基于GUI的空间滤波实验的计算机模拟 [J]. 物理实验,2010,30,(3):12-15.
[5]罗华飞.MATLAB GUI设计学习手记[M].北京:北京航空航天大学出版社,2009:224-231.
[6]陈 光,毛涛涛等.精通MATLAB GUI设计[M].北京:电子工业出版社,2008:268.