bsplines {pomp} | R Documentation

## B-spline bases

### Description

These functions generate B-spline basis functions. `bspline.basis` gives a basis of spline functions. `periodic.bspline.basis` gives a basis of periodic spline functions.

### Usage

    bspline.basis(x, nbasis, degree = 3, deriv = 0, names = NULL)

    periodic.bspline.basis(x, nbasis, degree = 3, period = 1, deriv = 0,
      names = NULL)

### Arguments

`x` | Vector at which the spline functions are to be evaluated.
`nbasis` | The number of basis functions to return.
`degree` | Degree of requested B-splines.
`deriv` | The order of the derivative required.

`names`

optional; the names to be given to the basis functions. These will be the column-names of the matrix returned. If the names are specified as a format string (e.g., "basis%d"), `sprintf` will be used to generate the names from the column number. If a single non-format string is specified, the names will be generated by `paste`-ing `name` to the column number. One can also specify each column name explicitly by giving a length-`nbasis` string vector. By default, no column-names are given.

`period` | The period of the requested periodic B-splines.

### Value

`bspline.basis` | Returns a matrix with `length(x)` rows and `nbasis` columns. Each column contains the values one of the spline basis functions.
`periodic.bspline.basis` | Returns a matrix with `length(x)` rows and `nbasis` columns. The basis functions returned are periodic with period `period`.

If `deriv>0`, the derivative of that order of each of the corresponding spline basis functions are returned.

### C API

Access to the underlying C routines is available: see the pomp C API document. for definition and documentation of the C API.

### Author(s)

Aaron A. King

### Examples

    x <- seq(0,2,by=0.01)
    y <- bspline.basis(x,degree=3,nbasis=9,names="basis")
    matplot(x,y,type='l',ylim=c(0,1.1))
    lines(x,apply(y,1,sum),lwd=2)

    x <- seq(-1,2,by=0.01)
    y <- periodic.bspline.basis(x,nbasis=5,names="spline%d")
    matplot(x,y,type='l')

[Package pomp version 2.3 Index]