• No se han encontrado resultados

Capítulo 3. Fundamentos matemático-computacionales

3.4. Interpolación

En algunas ocasiones se conoce el valor de una función ƒ() en un conjunto de

puntos1, 2, ..., N (digamos que 1< ..., < N) pero no tenemos una expresión ana-

lítica paraƒ() que permita calcular su valor para algún punto arbitrario. Por ejemplo,

las ƒ()’s podrían resultar de alguna medición física o un cálculo numérico extenso

que no puede expresarse en una forma funcional simple. Frecuentemente las ’s se

encuentran igualmente espaciadas, pero no necesariamente es así.

Se pretende estimarƒ()para unaarbitraria mediante, de alguna manera, dibujar

una curva suave a través (y quizás más allá) de. Si ladeseada se encuentra entre

la menor y la mayor de las ’s, el problema es llamado interpolación; si por otro

lado, se encuentra fuera de ese rango, es llamado extrapolación, que es un proceso

considerablemente más arriesgado.

Los esquemas de interpolación y extrapolación deben modelar la función, entre o más allá de los puntos conocidos, mediante alguna forma funcional plausible. La forma debe ser lo suficientemente general tal que sea capaz de aproximar grandes clases de funciones que pudieran surgir en la práctica. Por mucho, los tipos de formas funcio- nales utilizados más comúnmente son polinomios. Las funciones racionales (cocientes de polinomios) también resultan ser extremadamente útiles. Las funciones trigonomé- tricas, senos y cosenos, dan lugar a la interpolación trigonométrica y los métodos de Fourier relacionados.

Existe una extensiva literatura matemática consagrada a los teoremas sobre qué tipo de funciones pueden ser bien aproximadas mediante cuáles funciones de interpo- lación. Sin embargo, tales teoremas resultan poco prácticos en el trabajo día a día; si se conoce suficiente sobre la función para aplicar un teorema cualquiera, usualmente no es necesario interpolar sobre una tabla de sus valores.

La interpolación consiste en encontrar una función que pueda ser aplicada con la finalidad de generar información para puntos desconocidos a partir de la información disponible en puntos conocidos. Esta se relaciona con, pero es distinta de, la aproxima- ción de funciones, que consiste en encontrar una función aproximada (pero fácilmente calculable) para ser utilizada en lugar de una más complicada. En el caso de la interpo-

lación, se tiene el valor de una funciónƒ en puntos no seleccionables. Para el caso de

la aproximación de funciones, es permitido calcular la funciónƒ en cualquier conjunto

de puntos seleccionables.

Es fácil encontrar funciones discontínuas que pueden producir un error bajo cual- quier esquema de interpolación. Consideremos por ejemplo la siguiente:

ƒ() =32+ 1 π4n

(π)2+1 , (22)

que se comporta bien en cualquier punto, excepto cuando =π. Cualquier interpola-

ción basada en los valores=3.13,3.14,3.15,3.16, seguramente entregará un valor

completamente incorrecto para = 3.1416, a pesar de que al graficar esos cinco

puntos el gráfico resultante parezca suave.

Debido a que las funciones problemáticas pueden encontrarse en donde sea, es altamente deseable que una interpolación o extrapolación sea capaz de proveer una estimación de su propio error. Tal estimación de error nunca puede ser infalible. Se puede tener una función que se dispara abruptamente e inesperadamente entre dos puntos tabulados. En la interpolación siempre se presume cierto grado de suavidad pa- ra la función interpolada, pero dentro de esta presunción, desviaciones de la suavidad pueden ser detectadas.

Conceptualmente, el proceso de interpolación tiene dos etapas: Ajustar una función de interpolación a los datos y evaluar tal función en el punto objetivo.

Sin embargo, este método de dos etapas no es generalmente la mejor forma de proceder en la práctica. Típicamente es computacionalmente menos eficiente, y más susceptible al error de redondeo, que métodos que construyen una estimación fun- cional ƒ() directamente a partir de N valores tabulados cada vez que se requiere.

Esquemas más prácticos inician en un punto cercanoƒ(), luego agregan una secuen-

cia de correcciones decrecientes, mientras se incorpora información a partir de otras

ƒ()’s. El procedimiento típicamente toma O(N2) operaciones. Si todo se comporta

bien, la última corrección será la menor, y puede ser utilizada como una cota informal (aunque no rigurosa) para el error.

La interpolación local, utilizando un número finito de puntos “vecinos más cerca- nos”, entrega valores interpoladosƒ()que en general, no tienen primeras o derivadas

superiores. Esto ocurre porque, como cruza los valores tabulados, el esquema de

interpolación cambia los puntos considerados como “locales”.

En situaciones en las que la continuidad de las derivadas es importante, es reco- mendable utilizar la interpolación provista por la llamada funciónspline. Unasplinees

un polinomio entre cada par de puntos de la tabla, pero cuyos coeficientes son deter- minados de una forma no local. Esto con la finalidad de garantizar la suavidad global de la función interpolada hasta una derivada de cierto orden. Lassplines cúbicas son

las más populares. Producen una función interpolada continua a través de la segunda derivada. Estas suelen ser más estables que los polinomios, con menor posibilidad de oscilación inesperada entre los puntos tabulados.

(a)

(b)

Figura 27. Ejemplos de interpolación. (a) Una función suave (línea sólida) es más precisamente inter- polada por polinomios de orden superior (línea punteada) que por polinomios de orden inferior (línea rayada). (b) Una función con esquinas abruptas o derivadas con cambios rápidos es menos polinomial (línea rayada). Incluso algunas funciones suaves, como exponenciales o funciones racionales pueden ser incorrectamente aproximadas utilizando polinomios de orden superior.

El número de puntos (menos uno) utilizado en un esquema de interpolación es conocido como el orden de la interpolación. Contrario a lo que podría pensarse, el in- crementar el orden no necesariamente incrementa la precisión, especialmente para el caso de la interpolación polinomial. Si los puntos agregados se encuentran lejos del punto de interés, el polinomio de orden mayor resultante, con sus puntos de restric-

ción adicionales, tiende a oscilar inesperadamente entre los valores tabulados. Esta oscilación puede no tener relación alguna con el comportamiento de la función real (ver Figura 27). Por supuesto, al agregar puntos cercanos al punto deseado usualmen- te ayuda, pero un ajuste más fino, implica una tabla de valores conocidos mayor, lo cual no siempre se tiene disponible.

A menos que exista evidencia sólida de que la función de interpolación es cercana en cuanto a forma a la función real ƒ(), es importante ser cuidadoso con interpola-

ciones de orden superior. Es recomendable interpolar con 3 o 4 puntos, quizá con 5 o 6 puntos; pero raramente se recomienda ir más allá de esas cantidades a menos que exista un riguroso monitoreo de los errores estimados. Cuando la tabla de valores conocidos contiene muchos más puntos que el orden deseable para la interpolación, se debe iniciar con una búsqueda del lugar “local” correcto en la tabla.

Los esquemas de interpolación sirven también para llevar a cabo extrapolación, pero se deben considerar lo riesgoso de esta operación, especialmente, cuando el punto deseadose encuentra fuera del rango de los valores tabulados por un espacio

mayor al típico entre puntos tabulados.

Las operaciones de interpolación y extrapolación pueden llevarse a cabo en más de una dimensión, e.g., para una función ƒ(, y, z). Este tipo de operaciones multidimen-

sionales pueden llevarse a cabo mediante una secuencia de interpolaciones unidimen- sionales. La descripción detallada de tales métodos de interpolación multidimensional puede ser consultada en (De Boor, 2001; Presset al., 1992).