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