Документ взят из кэша поисковой машины. Адрес
оригинального документа
: 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.