| 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)