Piecewise polynomial struct construction.
Syntax
pp = mkpp(breaks, coefs)
pp = mkpp(breaks, coefs, d)
Inputs
- breaks
- The coordinates that define the intervals for each polynomial piece.
- The values are assumed to be in strictly increasing order.
- Dimension: vector
- coefs
- The coefficients of each polynomial piece.
- In the case of a 2D matrix, the first dimension is the number of polynomial
pieces and the second dimension is the number of polynomial coefficients.
- In the case of an ND matrix, the matrix is viewed as an array of piecewise
polynomials. The leading dimensions of coefs are the dimensions
of the pp array. The last two dimension lengths are the number of polynomial pieces,
and the number of polynomial coefficients for each piece.
- Dimension: matrix
- d
- The dimensions of the array of piecewise polynomials in coefs.
- When coefs is a 2D matrix, d is 1.
- Type: integer
- Dimension: scalar | vector
Outputs
- pp
- The piecewise polynomial struct.
- The members are as follows:
- breaks
- The input intervals vector.
- coefs
- The input coefficients. In the ND case the matrix
is reshaped into 2D upon return.
- dim
- The dimensions vector.
- form
- The form, 'pp'.
- order
- The degree of the polynomial plus 1, which is the number of
coefficients. This is the spline order, rather than polynomial order.
- pieces
- The number of piecewise polynomial segments, which is
length(breaks) - 1.
Example
breaks = [10, 20, 30, 40, 50];
L = length(breaks) - 1;
order = 3;
coefs = zeros(L, order);
coefs(1, :) = [2, 3, 4];
coefs(2, :) = [3, 4, 5];
coefs(3, :) = [4, 5, 6];
coefs(4, :) = [6, 7, 8];
pp = mkpp(breaks,coefs)
R = poly([1,3,5])
pp = struct [
breaks: [Matrix] 1 x 5
10 20 30 40 50
coefs: [Matrix] 4 x 3
2 3 4
3 4 5
4 5 6
6 7 8
dim: 1
form: pp
order: 3
pieces: 4
]