public class BsLeastSquares extends BSpline
Let's make the identifications
n = xData.length
x = xData
f = yData
m = nCoef
k = order
For convenience, we assume that the sequence x is increasing, although the class does not require this.
By default, k = 4, and the knot sequence we select equally distributes the knots through
the distinct
. In particular, the m + k knots
will be generated in
with k knots
stacked at each of the extreme values. The interior knots will be equally spaced in the
interval.
Once knots
and weights w are determined,
then the spline least-squares fit
to the data is computed by minimizing over the linear coefficients
![]()
where the
are a (B-spline) basis for the spline subspace.
This algorithm is based on the routine L2APPR by deBoor (1978, p. 255).
| Modifier and Type | Field and Description |
|---|---|
protected int |
nCoef
Number of B-spline coefficients.
|
protected double[] |
weight
The weight array of length n, where
n is the number of data points fit.
|
| Constructor and Description |
|---|
BsLeastSquares(double[] xData,
double[] yData,
int nCoef)
Constructs a least squares B-spline approximation to the given data points.
|
BsLeastSquares(double[] xData,
double[] yData,
int nCoef,
int order)
Constructs a least squares B-spline approximation to the given data points.
|
BsLeastSquares(double[] xData,
double[] yData,
int nCoef,
int order,
double[] weight,
double[] knot)
Constructs a least squares B-spline approximation to the given data points.
|
protected int nCoef
protected double[] weight
public BsLeastSquares(double[] xData,
double[] yData,
int nCoef)
xData - A double array containing the x-coordinates of the data.yData - A double array containing the y-coordinates of the data.
The arrays xData and yData must have the same length.nCoef - An int denoting the linear dimension of the spline
subspace. It should be smaller than the number of data points
and greater than or equal to the order of the spline (whose default value is 4).public BsLeastSquares(double[] xData,
double[] yData,
int nCoef,
int order)
xData - A double array containing the x-coordinates of the data.yData - A double array containing the y-coordinates of the data.
The arrays xData and yData must have the same length.nCoef - An int denoting the linear dimension of the spline
subspace. It should be smaller than the number of data points
and greater than or equal to the order of the spline.order - An int denoting the order of the spline.public BsLeastSquares(double[] xData,
double[] yData,
int nCoef,
int order,
double[] weight,
double[] knot)
xData - A double array containing the x-coordinates of the data.yData - A double array containing the y-coordinates of the data.
The arrays xData and yData must have the same length.nCoef - An int denoting the linear dimension of the spline
subspace. It should be smaller than the number of data points
and greater than or equal to the order of the spline.order - An int denoting the order of the spline.weight - A double array containing the weights for the data.
The arrays xData, yData and weights must have the same length.knot - A double array containing the knot sequence for the spline.Copyright © 1970-2015 Rogue Wave Software
Built March 24 2015.