资源描述:
《matlab光学仿真实验13171019讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、光学仿真实验一.前言此次光学仿真实验,是基于matlab来进行的。在这仿真的一系列过程中,对于光学现象出现的条件,以及干涉、衍射是光波叠加的本质都有了更深的认识。还从中学习了matlab这一利器的知识,这两三个星期的学习是极其值得的。二.正文1.杨氏双孔干涉学习的开端是从双孔干涉开始,在极其理想的情况下进行仿真,即忽略了孔的大小等影响因素,直接认为是俩球面波进行叠加干涉。代码如下:clear;l=521*10.^(-9);%波长d=0.05;%俩孔的距离D=1;%孔到光屏的距离A1=1;%复振幅强度A2=1;x=linspace(-0.0001,0.000
2、1,1000);y=linspace(-0.0001,0.0001,1000);[x,y]=meshgrid(x,y);r1=sqrt((x-d/2).^2+y.^2+D^2);r2=sqrt((x+d/2).^2+y.^2+D^2);E1=A1./r1.*exp(1i*r1*2*pi/l);E2=A2./r2.*exp(1i*r2*2*pi/l);E=E1+E2;I=abs(E).^2;pcolor(x,y,I);shadingflat;colormap(gray);认为球面波位置在(d/2,0)和(-d/2,0)处,对于在光屏上任意(x,y)点计算距离
3、,计算出每个球面波到其的复振幅,叠加求光强I。所得图像:这是光屏很小的情况下正中心出条纹,近似于平行线。现在来看一下大光屏下的条纹,即x,y最大都是0.1,黑白、彩色是这样的:复杂许多,与下文双缝对比明显!立体大屏下的图像为:现在讨论改变条件引起小屏条纹的变化趋势:ⅰ.波长变小为100nm,条纹变细,符合随波长增大,干涉条纹变粗,波长变小,干涉条纹变细的规律。dⅱ.俩孔间距变大为0.1m,干涉条纹变细,符合孔间距与条纹宽度成反比的规律。ⅲ.孔到光屏距离变大为2m,干涉条纹变粗,符合D与干涉条纹宽度成正比的规律。基本规律与x=mλD/d一致。1.杨氏双缝实验
4、今天有同学问起了杨氏双缝与双孔的区别,就加上看看,想想两个方面都可以解释,双孔是俩球面波叠加,双缝是俩柱面波叠加。另一个方面,双孔的光程差要考虑y轴上影响,双缝不考虑。代码:clear;l=521*10.^(-9);d=0.05;D=1;A1=1;A2=1;x=linspace(-0.0001,0.0001,1000);y=linspace(-0.0001,0.0001,1000);[x,y]=meshgrid(x,y);r1=sqrt((x-d/2).^2+D^2);r2=sqrt((x+d/2).^2+D^2);E1=A1./(sqrt(r1)).*e
5、xp(1i*r1*2*pi/l);E2=A2./(sqrt(r2)).*exp(1i*r2*2*pi/l);E=E1+E2;I=abs(E).^2;pcolor(x,y,I);shadingflat;colormap(gray);可以看出在很小的光屏下面这俩者没什么区别,此时计算到光屏上点的距离r1,r2可以忽略掉y的影响,但是一旦放大,差距就出来,其本身光源的性质决定了干涉条纹的形状不同,亮度也有区别,双缝在y轴上没亮度变化!3.平面波与平面波进行干涉,代码如下:clear;l=521*10.^(-9);jiajiao=pi/3;A1=1;A2=1;x=
6、linspace(-0.000001,0.000001,100000);y=linspace(-0.000001,0.000001,100000);E1=A1.*exp(1i*x*sin(jiajiao/2)*2*pi/l);E2=A2.*exp(-1i*x*sin(jiajiao/2)*2*pi/l);E=E1+E2;I=abs(E).^2;nc=255;br=I/4*nc;subplot(2,1,1);image(x,y,br);colormap(gray(nc));subplot(2,1,2);plot(x,I);这是俩平面波以60°夹角射在光屏上,
7、结果如下:光强是恒为4的亮屏。没产生干涉现象,是相当于完全相同的俩波叠加。我们将E2波方向改为反方向,与E1相反,,此时产生了干涉现象。我们来改变角度和振幅来探究下影响。ⅰ.将角度由60°变为30°可看出干涉条纹变粗了,同样宽度下由4个暗纹变成2个暗纹。随着夹角变小,干涉条纹变粗,间隔也变大。ⅱ.将A1变为3.A2仍为1.干涉条纹较不明显,我们通过光强来看,在5和15之间,一个光源亮度的改变导致整个干涉亮度的变化。4.平面波与球面波干涉。clear;l=521*10.^(-9);D=0.01;A1=1;A2=1;jiajiao=pi/3;x=linspac
8、e(-0.0005,0.0005,1000);y=linspace