Функция: SF19R (модуль SF19R_p)
Назначение
Вычисление неполных эллиптических интегралов первого рода.
Математическое описание
Функция SF19R производит вычисление интегралов вида:
T
F (K, T) = ∫ (1 - K2 sin2 t) -1/2 dt для 0 ≤ K2 ≤ 1 и 0 ≤ T ≤ π/2
0
J.F.Hart, E.W.Cheney, C.L.Lawson et al, Computer
Approximations, Wiley, New York, 1968.
Использование
function SF19R(RK2 :Real; T :Real; var IERR :Integer): Real;
Параметры
RK2, T -
|
заданные значения аргументов K2 и T (тип:
вещественный);
|
IERR -
|
целая переменная, служащая для сообщения об
ошибках, обнаруженных в ходе работы функции;
при этом:
|
IERR=65 -
|
когда значение RK2 меньше 0. или
больше 1.; значение функции полагается равным 3.4E38;
|
IERR=66 -
|
когда значение T меньше 0. или больше
π / 2;
значение функции полагается равным 3.4E38;
|
IERR=67 -
|
когда RK2 = 1 и
T = π / 2
(значение подинтегральной функции pавно 0); значение
функции полагается равным 3.4E38.
|
Версии
SF19E -
|
вычисление неполных эллиптических интегралов
первого рода с расширенной (Extended) точностью.
|
Вызываемые подпрограммы
UTSF10 -
|
подпрограмма выдачи диагностических сообщений
при работе функции SF19R.
|
UTSF11 -
|
подпрограмма выдачи диагностических сообщений
при работе функции SF19E.
|
Замечания по использованию
|
Для функции SF19E параметры RK2 и T имеют тип
Extended. Значение SF19E при
IERR ≠ 0 полагается
pавным 1.7E308.
|
Пример использования
Unit tsf19r_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF19R_p;
function tsf19r: String;
implementation
function tsf19r: String;
var
IERR :Integer;
RK2,T,Y :Real;
begin
Result := ''; { результат функции }
RK2 := 0.5;
T := 3.14159265/4;
Y := SF19R(RK2,T,IERR);
Result := Result + Format(' %20.16f %5d ',[Y,IERR]) + #$0D#$0A;
UtRes('tsf19r',Result); { вывод результатов в файл tsf19r.res }
exit;
end;
end.
Результаты:
Y = 0.826017876245, IERR = 0