Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
ULPGC
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
(x xi )
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
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
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 ) =
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
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 )
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
k2 =
n(n+1)(2n+1) 6
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 ]
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) +
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)
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
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.
[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.
[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.
ULPGC
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.
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
tica Informa
P agina Web P agina de Inicio Contenido
tica Informa
P agina Web P agina de Inicio Contenido
tica Informa
P agina Web P agina de Inicio Contenido
tica Informa
P agina Web P agina de Inicio Contenido
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)