Indefinite integrals of bessel function

6 visualizaciones (últimos 30 días)
Rahul Gandhi
Rahul Gandhi el 5 de En. de 2021
Comentada: Rahul Gandhi el 6 de En. de 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 comentarios
David Goodmanson
David Goodmanson el 6 de En. de 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 el 6 de En. de 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

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 5 de En. de 2021
you need ArrayValued option for integrate()
  2 comentarios
Rahul Gandhi
Rahul Gandhi el 5 de En. de 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 el 5 de En. de 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*-')

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Bessel functions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by