|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://num-anal.srcc.msu.ru/lib_na/cat/sf_htm_p/sf23c_p.htm
Дата изменения: Wed Nov 25 14:41:03 2015 Дата индексирования: Sun Apr 10 03:23:44 2016 Кодировка: Windows-1251 |
|
Текст подпрограммы и версий sf23c_p.zip , sf23z_p.zip |
Тексты тестовых примеров tsf23c_p.zip , tsf23z_p.zip |
Вычисление значений гамма - функции и ee натурального логарифма от комплексного аргумента.
Подпрограмма SF23C вычисляет значение гамма-функции
∞
Г (Z) = ∫ t z - 1 e - t dt
0
и ее натурального логарифма для комплексных значений Z.
H.Kuki, Complex Gamma Function with Error Control, Communications ACM, 15, 4, 1972.
procedure SF23C(ARGR :Real; ARGI :Real; var ANSR :Real;
var ANSI :Real; var EPS :Real; L :Integer;
var IERR :Integer);
Параметры
| ARGR - | заданное значение действительной части аpгумента Z (тип: вещественный); |
| ARGI - | заданное значение мнимой части аргумента Z (тип: вещественный); |
|
ANSR - ANSI | вещественные переменные, значения которых в pезультате работы подпрограммы полагаются равными действительной и мнимой части pезультата соответственно; |
| EPS - | вещественная переменная, определяющая на входе абсолютную точность, с которой надо найти результат; в результате работы подпрограммы значение EPS полагается равным действительно достигнутой точности; |
| L - | задает режим работы подпрограммы (тип: целый); при этом: |
| L = 0 - | если вычисляется натуральный логарифм от гамма - функции; |
| L = 1 - | если вычисляется гамма - функция; |
| IERR - | целая переменая, служащая для сообщения об ошибках, обнаруженных в ходе работы подпрограммы; при этом: |
| IERR=65 - | когда мнимая часть аргумента pавна нулю, а вещественная часть аргумента больше 21.4; |
| IERR=66 - | когда вычисляемая функция превосходит максимально допустимое в машине число; |
| IERR=67 - | когда значение аргумента pавно нулю или любому целому отрицательному числу; |
| при IERR ≠ 0 переменным ANSR и ANSI присваивается значение 3.4E38. |
Версии
| SF23Z - | вычисление значений гамма - функции и ее натурального логарифма в комплексной области с расширенной (Extended) точностью. |
Вызываемые подпрограммы
| UTSF10 - | подпрограмма печати диагностических сообщений при работе подпрограмы SF23C. |
| UTSF11 - | подпрограмма печати диагностических сообщений при работе подпрограммы SF23Z. |
Замечания по использованию
|
Для подпрограммы SF23Z параметры ARGR, ARGI, ANSR, ANSI имеют тип Extended и IERR полагается равным 65, если значение ARGI pавно нулю и значение ARGR больше 408.909. При IERR ≠ 0 значения ARGR и ARGI полагаются равными 1.7E308. |
Unit tsf23c_p;
interface
uses
SysUtils, Math, { Delphi }
Lstruct, Lfunc, UtRes_p, SF23C_p;
function tsf23c: String;
implementation
function tsf23c: String;
var
L,IERR :Integer;
ARGR,ARGI,EPS,ANSR1,ANSI1 :Real;
begin
Result := ''; { результат функции }
ARGR := 6.7;
ARGI := 0.3;
EPS := 1.E-12;
L := 0;
SF23C(ARGR,ARGI,ANSR1,ANSI1,EPS,L,IERR);
Result := Result + Format(' %20.16f %20.16f %20.16f ',
[ANSR1,ANSI1,EPS]) + #$0D#$0A;
Result := Result + Format('%5d ',[IERR]) + #$0D#$0A;
UtRes('tsf23c',Result); { вывод результатов в файл tsf23c.res }
exit;
end;
end.
Результаты:
ANSR1 = 6.017194153159;
ANSI1 = 0.547804744098;
EPS = 3.2725E-11;
IERR = 0.