Create a Polygonal Basis
create.polygonal.basis |
Language Reference for FDA Library
|
Create a Polygonal Basis
DESCRIPTION:
A basis is set up for constructing polygonal lines, consisting of
straight line segments that join together.
USAGE:
create.polygonal.basis(argvals=NULL, dropind=NULL,
quadvals=NULL, values=NULL)
OPTIONAL ARGUMENTS:
- argvals
-
a strictly increasing vector of argument values at which line segments
join to form a polygonal line.
- dropind
-
a vector of integers specifiying the basis functions to
be dropped, if any. For example, if it is required that
a function be zero at the left boundary, this is achieved
by dropping the first basis function, the only one that
is nonzero at that point. Default value NULL.
- quadvals
-
a matrix with two columns and a number of rows equal to the number of
argument values used to approximate an integral using Simpson's rule.
The first column contains these argument values.
A minimum of 5 values are required for
each inter-knot interval, and that is often enough. These
are equally spaced between two adjacent knots.
The second column contains the weights used for Simpson's
rule. These are proportional to 1, 4, 2, 4, ..., 2, 4, 1.
- values
-
a list containing the basis functions and their derivatives
evaluated at the quadrature points contained in the first
column of
quadvals
.
VALUE:
a basis object with the type
polyg
.
DETAILS:
The actual basis functions consist of triangles, each with its apex over
an argument value. Note that in effect the polygonal basis is identical
to a B-spline basis of order 2 and a knot or break value at each
argument value. The range of the polygonal basis is set to the interval
defined by the smallest and largest argument values.
SEE ALSO:
basisfd, create.bspline.basis, create.constant.basis, create.exponential.basis,
create.fourier.basis, create.monomial.basis, create.polynomial.basis,
create.power.basis
EXAMPLES:
# Create a polygonal basis over the interval [0,1]
# with break points at 0, 0.1, ..., 0.95, 1
basisobj <- create.polygonal.basis(seq(0,1,0.1))
# plot the basis
plot(basisobj)