capitulo i interpolacion y aproximacion...• polinomios de newton de diferencias divididas •...

Post on 29-Mar-2021

14 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

CAPITULO I

INTERPOLACION Y

APROXIMACION

Universidad Simón Bolívar

Mecánica Computacional II

Armando Blanco A.

2

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

3

Introducción

En general, el ingeniero debe analizar la información para la toma de

decisiones. Esta viene usualmente en forma gráfica….

Fuente: BP Statistical Review of World Energy, Junio 2009

4

Introducción

….o tabulada….

Fuente: BP Statistical Review of World Energy, Junio 2009

5

IntroducciónTabla. Consumo y producción promedio de petróleo de Venezuela (Miles de Barriles/Día)

Año1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008

Consumo 475 474 496 545 594 479 523 576 607 665 719

Producción 3480 3126 3239 3142 2895 2554 2907 2937 2808 2613 2566

1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 20082500

2600

2700

2800

2900

3000

3100

3200

3300

3400

3500

Año

Pro

ducc

ión

(Mile

s B

arril

es/D

ia)

Produccion de Petroleo de Venezuela

1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008450

500

550

600

650

700

750

Año

Con

sum

o (M

iles

Bar

riles

/Dia

)

Produccion de Petroleo de Venezuela

La información puede ser representada por ejemplo gráficamente y obtener información acerca de tendencias (extrapolación).

6

Introducción

En algunas situaciones puede ser necesario conocer los valores

entre los puntos de datos conocidos. En general, interpolar

significa estimar los valores de una función o variable entre

valores conocidos.

Anteriormente era común hacerlo a partir de tablas, para obtener

los valores para argumentos no tabulados. Esto ha prácticamente

desaparecido con la llegada de poderosos instrumentos de

cálculo.

Sin embargo, el concepto de interpolación es aún muy

importante en el análisis de data proveniente de experimentos y

en el desarrollo de esquemas numéricos.

Como ejemplo, consideremos la data siguiente:

Temperatura (°C) 30 40 60 80 100 150Presión (atm) 0.0418 0.07428 0.196 0.467 1 4.69

7

Introducción

La presión a otras temperaturas distintas de las de la tabla puede

ser estimada por interpolación. Por ejemplo, si deseamos estimar

la presión a la temperatura en puntos no conocidos, lo podemos

hacer a través de la rectas

Algunas veces es posible hallar curvas mejores que las rectas,

como se muestra en la otra gráfica (polinomio de 5to grado).

20 40 60 80 100 120 140 1600

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

T (°C)

P (

atm

)

20 40 60 80 100 120 140 1600

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

T (°C)

P (

atm

)

8

Introducción

En otras situaciones nuestro interés es encontrar una función que

aproxime una data dada, sin necesariamente pasar por los puntos

que la componen.

Estudiar los conceptos básicos de interpolación y aproximación

de conjunto de datos es el objetivo de este capítulo.

20 40 60 80 100 120 140 160-1

0

1

2

3

4

5

T (°C)

P (

atm

)

9

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

10

Interpolación lineal

Supongamos que nuestra data consiste en un par de puntos

(x0,y0) y (x1,y1).

La forma mas sencilla de interpolación consiste en construir la

recta que pasa por ambos puntos. Tendremos:

01

01

0

0

xx

yy

xx

yy

−−=

−−

x0x 1x

1y

0y

y

( )0

01

010 xx

xx

yyyy −

−−+=

Polinomio interpolante de Newton

11

Ejemplo

Supongamos que deseamos aproximar linealmente la función

en el intervalo [3,8] y obtener el valor de la aproximación en

x=4. Luego tendremos:

( )( ) 82843.28 ;8

73205.13 ;3

111

000

====

====

xfyx

xfyx

( ) ( )( ) ( )3219276.073205.1

338

73205.182843.273205.1

1

1

−+==

−−−+==

xxPy

xxPy

( ) xxf =

y el polinomio interpolante lineal vendrá dado por:

Polinomio interpolante de Newton

12

Luego, en el punto x=4 la aproximación lineal nos dará

La diferencia entre la aproximación obtenida y el valor de la

función en x=4 vendrá dada por:

%4.2100)4(

)4()4( 1 =−f

Pf

Supongamos que se desea mejorar la aproximación. Una mejor

alternativa podría ser emplear una interpolación cuadrática tal

como veremos a continuación.

( ) ( ) 951326.134219276.073205.11 =−+== xPy

Polinomio interpolante de Newton

13

Interpolación cuadrática

Supongamos que nuestra data consiste en tres puntos (x0,y0),

(x1,y1) y (x2,y2) .

El polinomio que pasa por esos tres puntos es de orden 2 (a

menos que estos estén alineados) y puede escribirse como:

( ) ( ) ( )( )1020102 xxxxbxxbbxP −−+−+=

x0x 1x

1y

0y

y

2x

2y

Polinomio interpolante de Newton

14

Los coeficientes b0, b1 y b2 se obtienen de evaluar P2(x) en x0, x1

y x2. Así tenemos:

De estas relaciones obtenemos

( ) ( ) ( )( )( ) ( ) ( )( ) ( )( ) ( ) ( )( ) 212022021022

1011011012011012

0010002001002

yxxxxbxxbbxP

yxxbbxxxxbxxbbxP

ybxxxxbxxbbxP

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

==−−+−+=

00 yb =

01

01

01

011

xx

yy

xx

byb

−−=

−−=

( )( )( )

( )

( )( )1202

02

01

0102

1202

021022

xxxx

xxxx

yyyy

xxxx

xxbbyb

−−

−−−−−

=−−−−−=

Polinomio interpolante de Newton

15

Manipulando b2 llegamos a

( ) ( ) ( )

( )( )1202

02

01

0112

12

0112

2xxxx

xxxx

yyxx

xx

yyyy

b−−

−−−−−

−−+−

=

( ) ( ) ( ) ( ) ( )

( )( )1202

02

01

0112

12

0112

12

12

2xxxx

xxxx

yyxx

xx

yyxx

xx

yy

b−−

−−−−−

−−+−

−−

=

( ) ( )

( )( )( ) ( ) ( )

( )( )1202

02

01

0112

12

01

1202

12

12

12

2xxxx

xxxx

yyxx

xx

yy

xxxx

xxxx

yy

b−−

−−−−−

−−

+−−

−−−

=

Polinomio interpolante de Newton

16

Continuando con b2

( )( )

( )

( )( )1202

02

01

0101

02

12

12

2xxxx

xxxx

yyyy

xx

xx

yy

b−−

−−−−−

+−−−

=

( )( )

( )( )( ) ( )

( )( )1202

02

01

01

01

0101

02

12

12

2xxxx

xxxx

yy

xx

xxyy

xx

xx

yy

b−−

−−−−

−−−

+−−−

=

( )( )

( )( )( )1202

01

0020012100100111

02

12

12

2xxxx

xx

xyxyxyxyxyxyxyxy

xx

xx

yy

b−−

−−++−+−−

+−−−

=

Polinomio interpolante de Newton

17

Siguiendo con b2

( )( )

( )( )( )1202

01

20211011

02

12

12

2xxxx

xx

xyxyxyxy

xx

xx

yy

b−−

−+−−

+−−−

=

( )( )

( ) ( )( )

( )( )1202

01

012011

02

12

12

2xxxx

xx

yyxyyx

xx

xx

yy

b−−

−−−−

+−−−

=

( )( )

( )( )( )

( )( ) 02

01

01

12

12

1202

01

2101

02

12

12

2xx

xx

yy

xx

yy

xxxx

xx

xxyy

xx

xx

yy

b−

−−−

−−

=−−

−−−

+−−−

=

Polinomio interpolante de Newton

18

Luego, los valores de los coeficientes del polinomio de orden 2

son:

02

01

01

12

12

2xx

xx

yy

xx

yy

b−

−−−

−−

=

00 yb =

01

011

xx

yyb

−−=

Nótese que b1 representa la pendiente de la recta que une los

puntos 0 y 1. Luego, la curvatura vendrá determinada por el

término cuyo coeficiente es b2.

Polinomio interpolante de Newton

19

Ejemplo

Supongamos que deseamos aproximar con una parábola la

función

en el intervalo [3,8]. Luego tendremos, por ejemplo, que son

conocidos los valores en x=3,6 y 8:

( )( )( ) 23607.25 ;5

82843.28 ;8

73205.13 ;3

222

111

000

====

====

====

xfyx

xfyx

xfyx

( ) xxf =

La aproximación cuadrática vendrá representada por:

( ) ( ) ( )( )1020102 xxxxbxxbbxP −−+−+=

Polinomio interpolante de Newton

20

Luego, los valores de los coeficientes del polinomio de orden 2

son:

35

38

73205.182843.2

85

82843.223607.2

02

01

01

12

12

2 −−−−

−−

=−

−−−

−−

=xx

xx

yy

xx

yy

b

73205.100 == yb

230159.038

73205.182843.2

01

011 =

−−=

−−=xx

yyb

010911.02 −=b

La aproximación cuadrática es:

( ) ( ) ( )( )83010911.03219276.073205.12 −−−−+= xxxxP

Polinomio interpolante de Newton

21

La aproximación parabólica en x=4 arroja el valor

El error cometido con esta aproximación es:

( ) ( ) ( )( )( ) 99497.14

8434010911.034219276.073205.14

2

2

=−−−−+=

P

P

%25.0100)4(

)4()4( 2 =−f

Pf

y es bastante menor al obtenido con la aproximación lineal.

Veamos esto gráficamente en la lámina siguiente.

Polinomio interpolante de Newton

22

Nótese: (a) El paso de la aproximación parabólica por los tres

puntos y (b) la cercanía entre la función aproximada y la

aproximación parabólica

3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 81.6

1.8

2

2.2

2.4

2.6

2.8

3

x

y

Interpolación

DatosValor exactoLinealParabolicoFuncion

Polinomio interpolante de Newton

23

3.97 3.98 3.99 4 4.01 4.02 4.03

1.94

1.95

1.96

1.97

1.98

1.99

2

x

y

Interpolación

DatosValor exactoLinealParabolicoFuncion

El detalle en las cercanías del punto x=4 se muestra a

continuación.

Polinomio interpolante de Newton

24

Forma general de los polinomios de interpolación

Supongamos que nuestra data consiste en un conjunto de n+1

puntos (xi,yi), i entero en [0,n].

El polinomio de grado n que interpola la data es dado por:

En el caso del polinomio lineal (n=1) teníamos que:

( ) ( ) ( )( )( ) ( )( )220

102010

...... −− −−−++−−+−+=

nnn

n

xxxxxxb

xxxxbxxbbxP

( )0

01

010 xx

xx

yyyy −

−−+=

y entonces:

01

01100 ;

xx

yybyb

−−==

Polinomio interpolante de Newton

25

Mientras que para la aproximación cuadrática (n=2) teníamos

Definiendo las diferencias divididas como:

[ ] ( ) ( )ji

ji

ji

ji

jixx

xfxf

xx

yyxxf

−−

=−−

=,

02

01

01

12

12

2xx

xx

yy

xx

yy

b−

−−−

−−

=00 yb =

01

011

xx

yyb

−−=

[ ] ( )ii xfxf =

[ ] [ ] [ ]ki

kjji

kjixx

xxfxxfxxxf

−−

=,,

,,

Polinomio interpolante de Newton

26

Luego, tendremos que:

tenemos que, hasta orden 2 podemos escribir:

[ ] [ ] [ ]012

02

0112

02

01

01

12

12

2 ,,,,

xxxfxx

xxfxxf

xx

xx

yy

xx

yy

b =−−=

−−−−

−−

=

( ) [ ]0000 xfxfyb ===

( ) ( ) [ ]01

01

01

01

011 , xxf

xx

xfxf

xx

yyb =

−−=

−−=

( ) [ ] [ ]( ) [ ]( )( )1001200102 ,,, xxxxxxxfxxxxfxfxP −−+−+=

Polinomio interpolante de Newton

27

Luego, si definimos

podemos asumir que en general que el polinomio interpolante de

grado n es dado por:

[ ] [ ] [ ]0

0121121011

,,...,,,,...,,,,...,,

xx

xxxxfxxxxfxxxxf

n

nnnnnn −

−= −−−−

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

100120010

...,,...,,...

,,,

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

nnnn

n

xxxxxxxxxxxxf

xxxxxxxfxxxxfxfxP

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

1

010 ....,...,, −=

− −−−+= ∑ k

n

k

kkn xxxxxxxxxfxfxP

En notación compacta podemos escribir:

Polinomio interpolante de Newton

28

Nótese que:

(a) No es necesario que los datos estén uniformemente

espaciados, ni ordenados, para hallar los coeficientes del

polinomio

(b) Las relaciones que permiten calcular las diferencias

divididas son recursivas y, en consecuencia, la diferencias

divididas de orden superior se obtienen a partir de las de

menor orden.

Entonces, obteniendo las diferencias divididas de manera

consecutiva obtenemos los coeficientes del polinomio

interpolante de Newton.

Polinomio interpolante de Newton

29

Además, para calcular las diferencias divididas podemos

tener en cuenta que :

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

ij

ij

ji

ji

ji xxfxx

xfxf

xx

xfxfxxf ,, =

−−

=−−

=

[ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ]ijk

ik

ijjk

kji

ik

jikj

ki

kjji

kji

xxxfxx

xxfxxfxxxf

xx

xxfxxf

xx

xxfxxfxxxf

,,,,

,,

,,,,,,

=−−

=

−−

=−−

=

Polinomio interpolante de Newton

30Polinomio interpolante de Newton

Ejemplo: Consideremos el siguiente conjunto de

datos:

x y

2.0 1.623

2.5 1.855

4.0 2.041

4.5 2.333

6.0 2.561

Hallemos el polinomio interpolante de Newton que

interpola estos datos

31Polinomio interpolante de Newton

Las primeras diferencias divididas se construyen

como se muestra en la siguiente tabla:

x y DD12 1.623

0.4642.5 1.855

0.1244 2.041

0.5844.5 2.333

0.1526 2.561

( ) ( )111

1 1

[ ] [ ][ , ]

i ii ii i

i i i i

f x f xf x f xf x x

x x x x

+++

+ +

−−= =− −

32Polinomio interpolante de Newton

Las segundas diferencias divididas se construyen

similarmente como se muestra en la siguiente tabla:

x y DD1 DD22 1.623

0.4642.5 1.855 -0.17

0.1244 2.041 0.23

0.5844.5 2.333 -0.216

0.1526 2.561

ii

iiiiiii

xx

xxfxxfxxxf

−−=

+

+++++

2

12121

],[],[],,[

33Polinomio interpolante de Newton

De la misma manera, las terceras y cuartas

diferencias divididas se construyen como se muestra

en la siguiente tabla:

x y DD1 DD2 DD3 DD42 1.623

0.4642.5 1.855 -0.17

0.124 0.164 2.041 0.23 -0.071857

0.584 -0.127434.5 2.333 -0.216

0.1526 2.561

iki

kiikiikiii

xx

xxfxxfxxxf

−−=

+

−+++++

],...,[],...,[],...,,[ 11

1

34Polinomio interpolante de Newton

En consecuencia, los coeficientes del polinomio

interpolante de newton

x y DD1 DD2 DD3 DD42 1.623

0.4642.5 1.855 -0.17

0.124 0.164 2.041 0.23 -0.071857

0.584 -0.127434.5 2.333 -0.216

0.1526 2.561

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

1

100 ....,...,, −=

−−−+= ∑ k

n

k

kn xxxxxxxxxfxfxP

[ ]0 1,f x x[ ]0f x [ ]0 1 2, ,f x x x

[ ]0 1 2 3, , ,f x x x x

[ ]0 1 2 3 4, , , ,f x x x x x

son dados por:

35Polinomio interpolante de Newton

Luego,

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

0 0 1 0 0 1 2 0 1

0 1 2 3 0 1 2

0 1 2 3 4 0 1 2 3

, , ,

, , ,

, , , ,

nP x f x f x x x x f x x x x x x x

f x x x x x x x x x x

f x x x x x x x x x x x x x

= + − + − − +

− − − +

− − − −

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

1

100 ....,...,, −=

−−−+= ∑ k

n

k

kn xxxxxxxxxfxfxP

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

( )( )( )( )5.445.22071857.0

45.2216.0

5.2217.02464.0623.14

−−−−−−−−

+−−−−+=

xxxx

xxx

xxxxP

36Polinomio interpolante de Newton

El polinomio de interpolante luce como se muestra en la

figura a continuación.

2 2.5 3 3.5 4 4.5 5 5.5 61.6

1.8

2

2.2

2.4

2.6

2.8

3

x

yInterpolación

Datos

Polinomio interpolante

37Polinomio interpolante de Newton

Las ventajas de la utilización del polinomio interpolante

de Newton ahora es obvia. Si se añade un nuevo dato a los

anteriores, el polinomio se modificará de manera que

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

( )( ) ( )( )[ ]( )( )( ) ( )( )0 1 2 3 4 5 4

1.623 0.4624 2 0.17 2 2.5

0.16 2 2.5 4

- 0.071857 2 2.5 4 4.5

+ , , , , , 2 2.5 4 4.5

nP x x x x

x x x

x x x x

f x x x x x x x x x x x x

= + − − − − +

− − −

− − − −

− − − − −

Supongamos que el nuevo punto de data es (3;2.1). Las

diferencias divididas se calculan como antes

38Polinomio interpolante de Newton

y el nuevo polinomio es dado por

x y DD1 DD2 DD3 DD4 DD52 1.623

0.4642.5 1.855 -0.17

0.124 0.164 2.041 0.23 -0.071857

0.584 -0.12743 -0.103063494.5 2.333 -0.216 -0.174921

0.152 -0.214896 2.561 -0.00111111

0.153666673 2.1

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

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

1.623 0.4624 2 0.17 2 2.5

0.16 2 2.5 4

- 0.071857 2 2.5 4 4.5

-0.10306 2 2.5 4 4.5 3.0

nP x x x x

x x x

x x x x

x x x x x

= + − − − − +

− − −

− − − −

− − − − −

39Polinomio interpolante de Newton

Gráficamente tenemos que el nuevo polinomio pasa por

todos los puntos de datos dados.

2 2.5 3 3.5 4 4.5 5 5.5 61.5

2

2.5

3

3.5

4

x

y

Interpolación

Datos

Polinomio interpolante

Nótese que en algunos puntos del intervalo los valores

obtenidos están alejados de lo esperado. Esta tendencia es

mayor en la medida que el grado del polinomio

interpolante es mayor.

40Polinomio Interpolante de Newton

Volvamos a las diferencias divididas. Antes calculamos los

coeficientes del polinomio interpolante a partir de las tablas:

x y=f[x0] f[x0,x1] f[x0,x1,x2] f[x0,x1,x2,x3] f[x0,x1,x2,x3,x4]4 2.0410

0.58404.5 2.3330 0.1500

0.2840 -0.09152 1.6230 -0.0330 -0.0719

0.2345 0.01636 2.5610 -0.0656

0.20172.5 1.8550

x y=f[x0] f[x0,x1] f[x0,x1,x2] f[x0,x1,x2,x3] f[x0,x1,x2,x3,x4]2 1.623

0.46402.5 1.855 -0.1700

0.1240 0.16004 2.041 0.2300 -0.0719

0.5840 -0.12744.5 2.333 -0.2160

0.15206 2.561

41Polinomio Interpolante de Newton

Los polinomios interpolantes según cada tabla son:

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

( )( )( )( )5.445.220719.0

45.2216.0

5.2217.02464.0623.11

4

−−−−−−−−

+−−−−+=

xxxx

xxx

xxxxP

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

( )( )( )( )625.440719.0

25.440915.0

5.441500.045840.00410.22

4

−−−−−−−−

−−−+−+=

xxxx

xxx

xxxxP

¿Cuál de los polinomios interpolantes es el correcto?

42Polinomio Interpolante de Newton

Ambos lo son. Utilizando Mathematica® para expandir

ambos polinomios obtenemos:

La diferencia de los coeficientes entre ambos polinomios

viene dada por errores de truncamiento y redondeo en el

cálculo de las diferencias divididas.

Polinomio interpolante de Newton

En el caso en el que los xi están uniformemente

espaciados, podemos escribir

( )hisxx i −=−

ii xxh −= +1

shxx += 0

las diferencias en la formula de las diferencias

divididas interpolantes se expresan como

para obtener al sustituir en

( ) [ ] ( ) [ ] ( )( ) [ ]0 0 0 1 0 1 0 1 2, , , ...nP x f x x x f x x x x x x f x x x= + − + − − +

( )( ) ( ) [ ]nn xxxfxxxxxx ,...,,....... 10110 −−−−+

Polinomio interpolante de Newton

la expresión

simplificando

( ) [ ] [ ] ( ) [ ] ..,,1, 210100 +−++= xxxhfsshxxshfxfxPn

( ) ( ) [ ]nxxxhfnshssh ,...,,1....1... 10+−−+

( ) [ ] [ ] ( ) [ ] ..,,1, 210

2

100 +−++= xxxfhssxxshfxfxPn

( ) ( ) [ ]n

n xxxfhnsss ,...,,1....1... 10+−−+o

( ) ( ) ( ) [ ]∑=

+−−=n

k

k

k

n xxxfhksssxP0

10 ,...,,1....1

Polinomio interpolante de Newton

Utilizando la notación del coeficiente polinomial

podemos escribir

( ) ( )!

1....1

k

ksss

k

s +−−=

Alternativamente las diferencias divididas pueden

escribirse, utilizando la notación de Aitken para las

diferencias divididas

( ) [ ]∑=

=

n

k

k

k

n xxxfhkk

sxP

0

10 ,...,,!

( ) ( ) ( ) ( )ii

ii

iiii xf

hh

xf

xx

xfxfxxf ∆=∆=

−−=

+

++

!1

1],[

1

11

Polinomio interpolante de Newton

Iterativamente llegamos a

ii

iiiiiii

xx

xxfxxfxxxf

−−=

+

+++++

2

12121

],[],[],,[

( ) ( )

h

hxf

hxf

xxxf

ii

iii2

],,[

1

21

∆−∆=

+

++

( ) ( )iiiii xfh

xfh

xxxf 2

2

2

221!2

1

2

1],,[ ∆=∆=++

( )ik

kkiii xfhk

xxxf ∆=++!

1],...,,[ 1

Las diferencias progresivas se calculan como:

Polinomio interpolante de Newton

( ) ( ) ( )0 1 0f x f x f x∆ = −

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

0 0 1 0 1 0f x f x f x f x f x f x∆ = ∆ ∆ = ∆ − = ∆ − ∆

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

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

3 2

0 0 1 0

2 1 1 0

2 1 1 0

2 2

1 0

f x f x f x f x

f x f x f x f x

f x f x f x f x

f x f x

∆ = ∆ ∆ = ∆ ∆ − ∆

= ∆ − − +

= ∆ − ∆ − ∆ + ∆

= ∆ − ∆

En general, tendremos

( ) ( ) ( ) ( )1 1 1

0 0 1 0

k k k kf x f x f x f x− − − ∆ = ∆ ∆ = ∆ − ∆

Podemos simplificar aún mas Pn(x) para escribir

que se conoce como la fórmula de las diferencias

progresivas de Newton o fórmula hacia delante de

Newton-Gregory.

Si reescribimos el polinomio interpolante como

( ) ( )∑=

=

n

k

i

k

n xfk

sxP

0

( ) ( ) ( )( ) ....121 +−−+−+= −−− nnnnnnn xxxxaxxaaxP

( )( ) ( )010 ...... xxxxxxa nn −−−+ −

y utilizamos las mismas suposiciones anteriores

ii xxh −= +1 shxx n +=

Polinomio interpolante de Newton

( )n ix x s i h−− = +

Polinomios interpolante de Newton

Podemos escribir

o

y al definir la diferencia regresiva (y sus potencias)

1−−=∇ nnn ppp

( ) ( ) [ ] [ ]( ) ++−+=+= − ...., 1 nnnnnnn xxxxfxfshxPxP

[ ]( )( ) ( )1101 ...,...,,... xxxxxxxxxf nnnn −−−+ −−

( ) [ ] [ ] ( ) [ ]....,,1, 21

2

1 −−− +++= nnnnnnn xxxfhssxxshfxfxP

( ) ( ) [ ]01,...,,1...1... xxxfhnsss nn

n

−−+++

( ) 2,1 ≥∇∇=∇ − kpp n

k

n

k

( )( )

2 1

1

1

=

n n

n n

n n

p p

p p

p p

∇ = ∇ ∇ =

∇ −= ∇ − ∇

Polinomios interpolante de Newton

podemos escribir

Utilizando estos resultados y la definición de la 2da

diferencia dividida tenemos

( ) ( ) ( )h

xf

h

xfxf

xx

xfxfxxf iii

ii

iiii

∇=−

−=−−= −

−−

][][],[ 1

1

11

ii

iiiiiii

xx

xxfxxfxxxf

−−=

−−−−−

2

12121

],[],[],,[

( ) ( ) ( ) ( )2

1121

22

//],,[

h

xfxf

h

hxfhxfxxxf iiiiiii

−−−−

∇−∇=−

∇−∇=

( )2

2

212

],,[h

xfxxxf iiii

∇=−−(89)

Polinomios interpolante de Newton

y, en general

En consecuencia tenemos

( )k

i

k

kiiihk

xfxxxf

!],...,,[ 1

∇=−−

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

nnnn xfn

nsssxf

ssxfsxfxP ∇−++++∇++∇+=

!

1...1...

2

1 2

Al extender la definición del coeficiente binomial a

todos los números reales

( ) ( ) ( ) ( ) ( )!

1....11

!

1....1

k

ksss

k

ksss

k

s k −++−=+−−−−−=

Polinomios interpolante de Newton

tenemos

En forma compacta

que se conoce como la fórmula de las diferencias

regresivas de Newton o fórmula hacia atrás de

Newton-Gregory. Nótese que la variable x está

implícita en la nueva variable s.

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

nnnn xfn

sxf

sxf

sxfxP ∇

−−++∇

−−+∇

−−+= 1...

21

11 221

( ) ( ) ( )∑=

−−=

n

k

n

kk

n xfk

sxP

0

1

Polinomios interpolante de Newton

Aplicación: Considere la aproximación de la

siguiente data utilizando las fórmulas de diferencias

progresivas de Newton y evalúelo en x=1.1

( ) ( )∑=

=

n

k

i

k

n xfk

sxP

0

X Y1 0.7651977

1.3 0.6200861.6 0.45540221.9 0.28181862.2 0.1103623

La expresión de la formula de diferencias progresivas

de Newton es:

Polinomios interpolante de Newton

Puesto que tenemos 5 puntos de data, el polinomio

buscado debería ser de 4to grado. Entonces, la

fórmula de diferencias progresivas nos llevaría a:

( ) ( )

( ) ( ) ( ) ( ) ( )

4

4

0

0 1 2 3 4

0 1 2 3 4

k

i

k

i i i i i

sP x f x

k

s s s s sf x f x f x f x f x

=

= ∆

= ∆ + ∆ + ∆ + ∆ + ∆

Si le asignamos al 1er punto de data el índice 0

tenemos

( ) ( ) ( ) ( ) ( ) ( )0 1 2 3 4

4 0 0 0 0 00 1 2 3 4

s s s s sP x f x f x f x f x f x

= ∆ + ∆ + ∆ + ∆ + ∆

Polinomios interpolante de Newton

Los valores de los coeficientes polinomiales a

emplear son:

( ) ( )

( )( ) ( ) ( )( )

( )

1 .... 1

!

1 2 3 1 2; ;

4 34! 3!

1; ; 1

2 1 02! 1!

s s s s k

k k

s ss s s s s s s

s s ss s s

− − + =

− − − − − = =

− = = =

Polinomios interpolante de Newton

Las diferencias progresivas son dadas por

X Y D1 D2 D3 D41 0.7651977 -0.1451117 -0.0195721 0.0106723 0.0003548

1.3 0.620086 -0.1646838 -0.0088998 0.01102711.6 0.4554022 -0.1735836 0.00212731.9 0.2818186 -0.17145632.2 0.1103623

( ) ( ) ( ) ( )1 1 1

0 0 1 0

k k k kf x f x f x f x− − − ∆ = ∆ ∆ = ∆ − ∆

Luego, el polinomio buscado es:

( ) ( ) ( )

( ) ( )

4 0.7651977 0.1451117 0.01957210 1 2

0.0106723 0.00035483 4

s s sP x

s s

= + − + − +

+

Polinomios interpolante de Newton

Sustituyendo las expresiones de los coeficientes

polinomiales llegamos a:

( ) ( ) ( ) ( ) ( )

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

4

11 0.7651977 0.1451117 0.0195721

2!

1 2 1 2 3 0.0106723 0.0003548

3! 4!

s sP x s

s s s s s s s

−= + − + − +

− − − − −+

Luego, en x=1.1 tendremos que s es dado por:

00

1.1 1.0 1

0.3 3

x xx x sh s

h

− −= + → = = =

En consecuencia,

( ) ( ) ( )( )( )( ) ( ) ( )4 1.1 0.7651977 0.333333333 0.1451117 -0.111111111 0.0195721

0.061728395 0.0106723 -0.041152263 0.0003548 0.719645994

P = + − + − +

+ =

Polinomios interpolante de Newton

Para comprobar nuestros resultados, hacemos uso de

Excel, graficamos nuestra data y trazamos como

línea de tendencia un polinomio de grado 4Polinomio Interpolante de Cuarto Grado

y = 0.0018x4 + 0.0553x3 - 0.343x2 + 0.0734x + 0.9777R2 = 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1 1.2 1.4 1.6 1.8 2 2.2 2.4

Y

Polinómica (Y)

Polinomios interpolante de Newton

Evaluando el polinomio obtenido llegamos a:

( ) 4 3 2

4 0.0018x + 0.0553x - 0.343x + 0.0734x + 0.9777P x =

Luego,

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

4 3 2

4

4

1.1 0.0018 1.1 + 0.0553 1.1 - 0.343 1.1 + 0.0734 1.1 + 0.9777

1.1 0.71964968

P

P

=

=

La diferencia entre ambas aproximaciones es

0.71964968-0.7196459940.00051216%

0.71964968=

insignificante.

60

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

61

Otro método que permite escribir el polinomio interpolante de

un conjunto de datos lo constituyen los polinomios de Lagrange.,

los cuales se pueden obtener como una reformulación del

polinomio de Newton para evitar el cálculo de las diferencias

divididas.

Por ejemplo, en el caso de dos puntos tenemos que

Polinomios de Lagrange

( ) [ ] [ ]( )00101 , xxxxfxfxP −+=

Si escribimos la diferencia dividida como

[ ] ( ) ( ) ( ) ( )10

0

01

1

01

0110 ,

xx

xf

xx

xf

xx

xfxfxxf

−+

−=

−−=

tenemos

( ) ( ) ( ) ( ) ( )0

10

0

01

101 xx

xx

xf

xx

xfxfxP −

−+

−+=

62

Reagrupando

Polinomios de Lagrange

Simplificando obtenemos

En el caso del polinomio interpolante de orden 2 tendremos

( ) ( ) ( ) ( ) ( )1

01

000

10

01 xf

xx

xxxfxx

xx

xfxP

−−+

+−

−=

( ) ( ) ( )1

01

00

10

11 xf

xx

xxxf

xx

xxxP

−−+

−−=

( ) [ ] [ ]( ) [ ]( )( )1001200102 ,,, xxxxxxxfxxxxfxfxP −−+−+=

63

Reescribiendo la segunda diferencia dividida obtenemos

Polinomios de Lagrange

Sustituyendo obtenemos

Expandiendo la expresión y reagrupando llegamos a

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )( )( )10

02

01

01

12

12

0

01

0102

xxxxxx

xx

xfxf

xx

xfxf

xxxx

xfxfxfxP

−−−

−−−

−−

+

−−−+=

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

02

01

01

12

12

02

0112210

,,,,

xx

xx

xfxf

xx

xfxf

xx

xxfxxfxxxf

−−−−

−−

=−−=

64

Polinomios de Lagrange

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

( ) ( )( )( )

( ) ( )( )( ) ( )( )10

0201

01

0212

12

0

10

00

01

102

xxxxxxxx

xfxf

xxxx

xfxf

xxxx

xfxx

xx

xfxfxP

−−

−−−−

−−−+

−−

+−−

+=

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

( )( )( )( )( )

( )( )( )( )( )

( )( )( )( )( )

( )( )( )( )( )0201

100

0201

101

0212

101

0212

102

0

10

00

01

102

xxxx

xxxxxf

xxxx

xxxxxf

xxxx

xxxxxf

xxxx

xxxxxf

xxxx

xfxx

xx

xfxfxP

−−−−+

−−−−−

−−−−−

−−−−+

−−

+−−

+=

65

Polinomios de Lagrange

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

( )( )( )( )

( )( )( )( ) ( )

( )( )( )( ) ( )2

0212

10

1

0201

10

0212

10

01

0

0

0201

10

10

02

1

xfxxxx

xxxx

xfxxxx

xxxx

xxxx

xxxx

xx

xx

xfxxxx

xxxx

xx

xxxP

−−−−+

−−−−−

−−−−−

−−+

−−−−+

−−+=

Reagrupando

Simplifiquemos cada término. Entonces

( )( )( )( )

( )( ) ( )( ) ( )( )( )( )2010

102002010

0201

10

10

01

xxxx

xxxxxxxxxxxx

xxxx

xxxx

xx

xx

−−−−+−−+−−

=−−

−−+−−+

66

Polinomios de Lagrange

Luego

( )( )( )( )

( )( )2010

1001

2

20

2

020210120

2

0

0201

10

10

01

xxxx

xxxxxxxxxxxxxxxxxxxxx

xxxx

xxxx

xx

xx

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

=−−

−−+−−+

( )( )( )( ) ( )( )2010

1

2

221

0201

10

10

01xxxx

xxxxxxx

xxxx

xxxx

xx

xx

−−−+−=

−−−−+

−−+

Simplificando

( )( )( )( )

( )( )( )( )2010

21

0201

10

10

01xxxx

xxxx

xxxx

xxxx

xx

xx

−−−−=

−−−−+

−−+

Factorizando

67

Polinomios de Lagrange

De manera similar se puede mostrar que

y en consecuencia tenemos que P2(x) se escribe como:

( )( )( )( )

( )( )( )( )

( )( )( )( )0201

20

0201

10

0212

10

01

0

xxxx

xxxx

xxxx

xxxx

xxxx

xxxx

xx

xx

−−−−=

−−−−−

−−−−−

−−

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

( )( )( )( ) ( )

( )( )( )( ) ( )2

1202

10

1

2101

20

0

2010

212

xfxxxx

xxxx

xfxxxx

xxxx

xfxxxx

xxxxxP

−−−−+

−−−−+

−−−−=

68

Polinomios de Lagrange

Si comparamos los polinomios de Lagrange de 1ro y 2do grado

podemos expresar en forma general el polinomio de grado n como

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

( )( )( )( ) ( )

( )( )( )( ) ( )2

1202

10

1

2101

20

0

2010

212

xfxxxx

xxxx

xfxxxx

xxxx

xfxxxx

xxxxxP

−−−−+

−−−−+

−−−−=

( ) ( ) ( )101

00

10

11 xf

xx

xxxf

xx

xxxP

−−+

−−=

( ) ( ) ( )in

i

in xfxLxP ∑=

=0

( )ji

jn

ijj

ixx

xxxL

−−

= ∏≠=0

69

Polinomios de Lagrange

donde P representa el producto de los distintos términos:

Así, para n=2 tendremos

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )221100

2

0

2 xfxLxfxLxfxLxfxLxP i

i

i ++==∑=

( ) ( )( )

( )( )

( )( )

( )( )

( )( )

( )( )ni

n

ni

n

ii

i

ii

i

ii

ixx

xx

xx

xx

xx

xx

xx

xx

xx

xx

xx

xxxL

−−

−−

−−

−−

−−

−−=

+

+

1

1

1

1

1

1

1

1

0

0 ......

( )

( )

( )

−−

−−=

−−

=

−−

−−=

−−

=

−−

−−=

−−

=

≠=

≠=

≠=

12

1

02

02

20

2

21

2

01

02

10

1

20

2

10

12

00

0

xx

xx

xx

xx

xx

xxxL

xx

xx

xx

xx

xx

xxxL

xx

xx

xx

xx

xx

xxxL

jj ji

j

jj ji

j

jj ji

j

70

Polinomios de Lagrange

quedando:

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

( )( ) ( )

( )( )( )( ) ( )2

1202

10

1

2101

200

2010

212

xfxxxx

xxxx

xfxxxx

xxxxxf

xxxx

xxxxxP

−−−−+

−−−−+

−−−−=

71

Aplicación: Consideremos el siguiente conjunto de datos

x y

2.0 1.623

2.5 1.855

4.0 2.041

4.5 2.333

6.0 2.561

Se desea hallar el valor interpolado en el punto 2.2 utilizando el

polinomio de Lagrange que interpola todos los datos.

Puesto que tenemos cinco pares de datos, el polinomio de

Lagrange buscado es de orden 4 (5-1).

Polinomios de Lagrange

72

Podemos escribir directamente los distintos términos del

polinomio

Polinomios de Lagrange

( ) ( ) ( ) ( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )4

34

3

24

2

14

1

04

0

3

43

4

23

2

13

1

03

0

2

42

4

32

3

12

1

02

0

1

41

4

31

3

21

2

01

0

0

40

4

30

3

20

2

10

14

0

4

xfxx

xx

xx

xx

xx

xx

xx

xx

xfxx

xx

xx

xx

xx

xx

xx

xx

xfxx

xx

xx

xx

xx

xx

xx

xx

xfxx

xx

xx

xx

xx

xx

xx

xx

xfxx

xx

xx

xx

xx

xx

xx

xxxfxLxP i

i

i

−−

−−

−−

−−+

−−

−−

−−

−−+

−−

−−

−−

−−+

−−

−−

−−

−−+

−−

−−

−−

−−==∑

=

73

Sustituyendo por los datos conocidos tenemos:

Polinomios de Lagrange

( ) ( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )

( )( )

( )( )

( )( )

( )( ) ( )6

5.46

5.4

46

4

5.26

5.2

26

2

5.465.4

6

45.4

4

5.25.4

5.2

25.4

2

464

6

5.44

5.4

5.24

5.2

24

2

5.265.2

6

5.45.2

5.4

45.2

4

25.2

2

262

6

5.42

5.4

42

4

5.22

5.24

fxxxx

fxxxx

fxxxx

fxxxx

fxxxx

xP

−−

−−

−−

−−+

−−

−−

−−

−−+

−−

−−

−−

−−+

−−

−−

−−

−−+

−−

−−

−−

−−=

74

Realizando las operaciones

Polinomios de Lagrange

( ) ( )( )( )( )

( )( )( )( )

( )( )( )( )

( )( )( )( )

( )( )( )( )561.2

42

5.445.22

333.275.3

645.22

041.23

65.45.22

855.125.5

65.442

623.110

65.445.24

−−−−+

−−−−−

−−−−+

−−−−−

−−−−=

xxxx

xxxx

xxxx

xxxx

xxxxxP

75

Finalmente, el polinomio interpolante es:

Polinomios de Lagrange

( ) ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )5.445.220610.0

645.226221.0

65.45.226803.0

65.4423533.0

65.445.21623.04

−−−−+−−−−−

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

xxxx

xxxx

xxxx

xxxx

xxxxxP

Luego,

( ) ( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( )( ) 7610.15.42.242.25.22.222.20610.0

62.242.25.22.222.26221.0

62.25.42.25.22.222.26803.0

62.25.42.242.222.23533.0

62.25.42.242.25.22.21623.02.24

=−−−−+−−−−−

−−−−+−−−−−

−−−−=P

76

Una propiedad importante de los polinomios de Lagrange es:

Polinomios de Lagrange

Veamos por ejemplo para n=1. Tenemos,

( ) 1=∑i

i xL

( )

1

10

01

10

01

01

0

10

1

=−+−=

−+−−=

−−+

−−=∑

xx

xx

xx

xxxx

xx

xx

xx

xxxL

i

i

77

Luego, el polinomio Li que acompaña cada valor de f(xi)

representa el peso relativo de este en la aproximación. Cuando

x=xi, entonces todos los Lj(xi) son nulos exceptuando a Li(x) que

acompaña xi con Li(xi)=1. Por ejemplo, para P2(x0) tenemos:

Polinomios de Lagrange

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

( )( ) ( )

( )( )( )( ) ( )2

1202

100

1

2101

2000

2010

21002

xfxxxx

xxxx

xfxxxx

xxxxxf

xxxx

xxxxxP

−−−−+

−−−−+

−−−−=

0

0

1

( ) ( ) ( ) ( ) ( )021002 001 xfxfxfxfxP =++=

78

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas.

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos.

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

79

Interpolación Polinomial

En el caso en el cual se desea expresar el polinomio de

interpolación en la forma

ninguno de los dos métodos esbozados anteriormente

permite una fácil identificación de los coeficientes. En

general tendremos que podemos escribir

1 2

1 1 2 1( ) ...n n

n n nP x c x c x c x c− −− −= + + + +

[ ]

1

2

1 2

1

.( ) ... 1

.

.

n n

n

n

c

c

P x x x x

c

− −−

=

80

Como el polinomio permite la interpolación de la data

dada entonces

En forma matricial utilizando la definición de la matriz de

Vandermonde

1 1

1 1 1 1 1

1 12 22 2 2

1 1

... 1

... 1

. ..

. ..

. ..

... 1

n n

n n

n nn nn n n

x x x c y

c yx x x

c yx x x

− −

− −

− −

=

=Vc y

En consecuencia1−=c V y

Interpolación Polinomial

81

MATLAB permite obtener fácilmente los coeficientes del

polinomio. El comando polyfit devuelve los coeficientes

en orden descendiente. Por ejemplo, utilicemos la data del

ejemplo anterior

x y

2.0 1.623

2.5 1.855

4.0 2.041

4.5 2.333

6.0 2.561

La secuencia en MATLAB está en el recuadro

>> x=[2 2.5 4 4.5 6];

>> y=[1.623 1.855 2.041 2.333 2.561];

>> c=polyfit(x,y,length(x)-1)

c =

-0.0719 1.0941 -5.9313 13.7834 -9.8221

Interpolación Polinomial

82

Luego el polinomio buscado es

4 3 2

4 ( ) 0.0719 1.0941 5.9313 13.7834 9.8221P x x x x x= − + − + −

Veamos P4(x) gráficamente

Al utilizar polinomios de

alto orden, las oscilaciones

de los mismos pueden

llevar a interpolaciones con

un alto error.

Esto conduce a la

necesidad de hallar otros

métodos de interpolación.

Interpolación Polinomial

83

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

84

Splines

Las oscilaciones en los polinomios de alto grado pueden

conducir a errores importantes en la interpolación de

datos.

Una alternativa es la consideración de polinomios de

orden bajo para interpolar subconjuntos de los datos.

La opción de menor orden posible a ser considerada es la

interpolación de orden 1 o interpolación lineal entre

puntos adyacentes.

Consideremos la misma data del ejemplo anterior.

85

Splines

La interpolación lineal entre puntos adyacentes nos lleva a

la siguiente representación.

Las ecuaciones que

corresponden a esta

interpolación vienen dadas

por:

( ) iii bxaxP +=

Para n +1 puntos de datos

la determinación de las 2n

constantes ai y bi se realiza

utilizando las condiciones:

( ) iii yxP =

11 bxa +

22 bxa +ii bxa +

nn bxa +

( ) 11 −− = iii yxP

86

Splines

Luego, tendremos que

( ) 111 −−− =+= iiiiii ybxaxP n ecuaciones

( ) iiiiii ybxaxP =+= n ecuaciones

Así, las 2n ecuaciones necesarias para hallar los

coeficientes de los polinomios son construidas. Nótese

que una ecuación alternativa pudo haberse construido al

garantizar la continuidad de las rectas en los puntos de

data:

( ) ( )iiii xPxP 1+=

87

Splines

La interpolación lineal presenta el inconveniente de

mostrar saltos en la pendiente en cada punto de data. Una

alternativa la constituye el uso de una interpolación

cuadrática. En ese caso, los polinomios interpolantes

serán de la forma

( ) iiii cxbxaxP ++= 2

( ) iii yxP =

iii cxbxa ++2

22

2

2 cxbxa ++

11

2

1 cxbxa ++

nnn cxbxa ++2

Ahora es necesario

obtener las

ecuaciones que

permiten obtener las

3n constantes

desconocidas.

88

Splines

Podemos utilizar las siguientes ecuaciones:

a) Los valores de los polinomios en los nodos adyacentes

deben ser iguales (2(n-1)=2n-2 ecuaciones)

b) La primera y la última función deben pasar por los

puntos extremos (2 ecuaciones)

c) Las primeras derivadas en los nodos interiores deben

ser iguales (n-1 ecuaciones)

Luego tenemos un total de (2n-2)+2+(n-1)=3n-1

ecuaciones. Falta una ecuación. ¿de donde la

obtenemos?

( ) iii yxP = ( ) iii yxP =+1

( ) 001 yxP = ( ) nnn yxP =

( ) ( )iiii xPxP′=′

+1

89

Splines

Podemos escoger que en el primer punto la segunda

derivada sea nula. Esto implica que( ) 001 =″xP

Esta ecuación permite completar el conjunto de 3n ecuaciones

requerido para hallar las 3n constantes (ai, bi y ci).

Escribiendo cada conjunto de ecuaciones en término de las

constantes a determinar tenemos:

( ) 1,...,1 2 −==++= niycxbxaxP iiiiiiii

( ) 1,...,1 11

2

11 −==++= ++++ niycxbxaxP iiiiiiii

( ) 0101

2

0101 ycxbxaxP =++=

( ) nnnnnnnn ycxbxaxP =++= 2

( ) ( ) 1,...,1 22 111 −=+=+=′=′+++ nibxabxaxPxP iiiiiiiiii

( ) 02 101 ==′axP

90

Splines

Aplicación: Ajuste segmentarias cuadráticas a los valores

de la tablax y

2.0 1.623

2.5 1.855

4.0 2.041

4.5 2.333

6.0 2.561

Dado que tenemos 5 puntos de datos tenemos 4

polinomios de segundo grado que calcular y, en

consecuencia, 4x3=12 incógnitas.

Escribamos el conjunto de ecuaciones.

91

Splines

Ecuaciones 1: ( ) niycxbxaxP iiiiiiii ,...,1 2 ==++=

( ) ( ) ( )( ) ( ) ( )( ) ( ) ( ) 333.25.45.45.4

041.2444

855.15.25.25.2

33

2

33

22

2

22

11

2

11

=++=

=++=

=++=

cbaP

cbaP

cbaP

( ) 1,...,1 ;11

2

11 −==++= ++++ niycxbxaxP iiiiiiiiEcuaciones 2:

( ) ( ) ( )( ) ( ) ( )( ) ( ) ( ) 333.25.45.45.4

041.2440.4

855.15.25.25.2

44

2

44

33

2

33

22

2

22

=++=

=++=

=++=

cbaP

cbaP

cbaP

92

Splines

Ecuación 3:

Ecuaciones 5:

( ) 0101

2

0101 ycxbxaxP =++=

( ) ( ) ( ) 623.1220.2 11

2

11 =++= cbaP

Ecuación 4: ( ) nnnnnnnn ycxbxaxP =++= 2

( ) ( ) ( ) 561.20.60.60.6 44

2

44 =++= cbaP

( ) ( ) 1,..,1;22 111 −=+=+=′=′+++ nibxabxaxPxP iiiiiiiiii

( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( ) 443343

332232

221121

5.425.425.45.4

424244

5.225.225.25.2

babaPP

babaPP

babaPP

+=+=′=′+=+=′=′

+=+=′=′

Ecuación 6: ( ) 02 101 ==′axP ( ) 020.2 11 ==′

aP

93

Splines

Luego, el conjunto de ecuaciones a resolver es:

333.25.425.20

041.2416

855.15.225.6

333

222

111

=++=++

=++

cba

cba

cba

333.25.425.20

041.2416

855.15.225.6

444

333

222

=++=++

=++

cba

cba

cba

623.124 111 =++ cba

561.2636 444 =++ cba

099

088

055

4433

3322

2211

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

baba

baba

baba

02 1 =a

Este conjunto de 12 ecuaciones con 12 incógnitas puede

ser resuelto analítica o numéricamente.

−−−−

−−

000000000002

019019000000

000018018000

000000015015

1636000000000

000000000124

15.425.20000000000

0001416000000

00000015.225.6000

00015.425.20000000

0000001416000

00000000015.225.6

4

4

4

3

3

3

2

2

2

1

1

1

c

b

a

c

b

a

c

b

a

c

b

a

=

0

0

0

0

561.2

623.1

333.2

041.2

855.1

333.2

041.2

855.1

En forma matricial tendremos

Splines

Resolviendo con MATLAB tenemos:

n=12;

A(1:n,1:n)=0;

A(1,1)=6.25; A(1,2)=2.5; A(1,3)=1;

A(2,4)=16; A(2,5)=4; A(2,6)=1;

A(3,7)=20.25; A(3,8)=4.5; A(3,9)=1;

A(4,4)=6.25; A(4,5)=2.5; A(4,6)=1;

A(5,7)=16; A(5,8)=4; A(5,9)=1;

A(6,10)=20.25; A(6,11)=4.5; A(6,12)=1;

A(7,1)=4; A(7,2)=2; A(7,3)=1;

A(8,10)=36; A(8,11)=6; A(8,12)=1;

A(9,1)=5; A(9,2)=1; A(9,4)=-5;A(9,5)=-1;

A(10,4)=8; A(10,5)=1; A(10,7)=-8;A(10,8)=-1;

A(11,7)=9; A(11,8)=1; A(11,10)=-9;A(11,11)=-1;

A(12,1)=2;

b(1:n)=0;

b(1)=1.855; b(2)=2.041;b(3)=2.333;

b(4)=1.855; b(5)=2.041;b(6)=2.333;

b(7)=1.623; b(8)=2.561;

x=A\b'

x =

-0.0000

0.4640

0.6950

-0.2267

1.5973

-0.7217

1.6000

-13.0160

28.5050

-0.8213

8.7760

-20.5270

Splines

Finalmente los polinomios cuadráticos buscados son:

( ) ( )( )( ) 5270.207760.88213.0

5050.280160.136000.1

7217.05973.12267.0 ;6950.04640.0

2

4

2

3

2

21

−+−=

+−=

−+−=+=

xxP

xxxP

xxxPxxP

2 2.5 3 3.5 4 4.5 5 5.5 61.6

1.8

2

2.2

2.4

2.6

2.8

3

X

YSegmentaria Cuadrática

Splines

97

Splines

Al analizar la condición “artificial” sobre la segunda

derivada vemos que ella implica que el primer polinomio

es de la forma

( ) 111 cxbxP +=

y, en consecuencia corresponde a una aproximación

lineal.

Además se producen aún se producen cambios bruscos en

la curvatura.

Por estas limitaciones, se emplean preferentemente

interpolantes segmentarias cúbicas.

98

Una aproximación continua y derivable dos veces puede

ser desarrollada. Esta es conocida como splines cubicos.

El polinomio de interpolación es una función a trozos :

( )

( )( )

( )

( )( )

1 1 2

2 2 3

j 1

2 2 1

1 1

.

.

j j

n n n

n n n

S x x x x

S x x x x

S x S x x x x

S x x x x

S x x x x

+

− − −

− −

≤ ≤

≤ ≤= ≤ ≤ ≤ ≤

≤ ≤

Splines

x

y

( )xS1

( )xS2

( )xSn 1−

( )xS j

1x nx

99

Los splines cúbicos se expresan como:

( ) ( ) ( ) ( )3 2

1 j j j j j j j j j jS x a x x b x x c x x d x x x += − + − + − + ≤ ≤

Para satisfacer los requisitos de continuidad de la función

interpolante y sus derivadas tendremos

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

1

1

1

j=2,3,...,n-1

j=2,3,...,n-1

j=2,3,...,n-1

j j j j

j j j j

j j j j

S x S x

S x S x

S x S x

=

′ ′=

′′ ′′=

Imponiendo estas condiciones tenemos

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

3 2

1 1 1 1 1 1 1

2

1 1 1 1 1

1 1 1

=

3 2 =

6 2 =2

j j j j j j j j j j j

j j j j j j j j

j j j j j

a x x b x x c x x d d

a x x b x x c c

a x x b b

− − − − − − −

− − − − −

− − −

− + − + − +

− + − +

− +

Splines

100

Para simplificar las operaciones supongamos que los

nodos están igualmente espaciados. Entonces

( )1j jh x x −= −

Luego el sistema de ecuaciones se reduce a

Recordemos que los dj son conocidos (Sj(xj)=dj=yj).

Entonces podemos escribir

3 2

1 1 1 1

2

1 1 1

1 1

=

3 2 =

6 2 =2

j j j j j

j j j j

j j j

a h b h c h d d

a h b h c c

a h b b

− − − −

− − −

− −

+ + +

+ +

+

( )1

1

1=3

j j

j

b ba

h

−−

Splines

101

Al sustituir aj-1 en el sistema obtenemos

Resolviendo para cj-1 obtenemos

( )

( )

3 2

1 1 1 1

1 3 2

1 1 1

2

1 1 1

=

1=

3

12 =

3

j j j j j

j j

j j j j

j j j j j

a h b h c h d d

b bh b h c h d d

h

b b h c h d d

− − − −

−− − −

− − −

+ + +

−+ + +

+ + +

( )

( )( )

1 2

1 1

1 1 1

1 1

13 2 =

3

2 =

=

j j

j j j

j j j j j

j j j j

b bh b h c c

h

b b h b h c c

b b h c c

−− −

− − −

− −

− + +

− + +

+ +

( )1

1 1

1= 2

3

j j

j j j

d dc b b h

h

−− −

−− +

y, al incrementar en 1 a j tenemos

( )1

1

1= 2

3

j j

j j j

d dc b b h

h

++

−− +

Splines

102

Al sustituir cj-1 y cj en

obtenemos

( )1 1=j j j jb b h c c− −+ +

Reagrupando términos

( ) ( ) ( )1 1

1 1 1

1 12 2

3 3

j j j j

j j j j j j

d d d db b h b b h b b h

h h

− +− − +

− −+ + − + = − +

Splines

( )2,...,32

234

2

11

11 −=+−

=++ +−+− n,j

h

dddbbb

jjj

jjj

103

Si se expresa la ecuación anterior para varios j tenemos

que constituye un sistema de n-3 ecuaciones con n-1

incógnitas (los b’j)

Splines

( )

( )

( )

( )2

123123

2

234234

2

432432

2

321321

234

234

.

.

.

234

234

h

dddbbb

h

dddbbb

h

dddbbb

h

dddbbb

nnnnnn

nnnnnn

−−−−−−

−−−−−−

+−=++

+−=++

+−=++

+−=++

104

Para cerrar el sistema, se necesitan dos ecuaciones mas.

Estas se obtienen de las condiciones de borde. Un tipo de

splines usado comúnmente se denomina splinespline natural y

se define a partir de:

Luego, puesto que

1( ) ( ) 0nS x S x′′ ′′= =

( ) ( )6 2j j j jS x a x x b′′ = − +

obtenemos

( ) ( )1 1 1 1 1 16 2 0S x a x x b′′ = − + = 1 0b =

( ) ( )1 1 1 16 2 0n n n n n nS x a x x b− − − −′′ = − + = ( )1 1 13n n n nb a x x− − −= − −

Splines

105

Splines

Pero como

Si suponemos que existe otro polinomio Sn(x) que parte

del punto (xn,yn) podríamos escribir, para j=n

y, en consecuencia

( )1

1

1=3

j j

j

b ba

h

−−

( )1

1

1=3

n n

n

b ba

h

−−

0nb =

( ) ( ) ( )11

1113

133 −

−−−− −−=

−−=−−= nnnn

nnnn bbhh

bbxxab

de donde obtenemos

106

Splines

Luego, el sistema a resolver para hallar los bj es:

( )

( )

( )

( )

( )

0

234

234

234

.

.

234

234

0

2

12312

2

123123

2

234234

2

432432

2

321321

1

=

+−=++

+−=++

+−=++

+−=++

+−=++

=

−−−−−

−−−−−−

−−−−−−

n

nnnnnn

nnnnnn

nnnnnn

b

h

dddbbb

h

dddbbb

h

dddbbb

h

dddbbb

h

dddbbb

b Con este sistema lineal,

tridiagonal, de n

ecuaciones y n

incógnitas los bj pueden

ser obtenidos al escribir:

tBb =donde B representa la

matriz de coeficientes, b

las incógnitas y t el

término independiente

dados por

107

Splines

14

4

44

1

11

11

11

11

=

n

n

b

b

b

b

b

1

3

2

1

+−

+−

+−

−−

0

23

23

23

0

2

12

2

432

2

321

h

ddd

h

ddd

h

ddd

nnn

108

Splines

Una vez determinados los bj, los n-1 coeficientes aj y bj se

determinan a partir de

( )

( ) 1,...,1 ;23

1

1,...,1 ;3

1

1

1

1

−=+−−

=

−=−

=

++

+

njhbbh

ddc

njh

bba

jj

jj

j

jj

j

Finalmente, cada polinomio Sj(x) se escribirá como:

( ) ( ) ( ) ( )3 2

1 j j j j j j j j j jS x a x x b x x c x x d x x x += − + − + − + ≤ ≤

109

Splines

Aplicación. Interpole usando splines cúbicos naturales la

data siguiente:

x y1 1.7

3 2.8

5 3.6

7 4.5

9 3.4

11 3.1

13 3.1

Debemos calcular los 6 polinomios Sj(x) que interpolan

cada segmento de datos, cuyos coeficientes son definidos

como:

( ) ( ) ( ) ( )3 2

1 j j j j j j j j j jS x a x x b x x c x x d x x x += − + − + − + ≤ ≤

110

Splines

En primer lugar se determinan los coeficientes dj haciendo

njyd jj ,...,1 ==

Luego, se resuelve el sistema tBb =

=

1

141

141

141

141

141

1

B

+−

+−

+−

+−

+−

=

0

23

23

23

23

23

0

2

765

2

654

2

543

2

432

2

321

h

ddd

h

ddd

h

ddd

h

ddd

h

ddd

t

[ ]'3.1000 3.1000 3.4000 4.5000 3.6000 2.8000 1.7000=jd

111

Splines

=

0

0.0123-

0.2742

0.4846-

0.1642

0.0973-

0

7

6

5

4

3

2

1

b

b

b

b

b

b

b

=

0

0.2250

0.6000

1.5000-

0.0750

0.2250-

0

1 0 0 0 0 0 0

1 4 1 0 0 0 0

0 1 4 1 0 0 0

0 0 1 4 1 0 0

0 0 0 1 4 1 0

0 0 0 0 1 4 1

0 0 0 0 0 0 1

7

6

5

4

3

2

1

b

b

b

b

b

b

b

Con los bj, se determinan los aj y cjutilizando:

( )

( ) 1,...,1 ;23

1

1,...,1 ;3

1

1

1

1

−=+−−

=

−=−

=

++

+

njhbbh

ddc

njh

bba

jj

jj

j

jj

j

112

Splines

=

0.0021

0.0478-

0.1265

0.1081-

0.0436

0.0162-

6

5

4

3

2

1

a

a

a

a

a

a

Finalmente, los polinomios buscados son:

=

0.0164

0.5074-

0.0867-

0.5541

0.4203

0.6149

6

5

4

3

2

1

c

c

c

c

c

c

( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( )( ) ( ) ( ) ( ) 1000.3110164.0110123.0110021.0

4000.395074.092742.090478.0

5000.470867.074846.071265.0

6000.355541.051642.051081.0

8000.234203.030973.030436.0

7000.116149.010000.010162.0

23

6

23

5

23

4

23

3

23

2

23

1

+−+−−−+=

+−−−+−−=

+−−−−−+=

+−+−+−−=

+−+−−−+=

+−+−+−−=

xxxxS

xxxxS

xxxxS

xxxxS

xxxxS

xxxxS

=

0

0.0123-

0.2742

0.4846-

0.1642

0.0973-

0

7

6

5

4

3

2

1

b

b

b

b

b

b

b

113

Splines

Gráficamente tenemos:

0 2 4 6 8 10 12 141.5

2

2.5

3

3.5

4

4.5

5Splines cubicos

x

S(x

)

114

Splines: ejemplo cálculo en MATLABclear all

x(1)=1; y(1)=1.7;

x(2)=3; y(2)=2.8;

x(3)=5; y(3)=3.6;

x(4)=7; y(4)=4.5;

x(5)=9; y(5)=3.4;

x(6)=11; y(6)=3.1;

x(7)=13; y(7)=3.1;

h=x(2)-x(1);

dj=y;

n=length(x);

A(1:n,1:n)=0;

A(1,1)=1;

ti(1)=0;

for j=2:n-1

A(j,j)=4;

A(j,j-1)=1;

A(j,j+1)=1;

ti(j)=3*(dj(j-1)-2*dj(j)+dj(j+1))/(h^2);

end

A(n,n)=1;

ti(n)=0;

b=A\ti'

% calculo de los coeficientes a'j y c'j

for j=1:n-1

aj(j)=(b(j+1)-b(j))/(3*h);

end

for j=1:n-1

cj(j)=(dj(j+1)-dj(j))/h-(b(j+1)+2*b(j))*h/3;

end

x1=linspace(x(1),x(2));

x2=linspace(x(2),x(3));

x3=linspace(x(3),x(4));

x4=linspace(x(4),x(5));

x5=linspace(x(5),x(6));

x6=linspace(x(6),x(7));

y1=aj(1)*(x1-x(1)).^3 + b(1)*(x1-x(1)).^2+cj(1)*(x1-x(1))+dj(1);

y2=aj(2)*(x2-x(2)).^3 + b(2)*(x2-x(2)).^2+cj(2)*(x2-x(2))+dj(2);

y3=aj(3)*(x3-x(3)).^3 + b(3)*(x3-x(3)).^2+cj(3)*(x3-x(3))+dj(3);

y4=aj(4)*(x4-x(4)).^3 + b(4)*(x4-x(4)).^2+cj(4)*(x4-x(4))+dj(4);

y5=aj(5)*(x5-x(5)).^3 + b(5)*(x5-x(5)).^2+cj(5)*(x5-x(5))+dj(5);

y6=aj(6)*(x6-x(6)).^3 + b(6)*(x6-x(6)).^2+cj(6)*(x6-x(6))+dj(6);

plot(x,y,'o',x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6)

title('Splines cubicos')

xlabel('x'); ylabel('S(x)');

115

Splines

Otra opción denominada spline cúbico con tensión

corresponde a dar los valores de las derivadas segundas en

los extremos.

Otros tipos de splines cúbicos pueden ser obtenidos

variando las condiciones en los extremos.

1 1( )

( )n n

S x M

S x M

′′ =′′ =

116

Splines

Aplicación con MATLAB

Consideremos la siguiente data:

x y

1 1.7

2.3 2.8

3.1 3.6

4 4.5

5.2 3.4

5.9 3.1

6.7 3.1

117

Splines

Para calcular con splines cúbicos y con un polinomio de

grado 6 utilizando MATLAB hacemos

>> x=[1 2.3 3.1 4 5.2 5.9 6.7]';

>> y=[1.7 2.8 3.6 4.5 3.4 3.1 3.1]';

>> xi=1:.1:6.7;

>> si=spline(x,y,xi);

>> c6=polyfit(x,y,6);

>> yi=polyval(c6,xi);

>> plot(x,y,'ko',xi,yi,'k.',xi,si,'k'),title('S(x) y P6(x)')

Los resultados se muestran en la lámina siguiente. Nótese

los cambios en los extremos.

118

Splines

119

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas.

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos.

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

120

Aproximación por mínimos cuadrados

Consideremos un criterio distinto para ajustar una función

a una secuencia de datos. En lugar de buscar una función

que pase por cada uno de los puntos de la secuencia,

buscaremos una función que los aproxime. Por ejemplo, la

secuencia

podría requerir un polinomio de grado 13, el cual podría

oscilar bastante.

x y0 1.000

0.5 1.6491 2.718

1.5 4.4822 7.389

2.5 12.1823 20.086

3.5 33.1154 54.598

4.5 90.0175 148.413

5.5 244.6926 403.429

121

Aproximación por mínimos cuadrados

Supongamos que deseamos trazar una función que

aproxime la data dada, sin interpolar la misma.

Podríamos comenzar construyendo una función F(x)

( ) ( ) ( )1 1 2 2( ) ... n nF x c g x c g x c g x= + + +

Dado que no obligamos a F(x) a interpolar la data, en

general podemos tener que

( )i iF x y≠La “cercanía” relativa entre los valores que proporciona F

y la data la obtenemos de

( )i i id F x y= −

122

Aproximación por mínimos cuadrados

En consecuencia, el problema de determinar F podría

reducirse a determinar el mínimo de algún criterio como

Luego, definidas las funciones gj(x), podrían estimarse los

valores adecuados de las constantes.

( )( )

1

2

1

max

max

max

i

n

i

i

n

i

i

mín d

mín d

mín d

=

=

123

Aproximación por mínimos cuadrados

Gauss propuso que los parámetros aj sean determinados

minimizando

Luego, podemos construir la ecuación

2

1

n

i

i

d=∑

( ) ( )( )21 2

1

, ,...,n

k i i

i

E c c c F x y=

= −∑Entonces, podemos minimizar E. Consideremos el caso

k=2. Tenemos

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

1 2 1 1 2 2

1 1

,n n

i i i i i

i i

E c c F x y c g x c g x y= =

= − = + −∑ ∑

124

Aproximación por mínimos cuadrados

Los valores de c que minimizan E son obtenidos haciendo

En consecuencia,

( ) ( )1 2 1 2

1 2

, ,0 0

E c c E c c

c c

∂ ∂= =

∂ ∂

( ) ( ) ( )( ) ( )

( ) ( ) ( )( ) ( )

1 2 1 1 2 2 1

11

1 2 1 1 2 2 2

12

, 2 0

, 2 0

n

i i i i

i

n

i i i i

i

E c c c g x c g x y g xc

E c c c g x c g x y g xc

=

=

∂ = + − =∂∂ = + − =

125

Aproximación por mínimos cuadrados

Luego,

La solución de este sistema lineal permitirá hallar los

valores de c1 y c2 que minimizan E para un conjunto de

funciones g(x) dadas. Estas ecuaciones se denominan

ecuaciones normales.

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( )

1 1 1 2 2 1 1

1 1 1

1 1 2 2 2 2 2

1 1 1

n n n

i i i i i i

i i i

n n n

i i i i i i

i i i

c g x g x c g x g x y g x

c g x g x c g x g x y g x

= = =

= = =

+ =

+ =

∑ ∑ ∑

∑ ∑ ∑

126

Aproximación por mínimos cuadrados

En el caso k=3 obtendremos

La solución de este sistema lineal permitirá hallar c1, c2 y

c3 que minimizan E para un conjunto de funciones g(x)

dadas.

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

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

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

1 1 1 2 2 1 3 3 1 1

1 1 1 1

1 1 2 2 2 2 3 3 2 2

1 1 1 1

1 1 3 2 2 3 3 3 3 3

1 1 1 1

n n n n

i i i i i i i i

i i i i

n n n n

i i i i i i i i

i i i i

n n n n

i i i i i i i i

i i i i

c g x g x c g x g x c g x g x y g x

c g x g x c g x g x c g x g x y g x

c g x g x c g x g x c g x g x y g x

= = = =

= = = =

= = = =

+ + =

+ + =

+ + =

∑ ∑ ∑ ∑

∑ ∑ ∑ ∑

∑ ∑ ∑ ∑

127

Aproximación por mínimos cuadrados

Supongamos que queremos hallar la mejor recta que pasa

por una secuencia dada. En ese caso tendremos que

Luego, las ecuaciones normales son:

( ) ( )( )( )

1 1 2 2 1 2

1

2

( ) 1

1

F x c g x c g x c x c

g x x

g x

= + = +

=

=

2

1 2

1 1 1

1 2

1 1 1

1

n n n

i i i i

i i i

n n n

i i

i i i

c x c x y x

c x c y

= = =

= = =

+ =

+ =

∑ ∑ ∑

∑ ∑ ∑

128

Aproximación por mínimos cuadrados

Despejando obtenemos

1 1 1

1 2

2

1 1

n n n

i i i i

i i i

n n

i i

i i

n y x y x

c

n x x

= = =

= =

− =

∑ ∑ ∑

∑ ∑

2

1 1 1 1

2 2

2

1 1

n n n n

i i i i i

i i i i

n n

i i

i i

y x y x x

c

n x x

= = = =

= =

− =

∑ ∑ ∑ ∑

∑ ∑

129

Aproximación por mínimos cuadrados

Aplicación. Calcule la mejor recta que aproxima la data

siguiente: x y1 1.32 3.53 4.24 55 76 8.87 10.18 12.59 13

10 15.6

Para evaluar los coeficientes c1 y c2 necesitamos

2

1 1 1 1

, , ,n n n n

i i i i i

i i i i

x x y x y= = = =∑ ∑ ∑ ∑

En Excel obtenemos

130

Aproximación por mínimos cuadrados

Con estas suma calculamos los coeficientes

x y x^2 x*y1 1.3 1 1.32 3.5 4 73 4.2 9 12.64 5 16 205 7 25 356 8.8 36 52.87 10.1 49 70.78 12.5 64 1009 13 81 117

10 15.6 100 156

55 81 385 572.4

1

n

i

i

x=∑

1

n

i i

i

y x=∑

2

1

n

i

i

x=∑

1

n

i

i

y=∑

131

Aproximación por mínimos cuadrados

Sustituyendo obtenemos

( )

( )

1 2

2 2

10*572.4 81*551.5382

10*385 55

385*81 55*572.40.3600

10*385 55

c

c

−= =−

−= = −−

Luego, la recta que mejor aproxima la data dada es:

( ) 1.538 0.360F x x= −Gráficamente tenemos

132

Aproximación por mínimos cuadrados

Mínimos cuadrados

y = 1.5382x - 0.36

0

2

4

6

8

10

12

14

16

18

0 2 4 6 8 10 12

yLineal (y)

133

Aproximación por mínimos cuadrados

Aplicación. Calcule la mejor recta que aproxima la data

siguiente, utilizando MATLABx y1 1.32 3.53 4.24 55 76 8.87 10.18 12.59 13

10 15.6

Utilizando el comando polyfit es

muy fácil calcular los coeficientes.

La secuencia de comandos se

presenta a continuación.

>> xd=linspace(1,10,10);

>> yd=[1.3 3.5 4.2 5 7 8.8 10.1 12.5 13 15.6];

>> mccoef=polyfit(xd,yd,1)

mccoef =

1.5382 -0.3600

134

Aproximación por mínimos cuadrados

Aplicación. Calcule la mejor parábola que aproxima la

data siguiente. x y1 1.32 3.53 4.24 55 76 8.87 10.18 12.59 13

10 15.6

En este caso deberíamos utilizar las ecuaciones normales

obtenidas para k=3. Esto nos llevará a un sistema de

ecuaciones con tres incógnitas.

Un pequeño programa en MATLAB permitirá calcular

los coeficientes de la aproximación de 2do orden.

135

Aproximación por mínimos cuadrados

x=(1:10);

y(1)=1.3; y(2)=3.5; y(3)=4.2; y(4)=5; y(5)=7;

y(6)=8.8; y(7)=10.1;y(8)=12.5;y(9)=13;y(10)=15.6;

n=length(x);

g1(1:10)=x.^2; g2(1:10)=x; g3(1:10)=1;

A(1:3,1:3)=0; b(1:3)=0;

for i=1:n

A(1,1)=A(1,1)+g1(i)*g1(i);

A(1,2)=A(1,2)+g2(i)*g1(i);

A(1,3)=A(1,3)+g3(i)*g1(i);

A(2,1)=A(2,1)+g1(i)*g2(i);

A(2,2)=A(2,2)+g2(i)*g2(i);

A(2,3)=A(2,3)+g3(i)*g2(i);

A(3,1)=A(3,1)+g1(i)*g3(i);

A(3,2)=A(3,2)+g2(i)*g3(i);

A(3,3)=A(3,3)+g3(i)*g3(i);

b(1)=b(1)+y(i)*g1(i);

b(2)=b(2)+y(i)*g2(i);

b(3)=b(3)+y(i)*g3(i);

end

c=A\b'

Al ejecutar el

programa obtenemos:

c =

0.0348

1.1548

0.4067

y el polinomio buscado es

entonces:

( )

4067.0

1548.1

0348.0 2

++

=x

xxF

136

Aproximación por mínimos cuadrados

Podemos obtener estos resultados utilizando las rutinas

internas de MATLAB. Si cambiamos el último parámetro

en polyfit obtenemos:

x y1 1.32 3.53 4.24 55 76 8.87 10.18 12.59 13

10 15.6

Luego, el polinomio buscado es

>> xd=linspace(1,10,10);

>> yd=[1.3 3.5 4.2 5 7 8.8 10.1 12.5 13 15.6];

>> mccoef2=polyfit(xd,yd,2)

mccoef2 =

0.0348 1.1548 0.4067

Gráficamente tenemos

( ) 4067.01548.10348.0 2 ++= xxxF

137

Aproximación por mínimos cuadrados

138

Aproximación por mínimos cuadrados

A los fines de comparar ambas aproximaciones

calculemos

Luego, obtenemos

( ) ( )( )21 2

1

, ,...,n

k i i

i

E c c c F x y=

= −∑

( ) ( )( )

( ) ( )( )

2

1 1 2

1

2

2 1 2 3

1

, 2.34

, , 1.70

n

i i

i

n

i i

i

E c c F x y

E c c c F x y

=

=

= − =

= − =

En consecuencia la aproximación de segundo orden es un

poco más precisa que la de primer orden.

139

Aproximación por mínimos cuadrados

Extender los métodos estudiados hasta ahora al caso de

data que sigue un comportamiento descrito por funciones

no lineales es posible en muchos casos. Por ejemplo, si se

sospecha que la data puede ser representada por curvas

del tipobaxy = bxaey =

Se puede proceder con el método de mínimos cuadrados

lineal expresando la data para calcular los coeficientes de

las aproximaciones

BXAY

xbay

+=

+=

lnlnln

BXAY

bxay

+=

+=

lnln

y luego de hallar A y B, determinar a y b.

140

Aproximación por mínimos cuadrados

Aplicación: Para el conjunto de datos mostrado (que se

encuentran en el archivo prueba.xls) determine la

aproximación exponencial.}0.1 3.19736096

0.12269682 3.495877340.14616674 3.169766360.18709371 4.659126380.16618855 3.797345170.13075655 3.570737610.09693139 2.933341610.06685783 2.752152160.08292694 3.227574310.0967271 3.53687066

0.10456521 3.801405080.14445796 3.279914240.1939087 4.57960145

0.20859067 5.186553650.20158097 4.235671430.22356728 4.316521880.2395786 5.47610406

0.24390393 4.607461970.28447824 6.221074640.31476325 5.41588010.36972445 7.51167727

0.36972445 7.511677270.41887675 10.38797140.43064837 10.18623730.44710994 10.69087010.41668152 8.534194990.41312839 7.752564540.40033748 8.680182470.45228925 8.029895650.47753791 9.948280390.46723689 10.13113660.47892519 11.40824560.48847596 10.42359030.54012195 13.29330540.55232073 11.09375130.54523441 11.6963660.51967755 11.8037610.5081871 10.5739851

0.49600896 9.299856410.54246163 14.30235120.59620412 16.9665974

0.59620412 16.96659740.58917603 12.50883880.62498594 16.67832830.58732978 16.89151850.55452122 11.84577190.58921237 13.95172010.60556343 14.506255

0.570372 15.10962310.59801541 13.88323020.62207155 13.82921720.6697271 19.3226613

0.65272846 16.44280280.67600784 19.8166286

0.703667 22.86494180.6747575 18.9034062

0.65807528 18.95915480.69812874 18.96927990.68858162 17.82591670.71542056 20.35462840.74729643 23.57136360.78857488 26.44945350.75178658 22.644153

0.75178658 22.6441530.77905554 25.34764430.76499114 23.5002220.76393264 21.21882430.79531651 29.91740650.77335357 26.72939010.73978894 22.95995650.7630122 22.15280410.7708741 26.5441722

141

Aproximación por mínimos cuadrados

Gráficamente la data luce como:

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

5

10

15

20

25

30

La distribución de los datos sugiere el uso de una función

exponencial para su representación

142

Aproximación por mínimos cuadrados

Utilizando MATLAB tenemos:clear all

% lectura de datos

num = xlsread('prueba.xls');

x=num(:,1);

y=num(:,2);

% aproximación lineal minimos cuadrados

m1=polyfit(x,y,1)

x1=min(x):(max(x)-min(x))/100:max(x);

y1=m1(1)*x1+m1(2);

% aproximación lineal minimos cuadrados con función exponencial

y_log=log(y);

m2=polyfit(x,y_log,1);

a=exp(m2(2)); b=m2(1);

y2=a*exp(b*x1);

% Graficación de la data y las funciones

plot(x,y,'o',x1,y1,x1,y2)

title('Aproximación con Min. Cuad. funciones no lineales')

xlabel('x'), ylabel('y')

143

Aproximación por mínimos cuadrados

Obtenemos para la aproximación lineal

La lámina siguiente presenta estas funciones en forma

gráfica.

23392127531 .x-.baxy =+=

2.4017ln ==→= AeaaA

xBXAY

bxay

3.03690.8762

lnln

+=+=

+=

y para la aproximación exponencial

xbx eaey 0369.34017.2==

144

Aproximación por mínimos cuadrados

Gráficamente tenemos:

Nótese como la curva correspondiente a la función

exponencial (roja) aproxima mejor la data que la recta

(verde).

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8-5

0

5

10

15

20

25

30Aproximación con Min. Cuad. funciones no lineales

x

y

data

linealexponencial

145

Aproximación por mínimos cuadrados

Para confirmar esto, si se calcula para ambas funciones las

diferencias

obtenemos

( ) ( )( )∑=

−=n

i

ii yxFccE1

2,1

( ) ( )

( ) ( ) 97.24,

384.96,

2

1

exp

1

2

=−=

=−+=

=

=

n

i

i

bx

onencial

n

i

ilineal

yaebaE

ybaxbaE

lo que confirma nuestra apreciación gráfica anterior.

La necesidad de “normalizar” los criterios de ajuste llevan

a la definición de coeficientes que permiten valorar la

cercanía entre la función propuesta y los datos a

aproximar.

146

Aproximación por mínimos cuadrados

Una de estas medidas es el coeficiente de determinación

R2 o el de correlación R, los cuales se encuentran entre 0

(no hay ajuste) y 1 (ajuste perfecto) y es calculado

automáticamente en muchos paquetes. Por ejemplo,

utilizando Excel en nuestro ejemplo anterior nos lleva a:

y = 31.127x - 2.2339

R2 = 0.8983

y = 2.4017e3.0369x

R2 = 0.9822

-5

0

5

10

15

20

25

30

35

0 0.2 0.4 0.6 0.8 1

Serie1

Lineal (Serie1)

Exponencial (Serie1)

En efecto, es posible

comprobar que la

curva exponencial

(R2=0.9822)

representa mejor la

data que la regresión

lineal (R2=0.8983).

147

Aproximación por mínimos cuadrados

En general, otras funciones, no polinomiales, pueden ser

utilizadas. El procedimiento es básicamente el mismo,

introduciendo las nuevas funciones y evaluándolas en las

ecuaciones normales.

Excel posee una diversidad importante de posibilidades

para el trazado de las curvas de interpolación y

aproximación de datos.

148

Capítulo I

• Introducción

• Polinomios de Newton de diferencias divididas.

• Polinomios de Lagrange

• Interpolación polinomial

• Trazadores rectilíneos, parabólicos y cúbicos.

• Métodos de mínimos cuadrados (lineal y no lineal)

• Referencias

149

Referencias

1. Análisis Numérico, Burden R., Faires J. D., 6ta

Edición, International Thomson Editores, 1998

2. Métodos Numéricos para Ingenieros, Chapra S.,

Canale R., 4ta Edición, McGrawHill, 2003

3. Análisis Numérico con Aplicaciones, Gerald C.,

Wheatley P.,6ta Edición, Pearson Educación, 1999

4. Introductory Numerical Methods Incorporating

MATLAB, Hahn J., Bradley University,

http://bradley.bradley.edu/~delgado/202/TableofConte

nts.html

150

CAPITULO I

INTERPOLACION Y

APROXIMACION

Universidad Simón Bolívar

Mecánica Computacional II

Armando Blanco A.

top related