一、简介
基于matlab多缝夫琅禾费衍射
二、源代码
%***********************模拟狭缝型光栅衍射图样**************************
% 该仿真也即:多缝的夫琅禾费衍射
clear,clc;
% 基本参数输入及处理*********************************
% 本例输入:Lambda = 632.8; a = 0.1; d = 0.3; L = 1; N = 2/3/4
Lambda = input('输入单色光的波长(单位为nm):');
Lambda = Lambda * 1e-9; %波长单位转为:m
a = input('输入光栅狭缝的宽度(单位为mm):');
a = a * 1e-3; %光栅狭缝宽度单位转为:m
d = input('输入光栅缝距(单位为mm):');
d = d * 1e-3; %光栅缝距长度单位转为:m
N = input('输入光栅缝数(整数):');
L = input('输入光栅到屏的距离(单位为m):');
I0 = 1;
Screen_Xmax = 2*Lambda*L/a; %接收屏x方向位置(边界)--单位为:m
Screen_x = linspace(-Screen_Xmax,Screen_Xmax,501); %屏x坐标取样501份
sin_angle = Screen_x./L;
alpha = pi*a/Lambda.*sin_angle; %公式里的其中一个相位差
deta = 2*pi*a/Lambda.*sin_angle; %公式里的另一个相位差
I = I0* (sin(alpha)./alpha).^2 .* (sin(N/2.*deta)./sin(deta./2)).^2;
I = I/max(I);
三、运行结果
四、备注
版本:2014a