Текст подпрограммы и версий zp47r_c.zip zp48r_c.zip zp49r_c.zip zp50r_c.zip zp51r_c.zip zp52r_c.zip |
Тексты тестовых примеров tzp47r_c.zip tzp48r_c.zip tzp49r_c.zip tzp50r_c.zip tzp51r_c.zip tzp52r_c.zip |
Вычисление частичной суммы ряда Фурье по ортогональным полиномам Чебышева.
Для заданных коэффициентов С (К) вычисляется частичная сумма ряда
N -1 SUM = ∑ C(K+1) * T(K, X) K =0
где Т (К, Х) = cos (К * АRССОS (Х)) - значение ортогонального полинома Чебышева порядка К в точке Х.
М.Аbramowitz, I.А.Stegun, Нandbook of Мathematical Functions, New York, Dover Рublications, Inc., 1965.
int zp47r_c (real *x, real *c, integer *n, real *sum)
Параметры
x - | заданное значение аргумента (тип: вещественный); |
c - | вещественный вектор длины n, содержащий заданные коэффициенты разложения; при этом полиному порядка K соответствует коэффициент C (K + 1); |
n - | длина вектора c (тип: целый); |
sum - | вычисленное значение частичной суммы (тип: вещественный). |
Версии
zp48r_c - | вычисление частичной суммы ряда Фурье по смещенным ортогональным полиномам Чебышева. |
zp49r_c - | вычисление частичной суммы ряда Фурье по ортогональным полиномам Чебышева четного порядка. |
zp50r_c - | вычисление частичной суммы ряда Фурье по смещенным ортогональным полиномам Чебышева четного порядка. |
zp51r_c - | вычисление частичной суммы ряда Фурье по ортогональным полиномам Чебышева нечетного порядка. |
zp52r_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) { /* Initialized data */ static float c__[3] = { 1.f,2.f,3.f }; /* Local variables */ extern int zp47r_c(float *, float *, int *, float *); static int n; static float x, sum; x = .5f; n = 3; zp47r_c(&x, c__, &n, &sum); printf("\n %5i \n", n); printf("\n %10.2e \n", sum); return 0; } /* main */ Результат: sum = 0.5
При тех же самых значениях входных параметров как и в примере выше, при обращении к другим версиям, будут выданы следующие результаты.
ZP48R SUМ = -2.0 ; ZP49R SUМ = -1.5 ; ZP50R SUМ = 2.0 ; ZP51R SUМ = 0.0 ; ZP52R SUМ = 0.0 .