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 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Più risposte (1)
Torsten
il 28 Feb 2024
Modificato: Torsten
il 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 Commenti
Torsten
il 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)
Vedere anche
Categorie
Scopri di più su Bessel functions in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!