TaylorSpline {fda} | R Documentation |
Convert B-Spline coefficients into a local Taylor series representation expanded about the midpoint between each pair of distinct knots.
TaylorSpline(object, ...) ## S3 method for class 'fd': TaylorSpline(object, ...) ## S3 method for class 'fdPar': TaylorSpline(object, ...) ## S3 method for class 'fdSmooth': TaylorSpline(object, ...) ## S3 method for class 'dierckx': TaylorSpline(object, ...)
object |
a spline object, e.g., of class 'dierckx'. |
... |
optional arguments |
1. Is object
a spline object with a B-spline basis? If no,
throw an error.
2. Find knots
and midpoints
.
3. Obtain coef(object).
4. Determine the number of dimensions of coef(object) and create
empty coef
and deriv
arrays to match. Then fill the
arrays.
a list with the following components:
knots |
a numeric vector of knots(object, interior=FALSE) |
midpoints |
midpoints of intervals defined by unique(knots) |
coef |
A matrix of dim = c(nKnots-1, norder) containing the coeffients of a polynomial in (x-midpoints[i]) for interval i, where nKnots = length(unique(knots)). |
deriv |
A matrix of dim = c(nKnots-1, norder) containing the derivatives
of the spline evaluated at midpoints .
|
Spencer Graves
## ## The simplest b-spline basis: order 1, degree 0, zero interior knots: ## a single step function ## library(DierckxSpline) bspl1.1 <- create.bspline.basis(norder=1, breaks=0:1) # ... jump to pi to check the code fd.bspl1.1pi <- fd(pi, basisobj=bspl1.1) bspl1.1pi <- TaylorSpline(fd.bspl1.1pi) ## ## Cubic spline: 4 basis functions ## bspl4 <- create.bspline.basis(nbasis=4) plot(bspl4) parab4.5 <- fd(c(3, -1, -1, 3)/3, bspl4) # = 4*(x-.5) TaylorSpline(parab4.5) ## ## A more realistic example ## data(titanium) # Cubic spline with 5 interior knots (6 segments) titan10 <- with(titanium, curfit.free.knot(x, y)) (titan10T <- TaylorSpline(titan10) )