polyApprox: Polynomial Approximation

View source: R/polyApprox.R

polyApproxR Documentation

Polynomial Approximation

Description

Generate a polynomial approximation.

Usage

polyApprox(f, a, b, n, ...)

Arguments

f

function to be approximated.

a, b

end points of the interval.

n

degree of the polynomial.

...

further variables for function f.

Details

Uses the Chebyshev coefficients to derive polynomial coefficients.

Value

List with four components:

p

the approximating polynomial.

f

a function evaluating this polynomial.

cheb.coeff

the Chebyshev coefficients.

estim.prec

the estimated precision over the given interval.

Note

The Chebyshev approximation is optimal in the sense of the L^1 norm, but not as a solution of the minimax problem; for this, an application of the Remez algorithm is needed.

References

Carothers, N. L. (1998). A Short Course on Approximation Theory. Bowling Green State University.

See Also

chebApprox, polyfit

Examples

##  Example
#   Polynomial approximation for sin
polyApprox(sin, -pi, pi, 9)
# $p
#  [1]  2.197296e-06  0.000000e+00 -1.937495e-04  0.000000e+00  8.317144e-03
#  [6]  0.000000e+00 -1.666468e-01  0.000000e+00  9.999961e-01  0.000000e+00
#
# $f
# function (x) 
# polyval(p, x)
#
# $cheb.coeff
#  [1]  0.06549943  0.00000000 -0.58518036  0.00000000  2.54520983  0.00000000
#  [7] -5.16709776  0.00000000  3.14158037  0.00000000
#
# $estim.prec
# [1] 1.151207e-05

## Not run: 
f <- polyApprox(sin, -pi, pi, 9)$f
x <- seq(-pi, pi, length.out = 100)
y <- sin(x) - f(x)
plot(x, y, type = "l", col = "blue")
grid()
## End(Not run)

pracma documentation built on Nov. 10, 2023, 1:14 a.m.