barylag {pracma} | R Documentation |
Barycentric Lagrange Interpolation
Description
Barycentric Lagrange interpolation in one dimension.
Usage
barylag(xi, yi, x)
Arguments
xi , yi |
x- and y-coordinates of supporting nodes. |
x |
x-coordinates of interpolation points. |
Details
barylag
interpolates the given data using the barycentric
Lagrange interpolation formula (vectorized to remove all loops).
Value
Values of interpolated data at points x
.
Note
Barycentric interpolation is preferred because of its numerical stability.
References
Berrut, J.-P., and L. Nick Trefethen (2004). “Barycentric Lagrange Interpolation”. SIAM Review, Vol. 46(3), pp.501–517.
See Also
Lagrange or Newton interpolation.
Examples
## 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)
[Package pracma version 2.4.4 Index]