Mam zestaw danych, które wygląda następująco:Python interpolacja
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
muszę interpolacji wartości Y2
z Tabeli-2 dla wartości X1
z Tabeli-1, to znaczy, że trzeba znaleźć wartości od Y2
z następujących wartości: X
X1 | Y2
-------+-------
0.1 |
0.02 |
0.08 |
0.11 |
0.15 |
0.152 |
Uwaga: Zarówno Tabela 1 & 2 mają nierówne długości. Liczba wpisów (X, Y) będzie się różnić, na przykład tutaj mamy 6 (X1, Y1) wpisów w Tabeli-1 i tylko 4 (X2, Y2) w Tabeli-2.
Który algorytm interpolacji powinienem użyć w Numpy i jak mam kontynuować?
Dziękuję Alex, Szczerze, mam kilka pomysłów .. Przepraszam za kiepskie wytłumaczenie! dla tej interpolacji i ekstrapolacji "Y2" NIE używam wartości "Y1". Ale będę przechowywać go jako tablicę i wykorzystywać go dalej. Ale moja funkcja jest nieliniowa, czy można zastosować techniki nieliniowej interpolacji? (np. Newton, typ Lagrange'a itp.), dla lepszej dokładności ... Jeszcze raz dziękuję –
NP, zobacz moją edytowaną odpowiedź dla wskaźników do kodu scipy, który obsługuje interpolację nieliniową. –
Przy tych konkretnych wartościach wszystkie wyniki z 'numpy.interp' będą wynosić 0,11. Wszystkie podane X1 są poza zakresem danego X2, więc to wcale nie jest inrerpolation. Aby uzyskać znaczący rezultat, musisz dopasować określoną sparametryzowaną funkcję do X2: Y2, a następnie eval dla X1 - możesz uzyskać bardzo różne wyniki w zależności od wyboru funkcji. – greggo