<< mini 5-2 pol2tex >>
removed >> removed > 5-2 > oldbesseli

oldbesseli

funções de Bessel modificadas do primeiro tipo (I sub alfa).

oldbesselj

funções de Bessel do primeiro tipo (J sub alfa).

oldbesselk

funções de Bessel modificadas do segundo tipo (K sub alfa).

oldbessely

funções de Bessel do segundo tipo (Y sub alfa).

Seqüência de Chamamento

y = oldbesseli(alpha, x)
y = oldbesseli(alpha, x, ice)
y = oldbesselj(alpha, x)
y = oldbesselk(alpha, x)
y = oldbesselk(alpha, x, ice)
y = oldbessely(alpha, x)

Parâmetros

x

vetor de reais com entradas não-negativas

alpha

vetor de reais com entradas não-negativas igualmente espaçadas com incremento igual a 1alpha=alpha0+(n1:n2)

ice

flag inteiro com valor padrão 1

Descrição

Funções obsoletas, use besseli, besselj, besselk, bessely no lugar. Note, contudo, que a semântica destes dois grupos de funções é diferente.

oldbesseli(alpha,x) computa funções modificadas de Bessel do primeiro tipo (I sub alfa), para ordem real não-negativa alpha e argumento real não-negativo x. besseli(alpha,x,2) computa besseli(alpha,x).*exp(-x).

oldbesselj(alpha,x) computa funções de Bessel do primeiro tipo (J sub alfa), para ordem real não-negativa alpha e argumento real não-negativo x.

oldbesselk(alpha,x) computa as funções modificadas de Bessel do segundo tipo (K sub alfa), para ordem real não-negativa alpha e argumento real não-negativo x. besselk(alpha,x,2) computa besselk(alpha,x).*exp(x).

oldbessely(alpha,x) computa funções de Bessel do segundo tipo (Y sub alfa), para ordem real não-negativa alpha e argumento real não-negativo x.

alpha e x podem ser vetores. A saída é m-por-n com m = size(x,'*'), n = size(alpha,'*') whose (i,j) cuja entrada oldbessel?(alpha(j),x(i)).

Observações

As funções Y_alfa e J_alfa de Bessel são duas soluções independentes da equação diferencial de Bessel :

2 2 2 x y" + x y' + (x - alfa ) y = 0 , alfa = 0

As funções modificadas K_alfa e I_alfa de Bessel são duas soluções independentes da equação diferencial modificada de Bessel:

2 2 2 x y" + x y' - (x + alfa ) y = 0 , alfa >= 0

Exemplos

// exemplo #1: exibindo algumas funções I de Bessel
x = linspace(0.01,10,5000)';
y = oldbesseli(0:4,x);
ys = oldbesseli(0:4,x,2);
xbasc()
subplot(2,1,1)
plot2d(x,y, style=2:6, leg="I0@I1@I2@I3@I4", rect=[0,0,6,10])
xtitle("Algumas funções modificadas de Bessel do primeiro tipo")
subplot(2,1,2)
plot2d(x,ys, style=2:6, leg="I0s@I1s@I2s@I3s@I4s", rect=[0,0,6,1])
xtitle("Algumas funções modificadas de Bessel do primeiro tipo escaladas")

// exemplo #2 : exibindo algumas funções J 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("Algumas funções de Bessel do primeiro tipo")

// example #3 : usando o fato de que J_(1/2)(x) = sqrt(2/(x pi)) sin(x)
//              para comparar o algoritmo de besselj(0.5,x) com
//              uma fórmula mais direta
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("erro relativo entre as duas fórmulas para besselj(0.5,x)") 

// exemplo #4: exibindo algumas funções K de Bessel
x = linspace(0.01,10,5000)';
y = besselk(0:4,x);
ys = besselk(0:4,x,1);
xbasc()
subplot(2,1,1)
plot2d(x,y, style=0:4, leg="K0@K1@K2@K3@K4", rect=[0,0,6,10])
xtitle("Algumas funções modificadas de Bessel do segundo tipo")
subplot(2,1,2)
plot2d(x,ys, style=0:4, leg="K0s@K1s@K2s@K3s@K4s", rect=[0,0,6,10])
xtitle("Algumas funções modificadas de Bessel do segundo tipo escaladas")

// exemplo #5: plot de várias funções Y de Bessel
x = linspace(0.1,40,5000)'; // funções  Y de Bessel não possuem limite para x -> 0+
y = bessely(0:4,x);
xbasc()
plot2d(x,y, style=0:4, leg="Y0@Y1@Y2@Y3@Y4", rect=[0,-1.5,40,0.6])
xtitle("Algumas funções de Bessel do segundo tipo")

Autores

W. J. Cody, L. Stoltz (código de Netlib (specfun))

Histórico

VersionDescription
5.2.2 oldbesseli, oldbesselj, oldbesselk, and oldbessely were published up to Scilab 5.2.2. They are replaced with besseli, besselj, besselk, and bessely.

<< mini 5-2 pol2tex >>