Текст подпрограммы и версий zp59r_p.zip zp59e_p.zip |
Тексты тестовых примеров tzp59r_p.zip tzp59e_p.zip |
Вычисление значения полинома Лежандра первого рода от вещественного аргумента.
Подпрограмма - функция ZP59R вычисляет значение полинома Лежандра первого рода N - го порядка от вещественного аргумента x:
PN (x) = 1 / (2N N!) dN ( x2 - 1 )N / dxN , N = 0, 1, 2,... по рекуррентной формуле PN+1(x) = ( 2N + 1 ) x PN(x) / ( N + 1 ) - N PN-1(x) / ( N + 1 ) , N = 1, 2,...
Янке Е., Эмде Ф., Леш Ф. Специальные функции. М.: Наука, 1977.
function ZP59R(N :Integer; X :Real): Real;
Параметры
N - | заданный порядок полинома Лежандра первого рода (тип: целый); |
X - | заданное значение вещественного аргумента, при котором необходимо вычислить значение полинома Лежандра первого рода (тип: вещественный). |
Версии
ZP59E - | вычисление значения полинома Лежандра первого рода от вещественного аргумента в режиме расширенной (Extended) точности; при этом параметр X должен иметь тип Extended, и функция ZP59E также должна иметь тип Extended. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
Unit tzp59r_p; interface uses SysUtils, Math, { Delphi } Lstruct, Lfunc, UtRes_p, ZP59R_p; function tzp59r: String; implementation function tzp59r: String; var N :Integer; X,Y :Real; begin Result := ''; { результат функции } N := 3; X := 2.0; Y := ZP59R(N,X); Result := Result + Format('%20.16f ',[Y]) + #$0D#$0A; UtRes('tzp59r',Result); { вывод результатов в файл tzp59r.res } exit; end; end. Результат: Y = 17