Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
CÁLCULO NUMÉRICO – ING EN INFORMÁTICA – LIC EN SISTEMAS – ING EN MINAS FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy POLINOMIOS DE INTERPOLACION DE NEWTON Página 1 Polinomio de Interpolación de Newton por Diferencias Divididas Finitas Partiendo de la resolución que nos ofrece el método de diferencias divididas para interpolar mediante el polinomio de Newton podemos analizar el siguiente caso especial: ¿Qué sucede si los diversos puntos que poseemos están ordenados e igualmente espaciados? La respuesta es, podemos utilizar el método de las diferencias divididas finitas o más conocida simplemente como diferencias finitas. Sea que se poseen los siguientes puntos: ((𝑥0, 𝑓(𝑥0); (𝑥1, 𝑓(𝑥1), (𝑥2, 𝑓(𝑥2), … , (𝑥𝑛, 𝑓(𝑥𝑛)) están igualmente espaciados en 𝑥, es decir, existe ℎ > 0 tal que ℎ = 𝑥𝑖+1 − 𝑥𝑖 , ∀ 𝑖 = 0,1,2,3,4, … , 𝑛 − 1 Si además se cumple que 𝑥0 < 𝑥1 < 𝑥2 < ⋯ < 𝑥𝑛 Entonces 𝑥1 = 𝑥0 + ℎ 𝑥2 = 𝑥1 + ℎ = 𝑥0 + ℎ + ℎ = 𝑥0 + 2ℎ 𝑥3 = 𝑥2 + ℎ = 𝑥0 + 2ℎ + ℎ = 𝑥0 + 3ℎ … 𝑥𝑖 = 𝑥0 + 𝑖ℎ, 𝑖 = 0,1,2, … , 𝑛 − 1 (1) Con estas informaciones cada una de las diferencias divididas puede volver a expresarse de la siguiente manera: Orden Diferencia Dividida Diferencia Finita 0 𝑓[𝑥𝑖] = 𝑓(𝑥𝑖) ∆ 0𝑓(𝑥𝑖) = ∆ 0𝑓𝑖 = 𝑓(𝑥𝑖) = 𝑓𝑖 1 Si para la siguiente expresión 𝑓[𝑥𝑠 , 𝑥𝑡] = 𝑓(𝑥𝑡) − 𝑓(𝑥𝑠) 𝑥𝑡 − 𝑥𝑠 s y t son expresados en términos de 𝑖 𝑓[𝑥𝑖 , 𝑥𝑖+1] = 𝑓(𝑥𝑖+1) − 𝑓(𝑥𝑖) 𝑥𝑖+1 − 𝑥𝑖 ∆ 𝑓(𝑥𝑖) ℎ = ∆ 𝑓𝑖 ℎ = 𝑓(𝑥𝑖+1) − 𝑓(𝑥𝑖) ℎ = 𝑓𝑖+1 − 𝑓𝑖 ℎ 2 𝑓[𝑥𝑖 , 𝑥𝑖+1, 𝑥𝑖+2] = 𝑓[𝑥𝑖+1, 𝑥𝑖+2] − 𝑓[𝑥𝑖 , 𝑥𝑖+1] 𝑥𝑖+2 − 𝑥𝑖 ∆2𝑓(𝑥𝑖) 2ℎ2 = ∆2𝑓𝑖 2ℎ2 = 𝑓[𝑥𝑖+1, 𝑥𝑖+2] − 𝑓[𝑥𝑖 , 𝑥𝑖+1] 2ℎ2 n 𝑓[𝑥𝑖 , 𝑥𝑖+1, 𝑥𝑖+2, … , 𝑥𝑛] ∆𝑛𝑓(𝑥𝑖) 𝑛! ℎ𝑛 = ∆𝑛𝑓𝑖 𝑛! ℎ𝑛 Con estas relaciones podemos volver a expresar de otra forma el polinomio de interpolación de Newton por diferencias divididas 𝑃𝑛(𝑥) = 𝑓[𝑥0] + 𝑓[𝑥0, 𝑥1](𝑥 − 𝑥0) + 𝑓[𝑥0, 𝑥1, 𝑥2](𝑥 − 𝑥0)(𝑥 − 𝑥1) + 𝑓[𝑥0, 𝑥1, 𝑥2, 𝑥3](𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) + ⋯ + 𝑓[𝑥0, 𝑥1, 𝑥2, … , 𝑥𝑛](𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) … (𝑥 − 𝑥𝑛−1) De la siguiente manera 𝑃𝑛(𝑥) = 𝑓(𝑥0) + (𝑥 − 𝑥0) ℎ ∆𝑓(𝑥0) + (𝑥 − 𝑥0)(𝑥 − 𝑥1) 2! ℎ2 ∆2𝑓(𝑥0) + (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) 3! ℎ3 ∆3𝑓(𝑥0) + ⋯ + (𝑥 − 𝑥0)(𝑥 − 𝑥1)(𝑥 − 𝑥2) … (𝑥 − 𝑥𝑛−1) 𝑛! ℎ𝑛 ∆𝑛𝑓(𝑥0) CÁLCULO NUMÉRICO – ING EN INFORMÁTICA – LIC EN SISTEMAS – ING EN MINAS FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy POLINOMIOS DE INTERPOLACION DE NEWTON Página 2 Si además realizamos definimos que: 𝑠 = 𝑥 − 𝑥0 ℎ Entonces usando (1) 𝑥 − 𝑥𝑖 ℎ = 𝑥 − (𝑥0 + 𝑖ℎ) ℎ = 𝑥 − 𝑥0 − 𝑖ℎ ℎ = 𝑥 − 𝑥0 ℎ − 𝑖ℎ ℎ = 𝑠 − 𝑖 y sustituyendo en el polinomio obtendremos 𝑃𝑛(𝑥) = 𝑓(𝑥0) + 𝑠 ∆𝑓(𝑥0) + 𝑠(𝑠 − 1) 2! ∆2𝑓(𝑥0) + 𝑠(𝑠 − 1)(𝑠 − 2) 3! ∆3𝑓(𝑥0) + ⋯ + 𝑠(𝑠 − 1)(𝑠 − 2)(𝑠 − 3) … (𝑠 − 𝑛 + 1) 𝑛! ∆𝑛𝑓(𝑥0) El cual se denomina Polinomio de Interpolación de Newton por Diferencias Finitas Progresivas (o Polinomio de Interpolación de Newton por Diferencias Divididas Finitas Progresivas). Muchos autores expresan el anterior polinomio de la siguiente manera 𝑃𝑛(𝑥) = ∑ 𝑠(𝑠 − 1) … (𝑠 − 𝑘 + 1) 𝑘! 𝑛 𝑘=0 ∆𝑘𝑓(𝑥0) Otros autores también lo expresan considerando que 𝑓(𝑥0) = ∆ 0𝑓(𝑥0) 𝑠 = ( 𝑠 1 ) 𝑠(𝑠 − 1) 2! = ( 𝑠 2 ) 𝑠(𝑠 − 1)(𝑠 − 2) 3! = ( 𝑠 3 ) … 𝑠(𝑠 − 1)(𝑠 − 2)(𝑠 − 3) … (𝑠 − 𝑛 + 1) 𝑛! = ( 𝑠 𝑛 ) Por lo cual 𝑃𝑛(𝑥) = ∑ ( 𝑠 𝑘 ) 𝑛 𝑘=0 ∆𝑘𝑓(𝑥0) La Tabla de Diferencias Finitas nos permitirá obtener los coeficientes 𝑥𝑖 ∆ 0𝑓(𝑥𝑖) ∆ 𝑓(𝑥𝑖) ∆ 2𝑓(𝑥𝑖) … ∆ 𝑛𝑓(𝑥𝑖) 𝑥0 𝑓(𝑥0) ∆𝑓(𝑥0) ∆ 2𝑓(𝑥0) … ∆ 𝑛𝑓(𝑥0) 𝑥1 𝑓(𝑥1) ∆𝑓(𝑥1) ∆ 2𝑓(𝑥1) … 𝑥2 𝑓(𝑥2) ∆𝑓(𝑥2) ∆ 2𝑓(𝑥2) … … … … … 𝑥𝑛−1 𝑓(𝑥𝑛−1) ∆𝑓(𝑥𝑛−1) 𝑥𝑛 𝑓(𝑥𝑛) Donde las diferencias finitas que se utilizarán para el desarrollo del polinomio son las de la primera fila. Observe que esta tabla es muy practica (al igual que la de diferencias divididas) debido a que permite aprovechar los cálculos de diferencias previas, lo cual permite experimentar con el desarrollo de polinomios de diferentes grados de polinomios. CÁLCULO NUMÉRICO – ING EN INFORMÁTICA – LIC EN SISTEMAS – ING EN MINAS FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy POLINOMIOS DE INTERPOLACION DE NEWTON Página 3 Ejemplo práctico Suponga que posee los siguientes datos: 𝑖 𝑥𝑖 𝑓(𝑥𝑖) 0 -2 3 1 0 -1 2 2 3 3 4 5 a) Genere el polinomio de interpolación de Newton por Diferencias Finitas Progresivas que pase por todos esos puntos. b) Aproxime el valor de la función desconocida para 𝑥 = 1,5 usando el polinomio de interpolación. Respuesta: a) Se genera la tabla de diferencias finitas a partir de su esquema general. Así, el polinomio que pasa por todos los puntos de la tabla de datos es: 𝑥𝑖 ∆ 0𝑓(𝑥𝑖) ∆ 𝑓(𝑥𝑖) ∆ 2𝑓(𝑥𝑖) ∆ 3𝑓(𝑥𝑖) 𝑥0=-2 3 -1-3=-4 4-(-4) =8 -10 𝑥1=0 -1 3-(-1) =4 2-4=-2 𝑥2=2 3 5-3=2 𝑥3=4 5 Además 𝑥𝑖 = 𝑥0 + 𝑖ℎ ∀ 𝑖 = 0,1,2, … , 𝑛 por lo cual obtenemos que ℎ = 𝑥𝑖 − 𝑥0 𝑖 Si por ejemplo tomamos i=3 tenemos ℎ = 4 − (−2) 3 = 2 Por lo tanto, el polinomio interpolador de Newton 𝑃3(𝑥) = 𝑓(𝑥0) + 𝑠 ∆𝑓(𝑥0) + 𝑠(𝑠 − 1) 2! ∆2𝑓(𝑥0) + 𝑠(𝑠 − 1)(𝑠 − 2) 3! ∆3𝑓(𝑥0) para este ejemplo es: 𝑃3(𝑥) = 3 + 𝑠 (−4) + 𝑠(𝑠 − 1) 2! (8) + 𝑠(𝑠 − 1)(𝑠 − 2) 3! (−10) con 𝑠 = 𝑥 − 𝑥0 ℎ = 𝑥 + 2 2 b) Para resolver este problema debemos calcular efectivamente el valor de s 𝑠 = 𝑥 − 𝑥0 ℎ = 1,5 + 2 2 = 1,75 Entonces 𝑃3(1,5) = 3 + 1,75 (−4) + 1,75(1,75 − 1) 2! (8) + 1,75(1,75 − 1)(1,75 − 2) 3! (−10) 𝑃3(1,5) = 3 − 7 + 0,65625 2 (8) + (−0,1640625) 6 (−10) 𝑃3(1,5) = 3 − 7 + 5,25 + 0,546875 = 1,796875 CÁLCULO NUMÉRICO – ING EN INFORMÁTICA – LIC EN SISTEMAS – ING EN MINAS FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy POLINOMIOS DE INTERPOLACION DE NEWTON Página 4 Polinomio de Diferencias Finitas Regresivas Sea que se poseen los siguientes puntos: ((𝑥0, 𝑓(𝑥0); (𝑥1, 𝑓(𝑥1), (𝑥2, 𝑓(𝑥2), … , (𝑥𝑛, 𝑓(𝑥𝑛)) están igualmente espaciados en 𝑥, es decir, existe ℎ > 0 tal que ℎ = 𝑥𝑖 − 𝑥𝑖−1, ∀ 𝑖 = 1,2,3,4, … , 𝑛 Si además se cumple que 𝑥0 < 𝑥1 < 𝑥2 < ⋯ < 𝑥𝑛 Entonces 𝑥𝑛−1 = 𝑥𝑛 − ℎ 𝑥𝑛−2 = 𝑥𝑛−1 − ℎ = 𝑥𝑛 − ℎ − ℎ = 𝑥𝑛 − 2ℎ 𝑥𝑛−3 = 𝑥𝑛−2 − ℎ = 𝑥𝑛 − 2ℎ + ℎ = 𝑥𝑛 − 3ℎ … 𝑥𝑛−𝑖 = 𝑥𝑛 − 𝑖ℎ, 𝑖 = 1,2, … , 𝑛 (2) Así, encontramos las siguientes relaciones Orden Diferencia Dividida Diferencia Finita 0 𝑓[𝑥𝑖] = 𝑓(𝑥𝑖) ∇ 0𝑓(𝑥𝑖) = ∇ 0𝑓𝑖 = 𝑓(𝑥𝑖) = 𝑓𝑖 1 Si para la siguiente expresión 𝑓[𝑥𝑠 , 𝑥𝑡] = 𝑓(𝑥𝑡) − 𝑓(𝑥𝑠) 𝑥𝑡 − 𝑥𝑠 s y t son expresados en términos de 𝑖 𝑓[𝑥𝑖 , 𝑥𝑖−1] = 𝑓(𝑥𝑖) − 𝑓(𝑥𝑖−1) 𝑥𝑖 − 𝑥𝑖−1 ∇ 𝑓(𝑥𝑖) ℎ = ∇ 𝑓𝑖 ℎ = 𝑓(𝑥𝑖) − 𝑓(𝑥𝑖−1) ℎ = 𝑓𝑖 − 𝑓𝑖−1 ℎ 2 𝑓[𝑥𝑖 , 𝑥𝑖−1, 𝑥𝑖−2] = 𝑓[𝑥𝑖 , 𝑥𝑖−1] − 𝑓[𝑥𝑖−1, 𝑥𝑖−2] 𝑥𝑖 − 𝑥𝑖−2 ∇2𝑓(𝑥𝑖) 2ℎ2 = ∇2𝑓𝑖 2ℎ2 = 𝑓[𝑥𝑖 , 𝑥𝑖−1] − 𝑓[𝑥𝑖−1, 𝑥𝑖−2] 2ℎ2 N 𝑓[𝑥𝑛 , 𝑥𝑛−1, 𝑥𝑛−2, … , 𝑥0] ∇𝑛𝑓(𝑥𝑖) 𝑛! ℎ𝑛 = ∇𝑛𝑓𝑖 𝑛! ℎ𝑛 De esta manera el polinomio de Newton queda representado de la siguiente manera 𝑃𝑛(𝑥) = 𝑓[𝑥𝑛] + 𝑓[𝑥𝑛, 𝑥𝑛−1](𝑥 − 𝑥𝑛) + 𝑓[𝑥𝑛, 𝑥𝑛−1, 𝑥𝑛−2](𝑥 − 𝑥𝑛)(𝑥 − 𝑥𝑛−1) + 𝑓[𝑥𝑛 , 𝑥𝑛−1, 𝑥𝑛−2, 𝑥𝑛−3](𝑥 − 𝑥𝑛)(𝑥 − 𝑥𝑛−1)(𝑥 − 𝑥𝑛−2) + ⋯ + 𝑓[𝑥𝑛 , 𝑥𝑛−1, 𝑥𝑛−2, … , 𝑥0](𝑥 − 𝑥𝑛)(𝑥 − 𝑥𝑛−1)(𝑥 − 𝑥𝑛−2) … (𝑥 − 𝑥1) Entonces 𝑃𝑛(𝑥) = 𝑓(𝑥0) + (𝑥 − 𝑥𝑛) ℎ ∇𝑓(𝑥𝑛) + (𝑥 − 𝑥𝑛)(𝑥 − 𝑥𝑛−1) 2! ℎ2 ∇2𝑓(𝑥𝑛) + (𝑥 − 𝑥𝑛)(𝑥 − 𝑥𝑛−1)(𝑥 − 𝑥𝑛−2) 3! ℎ3 ∇3𝑓(𝑥𝑛) + ⋯ + (𝑥 − 𝑥𝑛)(𝑥 − 𝑥𝑛−1)(𝑥 − 𝑥𝑛−2) … (𝑥 − 𝑥1) 𝑛! ℎ𝑛 ∇𝑛𝑓(𝑥𝑛)Si además realizamos definimos que: 𝑡 = 𝑥 − 𝑥𝑛 ℎ CÁLCULO NUMÉRICO – ING EN INFORMÁTICA – LIC EN SISTEMAS – ING EN MINAS FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy POLINOMIOS DE INTERPOLACION DE NEWTON Página 5 Entonces usando (2) 𝑥 − 𝑥𝑛−1 ℎ = 𝑥 − (𝑥𝑛 − 𝑖ℎ) ℎ = 𝑥 − 𝑥𝑛 + 𝑖ℎ ℎ = 𝑥 − 𝑥𝑛 ℎ + 𝑖ℎ ℎ = 𝑡 + 𝑖 y sustituyendo en el polinomio obtendremos 𝑃𝑛(𝑥) = 𝑓(𝑥𝑛) + 𝑡 ∇𝑓(𝑥𝑛) + 𝑡(𝑡 + 1) 2! ∇2𝑓(𝑥𝑛) + 𝑡(𝑡 + 1)(𝑡 + 2) 3! ∇3𝑓(𝑥𝑛) + ⋯ + 𝑡(𝑡 + 1)(𝑡 + 2)(𝑡 + 3) … (𝑡 + 𝑛 − 1) 𝑛! ∆𝑛𝑓(𝑥𝑛) El cual se denomina Polinomio de Interpolación de Newton por Diferencias Finitas Regresivas (o Polinomio de Interpolación de Newton por Diferencias Divididas Finitas Regresivas). La Tabla de Diferencias Finitas nos permitirá obtener los coeficientes 𝑥𝑖 ∆ 0𝑓(𝑥𝑖) ∆ 𝑓(𝑥𝑖) ∆ 2𝑓(𝑥𝑖) … ∆ 𝑛𝑓(𝑥𝑖) 𝑥0 𝑓(𝑥0) ∆𝑓(𝑥0) ∆ 2𝑓(𝑥0) … ∆ 𝑛𝑓(𝑥0) 𝑥1 𝑓(𝑥1) ∆𝑓(𝑥1) ∆ 2𝑓(𝑥1) … 𝑥2 𝑓(𝑥2) ∆𝑓(𝑥2) ∆ 2𝑓(𝑥2) … … … … 𝑥𝑛−1 𝑓(𝑥𝑛−1) ∆𝑓(𝑥𝑛−1) 𝑥𝑛 𝑓(𝑥𝑛) Donde las diferencias finitas que se utilizarán para el desarrollo del polinomio son las de la última fila de cada columna. Ejemplo práctico Obtenga mediante un polinomio interpolador una fórmula que represente la suma de los 5 primeros números naturales. La siguiente fórmula representa la suma de los n primeros números naturales ∑ 𝑘 𝑛 𝑘=1 = 𝑛(𝑛 + 1) 2 El objetivo es obtenerla mediante un polinomio de interpolación. Lo primero es determinar la tabla de valores n ∑ 1 1 2 1+2=3 3 1+2+3=6 4 1+2+3+4=10 5 1+2+3+4+5=15 Ahora con esta información generamos la tabla de diferencias finitas 𝑥𝑖 ∆ 0𝑓(𝑥𝑖) ∆ 𝑓(𝑥𝑖) ∆ 2𝑓(𝑥𝑖) ∆ 3𝑓(𝑥𝑖) ∆ 4𝑓(𝑥𝑖) 𝑥0=1 1 3-1=2 3-2=1 0 0 𝑥1=2 3 6-3=3 4-3=1 0 𝑥2=3 6 10-6=4 5-4=1 𝑥3=4 10 15-10=5 𝑥4=5 15 CÁLCULO NUMÉRICO – ING EN INFORMÁTICA – LIC EN SISTEMAS – ING EN MINAS FACULTAD DE INGENIERÍA Universidad Nacional de Jujuy POLINOMIOS DE INTERPOLACION DE NEWTON Página 6 Al ser los números naturales es obvio que ℎ = 1 y por tanto 𝑡 = 𝑥 − 5 1 = 𝑥 − 5 Entonces en el polinomio interpolador reemplazamos 𝑃4(𝑥) = 𝑓(𝑥4) + 𝑡 ∇𝑓(𝑥4) + 𝑡(𝑡 + 1) 2! ∇2𝑓(𝑥4) + 𝑡(𝑡 + 1)(𝑡 + 2) 3! ∇3𝑓(𝑥4) + 𝑡(𝑡 + 1)(𝑡 + 2)(𝑡 + 3) 4! ∆4𝑓(𝑥4) 𝑃4(𝑥) = 15 + (𝑥 − 5) (5) + (𝑥 − 5)(𝑥 − 5 + 1) 2! (1) + (𝑥 − 5)(𝑥 − 5 + 1)(𝑥 − 5 + 2) 3! (0) + (𝑥 − 5)(𝑥 − 5 + 1)(𝑥 − 5 + 2)(𝑥 − 5 + 3) 4! (0) 𝑃4(𝑥) = 15 + (𝑥 − 5) (5) + (𝑥 − 5)(𝑥 − 4) 2 (1) 𝑃4(𝑥) = 15 + (𝑥 − 5) (5) + (𝑥 − 5)(𝑥 − 4) 2 (1) 𝑃4(𝑥) = 15 + 5𝑥 − 25 + (𝑥 − 5)(𝑥 − 4) 2 𝑃4(𝑥) = 5𝑥 − 10 + (𝑥 − 5)(𝑥 − 4) 2 𝑃4(𝑥) = 10𝑥 − 20 + 𝑥2 − 4𝑥 − 5𝑥 + 20 2 𝑃4(𝑥) = 𝑥2 + 𝑥 2 = 𝑥(𝑥 + 1) 2 Resuelva los siguientes ejercicios. ¡¡¡¡¡Le servirán muchísimo para resolver los problemas de los prácticos!!!!! Ejercicio 2: Utilice el polinomio de interpolación de Newton por Diferencias Finitas tanto de la forma regresiva como por la progresiva para todos los posibles polinomios que pueda conformar. Responda: a) Desarrolle la elaboración de scripts o funciones que le permitan armar un template que le permita realizar en este orden: 1) Dibujar únicamente todos los puntos en color rojo 2) Agregar el polinomio interpolante que pase por todos los puntos 3) Agregar el punto aproximado en k=1,43 en color verde b) ¿Existirá alguna función en Scilab para leer archivos (como para que los datos sean leídos desde ese archivo)?
Compartir