MATLAB:杨氏双缝干涉实验(Young‘s Interference)

MATLAB:杨氏双缝干涉实验(Young‘s Interference)

目录

1.概念

2.MATLAB代码实现

1.概念

提出时间:1801年

提出者:托马斯·杨​(Thomas Young)

双缝干涉实验起源于光学研究,以它的发现者​托马斯·杨​(Thomas Young)的名字命名。杨氏干涉实验里,光从隔板上的小孔 S1 发出来,经过隔板 S2 上间隔很小的两条缝 b 和 c。当光经过隔板时,它会被窄缝 b、c 散射,散射后光继续传播,最终在屏幕上形成了干涉条纹。

杨氏双缝干涉

杨氏双缝干涉实验证明了光的波动性,否定了牛顿的光微粒说。

2.MATLAB代码实现

首先,定义入射光波长lambda = 632.8e-9(mm);双缝间隙d = 0.08e-3(mm);观察屏离双缝距离L = 1(m);观察屏的尺寸H = 0.1(m)。代码如下:

%% set the parameters of Young's Interference

clear;

clc;

close all;

lambda = 632.8e-9; % 氦氖激光波长 632.8 nm

d = 0.08e-3; % 双缝间隙,单位为m

L = 1; % 观察屏离双缝距离,单位为m

H = 0.1; % 观察屏的尺寸,单位为m

%%

x01 = d/2;

x02 = -d/2;

y = linspace(-H/2, H/2, 501);

x = linspace(-H/2, H/2, 501);

[X Y] = meshgrid(x,y);

I2 = zeros(size(X));

R1 = sqrt((y - x01).^2 + L^2);

R2 = sqrt((y - x02).^2 + L^2);

A1 = exp(i*2*pi/lambda*R1);

A2 = exp(i*2*pi/lambda*R2);

I = (A1+A2).*conj(A1+A2);

I = I/max(I);

for k = 1:length(y)

I2(:,k) = I(k);

end

figure

imshow(I2)

title('Intensity pattern on the screen');

figure

plot(x, I)

xlabel('x (m)');

ylabel('Relative Intensity')

运行结果:

杨氏双缝干涉条纹图

杨氏双缝干涉光强分布图

代码下载地址:

杨氏双缝干涉MATLAB代码(Young's Interference MATLAB Code)

本文未经允许,不得转载。

关注CSDN“光学码农”!

相关推荐