当前位置: 首页 > 范文大全 > 公文范文 >

MATLAB,GUI设计在数值分析实践教学中的应用

时间:2022-03-18 08:12:24  浏览次数:

摘要:MATLAB GUI是计算结果可视化的理想工具。通过实例展示MATLAB GUI设计在数值分析实践教学中的实际应用,分析实例成效及学生学习体会,并在此基础上就深化数值分析实践教学改革提出思考和建议。

关键词:MATLAB GUI;实践教学;插值法;数值分析

作者简介:谢海(1972-),男,广西岑溪人,桂林理工大学理学院,讲师,武汉大学数学与统计学院博士研究生(湖北 武汉 430072);唐国强(1971-),男,湖南永州人,桂林理工大学理学院,副教授。(广西 桂林 541004)

基金项目:本文系广西教改工程2011年项目(项目编号:2011JGA055)的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2011)27-0142-02

“数值分析”主要介绍科学计算的基本理论与基本方法,联系着非常广泛的背景领域,具有突出的多学科交叉特征,是所有从事与科学计算有关的科技人员都必须掌握的重要数学工具。该课程是信息与计算科学专业、数学与应用数学专业一门主要的专业基础课,很多工科专业也把它作为一门必修课。“数值分析”课程教学包括理论教学和实践教学两大部分。实践教学作为课程教学体系的重要组成部分,与理论教学相辅相成、相互促进、互为补充。必须采取切实有效的措施,使理论教学与实践教学有机融合、协调发展。“数值分析”实践教学包括两类:课程实验和课程设计。“数值分析”课程实验是随堂实验,主要是在“数值分析”理论课教学过程中安排适当的课时对某些重点、难点教学内容进行验证性、操作性、训练性的实验或操作,通过这些实验或操作加深学生对理论课程所涉及的知识、技能和方法的理解,为开展综合性实验打下坚实基础。“数值分析”课程设计则在完成理论课教学后,就某些专题内容进行综合训练,着重培养学生的实践动手能力,提高学生综合分析问题、解决问题的能力,形成初步的科研意识,激发学生的科研潜能。“数值分析”是一门理论性和实践性都很强的课程。大力加强“数值分析”实践教学,是由“数值分析”课程性质、特点所决定的,是推进“数值分析”课程教学整体改革的必然要求。

要有效提高“数值分析”整体教学效果,既要加强理论课的教学,也重视实践课的教学。要提高“数值分析”实践教学成效,必须借助恰当的工具和方法。MATLAB的主要特点之一就是将高性能的数值计算和结果可视化有效融合。利用MATLAB GUI设计非常方便实现计算结果的集成化和可视化,提高计算结果的直观性和可读性。MATLAB GUI设计为“数值分析”实践教学提供了理想实验平台。所谓GUI是指图形用户界面(Graphical User Interfaces),就是通过窗口、菜单、按钮、文字说明等对象(Objects)构成一个美观的界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如:实现计算、绘图等。“GUI是实现人机交互的中介,具有强大的功能,可以完成许多复杂的程序模块。想要熟练快捷地使用GUI,需要具有一定的知识储备和必要的经验技巧。”MATLAB GUI设计在高等数学、数值分析、复变函数、大学物理、电工学电子电路、力学等实践性较强的课程中得到了越来越广泛的应用。

一、MATLAB GUI设计在数值分析实践教学中的应用实例

插值法是一种古老的数学方法,它来自生产实践。随着社会科学技术的发展,插值法应用涉及的领域日益广泛,如:在建筑工程的外观设计、物理实验中的数据分析与处理、地理信息数据的处理、根据离散数据绘制光滑曲线、图形放大算法等方面都发挥着十分重要的作用。所谓插值法是在某个区间上利用给出函数的函数表格,求得一个简单的近似函数来近似函数,而要求这个近似函数在函数表格列出的点处函数值与表格函数值相等,或附加某些条件(例如要求一些点上的导数值相等)。插值法根据插值函数类型来分,主要有:代数多项式插值、三角多项式插值、有理分式插值、连分式插值。代数多项式插值是最常用的插值方式,其内容也是最丰富的,它又可分为五类:非等距节点插值,包括拉格朗日插值、艾肯特插值和利用均差的牛顿插值;等距节点插值,包括利用差分的牛顿插值和高斯插值;在插值中增加了导数插值的埃尔米特插值;分段插值,包括分段线性插值、分段埃尔米特插值和极样条函数插值;反插值。在实际教学过程中,主要要求学生理解掌握的是代数多项式插值。

为了加深学生对各类插值法的理解,提高运用插值法解决实际问题的能力,在“数值分析”实践教学中,曾将“插值法的集成可视化实现”作为“数值分析”课程设计的一个项目供学生选做,有相当一部分学生选择了这一项目。这一项目的主要目的是加深学生对各类插值法的数学原理的理解,提高各类插值算法的设计及编程能力,将各类插值算法进行集成,并灵活运用MATLAB GUI功能将集成结果进行可视化,不断提高MATLAB GUI设计能力。这一项目的基本要求是学会利用MATLAB GUI功能将插值算法进行集成并实现可视化。通过这一实例教学效果,说明MATLAB GUI设计在数值分析实践教学中的实际应用。

为了提高“插值法的集成可视化实现”这一项目的最终效果,引导学生可根据下列步骤开展工作:

一是全方位、多角度理解各类插值法的数学原理、实现思想、计算公式。各类插值法的数学原理、实现思想、计算公式以及适用范围都各有差别、各有特点,全方位、多角度加深对各类插值法的数学原理、实现思想、计算公式以及适用范围的理解,是进行插值法算法设计的基础。要引导学生尽量多查阅相关参考文献,对各类插值法的数学原理、实现思想、计算公式不仅读懂,更要弄通,深刻理解各类插值法的精髓。

二是精心完成各类插值法算法设计。各类插值法算法虽然规模比较小,但俗话说“麻雀虽小,五脏齐全”,因此为了更好地规范学生算法设计行为,培养良好的算法设计习惯,提高算法效率,必须严格要求学生遵循算法设计的基本流程开展工作。每一个环节都要要求认真对待,要按照从事实际工作的要求来要求自己,独立思考,不能抄袭现成的或别人的算法,要尽量降低插值算法的空间复杂性和时间复杂性,提高插值算法运行速度和效率。

三是编程实现插值法算法。根据所设计的插值算法,利用MATLAB加以实现。学生必须对MATLAB编程语言的特点、程序设计风格有充分的了解,并熟悉掌握MATLAB编程技巧,提高编程效率。要注意编程格式的规范性、提高程序的可读性,既要注重程序的通用性,也要突出个人的编程风格。

四是巧妙实现各类插值法的集成化和可视化。将各类插值法的集成化和可视化是“插值法的集成可视化实现”这一项目的重点和难点,具有很强的综合性。利用MATLAB GUI功能实现各类插值法算法的集成化和可视化,需深入掌握MATLAB GUI设计的编程技巧。

二、学生项目成效及学习体会

在这一项目之前,学生没有系统学习过MATLAB相关知识,只是在“数值分析”课程实验教学过程中,为了方便学生顺利完成实验任务,穿插讲解了一些MATLAB基础知识。“插值法的集成可视化实现”这一项目是学生第一次综合性运用MATLAB,因此,学生必须通过自学较全面、熟悉掌握MATLAB设计方法,特别是MATLAB GUI设计方法。学生在完成这一项目过程中,通过查阅大量的文献资料,深入学习并掌握插值法的数学原理和MATLAB相关知识,学生查找、整理分析文献资料能力以及自学能力都有很大的提高。项目的最终软件产品的功能较全面、界面美观、布局合理、操作灵活方便,具有一定的实用性,达到项目要求,得到很好的锻炼。通过项目实践,学生不仅加深了对插值法的理解,而且学会从更高层次、更宽视野看待“数值分析”这门课程。“插值法的集成可视化实现”这一项目的教学成效显著,学生的收获较大、体会较深。

学生1:通过这个项目制作,对插值法的理论知识有了更深的理解,不仅知道了插值法的目的和用途,而且更加了解了插值法的实现过程和方式。通过实习,对编写程序和“数值分析”课程产生了更浓厚的兴趣,感觉到编写程序是一种乐趣。这个项目的难点主要是在三次样条函数编写和函数调用方面。体会最深的是:想完成项目任务不难,但想把项目任务完成得很漂亮就不容易了。

学生2:在这次实习过程中,主要是对Lagrange插值、Newton插值、Hermite插值以及三次样条插值的学习分析。通过查阅大量文献资料,针对它们各自的特点进行算法设计并加以实现。通过学习实践,提高了查找文献资料及运用知识的能力,熟练掌握MATLAB GUI设计方法。通过这次实习,深刻地体会到理论知识的重要性,在注重掌握理论知识的同时,关键是将理论知识应用到实践中。

学生3:通过这次实习,本来以为很简单的东西,竟然花费不少功夫和时间,足以见得自己知识和能力的不足,认识到了学习的重要。平时的学习理论性太强了,真正动起手来做项目的时候才觉得捉襟见肘,因此,最缺少的莫过于实际动手能力的培养。老师不可能什么都教,要靠学生自己去获取,不断学习来提高自己的能力。只有那些曾经付出过汗水的人才会收获即将到来的成功的喜悦。胜利的感觉,在汗水蒸干后才流露。

三、思考与建议

在完成“插值法的集成可视化实现”这一项目过程中,不能搞一刀切,学生就根据自己的实际情况,选择自己最有把握的几个插值法的集成可视化实现。既要注重项目的最终结果,更应重视项目实施过程的实际收获。学生的学习收获主要是在项目实施过程中通过自己的不断感悟获得的,因此对学生的学习既要重视终极评价,更应重视过程性评价,两者有机结合,给学生公正合理的整体评价。通过这一项目的实际训练,让学生体验将数学理论知识转化为可视化软件产品的整个流程,系统掌握MATLAB GUI功能,提高综合开发软件产品的能力,为综合性实习、毕业实习、毕业设计(论文)打下坚实基础。

“插值法的集成可视化实现”只是MATLAB GUI设计在“数值分析”实践教学中的应用的一个代表性例子。在实际教学中,可适当选择“数值分析”其他实验项目让学生利用MATLAB GUI设计加以实现,以提高综合运用MATLAB GUI设计的能力和水平。“数值分析”实践教学从项目的选择到项目的实施,最后到项目的完成,都应充分考虑学生实际情况,让学生积极参与,乐于参与,以生为本,切实提高学生的实践动手能力。

参考文献:

[1]陈垚光,等.精通MATLAB GUI设计(第2版)[M].北京:电子工业出版社,2011.

[2]王正林,等.精通MATLAB科学计算[M].北京:电子工业出版社,

2007.

[3]谢海.基于MATLAB的《数值分析》实验课教学改革实践与思考[J].科技信息,2009,(22):13.

(责任编辑:王祝萍)

推荐访问: 数值 实践 分析 设计 教学中
[MATLAB,GUI设计在数值分析实践教学中的应用]相关文章