R: Barycentric Lagrange Interpolation

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.0.4 Index]