Description Usage Arguments Details Value Examples

A poor-man's approximation on uniform grids. If you for some reason can't evaluate your function on a Chebyshev-grid, but instead have a uniform grid, you may use this function to create an interpolation.

1 2 3 |

`...` |
Further arguments to |

`val` |
Array. Function values on a grid. |

`intervals` |
List of vectors of length two. Specifying the hypercube extent in each dimension |

`fun` |
Function to be interpolated. |

`dims` |
Integer. Number of grid points in each dimension. |

This does about the same as `chebappxg`

for unform grids, though
no grid map function is constructed, as a fixed such function is used.

A Chebyshev-interpolation `ch`

is made for `val`

with
`chebappx`

. Upon evaluation the uniform grid in each dimension
is mapped differentiably to the Chebyshev-knots so that `ch`

is
evaluated in *sin(0.5*pi*x*(1-n)/n)* where `n`

is the number of knots
in the dimension, possibly after `x`

has been remapped from the
hypercube interval to [-1,1].

Thus, the interpolation is not a polynomial.

For `ucappx`

the function values are provided, the number of grid
points in each dimension is to be found in `dim(val)`

. For
`ucappxf`

the function to be interpolated is `fun`

, and the number
of grid points is passed in `dims`

.

As the example shows, this approximation is better than the Chebyshev approximation for some functions.

A `function(x)`

defined on the hypercube, approximating the
given function.

1 2 3 4 5 6 7 8 9 10 11 12 | ```
## Not run:
# Runge function
f <- function(x) 1/(1+25*x^2)
grid <- seq(-1,1,length.out=15)
val <- f(grid)
uc <- Vectorize(ucappx(val))
# and the Chebyshev
ch <- Vectorize(chebappxf(f,15))
# test it at 10 random points
t(replicate(10,{a<-runif(1,-1,1); c(arg=a, uc=uc(a), true=f(a), cheb=ch(a))}))
## End(Not run)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.