Interpolación en Excel con intervalos no constantes
Resuelto
Stan111
Mensajes publicados
8
Estado
Miembro
-
Stan111 Mensajes publicados 8 Estado Miembro -
Stan111 Mensajes publicados 8 Estado Miembro -
Hola,
Tengo un pequeño problema para hacer interpolación en Excel... Antes de hacer mi pregunta, he estado revisando los foros y no he encontrado nada.
Mi problema es que mi interpolación debe hacerse a partir de valores con un intervalo en X que no es constante.
Por ejemplo, mi conjunto de datos se ve así:
x y
0 2,33
0,17 2,32
0,43 2,22
0,78 2,14
0,84 2,02
0,87 2,00
1,03 1,77
A partir de esto, me gustaría interpolar valores para un intervalo de x constante, por ejemplo para x = 0/0,25/0,50/0,75/1,00/...
Algunas personas utilizan fórmulas bastante simples, pero para poder aplicarlas en mi caso, tendría que hacerlo manualmente para cada punto de datos. El problema es que tengo alrededor de 250,000 líneas de datos...!
¿Alguien se ha enfrentado a esto? Puedes tratarme como a un principiante, normalmente hago interpolación superficial pero nunca lineal! Si es más simple, también tengo una base con R y tengo acceso a MathLab, aunque no estoy acostumbrado.
¡Gracias de antemano!
Tengo un pequeño problema para hacer interpolación en Excel... Antes de hacer mi pregunta, he estado revisando los foros y no he encontrado nada.
Mi problema es que mi interpolación debe hacerse a partir de valores con un intervalo en X que no es constante.
Por ejemplo, mi conjunto de datos se ve así:
x y
0 2,33
0,17 2,32
0,43 2,22
0,78 2,14
0,84 2,02
0,87 2,00
1,03 1,77
A partir de esto, me gustaría interpolar valores para un intervalo de x constante, por ejemplo para x = 0/0,25/0,50/0,75/1,00/...
Algunas personas utilizan fórmulas bastante simples, pero para poder aplicarlas en mi caso, tendría que hacerlo manualmente para cada punto de datos. El problema es que tengo alrededor de 250,000 líneas de datos...!
¿Alguien se ha enfrentado a esto? Puedes tratarme como a un principiante, normalmente hago interpolación superficial pero nunca lineal! Si es más simple, también tengo una base con R y tengo acceso a MathLab, aunque no estoy acostumbrado.
¡Gracias de antemano!
4 respuestas
-
Hola,
Se supone que los datos están ordenados en x.
Excel ofrece funciones como Tendencia y Pronóstico, pero con 250000 filas superamos las cantidades razonables para las matriciales.
Si nos limitamos a una interpolación lineal entre dos puntos, hay que buscar para cada valor "referencia" los valores de x inferiores y superiores así como los valores de y correspondientes.
https://www.cjoint.com/?3IDqnzQQopg
El gráfico solo está ahí para mostrar la divergencia de los resultados. -
Hola tongtong,
Los datos ordenados en x, el desafío fue efectivamente buscar los valores de referencia ya que el intervalo en x era inconstante. ¡Funcionó con un total de 64 anidaciones (función SI), que es el máximo permitido por excel!
La interpolación era realmente lo que estaba buscando y utilizamos la misma fórmula.
¡Gracias! :D -
Hola,
No entiendo muy bien para qué sirven los 64 SI.
Con los datos ordenados de menor a mayor, BúsquedaV o Índice/Coindiden encuentran el valor inmediatamente inferior al solicitado.
Para el valor superior, solo hay que moverse una línea hacia abajo ya que los valores están ordenados.
En el archivo del #1, estas son las fórmulas en las columnas F, G, H, I. -
¡AH! Había utilizado los SI porque inicialmente había unificado mis tablas. Los X a intervalos regulares para los que buscaba Y por interpolación aparecían, por lo tanto, a través de los otros cuyos intervalos no eran constantes. Había ordenado todo en función del valor en X. Además, no conocía las funciones BuscarV y Indice, lo que me obligó a hacerlo manualmente, en forma de ecuación. Los SI servían, por lo tanto, para decir si hay un valor en la celda inferior o superior, utilízalo para calcular la interpolación, pero había tenido que poner todas las variaciones posibles porque los intervalos eran realmente irregulares. ¡Pero gracias a estas funciones, se hace solo y es genial! :) ¡Llego a los mismos valores pero en mucho menos tiempo de procesamiento!
¡Mil gracias!