Indefinite integrals of bessel function
4 views (last 30 days)
Show older comments
Rahul Gandhi
on 5 Jan 2021
Commented: Rahul Gandhi
on 6 Jan 2021
I have this function that has bessel functions which has to be integrated from infinity to 0 and plot the graph between Fy and r.
Matlab returns NaN as output.

mu=4*pi*10^-7;
M=0.891*10^6;
R=5*10^-3;
s=10*10^-3;
t=5*10^-3;
syms q
r=linspace(-10*10^-3,10*10^-3,20)
func=@(q) 4*pi*M^2*mu*R^2*(besselj(1,(r.*q/R)).*besselj(1,q).^2.*sinh(q.*t/(2*R)).^2.*exp(-q.*s/R));
F=integral(func,inf,0)
plot(r,F)
%Edited:-Forgot to place F in plot.
4 Comments
David Goodmanson
on 6 Jan 2021
Hi Rahul,
Compared to the expression you posted, it looks func is missing a factor of epsilon. But a much more serious issue is, what happened to the factor of 1/q?
Accepted Answer
Walter Roberson
on 5 Jan 2021
you need ArrayValued option for integrate()
2 Comments
Walter Roberson
on 5 Jan 2021
mu=4*pi*10^-7;
M=0.891*10^6;
R=5*10^-3;
s=10*10^-3;
t=5*10^-3;
r=linspace(-10*10^-3,10*10^-3,20)
syms q
func=@(q) 4*pi*M^2*mu*R^2*(besselj(1,(r.*q/R)).*besselj(1,q).^2.*sinh(q.*t/(2*R)).^2.*exp(-q.*s/R));
F = vpaintegral(func(q), q, inf, 0);
plot(r,F, 'b*-')
More Answers (0)
See Also
Categories
Find more on Bessel functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!