Текст подпрограммы и версий zp31r_c.zip zp31d_c.zip |
Тексты тестовых примеров tzp31r_c.zip tzp31d_c.zip |
Вычисление коэффициентов полинома по заданным его вещественным корням.
zp31r_c вычисляет коэффициенты полинома степени NР
A(1) + A(2)*X + A(3)*X2 + ... + A(NP + 1)*XNP
по заданным его вещественным корням RООТ ( I ), I = 1, 2, 3, ..., NР.
int zp31r_c (integer *np, real *root, real *a)
Параметры
np - | заданная степень полинома (тип: целый); |
root - | вещественный вектор длины np, содержащий заданные корни полинома; |
a - | вещественный вектор длины np + 1, содержащий вычисленные коэффициенты полинома в порядке возрастания степеней. |
Версии
zp31d_c - | вычисление коэффициентов полинома по заданным его вещественным корням с повышенной точностью. При этом векторы root и a должны иметь тип double. |
Вызываемые подпрограммы: нет
Замечания по использованию: нет
int main(void) { /* Initialized data */ static float root[4] = { 1.f,2.f,3.f,4.f }; /* Local variables */ extern int zp31r_c(int *, float *, float *); static float a[5]; static int i__; zp31r_c(&c__4, root, a); for (i__ = 1; i__ <= 4; ++i__) { printf("\n %16.7e \n", root[i__ - 1]); } for (i__ = 1; i__ <= 5; ++i__) { printf("\n %16.7e \n", a[i__ - 1]); } return 0; } /* main */ Результаты: a(1) = 24.0 , a(2) = - 50.0 , a(3) = 35.0 , a(4) = - 10.0, a(5) = 1.0