|
Текст подпрограммы и версий zp59r_c.zip zp59d_c.zip |
Тексты тестовых примеров tzp59r_c.zip tzp59d_c.zip |
Вычисление значения полинома Лежандра первого рода от вещественного аргумента.
Подпрограмма - функция 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