Текст подпрограммы и версий zp43r_c.zip |
Тексты тестовых примеров tzp43r_c.zip |
Вычисление значения многочлена, заданного разложением по ортогональным многочленам.
Вычисляется величина
n Y = ∑ Ck Qk -1(X) , k =1
где Х - значение аргумента, C = ( c1, c2, ..., cN ) заданные коэффициенты разложения многочлена по системе { Qk (x) } ортогональных многочленов, удовлетворяющих трехчленному рекуррентному отношению:
Q0(x) = 1 , Q1(x) = x - a1 , Qk +1(x) = ( x - ak +1 ) Qk(x) - bk Qk -1(x) , k = 1, 2, ..., N-2
с известными коэффициентами А = ( a1, a2, ..., aN - 1 ), B = ( b1, b2, ..., bN - 2 ).
int zp43r_c (real *a, real *b, real *c, real *x, real *y, integer *n)
Параметры
a - | вещественный вектор длины n - 1, содержащий коэффициенты ak рекуррентного соотношения; |
b - | вещественный вектор длины n - 2, содержащий коэффициенты bk рекуррентного соотношения; |
c - | вещественный вектор длины n, содержащий коэффициенты разложения многочлена по системе ортогональных многочленов; |
x - | значение аргумента (тип: вещественный); |
y - | вычисляемое значение многочлена (тип: вещественный); |
n - | число коэффициентов разложения (тип: целый). |
Версии: нет
Вызываемые подпрограммы: нет
Замечания по использованию: нет
int main(void) { /* Initialized data */ static float a[2] = { 0.f,1.f }; static float b[1] = { 1.f }; static float c__[3] = { 1.f,1.f,1.f }; /* Local variables */ extern int zp43r_c(float *, float *, float *, float *, float *, int *); static int n; static float x, y; n = 3; x = 1.f; zp43r_c(a, b, c__, &x, &y, &n); printf("\n %16.7e \n", y); return 0; } /* main */ Результат: y = 1.