|
Текст подпрограммы и версий 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