J'ai 10 valeurs de x et y dans mon fichier. p>
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 ?? p>
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. P>
3 Réponses :
Si vous utilisez 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> SCIPY code> (Scientific Python), vous pouvez essayer
scipy.interp1d code>. Voir le manuel pour un exemple.
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')
ci-dessous j'utilise sciped em>, mais les fonctions mêmes em> ( polyval em> et polyfit em>) sont également dans NUMPY EM>; 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. p> p>
La plupart de ce que vous voulez être trouvé ici: http://docs.scipy.org/doc/scipy/reference/Tutorial /interpoler.html p>
mais n'excuse pas, au moins jusqu'à ce que vous soyez absolument sûr que vous sachiez ce que vous faites. p>
Est-ce que cela répond à votre question? Comment faire sciped.interpoler Donnez un résultat extrapolé au-delà de la plage d'entrée?