Текст подпрограммы и версий
sf83r_p.zip , sf83e_p.zip
Тексты тестовых примеров
tsf83r_p.zip , tsf83e_p.zip

Функция:  SF83R (модуль SF83R_p)

Назначение

Вычисление неполного эллиптического интеграла  el2 (x, kc, a, b) второго рода общего вида.

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

Подпрограмма - функция SF83R вычисляет неполный эллиптический интеграл второго рода общего вида:

                               x
  el2(x, kc, a, b)  =  ∫   [(a + b t 2) dt] / [ (1 + t 2) ( (1 + t 2)(1 + kc2 t 2) ) 1/2 ]  ,
                              0 

где  x ≥ 0,  kc,  a,  b - вещественные числа .

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

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

function SF83R(X :Real; RKC :Real; var A :Real; var B :Real): Real;

Параметры

         X, RKC -
         A, B  
заданные значения аргументов  x,  kc,  a  и  b соответственно (тип: вещественный).

Версии

SF83E - вычисление неполного эллиптического интеграла  el2 (x, kc, a, b) второго рода общего вида в режиме расширенной (Extended) точности; при этом все параметры функции SF83E должны иметь тип Extended, а сама функция тоже должна быть описана как Extended.

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

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

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

Unit TSF83R_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF83R_p;

function TSF83R: String;

implementation

function TSF83R: String;
var
X,RKC2,RKC,A,R :Real;
begin
Result := '';  { результат функции }
X := 3.14159265/3.0;
RKC2 := 0.25;
RКС := Sqrt(RKC2);
A := 1.0;
R := SF83R(X,RKC,A,RKC2);
Result := Result + Format(' %16.7f %16.7f ',[RKC,R]) + #$0D#$0A;
UtRes('TSF83R',Result);  { вывод результатов в файл TSF83R.res }
exit;
end;

end.

Результат:    R = 0.746321