how to implement Bessel's function in MATLAB

i want to find the solution of this bessels function mentioned
please help me to model the same in matlab or simulink

 Respuesta aceptada

Walter Roberson
Walter Roberson el 16 de En. de 2021
Editada: Walter Roberson el 16 de En. de 2021

1 voto

When Bessel functions are being used, it is not uncommon to find that you need higher precision than double precision can provide, so it is common to need to use the symbolic version. To be more precise, often calculation of the values needs a higher range than double precision can support: it is common to end up with formulas that involve the ratio of two large numbers, and even though the ratio might be in the 1/1000 to 2 range, the individual numbers overflow to infinity in double precision.

10 comentarios

could you be more specific, on how to implement that equation in matlab
Walter Roberson
Walter Roberson el 16 de En. de 2021
is besselj(1, sigma1)
NIHAD MOHAMED ALI
NIHAD MOHAMED ALI el 10 de Feb. de 2021
how do i implement J1'(sigma) ?
syms sigma
J1prime(sigma) = diff(besselj(1,sigma))
J1prime(sigma) = 
vpa(J1prime(3))
ans = 
NIHAD MOHAMED ALI
NIHAD MOHAMED ALI el 10 de Feb. de 2021
Thanks a lot sir,
NIHAD MOHAMED ALI
NIHAD MOHAMED ALI el 10 de Feb. de 2021
Editada: NIHAD MOHAMED ALI el 10 de Feb. de 2021
sigma=1.469;
x=besselj(1,sigma);
y=bessely(1,sigma);
z=diff(besselj(1,sigma));
vpa(z);
what am i doing wrong?
am geting answer as zero
NIHAD MOHAMED ALI
NIHAD MOHAMED ALI el 10 de Feb. de 2021
@Walter Roberson specific thing is i need to solve equation 2 and use the result in equation 3! so am studying the basics you been of great help,but iam still having trouble cracking it
format long g
sigma=1.469
sigma =
1.469
x = besselj(1,sigma)
x =
0.553407191636554
y = bessely(1,sigma)
y =
-0.432787705894754
syms Sigma
J1prime(Sigma) = diff(besselj(1,Sigma))
J1prime(Sigma) = 
z = J1prime(sigma)
z = 
vpa(z)
ans = 
0.15233074502500402865842627859807
Remember, besselj(1,sigma) is a constant value, and diff() of a constant value is 0. You did something similar to
syms X
f(X) = X^2
f(X) = 
x = 3
x = 3
diff(f(x))
ans = 
0
df = diff(f)
df(X) = 
df(x)
ans = 
6
When x is a particular number, f(x) is a point, not a line, and diff() of a point is 0. You need to differentiate the function and then substitute the particular number into the result.
NIHAD MOHAMED ALI
NIHAD MOHAMED ALI el 10 de Feb. de 2021
yes, clealy understood my mistake ; thanks a bunch

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by