
目录
一、关于MATLAB: 2
二、 使用MATLAB进行模拟计算: 3
1、 两光束的干涉: 3
(1)振幅分布:(a=b) 3
(2)光强分布:(a=b) 5
(3)光强分布:(a≠b) 7
(4)对比度: 8
2、多缝干涉: 9
(1)光强分布: 9
(2)主极大相位半宽度: 11
3、等厚干涉: 12
(1)空气层两平面反射的相干光线的光程差: 12
(2)等厚干涉条纹: 13
(3)两表面反射光的干涉光强分布: 14
4、光场的时间相干性: 15
(1)缝光源所有点在观察屏处的合光强: 15
(2)条纹可见度: 16
(3)波列的相干长度: 17
5、 光拍: 18
(1)当a=b=1: 18
(2)当a=1,b=2; 21
三、实验总结: 24
MATLAB的使用
申
(北京交通大学 光科0904)
摘要:MATLAB是一个在数值计算方面首屈一指的数学类科技应用软件。它的应用范围很广,可以帮助我们做一些矩阵、函数、图象等方面的问题。相比于其它软件,他有着良好的运行环境,处理数据的速度快捷,方法新颖,是一款工作学习一致好评的软件。它不但可用于个人操作,而且可建立办公系统,方便多方人士的使用。
一、关于MATLAB:
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,共分为MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数值计算方面的数学类科技应用软件中首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,同时它也吸收了像Maple等软件的优点,使之成为一个强大的数学软件。
MATLAB的特点有:用于技术计算;该开发环境可对代码、文件和数据进行管理;交互式工具可以按迭代的方式探查、设计及求解问题;数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等;二维和三维图形函数可用于可视化数据;各种工具可用于构建自定义的图形用户界面;各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成;自带仿真系统 。
MATLAB的优势有:友好的工作平台和编程环境;简单易用的程序语言;强大的科学计算机数据处理能力;出色的图形处理功能;应用广泛的模块集合工具箱;实用的程序接口和发布平台;应用软件开发。
二、使用MATLAB进行模拟计算:
1、两光束的干涉:
(1)振幅分布:(a=b)
, Δ为光程差
由于在MATLAB中,软件不能识别符号λ和Δ ,故在设定程序时,有:
C=λ;S=Δ。
当a=1:
当a=0.5:
从两图的变化不难发现,当a的值发生改变时,图像振幅改变,并与a的值成正比。
(2)光强分布:(a=b)
由于在MATLAB中,软件不能识别符号λ和Δ ,故在设定程序时,有:
C=λ;S=Δ;
当a=1:
当a=2:
由于振幅A=2*a^2,a的改变直接导致振幅的改变。
(3)光强分布:(a≠b)
由于在MATLAB中,软件不能识别符号λ和Δ ,故在设定程序时,有:
C=λ;S=Δ;
(4)对比度:
记A=,B=。
当a=1:
由图不难发现,当a或b为一个常数,随着b或a的值的增加,对比度必先增加后减小,在a=b=常数的时候,对比度取得最大值1。
2、多缝干涉:
为了程序的方便,将记为A,记为B。
(1)光强分布:
主极大相位半宽度为:
当N=3:
当N=4:
改变缝数N,干涉条纹的分布与N成正比,亮条纹的锐度也与N成正比,即N越大,条纹越多越密集,亮条纹的锐度越高。
(2)主极大相位半宽度:
3、等厚干涉:
(1)空气层两平面反射的相干光线的光程差:
为了程序的方便,令Δ=A,C=λ.
(2)等厚干涉条纹:
,(K=0、1、2......)
,(k=0、1、2……)
当=31:
从公式和图像不难发现,干涉条纹的长度与的大小成正比。
(3)两表面反射光的干涉光强分布:
4、光场的时间相干性:
为方便作图,令,d= ,k= ,S= 。
(1)缝光源所有点在观察屏处的合光强:
由图可以看出,合光强在光程差S为0时最大。
(2)条纹可见度:
由图不难发现,当S=0时,条纹可见度最大。
(3)波列的相干长度:
从图中可以看出,波列的相干长度近似的成正比。
5、光拍:
(1)当a=b=1:
波函数:
>> a=1; >> b=1;
>> C_1=500/100; >> C_2=0.8*C_1;
>> k_1=2*pi/C_1; >> k_2=2*pi/C_2;
>> V_1=3*10^10; >> V_2=3*10^10;
>> a_1=0; >> a_2=0;
>> w_1=k_1*V_1; >> w_2=k_2*V_2;
>> t=0; >> x=-100:0.001:100;
>> B_1=w_1*t-k_1*x+a_1; >> B_2=w_2*t-k_2*x+a_2;
>> E_1=a*cos(B_1); >> E_2=b*cos(B_2);
>> E=E_1+E_2; >> plot(x,E);
>> A=2*a^2*cos((B_1-B_2)/2); >> plot(x,A);
>> xlabel('x'); >> ylabel('A');
>> title('波的强度'); >> I=A.^2;
>> plot(x,I); >> xlabel('x');
>> ylabel('I'); >> title('波强');
(2)当a=1,b=2;
>> a=1; >> b=2;
>> C_1=500/100; >> C_2=0.8*C_1;
>> k_1=2*pi/C_1; >> k_2=2*pi/C_2;
>> V_1=3*10^10; >> V_2=3*10^10;
>> a_1=0; >> a_2=0;
>> w_1=k_1*V_1; >> w_2=k_2*V_2;
>> t=0; >> x=-100:0.001:100;
>> B_1=w_1*t-k_1*x+a_1; >> B_2=w_2*t-k_2*x+a_2;
>> V_1=v_1*C_1; >> v_1=V_1/C_1;
>> v_2=V_2/C_2; >> E_1=a*cos(2*pi*v_1*t-k_1*x+a_1);
>> E_2=a*cos(2*pi*v_2*t-k_2*x+a_2); >> E=E_1+E_2;
>> plot(x,E); >> xlabel('x');
>> ylabel('E'); >> title('余弦函数');
>> A=2*a^2*cos(pi*(v_1-v_2)*t-0.5*(k_1-k_2)*x+0.5*(B_1-B_2));
>> plot(x,A); >> xlabel('x');
>> ylabel('A'); >> title('波的振幅');
>> I=A.^2;
>> plot(x,I); >> xlabel('x');
>> ylabel('I'); >> title('波强');
将a=b=1与a=1,b=2进行比较,不难发现:
当a(或b)的值一定时,分布函数、振幅、波的强度与b(或a)的变化成正比。
三、实验总结:
通过MATLAB的使用,我对光学函数有了深入的了解,对光学求解问题有了深刻的理解。在编程过程中,我通过不断地遇到难题,以查资料,反复验证的方式,来解决编程当中所遇到的难题。值得一提的是,我在编程时遇到的对变量的次方的处理,他不再是简单的相加减,而需要我们在乘除符号前加一个符号”.”。只有这样,所求结果才会以变量的形式输出。通过不断的查阅资料,反复的编程操作,我对该软件的使用更为娴熟,了解也更加的深刻。我深深的明白:只有亲手体验过,才能了解它自身的魅力,学会使用它的原理。
参考文献:
金学波, 杜晶晶, 夏海霞编著.信号与系统[M]. 西安 : 西安电子科技大学出版社, 2010.
陈杰等编著.MATLAB宝典[M]. 北京 : 电子工业出版社, 2010.
MATLAB视频教程
