Método de Interpolación de Las Diferencias Divididas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 19

CAPÍTULO 4.

MÉTODO DE INTERPOLACIÓN POR DIFERENCIAS DIVIDAS


Ya habiendo sentado las bases de la interpolación de Lagrange, surge una inquietud que
implica el hecho de incluir puntos adicionales después de haber realizado un primer cálculo para
la función; el polinomio interpolador de Lagrange imposibilita su cálculo sin desarrollar todos
los cálculos.
En estos casos es más conveniente hacer uso del polinomio interpolador de Newton,
también conocido como la interpolación por diferencias divididas. Además que no es
imprescindible que los datos tengan algún orden en específico y tampoco suponer que sean
equidistantes los valores de x.
Para un polinomio general de grado n, este se representa como:

f ( x)  a0  a1 x  a2 x 2  a3 x 3  .....  an x n ……(1.4.a)

Figura 4.1. Función interpoladora

4.1. INTERPOLACIÓN LINEAL


Es sabido en la geometría analítica que para construir una función lineal, basta con
conocer 2 puntos que pertenezcan a dicha función y unirlos con una línea recta, de esta manera
es posible establecer un polinomio de primer grado, aplicando la semejanza de triángulos.
Teniendo la forma de:

f ( x)  a0  a1 x

f  x1   f  x0 
f ( x)  f ( x0 ) 
x1  x0 ……(1.4.b)
Si bien este procedimiento es muy sencillo; éste proporciona una aproximación con un
error de gran amplitud, por lo tanto, mientras más puntos son utilizados para edificar el
polinomio su aproximación a la función a la que corresponde será más certera.
Figura 4.2. Función lineal interpolada f ( x )  ln( x )

4.2. INTERPOLACIÓN CUADRÁTICA


De manera consecuente, una forma para mejorar la estimación consiste en curvear a la
línea que une ambos puntos, así este sea demasiado pequeño. Si se tienen tres puntos como
datos, éstos pueden acomodarse en un polinomio de segundo grado, también conocido como
polinomio cuadrático. Una forma particularmente conveniente para ello es

f 2  x   b0  b1 ( x  x0 )  b2  x  x0  ( x  x1 )
…….(1.4.c)
Observe que aunque la ecuación parece diferir del polinomio general las dos ecuaciones son
equivalentes. Lo anterior se demuestra al multiplicar los términos de la ecuación:

f 2  x   b0  b1 x  b1 x0  b2 x 2  b2 x0 x1  b2 xx0  b2 xx1
Agrupando términos

f 2  x   a0  a1 x  a2 x 2
Donde:

a0  b0  b1  b2 x0 x1

a1  b1  b2 x0  b2 x1

a1  b2
Así, las ecuaciones son formas alternativas, equivalentes del único polinomio de segundo grado
que une los tres puntos. Un procedimiento simple puede usarse para determinar los valores de los
coeficientes. Para encontrar b , en la ecuación se evalúa con x  x0 para obtener
0
b0  f  x0 

La ecuación (1.4.a) se sustituye en la (1.4.c), después se evalúa en para tener


x  x1

f  x1   f  x0 
b1 
x1  x0

Por último, las ecuaciones) se sustituyen y después se evalúa en


x  x2 y (luego de algunas
manipulaciones algebraicas) se resuelve para

f1  x2   f  x1  f  x1   f  x0 

x2  x1 x1  x0
b2 
x2  x0

b
Observe que, como en el caso de la interpolación lineal, 1 todavía representa la pendiente de la
x
línea que une los puntos 0 y x1 . Así, los primeros dos términos de la ecuación anterior son
x
equivalentes a la interpolación lineal de 0 a x1 , como se especificó antes en la ecuación. El
b2 ( x  x0 )  x  x1 
último término, determina la curvatura de segundo grado en la fórmula.
Se puede observar que al momento de formar el coeficiente este ve muy similar a la
aproximación en diferencias divididas finitas de la segunda derivada, que se presentó antes en la
ecuación. Así, la ecuación comienza a manifestar una composición semejante a la expansión de
la serie de Taylor. Este hecho es determinante cuando se estudie la relación entre la serie de
Taylor y la interpolación de Newton.

4.3. INTERPOLACIÓN DE GRADO N


De manera análoga también es factible construir un polinomio interpolador de grado n-1,
que se asemeje a la función que es de prioridad hallar. El método de las diferencias dividas
relación los datos disponibles para determinar los coeficientes de una función cualquiera de
grado de n

f ( x)  a0  a1 x  a2 x  a3 x  ......  an x

FORMULACIÓN GENERAL DEL POLINOMIO INTERPOLADOR DE NEWTON


Analizando las 2 interpolaciones realizadas anteriormente, se puede englobar una fórmula
general dada así:
f ( x)  a0  a1  x  x0   a2  x  x0   x  x1   an  x  x0   x  x1  ......  x  xn1 

Los coeficientes de cada término son hallados por las diferencias dividas finitas que se generaliza
de la siguiente manera:

f  xi   f  x j 
f  xi , x j  
xi  x j

a0  f  x0 
a1  f  x0 , x1 
a2  f  x0 , x1 , x2 
an  f  x0 , x1 , x2 ,..., xn 
Por lo tanto:

Como se puede notar, los coeficientes se encuentran en función de los puntos por donde pasa el
polinomio.
Desarrollado las primeras diferencias dividas a manera de ejemplificar su desarrollo se obtiene:

f  x j   f  xi 
f  xi , x j  
x j  xi
Primera diferencia dividida finita

f  xi , x j   f  x j xk 
f  xi , x j , xk  
Segunda diferencia dividida finita
xk  xi

i xi f ( xi ) Primero Segundo Tercero


0 x0 f ( x0 ) f ( xi , x0 ) f ( x2 , x1 , x0 ) f ( x3 , x2 , x1 , x0 )
1 x1 f ( x1 ) f ( x2 , x1 ) f ( x3 , x2 , x1 )
2 x2 f ( x2 ) f ( x3 , x2 )
3 x3 f ( x3 )
Y los valores de
xi serán los datos que pertenecerán al polinomio que se tenía inicialmente.

4.4. PSEUDOCÓDIGO
A continuación se presentará el pseudocódigo que puede ser usado como base para poder
diseñar un programa que aplique la interpolación por diferencias divididas.

SUBROUTINE NewtInt (x, y, n, xi, yint, ea)


LOCAL fddn,n
DOFOR i = 0, n
fddi,0 = yi
END DO
DOFOR j = 1, n
DOFOR i = 0, n – j
fddi,j = (fddi+1,j–1 – fddi,j–1)/(xi+j – xi)
END DO
END DO
xterm = 1
yint0 = fdd0,0
DOFOR order = 1, n
xterm = xterm * (xi – xorder–1)
yint2 = yintorder–1 + fdd0,order * xterm
Eaorder–1 = yint2 – yintorder–1
yintorder = yint2
END order
END NewtInt
4.5. ERRORES EN LA INTERPOLACIÓN POLINOMIAL DE NEWTON

Observe que la estructura de la ecuación (18.15) es similar a la expansión de la serie de


Taylor en el sentido de que se van agregando términos en forma secuencial, para mostrar el
comportamiento de orden superior de la función. Estos términos son diferencias divididas finitas
y, así, representan aproximaciones de las derivadas de orden superior. En consecuencia, como
ocurrió con la serie de Taylor, si la función verdadera es un polinomio de n-ésimo grado,
entonces el polinomio de interpolación de n-ésimo grado basado en n + 1 puntos dará resultados
exactos.
También, como en el caso de la serie de Taylor, es posible obtener una formulación para el error
de truncamiento. De la ecuación (4.6) recuerde que el error de truncamiento en la serie de Taylor
se expresa en forma general como

f  n 1   
 xi 1  xi 
n 1
Rn 
 n  1 !
donde x está en alguna parte del intervalo de xi a xi+1. Para un polinomio de interpolación de
n-ésimo grado, una expresión análoga para el error es

f  n 1   
Rn   x  x0   x  x1   x  x2  ...  x  xn 
 n  1 !
donde x está en alguna parte del intervalo que contiene la incógnita y los datos. Para que esta
fórmula sea útil, la función en turno debe ser conocida y diferenciable. Por lo común éste no es el
caso. Por fortuna, hay una formulación alternativa que no requiere del conocimiento previo de la
función. Utilizándose una diferencia dividida finita para aproximar la (n + 1)-ésima derivada,

Rn  f [ x, xn , xn 1 ,..., x0 ]  x  x0   x  x1   x  x2  ...  x  xn 

donde ƒ[x, xn, xn–1,. . . , x0] es la (n + 1)-ésima diferencia dividida finita. Debido a que la
ecuación (18.17) contiene la incógnita f(x), no permite obtener el error. Sin embargo, si se tiene
un dato más, f(xn+1), la ecuación (18.17) puede usarse para estimar el error como sigue:

Rn  f [ xn 1 , xn , xn 1 ,..., x0 ]  x  x0   x  x1   x  x2  ...  x  xn 
1.4.5. DIAGRAMA DE FLUJO
A continuación se presentará un diagrama de flujo que mostrará todas las variables,
procedimientos, condiciones y resultados que serán usados en nuestro código en Matlab.
1.4.6. EJEMPLOS ILUSTRATIVOS
Ejemplo 1(Calculo, Ciencias ambientales disponible en
http://campus.usal.es/~mpg/Personales/PersonalMAGL/Docencia/TeoriaTema8CalculoCA11-
12.pdf): Se han realizado medidas en un laboratorio de la viscosidad del agua a
diferentes temperaturas (y a una presión fija), obteniéndose la siguiente tabla
de resultados (donde T está expresada en grados centígrados(°C), y la viscosidad
Ns
2
m en m 10−3 ).

i T(°C) m
0 0 1.792
1 10 1.308
2 30 0.801
3 50 0.549
4 70 0.406
5 90 0.317

 Calcular un polinomio de interpolación de Newton que


pase por los puntos: 1, 2, 3, 4, 5.
 Determinar la viscosidad para las temperaturas: T = 7◦C y T = 35◦C
Primero se construirá la tabla de diferencias dividas para poder obtener los coeficientes de
nuestros polinomio interpolador.

1.308  1.792
f ( x1 , x0 )   0.0484
10  0

0.801  1.308
f ( x2 , x1 )   0.02535
30  10

0.549  0.801
f ( x3 , x2 )   0.0126
50  30

0.406  0.549
f ( x4 , x3 )   0.00715
70  50

0.317  0.406
f ( x5 , x4 )   0.004450
90  70

xi f ( xi ) 1°Orden 2°Orden 3°Orden 4°Orden 5°Orden

0 1.792 -0.0484 7.683 10−4 −8.992 10−6 8.500 10−8 −6.811


10−10
10 1.308 −0.02535 3.1875 −3.0416 2.370 10−8
−4 −6
10 10
30 0.801 −0.0126 1.362 10−4 −1.146 10−6

50 0.549 −0.00715 6.75 10−5

70 0.406 −0.00445

90 0.317

A continuación se asignará los valores correspondientes a los coeficientes para


formar el polinomio de grado 3.

f ( x )  1.792  0.0484 * ( x  0)  7.683*10 4 * ( x  0)( x  10)  8.992 *104 * ( x  0)( x  10)( x  30)
8.5 *108  x  0  ( x  10)( x  30)  x  50   6.811*1010  x  0  ( x  10)( x  30)  x  50   x  70 
f (7)  1.42991
Por lo tanto el valor de 7°C y 35°C respectivamente son: f (35)  0.72368
Utilizando el código desarrollado para resolver una interpolación por diferencias
divididas, tenemos.
(27264670340079052305 x 2 )/18889465931478580854784 -...+ 224/125

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0 10 20 30 40 50 60 70 80 90
x

Ejemplo 2(Ejercicio recopilado del cuaderno de apuntes del alumno César Augusto Castillo
Roque).: En la siguiente tabla se registran las temperaturas a las 7am en la ciudad de Arequipa
durante el mes de Julio desde el primer al treintavo día. Se pide determinar la temperatura el día
15 del mes. Utilizar el Método de Diferencias Divididas.
x 1 3 7 20
T(x) -5 -2 8 14
Solución
Usamos el Método de Diferencias Divididas
1 3 7 20
A1= -5 -2 8 14

−2−(−5) 3 8−(−2) 5 14−8 6


A 2= = = =
3−1 2 7−3 2 20−7 13

5 3 6 5
− −
2 2 1 13 2 −53
A 3= = =
7−1 6 20−3 442

−53 1

442 6 −10
A 4= =
20−1 663
Encontramos el Polinomio
3 1 10
T ( x )=−5+ ( x−1 )+ ( x−1 ) ( x −3 )− ( x−1)(x −3)( x−7)
2 6 663
Siendo x=15
3 1 10
T ( x )=−5+ ∗14 + ∗14∗12− ∗14∗12∗8
2 6 663
T ( x )=23.73 ºC
Utilizando el código desarrollado para resolver una interpolación por diferencias
divididas, tenemos.
(485 x)/1326 + (147 x 2 )/442 - (10 x 3 )/663 - 1256/221
25

20

15

10

-5

2 4 6 8 10 12 14 16 18 20
x
NOTA: Podemos corroborar que el resultado obtenido analíticamente y usando el guide diseñado
es aproximadamente el mismo.
EJERCICIOS PROPUESTOS DE INTERPOLACIÓN POR DIFERENCIAS DIVIDIDAS
Ejercicio 1 (CHAPRA 5° EDICIÓN, MC GRAW HILL PAG.537): Ajuste un polinomio de
interpolación de Newton de segundo orden para estimar el log 10, con los datos del problema
18.1 en x = 8, 9 y 11. Calcule el error relativo porcentual verdadero.

xi f ( xi )
8 0.9030900
9 0.9542425
11 1.0413927

SOLUCIÓN:

Primero se realizará el cálculo analítico de los coeficientes del polinomio de Newton.


0.9542425  0.9039
f ( x1 , x0 )   0.0511525
9 8
1.0413927  0.9542425
f ( x2 , x1 )   0.0435751
11  9
0.0435751  0.0511525
f ( x2 , x1 , x0 )   0.0025258
11  8

Ordenando los coeficientes, se forma el polinomio de segundo grado

f 2  x   0.90309  0.0511525 *  x  8   0.0025258 *  x  8  *  x  9 


f 2  10   0.90309  0.0511525 *  10  8   0.0025258 *  10  8  *  10  9 
f 2  10   1.00034341

Y su error porcentual obtenido es:

Rn  0.0025258 *  10  8  *  10  9  *  10  11 *100%


Rn  0.5066%

Ahora haciendo uso del guide programado en Matlab:


NOTA: Los valores obtenidos con el guide y de forma análitica coinciden debidamente con los
resultados de su solucionario

Ejercicio 2(CHAPRA 5° EDICIÓN, MC GRAW HILL PAG.537): Dados los datos


a) Calcule f(2.8) con el uso de polinomios de interpolación de Newton. Elija la secuencia de
puntos más apropiada para alcanzar la mayor exactitud posible para sus estimaciones.
b) Utilice la ecuación para estimar el error de cada predicción.

xi f ( xi )
1.6 2
2 8
2.5 14
3.2 15
4 8
4.5 2

SOLUCIÓN:
12  15 10
82 f ( x2 , x1 , x0 )  
f ( x1 , x0 )   15 2.5  1.6 3
2  1.6
10
14  8  12
f ( x2 , x1 )   12 185
2.5  2 f ( x3 , x2 , x1 )  7 
3.2  2 21
15  14 10 35 10
f ( x3 , x2 )    
3.2  2.5 7 95
8  15 35 f ( x4 , x3 , x2 )  4 7  
f ( x4 , x3 )   4  2.5 14
4  3.2 4 35
12 
28 4  5
f ( x5 , x4 )   12 f ( x5 , x4 , x3 ) 
4.5  4 4.5  3.2 2
185 10
 
575
f ( x3, x2 , x1 , x0 )  21 3  
3.2  1.6 168
95 185 85 575
  
14 21 85 84 168  1.847718
f ( x4 , x3 , x2 , x1 )   f ( x4 , x3 , x2 , x1 , x0 ) 
42 84 4  1.6
5 95 15 85
  
2 14 15 7 84  23
f ( x5 , x4 , x3 , x2 )   f ( x5 , x4 , x3 , x2 , x1 ) 
4.5  2.5 7 4.5  2 21
23
 1.847718
f ( x5 , x4 , x3 , x2 , x1 , x0 )  21  0.259476
4.5  1.6

Entonces el polinomio interpolador de grado 5 obtenido es:

f5  x   2  15 *  x  1.6   3.3333*  x  1.6  *  x  2   3.4226 *  x  1.6  *  x  2  *  x  2.5 


1.8477 *  x  1.6  *  x  2  *  x  2.5  *  x  3.2   0.48115 *  x  1.6  *  x  2  *  x  2.5  *  x  3.2  *  x  4 
Reemplazando el valor de 2.8 en el polinomio obtenemos que su velocidad en ese instante es de:

f5  2.8   15.5354218

Ahora calculando su error

Rn  0.259476 *  2.8  1.6  *  2.8  2  *  2.8  2.5  *  2.8  3.2  *  2.8  4  *  2.8  4.5 
Rn  0.0609789

Ahora haciendo uso del guide programado en Matlab:


1.4.6. REFERENCIAS BIBLIOGRÁFICAS
 SÁNCHEZ J., SOUTO A., (2005).Problemas de Cálculo numéricos para ingenieros
con aplicaciones en Matlab. Editorial:  McGraw-Hill, 1° Edición.
 DÍAZ L., MESTAS R., HANCCO R., (2015).Métodos Numéricos con Matlab.
 CHAPRA S., CANALE R., (2011).Métodos Numéricos para Ingenieros. Editorial:
McGraw-Hill, 6° Edición.
 MEDINA, Brenda .30 de Agosto del 2014 [en línea]. www.wordpress.com, Recuperado
de: https://brendamedina93.wordpress.com/2014/04/30/interpolacion-de-newton/.
 MEDINA, Brenda .04 de Mayo del 2014 [en línea]. www.youtube.com, Recuperado de
https://www.youtube.com/watch?v=yv4Cyc8P4ww

También podría gustarte