J'ai un ensemble de données qui ressemble à:interpolation Python
Table-1
X1 | Y1
------+--------
0.1 | 0.52147
0.02 | 0.8879
0.08 | 0.901
0.11 | 1.55
0.15 | 1.82
0.152 | 1.95
Table-2
X2 | Y2
-----+------
0.2 | 0.11
0.21 | 0.112
0.34 | 0.120
0.33 | 1.121
Je dois interpoler la valeur Y2
du tableau-2 pour les valeurs de X1
Tableau-1, à savoir, je dois trouver les valeurs de Y2
pour les valeurs suivantes de X
:
X1 | Y2
-------+-------
0.1 |
0.02 |
0.08 |
0.11 |
0.15 |
0.152 |
note: les deux Tableau 1 & 2 ont des intervalles inégaux. Le nombre d'entrées (X, Y) différera, par exemple, ici nous avons 6 entrées (X1, Y1) dans le tableau 1 et seulement 4 (X2, Y2) dans le tableau 2.
Quel algorithme d'interpolation devrais-je utiliser dans Numpy, et comment procéder?
Merci Alex, Honnêtement, j'ai eu quelques idées .. Désolé pour une mauvaise explication! pour cette interpolation et extrapolation de 'Y2', je n'utilise PAS les valeurs 'Y1'. Mais je vais le stocker comme un tableau et l'utiliser plus loin. Mais ma fonction est non-linéaire, est-il possible d'utiliser des techniques d'interpolation non-linéaire? (par exemple, Newton, type Lagrange etc,) pour une meilleure précision ... Merci encore –
NP, voir ma réponse éditée pour les pointeurs sur le code scipy qui supporte l'interpolation non linéaire. –
Avec ces valeurs particulières, tous les résultats de 'numpy.interp' seront de 0.11. Tous les X1 donnés sont en dehors de la plage du X2 donné, donc ce n'est pas du tout vraiment inacceptable. Pour obtenir un résultat significatif, vous devez adapter une fonction paramétrée spécifique au X2: Y2 puis à l'évaluation X1 - vous pourriez obtenir des résultats très différents en fonction du choix de la fonction. – greggo