Indefinite integrals of bessel function

4 views (last 30 days)
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
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?
Rahul Gandhi
Rahul Gandhi on 6 Jan 2021
Hey David,
Thank you for pointing that out. I should have uploaded or just copied my m file rather then typing it here( I must have edited for like 5 times I guess).Epsilon is just +1 or -1, so no issue,but 1/q is needed. I have computed and taken care of 1/q in my system and it gives a plot of same profile as Walter has shown. Thank you again, David and Walter for response

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 5 Jan 2021
you need ArrayValued option for integrate()
  2 Comments
Rahul Gandhi
Rahul Gandhi on 5 Jan 2021
Thank you Walter for quick response. Also the hyperbolic sine function is not giving output for integral, so I used series(first three terms) of Sinh(x)^2. It is correct way?
Walter Roberson
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)
r = 1×20
-0.0100 -0.0089 -0.0079 -0.0068 -0.0058 -0.0047 -0.0037 -0.0026 -0.0016 -0.0005 0.0005 0.0016 0.0026 0.0037 0.0047 0.0058 0.0068 0.0079 0.0089 0.0100
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*-')

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!