Scilab Function

besseli - Modified Bessel functions of the first kind (I sub alpha).

### Calling Sequence

  `y = besseli(alpha,x)`
  `y = besseli(alpha,x,ice)`

### Parameters

- `x` : real vector with non negative entries
- `alpha` : real vector with non negative entries regularly spaced with increment equal to one `alpha=alpha0+(n1:n2)`
- `ice` : integer flag, with default value 1

### Description

`besseli(alpha,x)` computes modified Bessel functions of the first kind (I sub alpha), for real, non-negative order `alpha` and argument `x` . `alpha` and `x` may be vectors. The output is `m` -by-`n` with `m = size(x,'*')` , `n = size(alpha,'*')` whose `(i,j)` entry is `besseli(alpha(j),x(i))` .

I_alpha and K_alpha (see `besselk` ) modified Bessel functions are 2 independant solutions of the modified Bessel 's differential equation :

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

If `ice` is equal to 2 exponentialy scaled Bessel functions is computed (`I_alpha_scaled(x) = exp(-x) I_alpha(x)`).

### Examples

    // example : display some I bessel functions
    x = linspace(0.01,10,5000)';
    y = besseli(0:4,x);
    ys = besseli(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("Some modified bessel functions of the first kind")
    subplot(2,1,2)
       plot2d(x,ys, style=2:6, leg="I0s@I1s@I2s@I3s@I4s", rect=[0,0,6,1])
       xtitle("Some modified scaled bessel functions of the first kind")

### See Also

`besselj` , `besselk` , `bessely` ,

### Author

W. J. Cody, L. Stoltz (code from Netlib (specfun))