APP下载

利用MATLAB提升学生解决实际问题能力的探索

2023-08-20许亮程庆庆王宁刘一

创新创业理论研究与实践 2023年12期
关键词:示例编程语法

许亮,程庆庆,王宁,刘一

(上海理工大学 光电信息与计算机工程学院,上海 200093)

MATLAB 实际是Matrix 和Laboratory 两个英文单词的组合,因此又称矩阵实验室,起源于20 世纪70 年代,后发展为由美国MathWorks 公司出品的成熟商业数学软件。它以简单易学、代码高效、强大的并行处理和图形能力风靡全球。如今,MATLAB 已成为一个极其重要的数学工具。

MATLAB 的创始人之一、第一版MATLAB 软件的作者Cleve Moler,在新墨西哥大学教授线性代数和数值分析期间,为降低学生使用当时最先进的矩阵运算函数库EISPACK 和LINPACK 的学习成本,开发了MATLAB。可见MATLAB 自诞生之日起就与辅助教学密不可分。当前,理工类学生习惯记忆课本知识,而缺乏对知识的理解和灵活应用能力。因此,如何培养学生将实际问题抽象成相应的数学模型并使用MATLAB编程对问题进行分析的能力和兴趣,已成为教育界关注的问题之一。本文将从教育研究的角度出发,探讨如何带领学生学习MATLAB 编程,培养学生使用MATLAB 编程来辅助学习,使学生从仿真计算中逐步积累信心和兴趣,最终引导学生探索科研成果。

1 MATLAB基础语法和函数库教学

为了帮助学生更好地掌握MATLAB 编程,教授基础语法和函数库是必不可少的。学习MATLAB 基础语法是学生入门的第一步,但对许多学生来说也是最枯燥的一步。这主要是因为MATLAB 的基础语法相对复杂,需要大量的记忆和练习。这其中包括基本语句、语法和数据类型等。此外,由于很难直接将这些基础语法与实际问题联系起来,因此往往缺乏趣味性。因此,如何寓教于乐对授课教师是一大挑战[1]。

在这个阶段,教师应该首先用一些生活中比较常见的例子来比喻MATLAB基础语句的运行逻辑。例如,可以将MATLAB 中的数组类比为一台取款机,数组中的每个元素代表不同的银行账户,每个账户上都有一定的余额。当我们想要读取数组中特定元素的值时,就好比在取款机上输入相应的账户号码,如果想查看第三个账户的余额,可使用以下语句:balance=account(3)。在MATLAB 中,这条语句可以将数组account中第三个元素的值赋给变量balance。通过模拟从账户中取走100 元钱的过程,学生可以学习如何定义变量和数组、如何执行基本算术运算以及如何使用条件语句等。类比取款机的存取款操作流程,可以帮助学生理解MATLAB 中基础语句的执行逻辑,使学习MATLAB 基础语法更加形象生动。

此外,学生还可以利用MATLAB 官方文档中的示例代码更加有效地自主学习。在文档中,学生不仅可以利用搜索功能快速查找所需的信息,而且很多函数都会提供示例代码,这些代码可以帮助学生更好地理解函数的功能和使用方法。学生可以尝试运行这些示例代码,探索不同的输入参数对函数的影响,从而加深对函数的理解。

2 MATLAB 辅助课程教学

在完成上述内容学习后,学生应该对MATLAB 的基础语法和函数库有了一定的了解。由于高等数学和专业的物理知识通常具有较强的抽象性,运算过程也往往非常复杂,因此学生可能会感到难以理解从而产生畏难心理。例如,在电磁学中,时变电磁场相互耦合的物理过程[2];在数学物理方法中,通过求解点源产生的场来推导出实际源产生的场的格林函数法、基于勒让德多项式的高斯-勒让德积分法[3];以及被广泛应用于物理学和工程领域的鞍点法等[4]。在教学中,教师首先应向学生展示如何使用MATLAB 编程将课本上的公式可视化,并对其中的几何/物理图景进行描述,使学生产生一个感性的图像认识[5]。其次再指导学生自己动手来实现这一过程,从感性认识上升到理性认识。在传统的教学模式下,学生往往会认为自己已经理解了所学知识,但在实际动手过程中,很容易暴露出对知识点一些细节理解不足。这种方法也方便教师有针对性地讲解与补充相关知识。最后,通过调整重要参数,学生可以直观地感受到该参数对结果的显著影响。利用MATLAB 将抽象的问题具像化,有助于学生更好地理解数学概念,并显著提高他们的学习兴趣和课程的教学效果[6]。

3 将理论教学与实践结合培养学生的兴趣和能力

理论知识可以通过课堂讲解、课外阅读等方式进行学习,而实践技能则需要通过实际编程操作才能掌握。教师应该让学生在理解理论知识的基础上,通过实际操作来掌握相关技能,这样可以加深学生对MATLAB 编程的理解和掌握程度。目前,MATLAB 教学多以课本中的经典示例为主,然而,学习这些经典示例的过程通常缺乏趣味性,很难激发学生的学习热情[7]。因此,在高等教育中,教育工作者应该改变统一流程和标准的传统教学方法,更多地关注每个学生的兴趣点,来引导他们将所学知识应用到实际问题中。高质量的人才培养离不开扎实的实践教学,这就要求教师具有丰富且广泛的工程实践经验[8]。

另外,教师在引入示例时必须要考虑到示例的趣味性、挑战性以及多样性。这些示例要有足够的挑战性,以激发学生好奇心并产生学习动力,同时还要让学生亲身体验不同技术的应用,难度不能太大,以免打击学生的自信心,特别是当示例与学生的专业不直接相关时。例如:对于喜爱音乐的学生,教师可以引导他们使用傅立叶变换对自己喜爱的音乐进行频谱分析,通过调制音乐的频谱来观察不同频段对音乐的影响,从而使学生更深入地理解信号与系统课程中所学到的傅立叶变换、采样定理、滤波器等重要知识;对于喜爱科技的学生,教师可以引导学生对三体问题、电偶极子模型以及多光束干涉等重要的基础理论知识进行仿真计算[9],让学生更深入地理解混沌系统对初值条件的敏感性、天线/微观粒子如何辐射电磁波信号以及5G基站如何通过波束成形的方法来增强信号的强度和传输距离。此外,几乎所有的工程类学科都将越来越多地融入机器学习和AI 方法,教师可以引导学生使用深度学习对图像进行分类,使学生了解AI 技术;类似的还有视频/图像处理、编/解码以及数据可视化等方面内容有待教师探索[10]。这些只是简单的示例,教师可以根据自己的教学需要和学生的实际情况,设计更为具体和实际的问题,以培养学生独立解决问题的能力[11-12]。在整个MATLAB 教学过程中,教师主要扮演引导者的角色,鼓励学生自主学习MATLAB官方文档,在学生遇到问题的时候提供一些可能有用的函数或数学方法,而不是直接告诉学生答案。在激发学生兴趣的同时,培养学生应用MATLAB编程解决问题的能力。教师的主要任务是为学生指明前进的方向,而将学习的主动权交还学生。

4 引领学生接触最新的科研成果

课本上的知识往往会滞后于现代科学和技术的发展,这可能会使一些学生感到困惑,不知道这些知识的实际用处在哪里,从而影响他们学习的积极性。因此,教师应该根据学生的专业需求,提供适合的科研论文,并引导学生使用MATLAB 编程来复现论文中相对简单的结果,或直接参与科研项目,承担一些相对简单的工作[13]。通过有针对性地布置编程任务并注重对学生实践操作过程的监督和指导,可以锻炼学生运用MATLAB 编程解决科学前沿问题的能力,教师对学生操作中出现的错误及时纠正,使学生掌握正确的操作方法。同时,在阅读论文的过程中,学生也可以对自己专业的前沿发展方向有更加清晰的认识[14]。

以光学相关专业为例,学生可以使用MATLAB 对涡旋光束的光场分布和相位分布进行仿真,从中了解未来光通信技术的发展方向;也可以对基于干涉的全光逻辑门进行仿真,了解下一代计算设备核心部件硅光芯片的发展。在实际的科研项目中,MATLAB 可以被用于数据处理、数值计算、仿真模拟等方面。在这一过程中,学生可以进一步掌握MATLAB 编程的实际应用技能,并通过科研项目提升自己的科研能力和实践能力。

5 结语

本文强调了MATLAB 在高等教育中的价值,并讨论了如何通过多种教学方法来培养学生使用MATLAB解决实际问题的兴趣和能力。首先,可以利用日常生活中的例子来激发学生的学习兴趣,提供MATLAB 官方文档,帮助学生自主学习基础语法和函数库,从而使学生奠定良好的编程基础。其次,将MATLAB 教学融入基础课程的讲解,通过形象的演示和描绘书本知识的几何/物理图景,并从动手操作中了解学生的认知缺陷,通过针对性的讲解,提高学生的学习效果。

总的来说,MATLAB 是一个非常有用的数学工具,可以帮助教师和学生更好地理解和应用书本中的各种概念。锻炼和提高学生对使用MATLAB 编程解决实际问题的能力和兴趣,需要教师精心运用多种教学方法和巧妙设计教学实例。在课程教学中注重实例教学,将理论教学与实际问题相结合,带领学生了解行业前沿的科研成果以及个性化教学等,都可以有效提高学生的学习热情,帮助学生达成学习目标。

猜你喜欢

示例编程语法
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
2019年高考上海卷作文示例
常见单位符号大小写混淆示例
常见单位符号大小写混淆示例
跟踪导练(二)4
“全等三角形”错解示例
Book 5 Unit 1~Unit 3语法巩固练习