Interpolación Newton

download Interpolación Newton

If you can't read please download the document

description

Documento tutorial sobre Interpolación de Newton preparado por Jesús García Tejada, contiene tanto teoría como planteamiento y resolución de ejemplos.

Transcript of Interpolación Newton

ULPGC

Tutorial de Analisis Numerico Interpolacin : Frmula de Newton en o o diferencias divididasJess Garc Quesada u aDepartamento de Informtica y Sistemas a Universidad de Las Palmas de Gran Canaria 35017 Campus de Tara, Espaa n Email : [email protected]

InformaticaPgina Web a Pgina de Inicio a Contenido

2 de Octubre de 2000, v0.3Pgina 1 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC

Indice General 1 FORMULA DE NEWTON EN DIFERENCIAS DIVIDIDAS 2 PROBLEMAS Soluciones a los Problemas 3 Informatica 10 13Pgina Web a Pgina de Inicio a Contenido

Pgina 2 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC

1. FORMULA DE NEWTON EN DIFERENCIAS DIVIDIDASSea pk (x) el polinomio de interpolacin en los puntos x0 , x1 , . . . , xk (grado mximo = k). o a 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 InformaticaPgina Web a Pgina de Inicio a Contenido

y tambin que para el siguiente punto xk tenemos que pk (xk ) = yk , sin conocerse el e 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 k1Pgina 3 de 19 a Volver Pantalla completa Cerrar Salir

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

qk (x) = ak (x x0 )(x x1 ) (x xk1 ) = aki=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 sta ultima identidad tenemos : e ak = yk pk1 (xk ) (x x0 )(x x1 ) (x xk1 ) InformaticaPgina Web a Pgina de Inicio a Contenido

con lo cual podemos poner : pk (x) = pk1 (x) + qk (x) donde lo que parece complicado es calcular el ak , que ser el coeciente de xk en el a polinomio pk (x) pero para esto se puede utilizar las diferencias divididas: Denicin 1. Dada la funcin f de la cual se conoce su valor en los puntos x0 , x1 , . . . , xk , o o 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

Pgina 4 de 19 a 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 InformaticaPgina Web a Pgina de Inicio a Contenido

Demostracin. Sea pj (x) el polinomio de grado j que coincide con f (x) en los puntos o 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 ) =

Pgina 5 de 19 a Volver Pantalla completa Cerrar Salir

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

InformaticaPgina Web a Pgina de Inicio a

Cmo organizar el clculo de la tabla de diferencias divididas? o a Ejemplo. El clculo de las diferencias divididas para cuatro puntos se ordenar como a a sigue : Solucin: o x0 y0 = f [x0] f [x0 , x1] x1 y1 = f [x1 ] f [x1 , x2 ] x2 y2 = f [x2 ] f [x2 , x3 ] x3 y3 = f [x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2] f [x0 , x1 , x2 , x3]

Contenido

Pgina 6 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC Podemos abordar entonces el clculo del polinomio de interpolacin en los puntos a o (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 tambin de forma ms concisa : e an i1

InformaticaPgina Web a Pgina de Inicio a Contenido

pn (x) =i=0

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

(x xj )

Pgina 7 de 19 a Volver Pantalla completa Cerrar Salir

que se denomina frmula de interpolacin de Newton en diferencias divididas. o o Para la evaluacin del polinomio de interpolacin en su forma de Newton en diferencias o o 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 evaluacin en un punto z, y donde se ha puesto ak = f [x0 , . . . , xk ]. o Obsrvese que se necesitan n productos y 2n? sumas/restas. e Ejemplo. Obtener una frmula para la suma de los cuadrados de los primeros nmeros o u naturales.n

Solucin: Sabemos que ok=1

k2 =

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

y como queremos obtenerla por interpolacin o

InformaticaPgina Web a Pgina de Inicio a Contenido

construimos un conjunto de valores segn los diferentes valores de n. Como el polinomio u ha de ser el mismo para cualquier posible ordenacin de los puntos, elegimos el siguiente o 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/6Pgina 8 de 19 a Volver Pantalla completa Cerrar Salir

0

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 esperar. a p(x) =14 + 9(x 3) +

(1) InformaticaPgina Web a Pgina de Inicio a Contenido

Ejemplo. Obtener por interpolacin el valor para x = 3 conocidos los valores x0 = 0, y0 = 1; o x1 = 1, y1 = 0; x2 = 2, y2 = 7; x3 = 4, y3 = 63. Solucin: o Por la frmula de Newton tenemos, sustituyendo ya el valor x = 3 : o 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, lgicamente. o (2)

Pgina 9 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC

2. PROBLEMASProblema 1. Los siguientes datos estn tomados de un polinomio de grado a es el grado del polinomio? xi yi 2 1 0 1 2 3 5 1 1 1 7 25 5. Cal u

InformaticaPgina Web a Pgina de Inicio a Contenido

Problema 2. Determinar el nmero de sumas/restas y el nmero de productos/divisiones u u 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 ultimos puntos (c) el polinomio de grado tres obtenido con los cuatro primeros puntos (d) el polinomio de grado tres obtenido con los cuatro ultimos puntos (e) el polinomio de grado cuatro

Pgina 10 de 19 a 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. Anlisis Numrico. Grupo Editorial Iberoameria e cana, Mxico, 1980. e S.C. Chapra and R.P. Canale. Numerical Methods for Engineers. McGraw-Hill International, New York, second edition, 1989. InformaticaPgina Web a Pgina de Inicio a 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 ke Bjrck. Numerical Methods. Prentice-Hall, EnA o glewood Clis, New Jersey, 1974.Pgina 11 de 19 a Volver

[Fad59] V.N. Faddeeva. Computational Methods of Linear Algebra. Dover Publications, Inc, New York, 1959. [Fr79] o C.-E. Frberg. Introduction to Numerical Analysis. AdisonWesley, Reading, o 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 Anlisis Numrico. Ed. Trillas, Mxico, 1972. a e e [Hil74] [KC94] F. B. Hildebrand. Introduction to Numerical Analysis. McGrawHill, New York, second edition, 1974. D. Kincaid and W. Cheney. Anlisis Numrico : las matemticas del clculo a e a a cient co. Addison-Wesley Iberoamericana, 1994. InformaticaPgina Web a

[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.

Pgina de Inicio a 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.

Pgina 12 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC

Soluciones a los ProblemasProblema 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 ] InformaticaPgina Web a

3 1 0 1 3 1 6 0 0Contenido Pgina de Inicio a

y por tanto el polinomio tiene grado tres, siendo ste: e 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.

Pgina 13 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC Problema 2. Probar que es una frmula de O(n2 ): o El nmero de sumas/restas necesarias para calcular las diferencias divididas es n(n+1) u y el de divisiones es la mitad n(n + 1)/2. Para evaluar ecientemente el polinomio en su forma de Newton: Informatica 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 evaluacin en un punto z, y donde es ak = f [x0 , . . . , xk ]. oPgina Web a Pgina de Inicio a Contenido

Pgina 14 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(a) 1.0919

InformaticaPgina Web a Pgina de Inicio a Contenido

Pgina 15 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(b) 1.0973

InformaticaPgina Web a Pgina de Inicio a Contenido

Pgina 16 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(c) 1.0941

InformaticaPgina Web a Pgina de Inicio a Contenido

Pgina 17 de 19 a Volver Pantalla completa Cerrar Salir

ULPGC Problema 3(d) 1.0951

InformaticaPgina Web a Pgina de Inicio a Contenido

Pgina 18 de 19 a 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 funcin: o 1 f (x) = sen(x + 1)