首页 > 范文大全 > 正文

基于Matlab的智能计算课程可视化教学

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Matlab的智能计算课程可视化教学范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:智能计算是一种新兴的演化计算技术,在工程等领域有着广泛的应用。本文剖析了将MATLAB引入智能计算课程教学的可行性和必要性,探讨了可视化教学的实施方案。教学实践表明,基于matlab的可视化教学能使抽象的理论形象化、静态的模拟动态化,从而增强学生的感性认识,提高教学实效。

关键词:智能计算;MATLAB;可视化教学

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2013)17-0263-02

智能计算就是借助现代计算工具来模拟生物的智能机制和行为以及生命的演化工程而实现信息获取、处理及利用的理论和方法,在模式识别、图像处理、建模与预测、非线性系统辨识与控制、生物信息学等领域有着广泛的应用。智能计算课程包括人工神经网络、遗传算法、模糊计算和群智能计算等内容,其中所涉及的基础理论和专业知识相当广泛,其特点为算法多、理论证明通常具有一定的难度[1]。用传统的方法进行授课教学过程容易枯燥,因此迫切需要对该课程的教学内容及教学方法进行改革和创新[2]。

MATLAB是一种简洁直观、灵活高效的计算机语言,使用C语言编写,以矩阵作为基本数据单位。MATLAB程序具有很好的可读性、可扩展性和可移植性,可以和Excel,Fortran,C,C++Builder,VB,VC++等集成编辑环境及应用程序进行交互。MATLAB由语言、工作环境、工具箱和API等部分组成,它为海量数据的分析、处理、可视化及应用程序的开发提供了核心的数学和高级图形工具[3]。

可视化教学指的是用科学仿真的方法将抽象的概念直观地表示,把事物的本质从繁杂的自然表象中予以提取,把难以观察到的现象加以形象地模拟,目的是让学生用直观感知世界,用本能去领悟知识[4]。由于计算机及多媒体技术的不断发展,这种教学手段在数学、物理和力学等理论性较强的学科中得到了普及与应用。将MATLAB可视化技术引入到智能计算课程的教学,可以增强学生的感性认识,使学生能够快速地理解算法运行的机理。这不仅缓解了教师的教学压力、丰富了课堂教学的内容,同时也提高了学生的学习兴趣与热情,使其变被动学习为主动参与,提高了教学实效。

一、在教学中引入可视化的可行性和必要性

智能计算算法多、与实际应用联系紧密,对前导课程如高级程序设计语言和数据结构等要求较高,而传统的非可视化开发工具实验结果不直观,不利于学生对算法原理的理解和掌握。例如,离散的Hopfield网络具有联想记忆的功能,教材中这一单元的内容一般包括Hebb学习规则、权值设计方法、影响记忆的容量等,抽象且难于理解[1]。如果在理论教学之后辅以MATLAB可视化教学,通过设计一个简单的三元Hopfield网络[5],就能很方便地观察到所生成的一些随机点动态地收敛到平衡点的情况,从而对系统的稳定点和记忆之间的关联就有了一个非常直观的认识,便于对理论知识的理解。由此可见,可视化是理论教学工作一个必要而又有益的补充,是现代化教学不可或缺的重要手段。

二、可视化教学的组织与实施

1.研究可视化教学的规律及特点,设计出科学合理的实施方案。可视化教学首先应该遵循“数学理论为主,典型算例为辅”的教学理念和原则。因为理论知识固然抽象难懂,但它却是教学的基础与根本。如果忽视了对算法机理的了解,学生在学习时就会停留于表面,缺乏对事物本质的认识与把握。因此在教学活动中必须对理论知识讲深讲透,在此基础上再实施可视化教学。可视化技术外在具有形象、生动、直观的特点,内在蕴含图文丰富、信息量大等特征,该技术的合理运用可使学生在学习时能将逻辑思维与形象思维有机地结合,培养思维的灵活性和多样性。为此,教师在课前必须充分了解教学目的和教学任务,根据学生的接受能力对教学内容进行筛选与组织,设计出合理的教学信息量,避免多而全。同时在讲课时要注意把握好节奏,控制好PPT的演示时间,让学生有足够的时间进行思考,以确保对授课内容的消化和理解。此外,在教学过程中还要鼓励学生多发现、敢质疑、善讨论,引导他们开展探索性的学习,激发其学习的主动性和创造性。

2.由浅入深,使学生逐步掌握可视化程序设计的方法。开展可视化教学的宗旨简言之就是教师要讲清楚、学生要听明白,而实现这一目标的关键要素之一就是学生要对程序设计非常地熟悉。为此,教师要发挥引领作用,从一些基础的知识入手,帮助学生快速入门。开始的时候,教师在讲清程序的总体框架及运行步骤后,要对程序逐行进行讲解。在学生理解和明白各函数、语句的含义之后,再运行程序进行演示。下课时让学生把典型的程序拷贝下来,便于课后研读和理解。在完成“听+看”阶段的教学之后,按照循序渐进原则,引导学生逐步习惯于自己动手编程。

例如,SOFM网络在学习过程中不仅能够对输入样本进行分类,也能学习输入样本的拓扑结构和分布。借助Matlab神经网络工具箱容易设计出下面的演示实例[5]:P=rands(2,2000)*0.5;net=selforgmap([5?摇5]);[net,tr]=train(net,P)。而网络训练的结果可以从程序运行结束后所生成的系列图形(如模式分类结果图、获胜神经元统计图、邻近神经元距离分布图等)直观地观察到,方便了学生对背景知识的理解和掌握。在布置课后作业时,首先要求学生模仿上述范例,对平面上元素分布相对集中的若干个子点集进行自然分类(例如:P=nngenc([0?摇1;0?摇1],9,10,0.05);net=selforgmap([3?摇3]);[net,tr]=train(net,P)),然后鼓励学生尝试解决鸢尾花种类识别等问题。通过这类简单、基础的练习,学生就能够逐步克服编程恐惧心理,会对编程产生浓厚的学习兴趣。再结合大量的练习和实践,基本上就可以做到熟能生巧、学以致用。

3.追踪本学科的发展动态,不断完善程序库的建设。程序库是可视化教学的“硬件”,也是可视化教学成功的前提与保证。在程序库建设过程中,我们采取了向外搜集(网络、书刊等)和自主研发相结合的模式。自主研发除了本科研团队在做的,也指导学生在生产实习及毕业设计中完成,内容包括利用智能算法解决一些优化问题(如博弈论中的囚徒困境模型)或者是设计制作智能算法(如蚁群)工具箱等。课题完成后将其收入算法的程序库中,用于后继课的教学。

参考文献:

[1]吴微,周春光,梁艳春.智能计算[M].北京:高等教育出版社,2009.

[2]尚荣华,李阳阳,焦李成,侯晓慧.智能计算导论课程建设研究[J].计算机教育,2011,(10):52-54.

[3]施阳,李俊.MATLAB语言工具箱—TOOLBOX实用指南[M].西安:西北工业大学出版社,1998.

[4]尚涛,石端伟,安宁,张李义.工程计算可视化与MATLAB实现[M].武汉:武汉大学出版社,2002.

[5]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].合肥:中国科学技术大学出版社,2003.

基金项目:本文受大连理工大学2012年教育教学改革基金项目MS201271资助