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

目录

1.概念

2.MATLAB代码实现


1.概念

提出时间:1801年

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

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

MATLAB:杨氏双缝干涉实验(Young‘s Interference)_第1张图片 杨氏双缝干涉

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

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)_第2张图片 杨氏双缝干涉条纹图
MATLAB:杨氏双缝干涉实验(Young‘s Interference)_第3张图片 杨氏双缝干涉光强分布图

 代码下载地址:

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

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

关注CSDN“光学码农”!

你可能感兴趣的:(Matlab,matlab,图像处理,开发语言)