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)
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
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é
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 :