Текст подпрограммы и версий sfa6r_p.zip sfa6e_p.zip |
Тексты тестовых примеров tsfa6r_p.zip tsfa6e_p.zip |
Вычисление функции Бесселя третьего рода (функции Ханкеля) Hn (x) целых порядков от вещественных аргументов.
Подпрограмма SFA6R вычисляет комплексно - значную функцию Бесселя третьего рода (функцию Ханкеля)
Hn(x) = Jn(x) ± i Nn(x) = H1 ± i H2
для n ≥ 0 и вещественных значений x . Здесь Jn (x) и Nn (x) - функции Бесселя первого и второго родов соответственно. Для вычисления Hn (x) используется разложение этой функции в ряд.
Абрамовиц М., Стиган И. Справочник по специальным функциям. М.: Наука, 1979.
procedure SFA6R(N :Integer; X :Real; var H1 :Real; var H2 :Real);
Параметры
N - | заданный порядок функции Hn (x), N ≥ 0 (тип: целый); |
X - | заданное значение аргумента x (тип: вещественный); |
H1, H2 - | вещественные переменные, значения которых на выходе полагаются равными вещественной и мнимой части функции Hn (x) соответственно. |
Версии
SFA6E - | вычисление функции Бесселя третьего рода (функции Ханкеля) Hn (x) целых порядков от вещественных аргументов в режиме расширенной (Extended) точности; при этом параметры X, H1 и H2 должны иметь тип Extended. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
Unit tsfa6r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, SFA6R_p; function tsfa6r: String; implementation function tsfa6r: String; var N :Integer; X,H1,H2 :Real; begin Result := ''; { результат функции } N := 3; X := 4.0; SFA6R(N,X,H1,H2); Result := Result + Format(' %15.8f %15.8f ',[H1,H2]) + #$0D#$0A; UtRes('tsfa6r',Result); { вывод результатов в файл tsfa6r.res } exit; end; end. Результаты: H1 = 0.4301715, H2 = -0.1820221