| Type: | Package |
| Title: | Integral of B-Spline Functions |
| Version: | 1.4 |
| Date: | 2018-11-06 |
| Author: | Feng Chen |
| Maintainer: | Feng Chen <feng.chen@unsw.edu.au> |
| Description: | Calculate B-spline basis functions with a given set of knots and order, or a B-spline function with a given set of knots and order and set of de Boor points (coefficients), or the integral of a B-spline function. |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Imports: | Rcpp (≥ 0.12.17) |
| LinkingTo: | Rcpp |
| NeedsCompilation: | yes |
| Packaged: | 2018-11-06 23:16:47 UTC; Feng Chen |
| Repository: | CRAN |
| Date/Publication: | 2018-11-09 15:10:03 UTC |
A short title line describing what the package does
Description
Evaluate the integral of a B-spline function, or the B-spline function itself, or the B-spline basis functions.
Details
The function bsbases calculates the values of the B-spline basis
functions defined by knots knots and order ord at sites
x. The function bspline evaluates the B-spline function
defined by knots knots, order ord, and coefficients
coef at sites x. The function ibs calculates the
integrals of the B-spline function defined by knots knots,
order ord, and coefficients coef from the smallest knot
to each of the values in x.
Author(s)
Creator: Feng Chen
Maintainer: Feng Chen <feng.chen@unsw.edu.au>
References
de Boor, C. (2001) A Practical Guide to Splines. Revised Edition. Springer: New York.
See Also
B-spline bases
Description
Evaluate the B-spline basis function at the x value(s).
Usage
bsbases(x, knots, ord)
Arguments
x |
Numerical value or vector. The value(s) at which to evaluate the B spline bases. |
knots |
Numerical vector. The knot positions/sites of the B-spline bases. |
ord |
An integer >=1. The order of the B-spline bases. Equals degree plus 1. |
Value
A numerical matrix of length(x) rows and
length(knots)-ord columns.
Note
In contrast to the implementation based on the splineDesign
function from the splines package, this version of the B-spline
basis functions are left-continuous at the rightmost knot.
Author(s)
Feng Chen <feng.chen@unsw.edu.au>
References
de Boor, C. (2001) A Practical Guide to Splines. Revised Edition. Springer: New York.
See Also
Examples
kns <- c(rep(0,4),1:4*0.2,rep(1,4))
round(bsbases(0:5/5,kns,2),10)
round(splines::splineDesign(kns,0:5/5,2),10)
B-spline function
Description
Evaluate the value of the B-spline function with knots knots,
order ord, and coefficients coef at value(s) x.
Usage
bspline(x, knots, ord, coef = rep(1, length(knots) - ord))
Arguments
x |
Numerical value or vector. The value(s) at which to evaluate the B-spline. |
knots |
Numerical vector. The knot positions/sites of the B-spline function. |
ord |
An integer >=1. The order of the B-spline function. Equals degree plus 1. |
coef |
A numerical vector. The coefficients (de Boor points) defining the B-spline function. |
Value
A scalar or a vector of length equal to that of x.
Note
In contrast to the implementation based on the splineDesign
function from the splines package, this version of the B-spline
function is left-continuous at the rightmost knot site.
Author(s)
Feng Chen <feng.chen@unsw.edu.au>
References
de Boor, C. (2001) A Practical Guide to Splines. Revised Edition. Springer: New York.
See Also
Examples
kns <- c(rep(0,4),1:4*0.2,rep(1,4))
bspline(0:10/10,kns,3,rep(1,length(kns)-3))
splines::splineDesign(kns,0:10/10,3)%*%rep(1,length(kns)-3)
Integratal of a B-spline function
Description
Calculate the integral of a B-spline function.
Usage
ibs(x, knots, ord=4, coef = rep(1, length(knots) - ord))
Arguments
x |
Numerical value or vector. The value(s) at which to evaluate the
integral of the B-spline; must be in the interval bewteen the
smallest knot to the |
knots |
Numerical vector. The knot positions/sites of the B-spline function to be integrated. |
ord |
An integer >=1. The order of the B-spline integrand function to be integrated. Equals degree plus 1. |
coef |
A numerical vector. The coefficients (de Boor points) defining the B-spline integrand function. |
Details
The function returns the integral(s) of the B-spline function
specified by knots knots, order ord, and coefficients
coef, from the minimum knot position to each x
value. The evaluation is based on a closed form expression of the
integral in terms of higher order B-splines, given on page 128 of de
Boor (2001).
Value
A numerical equal to the integral(s).
Author(s)
Feng Chen <feng.chen@unsw.edu.au>
References
de Boor, C (2001) A Practical Guide to Splines. Revised Edition. Springer: New York.
See Also
Examples
kns <- c(rep(0,4),1:4*0.2,rep(1,4))
co <- rnorm(length(kns)-3)
integrate(bspline,knots=kns,ord=3,coef=co,0,0.95)
integrate(function(x)bsbases(x,kns,3) %*% co,0,0.95)
ibs(0.95,kns,3,co)