Текст подпрограммы и версий
zp45r_c.zip  zp46r_c.zip 
Тексты тестовых примеров
tzp45r_c.zip  tzp46r_c.zip 

Подпрограмма:  zp45r_c (версия: zp46r_c)

Назначение

Вычисление значений ортогональных полиномов Чебышева.

Математическое описание

Подпрограмма вычисляет значения ортогональных полиномов Чебышева для заданного аргум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 )