matlab绘制干涉图案

改变曲率半径

lamda = 0.000632;
[X,Y] = meshgrid(-2:0.01:2);
for R=3200:-500:200
I=cos(pi/lamda*(X.^2+Y.^2)/(R)+pi/2);
imshow(I)                           %将光强显示为灰度值
pause(0.8)
end

双缝干涉

d是双缝的距离

ym=1.25;
y=linspace(-ym,ym,101);
z=1000;
lambda=5e-4;
for d=0.2:0.2:3
    L1=sqrt((y-d/2).^2+z^2);
    L2=sqrt((y+d/2).^2+z^2);
    phi = 2*pi*(L2-L1)/lambda;
    I = 4*(cos(phi/2)).^2;
    B = I*255/5;               % 定标取255个级别,使I/5最亮
    image(B)                   % 以图案表示干涉条纹
    colormap(gray(255));       % 用灰度级别显示图案
    pause(1)
end

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/84331799
今日推荐