Matlab在物理光学课程教学中的应用

时间:2022-03-22 11:00:38 公文范文 浏览次数:


打开文本图片集

【摘 要】将Matlab引入到物理光学的课程教学中,通过计算机数值模拟,可以将一些复杂抽象的公式转化为生动形象直观的物理图像,帮助学生更好地理解物理概念,总结变化规律,是提高教学质量的有效手段。本文总结了过去几年我们在物理光学课程教学中利用Matlab辅助教学的一些成果、经验和教训,分享得失,以求共同进步。

【关键词】物理光学 Matlab 教学改革 数值模拟

【中图分类号】G642 【文献标识码】A 【文章编号】1674-4810(2015)35-0031-03

Matlab是一款基于矩阵进行数值计算的工程软件,因为其计算高效、界面友好及交互性强等优点被广泛应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。近些年,Matlab被广泛应用于课程教学中,在数值分析、线性代数等数学类课程,以及信号与系统、数字图像处理、控制工程等专业课程中都大量使用Matlab软件来辅助教学,也出版了很多相关的书籍。也有一些教学团队将Matlab软件应用于光学类课程的教学,包括应用光学、物理光学、光学设计及光电子学等课程。实践证明,Matlab在这些课程的教学中发挥了积极的作用,为教学质量的提高做出了很大的贡献。

早在2004年,我们就开始将Matlab软件引入到物理光学课程的教学中,建立了很多程序模块。本文将对以往我们在这方面的研究成果进行一个总结,并分析存在的问题和不足。

一 Matlab在物理光学中的应用价值

物理光学是基于光的电磁场理论研究光在空间的传播特性,主要内容包括光在媒质表面的反射与透射、光的干涉与衍射以及光在晶体等各向异性媒质中的传播等。其中有很多概念对应着较为复杂的理论推导和数学公式,通过分析这些数学公式可以较好地理解对应的物理概念。但是这些公式往往比较复杂,包含多个变量,通过直观分析是无法全面获取这些公式所代表的物理意义的。利用计算机编程的方法将这些数学公式转换为不同条件下的物理图像,可以更好地帮助学生理解这些公式所代表的物理含义。Matlab是一种记事本式的编程语言,基于矩阵概念,可以完成很多数值计算。

某些较为简单的公式,可以直接在Matlab命令窗口直接设定x自变量和常量的数值和变化范围,给出x自变量和应变量y之间的数学关系,再利用plot的命令就可以轻松地画出自变量变化时应变量的变化情况。对于稍微一些复杂的公式,可以通过编写程序的方式来实现模拟。Matlab提供了M-file的功能,可以让使用者在其中编写函数,使用function命令,而且Matlab提供了while、if、else等循环控制语言,类似于VC或C语言,可以编写一个函数来模拟数学公式的物理图像;在编写程序的过程中,可以任意选择不同变量的变化范围,以获得不同条件下的物理图像。

在过去几年中,我们编写了很多应用于物理光学的数值模拟模块,例如光在媒质界面的反射和折射、杨氏双缝干涉、等厚干涉、等倾干涉、多光束干涉、光学镀膜、多缝衍射、圆孔衍射、波带片等。在课程教学的过程中,我们通过在课堂上实时演示这些模拟模块的运行结果,可以非常形象生动地反映复杂公式对应的物理含义,学生也非常容易理解不同的变量和参数是如何影响这些物理现象变化的。而且这些模拟模块还为师生互动提供了条件,教师可以根据学生的要求选择不同的参量变化范围,来演示不同条件的物理图像。反过来,老师也可以激发学生去思考不同条件下的物理图像,基于这些物理图像总结变化规律。

二 教学实例展示

下面以“光在介质界面的反射和折射特性”这一数值模拟模块为例简要展示一下Matlab在课程教学中的应用。

1.背景介绍

光束从一种介质入射到另外一种介质时,在介质界面因为折射率的差异会发生反射和透射,这是一种非常常见的光学现象。基于Snell定律和Fresnel公式可以计算反射光束和透射光束的传播方向、振幅、相位及强度。将入射光束、反射光束和透射光束都分解为s分量和p分量,则可以计算s分量和p分量的反射系数和透射系数:

以及对应的反射率和透射率:

根据上面的公式可以知道,光束在介质界面的反射特性是由两种介质的折射率n1和n2,以及入射角三个基本的物理量决定的。直接通过观察上面的这些公式,是无法明显地看到反射光束和透射光束随着这几个物理量的变化规律的,因此需要借助数值模拟计算来得到一些物理图像以了解这些规律。

2.Matlab数值模拟程序

上面这一组公式并不是非常简单的,它有三个变量,因此我们可以利用Matlab编写一个M函数来模拟这些公式在不同条件下的变化。

编写的程序如下:

function Fresnel(n1,n2,N)

% n1为介质1的折射率,n2为介质2的折射率,N为模拟的点数

for i=1:N+1

%首先判断是否发生了全反射,因此确定入射角的范围

if n1<n2

theta1(i)=pi/2/N*(i-1);

theta2(i)=asin(n1*sin(theta1(i))/n2);

else

theta1(i)=asin(n2/n1)/N*(i-1);

theta2(i)=asin(n1*sin(theta1(i))/n2);

end

%下面计算s分量和p分量的反射系数和透射系数

rs(i)=-sin(theta1(i)-theta2(i))/sin(theta1(i)+theta2(i));

rp(i)=tan(theta1(i)-theta2(i))/tan(theta1(i)+theta2(i));

ts(i)=2*cos(theta1(i))*sin(theta2(i))/sin(theta1(i)+theta2(i)); tp(i)=2*cos(theta1(i))*sin(theta2(i))/sin(theta1(i)+theta2(i))/cos(theta1(i)-theta2(i));

%并进一步计算s分量和p分量的反射率和透射率

Rs(i)=rs(i).^2;

Rp(i)=rp(i).^2;

Ts(i)=n2/n1*cos(theta2(i))/cos(theta1(i))*ts(i).^2;

Tp(i)=n2/n1*cos(theta2(i))/cos(theta1(i))*tp(i).^2;

end

%在获得结果的基础上,利用plot命令,画出所得的物理图像

figure(1);

theta1=theta1/pi*180;

plot(theta1,rs,"rx")

hold on

plot(theta1,rp,"-x")

hold on

plot(theta1,ts,"ro")

hold on

plot(theta1,tp,"-o")

figure(2);

plot(theta1,Rs,"rx")

hold on

plot(theta1,Rp,"-x")

hold on

plot(theta1,Ts,"ro")

hold on

plot(theta1,Tp,"-o")

end

在这个程序里,我们可以自由地选择两种介质的折射率,由介质的折射率就可确定入射角的范围,如果没有发生全反射,即光束从一个光密介质进入一种光疏介质,入射角可以从0~90度变化,但如果光束从光密介质进入光疏介质,则存在全反射,入射角就从0到临界角变化了。程序第一部分就可以完成这个判断及入射角范围的确定。而后面的计算则是入射角从0到最大入射角连续变化时,对应的反射系数、透射系数以及反射率和透射率的变化了。

3.数值模拟结果

当n1=1.0以及n2=1.5时,图1为反射系数、透射系数的变化曲线,图2为反射率和透射率的变化曲线。

图1

图2

首先,我们数值计算了n1=1.0和n2=1.5的情况下,反射系数、透射系数、反射率和透射率的变化曲线,如图1、图2所示。从给出的物理图像可以总结出一些基本的变化规律,例如:(1)反射光束的s分量总是小于零的,即意味着反射光束的s分量与入射光束的s分量振动方向相反;(2)反射光束的p分量的振动方向则与入射角有关,特别地,当入射角等于某一个特定的值时,p分量的反射系数为零,这个角被定义为步儒斯特角;(3)透射光束的s分量和p分量的反射系数和透射系数都是正的;(4)反射光束的反射率随着入射角度增加而增加,透射光束的透射率则随着入射角度增加而减小。进一步,我们可以改变n2的数值,以验证以上规律的普遍性。类似的,我们也可以计算n1=1.5、n2=1.0的情况。这里不再详述。

通过上面这个教学实例的展示,我们可以看到,利用Matlab的数值模拟计算可以让一些复杂的公式以非常形象生动的物理图像形式展示出来,基于这些物理图像就很容易总结出一些基本的变化规律。这样的教学可以极大地提高学生的学习积极性,教学效果也有很大提升。

三 存在的问题和不足

在不断的教学改革实践过程中,我们取得了很多的教学成果,教学质量也得到了提升,但我们也看到了一些不足,还有一些需要改进提高的地方,例如:

第一,学生参与度还不够,需要鼓励学生主动编写一些数值模拟的模块,这样对于他们分析问题和解决问题能力的提升会有更多帮助;目前来说,这些数值模拟的模块都是老师编写的,接下来需要鼓励、引导学生去写一些模块。

第二,平台建设还需要完善。尽管目前初步建立了数值模拟的平台,但是这个平台的功能还难以充分满足教学需求,接下来需要进一步完善这个平台。

四 总结

在过去几年,我们在物理光学的教学过程中使用了Matlab软件来辅助教学,取得了很好的效果,教学质量有了明显提升,学生学习积极性也有了很大提高,这坚定了我们继续深入改革的信心。我们相信,通过更多的鼓励学生参与课程教学,并建立一个更为完备的教学平台,该课程的教学质量会进一步得到提高。

参考文献

[1]王洋.多媒体课件在工程光学教学中的应用[J].黑龙江教育(高教研究与评估),2010(3):82~83

[2]陈宝玉、刘正国、冯荣达等.关于《工程光学》课程教学的几点探索与实践[J].科技资讯,2011(20):212~213

[3]蔡建文.工程光学课程教学探讨[J].中国科教创新导刊,2011(5):58

[4]陈泳竹.工程光学教学中实施创新教育的探讨[J].广东技术师范学院学报,2009(3):86~88

〔责任编辑:林劲、李婷婷〕

推荐访问:光学 物理 课程 教学中 MATLAB