Python interpolation
J'ai un ensemble de données qui ressemble à:
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
J'ai pour interpoler les Y2
valeur du Tableau 2 pour les X1
valeurs du Tableau-1, c'est à dire, j'ai besoin de 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 |
Remarque: à la Fois de Table-1 & 2 ont des intervalles. Le nombre de (X, Y) les inscriptions seront différents, par exemple, ici, nous avons 6 (X1, Y1) les entrées dans le Tableau 1 et 4 (X2, Y2) dans le Tableau 2.
Qui l'algorithme d'interpolation dois-je utiliser Numpy, et comment dois-je procéder?
Vous devez vous connecter pour publier un commentaire.
numpy.interp
semble être la fonction que vous souhaitez: passer votreX1
comme premier argument x, votreX2
comme deuxième argument xp, votreY2
en tant que troisième argument fp, et vous obtiendrez les valeurs de Y correspondant à laX1
coordonnées.Je suis en supposant que vous voulez complètement ignorer l'
Y1
valeurs. C'est ce que l'extrait ci-dessus ne. Sinon, vous devrez préciser votre question pour expliquer ce rôle que vous pourriez avoir pourY1
!Si vous voulez plus d'interpolation linéaire, je vous suggère de regarder à
scipy.interpoler
et ses tutoriel plutôt que d'essayer d'étirer numpy au-delà de sa simplicité ;-).numpy.interp
sera 0.11. Toutes les donné X1 sont en dehors de la plage de la X2, donc ce n'est pas vraiment inrerpolation à tous. Pour obtenir un résultat valable, vous auriez besoin d'un ajustement spécifique de la fonction paramétrable pour le X2:Y2 puis eval pour X1 - vous pu obtenir des résultats très différents selon le choix de la fonction.