第21卷第2期(2005) 河西学院学报 Vol.21 No.2(2005)
MATLAB在波动光学教学中的应用
韩振海 贺德春
(河西学院物理系,甘肃 张掖 734000)
摘 要:在介绍MATLAB语言的特点并分析目前光学课程教学现代化过程中所存在问题的基础上,通过教学仿真实例阐述了数学软件Matlab应用于波动光学教学中的可操作性和必要性.将Matlab软件和波动光学教学有机地结合起来,能帮助学生建立直观的物理图像,更好地理解物理概念,能激发学生的研究兴趣,有助于学生科学素质的提高.
关键词:波动光学;教学现代化;MATLAB;仿真
中图分类号:O436.1 文献标识码:A 文章编号:1672-0520(2005)02-0126-03
1 MATLAB语言的特点
MATLAB(Matrix Laboratory,矩阵实验室)是一个适用于科学计算、工程设计、数值分析等领域的各种计算、演算和仿真分析的高性能的数学软件系统,它集数值分析、矩阵计算、信号处理和图形显示于一体,构成了一个方便的界面友好的用户环境.自1984年由美国Mathworks公司推向市场以来,经过近20年的竞争和发展,现已成为国际公认的最优秀的科技应用软件.该软件具有如下特点:
(1)强大的数值计算和符号运算性能.(2)操作界面简单,编程语言自然.MATLAB以复数与矩阵为计算单元,使用常用的数学符号和数学表达式,用MATLAB编写的程序与科技人员的书写习惯相近,易于在科技人员之间交流.
(3)可以很方便地把复杂计算过程编成一个函数程序,以后可以随意调用,避免应用中的重复.
(4)先进的数据可视化功能.提供了大量的图形例程,可方便地实现数据的可视化.Matlab内部利用图形句柄控制图形的显示,图形句柄定义了一个图形对象集:包括直线、表面、文本等,同时提供了这些对象的操作方法.MATLAB提供的高级图形命令,可以绘制出曲线图、极点图、等高
———————————————收稿日期:2004-07-16
线图、网格图、表面图、阴影图、梯度场图等10余种类型的二维、三维乃至四维图形,用户可利用它实现数据的可视化.
(5)开放性强.MATLAB大部分指令的程序是开放的,用户可以模仿和修改.
(6)可扩展性强,具有丰富的专业工具箱,为各个领域的研究和工程应用提供了强有力帮助.现已有控制系统、信号处理、图象处理、系统识别、模糊集合、神经元网络、小波分析等20余个工具箱,并且还在继续发展中.其中的动态系统仿真工具Simulink是实现动态系统建模、仿真的一个集成环境,是众多仿真软件中功能最强大、最容易使用的一种.在Simulink中,对系统进行建模将变得非常简单,而且仿真过程是交互的,因此,可以很随意地改变仿真参数并实时得到修改后的仿真结果.借助于这些工具箱,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间.
MATLAB的这些特点使其具有对应用学科的极强适应力,并很快成为数值计算、图形处理、数据分析、动态仿真、信号处理乃至科技文字处理等领域中必不可少的工具软件.
2 波动光学教学中引入MATLAB的尝试
光学是高校物理专业一门重要的专业基础课,波动理论特别是衍射理论无论在理论研究还是在高
作者简介:韩振海(1971—),男,甘肃古浪人,河西学院物理系副教授,主要从事信息光学方面的研究.
韩振海,贺德春:MATLAB在波动光学教学中的应用
校物理教学中都占有重要的地位.长期以来,由于波动光学课程中的概念繁多、物理规律较为抽象,理论教学对实验的依赖性较强,特别是其中的一些光学现象和规律缺乏细致的数学推导,再加上物理教师一直沿袭传统的口授笔演的教学方式,这些都给学生学习该门课程带来了诸多困难,因而该门课程的教学效果也总是不尽如人意.在这种情况下,我们认为,波动光学课程需要形象生动的教学,需要现代化的教学手段,千方百计地为学生提供观察物理现象的机会,提高学生学习光学课程的兴趣,培养他们的思维水平和创新能力.
随着信息技术的突飞猛进,相当一部分教师已将计算机技术逐步应用于波动光学教学之中,并且取得了一些重要的成果.但是,据我们了解,部分教师在应用计算机技术进行光学课程的教学过程中,尚存在一些较为明显的不足,主要表现在:2.1 简单采用文本投影式教学
用投影教学来代替多媒体教学,其表现就是将传统的纸质教案转换为电子文本,其实质仅仅是教案载体的转移,并不是真正的计算机多媒体教学.采用这种简单的教学手段,其效果我们认为与传统的板书讲授并无本质上的区别,甚至还要逊于传统的板书教学.
2.2 对光学现象和规律缺乏科学而形象的描述
波动光学课程中包含有丰富的重要的光学图像和光学过程,许多重要的规律都是建立在这些物理现象之上的.因此,能否将这些物理现象在教学过程中进行科学的、深入浅出地描述,就变得至关重要.例如对于光的干涉衍射过程中产生的条纹,借助常用的PhotoShop等图像创作工具一般难以奏效,因为各种条件下光的干涉、衍射图样的疏密、粗细、明暗变化必须遵从光学原理,我们要的不是视觉的漂亮美观,而是科学的真实再现;何况这些条纹会随着某些条件的改变发生相应的变化,显然用通常的图像制作工具完成的静态条纹图像根本无法实时地反映出这种动态变化规律.
Matlab软件是计算机语言出现之后开发的一种更为先进的专用语言,这种语言极易上手,其强大的科学计算和图形图像功能的完美结合使之成为我们进行科学研究和教学的首选.特别是通过人机交互任意改变各参量值, 使学生对光学图样变化与各参量间的关系可以有一个直观感受, 从而可以加深对光学现象的认识.将Matlab软件和波动光学教学有机地结合起来,能帮助学生建立直观的物理图像,更好地理解物理概念,能激发学生的学习
兴趣,培养学生独立思考的能力.
在波动光学教学中,可以通过下列方式将MATLAB与光学课程有机地结合起来:
一是以MATLAB为平台,开发制作各种环境下的干涉和衍射等光学现象仿真软件,运用于计算机支持课堂教学中,作为演示实验配合光学理论的讲授,很好地解决了真实实验因环境限制而不能进入课堂的难题.
二是利用Matlab的计算与模拟功能,鼓励学生通过自主探索,去研究波动光学课程中的一些更深入的问题.在掌握理论知识的前提下,让学生建立相应的物理模型和数学模型,然后利用Matlab编写程序,去完成对知识的巩固与拓宽,这是一种探索过程,也是为学生进行毕业论文、毕业设计乃至以后的研究工作奠定基础.3 应用举例
我们选择波动光学中两个典型的实例—— 光的双缝干涉和单缝衍射,应用MATLAB进行实验模拟.这两个实验在实验室中不仅可见度差,而且像缝宽、光波长等都不便于灵活调节,特别是波长无法做到连续调节,因此无法使学生对条纹与各种参数之间的关系形成直观认识.在模拟过程中,我们首先利用MATLAB强大的数值计算和丰富的图形图像处理功能,来生成接收屏上的光场图像(即条纹)和相应的光强分布曲线,然后利用MATLAB的GUI设计技术编制出便于操作的图形用户界面.
3.1 光的双缝干涉
考虑两束相干光到接收屏上任意点引起的光程差为△,则对应的相位差为
δ=
2△λ
设两束相干光在接收屏上产生光场的振幅相同,均为A0,则合成光场的振幅为
A=2A0cos(δ/2)
而合成光场的光强为
222
I=4A20cos(δ/2)=4A0cos
π
△λ
根据这些关系,可以计算出接收屏幕上各点的光强分布.图1是光的双缝干涉形成的干涉条纹和光强分布曲线,利用滚动条可以任意调节波长、缝与屏的距离、双缝距离,从而可以实时动态地观察到相应结果的变化.
如果对该模拟程序作适当修改,则可进一步研究非单色光或白光的双缝干涉等更深入的问题.
河西学院学报 2005年第2期
3.2 光的单缝衍射如果对该模拟程序作适当修改,则可进一步研究非单色光或白光的单缝衍射等更深入的问题.4 结论
通过以上两个简单的实例,并结合现有的将MATLAB应用于理工课程教学中的成果与经验,我们认为将MATLAB应用于波动光学教学中是必要的,可明显提高教学效率,既能增强学生对理论的理解,又可以提高学生的分析、解决问题的能力,为今后的进一步研究或工作打下基础.
图1
以上只是MATLAB在波动光学教学中的两个简单的应用,在进一步地开发与完善之后将对光学课程乃至相关的理工课程教学产生积极的影响.
参考文献:
[1]张志涌.精通Matlab[M].北京:北京航空航天大学出版社,2000.
[2]熊万杰,陆建隆.MATLAB软件支持下的理论物理教学改革[J].内蒙古师范大学学报,2003,16(5).[3]蔡履中,王成彦,周玉芳.光学(修订版)[M].济南:山东大学出版社,2002.
[4]陈怀琛.MATLAB及其在理工课程中的应用指南[M].西安:西安电子科技大学出版社,2000.
[责任编辑 晏 理]
单色平行光照射细缝,经透镜汇聚后,在后焦面上(接收屏)会形成夫琅禾费衍射图样.在傍轴近似条件下,利用标量衍射理论可得到接收屏上光场的强度表达式为
sin( ax'/ f )22ax'I(x')=I0=I0sin
c
π ax'/λ fλ f
式中,x'为接受屏上各光点坐标,a为细缝宽度,f 为汇聚透镜焦距.
根据上式关系,可以计算出接收屏幕上各点的光强分布.图2是光的单缝衍射形成的衍射条纹和光强分布曲线,利用滚动条可以任意调节波长、缝宽,从而可以实时动态地观察到相应结果的变化.
图2
第21卷第2期(2005) 河西学院学报 Vol.21 No.2(2005)
MATLAB在波动光学教学中的应用
韩振海 贺德春
(河西学院物理系,甘肃 张掖 734000)
摘 要:在介绍MATLAB语言的特点并分析目前光学课程教学现代化过程中所存在问题的基础上,通过教学仿真实例阐述了数学软件Matlab应用于波动光学教学中的可操作性和必要性.将Matlab软件和波动光学教学有机地结合起来,能帮助学生建立直观的物理图像,更好地理解物理概念,能激发学生的研究兴趣,有助于学生科学素质的提高.
关键词:波动光学;教学现代化;MATLAB;仿真
中图分类号:O436.1 文献标识码:A 文章编号:1672-0520(2005)02-0126-03
1 MATLAB语言的特点
MATLAB(Matrix Laboratory,矩阵实验室)是一个适用于科学计算、工程设计、数值分析等领域的各种计算、演算和仿真分析的高性能的数学软件系统,它集数值分析、矩阵计算、信号处理和图形显示于一体,构成了一个方便的界面友好的用户环境.自1984年由美国Mathworks公司推向市场以来,经过近20年的竞争和发展,现已成为国际公认的最优秀的科技应用软件.该软件具有如下特点:
(1)强大的数值计算和符号运算性能.(2)操作界面简单,编程语言自然.MATLAB以复数与矩阵为计算单元,使用常用的数学符号和数学表达式,用MATLAB编写的程序与科技人员的书写习惯相近,易于在科技人员之间交流.
(3)可以很方便地把复杂计算过程编成一个函数程序,以后可以随意调用,避免应用中的重复.
(4)先进的数据可视化功能.提供了大量的图形例程,可方便地实现数据的可视化.Matlab内部利用图形句柄控制图形的显示,图形句柄定义了一个图形对象集:包括直线、表面、文本等,同时提供了这些对象的操作方法.MATLAB提供的高级图形命令,可以绘制出曲线图、极点图、等高
———————————————收稿日期:2004-07-16
线图、网格图、表面图、阴影图、梯度场图等10余种类型的二维、三维乃至四维图形,用户可利用它实现数据的可视化.
(5)开放性强.MATLAB大部分指令的程序是开放的,用户可以模仿和修改.
(6)可扩展性强,具有丰富的专业工具箱,为各个领域的研究和工程应用提供了强有力帮助.现已有控制系统、信号处理、图象处理、系统识别、模糊集合、神经元网络、小波分析等20余个工具箱,并且还在继续发展中.其中的动态系统仿真工具Simulink是实现动态系统建模、仿真的一个集成环境,是众多仿真软件中功能最强大、最容易使用的一种.在Simulink中,对系统进行建模将变得非常简单,而且仿真过程是交互的,因此,可以很随意地改变仿真参数并实时得到修改后的仿真结果.借助于这些工具箱,各个层次的研究人员可直观、方便地进行分析、计算及设计工作,从而大大地节省了时间.
MATLAB的这些特点使其具有对应用学科的极强适应力,并很快成为数值计算、图形处理、数据分析、动态仿真、信号处理乃至科技文字处理等领域中必不可少的工具软件.
2 波动光学教学中引入MATLAB的尝试
光学是高校物理专业一门重要的专业基础课,波动理论特别是衍射理论无论在理论研究还是在高
作者简介:韩振海(1971—),男,甘肃古浪人,河西学院物理系副教授,主要从事信息光学方面的研究.
韩振海,贺德春:MATLAB在波动光学教学中的应用
校物理教学中都占有重要的地位.长期以来,由于波动光学课程中的概念繁多、物理规律较为抽象,理论教学对实验的依赖性较强,特别是其中的一些光学现象和规律缺乏细致的数学推导,再加上物理教师一直沿袭传统的口授笔演的教学方式,这些都给学生学习该门课程带来了诸多困难,因而该门课程的教学效果也总是不尽如人意.在这种情况下,我们认为,波动光学课程需要形象生动的教学,需要现代化的教学手段,千方百计地为学生提供观察物理现象的机会,提高学生学习光学课程的兴趣,培养他们的思维水平和创新能力.
随着信息技术的突飞猛进,相当一部分教师已将计算机技术逐步应用于波动光学教学之中,并且取得了一些重要的成果.但是,据我们了解,部分教师在应用计算机技术进行光学课程的教学过程中,尚存在一些较为明显的不足,主要表现在:2.1 简单采用文本投影式教学
用投影教学来代替多媒体教学,其表现就是将传统的纸质教案转换为电子文本,其实质仅仅是教案载体的转移,并不是真正的计算机多媒体教学.采用这种简单的教学手段,其效果我们认为与传统的板书讲授并无本质上的区别,甚至还要逊于传统的板书教学.
2.2 对光学现象和规律缺乏科学而形象的描述
波动光学课程中包含有丰富的重要的光学图像和光学过程,许多重要的规律都是建立在这些物理现象之上的.因此,能否将这些物理现象在教学过程中进行科学的、深入浅出地描述,就变得至关重要.例如对于光的干涉衍射过程中产生的条纹,借助常用的PhotoShop等图像创作工具一般难以奏效,因为各种条件下光的干涉、衍射图样的疏密、粗细、明暗变化必须遵从光学原理,我们要的不是视觉的漂亮美观,而是科学的真实再现;何况这些条纹会随着某些条件的改变发生相应的变化,显然用通常的图像制作工具完成的静态条纹图像根本无法实时地反映出这种动态变化规律.
Matlab软件是计算机语言出现之后开发的一种更为先进的专用语言,这种语言极易上手,其强大的科学计算和图形图像功能的完美结合使之成为我们进行科学研究和教学的首选.特别是通过人机交互任意改变各参量值, 使学生对光学图样变化与各参量间的关系可以有一个直观感受, 从而可以加深对光学现象的认识.将Matlab软件和波动光学教学有机地结合起来,能帮助学生建立直观的物理图像,更好地理解物理概念,能激发学生的学习
兴趣,培养学生独立思考的能力.
在波动光学教学中,可以通过下列方式将MATLAB与光学课程有机地结合起来:
一是以MATLAB为平台,开发制作各种环境下的干涉和衍射等光学现象仿真软件,运用于计算机支持课堂教学中,作为演示实验配合光学理论的讲授,很好地解决了真实实验因环境限制而不能进入课堂的难题.
二是利用Matlab的计算与模拟功能,鼓励学生通过自主探索,去研究波动光学课程中的一些更深入的问题.在掌握理论知识的前提下,让学生建立相应的物理模型和数学模型,然后利用Matlab编写程序,去完成对知识的巩固与拓宽,这是一种探索过程,也是为学生进行毕业论文、毕业设计乃至以后的研究工作奠定基础.3 应用举例
我们选择波动光学中两个典型的实例—— 光的双缝干涉和单缝衍射,应用MATLAB进行实验模拟.这两个实验在实验室中不仅可见度差,而且像缝宽、光波长等都不便于灵活调节,特别是波长无法做到连续调节,因此无法使学生对条纹与各种参数之间的关系形成直观认识.在模拟过程中,我们首先利用MATLAB强大的数值计算和丰富的图形图像处理功能,来生成接收屏上的光场图像(即条纹)和相应的光强分布曲线,然后利用MATLAB的GUI设计技术编制出便于操作的图形用户界面.
3.1 光的双缝干涉
考虑两束相干光到接收屏上任意点引起的光程差为△,则对应的相位差为
δ=
2△λ
设两束相干光在接收屏上产生光场的振幅相同,均为A0,则合成光场的振幅为
A=2A0cos(δ/2)
而合成光场的光强为
222
I=4A20cos(δ/2)=4A0cos
π
△λ
根据这些关系,可以计算出接收屏幕上各点的光强分布.图1是光的双缝干涉形成的干涉条纹和光强分布曲线,利用滚动条可以任意调节波长、缝与屏的距离、双缝距离,从而可以实时动态地观察到相应结果的变化.
如果对该模拟程序作适当修改,则可进一步研究非单色光或白光的双缝干涉等更深入的问题.
河西学院学报 2005年第2期
3.2 光的单缝衍射如果对该模拟程序作适当修改,则可进一步研究非单色光或白光的单缝衍射等更深入的问题.4 结论
通过以上两个简单的实例,并结合现有的将MATLAB应用于理工课程教学中的成果与经验,我们认为将MATLAB应用于波动光学教学中是必要的,可明显提高教学效率,既能增强学生对理论的理解,又可以提高学生的分析、解决问题的能力,为今后的进一步研究或工作打下基础.
图1
以上只是MATLAB在波动光学教学中的两个简单的应用,在进一步地开发与完善之后将对光学课程乃至相关的理工课程教学产生积极的影响.
参考文献:
[1]张志涌.精通Matlab[M].北京:北京航空航天大学出版社,2000.
[2]熊万杰,陆建隆.MATLAB软件支持下的理论物理教学改革[J].内蒙古师范大学学报,2003,16(5).[3]蔡履中,王成彦,周玉芳.光学(修订版)[M].济南:山东大学出版社,2002.
[4]陈怀琛.MATLAB及其在理工课程中的应用指南[M].西安:西安电子科技大学出版社,2000.
[责任编辑 晏 理]
单色平行光照射细缝,经透镜汇聚后,在后焦面上(接收屏)会形成夫琅禾费衍射图样.在傍轴近似条件下,利用标量衍射理论可得到接收屏上光场的强度表达式为
sin( ax'/ f )22ax'I(x')=I0=I0sin
c
π ax'/λ fλ f
式中,x'为接受屏上各光点坐标,a为细缝宽度,f 为汇聚透镜焦距.
根据上式关系,可以计算出接收屏幕上各点的光强分布.图2是光的单缝衍射形成的衍射条纹和光强分布曲线,利用滚动条可以任意调节波长、缝宽,从而可以实时动态地观察到相应结果的变化.
图2