入方孔边长РI=zeros(N,N);Р[m,n]=meshgrid(linspace(-N/4,N/4,N));РI(-a/2<m&m<a/2&-a/2<n&n<a/2)=1;Рsubplot(1,2,1),imshow(I);Рtitle('生成的方孔');Р otherwise kind=input('please input 衍射孔径类型:');% 输入衍射孔径类型РendР Р % 夫琅禾费衍射的实现过程Р L=500;Р[x,y]=meshgrid(linspace(-L/2,L/2,N));Рlamda_1=input('please input 衍射波长(nm):');% 输入衍射波长;Р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Р实验结果: