clear all %Programl.m
lam=500e-9;%输入波长
a=2e-3;D=1;
ym=10*lam*D/a;xs=ym;%设定光屏的范围
n=101;ys=linspace(-ym,ym,n);%把光屏的 y 方向分成 101 点
for i=1:n
r1=sqrt((ys(i)-a/2)^2+D^2);
r2=sqrt((ys(i)+a/2)^2+D^2);
%%%%%%%%%%%%%%%%%%%%%非单射光干涉%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Ns=19;dL=linspace(-0.1,0.1,Ns);%设置光谱相对宽度10%
%lams=lam*(1+dL);%分19根谱线,波长为一个数组
%phis=2*pi*(r2-r1)/lams;%从距离差计算各波长的相位差
%B(i,:)=sum((4*cos(phis/2))^2)/Ns;%叠加各波长并影响计算光强
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%单射光干涉%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
phi=2*pi*(r2-r1)/lam;
B(i,:)=4*cos(phi/2)^2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
N=255;%确定用的灰度等级为 255 级
Br=(B/4.0)*N;%使最大光强对应于最大灰度级(白色)
subplot(1,2,1)
image(xs,ys,Br);
colormap(gray(N));
subplot(1,2,2)
plot(B,ys)%画出光强变化曲线