polyn.eval | R Documentation |
Evaluate one or several univariate polynomials at several locations,
i.e. compute coef[1] + coef[2]*x + ... + coef[p+1]* x^p
(in the simplest case where x
is scalar and coef
a vector).
polyn.eval(coef, x)
coef |
“numeric” vector or matrix. If a vector, Note that |
x |
“numeric” vector or array. Either |
The stable “Horner rule” is used for evaluation in any case.
numeric vector or array, depending on input dimensionalities, see above.
Martin Maechler, ages ago.
For much more sophisticated handling of polynomials, use the
polynom package, see, e.g., predict.polynomial
.
For multivariate polynomials (and also for nice interface to the
orthopolynom package), consider the mpoly package.
polyn.eval(c(1,-2,1), x = 0:3)# (x - 1)^2
polyn.eval(c(0, 24, -50, 35, -10, 1), x = matrix(0:5, 2,3))# 5 zeros!
(cf <- rbind(diag(3), c(1,-2,1)))
polyn.eval(cf, 0:5)
x <- seq(-3,7, by=1/4)
cf <- 4:1
(px <- polyn.eval(cf, x)) # is exact
if((gmpT <-"package:gmp" %in% search()) || require("gmp")) withAutoprint({
pxq <- polyn.eval(coef = as.bigq(cf, 1), x=x)
pxq
stopifnot(pxq == px)
if(!gmpT) detach("package:gmp")
})
if((RmpfrT <-"package:Rmpfr" %in% search()) || require("Rmpfr")) withAutoprint({
pxM <- polyn.eval(coef = mpfr(cf, 80), x=x) # 80 bits accuracy
pxM
stopifnot(pxM == px)
if(!RmpfrT) detach("package:Rmpfr")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.