Barycentric Lagrange Interpolation
Barycentric Lagrange interpolation in one dimension.
barylag(xi, yi, x)
xi, yi |
x- and y-coordinates of supporting nodes. |
x |
x-coordinates of interpolation points. |
barylag
interpolates the given data using the barycentric
Lagrange interpolation formula (vectorized to remove all loops).
Values of interpolated data at points x
.
Barycentric interpolation is preferred because of its numerical stability.
Berrut, J.-P., and L. Nick Trefethen (2004). “Barycentric Lagrange Interpolation”. SIAM Review, Vol. 46(3), pp.501–517.
Lagrange or Newton interpolation.
## Generates an example with plot. # Input: # fun --- function that shall be 'approximated' # a, b --- interval [a, b] to be used for the example # n --- number of supporting nodes # m --- number of interpolation points # Output # plot of function, interpolation, and nodes # return value is NULL (invisible) ## Not run: barycentricExample <- function(fun, a, b, n, m) { xi <- seq(a, b, len=n) yi <- fun(xi) x <- seq(a, b, len=m) y <- barylag(xi, yi, x) plot(xi, yi, col="red", xlab="x", ylab="y", main="Example of barycentric interpolation") lines(x, fun(x), col="yellow", lwd=2) lines(x, y, col="darkred") grid() } barycentricExample(sin, -pi, pi, 11, 101) # good interpolation barycentricExample(runge, -1, 1, 21, 101) # bad interpolation ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.