Tengo un conjunto de datos que se parece a:Python interpolación
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
tengo para interpolar el valor Y2
de la Tabla-2 para los X1
valores de la Tabla-1, es decir, tengo que encontrar los valores de Y2
para los siguientes valores de X
:
X1 | Y2
-------+-------
0.1 |
0.02 |
0.08 |
0.11 |
0.15 |
0.152 |
Nota: Tanto la Tabla-1 & 2 tienen intervalos desiguales. El número de entradas (X, Y) será diferente, por ejemplo, aquí tenemos 6 entradas (X1, Y1) en la Tabla-1 y solo 4 (X2, Y2) en la Tabla-2.
¿Qué algoritmo de interpolación debería usar en Numpy y cómo procedo?
Gracias Alex, Honestamente, tengo algunas ideas ... Lo siento por una explicación pobre! para esta interpolación y extrapolación de 'Y2' NO uso los valores 'Y1'. Pero lo almacenaré como una matriz y lo usaré más. Pero mi función no es lineal, ¿es posible usar algunas técnicas de interpolación no lineal? (por ejemplo, Newton, tipo de Lagrange, etc.) para una mejor precisión ... Gracias una vez más –
NP, vea mi respuesta editada para los punteros al código scipy que admite la interpolación no lineal. –
Con estos valores particulares, todos los resultados de 'numpy.interp' serán 0.11. Todos los X1 dados están fuera del rango del X2 dado, por lo tanto, esto no es realmente intrarpolación en absoluto. Para obtener un resultado significativo, debe ajustar una función parametrizada específica a X2: Y2 y luego evaluar para X1: puede obtener resultados muy diferentes según la función elegida. – greggo