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