1、目 录引 言31 基于MATLAB的数字信号处理试题库的设计61.1试题库系统的概况61.2系统设计目标61.3主要功能61.4本文的主要工作72 设计方案选择82.1设计平台选取82.2试题选择方案论证92.2.1方案优缺点92.2.2方案比较选择93 试题库系统开发环境的简介113.1MATLAB简介113.2 GUI模块介绍124系统设计过程134.1系统设计方法134.2系统界面设计174.2.1欢迎界面设计174.2.2主界面设计204.2.3试题知识点选择界面设计234.2.4试题界面设计264.3 GUI控件设计304.3.1控件分类和功能304.3.2控件的View Callb
2、acks设置325运行效果分析365.1运行效果365.2问题分析39结论41致 谢42参考文献43沈阳大学毕业设计(论文) 沈阳大学毕业设计论文 - 3 -摘 要据了解,我国百所高校中已有一小部分具有供学生学习使用的试题库系统。沈阳大学信息工程学院通信工程专业还未建立起学生专用的题库系统。为使我院学生更好的利用教学资源提升自身能力,在指导老师的建议下,本人决定设计学生专用的题库系统。本设计采用MATLAB图形用户界面(GUI)功能设计了欢迎界面、主界面、选择界面、答题界面等,在这些界面上灵活合理的使用了静态文本、编辑框、列表框、滚动条、按钮、单选按钮、按钮组、坐标轴等控件,利用控件的回调函数
3、设置操作的行为效果,本设计还利用MATLAB的m文件编辑了和习题相对应的矩阵,这些矩阵用于传递习题的属性值,在题库系统的初始化时则要导入这些矩阵。除此之外,本题库系统现有3类习题,如有需要,可随时扩充题库。本设计是基于MATLAB的数字信号处理的教学题库系统,使用简单,易于上手。该题库系统采用人机友好的图形用户界面,能通过人机交互的更深入的学习数字你信号处理并且能够不断的提高学生的理论能力。关键词:数字信号处理;题库系统;MATLAB;GUI;回调函数;矩阵;沈阳大学毕业设计(论文) No. 44 AbstractAs we all know, there has been a little
4、part of hundred colleges posses question bank system for student to learn in China. The communication engineering department of information engineering institute in Shenyang University has not established a student dedicated question bank system. To make the best use of resources and enhance their t
5、heoretical ability, the author decides to design a student dedicated question bank system under the teachers suggestion.This design uses MATLAB graphical user interface (GUI) to design a welcoming interface, the main interface, selection interface, question interface and so on, properly on these int
6、erfaces using such as static text, edit boxes, list boxes, scroll bars, buttons, radio buttons, button group, axes and other controls, the use of the controls callback function setting operation behavioral, this design edit matrices corresponding with questions by MATLAB m-file. These matrices are u
7、sed to transmit the property values of questions. When the question bank initializes,the developer should input matrices into system. In addition to this, the question bank system possess 3 types questions,it could be expanded anytime when needed.This DSP question bank system is designed based on MA
8、TLAB, which is easy to operate. Through the human-computer interaction, students could study digital signal processing deeper and improve their theoretical capacity constantly.Keywords: digital signal processing; system; MATLAB; GUI; callback function; matrix引 言“数字信号处理”是通信工程专业的特色课程,是学生必须掌握的学科之一,它包含奈
9、奎斯特采定理、DFT、FFT、IIR、FIR、DTFT、离散时间信号与系统等知识点,运用到的数学内容也相当广泛,包括微积分、概率论等内容。学生在学习数字信号处理这门课程时不仅需要有扎实的数学基础还要有丰富的想象能力,对于不同类型的信号进行准确的分析。1这门课程的重要性可想而知,现如今国内多所顶尖的大学已具有自发设计的数字信号处理题库系统,这对学生们学习有着极大的帮助,不仅简化了学生学习的过程,也降低的教师授课的难度。学生在学习这方面的内容的时候,往往对其中的基本理论和分析方法掌握不透彻。为此,部分学校设计了题库系统,以帮助学生通过反复练习增强理论解题的能力,帮助学生更好地理解和掌握数字信号处理
10、中的基本理论和分析方法,激发他们学习的兴趣,从而达到良好的教学效果。数字信号处理环节在教学过程中是非常重要的,题库系统平台有助于学生理解和掌握所学的理论。MATLAB是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。作为强大的科学计算平台,它几乎满足所有的计算要求。随着对仿真和程序设计通用性及可视化需求的日益增加,MATLAB着重改善了图形用户界面的制作,极大地满足了用户的需求。2MATLAB的GUI是专门用于图形用户界面的快速开发环境,本文利用该工具设计题库系统,该系统将MATLAB软件和数字信号处理练习题结合,将数字信号处理的内容融入进去,形成了新颖的计算机教
11、学方式。该系统的形象直观,总体界面友好,具有开放性,便于学生对所学理论知识的理解,大大提高教学的效果和效率。3现在大多数高校都借助于MATLAB进行辅助教学,MATLAB语言是一种非常适合信号分析与处理的语言,它的使用对学生理解数字信号处理中的许多基本理论起到极其重要的作用。MATLAB具有强大的图形用户界面生产能力,用户可以根据自己的需要设计图形界面。4本题库系统以MATLAB为开发平台,保证了该系统具有一定的通用性,它采用图形交互的界面,不仅可以用于教学,也可以用于辅助理论教学,操作起来非常方便,形象直观。它涵盖了奈奎斯特采样定理、DFT、FFT、IIR、FIR、DTFT、离散时间信号与系
12、统等知识点的习题,涉及的知识点相当广泛。通过这个题库系统,能够增强学生们做题的兴趣,把枯燥无味的纸质习题系统化的展示给学生们,同使用者的互动更是增强了学生解决理论问题的能力,加深了学生对数字信号处理课程中许多抽象的理论的认识,使得原先课程中较难的习题被学生们更多的练习。该题库系统激发学生的学习兴趣,加深学生对数字信号处理课程中理论知识的理解。在许多学校的相关专业,数字信号处理都被列为专业必修课。但是,它涉及的知识广泛,包括微积分、概率论、信号与系统等。学生在学习这方面的内容的时候,通常感觉比较抽象,对其中的基本理论和分析方法难以具体地理解和掌握。所以可以利用MATLAB友好的人际交互界面,涵盖
13、知识点范围广习题数目足的题库系统,达到帮助学生更好的掌握数字信号处理理论知识的目的。1 基于MATLAB的数字信号处理试题库的设计1.1试题库系统的概况目前,多所优秀的综合性大学已经建立了完善的题库系统。各机构也都根据自己所承担的职能建立起了大型题库。沈阳大学通信系还未建立起合格的试题库系统,因此建立完善的试题库系统对未来开展学生的教育工作有着至关重要的意义,同时也有利于提高沈阳大学的教学水平。因此,建立高质量、大容量的现代化题库成为必要。纸质试题虽直观形象,但是不易保存、灵活性不强,更难于复制传播,而题库系统恰好弥补的纸质试题的不足,因此纸质试题到现在的试题库系统是一个必然的趋势,本设计的目
14、的就是为了通过题库中的习题增强学生的理论能力。1.2系统设计目标(1)利用MATLAB的GUI模块设计题库系统的交互界面;(2)各个界面间切换流畅,能够正常运行;(3)题库分类检索无误;(4)界面设计美观、人性化;(5)题库系统可扩展、可后期改良。1.3主要功能主要功能包括题库界面的选择、切换,基本题型分为选择题、填空题、解答题三类,满足学生对不同题型的练习需求。选择题与填空题的设计可以在提交答案后立即做出答案的判断,用可视化的交互式界面实现不同题型间的切换,界面上的文字说明可以帮助使用者了解本图形界面的基本功能,指导使用者的操作。整套系统采取图文并茂、循序渐进、以感性到理性的方式帮助学生们练
15、习DSP的解题能力。1.4本文的主要工作本文主要是针对以MATLAB为软件平台的数字信号处理的题库系统的设计,用MATLAB语言编程开发一个适合学生使用的解题界面平台,方便学生学习使用。具体的工作主要有:(1)了解MATLAB环境下的GUI功能、实时音频采集处理方式等;(2)总体方案设计(界面设计&主要知识点考核设计);(3)利用MATLAB的GUI功能完成界面设计;(4)利用MATLAB的实时功能完成与大纲一致的各个知识点的考核试题设计任务;(5)完成界面和各考核知识点相关子函数的连接;(6)运行验证(结果分析)。2 设计方案选择2.1设计平台选取在各式各样的编程语言中C语言、JAVA、MA
16、TLAB、VB都可以进行题库系统的设计,但是对于前两者而言,需要录入大量的程序段,设计过程比较复杂,对于通信专业的学生,编程能力一般,因此,更倾向与选择专业数学图像处理软件MATLAB,MATLAB的GUI模块可以直接拖拽需要使用的控件,进行交互界面的设计,而代码可以自动生成,使设计简化了许多。 对于各种控件的功能则可右击打开View Callbacks,根据需求的不同,编辑代码实现不同的功能。因为MATLAB的这一功能相对C语言和JAVA来说对于我们更容易实现,掌握。而且MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C,FO
17、RTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。5可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。6权衡多方面利弊,最终本设计选择MATLAB作为我们最终的设计平台。2.2试题选择方案论证2.2.1方案优缺点方案一:按题型分类优点:形象直观、设计美观、逻辑性强缺点:试题选择关系过于简单方案二:知识点分类优点:易于有针对的复习每一个知
18、识点缺点:试题类型比较杂乱方案三:按章节分类优点:同教科书安排课时一致,便于边学边用缺点:不够系统、没有针对性2.2.2方案比较选择三个方案相比,方案三最不具优势,建立题库系统的初衷就是为了提高学生们的理论答题能力,而方案三恰恰是最不利于同学们复习的分类,方案一和方案二各有优缺点,方案一易于设计者设计,但是逻辑关系简单,因此使用起来感觉会很低级,方案二突出了试题设计的目的,所以决定将方案一和方案二结合,在通过不同题型选择的基础上再次按知识点分类,这样既符合设计的逻辑性,又利于同学们对这门课程的学习。2.3系统设计结构系统设计结构框架:欢迎界面主界面解答题填空题选择题填空题检索界面选择题检索界面
19、解答题检索习题tk习题xz习题jd图1 系统设计结构图上图为此题库系统的设计结构流程,此次设计中,首先做好欢迎界面、主界面、填空、选择、解答界面的设计,然后依据各层界面之间的关系依次做好链接。3 试题库系统开发环境的简介3.1MATLAB简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,MATLAB为一套高性能的数值分析和计算软件,是MathWork公司于1982年推出的一套高性能的数值计算和可视化数学软件。7它集数值分析、矩阵运算、信号处理和图形显示于一体,特别是具有的数字信号处理软件包,可以分方便地进行数字信号处理封面的有关运算、系统设计和仿真。8它在数学类科技应用
20、软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。9时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。10在设计研究单位和工业部门,M
21、ATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。113.2 GUI模块介绍MATLAB的GUI编程可以用两种方式实现,一是直观的GUI设计工具GUID,二是利用M文件在代码构建界面,即M文件界面设计12。在GUIDE设计环境中,需要用到的工具有属性编辑器,控件布置编辑器、菜单编辑器、对象浏览器、网格标尺设置编辑器以及GUI应用属性设置编辑器等。13GUI设计既可以以基本的MATLAB程序设计为主,也可以用鼠标利用GUID工具进行设计,也可以综合以上两种方法进行设计。144
22、系统设计过程4.1系统设计方法在各界面的设计之前,先要收集足够的习题资源和解答,作为一个智能的题库系统,如何将试题按题型、知识点准确的分类并且从题库中检索出符合要求的习题是这次设计重点要解决的问题。为了解决好这个问题,就要利用强大的数学处理软件MATLAB中的矩阵。这里先以填空题为例,填空题共8题,因此在Excel中先做出示每题属性示意表格,表格的行向量对应的是题目的知识点,列向量是题数。选择题的Excel示意表格如表1所示:表1 选择题对应知识点属性值奈奎斯特采样定理110100100DFT110000000FFT000001000IIR000010000FIR001000000离散时间信号
23、与系统000000011根据这个表格就可以在MATLAB中录入一个矩阵命名为ps来规定填空题的属性值,填空题分为6个知识点所以N=6,为了使题库系统具备后期改良完善的优势,可令ps=zeros(N,1),不限定矩阵的列数,这样就可满足系统设计的目标,待习题数增加,即可更新矩阵以及题库。填空题对应矩阵ps的定义代码如下:N=6ps=zeros(N,1)ps(1)=1ps(2)=1save psload psl=zeros(N,1)ps=ps lps(1,2)=1ps(2,2)=1save psload psl=zeros(N,1)ps=ps lps(5,3)=1save psload psl=z
24、eros(N,1)ps=ps lps(1,4)=1save psload psl=zeros(N,1)ps(4,5)=1save psload psl=zeros(N,1)ps(3,6)=1save psload psl=zeros(N,1)ps(1,7)=1save psload psl=zeros(N,1)ps(6,8)=1save psload ps同理选择题、解答题的矩阵定义方法相似。填空题的Excel示意表格如表2所示:表2 填空题对应知识点属性值奈奎斯特采样定理000010000DFT100010000整数倍抽取和内插000000000FFT100000000IIR00000000
25、0FIR001001001DFS000000010离散时间信号与系统010100100选择题对应矩阵的定义代码为:N=8pr=zeros(N,1)pr(2)=1pr(4)=1save prload prl=zeros(N,1)pr=pr lpr(8,2)=1save prload prl=zeros(N,1)pr=pr lpr(6,3)=1save prload prl=zeros(N,1)pr=pr lpr(8,4)=1save prload prl=zeros(N,1)pr(1,5)=1pr(2,5)=1save prload prl=zeros(N,1)pr(6,6)=1save prl
26、oad prl=zeros(N,1)pr(8,7)=1save prload prl=zeros(N,1)pr(7,8)=1save prload prl=zeros(N,1)pr(6,9)=1save prload pr解答题的Excel示意表格如表3所示:表3 解答题对应知识点属性值DFT1000000010FFT1000000000IIR0010000000FIR0011010000DTFT0000000000离散时间信号与系统0100101101解答题对应矩阵的定义代码为:N=7pt=zeros(N,1)pt(2)=1pt(3)=1save ptload ptl=zeros(N,1)p
27、t=pt lpt(7,2)=1save ptload ptl=zeros(N,1)pt=pt lpt(4,3)=1pt(5,3)=1save ptload ptl=zeros(N,1)pt=pt lpt(5,4)=1save ptload ptl=zeros(N,1)pt(7,5)=1save ptload ptl=zeros(N,1)pt(5,6)=1save ptload ptl=zeros(N,1)pt(7,7)=1save ptload ptl=zeros(N,1)pt(7,8)=1save ptload ptl=zeros(N,1)pt(2,9)=1save ptload ptl=z
28、eros(N,1)pt(7,10)=1save ptload ptl=zeros(N,1)pt(6,11)=1save ptload pt本题库统共分欢迎、主、填空题检索、选择题检索、解答题检索、5个母界面,8个填空题、9个选择题、11个解答题共28个子界面。在设计各个界面之间的链接前将所有界面设计好,然后再依据具体的需求单独设置每一个界面的callback函数。4.2系统界面设计4.2.1欢迎界面设计系统欢迎界面的设计指标要既美观又人性化,并且起到一定的指示作用,因此我们将界面拉大可以插入更多的文字和图片。设计界面加入面板(Panel)控件、坐标轴(Axes)控件、按钮(Push Butto
29、n)控件、静态文本(Static Text)组成欢迎界面试题库系统的欢迎界面设计如图2所示:图2 欢迎界面的设计界面在静态文本框中键入需要输入的内容,欢迎界面的上方有题库系统适用的专业、指导老师和设计者的相关信息,右侧的名言警句则用于激励学生们对于这么课程学习的决心,下面是数字信号处理这门课程的简介,在属性设置界面的String栏可以键入文字,而字体大小可以在FontSize中设置,由于窗口大小已设置好,这里将字号设置为14,右下角的按钮可以完成从欢迎界面到主界面的切换。左键双击版面本身弹出设置框color选项可以设置界面的颜色,这里使用清晰醒目的蓝色作为背景色,按钮与背景色呼应,采用一致的蓝
30、色,为了使按钮上的字迹突出引人注意,于是将进入主界面这几个字设置为金黄色,同时把数字信号处理这么课程的介绍框设置为灰色。这个界面不仅可以设置颜色,也可以改变字体大小以及更多的属性设置,设置依设计者喜好而定。欢迎界面的背景颜色设置和介绍框内容设置如图3、图4所示:图3 设置背景颜色图4 设置介绍内容完成这一系列的操作后,保存即可生成HY.fig文件,双击HY.fig观看设计效果:主界面的设计效果如图5所示:图5 欢迎界面4.2.2主界面设计主界面要设计的直观、简洁并且方便学生操作,在主界面的设计中使用到了面板(Panel)控件、按钮(Push Button)控件、静态文本(Static Text
31、)控件。为保证界面颜色的一致性,仍然选择用蓝色和灰色的色调设计界面。在采集题库习题的阶段,绝大部分的习题可以按照选择、填空、解答分类,因此在界面中央摆上三个选择按钮,分别是填空题、选择题、解答题。界面上方插入静态文本,在String中输入有助于使用者操作的提示字样题型分类,右下角标有署名为沈阳大学信息工程学院的字样。主界面的设置如图6所示:图6 主界面的设计题型分类字样是专为使用者标明的,不仅要同背景色一致,还要突出静态文本框中内容,因而在控件属性设置界面中将字样设置为金黄色,以起到突出显示的作用。标识字样属性设置如图6所示:在选择框的左侧插入一个静态文本框和两个按钮,静态文本框中内容设为请选
32、择:,按钮一为系统退出按钮,而按钮二应该具备返回上一菜单的功能,即将按钮二中的String设为返回欢迎界面。设计好的完整的主界面如图7所示:图7 标识字样属性设置窗口图8 主界面的设计运行face.fig可查看主界面效果图主界面效果图如9所示:图9 主界面4.2.3试题知识点选择界面设计试题选择界面共分为选择题知识点选择界面、填空题知识点选择界面、解答题知识点选择界面。由于三个界面的设计理念相似,这里就拿选择题知识点选择界面说明。选择题知识点选择界面的设计,用到了静态文本(Static Text)、按钮(Push Button)控件、检查框(Check Box)控件、面板(Panel)控件。后
33、文中不再出现字体大小和颜色的设置内容,在之前的习题分类中,填空题共可分为6个知识点,每个习题至少满足一个知识点的要求。在Panel控件中添加6个Check Box控件,使Panel和Check Box融为一体。填空题选题界面如图10所示:图10 填空题选题界面的设计该界面需要添加一个标识字样和三个按钮,按钮一功能为开始选题、按钮二功能为重新选择、按钮三功能为返回,其余注意点保证控件与面板颜色的一致性即可,添加按钮和表示如图11所示:图11 添加按钮和标识字样因为选择题选题界面和解答题选题界面的设计和填空题选择界面一致,该过程可略。填空题选题界面、选择题选题界面和解答题选题界面最终效果如图12、
34、图13和图14所示:图12 填空题选题界面图13 选择题选题界面图14 解答题选题界面4.2.4试题界面设计试题类型分为填空、选择、解答题,由于用到的控件不同,因此逐个介绍。填空题的设计用到了GUI中的静态文本(Static Text)、按钮(Push Button)控件、编辑框(Edit Text)控件、面板(Panel)控件。填空题内容设置15:填空题界面的设计如图16:所有控件设置完后,填空题效果图如图17所示:图15 填空题内容输入界面图16 填空题设计界面图17 填空题选择题的设计用到了GUI中的静态文本(Static Text)、按钮(Push Button)控件、单选按钮(Rad
35、io Button)控件、面板(Panel)控件、坐标轴(Axes)控件。选择题设计的注意点是Radio Button控件必须整合为一体,这样在一个Radio Button控件被选中的同时,其余的Radio Button控件不会被选中,选择题设计如图18所示:图18 选择题设计界面设置完毕后,最终效果如图19所示:图19 选择题解答题的设计用到了GUI中的静态文本(Static Text)、按钮(Push Button)控件、面板(Panel)控件、坐标轴(Axes)控件。由于在MATLAB界面中录入解答题的解题过程很难实现,以目前自身的能力也是有所不及,所以设置为按了按钮后弹出另一窗口显示解
36、题过程。解答题设计如图20 所示:图20 解答题设计界面4.3 GUI控件设计4.3.1控件分类和功能新建一个布局(窗口),可以在新窗口中添加如下控件1.静态文本(Static Text)静态文本控制文本行的显示,用于向用户显示程序使用说明、显示滑动条的相关数据。用户不能修改静态文本的内容。2.编辑框(Edit Text)控件用户可以在其中输入或修改文本字符串。程序以文本输入时使用该工具。3.列表框(Listbox)控件 列表框显示选项列表,用户可以选择一个或多个。4.滚动条(Slider)控件通过滑动条的方式指定参数。指定数据的方式可以拖动滑动条、点击滑动槽的空白处,或者点击按钮。滑动条的位
37、置显示的为制定数据范围的百分比。5.按钮(Push Button)控件按钮,当按钮按下时产生操作,如按下OK按钮时进行相应操作。6.开关按钮(Toggle Button)控件开关按钮,该按钮包含两个状态,第一次按下按钮时按钮状态为“开”,再按下时将其状态为“关”。状态为“开”时进行相应的操作。7.单选按钮(Radio Button)控件单选按钮,用于在一组选项中选择一个并且每次只能选择一个。用鼠标点击选项即可选中相应的选项,选择新的选项时原来的选项自动取消。8.按钮组(Button Group)控件按钮组,按钮组类似于面板,但是按钮组的控件只包含单选按钮或者开关按钮。按钮中的所有控件,其控制代
38、码必须写在按钮组的SelectionChangeFcn响应函数中,而不是用户接口控制响应函数中。按钮组会忽略其中控件的原有属性。9.检查框(Check Box)控件复选框,用于同时选中多个选项。当需要向用户提供互相独立的选项时,可以使用复选框。10.列表框(Listbox)控件列表框显示选项列表,用户可以选择一个或多个。11.弹出式菜单(Popup Menu)控件弹出式菜单,当用户点击箭头时弹出选项列表。12.坐标轴(Axes)控件用于在GUI中添加图形或图像。13.面板(Panel)控件用于将GUI中的控件分组管理和显示。使用面板将相关控件分组显示可以使软件更易于理解。面板可以包含各种控件,
39、包含按钮、坐标系及其他面板等。面板包含标题和边框等用户显示面板的属性和边界。面板中的控件与面板之间的位置为相对位置,当移动面板时,这些控件在面板中的位置不改变。154.3.2控件的View Callbacks设置GUI中的控件要实现特定功能需要在控件右击的View Callbacks中详细设置,下面从欢迎界面、主界面、选题界面、习题界面一一说明。欢迎界面中共有两个控件axes1和Push button需要设置View Callbacks功能。其功能为调用一张图片和进入主界面。代码如下:function untitled_OpeningFcn(hObject, eventdata, handle
40、s, varargin)imshow(1.jpg)function pushbutton2_Callback(hObject, eventdata, handles)close(HY)face主界面的设计比较简单,共有5个控件Push button需要设置View Callbacks功能,这5个按钮分别为填空题、选择题、解答题、退出、返回欢迎界面。代码如下:function pushbutton1_Callback(hObject, eventdata, handles)set(0,currentfigure,xzjm); %弹出填空题选题界面function pushbutton2_Call
41、back(hObject, eventdata, handles)set(0,currentfigure,xzjm1); %弹出选择题选题界面function pushbutton3_Callback(hObject, eventdata, handles)set(0,currentfigure,xzjm2); %弹出解答题选题界面function pushbutton4_Callback(hObject, eventdata, handles)close(gcf); %关闭窗口function pushbutton5_Callback(hObject, eventdata, handles)
42、HY %打开欢迎界面填空题选题界面中共有6个Check Box和3个Push button需要设置View Callbacks功能。6个Check Box和3个Push button分别为奈奎斯特采样定理、DFT、FFT、离散时间信号与系统、IIR、FIR、开始选题、重新选择和返回。在界面打开时创建一个6行一列的矩阵msl,当Check Box被选中时,就会使msl矩阵的某一行置1,然后用msl矩阵和4.1节建立的矩阵ps做一个循环比较,若运算结果为1则把对应属性值为1的题目自动弹出,若要选择另一知识点的习题需要点击重新选择按钮,刷新msl矩阵的属性值。代码如下:function xzjm1_
43、OpeningFcn(hObject, eventdata, handles, varargin)msl=zeros(6,1);%建立msl矩阵savefunction checkbox4_Callback(hObject, eventdata, handles)load mslmsl(1)=1; %将msl第一行设为1save mslfunction checkbox3_Callback(hObject, eventdata, handles)load mslmsl(2)=1; %将msl第二行设为1save mslfunction checkbox1_Callback(hObject, e
44、ventdata, handles)load mslmsl(3)=1; %将msl第三行设为1save mslfunction checkbox8_Callback(hObject, eventdata, handles)load mslmsl(4)=1; %将msl第四行设为1save msl function checkbox5_Callback(hObject, eventdata, handles)load mslmsl(5)=1; %将msl第五行设为1save mslfunction checkbox6_Callback(hObject, eventdata, handles)load mslmsl(6)=1; %将msl第六行设为1save mslfunction pushbutton1_Callback(hObject, eventdata, handles)load ps %载入PS矩阵load msl %载入msl矩阵k=0;k1=0;for i=1:8 k=prod(double(ps(:,i)&msl)=msl);%msl和ps做运算 if k=1 eval(t num2str(i);% break end k1=k1+
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922