matlab模拟干涉衍射

引用请注明出处:http://blog.csdn.net/int64ago/article/details/7076015

%##########################%
%名称:等厚干涉模拟                       %
%作者:程序猿__int64Ago                %
%时间:2011-12-16                        %
%##########################%
clear                                                %清内存
lamda=632.8e-9;                             %设定入射光波长
n=1;                                                %缝隙折射率
R=5;                                                %柱透镜半径
ym=5e-3;                                         %设定屏幕的范围,根据实际情况调整
xs=ym;                                             %x方向无变化,单一值
N=1000;                                          %条纹柔和度
ys=linspace(-ym,ym,N);                      %y轴上坐标离散
for i=1:N                                          %依次求干涉光强
    hm=R-sqrt(R^2-ys(i)^2);                %柱透镜与底面间隙
    delta=2*n*hm+lamda/2;              %光程差
    phi=2*pi*delta/lamda;                  %相位差
    I(i,:)=4*cos(phi/2).^2;                  %干涉光强
end                                                  %求光强结束
M=255;                                           %设定灰度等级
II=(I/4.0)*M;                                    %设定黑白条纹对比度
subplot(1,2,1);                                  %分割figure1×2,并且在第一块上作图
image(xs,ys,II);                                  %画干涉条纹
colormap(gray(M));                             %二维光强分布灰度图
title('光强分布灰度图')                        %列出标题
subplot(1,2,2);                                  %分割figure1×2,并且在第二块上作图
plot(I,ys);                                          %一维光强分布曲线图
title('光强分布曲线图')                        %列出标题



%##########################%
%名称:多缝夫朗禾费衍射模拟         %
%作者:程序猿__int64Ago                %
%时间:2011-12-16                        %
%##########################%
clear                                                %清内存
lamda=500e-9;                                %设定入射光波长
a=10e-6;                                         %缝宽
d=25e-6;                                         %光栏常数
N0=6;                                             %缝数
D=5;                                                %缝到像面的距离(这个随意,几乎不影响)
ym=1*lamda*D/a;                            %设定屏幕的范围,根据实际情况调整
xs=ym;                                             %x方向无变化,单一值
N=1000;                                          %条纹柔和度(不能太大)
ys=linspace(-ym,ym,N);                      %y轴上坐标离散
for i=1:N                                          %依次求衍涉光强
    sintheta=ys(i)/D;                           %以下由书上公式
    alpha=pi*a*sintheta/lamda;
    beta=pi*d*sintheta/lamda;       
    I(i,:)=(sin(alpha)./alpha).^2.*...     
        (sin(N0*beta)./sin(beta)).^2;    %上一行续行
end                                                 %求光强结束
M=255;                                           %设定灰度等级
II=(I/max(I))*M;                                 %设定黑白条纹对比度
subplot(1,2,1);                                  %分割figure1×2,并且在第一块上作图
image(xs,ys,II);                                  %画干涉条纹
colormap(gray(M));                             %二维光强分布灰度图
title('光强分布灰度图')                        %列出标题
subplot(1,2,2);                                  %分割figure1×2,并且在第二块上作图
plot(I,ys);                                          %一维光强分布曲线图
title('光强分布曲线图')                        %列出标题


你可能感兴趣的:(image,matlab,plot)