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 ? Sensibilisation à
l'Intelligence Artificielle
Voir le programme détaillé
Module « scipy.interpolate »

Classe « KroghInterpolator »

Informations générales

Héritage

builtins.object
    _Interpolator1D
        _Interpolator1DWithDerivatives
            KroghInterpolator

Définition

class KroghInterpolator(_Interpolator1DWithDerivatives):

help(KroghInterpolator)

Interpolating polynomial for a set of points.

The polynomial passes through all the pairs ``(xi, yi)``. One may
additionally specify a number of derivatives at each point `xi`;
this is done by repeating the value `xi` and specifying the
derivatives as successive `yi` values.

Allows evaluation of the polynomial and all its derivatives.
For reasons of numerical stability, this function does not compute
the coefficients of the polynomial, although they can be obtained
by evaluating all the derivatives.

Parameters
----------
xi : array_like, shape (npoints, )
    Known x-coordinates. Must be sorted in increasing order.
yi : array_like, shape (..., npoints, ...)
    Known y-coordinates. When an xi occurs two or more times in
    a row, the corresponding yi's represent derivative values. The length of `yi`
    along the interpolation axis must be equal to the length of `xi`. Use the
    `axis` parameter to select the correct axis.
axis : int, optional
    Axis in the `yi` array corresponding to the x-coordinate values. Defaults to
    ``axis=0``.

Notes
-----
Be aware that the algorithms implemented here are not necessarily
the most numerically stable known. Moreover, even in a world of
exact computation, unless the x coordinates are chosen very
carefully - Chebyshev zeros (e.g., cos(i*pi/n)) are a good choice -
polynomial interpolation itself is a very ill-conditioned process
due to the Runge phenomenon. In general, even with well-chosen
x values, degrees higher than about thirty cause problems with
numerical instability in this code.

Based on [1]_.

References
----------
.. [1] Krogh, "Efficient Algorithms for Polynomial Interpolation
    and Numerical Differentiation", 1970.

Examples
--------
To produce a polynomial that is zero at 0 and 1 and has
derivative 2 at 0, call

>>> from scipy.interpolate import KroghInterpolator
>>> KroghInterpolator([0,0,1],[0,2,0])

This constructs the quadratic :math:`2x^2-2x`. The derivative condition
is indicated by the repeated zero in the `xi` array; the corresponding
yi values are 0, the function value, and 2, the derivative value.

For another example, given `xi`, `yi`, and a derivative `ypi` for each
point, appropriate arrays can be constructed as:

>>> import numpy as np
>>> rng = np.random.default_rng()
>>> xi = np.linspace(0, 1, 5)
>>> yi, ypi = rng.random((2, 5))
>>> xi_k, yi_k = np.repeat(xi, 2), np.ravel(np.dstack((yi,ypi)))
>>> KroghInterpolator(xi_k, yi_k)

To produce a vector-valued polynomial, supply a higher-dimensional
array for `yi`:

>>> KroghInterpolator([0,1],[[2,3],[4,5]])

This constructs a linear polynomial giving (2,3) at 0 and (4,5) at 1.

Constructeur(s)

Signature du constructeur Description
__init__(self, xi, yi, axis=0)

Liste des attributs statiques

Attributs statiques hérités de la classe _Interpolator1D

dtype

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 _Interpolator1DWithDerivatives

__init_subclass__, __subclasshook__, derivative, derivatives

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

__call__

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 ? Sensibilisation à
l'Intelligence Artificielle
Voir le programme détaillé