Interpolación
Interpolación En ciertos casos el usuario conoce el valor de una función f(x) en una serie de
puntos x1, x2, · · · , xN , pero no se conoce una expresión analítica de f(x) que permita calcular
el valor de la función para un punto arbitrario. Un ejemplo claro son las mediciones de
laboratorio, donde se mide cada minuto un valor, pero se requiere el valor en otro punto que
no ha sido medido. Otro ejemplo son mediciones de temperatura en la superficie de la Tierra,
que se realizan en equipos o estaciones meteorológicas y se necesita calcular la temperatura
en un punto cercano, pero distinto al punto de medida.
La idea de la interpolación es poder estimar f(x) para un x arbitrario, a partir de la construcción
de una curva o superficie que une los puntos donde se han realizado las mediciones y cuyo
valor si se conoce. Se asume que el punto arbitrario x se encuentra dentro de los límites de los
puntos de medición, en caso contrario se llamaría extrapolación. En este texto se discute
exclusivamente la interpolación, aunque la idea es similar. PRECAUCION: El uso indiscriminado
´ de extrapolación no es recomendable, siempre tratar con cuidado. Existe un sin número de
métodos de interpolación, incluyendo la interpolación lineal, polinomial, y la spline, que se
discutirán más adelante. Existen otros métodos que no serán tenidos en cuenta en este texto,
pero se pueden encontrar en [***************]
En muchos casos el usuario se enfrenta a funciones para las cuales la interpolación no
funciona. Por ejemplo, la función
Tiene una singularidad cuando x = π . Cualquier método de interpolación que se base en
valores de x = 3,14, 3,14, 3,15, 3,16 muy probablemente va a generar un resultado erróneo
para x = 3,1415 . . . . En la práctica, un proceso de interpolación se realiza en dos etapas:
Hacer un fit de los datos disponibles con una función interpolante.
Evaluar la función interpolante en el punto de interés x.
Este proceso en dos etapas no es necesariamente el más eficiente. La mayoría de algoritmos
comienzan con un punto cercano f(xi), y poco a poco van aplicando correcciones más
pequeñas a medida que la información de valores f(xi) más distantes es incorporada. El
procedimiento toma aproximadamente O(N2 ) operaciones. Si la función tiene un
comportamiento suave, la ´ultima corrección será la más pequeña y puede ser utilizada para
estimar un límite a rango de error. La interpolación local, usando un número finito de vecinos
próximos (nearest neighbours) genera valores interpolados f(x) que, en general, no tienen
continuidad es su primera o siguientes derivadas. Esto se debe a que, cuando el valor
interpolado en x cruza uno de los puntos disponibles xi , el procedimiento de interpolación
cambia el grupo de vecinos próximos, lo cual puede generar una discontinuidad en la función
de interpolación en ese punto, lo cual no es necesariamente lo que el usuario quiere. El
número de puntos (menos 1) usado en el esquema de interpolación se le conoce como el
orden de la interpolación. Aumentar el orden de la interpolación no necesariamente aumenta
su precisión, especialmente en la interpolación polinomial. Al adicionar el número de puntos
vecinos al punto de interés x, el polinomio de mayor orden tiende a hacer que la función
interpolante oscile excesivamente entre los puntos xi . Esa oscilación puede no tener nada que
ver con la función verdadera. A menos que el usuario tenga evidencia solida que la función
interpolante sea similar a la función verdadera f, se recomienda ser cuidadoso con
interpolación de un orden muy alto. Interpolación con 3 - 4puntos, y hasta 5 - 6 puntos es
aceptable, pero rara vez se usan métodos de mayor orden, a menos que haya alguna forma de
monitorear el error
En fin en el subcampo matemático del análisis numérico, se denomina interpolación a la
obtención de nuevos puntos partiendo del conocimiento de un conjunto discreto de puntos.
La finalidad del cálculo de las funciones de interpolación se centra en la necesidad de obtener
valores intermedios (INTERPOLACIÓN) o de valores fuera del intervalo para el que se dispone
de datos (EXTRAPOLACIÓN).
Utilidad
En ciertos casos el usuario conoce el valor de una función f(x) en una serie de puntos x1, x2,···,
xN, pero no se conoce una expresión analítica de f(x) que permita calcular el valor de la función
para un punto arbitrario. Un ejemplo claro son las mediciones de laboratorio, donde se mide
cada minuto un valor, pero se requiere el valor en otro punto que no ha sido medido. Otro
ejemplo
son mediciones de temperatura en la superficie de la Tierra, que se realizan en equipos o
estaciones meteorológicas y se necesita calcular la temperatura en un punto cercano, pero
distinto al punto de medida.
La idea de la interpolación es poder estimar f(x) para un valor de x arbitrario, a partir de la
construcción de una curva o superficie que une los puntos donde se han realizado las
mediciones y cuyo valor si se conoce. Se asume que el punto arbitrario x se encuentra dentro
de los límites de los puntos de medición, en caso contrario se llamaría extrapolación. En este
página se discute exclusivamente la interpolación, aunque la idea es similar.
Formas de interpolación
Interpolación lineal
Interpolación polinómica
Interpolación de Hermite
Interpolación de Splines
(Estas formas son las más importantes)
Interpolación polinomica
Cuando se tienen dos puntos, ´estos pueden ser unidos con una línea recta. Dos puntos
cualquiera en un plano (x0, y0) and (x1, y1), donde x0 6= x1, determinan un polinomia de
primer grado en x, donde la función psa por ambos puntos (lo que se discutió en la sección
anterior). Una generalización de lo anterior sugiere que dados N puntos en un plano (xk, yk)
con k = 1, 2, · · · , N y distintos xk, existe un ´único polinomio en x de grado menor a N cuya
función pasa por todos los puntos. Este tipo de polinomio se le conoce como polinomio de
interpolación ya que reproduce los datos exactamente
La forma de describir este tipo de polinomios es con la forma Lagrangiana:
Donde hay N términos en la suma y N − 1 en los productos, de tal manera que esta expresión
describe un polinomio de grado hasta N −1. Si P(x) es evaluado en los puntos x = xk, todos los
productos excepto el k son ceros. Además el producto k es igual a 1, así que la suma es igual a
yk y las condiciones de interpolación (puntos xk exactos) son cumplidas. Una forma más
común de representar un polinomio, diferente a la Lagrangiana es de la forma
conocida como power form. Esta expresión se puede generalizar para polinomios de
interpolación así:
Donde cn son los coeficientes, que deben ser estimados o encontrados. Este sistema de
ecuaciones lineales se puede resolver con métodos de teoría de inversión y estimación
paramétrica que más adelante se discutirán.
Método de Hermite
La interpolación de Hermite, llamada así en honor a su inventor Charles Hermite, es similar a la
de Newton pero con el añadido de que ahora también conocemos los valores que toma
la derivada de la función en las abscisas conocidas .
El Polinomio Interpolador de Hermite de grado de la función es un polinomio de
la forma
La interpolación de Hermite puede extenderse al conocimiento de las derivadas sucesivas de la
función a interpolar en las abscisas tomadas, de modo que se puede obtener un polinomio
cada vez más ajustado a la función real, ya que éste podrá cumplir otros requisitos como una
determinada monotonía, concavidad, etc.
En este caso, estaremos hablando de interpolación de Hermite generalizada y su cálculo se
llevará a cabo de forma similar a la apuntada, pero obteniendo polinomios de grado cada vez
mayor debido a las sucesivas derivadas de los coeficientes .
Notar, pues, que la interpolación de Lagrange puede considerarse como un caso particular de
la interpolación de Hermite generalizada (el caso en el que "conocemos" cero derivadas de ).
Tal y como ocurría con la Interpolación de Lagrange, para la interpolación de Hermite también
disponemos una fórmula del error de interpolación que, naturalmente, tiene en cuenta factores
relacionados con las derivadas de f. Más concretamente, se dispone de una fórmula del error
en el caso en que la función sea 2m+2 veces diferenciable en un intervalo mediante la
siguiente expresión:
La diferencia esencial entre la Interpolación de Hermite y la Interpolación de Lagrange reside
en el cálculo a través de la construcción de los Polinomios de Lagrange. En este caso, su cálculo
es árduo, largo y complicado; por lo que el uso de las llamadas diferencias divididas
generalizadas simplifica mucho el cálculo del polinomio interpolador.
Interpolación Lineal
La interpolación lineal es el método más simple en uso hoy. Es el método usado por los
programas de generación de graficas, donde se interpola con líneas rectas entre una serie de
puntos que el usuario quiere graficar. La idea básica es conectar los 2 puntos dados en xi, es
decir (x0, y0) y (x1, y1). La función interpolante es una línea recta entre los dos puntos. Para
cualquier punto entre los dos valores de x0 y x1 se debe seguir la ecuación de la línea
Que se puede derivar geométricamente. En lo anterior, el ´único valor desconocido es y, que
representa el valor desconocido para x, despejando queda:
Donde se asume que x0 < x < x1, de otra forma esto se conocería como extrapolación. Si se
tienen más de dos puntos para la interpolación, es decir N > 2, con puntos x0, x1, · · · , xN ,
simplemente se concatena la interpolación lineal entre pares de puntos continuos
Interpolación de n + 1 puntos
Tomemos n + 1 puntos dados {(x0, y0),(x1, y1), . . . ,(xn, yn)}, se trata de calcular un polinomio
que pase por esos puntos. En caso de existir, lógicamente será un polinomio de grado n, pues
posee n + 1 coeficientes a determinar con los n + 1 datos de que se dispone. Consideremos por
tanto un polinomio de grado n:
que pase por los puntos dados, es decir que verifique:
Ahora bien, esta expresión es un sistema de n + 1 ecuaciones con n + 1 incógnitas, a0, . . . , an,
y tal que la matriz del sistema es:
El determinante de esa matriz es un determinante de Vandermonde, cuyo valor es
n, y por tanto, si las abscisas de los puntos datos son diferentes,
el determinante es distinto de cero, y asi el sistema es compatible y determinado. En
definitiva, el polinomio de interpolación de n + 1 puntos (de diferente abscisa) existe, es de
grado n y es ´único. Una primera forma de calcular el polinomio de interpolación es,
evidentemente, resolver dicho sistema. Sin embargo, en general no es una buena idea, en
primer lugar el número de ecuaciones puede ser elevado, y en segundo lugar, las potencias
dan lugar a cantidades elevadas, con el consiguiente aumento de los errores de redondeo.
Veamos dos métodos alternativos de calcular el polinomio
Método de Lagrange.
Consideremos la función:
Evidentemente es un polinomio de grado n que vale cero en x1, x2, . . . , xn, si lo dividimos por
W0(x0), tendremos:
Polinomio de grado n que vale 1 en x0 y cero en todos los demás xj , j diferente de 0.
Análogamente construiremos
Donde (i) significa que falta el término i-´esimo. Tenemos ya n + 1 polinomios de grado n tales
que el k-´esimo vale 1 en xk y cero sobre los restantes. Con ellos construiremos el polinomio:
Es fácil observar que Pn(xk) = yk, k = 0, 1, . . . , n, y por tanto Pn(x) es el polinomio de
interpolación de esos n + 1 datos (recordemos que el polinomio es ´único).
Método de Newton
El Método de Lagrange plantea una serie de problemas que el de Newton subsana, al menos
en parte. Veamos:
El número de cálculos a realizar para cada interpolación es grande.
Interpolar un nuevo valor requiere repetir todos los cálculos desde el principio.
Ocurre lo mismo cuando se añaden datos nuevos, hay que re-comenzar.
No es nada fácil evaluar el error que se comete.
El Método de Newton, como decíamos, alivia un tanto estas dificultades. Requiere la
elaboración de una tabla de diferencias, pero una vez hecha ´esta, se obtienen con facilidad
polinomios de interpolación de distintos grados para grupos de datos consecutivos. Además, el
error se estima con facilidad.
Tomemos una vez más los n+ 1 puntos dados {(x0, y0),(x1, y1), . . . ,(xn, yn)}. Consideremos un
polinomio de grado cero que pase por (x0, y0), lógicamente, la ´única posibilidad es :
Consideremos ahora un polinomio de grado uno que pase por los dos primeros puntos de la
lista de datos, que, además, imponemos sea de la forma:
que por construcción pasa por el primer punto. Si P1(x1) = y1, entonces necesariamente:
De igual forma, construimos: P2(x) = P1(x)+a2(x−x0)(x−x1). Imponer P2(x2) = y2 nos conduce a:
Y ası sucesivamente, obtendremos:
Tenemos por tanto descrito cómo se obtiene el polinomio de interpolación por el Método de
Newton, sin embargo no es la manera más rápida ni ´útil de obtenerlo, veamos por ello, en la
sección siguiente, cómo se construye la tabla de diferencias, que agiliza el proceso
Interpolación Spline Cúbico
Hasta ahora se hemos presentado dos métodos de interpolación. Uno de ellos es local (solo
usa dos puntos alrededor del punto de interés x) y el otro es no local, usa todos los puntos
para estimar el valor de f(x) para cualquier x. En ambos casos el lector puede encontrar
desventajas. En la interpolación lineal l a primera derivada presenta un salto en los puntos xk.
En cambio, en la interpolación polinomial este no es el caso, pero tiende a presentar overshoot
(excederse o presentar demasiada oscilación) entre los puntos xk. En esta sección se describe
un método que tiene dos características principales
es no-local, para definir una interpolación suavizada (smooth) con ubn polinomio
cubico
la segunda derivada de la función de interpolación es continua
El termino interpolación spline puede extenderse más allá de la idea 1D que se presenta acá,
ya que existen métodos multi-dimensionales, splines de mayor orden (high-order), con nodos
variables y smoothing splines. Una excelente guía para estudiar splines es el libro de Carl De
Boor (de Boor, 1978). El autor es además el autor del paquete de Splines en Matlab (Spline
Toolbox). Acá se explica de forma muy básica el método de interpolación de Spline Cubico. Si
el lector quiere mayor información, se recomienda de Boor (1978). Dada una serie tabulada de
una función yi = y(xi) con i = 1, 2, · · · , N, nos concentramos en un intervalo particular, por
ejemplo entre xj y xj+1. La interpolación lineal daría
(4.7)
Donde
Note que la expresión anterior es tomada directamente de la formula Lagrangiana
Debido a que la interpolación lineal es local, la ecuación 4.7 tiene
Donde se muestra que la segunda derivada no está definida ∞ justo en los puntos xk. El
objetivo de los splines cúbicos es generar una función de interpolación que tenga una primera
derivada suavizada y una segunda derivada continua, tanto dentro de los intervalos como en
los puntos xk. Suponga (aunque no es el caso, pero sin embargo suponga) que adicional a los
valores yi , también se conoce el valor de la segunda derivada y 00, es decir los valores y” i . Se
puede entonces adicionar al lado derecho de la ecuación 4.7 un polinomio cubico cuya
segunda derivada cambie de manera lineal del valor y”i
a la izquierda al valor y 00 i+1 a la derecha. De esta forma se puede entonces tener una
segunda derivada que sea continua. Adicionalmente se puede forzar que el valor del polinomio
cubico sea cero en xi y xi+1 de tal forma que adicionar esto a la ecuación no previene que los
datos tabulados en los puntos xi sean ajustados por la función de manera exacta. Este texto no
pretende demostrar lo siguiente, pero si cambiamos (4.7) con:
Y donde debemos definir
Estos métodos serán de mucha utilidad en la labor del ingeniero al permitir la construcción de
nuevos puntos partiendo del conocimiento de un conjunto discreto de puntos. En ingeniería y
algunas ciencias es frecuente disponer de un cierto número de puntos obtenidos por muestreo
o a partir de un experimento y pretender construir una función que los ajuste.
Interpolación spline
Muy frecuentemente se dispone de una gran cantidad de datos relativos a una función,
conocida o no, que se desea aproximar. Las técnicas de interpolación polinómica dan lugar en
general a interpolantes que presentan grandes oscilaciones. La interpolación spline
desempeña un papel fundamental en el tratamiento de este tipo de problemas. En lo que
sigue, nos centraremos principalmente en la interpolación spline cúbica, aunque trataremos
primero brevemente la lineal y la cuadrática.
Interpolación con splines de grado uno
Como hemos indicado, los polinomios de grado elevado pueden presentar grandes
oscilaciones. Ello hace que un polinomio pueda coincidir con una función en muchos puntos y
que, aunque dos de ellos estén muy próximos, en puntos entre estos dos el valor del
polinomio diste mucho del de la función. Incluso es posible que la distancia tienda a infinito
cuando el grado del polinomio crece (el ejemplo de Runge es una buena ilustración).
Por el contrario para los polinomios de grado bajo no se dan tales oscilaciones; basta
pensar en las gráficas de las rectas, las parábolas o las cúbicas, por citar los de grado más bajo,
que son los de mayor interés en la construcción de las funciones spline polinómicas.
La idea de este tipo de funciones es hacer posible la construcción de espacios de
funciones suficientemente suaves fácilmente manejables. Los más utilizados son los
construidos, hablando en términos gráficos, a partir de funciones polinómicas a trozos de
grado bajo que presentan cierta regularidad.
Un ejemplo sencillo es el de una función cuya gráfica la forman rectas a trozos, es decir
segmentos, sobre una partición
del intervalo , de tal manera que el extremo final
de un segmento coincide con el principio del siguiente. La gráfica que resulta es lo que
conocemos como una poligonal. Obsérvese que se trata de una función continua en el
intervalo total , y que al restringirla al intervalo , , es un
polinomio de grado menor o igual que uno; además, estas dos propiedades se mantienen
cuando se suman poligonales o se multiplican por escalares. Por tanto las funciones cuyas
gráficas son las poligonales asociadas a la partición anterior constituyen un espacio vectorial.
Este espacio vectorial es el de las funciones spline de grado uno y nodos , y se nota
por
También se observa de inmediato que si en los nodos , , se conocen los
valores , , que toma cierta función y se desea construir una poligonal, del tipo
anterior, que pasa por ellos, el problema tiene solución y es única: su gráfica la forman los
segmentos que unen los puntos resultantes: el punto con el punto ,
el con , etc., y su expresión analítica, en el subintervalo
, , es
(el último subintervalo se considera
cerrado por la derecha, es decir, ).
Por tanto, el problema consistente en interpolar datos lagranianos referidos a los
nodos , , en el espacio es unisolvente (es decir, tiene solución en
ese espacio vectorial y es única). Este hecho también nos indica que la dimensión de dicho
espacio es La dimensión también se puede deducir teniendo en cuenta que cada spline es
un polinomio de grado menor o igual que en cada subintervalo, lo que deja dos parámetros
libres para su determinación; en total, como hemos de obtener polinomios,
serían parámetros, a los que habría que restar restricciones originadas al
exigir la continuidad en los nodos interiores, obteniendo como valor de la
dimensión (este resultado, obtenido a partir de un razonamiento de
tipo heurístico, requiere una demostración rigurosa, pues no hemos probado que las formas
lineales asociadas al problema sean linealmente independientes).
Una base del espacio la constituyen las poligonales que valen,
respectivamente, en un nodo y en los nodos restantes. Esta base es muy útil en
problemas de elementos finitos (ver figura c10g1 ).
Gráfica de la función de de la base de correspondiente al nodo .
Otra base se puede definir a partir de potencias truncadas. La función potencia truncada
de grado en el punto se nota por y se define por
En la figura se muestran las gráficas de dos de ellas.
Gráficas en de las potencias truncadas de grados correspondientes a
.
La base de mediante potencias truncadas es
Interpolación con splines cuadráticos
Las funciones spline polinómicas de grado mayor que uno siguen una filosofía idéntica a las
de grado uno, sólo que al aumentar el grado se puede conseguir mayor regularidad global, sin
que cambie mucho la dimensión del espacio vectorial. Así, los splines cuadráticos con
nodos , , están constituidos por parábolas a trozos, unidas entre sí no sólo con
continuidad sino también con tangente continua, de tal forma que son funciones de clase uno
en el intervalo . El espacio vectorial correspondiente se nota por Es
evidente que si se desea calcular una parábola conociendo su valor en dos puntos, por ejemplo
en y , y el valor de su derivada en uno de ellos, por ejemplo en el problema es
unisolvente. Si queremos usar el spline cuadrático para interpolar datos, la siguiente parábola
tendría que volver a interpolar el valor en el nodo , puede interpolar un nuevo valor de
función en pero no podemos interpolar una derivada arbitraria en uno de estos extremos,
pues, para que ambas parábolas enlacen con clase uno se necesita que la nueva parábola
tenga en la misma derivada que la parábola construida en el intervalo
Continuando la construcción hasta el último subintervalo, observamos que el
espacio permite resolver un problema de interpolación con datos
(valores en los nodos y el valor de la derivada en uno de ellos). Nuevamente, la
dimensión es igual al número de parábolas que hay que construir, , por el número
de parámetros de cada una, tres, menos el número de nodos interiores, , por las
restricciones en cada nodo interior, dos (coincidencia del valor y de la primera derivada).
Detallemos el problema de interpolación lagrangiana en , que
describimos como sigue:
Si es el polinomio cuadrático que se obtiene al restringir al
intervalo , , entonces
, donde , y son constantes reales. La función cumplirá las condiciones de
interpolación , , si y sólo si y
, , condiciones equivalentes a
donde
.
Entonces
Donde
.
La determinación del interpolante spline pasa por hallar los valores . Sólo resta
imponer que sea de clase . Pero esto está garantizado si es derivable en los
nodos interiores . En definitiva, es de clase si y sólo
si , , es decir, si y sólo si
igualdades que se simplifican dando lugar a
Se trata de un sistema de ecuaciones para las incógnitas , por lo que el
problema (c10:Lagcuad) no es unisolvente en . Una forma de conseguir un
problema unisolvente consiste en especificar el valor de la derivada de la función spline en uno
de los nodos. Si es el inicial, equivale a especificar el valor de . En cualquiera de estos casos
las igualdades (c10:sistcuad) permiten determinar recurrentemente los restantes valores de las
incógnitas.
Otra forma de abordar el problema es elegir de modo que alguna cantidad relacionada
con el spline se minimice, por ejemplo la energía o alguna aproximación de la curvatura (ver
[Späth]).
El problema descrito también podría haberse expresado en términos de la base de
potencias truncadas de , dada por
Interpolación con splines cúbicos de clase dos
De igual forma que en los casos anteriores, se puede construir un espacio formado por
funciones cúbicas a trozos de clase dos. Es el espacio vectorial de los splines cúbicos, que se
nota por . Este espacio tiene dimensión , como indica un razonamiento
similar al de los casos precedentes. De nuevo podemos escribir una base para el mismo en
función de potencias truncadas
Con el espacio podemos interpolar valores en los nodos y dos datos
más. Cabría pensar que los dos datos restantes para la interpolación son relativos a derivadas
en los extremos de uno de los subintervalos. Efectivamente esa es una posibilidad, pero no la
más interesante. Los problemas de interpolación en el espacio tienen sus dos
datos restantes referidos a los nodos extremos y ; por tanto, su construcción no es tan
simple como en los casos anteriores.
El problema de interpolación lagrangiana en es el siguiente:
Como hemos comentado, se requieren dos condiciones adicionales; tres elecciones muy
interesantes son las siguientes:
i) Caso cúbico natural
.
ii) Caso cúbico periódico
.
iii) Caso cúbico sujeto
,
Los problemas de Lagrange con las anteriores condiciones adicionales tienen datos de
interpolación comunes.
Veamos cómo se podría determinar el primero de ellos, el spline cúbico natural de
interpolación. Mantenemos la notación empleada en el caso cuadrático. La restricción al
subintervalo del spline se nota y es un polinomio de grado menor o igual que
tres, que debe tomar en los extremos los valores e , respectivamente. Si
denominamos y a los valores (desconocidos) de la derivada primera de en los
extremos y , entonces satisface las igualdades
Se trata de un problema de interpolación polinómica de Hermite, por lo que puede
expresarse en términos de los polinomios de la correspondiente base de Newton:
.
Unos cálculos elementales muestran que
La función construida a partir de las restricciones , , interpola los
valores y es de clase . Sólo hay que imponer que sea de clase , lo
que se consigue si lo es en los nodos interiores . Pero esto equivale a
que para . Pero
y
En definitiva, igualando ambos valores y simplificando, se tiene clase si y sólo
si
para . Constituyen un sistema de ecuaciones para incógnitas,
por lo que el problema (c10:Lagcub) no es unisolvente, como ya se anunció. Son necesarias dos
condiciones adicionales. En el caso cúbico natural, son , o,
equivalentemente, . A partir de las expresiones de y , se
obtiene que la segunda derivada de en y será nula si y sólo si
La matriz de coeficientes del sistema que determina los valores de la derivada de en los
nodos de interpolación es
Es una matriz diagonalmente dominante en sentido estricto, por lo que es invertible. Así
pues, existe un único spline natural de interpolación. El vector de términos intependientes es
En las figuras (c10g3) y (c10g4) se muestran las gráficas de la función y de su
spline cúbico natural de interpolación relativo a la partición uniforme del intervalo con
paso , y el error de interpolación asociado, respectivamente.
Gráficas de la función y de su spline cúbico natural de interpolación relativo a la
partición uniforme del intervalo con paso .
Gráfica del error de interpolación correspondiente al ejemplo de la figura (c10g3).
El caso cúbico sujeto es más simple, pues las condiciones en los extremos se traducen en
valores concretos de y , por lo que las ecuaciones primera y última que relacionan los
valores de las incógnitas se simplifican, obteniendo un sistema de orden en lugar de
uno de orden .
Conocidos los valores de las derivadas del spline en cada nodo es inmediato obtener
con Mathematica la expresión del spline en ese intervalo con la
orden InterpolatingPolynomial.
El caso periódico, que también es unisolvente, se trata de forma análoga, aunque la matriz
de coeficientes ya no es tridiagonal.
Interpolación con splines cúbicos de clase uno
Podríamos pensar en utilizar un espacio formado por cúbicas a trozos que enlazaran con
continuidad y también con tangente continua pero sin exigir coincidencia de las segundas
derivadas en los nodos interiores. Lo notaremos por , donde el superíndice
indica la regularidad global y el subíndice el grado de los polinomios. Es de nuevo un espacio
vectorial, de mayor dimensión que el anterior, que además contiene al espacio de los splines
cúbicos de clase dos.
Es inmediato que con este espacio podemos interpolar, con solución única, el valor de una
función y el de su derivada en cada uno de los nodos. Por tanto, la dimensión del
espacio es . Además, la construcción de cada uno de los trozos se
puede hacer por separado con la orden InterpolatingPolynomial..
¿Para qué es necesaria la Interpolación Lineal?
En ocasiones te encontrarás que tienes una serie de datos tabulados, en los que se presenta la
relación entre dos variables x, y y para las cuales necesitas conocer el valor de y, para un
determinado valor de x que precisamente no aparece en la tabla en cuestión, pero que si está
dentro del rango de valores de referencia:
De esta forma, y con relación a la figura anterior, si deseamos conocer el valor de y, cuando x
es igual a 2,5, tendríamos que seleccionar dos pares de datos desde la tabla, entre los cuales
se encuentre el valor de 2,5 referido.
En este caso, los datos disponibles nos indican que tenemos que seleccionar los pares de
valores (x0=2, y0=3) y (x1=4, y1=6).
Con esto, podremos aplicar la fórmula de Interpolación Lineal:
Y obtener el valor cuando x=2,5:
Como referíamos en la introducción a este Tutorial, Microsoft Excel no cuenta con una Función
específica para la realización de la Interpolación Lineal y, por lo tanto, lo que haremos será
plantear, a través de otras funciones disponibles en este programa, la hoja de cálculo que te
permita obtener el valor de y, para determinado valor de x, sin necesidad de estar
“buscando” los valores de x0, y0, x1 y y1.
En realidad la fórmula de Interpolación Lineal es la ecuación de una recta y, por lo tanto,
estaremos suponiendo durante su aplicación que la relación entre x y y es lineal.
Vale decir que existen otros métodos de Interpolación, como la cuadrática o la cúbica,
pero la más utilizada es la Interpolación Lineal, siempre y cuando los valores utilizados de
x0, y x1 estén lo suficientemente cercanos entre sí como para aceptar el comportamiento
lineal referido.
¿Cómo implementar la interpolación Lineal en una Hoja de Microsoft Excel?
Si bien el cálculo sin la ayuda de funciones es sencillo utilizando bien sea una calculadora o al
mismo Excel, la ventaja de la implementación que vamos a realizar es que no será necesario
ubicar visualmente (o manualmente), entre los datos (que en alguna ocasión podrán ser
unos cuantos), los valores de referencia para la aplicación de la fórmula de Interpolación
Lineal.
De esta forma debemos realizar las siguientes implementaciones:
1 Utilizar la Función COINCIDIR de Excel para Determinar la Posición de los Valores x0 y y0 en la
Fórmula de Interpolación Lineal.
Tal como lo plantea la ayuda de Microsoft Excel:
La función COINCIDIR busca un elemento especificado en un rango de celdas y, a
continuación, devuelve la posición relativa de ese elemento en el rango.
Por lo tanto COINCIDIR es la función que utilizaremos para ubicar la posición, dentro de las
filas de la tabla de datos, del valor inmediatamente inferior o igual al valor de x para el cual
deseamos realizar la Interpolación Lineal.
Para el uso de esta función debemos especificar:
El valor para el cual deseamos realizar la búsqueda. En el ejemplo anterior, debemos
introducir 2,5, el cual es el valor de x para el cual vamos a realizar la Interpolación Lineal.
El rango de celdas en los cuales deseamos realizar la búsqueda del valor x (valor de búsqueda
referido anteriormente). En nuestro ejemplo, el rango a especificar será el correspondiente a
los datos para la variable x.
De forma opcional, podremos indicar el tipo de coincidencia deseado. En el caso de la
Interpolación Lineal, colocaremos 1 (valor por defecto) para poder obtener el valor
inmediatamente inferior o igual al valor buscado.
En la siguiente figura, verás cómo quedaría el planteamiento de la función COINCIDIR en
nuestro ejemplo:
Como vemos, la función nos da la ubicación de los valores x0, y0. De esta forma nos evitamos
el tener que buscar manualmente el valor anterior al valor buscado (2,5 en este ejemplo).
2 Utilizar la Función ÍNDICE de Microsoft Excel para Determinar Los Valores de x0, y0, x1 y y1 en
la Fórmula de Interpolación Lineal.
Con la Función INDICE podremos obtener el valor de la variable que ocupa determinada
posición dentro de un rango especificado.
En nuestro ejemplo, y sabiendo que la posición ocupada, dentro del rango de datos, es la
número 2, al utilizar la función INDICE, podremos obtener el valor de x y y, necesarios en la
fórmula de Interpolación Lineal.
La función INDICE requiere que le sea suministrada la siguiente información:
El rango de celdas contentivas de los datos en los que se determinará el valor en determinada
posición. En nuestro ejemplo, para la determinación de los valores de x0 y x1, debemos
especificar el rango B4:B8, es decir, los valores “dato” de la variable x, mientras que
para y0 y y1 tocará especificar el rango C4:C8, datos y.
El número de fila desde la que se devolverá el valor dentro del rango de datos. Para el ejemplo,
se deberá especificar la posición obtenida con la función COINCIDIR para obtener los valores
de x0 y y0. En el caso de los valores x1 y y1,incrementaremos el valor de la posición en 1 para
especificar la fila siguiente dentro del rango de datos.
De esta forma, y como veremos en la siguiente figura, logramos obtener los valores de
referencia para la fórmula de Interpolación Lineal:
3 Implementar la Fórmula de Interpolación Lineal en la Hoja de Cálculo.
Conocidos los valores de nuestros datos, lo que queda es realizar la Interpolación Lineal en la
Hoja de Cálculo:
Con lo que logramos obtener el valor calculado previamente de forma manual.
También se puede programar una función propia para la interpolación lineal:
Interpolación Parabólica
Una parábola es un polinomio de grado 2, cuya ecuación es:
y=a+bx+cx2
En la Hoja2 de nuestro fichero podemos ver un caso en el que nos dan 3 puntos. Nuestra nube
de puntos es pequeña y lo que pretendemos es encontrar la parábola que pasa justo por esos
tres puntos. Si lo conseguimos habremos obtenido una interpolación parabólica.
Pulsando con el botón derecho del ratón sobre el gráfico (justo sobre la curva) obtenemos el
menú contextual y elegimos Agregar línea de tendencia.
También marcamos abajo las opciones:
Presentar ecuación en el gráfico
Presentar el valor R cuadrado en el gráfico
Así veremos la ecuación de la parábola:
y también veremos el coeficiente de determinación que es R2=1, lo cual indica que estamos en
un caso de correlación perfecta.
Observar que aunque aumentemos el grado del polinomio (lo que aquí Excel llama
'Ordenación') no por ello mejora el valor de R2 ya que lo máximo que puede valer es 1.
La sorpresa es que al trazar Excel la parábola (línea negra) no coincide con la curva (línea azul),
y ambas curvas pasan por los tres puntos. La respuesta es que existen muchas formas de
interpolar y por lo que vemos Excel en la curva azul ha elegido otro método muy diferente del
que nosotros estamos buscando. Nosotros queríamos una parábola y usando este sistema
hemos obtenido la parábola, que es un polinomio de grado 2.
Si aumentamos el grado del polinomio en la ventana de las opciones de la línea de tendencia
no cambia la curva ajustada y no mejora R2 ya que al llegar a 1 ha llegado al máximo. R2 igual a
1 indica que estamos ante un ajuste perfecto por lo que no se gana nada intentando aumentar
el grado del polinomio.
Para calcular la ecuación de la parábola debemos determinar los valores de sus parámetros: a,
b y c. Nos reservamos el método para más adelante, ya que lo aplicaremos para un caso de un
polinomio de grado 4 y como es un método matricial es válido para cualquier grado.
A la vista del gráfico podemos observar la ecuación de la parábola:
y=a+bx+cx2
en nuestro caso es: y=1+0,5x-2x2
Polinomio grado 3
En la Hoja3 de nuestro fichero pretendemos obtener el polinomio de interpolación que pasa
por 4 parejas de datos.
La curva que obtenemos es la siguiente.
Nuevamente, observamos que pese a estar en el caso de correlación perfecta (R2=1) nuestro
polinomio de grado 3 (color negro) no coincide con la curva del gráfico generada por Excel
(color azul).
Los valores de una tabla pueden ser tales que la interpolación cúbica es más adecuada que la
lineal.
• La interpolación cúbica usa cuatro valores adyacentes de la tabla, x0 , x1 , x2 , x3 para
obtener los coeficientes de la ecuación cúbica
para usarse como función interpolante entre x1 y x2.
• Para realizar la interpolación se utiliza un polinomio de Lagrange de orden 4 programado en
VBA
así:
Interpolación cúbica mediante VBA • Requiere pasar los arrays de valores x (en orden
ascendente) e y
Polinomio grado 4
En la Hoja4 disponemos de 5 parejas de datos, con lo que podemos obtener un polinomio de
grado 4.
Aquí también R2=1 ya que el polinomio pasa por todos los puntos.
POLINOMIO DE HERMITE CON EXCEL