Текст подпрограммы и версий
sfa5r_p.zip  sfa5e_p.zip 
Тексты тестовых примеров
tsfa5r_p.zip  tsfa5e_p.zip 

Функция:  SFA5R (модуль SFA5R_p)

Назначение

Вычисление экспоненциального интеграла 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