métodos numéricos grado en ingeniería informática tema 3...

32
ULPGCLogo Métodos Numéricos Grado en Ingeniería Informática Tema 3: Interpolación de Funciones I Luis Alvarez León Univ. de Las Palmas de G.C. Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 32

Upload: vuongbao

Post on 30-Dec-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Métodos NuméricosGrado en Ingeniería Informática

Tema 3: Interpolación de Funciones I

Luis Alvarez León

Univ. de Las Palmas de G.C.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 32

Page 2: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 2 / 32

Page 3: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 3 / 32

Page 4: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesPlanteamiento del problema de interpolación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 32

Page 5: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesPlanteamiento del problema de interpolación

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 5 / 32

Page 6: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesInterpolación lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 32

Page 7: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesInterpolación lineal

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 32

Page 8: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesInterpolación polinómica

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 32

Page 9: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesInterpolación polinómica

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 32

Page 10: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 32

Page 11: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesPolinomios base de Lagrange

T (0) = 20, T (2) = 18, T (4) = 16, T (6) = 17, T (8) = 21, T (10) = 23

Polinomios base de Lagrange

P0(x) = (x−2)(x−4)(x−6)(x−8)(x−10)(0−2)(0−4)(0−6)(0−8)(0−10)

P2(x) = (x−0)(x−4)(x−6)(x−8)(x−10)(2−0)(2−4)(2−6)(2−8)(2−10)

P4(x) = (x−0)(x−2)(x−6)(x−8)(x−10)(4−0)(4−2)(4−6)(4−8)(4−10)

P6(x) = (x−0)(x−2)(x−4)(x−8)(x−10)(6−0)(6−2)(6−4)(6−8)(6−10)

P8(x) = (x−0)(x−2)(x−4)(x−6)(x−10)(8−0)(8−2)(8−4)(8−6)(8−10)

P10(x) = (x−0)(x−2)(x−4)(x−6)(x−8)(10−0)(10−2)(10−4)(10−6)(10−8)

Polinomio Interpolador

P5(x) = 20P0(x)+18P2(x)+16P4(x)+17P6(x)+21P8(x)+23P10(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 32

Page 12: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesAproximación de la función ex por un polinomio de grado 2

Interpolamos la función ex en los puntos 0,−1,1

Polinomios base de Lagrange

P0(x) = (x+1)(x−1)(0−1)(0+1)

P−1(x) = (x−0)(x−1)2

P1(x) = (x+1)(x−0)2

Polinomio Interpolador

P2(x) = e0P0(x) + e−1P−1(x) + e1P1(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 32

Page 13: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de funcionesComparación de la función ex (trazo discontinuo) y P2(x)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 32

Page 14: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 32

Page 15: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesError de interpolación de Lagrange

TeoremaSea f (x) una función, y PN(x) su polinomio interpolador de Lagrangeen los puntos {xi}i=0,..,N ⊂ [a,b] y x ∈ [a,b], entonces

f (x)− PN(x) =f N+1)(�)

(N + 1)!ΠN

i=0(x − xi)

donde � es un valor intermedio perteneciente a [a,b].

ProblemaCalcular la expresión del error de interpolación al aproximar la funciónf (x) = sen(x) en el intervalo [0,2�] interpolando en los puntos 0, �2 , �y 3�

2 , y acotarlo superiormente.

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 15 / 32

Page 16: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesPolinomios base de Lagrange

Solución:f (x) = sen(x) f (x)− PN(x) = f N+1)(�)

(N+1)! ΠNi=0(x − xi)

f ′(x) = cos(x)

f ′′(x) = − sen(x) Los puntos a interpolar son 0, �/2, �,3�/2f ′′′(x) = −cos(x)

f 4)(x) = sen(x)

La fórmula del error de interpolación es

f (x)− P3(x) =sen(�)

4!x(

x − �

2

)(x − �)

(x − 3�

2

)

Como el valor máximo del sen(x) es 1 y el valor más alejado de lospuntos de interpolación en [0,2�] es 2� podemos acotar el error como:

∣f (x)− P3(x)∣ ≤ 14!

2�(

2� − �

2

)(2� − �)

(2� − 3�

2

)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 32

Page 17: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 32

Page 18: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesElección de los puntos de interpolación

TeoremaSea N ≥ 0, y un intervalo [a,b] Se consideran los puntos xi dados por

xi = a +b − a

2

(1 + cos

(2i + 12N + 2

))i = 0, ...,N

entonces

maxx∈[a,b] ∣ ΠNi=0(x − xi) ∣=

(b − a

2

)N+1 12N ≤ maxx∈[a,b] ∣ ΠN

j=0(x − x̃j) ∣

para cualquier otra elección posible de valores de interpolación x̃j .

Por tanto, utilizando este resultado, el error de interpolación máximo viene de-terminado por:

∣ f (x)− PN(x) ∣≤maxx∈[a,b]f N+1)(�)

(N + 1)!2N

(b − a

2

)N+1

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 32

Page 19: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesElección de puntos de interpolación

xi = a +b − a

2

(1 + cos

(2i + 12N + 2

))i = 0, ...,N

EjemploSe considera [a,b] = [0,1] y N = 5 (es decir 6 puntos deinterpolación). Los puntos de interpolación dados por el teoremaanterior son:

x0 = .982 96x1 = .853 55x2 = .629 41x3 = .370 59x4 = .146 45

x5 = 1.703 7× 10−2

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 32

Page 20: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesPolinomios base de Lagrange

ProblemaCalcular el error máximo de interpolación en el intervalo [0,1] alinterpolar la función cos(x) en los puntos dados por los polinomios deChebyshev tomando N = 5.

El error de interpolación viene dado por la expresión:

∣ f (x)− PN(x) ∣≤maxx∈[a,b]

∣∣f N+1)(�)∣∣

(N + 1)!2N

(b − a

2

)N+1

en nuestro caso N = 5 y la derivada sexta de cos(x) es − cos(x) cuyomáximo en valor absoluto es 1. Por tanto obtenemos:

∣ f (x)− P5(x) ∣≤ 16!25

(12

)6

= 6.78× 10−7

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 32

Page 21: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 32

Page 22: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesAproximación de la función ex

Si aproximamos la función ex en el intervalo [0,1] utilizando los puntos :

xi =12

(1 + cos

(2i + 12N + 2

))i = 0, ...,N

El error de interpolación viene acotado por :

∣ ex − PN(x) ∣ ≤ e(N + 1)!2N

(12

)N+1

Por tanto si u es la unidad de redondeo y se verifica que

e(N + 1)!2N

(12

)N+1

≤ u ⋅ ex

Entonces la aproximación será la mejor posible dentro de la aritmética. En esteejemplo esto ocurre cuando N = 6, (en una aritmética de 32 bits). Asi, tomandoun polinomio de grado N = 6, es decir 7 puntos de interpolación, obtenemosya la mejor aproximación posible de ex en el intervalo [0,1].

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 32

Page 23: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesAproximación de la función ex

También podemos aproximar funciones utilizando el desarrollo de Taylor que viene dado por

Por ejemplo, consideremos f (x) = cos(x) en el intervalo [0, �4 ], x0 = 0

cos(x) = 1− x3

3!+

x5

5!− ...+ (−1)N x2N+1

(2N + 1)!+ (−1)N+1 sin(�)x2N+2

(2N + 2)!

La mejor aproximación de cos(x) en una aritmética vendrá dada por la condición∣∣∣∣sin(�)x2N+2

(2N + 2)!

∣∣∣∣ ≤ u∣cos(x)∣ →

∣∣∣∣∣ (�/4)2N+2

cos(x)(2N + 2)!

∣∣∣∣∣ ≤ 2 (�/4)2N+2√

2(2N + 2)!≤ u

Aritmética Precisión Simple N = 4 → 2 (�/4)2N+2√

2(2N + 2)!= 3,4806× 10−8

Aritmética Precisión Double N = 8 → 2 (�/4)2N+2√

2(2N + 2)!= 2,8562× 10−18

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 32

Page 24: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 24 / 32

Page 25: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−202−0 = −1

2 : 1816−184−2 = −1

4 : 1617−166−4 = 1

2

6 : 1721−178−6 = 2

8 : 2123−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 25 / 32

Page 26: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−202−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1

4 : 16 1/2−(−1)6−2 = 3

817−166−4 = 1

2

6 : 17 2−1/28−4 = 3

821−178−6 = 2

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 26 / 32

Page 27: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−202−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

817−166−4 = 1

23/8−3/8

8−2 = 0

6 : 17 2−1/28−4 = 3

821−178−6 = 2 −1/4−3/8

10−4 = − 548

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 27 / 32

Page 28: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−202−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

80−1/16

8−0 = − 1128

17−166−4 = 1

23/8−3/8

8−2 = 0

6 : 17 2−1/28−4 = 3

8−5/48−0

10−2 = − 5384

21−178−6 = 2 −1/4−3/8

10−4 = − 548

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 28 / 32

Page 29: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−202−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

80−1/16

8−0 = − 1128

17−166−4 = 1

23/8−3/8

8−2 = 0 −5/384−(−1/128)10−0 = − 1

1920

6 : 17 2−1/28−4 = 3

8−5/48−0

10−2 = − 5384

21−178−6 = 2 −1/4−3/8

10−4 = − 548

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 29 / 32

Page 30: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Interpolación de FuncionesMétodo de diferencias de Newton

0 : 2018−202−0 = −1

2 : 18 −1−(−1)4−0 = 0

16−184−2 = −1 3/8−0

6−0 = 116

4 : 16 1/2−(−1)6−2 = 3

80−1/16

8−0 = − 1128

17−166−4 = 1

23/8−3/8

8−2 = 0 −5/384−(−1/128)10−0 = − 1

1920

6 : 17 2−1/28−4 = 3

8−5/48−0

10−2 = − 5384

21−178−6 = 2 −1/4−3/8

10−4 = − 548

8 : 21 1−210−6 = −1

423−2110−8 = 1

10 : 23

P(x) = 20 −1x +0x(x−2) + 116x(x−2)(x−4) − 1

128x(x−2)(x−4)(x−6)

− 11920x(x − 2)(x − 4)(x − 6)(x − 8)

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 30 / 32

Page 31: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Contenido

1 Introducción

2 Interpolación de funciones utilizando los polinomios de Lagrange

3 El error de interpolación

4 Elección de los puntos de interpolacion óptimos para minimizar elerror

5 Aproximación de funciones elementales utilizando polinomios

6 El método de diferencias de Newton para calcular el polinomiointerpolador

7 Práctica 3. Interpolación de funciones

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 31 / 32

Page 32: Métodos Numéricos Grado en Ingeniería Informática Tema 3 ...lalvarez/teaching/mn/2010MnTransparenciasTema3...6 El método de diferencias de Newton para calcular el polinomio interpolador

ULPGCLogo

Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 32