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