武汉理工大学《Matlab应用专项实践》课程设计说明书
2J1?ka??~2?C'r1?a2由贝塞尔函数可得 E? ????kr?Jkr???aC'ka??k??2111r1?0因此,光强为
I??a爱里斑的半径为
??22?2J?ka????2J1?Z?? C'?1?I0????ka???Z?222r0?1.22f?2a
3 程序设计
3.1 矩孔衍射程序
clear all
close all clc
lmda=632.8e-9; %波长
xmax=0.05; %矩孔x轴宽度 ymax=0.05; %矩孔y轴宽度 def=0.0001; %分析分辨率 x=-xmax:def:xmax; y=-ymax:def:ymax; lenm=length(x); lenn=length(y); for m=1:lenm for n=1:lenn
alpha=pi*x(m)/(lmda); beta=pi*y(n)/(lmda);
I(m,n)=((sin(alpha))/(alpha))^2*((sin(beta))/(beta))^2; end end
[X,Y]=meshgrid(x,y);
I=I/(max(max(I))); figure
imshow(255*I);
武汉理工大学《Matlab应用专项实践》课程设计说明书
3.2 单缝衍射程序
clear all close all clc
lmda=632.8e-9; %波长
xmax=0.005; %矩孔x轴宽度 ymax=0.05; %矩孔y轴宽度 def=0.0001; %分析分辨率 x=-xmax:def:xmax; y=-ymax:def:ymax; lenm=length(x); lenn=length(y); for m=1:lenm for n=1:lenn
alpha=pi*x(m)/(lmda); beta=pi*y(n)/(lmda);
I(m,n)=((sin(beta))/(beta))^2; end end
I=I/(max(max(I))); [X,Y]=meshgrid(x,y); figure
imshow(255*I); xlabel('x'); ylabel('y');
3.3 圆孔衍射程序
clear all close all clc
lam=632.8e-9; %波长
a=0.0005; %圆孔直径 f=1; %距离
m=512; %画的点数 ym=4000*lam*f;
ys=linspace(-ym,ym,m); xs=ys; for i=1:m
r=xs(i)^2+ys.^2;
武汉理工大学《Matlab应用专项实践》课程设计说明书
sinth=sqrt(r./(r+f^2)); x=2*pi*a*sinth./lam;
hh=(2*besselj(1,x)).^2./x.^2; b(:,i)=(hh)'.*5000; end
image(xs,ys,b)
colormap(gray(256))
4 图形仿真
4.1 矩孔衍射仿真图样
x=0.05 , y=0.05时
武汉理工大学《Matlab应用专项实践》课程设计说明书
x=0.02 , y=0.05时
4.2 单缝衍射仿真图样
x=0.005 , y=0.05时
x=0.002 , y=0.05时
波长=700e-9,x=0.005 , t=0.05时
4.3 圆孔衍射仿真图样
直径a=0.0005时
武汉理工大学《Matlab应用专项实践》课程设计说明书
直径a=0.0003时