CAPITULO 4: INTERPOLACIONINTERPOLACION DE POLINOMIOS Con frecuencia se tienen que estimar valores intermedios entre valores conocidos. El método más común empleado para este propósito es la interpolación polinomial. Recuerde que la fórmula general de un polinomio de n-ésimo orden es: (1) Para n + 1 puntos, existe uno y sólo un polinomio de n-ésimo orden o menor que pasa a través de todos los puntos. Por ejemplo, hay sólo una línea recta (es decir un polinomio de primer orden) que conecta dos puntos. El polinomio de interpolación consiste en determinar el único polinomio de n-ésimo orden que se ajusta a losn + 1puntos dados. Este polinomio proporciona una fórmula para calcular los valores intermedios. Aunque existe uno y sólo un polinomio de n-ésimo orden que se ajusta a losn + 1 puntos, existen una gran variedad de fórmulas matemáticas mediante las cuales se puede expresar este polinomio. En esta unidad se estudian dos técnicas alternativas que están bien condicionadas para implementarse en una computadora. Estos son los polinomios de Newton y de Lagrange. Lección 10 Polinomios de interpolación de Lagrange ../../../Documents and Settings/ESC. AGRARIAS/Escritorio/para clase y cuaciones/metodos para clase/tema2/interp04.html - atrasEl polinomio de interpolación de Lagrange, simplemente es una reformulación del polinomio de Newton que evita los cálculos de las diferencias divididas. Este se puede representar concretamente como: (21) en donde: (22) En donde denota el "producto de". Por ejemplo, la versión lineal (n = 1) es: (23) y la versión de segundo orden es: (24) al igual que en el método de Newton, la versión de Lagrange tiene un error aproximado dado por: (25) La ecuación (21) se deriva directamente del polinomio de Newton. Sin embargo, la razón fundamental de la formulación de Lagrange se puede comprender directamente notando que cada término Li(X) será 1 en X=Xi y 0 en todos los demás puntos. Por lo tanto, cada producto Li(X) f (Xi) toma un valor de f (Xi) en el punto Xi. Por consiguiente la sumatoria de todos los productos, dada por la ecuación (21) es el único polinomio de n-ésimo orden que pasa exactamente por los n+1 puntos. Ejemplo 3.4 Úsese un polinomio de interpolación de Lagrange de primer y segundo orden para evaluar ln 2 en base a los datos: i 0 1 2 Solución: El polinomio de primer orden es: X 1.0 4.0 6.0 f(X) 0.000 0000 1.386 2944 1.791 7595 y, por lo tanto, la aproximación en X = 2 es de manera similar, el polinomio de segundo orden se desarrolla como: Como se expresaba, ambos resultados son similares a los que se obtuvieron previamente usando la interpolación polinomial de Newton. En resumen, para los casos en donde el orden del polinomio se desconozca, el método de Newton tiene ventajas debido a que profundiza en el comportamiento de las diferentes fórmulas de orden superior. Además la aproximación del error dada por la ecuación (20), en general puede integrarse fácilmente en los cálculos de Newton ya que la aproximación usa una diferencia dividida. De esta forma, desde el punto de vista de cálculo, a menudo, se prefiere el método de Newton. Cuando se va a llevar a cabo sólo una interpolación, ambos métodos, el de Newton y el de Lagrange requieren de un esfuerzo de cálculo similar. Sin embargo, la versión de Lagrange es un poco más fácil de programar. También existen casos en donde la forma de Newton es más susceptible a los errores de redondeo. Debido a esto y a que no se requiere calcular y almacenar diferencias divididas, la forma de Lagrange se usa, a menudo, cuando el orden del polinomio se conoce a priori. Comentarios adicionales Hay dos temas adicionales que se deben de mencionar: La interpolación con los datos igualmente espaciados y la Extrapolación. Ya que los métodos de Newton y de Lagrange son compatibles con los datos espaciados en forma arbitraria, se debe de preguntar por que se aborda el caso de los datos igualmente espaciados. Antes del advenimiento de las computadoras digitales, estos métodos tuvieron gran utilidad en la interpolación de tablas con datos igualmente espaciados. De hecho se desarrolla un esquema conocido como tabla de diferencias divididas para facilitar la implementación de estas técnicas. Sin embargo, y debido a que las fórmulas son un subconjunto de los esquemas de Newton y Lagrange compatibles con la computadora y ya que se dispone de muchas funciones tabulares como rutinas de biblioteca, la necesidad de puntos equidistantes se fue perdiendo. En particular, se puede emplear en la derivación de fórmulas de integración numérica que emplean comúnmente datos equidistantes. La extrapolación es el proceso de calcular un valor de f(X) que cae fuera del rango de los puntos base conocidos X0, X1,..., Xn. La interpolación más exacta usualmente se obtiene cuando las incógnitas caen cerca de los puntos base. Obviamente, esto no sucede cuando las incógnitas caen fuera del rango, y por lo tanto, el error en la extrapolación puede ser muy grande. La naturaleza abierta en los extremos de la extrapolación representa un paso en la incógnita porque el proceso extiende la curva más allá de la región conocida. Como tal, la curva verdadera diverge fácilemte de la predicción. Por lo tanto, se debe tener cuidado extremo en casos donde se deba extrapolar. Lección 11 Polinomios de interpolación con diferencias divididas de newton Interpolación lineal La fórmula más simple de interpolación es la de conectar dos puntos con una línea recta. Este método, llamado Interpolación Lineal, se muestra en la figura. Fig. 1 Usando triángulos semejantes, se tiene: (2) Que se puede reordenar como: (3) La cuál es la fórmula de interpolación lineal. La notación f1(X) indica que se trata de un polinomio de interpolación de primer orden. Nótese que además de representar la pendiente de la línea que conecta los dos puntos, el término [f(X1) f(X2)] / (X1 - X2) es una aproximación de diferencias divididas finitas a la primera derivada. En general, entre mas pequeño sea el intervalo entre los puntos, más exacta será la aproximación. EJEMPLO 3.1 Calcúlese el logaritmo natural de 2 (ln 2) usando interpolación lineal. Primero, llévese a cabo los cálculos interpolando entre ln 1 = 0 y ln 6 = 1.7917595. Después repítase el procedimiento, pero usando un intervalo más pequeño desde ln1 aln 4 = 1.3862944. Nótese que el valor real de ln 2 = 0. 69314718 SOLUCIÓN: Evaluando la fórmula de interpolación lineal (3) de X = 1 aX = 6 da: La cual representa un error porcentual de e% = 48.3 %. Usando el intervalo más pequeño desde X = 1 aX = 4 da: Por lo contrario, usando el intervalo más pequeño reduce el error relativo porcentual a e% = 33.3% Interpolación cuadrática ../../../Documents and Settings/ESC. AGRARIAS/Escritorio/para clase y cuaciones/metodos para clase/tema2/interp02.html - atras El error en el ejemplo 3.1 se debe a que se aproxima a una curva mediante una línea recta. Por consiguiente, una estrategia que mejora la aproximación es la de introducir cierta curvatura en a línea que conecta a los puntos. Si se dispone de tres puntos lo anterior se puede llevar a cabo con un polinomio de segundo orden (llamado también polinomio cuadrático o parábola). Una manera conveniente para este caso es: (4) Nótese que aunque la ecuación (4) parezca diferente de la ecuación general de un polinomio (1), las dos ecuaciones son equivalentes. Esto se puede demostrar si se multiplican los términos de la ecuación (4) y obtener: (5) O, agrupar términos: (6) En donde: (7) De esta manera, las ecuaciones (1) y (4) son fórmulas alternativas equivalentes del único polinomio de segundo grado que une a los tres puntos. Se puede usar un procedimiento simple para determinar los valores de los coeficientes. Para b0, se usa la ecuación (4) con X = X0, y se obtiene b0 = f(X0) (8) Sustituyendo la ecuación (8) en la ecuación (4) y evaluando en X = X1 se obtiene: (9) Y por último, las ecuaciones (8) y (9) se sustituyen en la ecuación (4), y se evalúa ésta en X = X2 y se obtiene: (10) Nótese que, al igual que en el caso de interpolación lineal, b1 aún representa la pendiente de la línea que une los puntos X0 y X1. Por lo tanto, los primeros dos términos de la ecuación (4) son equivalentes a la interpolación de X0 a X1, como se especificó anteriormente en la ecuación (3). El último término, b2(X-X0) (X-X1), introduce la curvatura de segundo orden en la fórmula. Ejemplo 3.2 Ajústese el polinomio de segundo orden a los tres puntos usados en el ejemplo 3.1 X0 = 1 f (X0) = 0.0000 000 X1 = 4 f (X1) = 1.3862 944 X2 = 6 f (X2) = 1.7917 595 Úsese el polinomio para evaluar ln 2 SOLUCIÓN: Aplicando la ecuación (8) da: b0 = 0 la ecuación (9) genera: Y la ecuación (10) da: Sustituyendo estos valores en la ecuación (4) se obtiene la fórmula cuadrática: f2 ( X ) = 0 + 0.4620981 (X - 1) - 0.05187312 (X - 1) (X - 4) que se evalúa en X = 2 y se obtiene f2 ( 2 ) = 0.5658443 Lo que representa un error porcentual del e% = 18.4%. Por lo tanto, mejora la interpolación comparada con los resultados obtenidos al usar una línea recta (ejemplo 3.1). Lección 12 Interpolación polinomial de las diferencias finitas de newton ../../../Documents and Settings/ESC. AGRARIAS/Escritorio/para clase y cuaciones/metodos para clase/tema2/interp03.html - atrasEl análisis anterior se puede generalizar en el ajuste de un polinomio de n-ésimo orden a losn+1 puntos. El polinomio de n-ésimo orden es: (11) Como se hizo anteriormente con las interpolaciones lineales y cuadráticas, se usan los puntos en la evaluación de los coeficientes b0, b1,..., bn. Se requieren n + 1 puntos para obtener un polinomio de n-ésimo orden: X0, X1,..., X n. Usando estos datos, con las ecuaciones siguientes se evalúan los coeficientes: B0 = f (X0) B1 = f [X1, X0] B2 = f [X2, X1, X0] (12) ... bn = f [Xn, Xn-1, ..., X1, X0] En donde las evaluaciones de la función entre corchetes son diferencias divididas finitas. Por ejemplo, la primera diferencia dividida finita se representa generalmente como: (13) La segunda diferencia dividida finita, que representa la diferencia de dos primeras diferencias divididas finitas, se expresa generalmente como: (14) De manera similar, la n-ésima diferencia dividida finita es: (15) Estas diferencias se usan para evaluar los coeficientes de la ecuación (12), los cuales se sustituyen en la ecuación (11), para obtener el polinomio de interpolación: f n (X) = f(X0) + (X-X0) f[X1, X0] + (X-X0)(X-X1) f[X2, X1, X0] + (16) ...+ (X-X0)(X-X1)...(X-Xn-1) f[Xn, Xn-1,...,X1, X0] Al cual se le llama Polinomio de Interpolación con Diferencias Divididas de Newton. Se debe notar que no es necesario que los datos usados en la ecuación (16) estén igualmente espaciados o que los valores de la abscisa necesariamente se encuentren en orden ascendente, como se ilustra en el ejemplo 3.3 Todas las diferencias pueden arreglarse en una tabla de diferencias divididas, en donde cada diferencia se indica entre los elementos que la producen: I 0 1 2 3 Xi X0 X1 X2 X3 f(Xi) f(X0) f(X1) f(X2) f(X3) Primera f(X1, X0) f(X2, X1) f(X3,X2) Segunda f(X2, X1, X0) f(X3, X2, X1) Tercera f(X3, X2, X1, X0) EJEMPLO 3.3 Usando la siguiente tabla de datos, calcúlese ln 2 con un polinomio de interpolación de Newton con diferencias divididas de tercer orden: X 1 4 6 5 SOLUCIÓN: f(X) 0.000 0000 1.386 2944 1.791 7595 1.609 4379 El polinomio de tercer orden con n = 3, es. Las primeras diferencias divididas del problema son: Las segundas diferencias divididas son: La tercera diferencia dividia es: Los resultados para f(X1, X0), f(X2, X1, X0) y f(X3, X2, X1, X0) representan los coeficientes b1, b2 y b3Junto con b0 = f (X0) = 0.0, la ecuación da: f3 (X) = 0 + 0.46209813 (X-1) - 0.0518731 (X-1)(X-4) + 0.0078655415 (X-1)(X-4)(X6) Arreglando la tabla de diferencias X f [X] f1[] f2[] f3[] 1.0 0.00000000 0.46209813 - 0.051873116 0.0078655415 4.0 1.3862944 6.0 1.7917595 0.20273255 - 0.020410950 0.18232160 5.0 1.6094379 Con la ecuación anterior se puede evaluar paraX = 2 f3 (2) = 0.62876869 Lo que representa un error relativo porcentual del e% = 9.3%. Nótese que la estructura de la ecuación (16) es similar a la expresión de la serie de Taylor en el sentido de que los términos agregados secuencialmente consideran el comportamiento de orden superior de la función representada. Estos términos son diferencias divididas finitas, y por lo tanto, representan aproximaciones a las derivadas de orden superior. En consecuencia, como sucede con la serie de Taylor, si la función representativa es un polinomio de n-ésimo orden, el polinomio interpolante de n-ésimo orden bajado en n + 1 llevará a resultados exactos. El error por truncamiento de la serie de Taylor es: (17) en donde ξ es un punto cualquiera dentro del intervalo (Xi, Xi+1). Una relación análoga del error en un polinomio interpolante de n-ésimo orden está dado por: (18) En dondeξes un punto cualquiera dentro del intervalo que contiene las incógnitas y los datos. Para uso de esta fórmula la función en cuestión debe ser conocida y diferenciable. Y usualmente, este no es el caso. Afortunadamente existe una fórmula alternativa que no requiere conocimiento previo de la función. En vez de ello, se usa una diferencia dividida finita que aproxima la (n+1)-ésimaderivada: Rn = f [X, Xn, Xn-1,..., X1, X0] (X-X0) (X-X1)...(X-Xn) (19) en donde f(X, Xn, Xn-1, ... , X0) es la (n+1)-ésima diferencia dividida. Ya que la ecuación (19) contiene la incógnita f(X), ésta no se puede resolver y obtener el error. Sin embargo, si se dispone de un dato adicional f(Xn+1), la ecuación (19) da una aproximación del error como: (20) Lección 13 Ajuste de curvas Supongamos que tenemos un conjunto de puntos que mostramos en la siguiente gráfica De los puntos mostrados nos podemos dar cuenta que parece tener la forma de un polinomio de segundo grado de la forma: (1) Esta ecuación (1) puede usarse para representar el conjunto de valores obtenidos experimentalmente para la cual debemos determinar los valores de a 1, a2, a 3, etc. Para determinar estos valores utilizamos el siguiente procedimiento: 1. Establecer el criterio para determinar la ecuación que represente a los valores (obtenidos experimentalmente). 2. Escribir la ecuación que expresa el error o desviación entre el valor observado y los valores dados por la ecuación. 3. Habiendo obtenido la ecuación del error, minimizar dicho error. Evaluación del error Si consideramos las parejas de datos, como se muestra en la gráfica donde: d = distancia = Yobservada - Y obtenida por la ecuación Yobservada = Valor obtenido experimentalmente. Y obtenida por la ecuación = valor de la función evaluada en cualquier valor X Observando la gráfica, parece que esta distancia se puede usar para representar el error, pero habrá distancias positivas y negativas, (como se puede observar la distancia d1 es positiva y la distancia d2 es negativa) de modo que el error promedio para los puntos como los mostrados será pequeño aunque los errores individuales sean grandes. Esta dificultad podría ser resuelta usando el valor absoluto de las distancias, sin embargo al derivar la función del valor absoluto se generan ciertos problemas. La solución podría ser definir el error como el cuadrado de la distancia, esto elimina la dificultad del signo. Por esta razón el método se llama: Método de Mínimos Cuadrados. (2) En donde S es la suma de los cuadrados de las diferencias entre el valor calculado y el valor observado y por lo tanto es el valor que se debe minimizar (3) Siendo el caso de que la curva supuesta es una ecuación de segundo grado, se tiene la ecuación: (4) Para minimizar la función anterior, derivando parcialmente con respecto a a1, a 2 y a 3 e igualando a cero: (5) (Obsérvese que las variables son a 1, a 2 y a 3, mientras que Yi, X constantes) Las ecuaciones se pueden expresar de acuerdo como sigue: i son (6) Lo anterior lo podemos expresar en forma matricial: (7) La fórmula general para un polinomio de grado n en donde hay m parejas de datos es: (8) Como se puede observar el problema consiste en lo siguiente: 1. Obtener la matriz de coeficientes. 2. Resolver el sistema de ecuaciones resultantes. Recordando que: 1. Si n es el grado del polinomio, hay n+1 valores de la matriz de coeficientes y n+1 ecuaciones. 2. El máximo exponente de X en los términos de la sumatoria de 2n puede ser que los datos no representen un polinomio de 2 o grado sino que representen uno de 3o y 4o grados. El ajuste de curvas es un procedimiento de tanteo y error, si una curva no representa los datos, entonces se intenta con un polinomio de grado superior. EJEMPLO: X 0.00 0.10 0.20 0.30 0.40 0.50 Y 0.0000 0.1002 0.2013 0.3045 0.4108 0.5211 X 0.60 0.70 0.80 0.90 1.00 Y 0.6367 0.7586 0.8881 1.0265 1.1752 De la tabla de datos, usando Mínimos Cuadrados, determine los polinomios de 2o, 3o y 4o grado; graficar para determinar la curva más aproximada. SOLUCIÓN Polinomio de segundo grado ../../../Documents and Settings/ESC. AGRARIAS/Escritorio/para clase y cuaciones/metodos para clase/tema4/minim02.html - atrasPrimero determinamos los coeficientes de la matriz y los elementos constantes. Los elementos de la matriz son: M =11 Los términos constantes son: De acuerdo con esto, el sistema de ecuaciones a resolver es el siguiente: Resolviendo por Gauss se obtienen los siguientes resultados. a1 = 0.006727 a2 = 0.895462 a3 = 0.265963 y el polinomio de segundo grado es: Polinomio de tercer grado ../../../Documents and Settings/ESC. AGRARIAS/Escritorio/para clase y cuaciones/metodos para clase/tema4/minim02.html - atras Para el caso del polinomio de 3er grado se requiere: M =11 y el sistema de ecuaciones a resolver es: cuya solución es: a1 = - 0.000112 a2 = 1.004150 a3 = - 0.019075 a4 = 0.190032 y el polinomio queda: Polinomio de cuarto grado ../../../Documents and Settings/ESC. AGRARIAS/Escritorio/para clase y cuaciones/metodos para clase/tema4/minim02.html - atras Repitiendo el procedimiento anterior, se obtienen los siguientes resultados a1 = - 0.000112 a2 = 0.994595 a3 = 0.028713 a4 = 0.113563 a5 = 0.038237 quedando el polinomio como se muestra: Lección 14 Transformadas discretas de fourier. La transformada de Fourier La transformada de Fourier de una función continua e integrable de una variable real x se define por Observemos que la transformada de una función real es una función compleja. Es decir,F(u)=R(u)+I(u), donde R(u) e I(u) son la parte real e imaginaria de F(u), respectivamente. La variable u recibe el nombre de variable de frecuencia. El módulo de F(u), |F(u)|= (R(u)2+ I(u)2)1/2 recibe el nombre del espectro de Fourier. El cuadrado del espectro se denomina espectro de potencias o densidad espectral de f(x). Su ánguloP(u)=arctg(I(u)/R(u)) recibe el nombre de fase. La inversa de la transformada se define como: Análogamente, se define la transformada de Fourier de una función continua e integrable de 2 variables: y su inversa como Transformada de Fourier discreta Sea f(x,y) una imagen en niveles de grises, tal que x=0,1,...,N-1 y=0,1,...,N-1; y e f(x,y) toma valores discretos representando el nivel de gris del píxel (x,y) entonces, la transformada discreta de Fourier de la imagen consiste en una función F(u,v) tal que u=0,1,...,N-1 y v=0,1,...,N-1: y su inversa como Propiedades de la transformada de Fourier En este apartado, nos vamos a centrar en las propiedades de la transformada de Fourier discreta bidimensional (TFD). La Separabilidad Esta propiedad de la TFD esta relacionada con la posibilidad de calcular la TFD de una función bidimensional como una combinación de dos transformadas Fourier discretas, calculando primero una TFD sobre la variable de uno de los ejes y al resultado aplicarle de nuevo la TFD sobre la variable del otro eje. La ventaja que aporta esta propiedad es el hecho de poder obtener la transformada F(x,y) o la inversa f(x,y) en dos pasos, mediante la aplicación de la Transformada de Fourier 1-D o su inversa: donde Por tanto, la transformada de la matriz f(x,y) se ha realizado, calculando primero la transformada unidimensional a cada una de sus filas y multiplicando el resultado por N. Posteriormente, se calcula la transformada a cada una de las columnas de la matriz F(x,v) La linealidad La transformada de Fourier y su inversa son transformaciones lineales, es decir, poseen la propiedad distributiva respecto de la suma. La traslación Tanto la transformada discreta de Fourier como la transformada inversa, son periódicas de periodo N. Un caso particular de esta propiedad consiste en mover el origen de la transformada de Fourier de f(x,y) al centro de la matriz N X N que le corresponda, es decir al punto (N/2,N/2). Para ello, podemos hacer uso de que: f(x,y)(-1)x+y se hace corresponder con F(u-n/2,v-N/2) También cabe resaltar, que un desplazamiento en la función f(x,y), no provocará un cambio en la magnitud de su transformada de Fourier. Véase esto matemáticamente en la siguiente expresión: La Simetría La transformada de Fourier de una función f(x,) es real es simétrica conjugada. Esto provoca que: |F(u,v)|=|F(-u,-v)| Por tanto, gracias a esta propiedad de simetría, para calcular la magnitud de los puntos de un periodo completo, tan sólo necesitamos calcular los N/2+1 primeros puntos, siempre y cuando el origen de la transformada este centrado en el punto (N/2,N/2).Para conseguir este movimiento del origen en la transformada, podemos aplicar la propiedad de traslación. La rotación Si rotamos la función f(x,y) un ángulo determinado, la transformada de Fourier también será afectada por una rotación del mismo ángulo. Esta propiedad también se da a la inversa, es decir, si la transformada se rota en un determinado ángulo, la transformada inversa también se verá rotada ese mismo ángulo. Valor promedio Una definición ampliamente utilizada del valor promedio de una función discreta de dos dimensiones es: Esta expresión se puede calcular a partir de la transformada de Fourier, sin más que sustituir en la función F(u,v) para el punto (0,0).Por tanto, el valorpromedio se puede expresar matemáticamente en función de la transformada de Fourier, como sigue: Representación del logaritmo del espectro El espectro de Fourier suele tener un rango mucho mayor que los usuales para mostrar una imagen. Una técnica usual para evitar esto es considerar el logaritmo del espectro usando la fórmula D(u,v)=C(log(1+|F(u,v)|)) donde C es una constante adecuada de reescalado de la imagen, que se aplica para obtener valores dentro de la paleta de colores disponible.