1 简介
根据惠更斯 - 菲涅耳原理,光的衍射是光束内部的次波之间的相干叠加,衍射光波场的光振动符合菲涅耳积分公式。但直接运用菲涅耳积分公式计算衍射光场是很困难的。对于夫琅和费衍射(远场衍射),在光源和接收屏距离衍射屏均为无穷远的情况下,通过较为简单的积分运算即可得到较精确的衍射光振动和光强分布。而对于菲涅耳衍射(近场衍射),即光源和接收屏距离衍射屏至少一个为有限远,只能通过近似方法(如半波带法)半定量地得出轴上一点的衍射光强。当轴上点对应的半波带数 k = 奇数时,则该点为亮点,若半波带数 k = 偶数时,则该点为暗点。
轴外光强分布的定量分析难度很大,目前未见系统的研究。MATLAB 软件具有强大的计算和可视化功能,可以较为精确地模拟光学实验的结果,可避开复杂的光学理论推导以及条件苛刻的光学实验测量,使复杂、抽象的光学现象
变得具体、直观。
2 部分代码
%圆孔衍射 菲涅尔
clear
lamda=633*10^(-6);
k=2*pi/lamda;%?¨??
p=1;
z=100;
fu=sqrt(-1);
d=0.1;
[X,Y]=meshgrid(-p:0.005:p,-p:0.005:p);
for i=1:size(X,1)
for j=1:size(Y,1)
if X(i,j).^2+Y(i,j).^2<=(d/2)^2
A(i,j)=1;
else
A(i,j)=0;
end
end
end
end
figure(1)
subplot(2,2,1);
imshow(A,[])
subplot(2,2,2);
imshow(aabss,[])
colormap(gray);
subplot(2,2,3);
[i,j]=size(aabss);
plot(x,B)
subplot(2,2,4);
surfl(aabss)
shading interp
colormap(gray)
axis off
3 仿真结果
4 参考文献
[1]陈丽娜, 陆霁, 朱伟玲. 基于MATLAB对菲涅耳圆孔衍射的模拟[J]. 实验室科学, 2014, 17(4):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。