# the integral of the Bessel function in Matlab

25 views (last 30 days)
mery on 7 Jul 2022
Edited: Torsten on 8 Jul 2022
I try to calculate the integral of the Bessel function in Matlab
syms r a b k
assume(a>0)
assume(k>0 & k<1)
L=int(log(r)*(besselj(0,a*r)+b*bessely(0,a*r)),r,k,1)
L = but I have this error (Invalid limits given : (k, 1)) i.e. I have a problem in log(r) but the k checks (0<k<1) I don't know how to set this condition (0<k<1) in Matlab to get the correct result.
how can I calculate this integral with this condition?

Torsten on 8 Jul 2022
Seems there is no analytical solution for this integral (see MATLAB output above).
Give values to the variables and use numerical integration:
a = 1;
b = 2;
k = 0.5;
L = integral(@(r)log(r).*(besselj(0,a*r)+b*bessely(0,a*r)),k,1)
L = -0.0605
Torsten on 8 Jul 2022
Edited: Torsten on 8 Jul 2022
What error ? You now have an expression for L that you can directly insert instead of
L = int(log(r)*(besselj(0,a*r)+b*bessely(0,a*r)),r,k,1)

### Categories

Find more on Bessel functions in Help Center and File Exchange

R2022a

### Community Treasure Hunt

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

Start Hunting!