Investigacion sobre interpolacion

18
REPÚBLICA BOLIVARIANA DE VENEZUELA. MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR. UNIVERSIDAD “FERMIN TORO”. CABUDARE EDO. LARA. Profesora: Domingo Méndez. Materia: Análisis Numérico SAIA-A Estudiante: José Torrealba C.l: 26.261.092 TEORÍA DE INTERPOLACIÓN.

Transcript of Investigacion sobre interpolacion

Page 1: Investigacion sobre interpolacion

REPÚBLICA BOLIVARIANA DE VENEZUELA.MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR.

UNIVERSIDAD “FERMIN TORO”.CABUDARE EDO. LARA.

Profesora: Domingo Méndez.Materia: Análisis Numérico SAIA-A

Estudiante: José Torrealba C.l: 26.261.092

TEORÍA DE INTERPOLACIÓN.

Page 2: Investigacion sobre interpolacion

Cabudare, Diciembre del 2015.

TEORÍA DE INTERPOLACIÓN.

La teoría de la Interpolación permitirá la resolución de problemas cuyo análisis matemático puede ser establecido pero para los cuales la solución analítica no es posible determinar o encierra gran complejidad. Las técnicas interpoladoras permiten mediante cálculos algebraicos determinar el valor de las derivadas e integrales de funciones que no son elementales.

Por otra parte, no es posible desligar el aprendizaje de las técnicas numéricas del manejo de los instrumentos de cálculo automático que permiten su verdadera puesta en práctica en situaciones que no sean deliberadamente simples. La aplicación de los algoritmos numéricos en entornos de cálculo automático es esencial para la perfecta comprensión de la metodología del cálculo numérico. Por esta razón, junto con la realización de ejercicios de naturaleza teórica destinados a la formación conceptual se planteará la resolución de problemas en hojas de cálculo y entornos avanzados de cálculo científico.

Interpolación de Lagrange.

La fórmula clásica de interpolación de Lagrange. En los ejercicios s consideran de dos a cinco puntos, y los grados resultantes van desde grado cero a grado cuatro en el polinomio de interpolación. A lo largo de los ejercicios se puede comprobar que la obtención del polinomio con Lagrange se vuelve una operación más laboriosa a medida que aumenta el número de puntos considerados, aunque los puntos correspondan a un polinomio de pequeño grado. Los ejercicios están ordenados según número de puntos.

Ejemplo:

Obtener el polinomio de interpolación usando la fórmula de interpolación de Lagrange con la siguiente tabla de valores, e

Interpolar en el punto x = 1.

xk -4 -3 2 -6yk -16 -5 -10 -50

Page 3: Investigacion sobre interpolacion

Solución:

Page 4: Investigacion sobre interpolacion

Si en lugar de obtener el polinomio de interpolación se quiere interpolar en un punto, o sea, se quiere calcular el valor del polinomio de interpolación en un punto concreto, basta sustituir la variable "x" de la fórmula por ese valor y realizar las operaciones correspondientes. En nuestro caso, si se quiere interpolar en el punto x=1, usando alguna de las expresiones ya vistas para Lk(x), obtenemos:

Si ya se tuviera el polinomio explícitamente tal como se ha calculado aquí, en potencias de x multiplicadas por sus coeficientes, es preferible utilizar el algoritmo de Ruffini-Horner para evaluar el polinomio en los puntos deseados, ya que entonces el coste es lineal (ver apuntes asignatura). En este caso, para obtener el valor en x = 1 del polinomio de interpolación p(x) = 4−2 x2−3 x colocamos los coeficientes de mayor a menor exponente y operamos de la forma usual:

Obteniendo el mismo resultado que antes, p(1) = −1, con muchas menos operaciones. Sabemos que con Ruffini-Horner a lo sumo son necesarios n productos y n sumas para obtener el valor de un polinomio de grado n. Claro que para llegar a este punto se han

Page 5: Investigacion sobre interpolacion

debido realizar antes todas las operaciones necesarias para obtener el polinomio en potencias de x. ¿cuántas sumas/restas y productos/divisiones son necesarias para obtener el polinomio final?

Interpolación de Newton en diferencias divididas

Fórmula fundamental de Newton, más eficiente que la de Lagrange. El número de puntos considerados oscila entre dos y seis, y grados del polinomio entre uno y cinco. Si bien con Lagrange es importante el número de puntos con los que se trabaja, con Newton ya lo es menos, porque p.e., si los datos proceden de un polinomio que tiene grado tres, el hecho queda claro en los cálculos, ya que la tercera columna de la tabla de diferencias divididas será constante, con todos sus elementos iguales, y por tanto, las columnas que siguen son todas nulas. La última columna no nula decide por tanto el grado del polinomio de interpolación. El coste en número de operaciones a realizar es bastante menor que con Lagrange y el polinomio que se obtiene es más sencillo de evaluar y manejar. Los ejercicios están ordenados según número de puntos.

Ejemplo:

Obtener el polinomio de interpolación usando la fórmula de interpolación de Newton en diferencias divididas con los datos de la tabla que aparece a continuación, e interpolar en el punto.

xk 6 -2 -4yk 48 0 8

Solución: Sabemos que si tenemos los n+1 puntos (xi,yi), i=0... n, y queremos calcular el polinomio que interpola en dichos puntos utilizando la fórmula de interpolación de Newton en diferencias divididas, hemos de usar:

O también:

pn(x)= f[x0] + f[x0,x1](x−x0)+ f[x0,x1,x2](x−x0)(x−x1)+…+f[x0,x1, …,xn](x−x0)(x−x1)...(x−xn−1) en las que aparecen las diferencias divididas f[x0,...,xi], obtenidas a partir de los valores proporcionados por la tabla inicial. Calculamos entonces la tabla de diferencias divididas:

Page 6: Investigacion sobre interpolacion

Donde se ha expresado por brevedad la diferencia dividida f[xk,xk+1,...,xk+p] como f[xk || xk+p].La diagonal de la tabla de diferencias divididas, en color rojo, es entonces: [48,6,1], que se corresponde exactamente con el conjunto de valores que aparece en la fórmula y por tanto, los polinomios de Newton son los siguientes:

p0(x) = 48 (interpola en el primer punto)

p1(x) = 6 (x-6) + p0(x) = 6 x+12 (interpola en los 2 primeros puntos)

p2(x) = ( x−6 ) ( x+2 ) + p1(x) = x2+2 x (interpola en todos los puntos)

O también:

p(x) = 48 +6 (x−6) +1( x−6 ) ( x+2 ) = x2+2 x

La gráfica del polinomio de interpolación:

p(x) = x2+2 x

y de los puntos (xi,yi), i=0...2 es la que viene a continuación.

Page 7: Investigacion sobre interpolacion

Si se quiere interpolar en un punto concreto, lo mejor es tomar el polinomio de interpolación en su forma de Newton y reordenarlo al estilo Ruffini-Horner expresando el polinomio como:

p(x) = 48+(x−6) (6+(x+2) (1))

lo que supone realizar a lo sumo 4 sumas/restas y 2 multiplicaciones para interpolar en un punto x. Para interpolar entonces en x = −1, basta sustituir la x de la expresión reordenada anterior por su valor −1 para obtener p(−1) = −1.

Si se tuviera el polinomio en su forma normal, como combinación lineal de {1,x,x2,...,xn}, deberíamos usar el algoritmo clásico de Ruffini-Horner, ya que supondría 2 sumas y 2 multiplicaciones, como se ve a continuación. En este caso, para obtener el valor en x = −1 del polinomio de interpolación p(x) = x2+2 x colocamos los coeficientes de mayor a menor exponente y operamos de la forma usual:

O bien

p(−1) = (1 . (−1) +2) . (−1) +0 = −1

Obteniendo el mismo resultado que antes, p(−1) = −1, con el mismo número de multiplicaciones y la mitad de sumas/restas.

Interpolación de Newton en diferencias finitas

Uso de las fórmulas de interpolación de Newton en diferencias progresivas y regresivas, cuando los datos están tabulados de forma que la diferencia entre dos valores consecutivos del vector de abscisas es constante, o sea, sus valores son equidistantes. La fórmula en diferencias progresivas se usa para interpolar en valores próximos al punto inicial (x0), mientras que la fórmula en difrencias regresivas es conveniente cuando se quiere interpolar en valores próximos al último de los que aparecen en la tabla (xn). Igual que con la fórmula de Newton en diferencias divididas, la última columna no nula decide el grado del polinomio de interpolación. Cada ejercicio se realiza con ambas fórmulas, progresiva y regresiva, utilizando todos los puntos dados. Y se interpola en un punto concreto, utilizando una de las fórmulas, según corresponda. Los ejercicios están ordenados según número de puntos.

Ejemplo:

Page 8: Investigacion sobre interpolacion

Obtener el polinomio de interpolación usando la fórmula de Newton en diferencias progresivas/regresivas y utilizando la tabla de valores que sigue. Interpolar en el punto x = 1/5.

xk -1 -1/5 3/5yk 10 202/25 218/25

Solución: Sabemos que si tenemos los n+1 puntos (xi,yi), i=0... n, en los cuales las abscisas son equidistantes (es h=4/5), y queremos calcular el polinomio que interpola en dichos puntos utilizando la fórmula de interpolación de Newton en diferencias finitas, hemos de usar:

En las que aparecen las diferencias progresivas ∆k y0, obtenidas a partir de los valores en los puntos proporcionados por la tabla. Esta fórmula se usa cuando el punto en el que se quiere interpolar está próximo al punto inicial x0 (recuérdese que x0 < x1 < ...<xn si h > 0 y al contrario si h < 0). Cuando se quiere interpolar cerca de xn se usa la fórmula en diferencias regresivas:

Primero calculamos la tabla de diferencias progresivas/regresivas/finitas:

La diagonal de la tabla de diferencias finitas está en color rojo, y sus valores representan las diferencias progresivas en y0. En color azul, última línea horizontal, están las diferencias regresivas en yn.

Page 9: Investigacion sobre interpolacion

Formula Progresiva.

La diagonal es entonces: [10,−48/25,64/25], que se corresponde exactamente con el conjunto de valores que aparece en la fórmula en diferencias finitas progresivas de y0 y por tanto, los polinomios de Newton son los siguientes:

p0(s) = 10 (interpola en el primer punto)

p1(s) = -48/25 s + p0(s) = −48/25 s+10 (interpola en los 2 primeros puntos)

p2(s) = 32/25 s ( s−1 ) + p1(s) = 32/25 s2−16/5 s+10 (interpola en todos los puntos)

O también,

En función de s=[(x−x0)/h] = 5/4 x+5/4. Si lo queremos en función de x, deshaciendo el cambio, tenemos:

p(x) = 32/25 ( 5/4 x+5/4 ) 2−4 x+6 = 8+2 x2

Formula Regresiva:

De forma análoga, la última línea horizontal de la tabla de diferencias finitas es [[218/25],16/25,64/25], y sus valores se corresponden con las diferencias regresivas en yn, que son los valores que aparecen en la fórmula en diferencias regresivas. En este caso, los polinomios de Newton son los siguientes:

p0(u) = 218/25 (interpola en el último punto)

p1(u) = 16/25 u + p0(u) = 16/25 u+[218/25] (interpola en los 2 últimos puntos)

p2(u) = 32/25 u ( u+1 ) + p1(u) = 32/25 u2+48/25 u+[218/25] (interpola en todos los puntos)

O también,

p(u) = [218/25] +16/25[u/1!] +64/25[(u ( u+1 ) )/2!] = 32/25 u2+48/25 u+[218/25]

En función de u=[(x−xn)/h] = 5/4 x−3/4. Si lo queremos en función de x, deshaciendo el cambio, tenemos:

p(x) = 32/25 ( 5/4 x−3/4 ) 2+12/5 x+182/25 = 8+2 x2

Los polinomios obtenidos por la fórmula progresiva y la regresiva son idénticos, ya que se ha considerado la totalidad de los puntos de la tabla en ambos casos. Y lógicamente, también coincide con el polinomio que se obtendría si se utilizase la fórmula de Newton

Page 10: Investigacion sobre interpolacion

en diferencias divididas o Lagrange con esta tabla de datos. La gráfica de p(x) y de los puntos (xi,yi), i=0...2 es la que viene a continuación.

Interpolación.

Se trata de interpolar en el punto x = 1/5, que está próximo al último valor de la tabla, por lo que utilizaremos la fórmula regresiva de Newton. Para x = 1/5 es u = (x-xn)/h = -1/2 y sustituyendo este valor en alguna de las expresiones obtenidas para la fórmula regresiva (todas las fórmulas obtenidas permiten una reformulación tipo Ruffini-Horner, de forma que se puede minimizar el número de operaciones aritméticas a realizar) obtenemos.

p(−1/2) = 202/25

Si se quiere interpolar en puntos no cercanos a uno de los extremos de la tabla, p.e., en un valor cercano a uno de los del centro de la tabla, podemos tomar una subtabla (eliminando algunos elementos del comienzo o del final) de forma que uno de sus valores extremos sea próximo al punto donde se quiere interpolar. Si se quieren utilizar todos los valores de la tabla, hay que recurrir a una fórmula de interpolación en diferencias centrales como Stirling, Bessel o Gauss.

Error en la interpolación polinómica

Page 11: Investigacion sobre interpolacion

Los ejercicios consideran una determinada función que se quiere aproximar en un cierto intervalo por interpolación polinómica. Para ello se toman un cierto número de puntos en dicho intervalo y se utiliza la fórmula para estimar el error que se comete cuando se utilizan esos puntos para aproximar esa función. La elección de los puntos puede ser de forma aleatoria, equidistantes en el intervalo, o según Tchebychev. Se consideran entre tres y cinco puntos. Existe salida gráfica de la propia función, del polinomio de interpolación, puntos de interpolación en el intervalo considerado y punto donde se interpola. Para obtener la estimación, en primer lugar se considera un punto fijo del intervalo, diferente a los de interpolación. A continuación, se deja variable en el intervalo el punto donde se interpola y se procede a acotar el error. Los ejercicios están ordenados según número de puntos.

Ejemplo:

Se quiere aproximar la función f(x) = cos( 2 x ) en el intervalo [1,2] utilizando interpolación polinómica con 3 puntos dados por el vector x=[1.3, 1.2, 1.9]. ¿Cuál es el error máximo teórico que se cometería en el punto 1.5?

xk 1.30000000 1.20000000 1.90000000

yk -.85688875 -.73739372 -.79096771

Sabemos que la fórmula que nos da una estimación conservadora del error de interpolación viene dada por:

en la que se han considerado los n+1 puntos (xk,yk), k=0,...,n. En nuestro caso son 3 puntos, por lo que necesitamos calcular la derivada tercera de la función f(x)=cos( 2 x ) . Tenemos:

f (1)(x) = −2 sin( 2 x ) ⇒ f(2)(x) = −4 cos( 2 x ) ⇒ f(3)(x) = 8 sin( 2 x )

Esta última derivada tercera, considerada en valor absoluto, tiene su valor máximo en el intervalo [1,2] en 8 sin( 2 ) (comprobar). Por tanto, la cota de error viene dada por:

El error real es la diferencia entre el valor de la función en el punto dado,o sea, f(1.5), y el valor que nos proporciona el polinomio de interpolación, evaluado en el punto, o sea,

Page 12: Investigacion sobre interpolacion

p(1.5). Con la tabla de valores del comienzo, podemos obtener el polinomio de interpolación y su valor en x=1.5. Como solo necesitamos conocer el valor p(1.5)

podemos hacerlo por la fórmula de Newton en diferencias divididas y evaluar directamente para obtener que p(1.5) = −0.98403721. Si lo calculamos explícitamente, el polinomio resulta ser:

p(x) = 1.864026714 x2−5.855017085 x+3.604428314

El error real es por tanto:

Error real = |f(1.5) − p(1.5)| = |−0.9899925+0.98403721| = 0.00595529

A continuación aparecen las gráficas de la función f(x)=cos( 2 x ) (verde), del polinomio de interpolación p(x) (azul) y de los puntos de interpolación (xi,yi), i=0...2 (rojo). También aparecen el punto donde se calcula el error y el segmento que representa el error real que se comete al interpolar, con un punteado en rojo, si la gráfica total lo permite.

Una cuestión más interesante es saber la cota del error en la totalidad del intervalo, independientemente de cuál sea el punto x en dicho intervalo, y considerando estos mismos puntos de interpolación. Para ello debemos encontrar una cota del producto

Page 13: Investigacion sobre interpolacion

∏i=0n (x−xi) = | ( x−1.3 ) ( x−1.2 ) ( x−1.9 ) | en el intervalo [1,2]. En la gráfica que sigue, se ha dibujado el producto ∏(x−xi) en color azul, y con trazo rojo, las correspondientes partes positivas de la gráfica anterior que son negativas, ya que el producto ha de ser considerado en valor absoluto, y por tanto, la gráfica a tener en cuenta queda en la región no negativa y > =0. Como se observa, el valor máximo se presenta en el punto 2. donde la función ∏(x−xi) vale 0.056 (comprobar)

Por tanto, la cota del error en todo el intervalo viene dada por:

= 0.07466666666 sin( 2 ) = 0.06789420786

Interpolación por splines cúbicos

Se considera una función arbitraria para ser aproximada en un cierto intervalo por splines cúbicos, considerando un conjunto de puntos en dicho intervalo, entre tres y cinco puntos. También se pide el valor por interpolación en un punto interior del intervalo. Se

Page 14: Investigacion sobre interpolacion

construye analíticamente la función polinómica a trozos que representa el spline mediante un procedimiento con cuatro pasos. Sobre la gráfica de la función en la totalidad del intervalo en estudio, se dibujan los puntos de interpolación y los polinomios correspondientes en cada subintervalo. Se indican asimismo el punto donde se interpola y la diferencia con el valor de la función, analíticamente siempre, y gráficamente cuando sea posible. El número de puntos determina el orden del sistema lineal a resolver, con un valor máximo de 3. Los ejercicios están ordenados según número de puntos.

Técnica de los mínimos cuadrados discreta

Se tiene una determinada función expresada como combinación lineal de otras funciones más elementales. Estas funciones básicas aparecen multiplicadas por unos ciertos coeficientes por determinar. Se dispone de un conjunto de puntos u observaciones sobre el comportamiento de la función inicial, eventualmente asociados a unos ciertos pesos, estrictamente positivos. En ocasiones, todos los pesos son la unidad. Se obtienen los coeficientes de la combinación lineal utilizando la técnica de mínimos cuadrados discreta, ajustando los puntos y pesos considerados. El número de funciones básicas está limitado a dos o tres funciones. El número de puntos y pesos oscila entre cuatro y seis. El ejercicio también pide una estimación del valor de la función ajustada en un determinado punto. Se calcula asimismo el error mínimo cuadrático con el conjunto de puntos dados.

Interpolación racional. Algoritmo de Thiele

Obtención de la función racional que interpola en el conjunto de puntos dado. Para mantener los cálculos a realizar en unos límites razonables, se ha considerado que los grados de los polinomios numerador y denominador no excedan de 3. El número de puntos considerados para interpolación está entre tres y ocho. Una vez obtenida la tabla de diferencias inversas, se obtienen las diferentes funciones racionales que interpolan en los primeros puntos, hasta considerar la totalidad de los mismos. El orden de complejidad de los ejercicios es progresivo, considerando primero los más sencillos, para luego ir aumentando en número de puntos y grados de los polinomios, hasta el máximo de 3 indicado. Las ecuaciones en fracciones continuas aparecen con los primeros sumandos desplazados hacia abajo.