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

Функция:  SF44R (модуль SF44R_p)

Назначение

Вычисление обратной функции  F - распределения вероятностей (распределения Снедекора).

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

SF44R вычисляет значение  x  такое, что

     Fx (AN1, AN2) = P,

где  P                - заданное значение вероятности (0 < P < 1) ,
       AN1, AN2  - заданные параметры  F - распределения
                           вероятностей (распределения Снедекора)
                           (AN1 > 0, AN2 > 0) . 

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

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

function SF44R(P :Real; AN1 :Real; AN2 :Real;
                var IERR :Integer): Real;

Параметры

P - заданное значение вероятности (тип: вещественный);
         AN1 -
         AN2  
заданные значения степеней свободы  F - распределения (тип: вещественный);
IERR - целая переменая, служащая для сообщения об ошибках, обнаруженных в ходе работы функции; при этом:
IERR=65 - когда заданное значение вероятности не принадлежит интервалу (0, 1); значение функции полагается равным 3.4E38;
IERR=66 - когда одна или обе степени свободы меньше или равны 0; значение функции полагается равным 3.4E38;
IERR=67 - когда значение функции не может быть найдено в пределах 30 итераций; значение функции полагается равным 3.4E38;
IERR=68 - когда функция становится настолько большой, что ее значение не помещается в разрядной сетке машины; значение функции полагается равным 3.4E38.

Версии: нет

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

UTSF12 - подпрограмма выдачи диагностических сообщений при работе функции SF44R.

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

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

Unit tsf44r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF44R_p;

function tsf44r: String;

implementation

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

end.


Результаты:

       Y  =  0.444444442
       IERR  =  0