I am very late to answer my own question but I have found a solution. The practical approach to this problem was that I used a finite upper limit of integration and made use of the "trapz" function. I noticed that the exponential term was decaying very rapidly to zero and there seemed no need to integrate it to infinity. My results matched with those from the reference.
How to perform correct numerical integration of equations containing Bessel functions ?
8 views (last 30 days)
Show older comments
I am trying to numerically integrate ths improper integral using "integrate" but the output is un-converged:
What would be the right way to solve this equation in MATLAB ?
0 Comments
Accepted Answer
More Answers (1)
Torsten
on 28 Feb 2024
Edited: Torsten
on 28 Feb 2024
I suspect you want exp(-zeta^2/(4*0.0277)) instead of exp(zeta^2/(4*0.0277)) in your integrand.
And why do you add the same Bessel function two times : J0(103.562*zeta)+J0(103.562*zeta) ? This gives 2*J0(103.562*zeta) :-)
2 Comments
Torsten
on 28 Feb 2024
Seems to be difficult to integrate up to Inf:
syms x
vpa(int(besselj(0,106.4202*x),x,0,Inf))
format long
fun = @(xi) besselj(0,106.4202*xi);
test = integral( fun,0,6)
testInf = integral( fun,0,Inf)
See Also
Categories
Find more on Bessel functions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!