I am trying to write a code to calculate the bessel functions of the first kind. The equation is given here: http://en.wikipedia.org/wiki/Bessel_function#Bessel_functions_of_the_first_kind_:_J.CE.B1
I also have the following code:
beta = 4; alpha = 1; iteration = 3;
for m = 1:iteration J(m) = (((-1)^m)/(factorial(m)*gamma(m+alpha+1)))*(beta/2)^(2*m+alpha); end
out = sum(J)
However, when i compare my results with the built in function besselj, I cannot get the same result. Unfortunately, I cannot see where I am going wrong.
All assistance is appreciated.
No products are associated with this question.
I have solved this issue. I should have started the iterations at 0 instead of 1.
Thread closed. Thanks
The iteration should go to infinity but yours stop at 3.
In fact, this kind of implementation has another numerical issue, see the notes below from factorial's reference page
Since double precision numbers only have about 15 digits, the answer is only accurate for n <= 21. For larger n, the answer will have the right magnitude, and is accurate for the first 15 digits.