matlab绘制干涉图案

matlab绘制干涉图案_第1张图片

matlab绘制干涉图案_第2张图片

改变曲率半径

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

matlab绘制干涉图案_第3张图片

双缝干涉

d是双缝的距离

matlab绘制干涉图案_第4张图片

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

 

你可能感兴趣的:(算法)