Creating Airy Pattern WITHOUT bessel function and using Matlab's function for J1(rho) for values 0-10

6 views (last 30 days)
I need to approximate the airy pattern without using the bessel function, but I cannot figure out how! I've been trying to come up with some way to do this for hours, but none of my code is working. I know that this can be done with the bessel function, and I've figured out how to code that:
X=[];Y=[];
x = -10:0.01:10;
I0 = 15;
I = I0*(2*besselj(1,x)./(x)).^2;
plot(x,I)
ylim([-2 16])
grid on
title('Airy Pattern BUILT IN BESSEL f(x)')
ylabel('Normalized PSF Amplitude')
xlabel('Radial Coordinates')
r=0:10
J1=Jinc(r).^2
ai=((2*J1(r)/r) .^ 2)
But I need to do this exact same thing, except without the bessel function and for only the 11 values that are 0-10.
If anyone knows how to do this! That'd be great!
  3 Comments
Walter Roberson
Walter Roberson on 8 May 2017
What is the purpose in avoiding the bessel functions? We could give the hypergeom definition of AiryAi or AiryBi, but would hypergeom be any more useful for your purpose than bessel would be?
David Goodmanson
David Goodmanson on 8 May 2017
Edited: David Goodmanson on 8 May 2017
Hello Candice, are you perhaps studying diffraction theory, with the idea being to confirm the (J1(x) / x)^2 expression by integrating a particular function over the surface of a circular aperture? That is certainly an eminently reasonable task.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!