En matemáticas , la interpolación trigonométrica es la interpolación con polinomios trigonométricos . La interpolación es el proceso de encontrar una función que pasa por algunos puntos de datos dados . Para la interpolación trigonométrica, esta función tiene que ser un polinomio trigonométrico, es decir, una suma de senos y cosenos de períodos dados. Esta forma es especialmente adecuada para la interpolación de funciones periódicas .
Un caso especial importante es cuando los puntos de datos dados están igualmente espaciados, en cuyo caso la solución viene dada por la transformada de Fourier discreta .
Un polinomio trigonométrico de grado K tiene la forma
Esta expresión contiene 2 K + 1 coeficientes, a 0 , a 1 , … a K , b 1 , …, b K , y deseamos calcular esos coeficientes para que la función pase por N puntos:
Como el polinomio trigonométrico es periódico con período 2π, los N puntos se pueden distribuir y ordenar en un período como
(Tenga en cuenta que, en general, no requerimos que estos puntos estén igualmente espaciados). El problema de interpolación es ahora encontrar coeficientes tales que el polinomio trigonométrico p satisfaga las condiciones de interpolación.
El problema se vuelve más natural si lo formulamos en el plano complejo . Podemos reescribir la fórmula para un polinomio trigonométrico como donde i es la unidad imaginaria . Si establecemos z = e ix , entonces esto se convierte en
con
Esto reduce el problema de la interpolación trigonométrica al de la interpolación polinómica en el círculo unitario . La existencia y unicidad de la interpolación trigonométrica se desprende ahora inmediatamente de los resultados correspondientes de la interpolación polinómica.
Para obtener más información sobre la formulación de polinomios de interpolación trigonométrica en el plano complejo, consulte la página 156 de Interpolación utilizando polinomios de Fourier.
En las condiciones anteriores, existe una solución al problema para cualquier conjunto dado de puntos de datos { x k , y k } siempre que N , el número de puntos de datos, no sea mayor que el número de coeficientes en el polinomio, es decir, N ≤ 2 K +1 (una solución puede existir o no si N >2 K +1 dependiendo del conjunto particular de puntos de datos). Además, el polinomio de interpolación es único si y solo si el número de coeficientes ajustables es igual al número de puntos de datos, es decir, N = 2 K + 1. En el resto de este artículo, asumiremos que esta condición es verdadera.
Si el número de puntos N es impar, digamos N=2K+1 , al aplicar la fórmula de Lagrange para interpolación polinómica a la formulación polinómica en el plano complejo se obtiene que la solución se puede escribir en la forma
dónde
El factor en esta fórmula compensa el hecho de que la formulación del plano complejo también contiene potencias negativas de y, por lo tanto, no es una expresión polinómica en . La exactitud de esta expresión se puede verificar fácilmente observando que y que es una combinación lineal de las potencias correctas de . Al usar la identidad
El coeficiente se puede escribir en la forma
Si el número de puntos N es par, digamos N=2K , al aplicar la fórmula de Lagrange para interpolación polinómica a la formulación polinómica en el plano complejo se obtiene que la solución se puede escribir en la forma
dónde
Aquí, las constantes se pueden elegir libremente. Esto se debe al hecho de que la función de interpolación ( 1 ) contiene un número impar de constantes desconocidas. Una elección común es requerir que la frecuencia más alta tenga la forma una constante por , es decir, el término se anula, pero en general la fase de la frecuencia más alta se puede elegir como . Para obtener una expresión para , obtenemos mediante ( 2 ) que ( 3 ) se puede escribir en la forma
Esto produce
y
Téngase en cuenta que se debe tener cuidado para evitar infinitos causados por ceros en los denominadores.
Es posible simplificar aún más el problema si los nodos son equidistantes, es decir,
Ver Zygmund para más detalles.
Una simplificación adicional mediante el uso de ( 4 ) sería un enfoque obvio, pero obviamente implica mucho trabajo. Un enfoque mucho más simple es considerar el núcleo de Dirichlet
donde es impar. Se puede ver fácilmente que es una combinación lineal de las potencias correctas de y satisface
Dado que estas dos propiedades definen de forma única los coeficientes en ( 5 ), se deduce que
Aquí, la función sinc evita cualquier singularidad y está definida por
Para pares, definimos el núcleo de Dirichlet como
Nuevamente, se puede ver fácilmente que es una combinación lineal de las potencias correctas de , no contiene el término y satisface
Usando estas propiedades, se deduce que los coeficientes en ( 6 ) están dados por
Nótese que no contiene el también. Finalmente, nótese que la función se anula en todos los puntos . Por lo tanto, siempre se pueden sumar múltiplos de este término, pero normalmente se omite.
Una implementación MATLAB de lo anterior se puede encontrar aquí y está dada por:
función P = triginterp ( xi,x,y ) % TRIGINTERP Interpolación trigonométrica. % Entrada: % xi puntos de evaluación para el interpolante (vector) % x nodos de interpolación equiespaciados (vector, longitud N) % y valores de interpolación (vector, longitud N) % Salida: % Valores P del interpolante trigonométrico (vector) N = longitud ( x ); % Ajusta el espaciado de la variable independiente dada. h = 2 / N ; escala = ( x ( 2 ) - x ( 1 )) / h ; x = x / escala ; xi = xi / escala ; % Evaluar el interpolante. P = ceros ( tamaño ( xi )); para k = 1 : N P = P + y ( k ) * trigcardinal ( xi - x ( k ), N ); fin función tau = trigcardinal ( x, N ) ws = advertencia ( 'off' , 'MATLAB:divideByZero' ); % La forma es diferente para N par e impar. si rem ( N , 2 ) == 1 % impar tau = sin ( N * pi * x / 2 ) ./ ( N * sin ( pi * x / 2 )); de lo contrario % par tau = sin ( N * pi * x / 2 ) ./ ( N * tan ( pi * x / 2 )); fin advertencia ( ws ) tau ( x == 0 ) = 1 ; % fija el valor en x=0
El caso especial en el que los puntos x n están igualmente espaciados es especialmente importante. En este caso, tenemos
La transformación que asigna los puntos de datos y n a los coeficientes a k , b k se obtiene de la transformada de Fourier discreta (DFT) de orden N.
(Debido a la forma en que se formuló el problema anteriormente, nos hemos restringido a números impares de puntos. Esto no es estrictamente necesario; para números pares de puntos, se incluye otro término coseno correspondiente a la frecuencia de Nyquist ).
El caso de la interpolación de solo coseno para puntos igualmente espaciados, correspondiente a una interpolación trigonométrica cuando los puntos tienen simetría par , fue tratado por Alexis Clairaut en 1754. En este caso, la solución es equivalente a una transformada de coseno discreta . La expansión de solo seno para puntos igualmente espaciados, correspondiente a simetría impar, fue resuelta por Joseph Louis Lagrange en 1762, para la cual la solución es una transformada de seno discreta . El polinomio de interpolación de coseno y seno completo, que da lugar a la DFT, fue resuelto por Carl Friedrich Gauss en un trabajo inédito alrededor de 1805, momento en el que también derivó un algoritmo de transformada rápida de Fourier para evaluarlo rápidamente. Clairaut, Lagrange y Gauss se ocuparon todos de estudiar el problema de inferir la órbita de planetas , asteroides , etc., a partir de un conjunto finito de puntos de observación; Como las órbitas son periódicas, una interpolación trigonométrica fue una elección natural. Véase también Heideman et al. (1984).
Chebfun , un sistema de software totalmente integrado escrito en MATLAB para realizar cálculos con funciones, utiliza interpolación trigonométrica y expansiones de Fourier para realizar cálculos con funciones periódicas. Muchos algoritmos relacionados con la interpolación trigonométrica están disponibles en Chebfun ; varios ejemplos están disponibles aquí.