blob: d0a55e231af0104ce1a99b12fe3f8009936aa91b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
%---------------------------------------------------------------
% PROGRAM: AiryI_Fraunhofer
% AUTHOR: Andri M. Gretarsson
% DATE: 1/30/06
%
%
% SYNTAX: I=AiryI([a,L,lambda],r);
% <,...> indicates optional argument
%
% Returns the intensity of an Airy disk as a function of radius
% in the Fraunhofer (small aperture) and paraxial (small angle)
% limits.
%
% a = radius of aperture
% L = propagation distance (axially) from aperture
% lambda = wavelength
%
% Last updated: 1/30/06 by AMG
%---------------------------------------------------------------
%% SYNTAX: I=AiryI_Fraunhofer([a,L,lambda],r);
%---------------------------------------------------------------
function I=AiryI(params,r);
a=params(1);
L=params(2);
lambda=params(3);
k=2*pi/lambda;
r=(r==0)*lambda/1000+r; %Gives the limit of Bessel(1,r)/r as r->0 (can't evaluate BesselJ(1,0)/0).
I=(2*BesselJ(1,k*a*r/L)./(k*a*r./L)).^2;
%I is normalized to the intensity in the center.
|