besselj - Fonction J de Bessel modifiée de première espèce.
besselj(alpha,x) Calcule la fonction J de Bessel modifiée de première espèce d'indice réel et non négatif alpha et d'argument x . alpha et x peuvent être des vecteurs. Cette fonction renvoie une matrice de taille m -par- n avec m = size(x,'*') , n = size(alpha,'*') dont la composante (i,j) vaut besselj(alpha(j),x(i)) .
Les fonctions de Bessel J_alpha et Y_alpha (voir bessely ) sont 2 solutions indépendantes de l'équation différentielle de Bessel :
2 2 2
x y" + x y' + (x - alpha ) y = 0 , alpha >= 0
// exemple #1 : Visualisation de quelques fonctions de Bessel
x = linspace(0,40,5000)';
y = besselj(0:4,x);
xbasc()
plot2d(x,y, style=2:6, leg="J0@J1@J2@J3@J4")
xtitle("Quelques fonctions de Bessel du premier type")
// exemple #2 : utilise la relation J_(1/2)(x) = sqrt(2/(x pi)) sin(x)
// pour comparer besselj(0.5,x) avec une formule plus directe
x = linspace(0.1,40,5000)';
y1 = besselj(0.5, x);
y2 = sqrt(2 ./(%pi*x)).*sin(x);
er = abs((y1-y2)./y2);
ind = find(er > 0 & y2 ~= 0);
xbasc()
subplot(2,1,1)
plot2d(x,y1,style=2)
xtitle("besselj(0.5,x)")
subplot(2,1,2)
plot2d(x(ind), er(ind), style=2, logflag="nl")
xtitle("Erreur relative entre la formule 2 et besselj(0.5,x)")
W. J. Cody (code from Netlib (specfun))