| 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.
|
normal-bracket38bracket-normal
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) )