6
votes

Extrapolation des données tracées avec matplotlib

J'ai 10 valeurs de x et y dans mon fichier.

Y a-t-il une manière que je puisse extrapoler le graphique, c'est-à-dire une fonction continue et augmenter sa plage pour d'autres valeurs x dans matplotlib ??

Je serais même reconnaissant si quelqu'un peut me dire s'il y a un autre logiciel que je peux utiliser. Je veux fondamentalement que ces 10 valeurs se rapprochent d'une fonction continue afin de pouvoir connaître la valeur Y à un point X aléatoire.


3 Réponses :


5
votes

Si vous utilisez SCIPY code> (Scientific Python), vous pouvez essayer scipy.interp1d code>. Voir le manuel pour un exemple.

Sinon, Tout logiciel de tableur décent devrait pouvoir faire une interpolation de spline et vous donner un bon graphe lisse. P>

méfiez-vous de extrapolation em>, cependant. Si vous n'avez pas de bon modèle pour vos données, vous pouvez obtenir des données entièrement non liées lors de l'extrapolation de votre plage d'entrée. P>

exemple (édition): p>

from scipy.interpolate import interp1d

# the available data points
x = [1, 2, 3]
y = [10, 20, 30]

# return a function f, such that f(x) is the interpolated value at 'x'
f = interp1d(x, y, kind='cubic')


0 commentaires

15
votes

ci-dessous j'utilise sciped , mais les fonctions mêmes ( polyval et polyfit ) sont également dans NUMPY ; NUMPY est une dépendance MATPLOLIB afin que vous puissiez importer ces deux fonctions à partir de là si vous n'avez pas été installée sciped. xxx

 texte alt


0 commentaires

0
votes

La plupart de ce que vous voulez être trouvé ici: http://docs.scipy.org/doc/scipy/reference/Tutorial /interpoler.html

mais n'excuse pas, au moins jusqu'à ce que vous soyez absolument sûr que vous sachiez ce que vous faites.


0 commentaires