Piecewise Cubic Hermite Interpolating Polynomial (PCHIP)
yi = pchip(x,y,xi)
pp = pchip(x,y)
yi = pchip(x,y,xi)
returns
vector yi
containing elements corresponding to
the elements of xi
and determined by piecewise
cubic interpolation within vectors x
and y
.
The vector x
specifies the points at which the
data y
is given, so x
and y
must
have the same length. If y
is a matrix or array,
then the values in the last dimension, y(:,...,:,j)
,
are taken as the values to match with x
. In that
case, the last dimension of y
must be the same
length as x
. If y
has n
dimensions,
then output yi
is of size [size(y,1) size(y,2)
... size(y,n-1) length(xi)]
. For example, if y
is
a matrix, then yi
is of size [size(y,1)
length(xi)]
.
pp = pchip(x,y)
returns
a piecewise polynomial structure for use by ppval
. x
can be a row or column vector. y
is
a row or column vector of the same length as x
,
or a matrix with length(x)
columns.
pchip
finds values of an underlying interpolating
function at intermediate points, such
that:
On each subinterval ,
is the cubic Hermite
interpolant to the given values and certain slopes at the two endpoints.
interpolates y, i.e., , and the first derivative is continuous. The second derivative is probably not continuous; there may be jumps at the .
The slopes at the are
chosen in such a way that
preserves the shape of the data and respects
monotonicity. This means that, on intervals where the data are monotonic,
so is
; at points where the data has a local extremum,
so does
.
Note
If y is a matrix,
|
[1] Fritsch, F. N. and R. E. Carlson, "Monotone Piecewise Cubic Interpolation," SIAM J. Numerical Analysis, Vol. 17, 1980, pp.238-246.
[2] Kahaner, David, Cleve Moler, Stephen Nash, Numerical Methods and Software, Prentice Hall, 1988.