圆孔夫琅禾费衍射MATLAB程序,模拟夫琅禾费衍射的matlab源代码

lamda=lamda_1/1e6

k=2*pi/lamda;

z=input('please input 衍射屏距离衍射孔的距离(mm):');% 衍射屏距离衍射孔的距离

h=exp(1j*k*z)*exp((1j*k*(x.^2+y.^2))/(2*z))/(1j*lamda*z);%脉冲相应H =fftshift(fft2(h));%传递函数

B=fftshift(fft2(I));%孔频谱

G=fftshift(ifft2(H.*B));

subplot(1,2,2),imshow(log(1+abs(G)),[]);

title('衍射后的图样');

figure

meshz(x,y,abs(G));

title('夫琅禾费衍射强度分布')

实验输入:衍射孔径类型1.圆孔 2.单缝3.方孔

please input 衍射孔径类型:1

please input 衍射圆孔半径(mm):3

please input 衍射波长(nm):632

lamda =6.3200e-04

please input 衍射屏距离衍射孔的距离(mm):1000000

实验结果:

圆孔夫琅禾费衍射MATLAB程序,模拟夫琅禾费衍射的matlab源代码_第1张图片

你可能感兴趣的:(圆孔夫琅禾费衍射MATLAB程序,模拟夫琅禾费衍射的matlab源代码)