## Design Matrix for B-splines

## Usage

    splineDesign(knots, x, ord, derivs)
    spline.des(knots, x, ord, derivs)

## Arguments

`knots` | a numeric vector of knot positions with non-decreasing values.
`x` | a numeric vector of values at which to evaluate the B-spline functions or derivatives. The values in `x` must be between `knots[ord]` and `knots[ length(knots) + 1 - ord ]`.
`ord` | a positive integer giving the order of the spline function. This is the number of coefficients in each piecewise polynomial segment, thus a cubic spline has order 4. Defaults to 4.
`derivs` | an integer vector of the same length as `x` and with values between `0` and `ord - 1`. The derivative of the given order is evaluated at the `x` positions. Defaults to a vector of zeroes of the same length as `x`.

## Description

Evaluate the design matrix for the B-splines defined by `knots` at the values in `x`.

## Value

A matrix with `length( x )` rows and `length( knots ) - ord` columns. The i'th row of the matrix contains the coefficients of the B-splines (or the indicated derivative of the B-splines) defined by the `knot` vector and evaluated at the i'th value of `x`. Each B-spline is defined by a set of `ord` successive knots so the total number of B-splines is `length(knots)-ord`.

## Note

The older `spline.des` function takes the same argument but returns a list with several components including `knots`, `ord`, `derivs`, and `design`. The `design` component is the same as the value of the `splineDesign` function.

## Author(s)

Douglas Bates and Bill Venables

## Examples

    splineDesign(knots = 1:10, x = 4:7)

[Package Contents]