回 帖 发 新 帖 刷新版面

主题:求助:matlab模拟光波干涉问题

用matlab模拟平面波和球面波同轴干涉,程序如下:
Lambda=632.8E-9;                                      %设定波长值
z=40E-2;                                              %球面波距屏距离
Ymax=1.5E-2; Ny=400;Ys=linspace(-Ymax, Ymax, Ny);      %Y取样点
Xmax=Ymax;   Nx=Ny; Xs=linspace(-Xmax, Xmax, Nx);      %X取样点
for i=1:Nx
    for j=1:Nx
        L1=sqrt(Xs(i)^2+Ys(j)^2+z^2);                   %光程
        L2=z;
        Phi=2*pi*(L1-L2)/Lambda;                         %相位差
        r=L1;                                        %屏上点到球面波焦点距离
        B(i,j)=1/r^2+1+2*cos(Phi)/r;                    %屏上点的光强
    end
end
figure
NCLevels=255;                                         %灰度级
Br=(B/(1/z^2+1+2/z))*NCLevels;                        %亮度最大取为白
image(Xs,Ys,Br);
colormap(gray(NCLevels));
xlabel('x/m');
ylabel('y/m');
title('z=40cm,lambda=632.8nm');
运行结果是有很多组不同圆心的圆环,而根据光学知识,一束球面波和平面波同轴干涉应该是一组同心圆环,想了很久,求助高手帮我分析一下,谢啦!

回复列表 (共1个回复)

沙发

X、Y采样范围太大,将Ymax=1.5E-2改为0.3E-2,即可看到只剩余一个干涉圆环。

我来回复

您尚未登录,请登录后再回复。点此登录或注册