薛耀红,权 巍,曲福恒
(长春理工大学计算机科学技术学院,长春 130022)
Matlab是由美国的Mathworks公司推出的数学软件。该软件集成数值分析、矩阵计算、科学数据可视化,以及非线性动态系统的建模和仿真等诸多强大功能于一个易于使用的视窗环境中,并提供了大量的内置函数,被广泛应用于科学研究、工程设计,以及必须进行有效数值计算的众多科学领域。Matlab极大地摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。Matlab的强大功能主要包括:
(1)数值计算、符号计算功能强大,语言简单且运算效率高,使用户摆脱繁杂的计算过程。
(2)专业应用工具箱和函数库的功能丰富,且用户可编写自己的函数,对工具箱进行扩展。
(3)图形处理功能完备,高效地实现计算与仿真结果的可视化。
(4)用户界面友好,编程语言自然,编程简单直观。
Simulink是基于Matlab的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真[1]。它的建模范围广泛,可以针对任何能用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通信系统等,其中包括了连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等,利用Simulink几乎可以做到不书写一行代码即完成整个动态系统的建模工作。此外,Simulink与Matlab紧密集成,可以直接访问Matlab用大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制,以及信号参数和测试数据的定义。毋庸置疑,Simulink已成为在动态系统建模和仿真方面应用的最为广泛的软件包之一。
鉴于Matlab强大的科学计算功能,国内很多大专院校的电子、通信、计算机、软件的本科专业都开设这门课程作为选修课。特别是近十几年来,科学技术尤其是计算机技术迅速发展带动了自动化领域的知识结构和技术手段不断进步,促使新的教学方法和辅助教学的手段不断涌现。特别是在自动控制、系统仿真等领域,Matlab/Simulink语言已经成为国外许多高校在教学与科研中首选的计算工具。此外,国内外的许多控制、仿真类教材中,在包含传统的实验内容的基础上,都纷纷增加了Matlab仿真的内容。由此可见,将Matlab引入本科生、研究生的相关专业的实验教学已成为当前国际上发展的一种大趋势。
以往的Matlab/Simulink选修课,多采取课堂讲授这种单一的教学模式,不安排实验课或实验课以辅助形式出现。这种教学模式缺乏可视化的直观表现,抑制了学生的学习积极性,严重影响了课程的教学效果。有些教学大纲即使安排了实验课,也只是在授课期间穿插三到四次,且内容多为验证性实验。受实验内容的影响,加之实验场所和试验设备等因素的限制,学生做完实验后,仍对实验的内容比较模糊。多数学生对知识原理内容的理解仍然是停留在课本上,对一些概念和结论仍然感觉比较抽象,缺少感性认识,这样的实验课形式非常不利于培养学生的学习热情和创新能力。所以,如何增强学生对课堂知识的理解和掌握,培养学生综合应用Matlab/Simulink解决实际计算机仿真问题的能力,最终达到提高学生学习的兴趣和积极性目的,成为实验教学亟待解决的关键问题。
传统实验教学的局限性促使许多高校教师不断地对硬件实验的教学改革进行探讨和研究[2-8]。笔者根据自身的专业理论与实验教学的经验,结合Matlab/Simulink课程的特点及目前国内实验教学现状,提出以下三点改革方案。
Matlab课程可作为基础平台课程,安排在专业课之前开设,以便于后续专业课学习时的应用。最好的Matlab课程设置方案是将其与专业课同一学期开设,从而达到Matlab实验课程和专业课穿插进行、相辅相成的目的。
首先,对于教师来说,两门课程穿插进行,为便于学生进行实验,就要求教师尽量选择含有Matlab仿真实验内容的教材,而不是一味钻研生涩难懂的理论知识,这样能提高学生对理论知识的理解贯通能力以及动手能力,形成一种有效的“理论+实训”的教学模式;另一方面,这样的课程设置方案也有利于Matlab实验课的内容与专业课的内容相配合,要求实验教师严格根据专业课教材中的主要内容、重点内容确定实验目的,设计实验内容,编写出既包含传统Matlab实验又包含对应专业课仿真内容的实验教程,在每一堂实验课都能做到有的放矢。教师在规定学生完成一定的实验计划和要求的前提下,可以鼓励学生不拘泥于教程中的做法,引导学生进行一些创新改进,或让学生自己提出实验研究课题,重新设计不同的实验方案,独立或与同学合作进行实验。
其次,从学生的角度来说,由于Matlab界面直观、程序语言结构简单,便于理解掌握,并且具有强大的数据可视化能力的特点,这样便于学生自己编写程序实现对所学理论知识的验证,能充分地调动学生的独立思考能力,并有效地提高学生的创新能力;同时,由于Matlab具有强大的数值运算能力,实验过程的运算误差可以得到有效地控制,能有效确保仿真结果与理论分析的一致性,这样可以增强学生学习专业课的自信心,激发学生的动手兴趣。
此外,Matlab实验课程应该做到单独开课,单独考核,以得到学生的足够重视。在实验课的教学方法问题上,教师在教学过程中应着重激发学生的积极主动性,以学生为主体,以教师为主导,注重师生之间的教学互动。在实验课讲授过程中应该有适当的提问,与学生就实验项目、实验过程、可能的实验结果等各方面展开讨论,让学生不仅知道怎么做更要明确为什么这么做,引导学生独立完成实验并分析实验结果,最终得出科学的实验结论。
从实验的教学功能来看,实验一般可分为验证性实验、综合性实验及设计性实验。验证性试验其结果已经给出,其预期一般就是题目所给的结果;综合性实验是指实验内容涉及本课程的综合知识或与本课程相关课程知识的实验,要求学生综合解决较复杂的问题,培养学生综合已学到的理论解决新问题的能力;设计性实验是指给定实验目的要求和实验条件,由学生自行设计实验方案并加以实现的实验,设计性实验旨在考察并培养学生的科研创新能力。在实验内容的性质设置方面,教师应遵循厚基础、重能力培养、加强创新的原则建设实验教学体系,构建四个层次实验和实践教学体系结构。在确保基本的验证性实验质量的同时,加大综合性、设计性实验的比例,彻底改变目前实验教学中综合性、设计性实验所占比例较少的现状,达到加强学生科研创新能力的培养的目的。
此外,教师在安排实验顺序时,应本着由浅入深、循序渐进的教学原则,先安排简单的验证性实验,继而逐渐过渡到略为复杂的设计性实验,最终设计复杂程度较高的综合性实验,潜移默化中加强学生解决实际问题的能力,并使学生一直保持较浓的学习兴趣。具体对于Matlab/Simulink这门课程的实验教学来说,实验课内容和开设顺序必须紧跟专业理论课的教学内容由浅入深、逐步推进。学生首先通过专业理论课的学习对仿真系统和系统各个参数的含义有了初步印象;紧接着在随后开展的验证性实验课中通过实验对专业课理论中的各个参数得到了深入了解,对参数具有了比较直观的感受;继而再通过设计性实验中,通过搭建仿真模型,并在Simulink仿真环境中变换这些参数,进一步了解各种参数校正方式的优缺点。这样不仅巩固了学生对于仿真系统的理论知识,而且还能加深对知识的理解和应用,拓展学生的思维。
最后,通过综合性实验课的开展,引导学生进入复杂度更高的系统仿真和分析,有利于提高学生理论设计、计算机仿真及相应的实物制作与系统调试的综合能力。在实验环境的改革方面,实验室必须配备充足的学生电脑,保证人手一机,每个同学都有足够的上机时间;实验室还应该配备多媒体教学设备,方便教师及时给班级演示仿真程序,和学生分析讨论仿真结果。
根据实验教学要求,实验课应与理论课教学一样,实行实验单独考核,制定严格的考核制度。认真抓好实验课程考核,对于提高实验课的教学质量,树立良好的学风,推动素质教育有着重要意义。
为了客观地评价学生的实验效果,成绩评定内容上应包括三个组成部分:实验上机成绩、实验报告成绩与期末考核成绩。每次实验的上机成绩应占总分的50%左右,这样促使学生必须在思想上把实验课上机操作重视起来,认真对待每次上机机会;而实验报告通过让学生用书面的形式描述实验过程、记录实验数据、分析总结实验结果,能更好地让学生体会科学探究的过程,有利于培养学生对实验的兴趣,从而提高实验技能。实验报告成绩应占总成绩的20%左右;其余30%就是期末的上机操作考核成绩,有利于督促学生在期末的时候对该学期学到的理论知识和实验技能进行概括总结、复习巩固并融会贯通。此外,要提高实验成绩在学生总成绩中的权重,引起学生对实验课的足够重视,实验成绩在总成绩中的权重应尽量达到40% ~50%左右。在考题的设置上,教师应该多出一些理论和实践相结合的试题。例如,教师可以出一个考察校正控制系统的试题,在试题中提供一些系统参数的初始值,要求学生进行理论推导与计算,并结合计算结果建立仿真模型并进行分析。教师可在试题中设置一定的仿真目标,要求学生根据实际的仿真结果对出现的问题进行分析,并通过调节初始参数对系统进行反复校正,直到系统的响应曲线与试题设定的目标吻合。整个考试过程涉及的所有的数学运算都通过Matlab软件完成,这样可减少复杂的运算对学生考试的影响,使得考试的重点放在学生理论和实践综合应用能力的考察上,既减轻了学生考试的负担,又提高了考察效果。实践证明学生普遍更欢迎这种实验课的成绩考核方法,认为考试成绩更能体现出自己的实际能力。
传统的实验室和实验教学方法及内容已无法满足高等院校培养学生的目标需求,故需深化高校实验教学改革。Matlab/Simulink实验教学改革,可大大提高控制系统、系统仿真等专业理论课程的教学质量,改善实验效果,既调动了学生学习理论知识积极性和创造性,又培养了学生的分析、设计和调试控制系统的能力;同时,还解决了现阶段各高校学生人数多、仪器少之间的矛盾,进一步降低了教学成本。
[1]黄忠霖.控制系统MATLAB计算及仿真[M].北京:国防工业出版社,2001:2-10.
[2]高飞,富爽,刘羽楠.基于MATLAB的自动化专业实验教学改革研究[J].中国电力教育,2009(1):121-122.
[3]王秋艳.基于MATLAB教学平台的自动控制理论教学改革与实践[J].辽宁工学院学报,2006(2):122-124.
[4]蔡启仲.控制系统计算机辅助设计[M].重庆:重庆大学出版社,2003:50-58.
[5]张小娟.信号与系统实验课程教学改革的研究与探索[J].价值工程,2011(30):204.
[6]孔军,蒋敏.Simulink在信号与系统实验教学中的新探索[J].中国科技信息,2007(24):271-273.
[7]梁丽娟.MATLAB虚拟平台对信号与系统实验进行仿真分析的探讨[J].邢台学院学报,2011,26(2):176-177.
[8]严晓兰.基于Simulink的信号与系统仿真实验研究[J].实验科学与技术,2008(6):3-5,8.