Indefinite integrals of bessel function

6 vues (au cours des 30 derniers jours)
Rahul Gandhi
Rahul Gandhi le 5 Jan 2021
Commenté : Rahul Gandhi le 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 commentaires
David Goodmanson
David Goodmanson le 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 le 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

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Jan 2021
you need ArrayValued option for integrate()
  2 commentaires
Rahul Gandhi
Rahul Gandhi le 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 le 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*-')

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Bessel functions dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by