Текст подпрограммы и версий
sf40r_p.zip , sf40e_p.zip
Тексты тестовых примеров
tsf40r_p.zip , tsf40e_p.zip

Функция:  SF40R (модуль SF40R_p)

Назначение

Вычисление неполной гамма - функции  Гx (p) вещественного аргумента и вещественного параметра.

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

SF40R вычисляет неполную гамма - функцию Гx (p)

                   x
     Гx (p) = ∫ e - t t p - 1 dt    ,
                  0 

где  x  и  p  - принимают вещественные значения, причем x ≥ 0 и p > 0.

M.Abramowitz, I.A.Stegun, Handbook of Mathematical Functions New York, Dover Publications, INC., 1965.

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

function SF40R(X :Real; P :Real; var IERR :Integer): Real;

Параметры

X - заданное значение аргумента x (тип: вещественный);
P - заданное значение параметра p (тип: вещественный);
IERR - целая переменная, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом:
IERR=65 - когда значение аргумента x меньше 0; значение функции полагается равным 3.4E38;
IERR=66 - когда значение параметра P неполной гамма - функции не принадлежит полуинтервалу (0, 21.4] ; значение функции полагается равным 3.4E38.

Версии

SF40E - вычисление неполной гамма - функции Гx (p) с расширенной (Extended) точностью.

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

SF39R - подпрограмма вычисления гамма - функции распределения вероятностей I (x, p).
SF39E - подпрограмма вычисления гамма - функции распределения вероятностей I (x, p) с расширенной (Extended) точностью.
SF23C - подпрограмма вычисления гамма - функции и ее натурального логарифма от комплексного аргумента.
SF23Z - подпрограмма вычисления гамма - функции и ее натурального логарифма от комплексного аргумента с расширенной (Extended) точностью.
      UTSF10 -
      UTSF12  
подпрограммы выдачи диагностических сообщений при работе функций SF23C, SF39R, SF40R.
      UTSF11 -
      UTSF13  
подпрограммы выдачи диагностических сообщений при работе функций SF23Z, SF39E, SF40E.

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

  Для функции SF40E параметры X и P (0 < P ≤ 408.909) должны иметь тип Extended и при IERR ≠ 0 значение SF40E полагается равным 1.7E308.

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

Unit tsf40r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF40R_p;

function tsf40r: String;

implementation

function tsf40r: String;
var
IERR :Integer;
X,P,R :Real;
begin
Result := '';  { результат функции }
X := 1.0;
P := 1.0;
R := SF40R(X,P,IERR);
Result := Result + Format(' %20.16f  %20.16f  %20.16f  %5d ',
 [X,P,R,IERR]) + #$0D#$0A;
UtRes('tsf40r',Result);  { вывод результатов в файл tsf40r.res }
exit;
end;

end.


Результаты:

       R  =  0.6321205588074 , 
       IERR = 0