Está en la página 1de 150

1

Mecnica Computacional II

CAPITULO I
INTERPOLACION Y
APROXIMACION
Armando Blanco A.
Universidad Simn Bolvar

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

Introduccin
En general, el ingeniero debe analizar la informacin para la toma de
decisiones. Esta viene usualmente en forma grfica.

Fuente: BP Statistical Review of World Energy, Junio 2009

Introduccin
.o tabulada.

Fuente: BP Statistical Review of World Energy, Junio 2009

Introduccin
Tabla. Consumo y produccin promedio de petrleo de Venezuela (Miles de Barriles/Da)
Ao

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

Consumo

475

474

496

545

594

479

523

576

607

665

719

Produccin

3480

3126

3239

3142

2895

2554

2907

2937

2808

2613

2566

Produccion de Petroleo de Venezuela

Produccion de Petroleo de Venezuela

3500

750

3400

700
Consumo (Miles Barriles/Dia)

Produccin (Miles Barriles/Dia)

3300
3200
3100
3000
2900
2800

650

600

550

2700

500
2600
2500
1998

1999

2000

2001

2002

2003
Ao

2004

2005

2006

2007

2008

450
1998

1999

2000

2001

2002

2003
Ao

2004

2005

2006

2007

La informacin puede ser representada por ejemplo grficamente


y obtener informacin acerca de tendencias (extrapolacin).

2008

Introduccin
En algunas situaciones puede ser necesario conocer los valores
entre los puntos de datos conocidos. En general, interpolar
significa estimar los valores de una funcin o variable entre
valores conocidos.
Anteriormente era comn hacerlo a partir de tablas, para obtener
los valores para argumentos no tabulados. Esto ha prcticamente
desaparecido con la llegada de poderosos instrumentos de
clculo.
Sin embargo, el concepto de interpolacin es an muy
importante en el anlisis de data proveniente de experimentos y
en el desarrollo de esquemas numricos.
Como ejemplo, consideremos la data siguiente:
Temperatura (C)
Presin (atm)

30
0.0418

40
0.07428

60
0.196

80
0.467

100
1

150
4.69

Introduccin

4.5

4.5

3.5

3.5

3
P (atm)

P (atm)

La presin a otras temperaturas distintas de las de la tabla puede


ser estimada por interpolacin. Por ejemplo, si deseamos estimar
la presin a la temperatura en puntos no conocidos, lo podemos
hacer a travs de la rectas

2.5

2.5

1.5

1.5

0.5

0.5

0
20

40

60

80

100
T (C)

120

140

160

0
20

40

60

80

100

120

140

160

T (C)

Algunas veces es posible hallar curvas mejores que las rectas,


como se muestra en la otra grfica (polinomio de 5to grado).

Introduccin
En otras situaciones nuestro inters es encontrar una funcin que
aproxime una data dada, sin necesariamente pasar por los puntos
que la componen.
5

P (atm)

-1
20

40

60

80

100

120

140

160

T (C)

Estudiar los conceptos bsicos de interpolacin y aproximacin


de conjunto de datos es el objetivo de este captulo.

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

Polinomio interpolante de Newton


Interpolacin lineal
Supongamos que nuestra data consiste en un par de puntos
(x0,y0) y (x1,y1).

y1
y0
x0

x1

La forma mas sencilla de interpolacin consiste en construir la


recta que pasa por ambos puntos. Tendremos:

y y0 y1 y0
=
x x0 x1 x0

y1 y0
( x x0 )
y = y0 +
x1 x0

10

Polinomio interpolante de Newton


Ejemplo
Supongamos que deseamos aproximar linealmente la funcin

f (x ) = x
en el intervalo [3,8] y obtener el valor de la aproximacin en
x=4. Luego tendremos:

x0 = 3;

y0 = f ( x0 ) = 3 = 1.73205

x1 = 8;

y1 = f ( x1 ) = 8 = 2.82843

y el polinomio interpolante lineal vendr dado por:

2.82843 1.73205
( x 3)
y = P1 ( x ) = 1.73205 +
83
y = P1 ( x ) = 1.73205 + 0.219276( x 3)

11

Polinomio interpolante de Newton


Luego, en el punto x=4 la aproximacin lineal nos dar

y = P1 ( x ) = 1.73205 + 0.219276(4 3) = 1.951326


La diferencia entre la aproximacin obtenida y el valor de la
funcin en x=4 vendr dada por:

f (4) P1 (4)
100 = 2.4%
f ( 4)
Supongamos que se desea mejorar la aproximacin. Una mejor
alternativa podra ser emplear una interpolacin cuadrtica tal
como veremos a continuacin.

12

Polinomio interpolante de Newton


Interpolacin cuadrtica
Supongamos que nuestra data consiste en tres puntos (x0,y0),
(x1,y1) y (x2,y2) .

y
y1
y2
y0
x0 x 2

x1

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


menos que estos estn alineados) y puede escribirse como:

P2 ( x ) = b0 + b1 ( x x0 ) + b2 ( x x0 )( x x1 )

13

Polinomio interpolante de Newton

14

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


y x2. As tenemos:

P2 ( x0 ) = b0 + b1 ( x0 x0 ) + b2 ( x0 x0 )( x0 x1 ) = b0 = y0

P2 ( x1 ) = b0 + b1 ( x1 x0 ) + b2 ( x1 x0 )( x1 x1 ) = b0 + b1 ( x1 x0 ) = y1

P2 ( x2 ) = b0 + b1 ( x2 x0 ) + b2 ( x2 x0 )( x2 x1 ) = y2
De estas relaciones obtenemos

b0 = y0
y1 b0 y1 y0
b1 =
=
x1 x0 x1 x0

y1 y0
(x2 x0 )
y 2 y0
y2 b0 b1 ( x2 x0 )
x1 x0
b2 =
=
(x2 x0 )(x2 x1 )
(x2 x0 )(x2 x1 )

Polinomio interpolante de Newton


Manipulando b2 llegamos a

y2 y1 + y1 y0
y1 y0
(x2 x1 )
(x2 x0 )
(
x2 x1 )
x1 x0
b2 =
(x2 x0 )(x2 x1 )
y2 y1
y1 y0
y1 y0
(x2 x1 ) +
(x2 x1 )
(x2 x0 )
(
(
x2 x1 )
x2 x1 )
x1 x0
b2 =
(x2 x0 )(x2 x1 )
y1 y0
y1 y0
y2 y1
(x2 x1 )
(x2 x0 )
(x2 x1 )
(
x2 x1 )
(
x1 x0
x2 x1 )
b2 =
+
(x2 x0 )(x2 x1 )
(x2 x0 )(x2 x1 )

15

Polinomio interpolante de Newton

16

Continuando con b2

y1 y0
y2 y1
( x 2 x0 )
y1 y0
(
x1 x0
x2 x1 )
b2 =
+
( x 2 x0 )
(x2 x0 )(x2 x1 )

( y1 y0 )(x1 x0 ) y1 y0 (x x )
y2 y1
2
0
(
(
x1 x0 )
x1 x0
x2 x1 )
+
b2 =
(x2 x0 )
(x2 x0 )(x2 x1 )
y1 x1 y1 x0 y0 x1 + y0 x0 y1 x2 + y1 x0 + y0 x2 y0 x0
y2 y1
(
(
x1 x0 )
x2 x1 )
b2 =
+
(x2 x0 )
(x2 x0 )(x2 x1 )

Polinomio interpolante de Newton


Siguiendo con b2

y1 x1 y0 x1 y1 x2 + y0 x2
y2 y1
(
(
x1 x0 )
x2 x1 )
b2 =
+
( x 2 x0 )
(x2 x0 )(x2 x1 )
x1 ( y1 y0 ) x2 ( y1 y0 )
y2 y1
(
(
x1 x0 )
x2 x1 )
b2 =
+
( x 2 x0 )
(x2 x0 )(x2 x1 )

( y1 y0 )(x1 x2 ) y2 y1 y1 y0
y2 y1
(
x1 x0 )
x2 x1 x1 x0
(
x2 x1 )
b2 =
+
=
(x2 x0 ) (x2 x0 )(x2 x1 )
x 2 x0

17

Polinomio interpolante de Newton


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

b0 = y0
y1 y0
b1 =
x1 x0
y2 y1 y1 y0

x2 x1 x1 x0
b2 =
x2 x0
Ntese que b1 representa la pendiente de la recta que une los
puntos 0 y 1. Luego, la curvatura vendr determinada por el
trmino cuyo coeficiente es b2.

18

Polinomio interpolante de Newton


Ejemplo
Supongamos que deseamos aproximar con una parbola la
funcin

f (x ) = x

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


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

x0 = 3;

y0 = f ( x0 ) = 3 = 1.73205

x1 = 8;

y1 = f ( x1 ) = 8 = 2.82843

x2 = 5;

y2 = f ( x2 ) = 5 = 2.23607

La aproximacin cuadrtica vendr representada por:

P2 ( x ) = b0 + b1 ( x x0 ) + b2 ( x x0 )( x x1 )

19

Polinomio interpolante de Newton

20

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


son:

b0 = y0 = 1.73205
y1 y0 2.82843 1.73205
b1 =
=
= 0.230159
x1 x0
83
y2 y1 y1 y0 2.23607 2.82843 2.82843 1.73205

x2 x1 x1 x0
58
83
b2 =
=
x 2 x0
53
b2 = 0.010911
La aproximacin cuadrtica es:

P2 ( x ) = 1.73205 + 0.219276( x 3) 0.010911( x 3)( x 8)

Polinomio interpolante de Newton


La aproximacin parablica en x=4 arroja el valor

P2 (4 ) = 1.73205 + 0.219276(4 3) 0.010911(4 3)(4 8)


P2 (4 ) = 1.99497

El error cometido con esta aproximacin es:

f (4) P2 (4)
100 = 0.25%
f ( 4)
y es bastante menor al obtenido con la aproximacin lineal.
Veamos esto grficamente en la lmina siguiente.

21

Polinomio interpolante de Newton


Interpolacin
3
Datos
Valor exacto
Lineal
Parabolico
Funcion

2.8

2.6

2.4

2.2

1.8

1.6

3.5

4.5

5.5
x

6.5

7.5

Ntese: (a) El paso de la aproximacin parablica por los tres


puntos y (b) la cercana entre la funcin aproximada y la
aproximacin parablica

22

Polinomio interpolante de Newton


El detalle en las cercanas del punto x=4 se muestra a
continuacin.
Interpolacin
Datos
Valor exacto
Lineal
Parabolico
Funcion

1.99

1.98

1.97

1.96

1.95

1.94
3.97

3.98

3.99

4
x

4.01

4.02

4.03

23

Polinomio interpolante de Newton


Forma general de los polinomios de interpolacin
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:

Pn ( x ) = b0 + b1 ( x x0 ) + b2 ( x x0 )( x x1 )

+ ... + bn ( x x0 )...( x xn 2 )( x xn 2 )

En el caso del polinomio lineal (n=1) tenamos que:

y1 y0
( x x0 )
y = y0 +
x1 x0
y entonces:

b0 = y0 ;

y1 y0
b1 =
x1 x0

24

Polinomio interpolante de Newton


Mientras que para la aproximacin cuadrtica (n=2) tenamos

b0 = y0

y2 y1 y1 y0

x2 x1 x1 x0
b2 =
x2 x0

y1 y0
b1 =
x1 x0

Definiendo las diferencias divididas como:

f [xi ] = f ( xi )
yi y j
f ( xi ) f (x j )
f xi , x j =
=
xi x j
xi x j

f xi , x j , xk =

] [

f xi , x j f x j , xk
xi xk

25

Polinomio interpolante de Newton


Luego, tendremos que:

b0 = y0 = f ( x0 ) = f [x0 ]
y1 y0 f ( x1 ) f ( x0 )
b1 =
=
= f [x1 , x0 ]
x1 x0
x1 x0
y2 y1 y1 y0

x2 x1 x1 x0
f [x2 , x1 ] f [x1 , x0 ]
b2 =
=
= f [x2 , x1 , x0 ]
x 2 x0
x 2 x0
tenemos que, hasta orden 2 podemos escribir:

P2 ( x ) = f [x0 ] + f [x1 , x0 ]( x x0 ) + f [x2 , x1 , x0 ]( x x0 )( x x1 )

26

Polinomio interpolante de Newton

27

Luego, si definimos

f [xn , xn 1 ,..., x2 , x1 ] f [xn 1 , xn 2 ,..., x1 , x0 ]


f [xn , xn 1 ,..., x1 , x0 ] =
xn x0
podemos asumir que en general que el polinomio interpolante de
grado n es dado por:

Pn ( x ) = f [x0 ] + f [x1 , x0 ]( x x0 ) + f [x2 , x1 , x0 ]( x x0 )( x x1 ) +

+ ... + f [xn , xn 1 ,..., x1 , x0 ]( x x0 )( x x1 )...( x xn 2 )( x xn 1 )


En notacin compacta podemos escribir:
n

Pn (x ) = f [x0 ] + f [xk , xk 1 ,..., x0 ](x x0 )(x x1 )....(x xk 1 )


k =1

Polinomio interpolante de Newton


Ntese que:
(a) No es necesario que los datos estn 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.

28

Polinomio interpolante de Newton


Adems, para calcular las diferencias divididas podemos
tener en cuenta que :

f xi , x j =

xi x j

f (x j ) f ( xi )

] [

f xi , x j f x j , xk

f xk , x j f x j , xi

f xi , x j , xk =

f ( xi ) f (x j )

f xi , x j , xk =

xi xk

] [

xk xi

= f x j , xi

x j xi

] = f [x , x ] f [x , x ]
j

xk xi

] = f [x , x , x ]
k

29

Polinomio 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

30

Polinomio interpolante de Newton

Las primeras diferencias divididas se construyen


como se muestra en la siguiente tabla:
x
2

y
1.623

DD1
0.464

2.5

1.855
0.124

2.041
0.584

4.5

2.333
0.152

2.561

f [ xi +1 ] f [ xi ] f ( xi +1 ) f ( xi )
f [ xi , xi +1 ] =
=
xi +1 xi
xi +1 xi

31

Polinomio interpolante de Newton

Las segundas diferencias divididas se construyen


similarmente como se muestra en la siguiente tabla:
x
2

y
1.623

DD1

DD2

0.464
2.5

1.855

-0.17
0.124

2.041

0.23
0.584

4.5

2.333

-0.216
0.152

2.561

f [ xi +1 , xi + 2 ] f [ xi , xi +1 ]
f [ xi , xi +1 , xi + 2 ] =
xi + 2 xi

32

Polinomio interpolante de Newton

De la misma manera, las terceras y cuartas


diferencias divididas se construyen como se muestra
en la siguiente tabla:
x
2

y
1.623

DD1

DD2

DD3

DD4

0.464
2.5

1.855

-0.17
0.124

2.041

0.16
0.23

0.584
4.5

2.333

-0.071857
-0.12743

-0.216
0.152

2.561

f [ xi +1 ,..., xi + k ] f [ xi ,..., xi + k 1 ]
f [ xi , xi +1 ,..., xi + k ] =
xi + k xi

33

Polinomio interpolante de Newton

34

En consecuencia, los coeficientes del polinomio


interpolante de newton
n

Pn (x ) = f [x0 ] + f [x0 , x1 ,..., xk ](x x0 )( x x1 )....( x xk 1 )


k =1

son dados por:


f [ x0 ]

x
2

y
1.623

f [ x0 , x1 ]
DD1

f [ x0 , x1 , x2 ]
DD2

0.464
2.5

1.855
2.041
2.333
2.561

-0.071857
-0.12743

-0.216
0.152

0.16

f [ x0 , x1 , x2 , x3 , x4 ]

f [ x0 , x1 , x2 , x3 ]

0.23
0.584

4.5

DD4

-0.17
0.124

DD3

Polinomio interpolante de Newton

35

Luego,
n

Pn (x ) = f [x0 ] + f [x0 , x1 ,..., xk ](x x0 )( x x1 )....( x xk 1 )


k =1

Pn ( x ) = f [ x0 ] + f [ x0 , x1 ] ( x x0 ) + f [ x0 , x1 , x2 ] ( x x0 )( x x1 ) +
f [ x0 , x1 , x2 , x3 ] ( x x0 )( x x1 )( x x2 ) +

f [ x0 , x1 , x2 , x3 , x4 ] ( x x0 )( x x1 )( x x2 )( x x3 )

P4 ( x ) = 1.623 + 0.464( x 2 ) 0.17(x 2 )( x 2.5) +


0.16( x 2 )(x 2.5)( x 4 )

0.071857( x 2 )(x 2.5)( x 4 )(x 4.5)

Polinomio interpolante de Newton

El polinomio de interpolante luce como se muestra en la


figura a continuacin.
Interpolacin
3
Datos
Polinomio interpolante

2.8

2.6

2.4

2.2

1.8

1.6

2.5

3.5

4
x

4.5

5.5

36

Polinomio interpolante de Newton

37

Las ventajas de la utilizacin del polinomio interpolante


de Newton ahora es obvia. Si se aade un nuevo dato a los
anteriores, el polinomio se modificar de manera que
Pn ( x ) = 1.623 + 0.4624 ( x 2 ) 0.17 ( x 2 )( x 2.5 ) +
0.16 ( x 2 )( x 2.5 )( x 4 )

- 0.071857 ( x 2 )( x 2.5 )( x 4 )( x 4.5 )

+f [ x0 , x1 , x2 , x3 , x4 , x5 ] ( x 2 )( x 2.5 )( x 4 )( x 4.5 )( x x4 )

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


diferencias divididas se calculan como antes

Polinomio interpolante de Newton


x
2

y
1.623

DD1

DD2

DD3

DD4

DD5

0.464
2.5

1.855

-0.17
0.124

2.041

0.16
0.23

0.584
4.5

2.333

-0.12743
-0.216

0.152
6

-0.071857

2.561

-0.10306349
-0.174921

-0.21489
-0.00111111

0.15366667
3

2.1

y el nuevo polinomio es dado por


Pn ( x ) = 1.623 + 0.4624 ( x 2 ) 0.17 ( x 2 )( x 2.5 ) +
0.16 ( x 2 )( x 2.5 )( x 4 )

- 0.071857 ( x 2 )( x 2.5 )( x 4 )( x 4.5 )

-0.10306 ( x 2 )( x 2.5 )( x 4 )( x 4.5 )( x 3.0 )

38

Polinomio interpolante de Newton

Grficamente tenemos que el nuevo polinomio pasa por


todos los puntos de datos dados.
Interpolacin

4
Datos
Polinomio interpolante
3.5

2.5

1.5

2.5

3.5

4
x

4.5

5.5

Ntese que en algunos puntos del intervalo los valores


obtenidos estn alejados de lo esperado. Esta tendencia es
mayor en la medida que el grado del polinomio
interpolante es mayor.

39

Polinomio Interpolante de Newton

40

Volvamos a las diferencias divididas. Antes calculamos los


coeficientes del polinomio interpolante a partir de las tablas:
x
2

y=f[x0]
1.623

f[x0,x1]

f[x0,x1,x2]

f[x0,x1,x2,x3] f[x0,x1,x2,x3,x4]

0.4640
2.5

1.855

-0.1700
0.1240

2.041

0.1600
0.2300

0.5840
4.5

2.333

-0.0719
-0.1274

-0.2160
0.1520

2.561

x
4

y=f[x0]
2.0410

f[x0,x1]

f[x0,x1,x2]

f[x0,x1,x2,x3] f[x0,x1,x2,x3,x4]

0.5840
4.5

2.3330

0.1500
0.2840

1.6230

-0.0915
-0.0330

0.2345
6

2.5610

2.5

1.8550

0.0163
-0.0656

0.2017

-0.0719

Polinomio Interpolante de Newton

Los polinomios interpolantes segn cada tabla son:

P4 ( x ) = 1.623 + 0.464( x 2 ) 0.17(x 2 )(x 2.5) +


1

0.16(x 2 )(x 2.5)( x 4 )


0.0719(x 2 )( x 2.5)(x 4 )( x 4.5)

P4 ( x ) = 2.0410 + 0.5840(x 4 ) + 0.1500(x 4 )( x 4.5)


2

0.0915( x 4 )(x 4.5)( x 2 )


0.0719(x 4 )(x 4.5)( x 2 )(x 6 )

Cul de los polinomios interpolantes es el correcto?

41

Polinomio 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
clculo de las diferencias divididas.

42

Polinomio interpolante de Newton

En el caso en el que los xi estn uniformemente


espaciados, podemos escribir
h = xi +1 xi

x = x0 + sh
las diferencias en la formula de las diferencias
divididas interpolantes se expresan como
x xi = (s i )h
para obtener al sustituir en

Pn ( x ) = f [ x0 ] + ( x x0 ) f [ x0 , x1 ] + ( x x0 )( x x1 ) f [ x0 , x1, x2 ] + ...
... + ( x x0 )( x x1 )....( x xn 1 ) f [x0 , x1 ,..., xn ]

Polinomio interpolante de Newton

la expresin

Pn (x ) = f [x0 ] + shf [x0 , x1 ] + sh(s 1)hf [x0 , x1 , x2 ] + ..


... + sh(s 1)h....(s n + 1)hf [x0 , x1 ,..., xn ]
simplificando
Pn (x ) = f [x0 ] + shf [x0 , x1 ] + s (s 1)h 2 f [x0 , x1 , x2 ] + ..
... + s (s 1)....(s n + 1)h n f [x0 , x1 ,..., xn ]
o
n

Pn (x ) = s (s 1)....(s k + 1)h f [x0 , x1 ,..., xk ]


k

k =0

Polinomio interpolante de Newton

Utilizando la notacin del coeficiente polinomial

s s (s 1)....(s k + 1)
=
k!
k
podemos escribir
n
s k
Pn (x ) = k!h f [x0 , x1 ,..., xk ]
k =0 k
Alternativamente las diferencias divididas pueden
escribirse, utilizando la notacin de Aitken para las
diferencias divididas
f ( xi +1 ) f (xi ) f (xi ) 1
f [ xi , xi +1 ] =
=
=
f ( xi )
xi +1 xi
h
1! h

Polinomio interpolante de Newton

f [ xi +1 , xi + 2 ] f [ xi , xi +1 ]
f [ xi , xi +1 , xi + 2 ] =
xi + 2 xi

f [ xi , xi +1 , xi + 2 ] =

f (xi +1 )

h
2h

f ( xi )

1 2
1 2
f [ xi , xi +1 , xi + 2 ] = 2 f ( xi ) =
f ( xi )
2
2h
2!h
Iterativamente llegamos a

1 k
f [ xi , xi +1 ,..., xi + k ] =
f (xi )
k
k! h

Polinomio interpolante de Newton


Las diferencias progresivas se calculan como:

f ( x0 ) = f ( x1 ) f ( x0 )

2 f ( x0 ) = ( f ( x0 ) ) = ( f ( x1 ) f ( x0 ) ) = f ( x1 ) f ( x0 )

3 f ( x0 ) = 2 f ( x0 ) = f ( x1 ) f ( x0 )
= f ( x2 ) f ( x1 ) f ( x1 ) + f ( x0 )

= f ( x2 ) f ( x1 ) f ( x1 ) + f ( x0 )
2
2

= f ( x1 ) f ( x0 )
En general, tendremos

k f ( x0 ) = k 1 f ( x0 ) = k 1 f ( x1 ) k 1 f ( x0 )

Polinomio interpolante de Newton


Podemos simplificar an mas Pn(x) para escribir

s k
Pn (x ) = f ( xi )
k =0 k
n

que se conoce como la frmula de las diferencias


progresivas de Newton o frmula hacia delante de
Newton-Gregory.
Si reescribimos el polinomio interpolante como

Pn (x ) = an + an 1 ( x xn ) + an 2 (x xn )(x xn 1 ) + ....

... + a0 ( x xn )( x xn 1 )...(x x0 )
y utilizamos las mismas suposiciones anteriores
h = xi +1 xi

x = xn + sh

x xn i = ( s + i ) h

Polinomios interpolante de Newton

Podemos escribir

Pn (x ) = Pn ( xn + sh ) = f [xn ] + f [xn , xn 1 ]( x xn ) + .... +


... + f [xn , xn 1 ,..., x0 ](x xn )(x xn 1 )...(x x1 )

Pn (x ) = f [xn ] + shf [xn , xn 1 ] + s (s + 1)h 2 f [xn , xn 1 , xn 2 ]....


... + s (s + 1)...(s + n 1)h n f [xn , xn 1 ,..., x0 ]
y al definir la diferencia regresiva (y sus potencias)
2
1

p
=

pn =
pn = pn pn 1
n

k pn = k 1 pn , k 2

= ( pn pn 1 )
= pn pn 1

Polinomios interpolante de Newton

podemos escribir

f ( xi 1 ) f ( xi ) f [ xi 1 ] f [ xi ] f ( xi )
f [ xi , xi 1 ] =
=
=
xi 1 xi
h
h
f [ xi 1 , xi 2 ] f [ xi , xi 1 ]
f [ xi , xi 1 , xi 2 ] =
xi 2 xi
Utilizando estos resultados y la definicin de la 2da
diferencia dividida tenemos
f (xi 1 ) / h f ( xi ) / h f (xi ) f (xi 1 )
=
f [ xi , xi 1 , xi 2 ] =
2
2h
2h

f ( xi )
f [ xi , xi 1 , xi 2 ] =
2
2h
2

(89)

Polinomios interpolante de Newton

y, en general

k f ( xi )
f [ xi , xi 1 ,..., xi k ] =
k! h k
En consecuencia tenemos

s(s +1) 2
s(s +1)...(s + n 1) n
Pn (x) = f [xn ] + sf (xn ) +
f (xn ) +...+
f (xn )
2
n!
Al extender la definicin del coeficiente binomial a
todos los nmeros reales

s s ( s 1)....( s k + 1)
k s (s + 1)....(s + k 1)
=
= ( 1)
k!
k!
k

Polinomios interpolante de Newton

tenemos

s
2 s 2
n s n
Pn(x) = f [xn ] +(1) f (xn ) +(1) f (xn ) +...+(1) f (xn )
1
2
n
1

En forma compacta
n
k s k
Pn(x) = (1) f (xn )
k=0
k
que se conoce como la frmula de las diferencias
regresivas de Newton o frmula hacia atrs de
Newton-Gregory. Ntese que la variable x est
implcita en la nueva variable s.

Polinomios interpolante de Newton

Aplicacin: Considere la aproximacin de la


siguiente data utilizando las frmulas de diferencias
progresivas de Newton y evalelo en x=1.1
X
1
1.3
1.6
1.9
2.2

Y
0.7651977
0.620086
0.4554022
0.2818186
0.1103623

La expresin de la formula de diferencias progresivas


de Newton es:

s k
Pn (x ) = f ( xi )
k =0 k
n

Polinomios interpolante de Newton

Puesto que tenemos 5 puntos de data, el polinomio


buscado debera ser de 4to grado. Entonces, la
frmula de diferencias progresivas nos llevara a:
4 s
k
P4 ( x) = f ( xi )
k =0 k
s 0
s 1
s 2
s 3
s 4
= f ( xi ) + f ( xi ) + f ( xi ) + f ( xi ) + f ( xi )
0
1
2
3
4
Si le asignamos al 1er punto de data el ndice 0
tenemos

s 0
s 1
s 2
s 3
s 4
P4 ( x) = f ( x0 ) + f ( x0 ) + f ( x0 ) + f ( x0 ) + f ( x0 )
0
1
2
3
4

Polinomios interpolante de Newton

Los valores de los coeficientes polinomiales a


emplear son:

s s ( s 1) .... ( s k + 1)
=
k!
k
s s ( s 1)( s 2 )( s 3)
;
=
4!
4
s s ( s 1)
s s
;
=
= ;
2!
2
1 1!

s s ( s 1)( s 2 )
;
=
3!
3
s
=1
0

Polinomios interpolante de Newton

Las diferencias progresivas son dadas por

k f ( x0 ) = k 1 f ( x0 ) = k 1 f ( x1 ) k 1 f ( x0 )
X
1
1.3
1.6
1.9
2.2

Y
0.7651977
0.620086
0.4554022
0.2818186
0.1103623

D1
-0.1451117
-0.1646838
-0.1735836
-0.1714563

D2
-0.0195721
-0.0088998
0.0021273

D3
0.0106723
0.0110271

D4
0.0003548

Luego, el polinomio buscado es:

s
s
s
P4 ( x) = 0.7651977 + ( 0.1451117) + ( 0.0195721) +
0
1
2
s
s
( 0.0106723) + ( 0.0003548)
3
4

Polinomios interpolante de Newton

Sustituyendo las expresiones de los coeficientes


polinomiales llegamos a:
s ( s 1)
P4 ( x) = (1) 0.7651977 + s ( 0.1451117) +
( 0.0195721) +
2!
s ( s 1)( s 2)
s ( s 1)( s 2)( s 3)
( 0.0106723) +
( 0.0003548)
3!
4!
Luego, en x=1.1 tendremos que s es dado por:

x x0 1.1 1.0 1
=
=
x = x0 + sh s =
0.3
3
h
En consecuencia,
P4 (1.1) = 0.7651977 + 0.333333333( 0.1451117) +( -0.111111111)( 0.0195721) +

( 0.061728395)( 0.0106723) +( -0.041152263)( 0.0003548) = 0.719645994

Polinomios interpolante de Newton

Para comprobar nuestros resultados, hacemos uso de


Excel, graficamos nuestra data y trazamos como
lnea de tendencia un polinomio de grado 4
Polinomio Interpolante de Cuarto Grado
0.9
0.8

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


R2 = 1

0.7
0.6
0.5

Y
Polinmica (Y)

0.4
0.3
0.2
0.1
0
1

1.2

1.4

1.6

1.8

2.2

2.4

Polinomios interpolante de Newton

Evaluando el polinomio obtenido llegamos a:


P4 ( x ) = 0.0018x 4 + 0.0553x 3 - 0.343x 2 + 0.0734x + 0.9777

Luego,
P4 (1.1) = 0.0018 (1.1) + 0.0553 (1.1) - 0.343 (1.1) + 0.0734 (1.1) + 0.9777
4

P4 (1.1) = 0.71964968

La diferencia entre ambas aproximaciones es


0.71964968-0.719645994
= 0.00051216%
0.71964968

insignificante.

60

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

61

Polinomios de Lagrange
Otro mtodo que permite escribir el polinomio interpolante de
un conjunto de datos lo constituyen los polinomios de Lagrange.,
los cuales se pueden obtener como una reformulacin del
polinomio de Newton para evitar el clculo de las diferencias
divididas.
Por ejemplo, en el caso de dos puntos tenemos que

P1 ( x ) = f [x0 ] + f [x1 , x0 ]( x x0 )
Si escribimos la diferencia dividida como

f ( x1 ) f ( x0 )
f ( x0 )
f ( x1 )
f [x0 , x1 ] =
=
+
x1 x0
x1 x0 x0 x1

tenemos

f ( x1 )
f ( x0 )
P1 ( x ) = f ( x0 ) +
+
( x x0 )
x1 x0 x0 x1

62

Polinomios de Lagrange
Reagrupando

f ( x0 )
x x0
(x x0 ) + f (x0 ) +
P1 ( x ) =
f ( x1 )
x0 x1
x1 x0
Simplificando obtenemos

x x1
x x0
P1 ( x ) =
f ( x0 ) +
f ( x1 )
x0 x1
x1 x0
En el caso del polinomio interpolante de orden 2 tendremos

P2 ( x ) = f [x0 ] + f [x1 , x0 ]( x x0 ) + f [x2 , x1 , x0 ]( x x0 )( x x1 )

63

Polinomios de Lagrange
Reescribiendo la segunda diferencia dividida obtenemos

f ( x2 ) f ( x1 ) f ( x1 ) f ( x0 )

f [x2 , x1 ] f [x1 , x0 ]
x2 x1
x1 x0
f [x0 , x1 , x2 ] =
=
x2 x0
x2 x0
Sustituyendo obtenemos

f ( x1 ) f ( x0 )
(x x0 )
P2 ( x ) = f ( x0 ) +
x1 x0

f ( x2 ) f ( x1 ) f ( x1 ) f ( x0 )

x1 x0
x2 x1
(x x0 )(x x1 )
+
x 2 x0

Expandiendo la expresin y reagrupando llegamos a

64

Polinomios de Lagrange
f ( x0 )
f ( x1 )
( x x0 ) +
(x x0 )
P2 ( x ) = f ( x0 ) +
x1 x0
x0 x1
f ( x2 ) f ( x1 )
f ( x1 ) f ( x0 )
+

( x x0 )( x x1 )
( x2 x1 )( x2 x0 ) ( x1 x0 )( x2 x0 )
f ( x0 )
f ( x1 )
(x x0 ) +
(x x0 )
P2 ( x ) = f ( x0 ) +
x1 x0
x0 x1

f ( x2 )( x x0 )( x x1 ) f ( x1 )( x x0 )( x x1 )
+

(x2 x1 )(x2 x0 )
(x2 x1 )(x2 x0 )

f ( x1 )( x x0 )( x x1 ) f ( x0 )( x x0 )( x x1 )

+
(x1 x0 )(x2 x0 )
(x1 x0 )(x2 x0 )

65

Polinomios de Lagrange
Reagrupando

(
x x0
x x0 )( x x1 )
+
P2 ( x ) = 1 +
f ( x0 )
x0 x1 ( x1 x0 )( x2 x0 )
x x0
(
(
x x0 )( x x1 )
x x0 )( x x1 )
+

f ( x1 )
x1 x0 ( x2 x1 )( x2 x0 ) ( x1 x0 )( x2 x0 )

(
x x0 )( x x1 )
f ( x2 )
+
(x2 x1 )(x2 x0 )

Simplifiquemos cada trmino. Entonces

(
x x0
x x0 )( x x1 )
1+
+
=
x0 x1 ( x1 x0 )( x2 x0 )

(x0 x1 )(x0 x2 ) + (x x0 )(x0 x2 ) + (x x0 )(x x1 )


(x0 x1 )(x0 x2 )

66

Polinomios de Lagrange
Luego

(
x x0
x x0 )(x x1 )
1+
+
=
x0 x1 (x1 x0 )(x2 x0 )
x0 x0 x2 x1x0 + x1x2 + xx0 xx2 x0 + x0 x2 + x2 xx1 x0 x + x0 x1
=
(x0 x1 )(x0 x2 )
2

Simplificando

(
x x0
x x0 )( x x1 )
x1 x2 xx2 + x 2 xx1
1+
+
=
(x0 x1 )(x0 x2 )
x0 x1 ( x1 x0 )( x2 x0 )
Factorizando

(
x x0
x x0 )( x x1 )
(
x x1 )( x x2 )
1+
+
=
x0 x1 ( x1 x0 )( x2 x0 ) ( x0 x1 )( x0 x2 )

67

Polinomios de Lagrange
De manera similar se puede mostrar que

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

=
x1 x0 ( x2 x1 )( x2 x0 ) ( x1 x0 )( x2 x0 ) ( x1 x0 )( x2 x0 )
y en consecuencia tenemos que P2(x) se escribe como:

(
x x1 )( x x2 )
P2 ( x ) =
f ( x0 )
(x0 x1 )(x0 x2 )
(
x x0 )( x x2 )
+
f ( x1 )
(x1 x0 )(x1 x2 )
(
x x0 )( x x1 )
+
f ( x2 )
(x2 x0 )(x2 x1 )

68

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

x x0
x x1
P1( x) =
f (x0 ) +
x0 x1
x1 x0

(
x x1 )( x x2 )
P2 ( x ) =
f ( x0 )
(x0 x1 )(x0 x2 )
(
x x0 )( x x2 )
f (x1 )
+
f ( x1 )
(x1 x0 )(x1 x2 )
(
x x0 )( x x1 )
+
f ( x2 )
(x2 x0 )(x2 x1 )

podemos expresar en forma general el polinomio de grado n como


n

Pn (x) = Li (x) f (xi )


i =0

Li ( x ) =
j =0
j i

x xj
xi x j

69

Polinomios de Lagrange
donde P representa el producto de los distintos trminos:

(
x x0 ) (x x1 ) ( x xi 1 ) ( x xi +1 ) ( x xn1 ) ( x xn )
Li ( x) =
...
...
(xi x0 ) (xi x1 ) (xi xi1 ) (xi xi+1 ) (xi xn1 ) (xi xn )
As, para n=2 tendremos
2

P2 ( x) = Li ( x) f (xi ) = L0 (x) f (x0 ) + L1(x) f (x1 ) + L2 (x) f (x2 )


i =0

x xj

x x1 x x2

=
L0 ( x ) =
j = 0 xi x j
x0 x1 x0 x2
2

j 0

x xj

x x0 x x2

L1 ( x ) =
=
j = 0 xi x j
x1 x0 x1 x2
2

j 1

x xj

x x0 x x1

L2 ( x ) =
=
j = 0 xi x j
x2 x0 x2 x1
2

j2

70

Polinomios de Lagrange
quedando:

(
(
x x0 )( x x2 )
x x1 )( x x2 )
P2 ( x ) =
f ( x0 ) +
f ( x1 )
(x0 x1 )(x0 x2 )
(x1 x0 )(x1 x2 )
(
x x0 )( x x1 )
+
f ( x2 )
(x2 x0 )(x2 x1 )

71

Polinomios de Lagrange
Aplicacin: 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).

72

Polinomios de Lagrange
Podemos escribir directamente los distintos trminos del
polinomio

(
x x1 ) (x x2 ) (x x3 ) (x x4 )
f (x0 )
P4 (x) = Li (x) f (xi ) =
(x0 x1 ) (x0 x2 ) (x0 x3 ) (x0 x4 )
i =0
(
x x0 ) (x x2 ) (x x3 ) (x x4 )
+
f (x1 )
(x1 x0 ) (x1 x2 ) (x1 x3 ) (x1 x4 )
(
x x0 ) (x x1 ) (x x3 ) (x x4 )
+
f (x2 )
(x2 x0 ) (x2 x1 ) (x2 x3 ) (x2 x4 )
(
x x0 ) (x x1 ) (x x2 ) (x x4 )
+
f (x3 )
(x3 x0 ) (x3 x1 ) (x3 x2 ) (x3 x4 )
(
x x0 ) (x x1 ) (x x2 ) (x x3 )
+
f (x4 )
(x4 x0 ) (x4 x1 ) (x4 x2 ) (x4 x3 )
4

73

Polinomios de Lagrange
Sustituyendo por los datos conocidos tenemos:

(
x 2.5) (x 4) (x 4.5) (x 6)
P4 (x) =
f (2)
(2 2.5) (2 4) (2 4.5) (2 6)
(
x 2) (x 4) (x 4.5) (x 6)
+
f (2.5)
(2.5 2) (2.5 4) (2.5 4.5) (2.5 6)
(
x 2) (x 2.5) (x 4.5) (x 6)
+
f (4)
(4 2) (4 2.5) (4 4.5) (4 6)
(
x 2) (x 2.5) (x 4) (x 6)
+
f (4.5)
(4.5 2) (4.5 2.5) (4.5 4) (4.5 6)
(
x 2) (x 2.5) (x 4) (x 4.5)
+
f (6)
(6 2) (6 2.5) (6 4) (6 4.5)

74

Polinomios de Lagrange
Realizando las operaciones

(
x 2.5)(x 4)(x 4.5)(x 6)
1.623
P (x) =
4

10
(
x 2)(x 4)(x 4.5)(x 6)

1.855
5.25
(
x 2)(x 2.5)(x 4.5)(x 6)
+
2.041
3
(
x 2)(x 2.5)(x 4)(x 6)

2.333
3.75
(
x 2)(x 2.5)(x 4)(x 4.5)
+
2.561
42

75

Polinomios de Lagrange
Finalmente, el polinomio interpolante es:

P4 ( x ) = 0.1623 (x 2.5 )( x 4 )( x 4.5 )( x 6 )


0.3533 ( x 2 )( x 4 )(x 4.5 )(x 6 )

+ 0.6803 (x 2 )( x 2.5 )( x 4.5 )( x 6 )


0.6221( x 2 )( x 2.5 )( x 4 )(x 6 )
+ 0.0610 ( x 2 )( x 2.5 )(x 4 )(x 4.5 )

Luego,

P4 (2.2 ) = 0.1623 (2.2 2.5 )(2.2 4 )(2.2 4.5 )(2.2 6 )


0.3533 (2.2 2 )(2.2 4 )(2.2 4.5 )(2.2 6 )

+ 0.6803 (2.2 2 )(2.2 2.5 )(2.2 4.5 )(2.2 6 )


0.6221(2.2 2 )(2.2 2.5 )(2.2 4 )(2.2 6 )
+ 0.0610 (2.2 2 )(2.2 2.5 )(2.2 4 )(2.2 4.5 ) = 1.7610

76

Polinomios de Lagrange
Una propiedad importante de los polinomios de Lagrange es:

L (x) =1
i

Veamos por ejemplo para n=1. Tenemos,

x x1 x x0
i Li (x) = x x + x x
0
1
1
0
x x1 x + x0
=
x0 x1
x1 + x0
=
=1
x0 x1

77

Polinomios de Lagrange
Luego, el polinomio Li que acompaa cada valor de f(xi)
representa el peso relativo de este en la aproximacin. Cuando
x=xi, entonces todos los Lj(xi) son nulos exceptuando a Li(x) que
acompaa xi con Li(xi)=1. Por ejemplo, para P2(x0) tenemos:
0
1

(
(
x0 x1 )( x x2 )
x0 x0 )( x x2 )
P2 ( x0 ) =
f ( x0 ) +
f ( x1 )
(x0 x1 )(x0 x2 )
(x1 x0 )(x1 x2 )
0

(
x0 x0 )( x x1 )
+
f ( x2 )
(x2 x0 )(x2 x1 )
P2 ( x0 ) = 1 f ( x0 ) + 0 f ( x1 ) + 0 f ( x2 ) = f ( x0 )

78

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas.

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos.

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

Interpolacin Polinomial

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


interpolacin en la forma

Pn 1 ( x) = c1 x

n 1

+ c2 x

n2

+ ... + cn 1 x + cn

ninguno de los dos mtodos esbozados anteriormente


permite una fcil identificacin de los coeficientes. En
general tendremos que podemos escribir

[ Pn1 ( x)] = x n1

x n2

c1
c
2
.
... x 1
.
.

cn

79

Interpolacin Polinomial
Como el polinomio permite la interpolacin de la data
dada entonces
x1n 1 x1n 1 ... x1 1 c1 y1
n 1

n 1
x2
... x2 1 c2 y2
x2
.
. .

=
.
. .
.
. .

1
n

1
xn
xn
... xn 1 cn yn

En forma matricial utilizando la definicin de la matriz de


Vandermonde
Vc = y

En consecuencia
c = V 1y

80

Interpolacin Polinomial
MATLAB permite obtener fcilmente los coeficientes del
polinomio. El comando polyfit devuelve los coeficientes
en orden descendiente. Por ejemplo, utilicemos la data del
ejemplo anterior
x
y
>> x=[2 2.5 4 4.5 6];
2.0 1.623
>> y=[1.623 1.855 2.041 2.333 2.561];
>> c=polyfit(x,y,length(x)-1)
2.5 1.855
4.0 2.041
c=
4.5 2.333
-0.0719 1.0941 -5.9313 13.7834 -9.8221
6.0 2.561
La secuencia en MATLAB est en el recuadro

81

Interpolacin Polinomial
Luego el polinomio buscado es
P4 ( x ) = 0.0719 x 4 + 1.0941x 3 5.9313 x 2 + 13.7834 x 9.8221

Veamos P4(x) grficamente


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
mtodos de interpolacin.

82

83

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

Splines
Las oscilaciones en los polinomios de alto grado pueden
conducir a errores importantes en la interpolacin de
datos.
Una alternativa es la consideracin de polinomios de
orden bajo para interpolar subconjuntos de los datos.
La opcin de menor orden posible a ser considerada es la
interpolacin de orden 1 o interpolacin lineal entre
puntos adyacentes.
Consideremos la misma data del ejemplo anterior.

84

Splines
La interpolacin lineal entre puntos adyacentes nos lleva a
la siguiente representacin.
an x + bn

a2 x + b2

ai x + bi

Pi (x ) = ai x + bi

Para n +1 puntos de datos


la determinacin de las 2n
constantes ai y bi se realiza
utilizando las condiciones:

a1 x + b1
Pi (xi 1 ) = yi 1

Las ecuaciones que


corresponden a esta
interpolacin vienen dadas
por:

Pi (xi ) = yi

85

Splines
Luego, tendremos que
Pi (xi 1 ) = ai xi 1 + bi = yi 1
Pi (xi ) = ai xi + bi = yi

n ecuaciones
n ecuaciones

As, las 2n ecuaciones necesarias para hallar los


coeficientes de los polinomios son construidas. Ntese
que una ecuacin alternativa pudo haberse construido al
garantizar la continuidad de las rectas en los puntos de
data:
Pi (xi ) = Pi +1 (xi )

86

Splines
La interpolacin lineal presenta el inconveniente de
mostrar saltos en la pendiente en cada punto de data. Una
alternativa la constituye el uso de una interpolacin
cuadrtica. En ese caso, los polinomios interpolantes
sern de la forma
2
2
an x + bn x + cn
P (x ) = a x + b x + c
i

Ahora es necesario
2
a
x
+ bi x + ci
i
obtener las
ecuaciones que
a2 x 2 + b2 x + c2
permiten obtener las
3n constantes
Pi (xi ) = ay1i x 2 + b1 x + c1
desconocidas.

87

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)
Pi ( xi ) = yi
Pi +1 ( xi ) = yi
b) La primera y la ltima funcin deben pasar por los
puntos extremos (2 ecuaciones)
P1 ( x0 ) = y0
Pn ( xn ) = y n
c) Las primeras derivadas en los nodos interiores deben
ser iguales (n-1 ecuaciones)

Pi ( xi ) = Pi +1 ( xi )
Luego tenemos un total de (2n-2)+2+(n-1)=3n-1
ecuaciones. Falta una ecuacin. de donde la
obtenemos?

88

89

Splines
Podemos escoger que en el primer punto la segunda
derivada sea nula. Esto implica que

P1 ( x0 ) = 0
Esta ecuacin permite completar el conjunto de 3n ecuaciones
requerido para hallar las 3n constantes (ai, bi y ci).
Escribiendo cada conjunto de ecuaciones en trmino de las
constantes a determinar tenemos:
2
Pi ( xi ) = ai xi + bi xi + ci = yi
i = 1,..., n 1
Pi +1 ( xi ) = ai +1 xi + bi +1 xi + ci +1 = yi
2

P1 ( x0 ) = a1 x0 + b1 x0 + c1 = y0
2

i = 1,..., n 1

P1 ( x0 ) = 2 a1 = 0

Pn ( xn ) = a n xn + bn xn + cn = y n

Pi ( xi ) = Pi +1 ( xi ) = 2 ai xi + bi = 2 ai +1 xi + bi +1
2

i = 1,..., n 1

Splines
Aplicacin: Ajuste segmentarias cuadrticas a los valores
de la tabla
x
2.0
2.5
4.0
4.5
6.0

y
1.623
1.855
2.041
2.333
2.561

Dado que tenemos 5 puntos de datos tenemos 4


polinomios de segundo grado que calcular y, en
consecuencia, 4x3=12 incgnitas.
Escribamos el conjunto de ecuaciones.

90

Splines
Ecuaciones 1: P ( x ) = a x 2 + b x + c = y
i
i
i i
i i
i
i

91

i = 1,..., n

P1 (2.5 ) = a1 (2.5 ) + b1 (2.5 ) + c1 = 1.855


2

2
(
)
(
)
P2 4 = a2 4 + b2 (4 ) + c2 = 2.041
2
P3 (4.5 ) = a3 (4.5 ) + b3 (4.5 ) + c3 = 2.333

Ecuaciones 2:

2
(
)
Pi +1 xi = ai +1 xi + bi +1 xi + ci +1 = yi ; i = 1,..., n 1

P2 (2.5 ) = a2 (2.5 ) + b2 (2.5 ) + c2 = 1.855


2

P3 (4.0 ) = a3 (4 ) + b3 (4 ) + c3 = 2.041
2

P4 (4.5 ) = a4 (4.5 ) + b4 (4.5 ) + c4 = 2.333


2

Ecuacin 3: P1 ( x0 ) = a1 x0 2 + b1 x0 + c1 = y0

Splines

92

P1 (2.0 ) = a1 (2 ) + b1 (2 ) + c1 = 1.623
2

Ecuacin 4:

Pn ( xn ) = a n xn + bn xn + cn = y n
2

2
(
)
(
)
P4 6.0 = a 4 6.0 + b4 (6.0 ) + c4 = 2.561

Ecuaciones 5: Pi (xi ) = Pi+1 (xi ) = 2ai xi + bi = 2ai+1xi + bi+1; i = 1,..,n 1

P1 (2.5) = P2 (2.5) = 2a1(2.5) + b1 = 2a2 (2.5) + b2

P2 (4) = P3 (4) = 2a2 (4) + b2 = 2a3 (4) + b3

P3 (4.5) = P4 (4.5) = 2a3 (4.5) + b3 = 2a4 (4.5) + b4


Ecuacin 6:

P
P1 ( x0 ) = 2 a1 = 0
1 (2 .0 ) = 2 a1 = 0

Splines
Luego, el conjunto de ecuaciones a resolver es:
5a1 + b1 5a2 b2 = 0
6.25 a1 + 2.5b1 + c1 = 1.855
8a2 + b2 8a3 b3 = 0
16 a2 + 4b2 + c2 = 2.041
9a3 + b3 9a4 b4 = 0
20 .25 a3 + 4.5b3 + c3 = 2.333
6.25 a 2 + 2.5b2 + c2 = 1.855

2 a1 = 0

16 a3 + 4b3 + c3 = 2.041
20 .25 a4 + 4.5b4 + c4 = 2.333

4 a1 + 2b1 + c1 = 1.623
36 a 4 + 6b4 + c4 = 2.561

Este conjunto de 12 ecuaciones con 12 incgnitas puede


ser resuelto analtica o numricamente.

93

Splines
En forma matricial tendremos
6.25
0

0
0

0
4

0
5

0
2

2.5
0

1
0

0
16

0
4

0
1

0
0

0
0

0
0

0
0

0
0

20.25

4.5

6.25

2.5

0
0

0
0

0
0

0
0

0
0

16
0

4
0

1
0

0
20.25

0
4.5

36

1
0

0
0

5
8

1
1

0
0

0
8

0
1

0
0

0
0

0
0

0
0
0

0
0

1
0

1
0

0
0

a1 1.855
b 2.041
1

c1 2.333

a
1
.
855
2

b2 2.041

c
2
.
333
2

a = 1.623
3

b3 2.561
c 0
3

a4 0

b
0
4

c4 0

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 cuadrticos buscados son:
P1 ( x ) = 0.4640x + 0.6950; P2 ( x ) = 0.2267x 2 + 1.5973x 0.7217
P3 ( x ) = 1.6000x 2 13.0160x + 28.5050
P4 ( x ) = 0.8213x 2 + 8.7760 20.5270

Segmentaria Cuadrtica
3

2.8

2.6

2.4

2.2

1.8

1.6

2.5

3.5

4
X

4.5

5.5

Splines
Al analizar la condicin artificial sobre la segunda
derivada vemos que ella implica que el primer polinomio
es de la forma
P1 ( x ) = b1 x + c1
y, en consecuencia corresponde a una aproximacin
lineal.
Adems se producen an se producen cambios bruscos en
la curvatura.
Por estas limitaciones, se emplean preferentemente
interpolantes segmentarias cbicas.

97

98

Splines
Una aproximacin continua y derivable dos veces puede
ser desarrollada. Esta es conocida como splines cubicos.
El polinomio de interpolacin es una funcin a trozos :
S1 ( x ) x1 x x2

S 2 ( x ) x2 x x3
.

S ( x ) = S j ( x ) x j x x j +1

.
S n 2 ( x ) xn 2 x xn 1

S n 1 ( x ) xn 1 x xn

y
S j (x )

S 2 (x )

S n 1 ( x )

S1 ( x )

x1

xn

Splines
Los splines cbicos se expresan como:

S j ( x) = a j ( x x j ) + bj ( x x j ) + c j ( x x j ) + d j
3

x j x x j +1

Para satisfacer los requisitos de continuidad de la funcin


interpolante y sus derivadas tendremos
S j 1 ( x j ) = S j ( x j )

S j 1 ( x j ) = S j ( x j )
S j 1 ( x j ) = S j ( x j )

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

Imponiendo estas condiciones tenemos

a j 1 ( x j x j 1 ) + b j 1 ( x j x j 1 ) + c j 1 ( x j x j 1 ) + d j 1 =d j
3

3a j 1 ( x j x j 1 ) + 2b j 1 ( x j x j 1 ) + c j 1 =c j
2

6a j 1 ( x j x j 1 ) + 2b j 1 =2b j

99

Splines
Para simplificar las operaciones supongamos que los
nodos estn igualmente espaciados. Entonces
h = ( x j x j 1 )

Luego el sistema de ecuaciones se reduce a


a j 1h3 + b j 1h 2 + c j 1h + d j 1 =d j
3a j 1h 2 + 2b j 1h + c j 1 =c j
6a j 1h + 2b j 1 =2b j

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


Entonces podemos escribir
1 ( b j b j 1 )
a j 1 =
3
h

100

Splines

101

Al sustituir aj-1 en el sistema obtenemos


1 ( b j b j 1 )
h 2 + 2b j 1h + c j 1 =c j
3
3

(b
(b

j
j

b j 1 ) h + 2b j 1h + c j 1 =c j
+ b j 1 ) h + c j 1 =c j

a j 1h3 + b j 1h 2 + c j 1h + d j 1 =d j

1 ( b j b j 1 ) 3
h + b j 1h 2 + c j 1h + d j 1 =d j
3
h
1
b j + 2b j 1 ) h 2 + c j 1h + d j 1 =d j
(
3

Resolviendo para cj-1 obtenemos


c j 1 =

d j d j 1
h

1
b j + 2b j 1 ) h
(
3

y, al incrementar en 1 a j tenemos
cj =

d j +1 d j
h

1
( b j +1 + 2b j ) h
3

Splines
Al sustituir cj-1 y cj en

(b

+ b j 1 ) h + c j 1 =c j

obtenemos

(b

+ b j 1 ) h +

d j d j 1
h

d j +1 d j 1
1
( b j + 2b j 1 ) h =
( b j +1 + 2b j ) h
3
h
3

Reagrupando trminos
b j 1 + 4b j + b j +1

(
d
=3

j 1

2d j + d j +1 )
h

j = 2,3,..., n 2

102

Splines
Si se expresa la ecuacin anterior para varios j tenemos
b1 + 4b2 + b3

(
d1 2d 2 + d 3 )
=3

h2
(
d 2 2d 3 + d 4 )
b2 + 4b3 + b4 = 3
h2
.
.
.
bn 4 + 4bn 3 + bn 2

(
d n 4 2d n 3 + d n 2 )
=3

h2
(
d n 3 2d n 2 + d n 1 )
bn 3 + 4bn 2 + bn 1 = 3
h2

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


incgnitas (los bj)

103

Splines

104

Para cerrar el sistema, se necesitan dos ecuaciones mas.


Estas se obtienen de las condiciones de borde. Un tipo de
splines usado comnmente se denomina spline natural y
se define a partir de:
S ( x1 ) = S ( xn ) = 0
Luego, puesto que
S j ( x ) = 6a j ( x x j ) + 2b j

obtenemos
S1 ( x1 ) = 6a1 ( x1 x1 ) + 2b1 = 0

Sn 1 ( xn ) = 6an 1 ( xn xn 1 ) + 2bn 1 = 0

b1 = 0

bn 1 = 3an 1 ( xn xn 1 )

Splines
Pero como

1 ( b j b j 1 )
a j 1 =
3
h

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


del punto (xn,yn) podramos escribir, para j=n
1 ( bn bn 1 )
an 1 =
3
h

y, en consecuencia
1 (bn bn 1 )
bn 1 = 3an 1 ( xn xn 1 ) = 3
h = (bn bn 1 )

h
3

de donde obtenemos
bn = 0

105

Splines

106

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


b1 = 0

b1 + 4b2 + b3

(
d1 2d 2 + d 3 )
=3

h2
(
d 2 2d 3 + d 4 )
b2 + 4b3 + b4 = 3
h2
.
.
(
d n 4 2d n 3 + d n 2 )
bn 4 + 4bn 3 + bn 2 = 3
h2
(d 2d n2 + d n1 )
bn 3 + 4bn 2 + bn 1 = 3 n 3
h2
(
d n 3 2d n 2 + d n 1 )
bn 2 + 4bn 1 + bn = 3
h2
bn = 0

Con este sistema lineal,


tridiagonal, de n
ecuaciones y n
incgnitas los bj pueden
ser obtenidos al escribir:

Bb = t
donde B representa la
matriz de coeficientes, b
las incgnitas y t el
trmino independiente
dados por

Splines

1 4 1
1 4 1

b1

b2
b3



=



1 4 1

1 4 1 bn 1
1 bn

107

d1 2d 2 + d 3

2
3
h


3 d 2 2d 3 + d 4

h2

3 d n 2 2d n 1 + d n

2

h

Splines
Una vez determinados los bj, los n-1 coeficientes aj y bj se
determinan a partir de
1 (b j +1 b j )
aj =
;
3
h
d j +1 d j 1
cj =
(b j +1 + 2b j )h;
h
3

j = 1,..., n 1
j = 1,..., n 1

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


S j ( x) = a j ( x x j ) + bj ( x x j ) + c j ( x x j ) + d j
3

x j x x j +1

108

Splines
Aplicacin. Interpole usando splines cbicos naturales la
data siguiente:
x
y
1
3
5
7
9
11
13

1.7
2.8
3.6
4.5
3.4
3.1
3.1

Debemos calcular los 6 polinomios Sj(x) que interpolan


cada segmento de datos, cuyos coeficientes son definidos
como:
S j ( x) = a j ( x x j ) + bj ( x x j ) + c j ( x x j ) + d j
3

x j x x j +1

109

Splines
En primer lugar se determinan los coeficientes dj haciendo

dj = yj

j = 1,..., n

d j = [1.7000 2.8000 3.6000 4.5000 3.4000 3.1000 3.1000]'

Luego, se resuelve el sistema

1 4 1

1 4 1

B=
1 4 1

1 4 1

1 4 1

Bb = t

d1 2d 2 + d 3

3
h2

3 d 2 2d 3 + d 4

h2

d 2d + d

4
5

t = 3 3
h2

d 4 2d 5 + d 6

3
2
h


d 5 2d 6 + d 7

2
3
h

110

Splines

b1
b
2
b3

b4 =
b5

b6
b
7

1
0

4
1

1 0
4 1

0
0

0
0

0
0

1
0

- 0.0973
0.1642

- 0.4846
0.2742

- 0.0123
0
0

0 b1

0 0 0 b2
0 0 0 b3

1 0 0 b4 =
4 1 0 b5

1 4 1 b6
0 0 1 b7
0

111

- 0.2250
0.0750

- 1.5000
0.6000

0.2250
0
0

Con los bj, se determinan los aj y cj


utilizando:
1 (b j +1 b j )
aj =
;
3
h
d j +1 d j 1
cj =
(b j +1 + 2b j )h;
h
3

j = 1,..., n 1
j = 1,..., n 1

Splines
a1
a
2
a3
=
a4
a5

a6

c1
c
2
c3
=
c4
c5

c6

- 0.0162
0.0436
- 0.1081

0.1265
- 0.0478

0.0021

0.6149
0.4203
0.5541

- 0.0867
- 0.5074

0.0164

b1
b
2
b3

b4 =
b5

b6
b
7

- 0.0973
0.1642

- 0.4846
0.2742

- 0.0123
0

Finalmente, los polinomios buscados son:

S1 ( x ) = 0.0162( x 1) + 0.0000( x 1) + 0.6149( x 1) + 1.7000


3

S 2 ( x ) = +0.0436( x 3) 0.0973( x 3) + 0.4203( x 3) + 2.8000


3

S3 ( x ) = 0.1081( x 5) + 0.1642( x 5) + 0.5541( x 5) + 3.6000


3

S 4 ( x ) = +0.1265( x 7 ) 0.4846( x 7 ) 0.0867( x 7 ) + 4.5000


3

S5 ( x ) = 0.0478( x 9) + 0.2742( x 9 ) 0.5074( x 9) + 3.4000


3

S 6 ( x ) = +0.0021( x 11) 0.0123( x 11) + 0.0164( x 11) + 3.1000


3

112

Splines
Grficamente tenemos:
Splines cubicos
5

4.5

S(x)

3.5

2.5

1.5
0

8
x

10

12

14

113

Splines: ejemplo clculo en MATLAB


clear 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'

114

% 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)');

Splines
Otra opcin denominada spline cbico con tensin
corresponde a dar los valores de las derivadas segundas en
los extremos.

S ( x1 ) = M 1
S ( xn ) = M n
Otros tipos de splines cbicos pueden ser obtenidos
variando las condiciones en los extremos.

115

Splines
Aplicacin 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

116

Splines
Para calcular con splines cbicos 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 lmina siguiente. Ntese


los cambios en los extremos.

117

Splines

118

119

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas.

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos.

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

Aproximacin por mnimos cuadrados

Consideremos un criterio distinto para ajustar una funcin


a una secuencia de datos. En lugar de buscar una funcin
que pase por cada uno de los puntos de la secuencia,
buscaremos una funcin que los aproxime. Por ejemplo, la
secuencia
x
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6

y
1.000
1.649
2.718
4.482
7.389
12.182
20.086
33.115
54.598
90.017
148.413
244.692
403.429

podra requerir un polinomio de grado 13, el cual podra


oscilar bastante.

120

Aproximacin por mnimos cuadrados

Supongamos que deseamos trazar una funcin que


aproxime la data dada, sin interpolar la misma.
Podramos comenzar construyendo una funcin F(x)
F ( x) = c1 g1 ( x ) + c2 g 2 ( x ) + ... + cn g n ( x )

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


general podemos tener que
F ( xi ) yi

La cercana relativa entre los valores que proporciona F


y la data la obtenemos de
di = F ( xi ) yi

121

Aproximacin por mnimos cuadrados

En consecuencia, el problema de determinar F podra


reducirse a determinar el mnimo de algn criterio como

mn max ( di

))

mn max di
i =1

n 2
mn max di
i =1

Luego, definidas las funciones gj(x), podran estimarse los


valores adecuados de las constantes.

122

123

Aproximacin por mnimos cuadrados

Gauss propuso que los parmetros aj sean determinados


minimizando
n

2
d
i
i =1

Luego, podemos construir la ecuacin


n

E ( c1 , c2 ,..., ck ) = ( F ( xi ) yi )

i =1

Entonces, podemos minimizar E. Consideremos el caso


k=2. Tenemos
n

E ( c1 , c2 ) = ( F ( xi ) yi ) = ( c1 g1 ( xi ) + c2 g 2 ( xi ) yi )
i =1

i =1

Aproximacin por mnimos cuadrados

Los valores de c que minimizan E son obtenidos haciendo


E ( c1 , c2 )
=0
c1

E ( c1 , c2 )
=0
c2

En consecuencia,
n

E ( c1 , c2 ) = 2 ( c1 g1 ( xi ) + c2 g 2 ( xi ) yi ) g1 ( xi ) = 0
c1
i =1
n

E ( c1 , c2 ) = 2 ( c1 g1 ( xi ) + c2 g 2 ( xi ) yi ) g 2 ( xi ) = 0
c2
i =1

124

Aproximacin por mnimos cuadrados

Luego,
n

i =1

i =1

i =1

i =1

i =1

i =1

c1 g1 ( xi ) g1 ( xi ) + c2 g 2 ( xi ) g1 ( xi ) = yi g1 ( xi )
c1 g1 ( xi ) g 2 ( xi ) + c2 g 2 ( xi ) g 2 ( xi ) = yi g 2 ( xi )

La solucin 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.

125

Aproximacin por mnimos cuadrados

126

En el caso k=3 obtendremos


n

i =1

i =1

i =1

i =1

i =1

i =1

i =1

i =1

i =1

i =1

i =1

i =1

c1 g1 ( xi ) g1 ( xi ) + c2 g 2 ( xi ) g1 ( xi ) + c3 g3 ( xi ) g1 ( xi ) = yi g1 ( xi )
c1 g1 ( xi ) g 2 ( xi ) + c2 g 2 ( xi ) g 2 ( xi ) + c3 g3 ( xi ) g 2 ( xi ) = yi g 2 ( xi )
c1 g1 ( xi ) g3 ( xi ) + c2 g 2 ( xi ) g3 ( xi ) + c3 g3 ( xi ) g3 ( xi ) = yi g3 ( xi )

La solucin de este sistema lineal permitir hallar c1, c2 y


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

Aproximacin por mnimos cuadrados

Supongamos que queremos hallar la mejor recta que pasa


por una secuencia dada. En ese caso tendremos que
F ( x) = c1 g1 ( x ) + c2 g 2 ( x ) = c1 x + c21
g1 ( x ) = x

g2 ( x ) = 1

Luego, las ecuaciones normales son:


n

i =1

i =1

i =1

c1 xi 2 + c2 xi = yi xi
n

i =1

i =1

i =1

c1 xi + c2 1 = yi

127

Aproximacin por mnimos cuadrados

Despejando obtenemos
n n
n yi xi yi xi
i =1 i =1
c1 = i =1
n 2 n 2
n xi xi
i =1

i
=
1

n n 2 n
n
yi xi yi xi xi
c2 = i =1 i =1 i =1 2 i =1
n 2 n
n xi xi
i =1

i
=
1

128

Aproximacin por mnimos cuadrados

Aplicacin. Calcule la mejor recta que aproxima la data


siguiente:
x
y
1
2
3
4
5
6
7
8
9
10

1.3
3.5
4.2
5
7
8.8
10.1
12.5
13
15.6

Para evaluar los coeficientes c1 y c2 necesitamos


n

i =1

i =1

i =1

i =1

2
x
,
x
i i , yi xi , yi

En Excel obtenemos

129

Aproximacin por mnimos cuadrados


x
1
2
3
4
5
6
7
8
9
10

y
1.3
3.5
4.2
5
7
8.8
10.1
12.5
13
15.6

x^2
1
4
9
16
25
36
49
64
81
100

x*y
1.3
7
12.6
20
35
52.8
70.7
100
117
156

55

81

385

572.4

x
i =1

y
i =1

x
i =1

yx
i =1

i i

Con estas suma calculamos los coeficientes

130

Aproximacin por mnimos cuadrados

Sustituyendo obtenemos
10*572.4 81*55
= 1.5382
c1 =
2
(10*385 55 )
385*81 55*572.4
c2 =
= 0.3600
2
(10*385 55 )

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


F ( x) = 1.538 x 0.360
Grficamente tenemos

131

Aproximacin por mnimos cuadrados


Mnimos cuadrados
18
16
14

y = 1.5382x - 0.36

12
10
8

y
Lineal (y)

6
4
2
0
0

10

12

132

Aproximacin por mnimos cuadrados

Aplicacin. Calcule la mejor recta que aproxima la data


siguiente, utilizando MATLAB
x
1
2
3
4
5
6
7
8
9
10

y
1.3
3.5
4.2
5
7
8.8
10.1
12.5
13
15.6

Utilizando el comando polyfit es


muy fcil calcular los coeficientes.
La secuencia de comandos se
presenta a continuacin.

>> 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

133

Aproximacin por mnimos cuadrados

Aplicacin. Calcule la mejor parbola que aproxima la


data siguiente.
x
1
2
3
4
5
6
7
8
9
10

y
1.3
3.5
4.2
5
7
8.8
10.1
12.5
13
15.6

En este caso deberamos utilizar las ecuaciones normales


obtenidas para k=3. Esto nos llevar a un sistema de
ecuaciones con tres incgnitas.
Un pequeo programa en MATLAB permitir calcular
los coeficientes de la aproximacin de 2do orden.

134

Aproximacin por mnimos 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'

135

Al ejecutar el
programa obtenemos:
c=
0.0348
1.1548
0.4067
y el polinomio buscado es
entonces:

F ( x ) = 0.0348 x 2
+ 1.1548 x
+ 0.4067

Aproximacin por mnimos cuadrados

Podemos obtener estos resultados utilizando las rutinas


internas de MATLAB. Si cambiamos el ltimo parmetro
en polyfit obtenemos:
x
1
2
3
4
5
6
7
8
9
10

y
1.3
3.5
4.2
5
7
8.8
10.1
12.5
13
15.6

>> 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

Luego, el polinomio buscado es


F ( x ) = 0.0348 x 2 + 1.1548 x + 0.4067

Grficamente tenemos

136

Aproximacin por mnimos cuadrados

137

Aproximacin por mnimos cuadrados

A los fines de comparar ambas aproximaciones


calculemos
n

E ( c1 , c2 ,..., ck ) = ( F ( xi ) yi )

i =1

Luego, obtenemos
n

E1 ( c1 , c2 ) = ( F ( xi ) yi ) = 2.34
2

i =1

E2 ( c1 , c2 , c3 ) = ( F ( xi ) yi ) = 1.70
2

i =1

En consecuencia la aproximacin de segundo orden es un


poco ms precisa que la de primer orden.

138

Aproximacin por mnimos cuadrados

Extender los mtodos 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 tipo
y = ax b

y = aebx

Se puede proceder con el mtodo de mnimos cuadrados


lineal expresando la data para calcular los coeficientes de
las aproximaciones
ln y = ln a + b ln x
Y = A + BX

ln y = ln a + bx
Y

= A + BX

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

139

Aproximacin por mnimos cuadrados

140

Aplicacin: Para el conjunto de datos mostrado (que se


encuentran en el archivo prueba.xls) determine la
aproximacin exponencial.} 0.59620412 16.9665974
0.1
0.12269682
0.14616674
0.18709371
0.16618855
0.13075655
0.09693139
0.06685783
0.08292694
0.0967271
0.10456521
0.14445796
0.1939087
0.20859067
0.20158097
0.22356728
0.2395786
0.24390393
0.28447824
0.31476325
0.36972445

3.19736096
3.49587734
3.16976636
4.65912638
3.79734517
3.57073761
2.93334161
2.75215216
3.22757431
3.53687066
3.80140508
3.27991424
4.57960145
5.18655365
4.23567143
4.31652188
5.47610406
4.60746197
6.22107464
5.4158801
7.51167727

0.36972445
0.41887675
0.43064837
0.44710994
0.41668152
0.41312839
0.40033748
0.45228925
0.47753791
0.46723689
0.47892519
0.48847596
0.54012195
0.55232073
0.54523441
0.51967755
0.5081871
0.49600896
0.54246163
0.59620412

7.51167727
10.3879714
10.1862373
10.6908701
8.53419499
7.75256454
8.68018247
8.02989565
9.94828039
10.1311366
11.4082456
10.4235903
13.2933054
11.0937513
11.696366
11.803761
10.5739851
9.29985641
14.3023512
16.9665974

0.58917603
0.62498594
0.58732978
0.55452122
0.58921237
0.60556343
0.570372
0.59801541
0.62207155
0.6697271
0.65272846
0.67600784
0.703667
0.6747575
0.65807528
0.69812874
0.68858162
0.71542056
0.74729643
0.78857488
0.75178658

12.5088388
16.6783283
16.8915185
11.8457719
13.9517201
14.506255
15.1096231
13.8832302
13.8292172
19.3226613
16.4428028
19.8166286
22.8649418
18.9034062
18.9591548
18.9692799
17.8259167
20.3546284
23.5713636
26.4494535
22.644153

0.75178658
0.77905554
0.76499114
0.76393264
0.79531651
0.77335357
0.73978894
0.7630122
0.7708741

22.644153
25.3476443
23.500222
21.2188243
29.9174065
26.7293901
22.9599565
22.1528041
26.5441722

Aproximacin por mnimos cuadrados

Grficamente la data luce como:


30

25

20

15

10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

La distribucin de los datos sugiere el uso de una funcin


exponencial para su representacin

141

Aproximacin por mnimos cuadrados

Utilizando MATLAB tenemos:


clear all
% lectura de datos
num = xlsread('prueba.xls');
x=num(:,1);
y=num(:,2);
% aproximacin lineal minimos cuadrados
m1=polyfit(x,y,1)
x1=min(x):(max(x)-min(x))/100:max(x);
y1=m1(1)*x1+m1(2);
% aproximacin lineal minimos cuadrados con funcin exponencial
y_log=log(y);
m2=polyfit(x,y_log,1);
a=exp(m2(2)); b=m2(1);
y2=a*exp(b*x1);
% Graficacin de la data y las funciones
plot(x,y,'o',x1,y1,x1,y2)
title('Aproximacin con Min. Cuad. funciones no lineales')
xlabel('x'), ylabel('y')

142

Aproximacin por mnimos cuadrados

Obtenemos para la aproximacin lineal


y = ax + b = 31.1275 x-2.2339

y para la aproximacin exponencial


ln y = ln a + bx
Y

= A + BX = 0.8762 + 3.0369 x

A = ln a a = e A = 2.4017

y = aebx = 2.4017e3.0369 x
La lmina siguiente presenta estas funciones en forma
grfica.

143

Aproximacin por mnimos cuadrados

Grficamente tenemos:
Aproximacin con Min. Cuad. funciones no lineales
30
data
lineal
exponencial

25

20

15

10

-5

0.1

0.2

0.3

0.4
x

0.5

0.6

0.7

0.8

Ntese como la curva correspondiente a la funcin


exponencial (roja) aproxima mejor la data que la recta
(verde).

144

Aproximacin por mnimos cuadrados

Para confirmar esto, si se calcula para ambas funciones las


diferencias
n

E (c1, c 2) = (F ( xi ) yi )

obtenemos

i =1

E (a, b )lineal = (ax + b yi ) = 384.96


2

i =1

E (a, b )exp onencial = aebx yi


i =1

= 97.24

lo que confirma nuestra apreciacin grfica anterior.


La necesidad de normalizar los criterios de ajuste llevan
a la definicin de coeficientes que permiten valorar la
cercana entre la funcin propuesta y los datos a
aproximar.

145

Aproximacin por mnimos cuadrados

146

Una de estas medidas es el coeficiente de determinacin


R2 o el de correlacin R, los cuales se encuentran entre 0
(no hay ajuste) y 1 (ajuste perfecto) y es calculado
automticamente en muchos paquetes. Por ejemplo,
utilizando Excel en nuestro ejemplo anterior nos lleva a:
35

y = 31.127x - 2.2339

30

R = 0.8983
25

20
Serie1
Lineal (Serie1)

15

Exponencial (Serie1)
10

3.0369x

y = 2.4017e

R = 0.9822
0
0
-5

0.2

0.4

0.6

0.8

En efecto, es posible
comprobar que la
curva exponencial
(R2=0.9822)
representa mejor la
data que la regresin
lineal (R2=0.8983).

Aproximacin por mnimos cuadrados

En general, otras funciones, no polinomiales, pueden ser


utilizadas. El procedimiento es bsicamente el mismo,
introduciendo las nuevas funciones y evalundolas en las
ecuaciones normales.
Excel posee una diversidad importante de posibilidades
para el trazado de las curvas de interpolacin y
aproximacin de datos.

147

148

Captulo I

Introduccin

Polinomios de Newton de diferencias divididas.

Polinomios de Lagrange

Interpolacin polinomial

Trazadores rectilneos, parablicos y cbicos.

Mtodos de mnimos cuadrados (lineal y no lineal)

Referencias

Referencias

1. Anlisis Numrico, Burden R., Faires J. D., 6ta


Edicin, International Thomson Editores, 1998
2. Mtodos Numricos para Ingenieros, Chapra S.,
Canale R., 4ta Edicin, McGrawHill, 2003
3. Anlisis Numrico con Aplicaciones, Gerald C.,
Wheatley P.,6ta Edicin, Pearson Educacin, 1999
4. Introductory Numerical Methods Incorporating
MATLAB, Hahn J., Bradley University,
http://bradley.bradley.edu/~delgado/202/TableofConte
nts.html

149

150

Mecnica Computacional II

CAPITULO I
INTERPOLACION Y
APROXIMACION
Armando Blanco A.
Universidad Simn Bolvar

También podría gustarte