Текст подпрограммы и версий sfa5r_c.zip sfa5d_c.zip |
Тексты тестовых примеров tsfa5r_c.zip tsfa5d_c.zip |
Вычисление экспоненциального интеграла 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