Está en la página 1de 19

ULPGC

lisis Nume rico Tutorial de Ana Interpolaci on : F ormula de Newton en diferencias divididas
Jes us Garc a Quesada
Departamento de Inform atica y Sistemas Universidad de Las Palmas de Gran Canaria 35017 Campus de Tara, Espa na Email : jgarcia@dis.ulpgc.es

tica Informa
P agina Web P agina de Inicio Contenido

2 de Octubre de 2000, v0.3


P agina 1 de 19 Volver Pantalla completa Cerrar Salir

ULPGC

Indice General
1 FORMULA DE NEWTON EN DIFERENCIAS DIVIDIDAS 2 PROBLEMAS Soluciones a los Problemas 3 tica Informa 10 13
P agina Web P agina de Inicio Contenido

P agina 2 de 19 Volver Pantalla completa Cerrar Salir

ULPGC

1. FORMULA DE NEWTON EN DIFERENCIAS DIVIDIDAS


Sea pk (x) el polinomio de interpolaci on en los puntos x0 , x1 , . . . , xk (grado m aximo = k ). Considerando pk (x), pk1 (x) y su diferencia : qk (x) = pk (x) pk1 (x) vemos que para los puntos x0 , x1 , . . . , xk1 tenemos que : pk1 (xi ) = yi = pk (xi ), 0 i k1 tica Informa
P agina Web P agina de Inicio Contenido

y tambi en que para el siguiente punto xk tenemos que pk (xk ) = yk , sin conocerse el valor a priori que pueda tener pk1 (xk ). Por tanto, el polinomio qk (x) verica : qk (xi ) = pk (xi ) pk1 (xi ) = yi yi = 0, 0 i k1
P agina 3 de 19 Volver Pantalla completa Cerrar Salir

Ahora bien, qk (x) es un polinomio de grado m aximo k ya que es la resta de dos polinomios, pk (x) de grado k y pk1 (x) de grado k 1 y seg un se acaba de ver se anula en los k puntos anteriores tiene con lo cual se puede expresar de la siguiente forma :
k 1

qk (x) = ak (x x0 )(x x1 ) (x xk1 ) = ak


i=0

(x xi )

Por otra parte, en el punto xk se cumple :

ULPGC

qk (xk ) = pk (xk ) pk1 (xk ) = ak (xk x0 )(xk x1 ) (xk xk1 ) y despejando entonces ak de esta u ltima identidad tenemos : ak = yk pk1 (xk ) (x x0 )(x x1 ) (x xk1 ) tica Informa
P agina Web P agina de Inicio Contenido

con lo cual podemos poner : pk (x) = pk1 (x) + qk (x) donde lo que parece complicado es calcular el ak , que ser a el coeciente de xk en el polinomio pk (x) pero para esto se puede utilizar las diferencias divididas: Denici on 1. Dada la funci on f de la cual se conoce su valor en los puntos x0 , x1 , . . . , xk , se llama diferencia dividida de f en los puntos x0 , x1 , . . . , xk al valor ak = f [x0 , x1 , , xk ] y se calcula recursivamente como sigue : f [xi ] = f (xi ) = yi f [xi+1 ] f [xi ] f [xi , xi+1 ] = xi+1 xi f [xi+1 , xi+2 , , xi+k ] f [xi , xi+1 , , xi+k1 ] f [xi , xi+1 , , xi+k ] = xi+k xi

P agina 4 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Lema 1.1. f [xi , xi+1 , , xi+k ] = f [xi+1 , xi+2 , , xi+k ] f [xi , xi+1 , , xi+k1 ] xi+k xi tica Informa
P agina Web P agina de Inicio Contenido

Demostraci on. Sea pj (x) el polinomio de grado j que coincide con f (x) en los puntos xi , xi+1 , . . . , xi+j y sea qk1 (x) el polinomio de grado k 1 que coincide con f (x) en los puntos xi+1 , xi+2 , . . . , xi+k . Entonces : p(x) = es un polinomio de grado x xi xi+k x qk1 (x) + pk1 (x) xi+k xi xi+k xi k que verica : para j = i, i + 1, . . . , i + k

p(xj ) = f (xj ), ya que :

xi+k xi pk1 (xi ) = yi = f (xi ) xi+k xi xi+k xi Para i + k : p(xi+k ) = qk1 (xi+k ) = yi+k = f (xi+k ) xi+k xi y para cada j = i + 1, . . . , i + k 1 : xj xi xi+k xj p(xj ) = qk1 (xj ) + pk1 (xj ) = xi+k xi xi+k xi xj xi xi+k xj xi+k xi + yj = yj = yj xi+k xi xi+k xi xi+k xi Para i : p(xi ) =

P agina 5 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Por tanto, por la unicidad del polinomio de interpolaci on, tendremos que p(x) = pk (x) y entonces f [xi , xi+1 , , xi+k ] = coeciente t ermino principal de pk (x) = ermino principal de pk1 (x) coeciente t ermino principal de qk1 (x) coeciente t = = xi+k xi xi+k xi f [xi+1 , xi+2 , , xi+k ] f [xi , xi+1 , , xi+k1 ] = xi+k xi

tica Informa
P agina Web P agina de Inicio

C omo organizar el c alculo de la tabla de diferencias divididas? Ejemplo. El c alculo de las diferencias divididas para cuatro puntos se ordenar a como sigue : Soluci on : x0 y0 = f [x0] f [x0 , x1] x1 y1 = f [x1 ] f [x 1 , x 2 ] x2 y2 = f [x2 ] f [x 2 , x 3 ] x3 y3 = f [x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2] f [x0 , x1 , x2 , x3]

Contenido

P agina 6 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Podemos abordar entonces el c alculo del polinomio de interpolaci on en los puntos (x0 , y0 ), (x1 , y1 ),(x2 , y2 ),. . . , (xn , yn ) de la siguiente forma : p0 (x) = a0 = f [x0 ] = f (x0 ) = y0 p1 (x) = p0 (x) + a1 (x x0 ) = f [x0 ] + a1 (x x0 ) = f [x0 ] + f [x0 , x1 ](x x0 ) p2 (x) = p1 (x) + a2 (x x0 )(x x1 ) = f [x0 ] + a1 (x x0 ) + a2 (x x0 )(x x1 ) = = f [x0 ] + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) . . . pn (x) = a0 + a1 (x x0 ) + a2 (x x0 )(x x1 ) + + an (x x0 )(x x1 ) . . . (x xn1 ) = 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 xn1 ) o tambi en de forma m as concisa :
n i1

tica Informa
P agina Web P agina de Inicio Contenido

pn (x) =
i=0

f [x0 , x1 , . . . , xi ]
j =0

(x xj )

P agina 7 de 19 Volver Pantalla completa Cerrar Salir

que se denomina f ormula de interpolaci on de Newton en diferencias divididas. Para la evaluaci on del polinomio de interpolaci on en su forma de Newton en diferencias divididas pn (x) = f [x0 ] + f [x0 , x1 ](x x0 ) + + f [x0 , x1 , . . . , xn ](x x0 )(x x1 ) (x xn1 ) usaremos el anidamiento del esquema de RuniHorner : pn (z ) = ( (an (z xn1 ) + an1 )(z xn2 ) + + a1 )(z x0 ) + a0

ULPGC para la evaluaci on en un punto z , y donde se ha puesto ak = f [x0 , . . . , xk ]. Obs ervese que se necesitan n productos y 2n? sumas/restas. Ejemplo. Obtener una f ormula para la suma de los cuadrados de los primeros n umeros naturales.
n

Soluci on : Sabemos que


k=1

k2 =

n(n+1)(2n+1) 6

y como queremos obtenerla por interpolaci on

tica Informa
P agina Web P agina de Inicio Contenido

construimos un conjunto de valores seg un los diferentes valores de n. Como el polinomio ha de ser el mismo para cualquier posible ordenaci on de los puntos, elegimos el siguiente orden: n 3 2 5 1 4 y f [xi , xi+1 ] 14 9 5 50/3 55 54/4 1 29/3 30 f [xi , xi+1 , xi+2 ] f [xi , . . . , xi+3 ] f [xi , . . . , xi+4 ]

23/6 1/3 19/6 1/3 23/6


P agina 8 de 19 Volver Pantalla completa Cerrar Salir

ULPGC El polinomio es por tanto: 23 1 (x 3)(x 2) + (x 3)(x 2)(x 5) = 6 3 3 2 2x + 3x + 6x x(x + 1)(2x + 1) = = 6 6 como cabr a esperar. p(x) =14 + 9(x 3) +

(1) tica Informa


P agina Web P agina de Inicio Contenido

Ejemplo. Obtener por interpolaci on el valor para x = 3 conocidos los valores x0 = 0, y0 = 1; x1 = 1, y1 = 0; x2 = 2, y2 = 7; x3 = 4, y3 = 63. Soluci on : Por la f ormula de Newton tenemos, sustituyendo ya el valor x = 3 : x y f [xi , xi+1 ] f [xi , xi+1 , xi+2 ] f [xi , . . . , xi+3 ] 0 1 1 1 0 3 7 1 2 7 7 28 4 63 El valor del polinomio es por tanto: p(3) = 1 + 1.(3) + 3.3.(2) + 1.(3).(2).(1) = 26 que es lo mismo que se obtuvo con Lagrange, l ogicamente. (2)

P agina 9 de 19 Volver Pantalla completa Cerrar Salir

ULPGC

2. PROBLEMAS
Problema 1. Los siguientes datos est an tomados de un polinomio de grado es el grado del polinomio? xi yi 2 1 0 1 2 3 5 1 1 1 7 25 5. C ual

tica Informa
P agina Web P agina de Inicio Contenido

Problema 2. Determinar el n umero de sumas/restas y el n umero de productos/divisiones que se necesitan para: 1. calcular las diferencias divididas para n + 1 nodos. 2. calcular (ecientemente) el polinomio de Newton, una vez se conocen las diferencias divididas. Problema 3. Construir la tabla de diferencias divididas para los puntos x 0.2 0.5 0.1 0.7 0.0 f (x) 1.3940 1.0025 1.1221 1.0084 1.1884 y usarla para estimar f (0.15) usando: (a) el polinomio de grado dos obtenido con los tres primeros puntos (b) el polinomio de grado dos obtenido con los tres u ltimos puntos (c) el polinomio de grado tres obtenido con los cuatro primeros puntos (d) el polinomio de grado tres obtenido con los cuatro u ltimos puntos (e) el polinomio de grado cuatro

P agina 10 de 19 Volver Pantalla completa Cerrar Salir

ULPGC

Referencias
[Act90] F.S. Acton. Numerical Methods That (Usually) Work. The Mathematical Association of America, Washington, 1990. [Atk89] K. E. Atkinson. An Introduction to Numerical Analysis. John Wiley, New York, 2nd. edition, 1989. [BF80] [CC89] R.L. Burden and D. Faires. An alisis Num erico. Grupo Editorial Iberoamericana, M exico, 1980. S.C. Chapra and R.P. Canale. Numerical Methods for Engineers. McGraw-Hill International, New York, second edition, 1989. tica Informa
P agina Web P agina de Inicio Contenido

[CdB80] S. D. Conte and C. de Boor. Elementary Numerical Analysis: An Algorithmic Approach. McGrawHill, New York, third edition, 1980. [DB74] Germund Dahlquist and Ake Bj orck. Numerical Methods. Prentice-Hall, Englewood Clis, New Jersey, 1974.
P agina 11 de 19 Volver

[Fad59] V.N. Faddeeva. Computational Methods of Linear Algebra. Dover Publications, Inc, New York, 1959. [Fr o79] C.-E. Fr oberg. Introduction to Numerical Analysis. AdisonWesley, Reading, Massachusetts, 2nd. edition, 1979.

Pantalla completa Cerrar Salir

[GW89] C.F. Gerald and P.O. Wheatley. Applied Numerical Analysis. AddisonWesley Publishing Co., Reading, Massachusets, fourth edition, 1989.

ULPGC [Hen72] P. Henrici. Elementos de An alisis Num erico. Ed. Trillas, M exico, 1972. [Hil74] [KC94] F. B. Hildebrand. Introduction to Numerical Analysis. McGrawHill, New York, second edition, 1974. D. Kincaid and W. Cheney. An alisis Num erico : las matem aticas del c alculo cient co. Addison-Wesley Iberoamericana, 1994. tica Informa
P agina Web

[Mar87] M. J. Maron. Numerical Analysis: A Practical Approach. Macmillan Publishing Co., New York, second edition, 1987. [ML91] [RR78] [Sch89] M. J. Maron and R. J. Lopez. Numerical Analysis: A Practical Approach. Wadsworth, Belmont, California, third edition, 1991. Anthony Ralston and Philip Rabinowitz. A First Course in Numerical Analysis. McGraw-Hill, New York, 2nd. edition, 1978. H.R. Schwarz. Numerical Analysis. John Wiley & Sons, Chichester, 1989.

P agina de Inicio Contenido

[Wer84] W. Werner. Mathematics of Computation, 43:205217, 1984. [YG73a] David M. Young and R.T. Gregory. A Survey of Numerical Mathematics, volume I. Dover Publications, New York, 1973. [YG73b] David M. Young and R.T. Gregory. A Survey of Numerical Mathematics, volume II. Dover Publications, New York, 1973.

P agina 12 de 19 Volver Pantalla completa Cerrar Salir

ULPGC

Soluciones a los Problemas


Problema 1. La tabla de diferencias divididas es: x y f [xi , xi+1 ] 2 5 6 1 1 0 0 1 0 1 1 6 2 7 18 3 25 f [xi , xi+1 , xi+2 ] f [xi , . . . , xi+3 ] f [xi , . . . , xi+4 ] tica Informa
P agina Web

3 1 0 1 3 1 6 0 0
Contenido P agina de Inicio

y por tanto el polinomio tiene grado tres, siendo este: p(x) = 5 + 6(x + 2) + 3(x + 2)(x + 1) + 1(x + 2)(x + 1)x = = x3 x + 1 como se puede constatar a partir de los nodos dados.

P agina 13 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Problema 2. Probar que es una f ormula de O(n2 ): El n umero de sumas/restas necesarias para calcular las diferencias divididas es n(n+1) y el de divisiones es la mitad n(n + 1)/2. Para evaluar ecientemente el polinomio en su forma de Newton: tica Informa pn (x) = f [x0 ] + f [x0 , x1 ](x x0 ) + + f [x0 , x1 , . . . , xn ](x x0 )(x x1 ) (x xn1 ) son necesarias 2n sumas/restas y n productos, ya que se considera el anidamiento del esquema de RuniHorner : pn (z ) = ( (an (z xn1 ) + an1 )(z xn2 ) + + a1 )(z x0 ) + a0 para la evaluaci on en un punto z , y donde es ak = f [x0 , . . . , xk ].
P agina Web P agina de Inicio Contenido

P agina 14 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(a) 1.0919

tica Informa
P agina Web P agina de Inicio Contenido

P agina 15 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(b) 1.0973

tica Informa
P agina Web P agina de Inicio Contenido

P agina 16 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(c) 1.0941

tica Informa
P agina Web P agina de Inicio Contenido

P agina 17 de 19 Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(d) 1.0951

tica Informa
P agina Web P agina de Inicio Contenido

P agina 18 de 19 Volver Pantalla completa Cerrar Salir

Problema 3(e) 1.0920. El valor real es f (0.15) = 1.0956, ya que los valores corresponden a la funci on: 1 f (x) = sen(x + 1)

También podría gustarte