1. 程式人生 > >matlab繪製干涉圖案

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