Текст подпрограммы и версий
zp59r_p.zip  zp59e_p.zip 
Тексты тестовых примеров
tzp59r_p.zip  tzp59e_p.zip 

Функция:  ZP59R (модуль ZP59R_p)

Назначение

Вычисление значения полинома Лежандра первого рода от вещественного аргумента.

Математическое описание

Подпрограмма - функция 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