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