Polinomio de Newton Interpolación y extrapolaciónmenzaque/0795/2010/filminas0427.p… · deber al...

Post on 18-Jun-2020

3 views 0 download

Transcript of Polinomio de Newton Interpolación y extrapolaciónmenzaque/0795/2010/filminas0427.p… · deber al...

Aproximación de funciones.InterpolaciónPolinomio de Newton

Interpolación y extrapolación

Interpolación

x ∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

Extrapolación

x 6∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

¿Hay diferencia entre interpolación y extrapolación?

ejemplo7.m muestra que aunque la interpolación sea buena laextrapolación no necesariamente lo es.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Interpolación y extrapolación

Interpolación

x ∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

Extrapolación

x 6∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

¿Hay diferencia entre interpolación y extrapolación?

ejemplo7.m muestra que aunque la interpolación sea buena laextrapolación no necesariamente lo es.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Interpolación y extrapolación

Interpolación

x ∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

Extrapolación

x 6∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

¿Hay diferencia entre interpolación y extrapolación?

ejemplo7.m muestra que aunque la interpolación sea buena laextrapolación no necesariamente lo es.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Interpolación y extrapolación

Interpolación

x ∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

Extrapolación

x 6∈[

mıni=0,...,n

xi, maxi=0,...,n

xi

]

¿Hay diferencia entre interpolación y extrapolación?

ejemplo7.m muestra que aunque la interpolación sea buena laextrapolación no necesariamente lo es.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Errores y tiempos de ejecución

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(1). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(0). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(0,99). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Errores y tiempos de ejecución

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(1). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(0). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(0,99). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Errores y tiempos de ejecución

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(1). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(0). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Interpolar la función f (x) = xk en el intervalo [0,001,k] usando lospuntos [0,001 (1 : k)/k]. Calcular el valor de Pk(0,99). Graficar losvalores obtenidos para k = 1 : 200. Analizar los resultados obtenidos.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Para los ejemplos anteriores graficar el tiempo de ejecución enfunción del grado del polinomio. Comparar con el número deoperaciones realizadas.

ConclusiónLos ejemplos anteriores muestran que:

Para grandes valores de n, tanto en los casos de interpolacióncomo de extrapolación se producen grandes errores en laevaluación de la función.

El tiempo de evaluación aumenta cuadraticamente en ladimensión del polinomio.

Como el polinomio interpolatorio es único estos echos sólo se puedendeber al número de operaciones.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Polinomio interpolatorio de Newton

Sean Pk−1(x) y Pk(x) los polinomios de grado a lo sumo k−1 y k queinterpolan a f (x) en los puntos x0, . . . ,xk−1 y x0, . . . ,xkrespectivamente.

¿Qué le falta a Pk−1(x) para se Pk(x)?

Pk(x)−Pk−1(x) polinomio de grado a lo sumo k tal que para todoi = 0, · · · ,k−1:

Pk(xi)−Pk−1(xi) = 0

Pk(x)−Pk−1(x) = Ck ∗Qk(x)

Qk(x) =k−1

∏j=0

(x− x j)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Polinomio interpolatorio de Newton

Sean Pk−1(x) y Pk(x) los polinomios de grado a lo sumo k−1 y k queinterpolan a f (x) en los puntos x0, . . . ,xk−1 y x0, . . . ,xkrespectivamente.

¿Qué le falta a Pk−1(x) para se Pk(x)?

Pk(x)−Pk−1(x) polinomio de grado a lo sumo k tal que para todoi = 0, · · · ,k−1:

Pk(xi)−Pk−1(xi) = 0

Pk(x)−Pk−1(x) = Ck ∗Qk(x)

Qk(x) =k−1

∏j=0

(x− x j)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Polinomio interpolatorio de Newton

Sean Pk−1(x) y Pk(x) los polinomios de grado a lo sumo k−1 y k queinterpolan a f (x) en los puntos x0, . . . ,xk−1 y x0, . . . ,xkrespectivamente.

¿Qué le falta a Pk−1(x) para se Pk(x)?

Pk(x)−Pk−1(x) polinomio de grado a lo sumo k tal que para todoi = 0, · · · ,k−1:

Pk(xi)−Pk−1(xi) = 0

Pk(x)−Pk−1(x) = Ck ∗Qk(x)

Qk(x) =k−1

∏j=0

(x− x j)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Polinomio interpolatorio de Newton

Sean Pk−1(x) y Pk(x) los polinomios de grado a lo sumo k−1 y k queinterpolan a f (x) en los puntos x0, . . . ,xk−1 y x0, . . . ,xkrespectivamente.

¿Qué le falta a Pk−1(x) para se Pk(x)?

Pk(x)−Pk−1(x) polinomio de grado a lo sumo k tal que para todoi = 0, · · · ,k−1:

Pk(xi)−Pk−1(xi) = 0

Pk(x)−Pk−1(x) = Ck ∗Qk(x)

Qk(x) =k−1

∏j=0

(x− x j)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

i = 0, . . . ,k−1

Pk(xi) = Pk−1(xi)+Ck ∗Qk(xi) = Pk−1(xi) = fi

xk

fk = Pk(xk) = Pk−1(xk)+Ck ∗Qk(xk) = Pk−1(xk)+Ck

k−1

∏j=0

(xk− x j)

luego

Ck =fk−Pk−1(xk)

∏k−1j=0 (xk− x j)

.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

i = 0, . . . ,k−1

Pk(xi) = Pk−1(xi)+Ck ∗Qk(xi) = Pk−1(xi) = fi

xk

fk = Pk(xk) = Pk−1(xk)+Ck ∗Qk(xk) = Pk−1(xk)+Ck

k−1

∏j=0

(xk− x j)

luego

Ck =fk−Pk−1(xk)

∏k−1j=0 (xk− x j)

.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

i = 0, . . . ,k−1

Pk(xi) = Pk−1(xi)+Ck ∗Qk(xi) = Pk−1(xi) = fi

xk

fk = Pk(xk) = Pk−1(xk)+Ck ∗Qk(xk) = Pk−1(xk)+Ck

k−1

∏j=0

(xk− x j)

luego

Ck =fk−Pk−1(xk)

∏k−1j=0 (xk− x j)

.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Pk(x) = Pk−1(x)+fk−Pk−1(xk)

∏k−1j=0 (xk− x j)

∗Qk(x)

Pk(x) = Pk−1(x)+fk−Pk−1(xk)

Qk(xk)∗Qk(x)

Diferencia dividida

Se denomina direfencia dividida de orden k de f en los puntosx0, . . . ,xk al número:

Ck =fk−Pk−1(xk)

Qk(xk)

y se la denota por:f [x0, . . . ,xk] .

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Pk(x) = Pk−1(x)+fk−Pk−1(xk)

∏k−1j=0 (xk− x j)

∗Qk(x)

Pk(x) = Pk−1(x)+fk−Pk−1(xk)

Qk(xk)∗Qk(x)

Diferencia dividida

Se denomina direfencia dividida de orden k de f en los puntosx0, . . . ,xk al número:

Ck =fk−Pk−1(xk)

Qk(xk)

y se la denota por:f [x0, . . . ,xk] .

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Pk(x) = Pk−1(x)+fk−Pk−1(xk)

∏k−1j=0 (xk− x j)

∗Qk(x)

Pk(x) = Pk−1(x)+fk−Pk−1(xk)

Qk(xk)∗Qk(x)

Diferencia dividida

Se denomina direfencia dividida de orden k de f en los puntosx0, . . . ,xk al número:

Ck =fk−Pk−1(xk)

Qk(xk)

y se la denota por:f [x0, . . . ,xk] .

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Para calcular Pk(x) k = 1, . . . ,n se necesita:

Pk−1(x)fk

Qk(x)

P0(x)Es el polinomio que interpola a la función en el punto x0

P0(x) = f0

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Para calcular Pk(x) k = 1, . . . ,n se necesita:

Pk−1(x)fk

Qk(x)

P0(x)Es el polinomio que interpola a la función en el punto x0

P0(x) = f0

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Para calcular Pk(x) k = 1, . . . ,n se necesita:

Pk−1(x)fk

Qk(x)

P0(x)Es el polinomio que interpola a la función en el punto x0

P0(x) = f0

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Para calcular Pk(x) k = 1, . . . ,n se necesita:

Pk−1(x)fk

Qk(x)

P0(x)Es el polinomio que interpola a la función en el punto x0

P0(x) = f0

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Para calcular Pk(x) k = 1, . . . ,n se necesita:

Pk−1(x)fk

Qk(x)

P0(x)Es el polinomio que interpola a la función en el punto x0

P0(x) = f0

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

P0(x) = f0

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

P0(x) = f0

P1(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

P0(x) = f0

P1(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)

P2(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)+

f2−P1(x2)Q2(x2)

Q2(x)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

P0(x) = f0

P1(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)

P2(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)+

f2−P1(x2)Q2(x2)

Q2(x)

P3(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)+

f2−P1(x2)Q2(x2)

Q2(x)+f3−P2(x3)

Q3(x3)Q3(x)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

P0(x) = f0

P1(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)

P2(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)+

f2−P1(x2)Q2(x2)

Q2(x)

P3(x) = f0 +f1−P0(x1)

Q1(x1)Q1(x)+

f2−P1(x2)Q2(x2)

Q2(x)+f3−P2(x3)

Q3(x3)Q3(x)

...

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Ejemplo

xi fi

1 12 43 9

Se busca

P2(x) = a0 +a1(x−1)+a2(x−1)(x−2).

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Ejemplo

xi fi

1 12 43 9

Se busca

P2(x) = a0 +a1(x−1)+a2(x−1)(x−2).

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

= 1 + 3 (x−1) = 3x−2

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

= 1 + 3 (x−1) = 3x−2

P2(x) = 1+3(x−1)+f (x2)−P1(x2)

(x2− x0)(x2− x1)(x− x0)(x− x1)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

= 1 + 3 (x−1) = 3x−2

P2(x) = 1+3(x−1)+f (x2)−P1(x2)

(x2− x0)(x2− x1)(x− x0)(x− x1)

= 1+3(x−1)+9−7

(3−1)(3−2)(x−1)(x−2)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

= 1 + 3 (x−1) = 3x−2

P2(x) = 1+3(x−1)+f (x2)−P1(x2)

(x2− x0)(x2− x1)(x− x0)(x− x1)

= 1+3(x−1)+9−7

(3−1)(3−2)(x−1)(x−2)

= 1 + 3 (x−1)+ 1 (x−1)(x−2)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

= 1 + 3 (x−1) = 3x−2

P2(x) = 1+3(x−1)+f (x2)−P1(x2)

(x2− x0)(x2− x1)(x− x0)(x− x1)

= 1+3(x−1)+9−7

(3−1)(3−2)(x−1)(x−2)

= 1 + 3 (x−1)+ 1 (x−1)(x−2)= 3x−2+

(x2−3x+2

)Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Procedimiento

P0(x) = f (x0) = 1

P1(x) = 1+f (x1)−P0(x1)

x1− x0(x− x0)

= 1+4−12−1

(x−1)

= 1 + 3 (x−1) = 3x−2

P2(x) = 1+3(x−1)+f (x2)−P1(x2)

(x2− x0)(x2− x1)(x− x0)(x− x1)

= 1+3(x−1)+9−7

(3−1)(3−2)(x−1)(x−2)

= 1 + 3 (x−1)+ 1 (x−1)(x−2)= 3x−2+

(x2−3x+2

)= x2.

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Implementar el método de Newton.

Pk(x) = ∑ki=0CkQk(x)�

f u n c t i o n pz=evalnewton1 ( c , x , z )k=columns ( c ) ;pz =0;f o r j =1: kwjm1=c ( j ) ;f o r i =1: j−1wj=wjm1∗ ( z−x ( i ) ) ;wjm1=wj ;

endpz=pz+wj ;

endend� �

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Implementar el método de Newton.

Pk(x) = ∑ki=0CkQk(x)�

f u n c t i o n pz=evalnewton1 ( c , x , z )k=columns ( c ) ;pz =0;f o r j =1: kwjm1=c ( j ) ;f o r i =1: j−1wj=wjm1∗ ( z−x ( i ) ) ;wjm1=wj ;

endpz=pz+wj ;

endend� �

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

�f u n c t i o n pz=evalnewton ( c , x , z )k=columns ( c ) ;pz=zeros ( s ize ( z ) ) ;f o r j =1: kwj=c ( j )∗ones ( s ize ( z ) ) ;f o r i =1: j−1wj=wj .∗ ( z−x ( i ) ) ;

endpz=pz+wj ;

endend� �

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Ejercicio

Usar evalnewton.m para resolver el ejemplo anterior.

Ejercicio

Contar las operaciones necesarias para evaluar un polinomio usandoevalnewton.m.

Ejercicio

Elaborar un programa que calcule la direfencia dividida de orden k def en los puntos x0, . . . ,xk usando la fórmula

Ck =fk−Pk−1(xk)

Qk(xk)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Ejercicio

Usar evalnewton.m para resolver el ejemplo anterior.

Ejercicio

Contar las operaciones necesarias para evaluar un polinomio usandoevalnewton.m.

Ejercicio

Elaborar un programa que calcule la direfencia dividida de orden k def en los puntos x0, . . . ,xk usando la fórmula

Ck =fk−Pk−1(xk)

Qk(xk)

Computación

Aproximación de funciones.InterpolaciónPolinomio de Newton

Ejercicio

Usar evalnewton.m para resolver el ejemplo anterior.

Ejercicio

Contar las operaciones necesarias para evaluar un polinomio usandoevalnewton.m.

Ejercicio

Elaborar un programa que calcule la direfencia dividida de orden k def en los puntos x0, . . . ,xk usando la fórmula

Ck =fk−Pk−1(xk)

Qk(xk)

Computación