探讨MATLAB编程在大学物理教学中的应用和重要意义

2016-04-26 09:45刘慧强段颖妮樊孝喜马远新
科技视界 2016年9期

刘慧强 段颖妮 樊孝喜 马远新

【摘 要】在大学物理教学中许多原理和概念复杂而抽象,数学推导也极为繁琐,尤其用傅立叶变换来分析和解决物理问题,采用传统的口授笔演、解析推导的教学方式,令许多学习理论物理的学生望而生畏、晦涩难懂。随着传统教学和新型多媒体教学相结合的教学方式的普及,将基于MATLAB编程的计算机模拟技术引入物理教学中,有助于把大量复杂公式反映的物理图景以可视化方式展现出来,形成鲜明丰富的物理表象及其变化过程,极大刺激学生对物理学兴趣,增强对物理现象的认识和理解。

【关键词】计算机模拟;MATLAB编程;傅立叶变换;计算全息

0 引言

数字模拟是伴随着计算机的出现和发展而逐步形成的一门学科,是集物理、数学和计算机三者相结合的产物,主要运用计算机对所要研究的复杂问题进行数值计算或模拟实验,一方面,便于我们深刻认识和理解物理现象,另一方面,帮助我们并从中探索和发现新的物理规律。如今,自然科学和技术的发展的各个分支领域,大量物理问题的求解都离不开计算机的辅助,很多未知的科学问题都是通过数字模拟手段进行预测和可行性分析,其重要性已经不言而喻了[1]。

在高等教育中,大学物理已经成为一门普遍的公共基础课,要求本科生对基本物理原理和规律有正确和深刻的认识,从而形成辩证的思维方法和科学的世界观。然而,很多物理学的概念和原理通常涉及到较为复杂的数学知识,如傅立叶变换、线性代数、偏微方程等。在传统的教学方式中,教师必须通过口授笔演、解析推导的繁复过程来描述和解释复杂的物理过程,令许多学生感到晦涩难懂、枯燥乏味,渐渐失去对物理学的兴趣。如今随着多媒体教学手段的介入和辅助授课,使得许多复杂和抽象的物理原理和实验可以通过计算机模拟或数字模拟的手段来帮助学生进行理解和掌握相关知识,同时极大地刺激本科生对物理学的广泛兴趣,对日后从事相关科研工作奠定一个良好的基础和技能。其中,基于MATLAB编程的数字模拟手段日益成为大学物理教学工作者首选的软件平台[2]。

MATLAB是美国Mathworks公司于1984年推出的一种集数值计算、符号预算、可视化建模、仿真和图形处理等多种功能于一体的优秀图形化软件。MATLAB这个名字由Matrix和Laboratory两词的前三个字母组合而成,即“矩阵实验室”(Matrix Laboratory),也是一种以矩阵运算为基础的交互式程序语言,具有以下特点:一是,简捷和智能化,MATLAB适应科技专业人员的思维方式和书写习惯,它用解释方式工作,键入程序后可立即得到结果,人机交互性能好,它不要求使用者像使用C或语言一样,先编写源程序,然后对其进行编绎、连接,最终形成可执行文件,这无疑使得编程和调试效率大大提高。二是,功能强大,包括数值计算和符号计算,计算结果和编程可视化,数学和文字统一处理。三是,MATLAB具有丰富的内部函数,MATLAB程序是由主程序和各种工具包组成的,其中主程序包含了数百个内部核心函数,能适应不同使用者的需要,当前已成为美国和其他发达国家中大学教学和科学研究中必不可少的工具[3]。

为了进一步分析和探讨基于MATLAB编程的计算机模拟在物理教学中的应用和重要意义,本文将利用MATLAB编程来对某些光学现象及其物理过程进行了数字模拟,展示出采用MATLAB编程的简捷直观的图形化方式来加深学生对物理原理和概念的认识和理解,从而揭示其重要的现实意义和巨大的潜在价值,相信一定会成为现代物理教学中不可或缺的辅助工具。

1 利用MATLAB编程模拟物理光学中的衍射规律及应用

1.1 利用离散快速傅立叶变换模拟夫琅和费衍射光强分布的数字模拟

傅立叶变换在物理学中有着广泛的应用,傅立叶分析方法使得许多复杂的物理问题得到了简化和分解,从而提供了一条有效而普遍的解决方案,在光学、电学、热力学等众物理学多分支领域中日益发挥着约越来越重要作用。在衍射光学中,我们知道夫琅和费衍射场的强度分布就等于衍射屏函数的功率谱[4],可以直接将衍射屏进行傅立叶变换,然后处理得到衍射图样。根据衍射光学可知,夫琅和费衍射场的复振幅分布U(x,y)在空域中是个复杂的卷积公式,其形式如下:

因此,在空域中复杂的夫琅和费衍射光场的复振幅分布公式就可以利用MATLAB编程进行直观的图形化模拟,衍射屏的生成可以直接由MATLAB矩阵运算生成,也可利用Windows下的画图工具生成,计算机模拟流程图如图1所示:

图1 夫琅和费衍射的数字模拟流程图

针对一些常见衍射光屏的夫琅和费衍射光强分布的计算机模拟结果如图2所示:首先,从图2(a)和(b)可以明显看出圆孔的艾里斑,且孔径越小,衍射现象越明显。其次,从图2(c)和(d)明显看出方孔的衍射花样分布,且衍射光强的分布方向沿着孔径直边的法线方向扩展,孔径越小,衍射越明显。最后,图2(e)和(f)模拟出一些有趣的字母和符号形状的衍射屏的夫琅和费衍射光强分布,其空间矢量的分布与孔径大小和形状的变化规律,和物理推导公式完全吻合,从而正确直观地展现出夫琅和费衍射的普遍物理性质和规律。

图2 不同大小孔径衍射屏的夫琅和费衍射光强分布

(a)和(b)分别是圆孔和它对应的衍射光强的分布;(c)和(d)分别是方孔和它对应的衍射光强的分布;(c)和(d)不同字母和符号形状的衍射屏的夫琅和费衍射光强分布。

1.2 菲涅耳衍射光场的传播和边缘增强效应的数字模拟

根据公式(5)和(6),利用快速离散傅立叶变换结合MATLAB编程对二维衍射屏-Lena图像进行菲涅耳衍射光场传播的计算机模拟,其结果如图3所示,可以形象直观地看出菲涅耳衍射传播规律,从(b)到(f)依次随着传播距离Z的不断增大,其边缘增强效应越发显著,边缘振荡不断向外扩展,且展宽不断增大,完全符合并且验证了菲涅耳衍射传播的物理性质。

图3 Lena图像的菲涅耳衍射光场的强度分布随传播距离的变化情况

(a)原始Lena图像;(b)Z=1m;(c)Z=2m;(d)Z=4m;(e)Z=8m;(f)Z=16m.

1.3 采用MATLAB编程制作傅立叶变换计算全息图

利用光波的数学描述,通过计算机对想象中的物体形成模拟干涉图,并将其绘制或复制在透明胶片上,这种计算机合成的全息图称为计算全息图(Computer-Generated Hologram:CGH)[5]。因此,无需实物,只需知道该物体的数学表达式,即可用计算全息记录下物光波,从而再现出二维或三维虚构像,这样可以帮助学生有效理解全息的抽象制作过程,直接在计算机上观察和感受全息的成像原理和成像特点,从而激发学生的学习兴趣和创新精神,制作自已感兴趣的不同傅立叶变换全息图。下面,我们通过MATLAB编程制作一幅傅立叶变换计算全息图,对复数波面采用迂回相位编码方法,直接对抽样点上的复数波面的振幅和相位进行编码,其具体流程如图4所示:

图4 采用MATLAB编程制作傅立叶变换计算全息图的流程

从图5可以明显看出其特点是被记录的复数波面是物波函数的傅立叶变换,由于这种全息图再现的是物波函数的傅立叶谱,所以要得到物光波本身,必须再通过一次傅立叶逆变换,这与光学傅立叶变换全息图原理是一致的。

图5 光字屏傅立叶变换计算全息的制作

(a)光字衍射屏;(b)傅立叶变换全息图;(c)再现所编码的全息图.

2 结论

综上所述,我们可以从不同的应用实例看出,结合MATLAB编程的计算机模拟技术给复杂冗长的物理学公式和原理的讲解中,提供了一个直观清晰的图形化说明,尤其对抽象的物理概念赋予了更丰富的感性认识,使得学生再学习过程中更容易同复杂的公式产生共鸣,刺激物理学习的兴趣和对抽象物理概念的理解。因此,在大学普通物理教学中引入MATLAB计算机模拟技术正日益受到重视和普及。另外,学生们利用MATLAB可以对一些物理问题建立数学模型,给出清晰的图像化解释的过程中,可以极大的培养学生的发散性思维和从模拟中发现问题,拓展想法,发现和总结物理规律,为今后的科研工作打下良好的基础。最后,与Basic、C和Fortran相比,用MATLAB软件对物理实验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编程过程。基于以上论述,利用和推广MATLAB编程的计算机模拟技术必将会其成为我们大学物理教学过程中不可或缺的有力工具和从事高校科研的有利平台。

【参考文献】

[1]李晓莉,张建飞.计算物理的教学改革研究与实践[J].物理通报,2010(8):57.

[2]胡守信,李柏年.基于MATLAB的数学实验[M].北京:科学出版社,2004.

[3]张铮,杨文平,石博强,李海鹏.MATLAB程序设计与实例应用[M].北京:中国铁道出版社,2003.

[4]苏显渝,李继陶.信息光学[M].科学出版社,1999.

[5]叶伟国,余国祥.大学物理[M].北京:清华大学出版社,2012.

[责任编辑:王楠]