Текст подпрограммы и версий
zp59r_c.zip  zp59d_c.zip 
Тексты тестовых примеров
tzp59r_c.zip  tzp59d_c.zip 

Функция:  zp59r_c

Назначение

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

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

Подпрограмма - функция zp59r_c вычисляет значение полинома Лежандра первого рода 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.

Использование

    real zp59r_c (integer *n, real *x)

Параметры

n - заданный порядок полинома Лежандра первого рода (тип: целый);
x - заданное значение вещественного аргумента, при котором необходимо вычислить значение полинома Лежандра первого рода (тип: вещественный).

Версии

zp59d_c - вычисление значения полинома Лежандра первого рода от вещественного аргумента в режиме удвоенной точности; при этом параметр x должен иметь тип double, а подпрограмма - функция zp59d_c должна быть описана как double .

Вызываемые подпрограммы: нет

Замечания по использованию: нет

Пример использования

int main(void)
{
    /* Local variables */
    extern float zp59r_c(int *, float *);
    static int n;
    static float x, y;

    n = 3;
    x = 2.f;
    y = (float)zp59r_c(&n, &x);

    printf("\n %16.7e \n", y);
    return 0;
} /* main */


Результат:          y  =  17