资源简介

此资源为基于matlab对平行光入射情况下 圆孔的菲涅尔衍射图样仿真的程序,圆孔孔径可变,孔到屏距离可变,注释详细,

资源截图

代码片段和文件信息

lemda=546.07e-3;
% lemda=365e-3;
k=2*pi/lemda;
z=20000;%微米
%先确定衍射屏
N=300; %圆屏采样点数
r=100;
a=1;
b=1;
I=zeros(NN);
[mn]=meshgrid(linspace(-N/2N/2-1N));
%  D=((m-a).^2+(n-b).^2).^(1/2);
 D=((m).^2+(n).^2).^(1/2);
i=find(D<=r);
I(i)=1; %孔半径范围内透射系数为1
q=exp(j*k*(m.^2+n.^2)/2/z);
subplot(221);%圆孔图像画在2行2列的第一个位置
imshow(I); %画衍射屏的形状
axis image
title(‘衍射屏形状‘)

L=300;
M=300;%取相同点数用于矩阵运算

评论

共有 条评论