R: Evaluate a Chebyshev interpolation in a point

chebeval {chebpol} | R Documentation

## Evaluate a Chebyshev interpolation in a point

### Description

Given Chebyshev coefficients, evaluate the interpolation in a point.

### Usage

    chebeval(x, coef, intervals = NULL,
      threads = getOption("chebpol.threads"))

### Arguments

`x` | The point to evaluate.
`coef` | The Chebyshev coefficients. Typically from a call to `chebcoef`, possibly modified.
`intervals` | A list of minimum and maximum values. One for each dimension of the hypercube.
`threads` | And integer. In case `x` is a matrix of column vectors, use this number of threads in parallel to evaluate.

### Value

A numeric. The interpolated value.

### Examples

    # make a function which is known to be unsuitable for Chebyshev approximation
    f <- function(x) sign(x)
    # make a standard Chebyshev interpolation
    ch <- ipol(f,dims=50,method='chebyshev')
    # then do a truncated interpolation
    val <- evalongrid(f,50)
    coef <- chebcoef(val)
    # truncate the high frequencies
    coef[-(1:10)] <- 0
    # make a truncated approximation
    tch <- Vectorize(function(x) chebeval(x,coef))
    # make a lower degree also
    ch2 <- ipol(f,dims=10,method='chebyshev')
    # plot the functions
    ## Not run:
    s <- seq(-1,1,length.out=400)
    plot(s,ch(s),col='red',type='l')
    lines(s,tch(s),col='blue')
    lines(s,f(s))
    lines(s,ch2(s),col='green')

    ## End(Not run)

[Package chebpol version 2.1-2 Index]