|
Текст подпрограммы и версий zp45r_c.zip zp46r_c.zip |
Тексты тестовых примеров tzp45r_c.zip tzp46r_c.zip |
Вычисление значений ортогональных полиномов Чебышева.
Подпрограмма вычисляет значения ортогональных полиномов Чебышева для заданного аргумeнтa X по рекуppeнтнoй формуле:
T(K) = 2*X*T(K-1) - T(K-2) , T(1) = 1 , T(2) = X ,
где Т (К) - значение полинома порядка К в точке Х.
int zp45r_c (real *x, integer *n, real *t)
Параметры
| x - | заданное значение аргумента (тип: вещественный); |
| n - | длина вектора t (тип: целый); |
| t - | вещественный вектор длины n, в котором содержатся значения полиномов в порядке возрастания степеней, начиная с полинома степени ноль. |
Версии
| zp46r_c - | вычисление значений смещенных ортогональных полиномов Чебышева. |
Вызываемые подпрограммы: нет
Замечания по использованию
| Смещенные ортогональные многочлены Чебышева TS (K, X) определяются по формуле TS (K, X) = T (K, 2 * X - 1), где K - порядок полинома, X - аргумент и T (K, X) - значение обычного полинома Чебышева порядка K в точке X: T (K, X) = cos (K * arccos (X)). |
int main(void)
{
/* Local variables */
extern int zp45r_c(float *, int *, float *);
static int n;
static float t[3], x;
x = .5f;
n = 3;
zp45r_c(&x, &n, t);
printf("\n %9.2e \n", x);
printf("\n %5i \n", n);
printf("\n %9.2e %9.2e %9.2e \n", t[0], t[1], t[2]);
return 0;
} /* main */
Результаты: t = ( 1., 0.5, - 0.5 )