资源简介

正弦光栅、矩孔、圆孔的菲涅尔衍射与夫琅禾费衍射实验验证 matlab代码

资源截图

代码片段和文件信息

%% 选择衍射类型
yup=input(‘请选择衍射屏类型:1-矩孔;2-圆孔;3-正弦条纹\n‘);
R=input(‘请输入半径(可取50单位um)\n‘);
N=input(‘请输入衍射屏长宽(可取400,单位um)\n‘);
Z=input(‘请输入衍射屏与像屏距离(可取0.02,单位m)\n‘);
switch(yup)
    case (1)    % 绘制矩孔  
        T=zeros(NN);
        [xy]=meshgrid(linspace(-N/2N/2N));
        T(find(x>-R&x-R&y        
    case(2)  % 绘制圆孔
            T=zeros(NN);
            [xy]=meshgrid(linspace(-N/2N/2N));
            D=((x).^2+(y).^2).^(1/2);
            xx=D<=R;
            T(xx)=1;

    case(3)  % 绘制正弦条纹刻线
            T=zeros(NN);
            [xy]=meshgrid(linspace(-N/2N/2N));
            T=1+sin(x*pi/20);%条纹周期为40um
end

%% 定义初始量
syms lamda x0 y0 z A
lamda=0.6328;  %确定波长um
z=Z*1000000;   %确定衍射屏与像屏距离um
k=2*pi/lamda;      
A=1;  %定义单色平面波的强度 

%% 出射光场及其频谱
figu

评论

共有 条评论