Ho una serie di dati che assomiglia:Python interpolazione
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
devo interpolare il valore Y2
dalla tabella-2 per i valori X1
da Table-1, vale a dire, ho bisogno di trovare i valori di Y2
per i seguenti valori di X
:
X1 | Y2
-------+-------
0.1 |
0.02 |
0.08 |
0.11 |
0.15 |
0.152 |
Nota: Entrambi Tabella-1 & 2 hanno intervalli diseguali. Il numero di voci (X, Y) sarà diverso, ad esempio, qui abbiamo 6 (X1, Y1) voci in Table-1 e solo 4 (X2, Y2) in Table-2.
Quale algoritmo di interpolazione dovrei usare in Numpy e come procedere?
Grazie Alex, Onestamente ho alcune idee .. Scusa per una spiegazione scarsa! per questa interpolazione ed estrapolazione di "Y2" NON usare i valori "Y1". Ma lo conserverò come un array e lo useremo ulteriormente. Ma la mia funzione non è lineare, è possibile utilizzare alcune tecniche di interpolazione non lineare? (ad esempio, Newton, tipo Lagrange ecc.) per una migliore precisione ... Grazie ancora –
NP, vedere la mia risposta modificata per i puntatori a codice scipy che supporta l'interpolazione non lineare. –
Con questi valori particolari, tutti i risultati di 'numpy.interp' saranno 0.11. Tutte le X1 date sono al di fuori dell'intervallo dell'X2 dato, quindi questa non è affatto una inrerpolazione. Per ottenere un risultato significativo, è necessario adattare una specifica funzione parametrizzata a X2: Y2 e quindi valutare per X1 - si potrebbero ottenere risultati molto diversi a seconda della scelta della funzione. – greggo