Текст подпрограммы и версий
sf77r_p.zip
Тексты тестовых примеров
tsf77r_p.zip

Подпрограмма:  SF77R (модуль SF77R_p)

Назначение

Вычисление обратной функции треугольного распределения вероятностей.

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

SF77R вычисляет значение  x такое, что  F (x, G1, G2) = P, где   F (x, G1, G2) - функция треугольного распределения вероятностей:

                            x
F(x, G1, G2) = 2 ∫  ( ( 1/|G1 - G2| ) - ( |G1 + G2 - 2Z|/(G1 - G2)2 ) ) dz ,
                        min(G1, G2) 
            min(G1, G2) ≤ x ≤ max(G1,G2) 

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

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

procedure SF77R(P :Real; G1 :Real; G2 :Real; var X :Real;
                var IERR :Integer);

Параметры

P - заданное значение аргумента (тип: вещественный);
G1, G2 - параметры треугольного распределения (границы интервала, на котоpом сосредоточено распределение) (тип: вещественный);
X - вещественная переменная, содержащая вычисленное значение функции;
IERR - целая переменная, служащая для сообщения об ошибках; при этом:
IERR=66 - когда  P < 0 либо  P > 1; значение  X полагается равным нулю.

Версии: нет

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

UTSF16 - подпрограмма выдачи диагностических сообщений при работе подпрограммы SF77R.

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

  Границы интервала  G1, G2 допустимо задавать в любом порядке (т.е.  G2 можно задавать как больше, так и меньше  G1).

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

Unit tsf77r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF77R_p;

function tsf77r: String;

implementation

function tsf77r: String;
var
IER :Integer;
FX :Real;
begin
Result := '';  { результат функции }
SF77R(0.5,0.0,2.0,FX,IER);
Result := Result + Format(' %16.7f %12d ',[FX,IER]) + #$0D#$0A;
UtRes('tsf77r',Result);  { вывод результатов в файл tsf77r.res }
exit;
end;

end.


Результаты:    FX  =  1.0 ,    IER  =  0