« Python pour le calcul scientifique/Interpolation, extrapolation et lissage » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 20 :
</source>
 
La fonction <code>interpolate.interp1d()</code> (interpolation à une dimension, l'avant-dernière lettre est le chiffre 1) crée une fonction d'interpolation. Pour avoir une interpolation linéaire comme précédemment, on écrit :
<source lang="python">
f = interpolate.interp1d(xp, yp)
y = f(x)
</source>
On peut autoriser l'extrapolation linéaire avec l'option <code>interpolate.interp1d(xp, yp, fill_value="extrapolate")</code>. En absence de ce paramètre, une valeur de ''x'' en dehors de l'intervalle des ''x''<sub>p</sub> génère une erreur.
 
Cette fonction propose d'autre méthodes d'interpolation : avec l'option <code>kind=</code> :
* <code>"linear"</code> : méthode par défaut ;
* <code>"nearest"</code> : renvoie la valeur de ''y''<sub>p</sub> correspondant au ''x''<sub>p</sub> le plus proche ;
* <code>"zero"</code> : fait une interpolation par une ''{{lang|en|spline}}'' d'ordre 0 ;
Ligne 33 ⟶ 34 :
* <code>"quadratic"</code> : " par une ''{{lang|en|spline}}'' d'ordre 2 ;
* <code>"cubic"</code> : " par une ''{{lang|en|spline}}'' d'ordre 3.
Par exemple :
: <code>interpolate.interp1d(xp, yp, fill_value="extrapolate", kind="nearest")</code>
 
La classe <code>interpolate.BarycentricInterpolator</code> correspond à une fonction polynôme passant par un ensemble de points (''x''<sub>p</sub>, ''y''<sub>p</sub>) :