Enviado por pacomegia el 2 Diciembre, 2007 - 19:27.
Para interpolar linealmente no hay ninguna función específica, puesto que no es más que una operación aritmética.
Para interpolar linealmente y obtener el valor en x, conociendo los puntos (x1,y1) y (x2,y2), sería una fórmula como esta: =_y1+(_x-_x1)/(_x2-_x1)*(_y2-_y1) (He empleado guiones bajos para que no se confunda con referencias a celdas).
De todas maneras, se puede emplear por ejemplo la función PRONOSTICO con solamente dos puntos conocidos, para calcular el valor de la recta ajustada, que en este caso, con sólo dos puntos, pasaría por esos dos puntos.
Sería algo parecido a esto: =PRONOSTICO(XdondecalcularY;valoresYconocidos;XcorrespondientesalasYconocidas)
Extrapolando el problema a un plano, donde en una tabla tenemos valores de un tercer parámetro Z que depende de las variables x e y, la interpolación lineal de Z en el área delimitada por las cuatro esquinas conocidas sería una superficie reglada, un paraboloide hiperbólico, que no es otra cosa que unir las esquinas con rectas según las direcciones x e y.
Para interpolar un valor en este caso, primero se interpolará linealmente en una dirección, por ejemplo en X en los valores extremos de y; después se interpolará linealmente en Y a partir de los valores calculados en el paso anterior, es decir, que hay que hacer tres interpolaciones lineales.
Con un ejemplo puede quedar algo más claro:Tendríamos una tabla de valores cuatro valores de Z similar a esta:
_x1
_x2
_y1
_z1
_z2
_y2
_z3
_z4
Interpolamos linealmente en _y1
=_z1+(_x-_x1)/(_x2-_x1)*(_z2-_z1)
a este resultado lo voy a llamar _z5
interpolamos linealmente en _y2
=_z3+(_x-_x1)/(_x2-_x1)*(_z4-_z3)
a este resultado lo voy a llamar _z6
Ahora interpolamos linealmente según la dirección "Y" entre _z5 y _z6
=_z5+(_Y-_y1)/(_y2-_y1)*(_z6-_z5)
Juntando todo esto en una única fórmula, quedaría algo así: =(_z1+(_x-_x1)/(_x2-_x1)*(_z2-_z1))+(_Y-_y1)/(_y2-_y1)*((_z3+(_x-_x1)/(_x2-_x1)*(_z4-_z3))-(_z1+(_x-_x1)/(_x2-_x1)*(_z2-_z1)))
Aquí hay para entretenerse operando un rato.
Si quieres un complemento con funciones para interpolaciones polinómicas o Splines, mira en este enlace
Interpolación lineal
Para interpolar linealmente no hay ninguna función específica, puesto que no es más que una operación aritmética.
Para interpolar linealmente y obtener el valor en x, conociendo los puntos (x1,y1) y (x2,y2), sería una fórmula como esta:
=_y1+(_x-_x1)/(_x2-_x1)*(_y2-_y1)
(He empleado guiones bajos para que no se confunda con referencias a celdas).
De todas maneras, se puede emplear por ejemplo la función PRONOSTICO con solamente dos puntos conocidos, para calcular el valor de la recta ajustada, que en este caso, con sólo dos puntos, pasaría por esos dos puntos.
Sería algo parecido a esto:
=PRONOSTICO(XdondecalcularY;valoresYconocidos;XcorrespondientesalasYconocidas)
Extrapolando el problema a un plano, donde en una tabla tenemos valores de un tercer parámetro Z que depende de las variables x e y, la interpolación lineal de Z en el área delimitada por las cuatro esquinas conocidas sería una superficie reglada, un paraboloide hiperbólico, que no es otra cosa que unir las esquinas con rectas según las direcciones x e y.
Para interpolar un valor en este caso, primero se interpolará linealmente en una dirección, por ejemplo en X en los valores extremos de y; después se interpolará linealmente en Y a partir de los valores calculados en el paso anterior, es decir, que hay que hacer tres interpolaciones lineales.
Con un ejemplo puede quedar algo más claro:Tendríamos una tabla de valores cuatro valores de Z similar a esta:
Interpolamos linealmente en _y1
=_z1+(_x-_x1)/(_x2-_x1)*(_z2-_z1)
a este resultado lo voy a llamar _z5
interpolamos linealmente en _y2
=_z3+(_x-_x1)/(_x2-_x1)*(_z4-_z3)
a este resultado lo voy a llamar _z6
Ahora interpolamos linealmente según la dirección "Y" entre _z5 y _z6
=_z5+(_Y-_y1)/(_y2-_y1)*(_z6-_z5)
Juntando todo esto en una única fórmula, quedaría algo así:
=(_z1+(_x-_x1)/(_x2-_x1)*(_z2-_z1))+(_Y-_y1)/(_y2-_y1)*((_z3+(_x-_x1)/(_x2-_x1)*(_z4-_z3))-(_z1+(_x-_x1)/(_x2-_x1)*(_z2-_z1)))
Aquí hay para entretenerse operando un rato.
Si quieres un complemento con funciones para interpolaciones polinómicas o Splines, mira en este enlace