I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
get GPL
COST (GBP)
this unit 0.50
sub units 0.00
+
0

Cheb Eval

viewed 3348 times and licensed 117 times
Evaluates the Chebyshev polynomial series
Controller: CodeCogs

Interface

C++

ChebEval

 
doublechebEvaldoublex
const double*coef
intN )
Evaluates the Chebyshev polynomial series of the First Kind: where c are the coefficient, and \inline T-i are the Chebyshev polynomials evaluated at x/2,

The Chebyshev polynomials of the first kind are a set of orthogonal polynomials defined as the solutions to the Chebyshev differential equation. They are also used as an approximation to a least squares fit and are intimately connected with trigonometric multiple-angle formulas.

If coefficients are for the interval a to b, x must be transformed to before entering the routine. This maps x from (a, b) to (-1, 1), over which the Chebyshev polynomials are defined.

If the coefficients are for the inverted interval, in which (a, b) is mapped to (1/b, 1/a), the transformation required is

If b is infinity, this becomes

Speed:

Taking advantage of the recurrence properties of the Chebyshev polynomials, the routine requires one more addition per loop than evaluating a nested polynomial of the same degree.

Example:

The following code computes solutions to the polynomial
#include <stdio.h>
#include <codecogs/maths/approximation/polynomial/cheb_eval.h>
 
int main()
{
  using namespace Maths::Algebra::Polynomial;
  static double C[] = { 3,2,1 };
  for(int x=2;x<=5;x++)
    printf("\n chebEval(%d, A, 2)=%.1lf", x, chebEval(x, C, 2));
 
  return 0;
}

Output:

chebEval(2, A, 2)=4.0
chebEval(3, A, 2)=5.5
chebEval(4, A, 2)=7.0
chebEval(5, A, 2)=8.5

References

Cephes Math Library Release 2.0: April, 1987

Note

The provided coefficients are stored in reverse order, i.e.

Parameters

xvalue to evaluate
coefcoefficients from [0..N-1], stored in reverse order.
Nnumber of coefficients, not the order. Must be 2 or more

Authors

Stephen L. Moshier Copyright 1985, 1987
Documentation by Will Bateman (August 2005)
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.