Текст подпрограммы и версий
sfa5r_c.zip  sfa5d_c.zip 
Тексты тестовых примеров
tsfa5r_c.zip  tsfa5d_c.zip 

Функция:  sfa5r_c

Назначение

Вычисление экспоненциального интеграла Bn (a) .

Математическое описание

Подпрограмма - функция sfa5r_c вычисляет значение интеграла

                                   1
          Bn(a)     =        ∫    t n   e-at   dt ,
                              -1 

для  n = 0, 1, 2,...  и вещественного параметра  a . Если  | a | < 1, то используется разложение  e- at  в ряд Тейлора. В противном случае используется рекуррентная формула

           Bn(a)     =     ( (-1)n  ea   -   e-a   +   n Bn-1(a) ) / a     ,

где      B0(a)     =     ( ea   -   e-a) / a

Абрамовиц М., Стиган И. Справочник по специальным функциям. М.: Наука, 1979.

Использование

    real sfa5r_c (integer *n, real *a)

Параметры

n - заданное значение параметра  n  (тип: целый);
a - заданное значение параметра  a  (тип: вещественный).

Версии

sfa5d_c - вычисление экспоненциального интеграла Bn (a) в режиме удвоенной точности; при этом параметр a должен иметь тип double.

Вызываемые подпрограммы: нет

Замечания по использованию: нет

Пример использования

int main(void)
{
    /* Local variables */
    extern float sfa5r_c(int *, float *);
    static float a;
    static int n;
    static float res;

    n = 3;
    a = .25f;
    res = (float)sfa5r_c(&n, &a);

    printf("\n %16.7e \n", res);
    return 0;
} /* main */


Результат:        res   =   -0.1007459