Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Coder avec une
Intelligence Artificielle
Voir le programme détaillé
Module « scipy.interpolate »

Classe « PchipInterpolator »

Informations générales

Héritage

builtins.object
    _PPolyBase
        PPoly
            CubicHermiteSpline
                PchipInterpolator

Définition

class PchipInterpolator(CubicHermiteSpline):

help(PchipInterpolator)

PCHIP 1-D monotonic cubic interpolation.

``x`` and ``y`` are arrays of values used to approximate some function f,
with ``y = f(x)``. The interpolant uses monotonic cubic splines
to find the value of new points. (PCHIP stands for Piecewise Cubic
Hermite Interpolating Polynomial).

Parameters
----------
x : ndarray, shape (npoints, )
    A 1-D array of monotonically increasing real values. ``x`` cannot
    include duplicate values (otherwise f is overspecified)
y : ndarray, shape (..., npoints, ...)
    A N-D array of real values. ``y``'s length along the interpolation
    axis must be equal to the length of ``x``. Use the ``axis``
    parameter to select the interpolation axis.
axis : int, optional
    Axis in the ``y`` array corresponding to the x-coordinate values. Defaults
    to ``axis=0``.
extrapolate : bool, optional
    Whether to extrapolate to out-of-bounds points based on first
    and last intervals, or to return NaNs.

Methods
-------
__call__
derivative
antiderivative
roots

See Also
--------
CubicHermiteSpline : Piecewise-cubic interpolator.
Akima1DInterpolator : Akima 1D interpolator.
CubicSpline : Cubic spline data interpolator.
PPoly : Piecewise polynomial in terms of coefficients and breakpoints.

Notes
-----
The interpolator preserves monotonicity in the interpolation data and does
not overshoot if the data is not smooth.

The first derivatives are guaranteed to be continuous, but the second
derivatives may jump at :math:`x_k`.

Determines the derivatives at the points :math:`x_k`, :math:`f'_k`,
by using PCHIP algorithm [1]_.

Let :math:`h_k = x_{k+1} - x_k`, and  :math:`d_k = (y_{k+1} - y_k) / h_k`
are the slopes at internal points :math:`x_k`.
If the signs of :math:`d_k` and :math:`d_{k-1}` are different or either of
them equals zero, then :math:`f'_k = 0`. Otherwise, it is given by the
weighted harmonic mean

.. math::

    \frac{w_1 + w_2}{f'_k} = \frac{w_1}{d_{k-1}} + \frac{w_2}{d_k}

where :math:`w_1 = 2 h_k + h_{k-1}` and :math:`w_2 = h_k + 2 h_{k-1}`.

The end slopes are set using a one-sided scheme [2]_.


References
----------
.. [1] F. N. Fritsch and J. Butland,
       A method for constructing local
       monotone piecewise cubic interpolants,
       SIAM J. Sci. Comput., 5(2), 300-304 (1984).
       :doi:`10.1137/0905021`.
.. [2] see, e.g., C. Moler, Numerical Computing with Matlab, 2004.
       :doi:`10.1137/1.9780898717952`

Constructeur(s)

Signature du constructeur Description
__init__(self, x, y, axis=0, extrapolate=None)

Liste des attributs statiques

Attributs statiques hérités de la classe _PPolyBase

axis, c, extrapolate, x

Liste des opérateurs

Opérateurs hérités de la classe object

__eq__, __ge__, __gt__, __le__, __lt__, __ne__

Liste des méthodes

Toutes les méthodes Méthodes d'instance Méthodes statiques Méthodes dépréciées
Signature de la méthodeDescription

Méthodes héritées de la classe CubicHermiteSpline

__init_subclass__, __subclasshook__

Méthodes héritées de la classe PPoly

antiderivative, derivative, from_bernstein_basis, from_spline, integrate, roots, solve

Méthodes héritées de la classe _PPolyBase

__call__, construct_fast, extend

Méthodes héritées de la classe object

__delattr__, __dir__, __format__, __getattribute__, __getstate__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation Python
Les fondamentaux
Voir le programme détaillé