Текст подпрограммы и версий sfa5r_p.zip sfa5e_p.zip |
Тексты тестовых примеров tsfa5r_p.zip tsfa5e_p.zip |
Вычисление экспоненциального интеграла Bn (a).
Подпрограмма - функция SFA5R вычисляет значение интеграла
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.
function SFA5R(N :Integer; A :Real): Real;
Параметры
N - | заданное значение параметра n (тип: целый); |
A - | заданное значение параметра a (тип: вещественный). |
Версии
SFA5E - | вычисление экспоненциального интеграла Bn (a) в режиме расширенной (Extended) точности; при этом параметр A должен иметь тип Extended. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
Unit tsfa5r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, SFA5R_p; function tsfa5r: String; implementation function tsfa5r: String; var N :Integer; A,RES :Real; begin Result := ''; { результат функции } N := 3; A := 0.25; RES := SFA5R(N,A); Result := Result + Format('%15.8f ',[RES]) + #$0D#$0A; UtRes('tsfa5r',Result); { вывод результатов в файл tsfa5r.res } exit; end; end. Результат: RES = -0.1007459