Interpolacion Newton Lagrange

47
UNIVERSIDAD DEL NORTE DEPARTAMENTO DE INGENIERÍA MECÁNICA FUNDAMENTOS DE MECÁNICA COMPUTACIONAL Ing. Alejandro Pacheco Sanjuán Interpolación: Interpolación: polinomios de Newton – polinomios de Lagrange Joseph Louis, conde de Lagrange

description

Metodos Numericos

Transcript of Interpolacion Newton Lagrange

UNIVERSIDAD DEL NORTEDEPARTAMENTO DE INGENIERÍA MECÁNICA

FUNDAMENTOS DE MECÁNICA COMPUTACIONAL

Ing. Alejandro Pacheco Sanjuán

Interpolación: Interpolación:

polinomios de Newton –

polinomios de Lagrange

Joseph Louis, conde de Lagrange

•Interpolación: Los datos a ser encontrados se encuentran

dentro del dominio de los datos observados.

Interpolación y Extrapolación

•Extrapolación: Los datos a ser encontrados se encuentran

fuera del dominio de los datos observados (no muy confiables)

• Utilizada para estimar valores en puntos en el rango de los datos observados.

• Es diferente a una regresión (aproximación)

Interpolación

• Una interpolación pasa exactamente por los puntos marcados por los datos.

• De esta forma, no existe ningún error en los datos puntuales.

El métodos más común utiliza polinomios de interpolación

Interpolación vs. regresión

Los mismos datos, diferente tipo de aproximación

• Dados n datos puntuales, ajustar un único polinomio de orden (n-1) a través de ellos.

(((( )))) 1n

n

2

321 xaxaxaaxf −−−−++++++++++++++++==== ...

Interpolación polinomial

• Se puede utilizar interpolación polinomial para determinar las a’s

• MATLAB utiliza la siguiente designación para los polinomios

n1n

2n

2

1n

1 pxpxpxpxf ++++++++++++++++==== −−−−

−−−−−−−−L)(

Polinomios de interpolación

Primer-orden Segundo-orden Tercer-orden

• Los polinomios de Newton y Lagrange resultan adecuados para determinar valores entre los datos puntuales (interpolación).

• Sin embargo, estos no proporcionan una forma polinomial de la forma convencional

2n1n pxpxpxpxf ++++++++++++++++==== −−−−−−−−L)(

Coeficientes de los polinomios de interpolación

• Se utilizan n datos para determinar n coeficientes

++++++++++++++++====

++++++++++++++++====

++++++++++++++++====

−−−−

−−−−−−−−

−−−−

−−−−−−−−

−−−−

−−−−−−−−

nn1n

2n

n2

1n

n1n

n21n

2n

22

1n

212

n11n

2n

12

1n

111

pxpxpxpxf

pxpxpxpxf

pxpxpxpxf

L

M

L

L

)(

)(

)(

n1n

2n

2

1n

1 pxpxpxpxf ++++++++++++++++==== −−−−

−−−−−−−−L)(

• Se pueden obtener con cualquier método matricial de solución de sistemas lineales pero el método no resulta eficiente.

====

−−−−−−−−

−−−−−−−−

−−−−−−−−

)(

)(

)(

3

2

1

3

2

1

3

2n

3

1n

3

2

2n

2

1n

2

1

2n

1

1n

1

xf

xf

xf

p

p

p

1xxx

1xxx

1xxx

O

L

L

Coeficientes de un polinomio de interpolación

• Existen métodos mas eficientes para encontrar las p’s.

• Los sistemas de ecuaciones en estos casos resultan ser mal condicionados, especialmente cuando se incrementa n.

• Se prefiere utilizar polinomios de bajo orden.

====

−−−−−−−− )(

)(

n

3

n

3

n

2n

n

1n

n

333

xf

xf

p

p

1xxx

1xxx

MM

L

MOMMM

O

• Ejemplo – Dadas las siguientes parejas de puntos:

23

43

2

2

3

111

43

2

2

3

1

)300()300()300(616.0)( ; 300

)250()250()250(675.0)( ; 250

)(

ppppxfx

ppppxfx

pxpxpxpxf

+++===

+++===

+++=

Coeficientes polinomiales

X 250 300 400 500

F(x) 0.675 0.616 0.525 0.457

43

2

2

3

111

43

2

2

3

111

43

2

2

3

111

)500()500()500(457.0)( ; 500

)400()400()400(525.0)( ; 400

)300()300()300(616.0)( ; 300

ppppxfx

ppppxfx

ppppxfx

+++===

+++===

+++===

====

4570

5250

6160

6750

p

p

p

p

1500500500

1400400400

1300300300

1250250250

4

3

2

1

23

23

23

23

.

.

.

.

)()(

)()(

)()(

)()(Matrices de

Vandermonde

)()det(1

1

ijnji

j

iij

V

V

αααααααα

αααα

−Π=

=

≤<≤

Matrices de Vandermonde43

2

2

3

1)( pxpxpxpxf +++=

>> cond(A)

9.306535523991324e+009 Matriz mal condicionada !

18300000001x00293700000

x00000427000x00000000260xf 23

..

..)(

++++−−−−

++++−−−−====

• Utilizar las “diferencias divididas” de Newton para los valores de la función.

)())((

))(()()( 2131211n xxxxbxxbbxf −−−−

−−−−−−−−−−−−++++

++++−−−−−−−−++++−−−−++++==== L

Polinomios de interpolación de Newton

• Los coeficientes de menor orden bi no cambian cuando se incrementa el orden de la interpolación

• Es fácil adicionar datos y conseguir un polinomio de mayor orden.

)())(( 1n21n xxxxxxb −−−−−−−−−−−−−−−−++++ L

Iniciar con la interpolación lineal: f1(x) = b1 + b2 (x −−−− x1 )

Utilizar triángulos similares

Interpolación lineal de Newton

)()()(

)()(

)()()()(

1

12

1211

12

12

1

11

xxxx

xfxfxfxf

xx

xfxf

xx

xfxf

−−−−−−−−

−−−−++++====

−−−−

−−−−====

−−−−

−−−−

• Fórmula para la interpolación lineal de Newton

• Ejemplo 1: interpolar e2 usando e1 y e5

(((( )))) (((( ))))(((( )))) (((( )))) (((( ))))1

12

1211 xx

xx

xfxfxfxf −−−−

−−−−

−−−−++++====

Interpolación lineal de Newton

• Ejemplo 2: Interpolar e2 usando e1.5 y e2.5

(((( )))) (((( )))) (((( )))) 4233614

71832411487183212

15

eee2f

151

1 ...

. ====−−−−

++++====−−−−−−−−

−−−−++++====

(((( )))) (((( )))) (((( )))) 33218501

4817418251248174512

5152

eee2f

515251

1 ....

....

... ====

−−−−++++====−−−−

−−−−

−−−−++++====

3891.7 exactoValor 2 =e

Interpolación lineal de Newton

Estimaciones

Logarítmica función

Interpolación lineal de Newton-exactitud de la interpolación-

Valores pequeños del espaciamiento ∆x proporcionan

un mejor estimado

Estimaciones lineales de ln(2)

• Interpolación cuadrática – requiere tres

puntos.

• Utilizar una parábola:

(((( )))) (((( )))) (((( ))))(((( ))))xxxxbxxbbxf −−−−−−−−++++−−−−++++====

Interpolación cuadrática de Newton

• Esta expresión es igual a:

(((( )))) (((( )))) (((( ))))(((( ))))2131212 xxxxbxxbbxf −−−−−−−−++++−−−−++++====

====

−−−−−−−−====

++++−−−−====

++++++++====

33

231322

2131211

2

3212

ba

xbxbba

xxbxbba

xaxaaxf )(

donde:

• Se deben obtener los coeficientes b’s.

• 1) Reemplazar x = x1, para obtener b1 = f(x1)

(((( )))) (((( )))) (((( ))))(((( ))))2131212 xxxxbxxbbxf −−−−−−−−++++−−−−++++====

Interpolación cuadrática de Newton

• 2) Utilizar b1 y reemplazar x = x2 para obtener b2

(((( )))) (((( )))) (((( ))))(((( )))) (((( ))))1121113112112 xfbxxxxbxxbbxf ========−−−−−−−−++++−−−−++++====

(((( )))) (((( )))) (((( )))) (((( ))))(((( )))) (((( ))))(((( )))) (((( ))))

12

122

222123122122

xx

xfxfb

xfxxxxbxxbxfxf

−−−−

−−−−====

====−−−−−−−−++++−−−−++++====

(((( )))) (((( ))))(((( )))) (((( )))) (((( )))) (((( ))))(((( )))) (((( ))))

(((( )))) (((( )))) (((( )))) (((( ))))1223

32313313

12

12132

xfxfxfxf

xfxxxxbxxxx

xfxfxfxf

−−−−−−−−

−−−−

====−−−−−−−−++++−−−−−−−−

−−−−++++====

• 3) Utilizar b1 y b2, y reemplazar x = x3 para obtener b3

Interpolación cuadrática de Newton

(((( )))) (((( )))) (((( )))) (((( ))))

13

12

12

23

23

3xx

xx

xfxf

xx

xfxf

b−−−−

−−−−

−−−−−−−−

−−−−

−−−−

====

b1 es una constante (orden 0 )

b2 proporciona un estimado de la pendiente (diferencias finitas)

b3 proporciona un estimado de la curvatura (diferencia de diferencias finitas)

Ejemplo: interpolar e2 utilizando e1, e3, y e5

(((( ))))(((( ))))(((( ))))

41148xf 5x

08620xf 3x

71832xf 1x

33

22

11

========

========

========

.

.

.

Interpolación de Newton (ejemplo 1)

8701315

13

ee

35

ee

b ;6836813

eeb ;71832b

1335

3

13

21 ... ====−−−−

−−−−

−−−−−−−−

−−−−

−−−−

========−−−−

−−−−========

(((( )))) (((( )))) (((( ))))(((( )))) 468123212870131268368718322f2 .*.*.. −−−−====−−−−−−−−++++−−−−++++====

3891.7_ =2 eexactoValor

Ejemplo: interpolar e2 utilizando e1, e1.5, y e2.5

( )( )( )

==

==

==

1825.125.2

4817.45.1

7183.21

33

22

11

xfx

xfx

xfx

Interpolación de Newton (ejemplo –utilizando diferentes valores de xi )

78272152

151

ee

5152

ee

b ;52683151

eeb ;71832b

1515152

3

151

21 ..

.....

.

...

.

====−−−−

−−−−

−−−−−−−−

−−−−

−−−−

========−−−−

−−−−========

(((( )))) (((( )))) (((( ))))(((( )))) 6365751212782721252683718322f2 ..*.*.. ====−−−−−−−−++++−−−−++++====

3891.7_ =2 eexactovalor

Interpolación cuadrática de Newton (ejemplo)

Interpolación cuadrática de Newton (ejemplo)

Estimados Lineal, cuadrático y cúbico de ln(2)

Función Logarítmica

Interpolación de Newton - Orden de interpolación-

Interpolaciones de mayor orden mejoran el valor estimado

• Forma general de los polinomios de interpolación de Newton

(((( )))) (((( )))) (((( ))))(((( ))))(((( ))))(((( ))))(((( )))) (((( )))) xxxxxxxxb

xxxxbxxbbxf

1n321n

2131211n

−−−−

−−−−

−−−−−−−−−−−−−−−−++++++++

++++−−−−−−−−++++−−−−++++====

LL

L

Polinomios de interpolación de Newton

• Las funciones en paréntesis cuadrados son las diferencias divididas de Newton.

(((( ))))[[[[ ]]]][[[[ ]]]]

[[[[ ]]]]121nnn

1233

122

11

xxxxfb

xxxfb

xxfb

xfb

,,,,

,,

,

L

M

−−−−====

====

====

====

• Primera diferencia

• Segunda diferencia

[[[[ ]]]](((( )))) (((( ))))

ji

ji

jixx

xfxfxxf

−−−−

−−−−====,

Diferencias divididas de Newton

• Segunda diferencia

• La diferencia de dos diferencias finitas

[[[[ ]]]][[[[ ]]]] [[[[ ]]]]

ki

kjji

kjixx

xxfxxfxxxf

−−−−

−−−−====

,,,,

La n-ésima diferencia dividida

[[[[ ]]]][[[[ ]]]] [[[[ ]]]]

1n

122n1n231nn121nn

xx

xxxxfxxxxfxxxxf

−−−−

−−−−==== −−−−−−−−−−−−

−−−−

,,,,,,,,,,,,

KKK

Diferencias divididas de Newton

Proceso iterativo :

1. Evaluar todas las diferencias de primer orden; salvar f (x1) para b1

2. Evaluar de segundo orden utilizando las de primer orden; salvar f [x2, x1] para b2

3. Continuar hasta orden n-ésimo, salvando los valores en la parte superior o inferior de las columnas de diferencias.

[[[[ ]]]]

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]1223

12

12122

111

1n1n2131211n

x xfx xfx xxfb

xx

xfxfx xfb

xfxfb

xxxxbxxxxbxxbbxf

−−−−========

−−−−

−−−−========

========

−−−−−−−−++++++++−−−−−−−−++++−−−−++++==== −−−−−−−−

,,,,

,

)(

)()())(()()( LL

Polinomios de interpolación de Newton

[[[[ ]]]]

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]

15

12342345123455

14

12323412344

13

12231233

xx

xx xxfxx xxfxx xxxfb

xx

xx xfxx xfxx xxfb

xxx xxfb

−−−−

−−−−========

−−−−

−−−−========

−−−−========

,,,,,,,,,,

,,,,,,,

,,

• No se requiere resolver un sistema lineal de ecuaciones• El espaciamiento entre los datos no necesariamente es uniforme y xi

puede estar en un orden arbitrario.

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]] [[[[ ]]]],,,,,,,)( i4ii3ii1i2ii1iiii xxfxxfxxxfxxfxfyxi LL ++++++++++++++++++++====

[[[[ ]]]][[[[ ]]]] [[[[ ]]]]

1n

122n1n131nn

121nnn

1n1n2131211n

xx

x xxxfx xxxfx xxxfb

xxxxbxxxxbxxbbxf

−−−−

−−−−========

−−−−−−−−++++++++−−−−−−−−++++−−−−++++====

−−−−−−−−−−−−

−−−−

−−−−−−−−

,,,,,,,,,,

)()())(()()(

,

,

LL

LL

L

1ra 2da 3ra 4ta

Polinomios de interpolación de Newton

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]] [[[[ ]]]][[[[ ]]]] [[[[ ]]]] [[[[ ]]]] [[[[ ]]]][[[[ ]]]] [[[[ ]]]] [[[[ ]]]][[[[ ]]]] [[[[ ]]]][[[[ ]]]]

)(

,)(

,,,)(

,,,,,,)(

,,,,,,,,,,)(

,,,,,,,,,,)(

66

5655

4564544

34563453433

2345623452342322

1234512341231211

xfx6

xxfxfx5

xxxfxxfxfx4

xxxxfxxxfxxfxfx3

xxxxxfxxxxfxxxfxxfxfx2

xxxxxfxxxxfxxxfxxfxfx1

Utilizar los elementos en la parte superior (= bn) para evaluar la

interpolación de la función f(x)

1ra 2da 3ra 4ta

El error relativo en la mayoría de los casos

decrece con el incremento del orden de la

Polinomios de interpolación de Newton- Porcentaje de error relativo-

del orden de la interpolación

El error también es

sensible a la posición y a

la secuencia de los datos

originales

(x1 , x2 , x3 , x4 , …, xn)

)3,4,1,0(=== )x,x,x,(x usando 2x ef(x) 4321

xenEstimar

[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]

571970189375237182821000000101

xxxxfxxxfxxfxfxi i1i2i3ii1i2ii1iii

....

,,,,,,)(

−−−−====∆∆∆∆−−−−====∆∆∆∆−−−−====∆∆∆∆

++++++++++++++++++++++++

Interpolación de Newton (ejemplo 2)

93618754x1xx57197011xx8937523x718282112f

22407121xx8937523x718282112f

3

2

.))((.)(..)(

.)(..)(

====−−−−−−−−++++−−−−++++++++====

====−−−−++++++++====

085542034

43x

5126134598155443

13x 14x

60966282932917718282212

03x 04x 01x

.

..

...

−−−−====∆∆∆∆

−−−−====∆∆∆∆−−−−====∆∆∆∆

−−−−====∆∆∆∆−−−−====∆∆∆∆−−−−====∆∆∆∆

• El error para los polinomios de interpolación de Newton pueden ser estimado como:

[[[[ ]]]](((( ))))(((( )))) (((( ))))n2111nn1nn xxxxxxxxxxfR −−−−−−−−−−−−≅≅≅≅ −−−−++++ LK,,,,

Polinomios de interpolación de Newton- Estimados del error -

• El término un orden superior al orden del polinomio

• Muy similar al orden de truncamiento en los polinomios de Taylor

[[[[ ]]]](((( ))))(((( )))) (((( ))))n2111nn1nn xxxxxxxxxxfR −−−−−−−−−−−−≅≅≅≅ −−−−++++ LK,,,,

>> x = [0 1 4 3 1.5 2.5]

x =

0 1.0000 4.0000 3.0000 1.5000 2.5000

>> y = exp(x)

y =

1.0000 2.7183 54.5982 20.0855 4.4817 12.1825

>> xx = 0:0.1:4; yy=exp(xx);

>> [b, yint] = Newtoninterp(x, y, xx)b =

1.0000 1.7183 3.8938 1.5720 0.3312 0.0697

2.7183 17.2933 8.6097 2.0687 0.5055 0

54.5982 34.5126 9.6440 2.8270 0 0

20.0855 10.4026 5.4035 0 0 0 Tabla

Coeficientes del polinomio de Newton

Polinomios de interpolación de Newton

20.0855 10.4026 5.4035 0 0 0

4.4817 7.7008 0 0 0 0

12.1825 0 0 0 0 0

yint =

Columns 1 through 8

1.0000 1.1355 1.2670 1.4000 1.5394 1.6893 1.8536 2.0356

Columns 9 through 16

2.2384 2.4651 2.7183 3.0008 3.3153 3.6649 4.0525 4.4817

Columns 17 through 24

4.9561 5.4801 6.0584 6.6964 7.4003 8.1770 9.0343 9.9809

Columns 25 through 32

11.0266 12.1825 13.4606 14.8744 16.4387 18.1698 20.0855 22.2054

Columns 33 through 40

24.5506 27.1441 30.0107 33.1774 36.6729 40.5284 44.7770 49.4543

Column 41

54.5982

>> H = plot(x,y,'mo',xx,yy,'r',xx,yint,'bx'); set(H,'LineWidth',3);

Tabla

f(x) = ex, Interpolación en [0 1 4 3 1.5 2.5]

Polinomios de interpolación de Newton

• Proporcionan el mismo resultado que los polinomios de Newton pero por un camino diferente

)()(

)()()()()()()()()(

in

j

i

i

n

1i

inn22111n

xPxxxL

xfxLxfxLxfxLxfxLxf

====−−−−

−−−−====

====++++++++++++========

−−−−

∏∏∏∏

∑∑∑∑L

Polinomios de interpolación de Lagrange

)())(())((

)())(())((

)()(

nk1ii1ii2i1i

n1i1i21

iiij1j ji

i

xxxxxxxxxx

xxxxxxxxxx

xPxxxL

−−−−−−−−−−−−−−−−−−−−

−−−−−−−−−−−−−−−−−−−−====

====−−−−

====

++++−−−−

++++−−−−

≠≠≠≠====

∏∏∏∏

LL

LLLL

ijji

ji

ii

iiii

xL

xLij

xP

xPxL

queNote δδδδ=⇒

=≠

===)(

0)( ;

1)(

)()( ; ij

:

• Polinomio de interpolación de 1er orden

• Polinomio de interpolación de 2do orden

)()()()()()( 2

12

11

21

222111 xf

xx

xxxf

xx

xxxfxLxfLxf

−−−−

−−−−++++

−−−−

−−−−====++++====

Polinomios de interpolación de Lagrange

• Polinomio de interpolación de 3er orden

)())((

))(()(

))((

))(()(

))((

))(()( 3

2313

212

3212

311

3121

322 xf

xxxx

xxxxxf

xxxx

xxxxxf

xxxx

xxxxxf

−−−−−−−−

−−−−−−−−++++

−−−−−−−−

−−−−−−−−++++

−−−−−−−−

−−−−−−−−====

)())()((

))()(()(

))()((

))()((

)())()((

))()(()(

))()((

))()(()(

4

342414

3213

432313

421

2

423212

4311

413121

4324

xfxxxxxx

xxxxxxxf

xxxxxx

xxxxxx

xfxxxxxx

xxxxxxxf

xxxxxx

xxxxxxxf

−−−−−−−−−−−−

−−−−−−−−−−−−++++

−−−−−−−−−−−−

−−−−−−−−−−−−++++

−−−−−−−−−−−−

−−−−−−−−−−−−++++

−−−−−−−−−−−−

−−−−−−−−−−−−====

Polinomios de interpolación de Lagrange-interpolación de primer orden-

L1(x) y L2(x) son líneas rectas

L3(x)f(x3)L1(x)f(x1)

Polinomios de interpolación de Lagrange-interpolación de segundo orden-

L2(x)f(x2)

x1 x2x3

f(x) = ex

Interpolación en [0 4]

Polinomios de interpolación de Lagrange-interpolación de primer orden-

f(x) = ex,

Interpolación en [0 1 4]

Polinomios de interpolación de Lagrange-interpolación de segundo orden-

f(x) = ex,

Interpolación en [0 1 4 3]

Polinomios de interpolación de Lagrange-interpolación de tercer orden-

» x=[0 4]

x =

0 4

» y=exp(x)

y =

1.0000 54.5982

» c=Lagrange_coef(x,y)

c =

-0.2500 13.6495

» t=2; p=Lagrange_eval(t,x,c)

p =

27.7991

» x=[0 1 4]

x =

0 1 4

» y=exp(x)

y =

1.0000 2.7183 54.5982

» c=Lagrange_coef(x,y)

c =

0.2500 -0.9061 4.5498

» t=2; p=Lagrange_eval(t,x,c)

p =

12.2241

1er-orden 2do-orden

» x=[0 1 4 3]

x =

0 1 4 3

» y=exp(x)

y =

1.0000 2.7183 54.5982 20.0855

» c=Lagrange_coef(x,y)

c =

-0.0833 0.4530 4.5498 -3.3476

» t=2; p=Lagrange_eval(t,x,c)

p =

5.9362

3er-orden

Solución exacta

e 2 = 7.389056

La extrapolación

debe evitarse en

lo posible

Extrapolación

lo posible

2x251

1)x(f

++++====

La función de Runge-oscilaciones-

2251

1

x+=f(x)

La función de Runge-oscilaciones-

2251

1

x+=f(x)

4to-orden 10o-orden

Línea recta-oscilaciones-

La Distribución Normal

−=

2exp

2

1 2x

πG(x)

La campana de Gauss

La distribución Normal Estándar fue introducida por

Abraham de Moivre alrededor de 1721 en sus estudios

de teoría de la probabilidad. Frecuentemente se

requiere de integrar esta “campana de Gauss” para

determinar probabilidades en muchas aplicaciones en

física e ingeniería, e.g., estado de base de un oscilador

armónico.

La Distribución Normal

Determinar la integral definida entre (–inf, inf) de la

distribución Normal no representa problemas, pero

resulta mas difícil determinar la integral en una de las

porciones del dominio. De hecho no existe una forma

cerrada para la integral definida en un intervalo.

Halle los coeficientes de un polinomio de

interpolación de orden 10 para determinar una

aproximación de la integral definida de la función

Normal G(x) en el intervalo de (–inf, xa] para xa = -0.1,

-0.5, -1.0, -2.0, -3.0. Compare estos resultados con la

aproximación de las integrales utilizando un ajuste

polinomial de orden 10 de la campana.

Fecha de entrega: Lunes 15 de Septiembre de 2014