interpolaci on y aproximaci on de funciones

47
Interpolaci´on y aproximaci´ on de funciones Victorio E. Sonzogni 1 / 93 1 Interpolaci´ on polinomial 2 Interpolaci´ on por polinomios de Lagrange 3 Interpolaci´ on por diferencias divididas 4 Interpolaci´ on por diferencias progresivas 5 Polinomios de Hermite 6 Splines 7 Aproximaci´ on y ajuste de curvas 2 / 93

Upload: others

Post on 25-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interpolaci on y aproximaci on de funciones

Interpolacion y aproximacion de funciones

Victorio E. Sonzogni

1 / 93

1 Interpolacion polinomial

2 Interpolacion por polinomios de Lagrange

3 Interpolacion por diferencias divididas

4 Interpolacion por diferencias progresivas

5 Polinomios de Hermite

6 Splines

7 Aproximacion y ajuste de curvas

2 / 93

Page 2: Interpolaci on y aproximaci on de funciones

Interpolacion

3 / 93

Ejemplo

Cada diez anos, aproximadamente, se realiza un censo poblacional. Sedispone de los siguientes datos para el Departamento La Capital, ypara toda la provincia.

Ano Dto. La Capital Provincia Santa Fe

1947 206212 17029751960 264334 18849181970 312427 21355831980 381449 24655461991 441982 27984222001 489505 30007012010 521759 3200736

Se desea conocer cual puede haber sido la poblacion en 1985, porejemplo. Para esto se debe interpolar entre los datos disponibles. Obien cual serıa la poblacion en 2014, para lo cual se debe extrapolar.

En este capıtulo se estudiaran metodos para realizar estasinterpolaciones.

4 / 93

Page 3: Interpolaci on y aproximaci on de funciones

Ejemplo

Poblacion de la Provincia de Santa Fe

5 / 93

Interpolacion

Frecuentemente se conoce una serie de datos para los cuales se deseatener una funcion que los represente

x yx0 y0

x1 y1

. . . . . .xn yn

Una forma de hacerlo es construir un polinomio que los aproxime:

P(x) = anxn + an−1xn−1 + . . .+ a1x + a0

ai ∈ R, an 6= 0

6 / 93

Page 4: Interpolaci on y aproximaci on de funciones

Interpolacion

Teorema de aproximacion de Weierstrass

Sea f (x) definida y continua en [a, b]. Para cada ε > 0 existe unpolinomio P(x) en [a, b] tal que

|f (x)− P(x)| < ε ∀x ∈ [a, b]

Esto significa que siempre podemos encontrar un polinomio tal que suerror al representar una funcion, sea tan pequeno como se desee.

7 / 93

Construccion de polinomios interpoladores

Hay un teorema, sobre el que volveremos enseguida, que dice quedados xk (k = 0, 1, . . . n) un conjunto de n + 1 numeros realesdistintos, y n + 1 numeros asociados a los anterioresyk (k = 0, 1, . . . n) ,existe un unico polinomio de grado ≤ n tal que

Pn(xk) = yk k = 0, 1, . . . n

Ese teorema asegura existencia y unicidad de un polinomio que pasepor n + 1 puntos.

El polinomio puede escribirse de distintas formas. Si se escribe en laforma:

Pn(x) = anxn + an−1xn−1 + . . .+ a1x + a0

se ve que hay n + 1 coeficientes incognitas: ai i = 0, . . . n

8 / 93

Page 5: Interpolaci on y aproximaci on de funciones

Construccion de polinomios interpoladores

Si se evalua el polinomio en los n + 1 puntos puede escribirse

Pn(xk) = yk para k = 0, . . . n

que es un sistema de n + 1 ecuaciones con n + 1 incognitas de dondepueden calcularse los ai .

Esta forma de construir Pn(x) no es practica, ya que involucraresolver un sistema de n + 1 ecuaciones con una matriz llena. (Noobstante, si los n + 1 puntos son distintos, el sistema tiene solucion)

Este procedimiento, se incribe dentro de otro mas amplio denominadode Coeficientes indeterminados, en los que el polinomio se escribe:

P(x) =n∑

k=0

ck φk(x)

donde φk(x) son polinomios de grado ≤ n y los ck se obtiene delsistema de ecuaciones que resulta de hacer Pn(xk) = yk para todoslos puntos.

9 / 93

Interpolacion por polinomios de Lagrange

Una forma muy usada de construir polinomios interpolantes esutilizando los polinomios de Lagrange

En este caso el polinomio se escribe:

P(x) =n∑

k=0

f (xk) φk(x)

donde los φk(x) son polinomios de grado n.

Los coeficientes en este caso son los yk = f (xk), datos del problema,y la construccion de los polinomios φk(x) es muy sencilla.

Se introducira con un ejemplo.

10 / 93

Page 6: Interpolaci on y aproximaci on de funciones

Interpolacion por polinomios de Lagrange

Ejemplo:Sea hallar un polinomio que pase por dos puntos: (x0, y0) y (x1, y1).Puede escribirse:

P(x) =x − x1

x0 − x1y0 +

x − x0

x1 − x0y1

P(x) = L0(x) y0 + L1(x) y1

donde se ha definido

L0(x) =x − x1

x0 − x1L1(x) =

x − x0

x1 − x0

Se puede observar que L0(x0) = 1 y L0(x1) = 0 y que L1(x0) = 0 yL1(x1) = 1

11 / 93

Interpolacion por polinomios de Lagrange

Ejemplo:

12 / 93

Page 7: Interpolaci on y aproximaci on de funciones

Interpolacion por polinomios de Lagrange

Esto puede generalizarse, y para un polinomio que pase por n + 1puntos x0, x1, . . . xn

Pn(x) = Ln,0(x) y0 + Ln,1(x) y1 + . . .+ Ln,n(x) yn

donde se construiran los Ln,k(x) de modo que Ln,k(xk) = 1 yLn,k(xj) = 0 para k 6= j

Puede observarse que esto se verifica si:

Ln,k(x) =(x − x0)(x − x1) . . . (x − xk−1)(x − xk+1) . . . (x − xn)

(xk − x0)(xk − x1) . . . (xk − xk−1)(xk − xk+1) . . . (xk − xn)

Es un polinomio de grado n. Se denomina polinomio de Lagrange

Puede escribirse:

Ln,k(x) =n∏

i=0;i 6=k

(x − xi )

(xk − xi )

13 / 93

Interpolacion por polinomios de Lagrange

14 / 93

Page 8: Interpolaci on y aproximaci on de funciones

Interpolacion por polinomios de Lagrange

Teorema:Si x0, x1, . . . xn son numeros distintos, y si f (x) esta dada por susvalores f (x0), f (x1), . . . f (xn), entonces existe un unico polinomio degrado n, tal que

f (xk) = P(xk) para k = 0, 1, . . . n

Ese polinomio esta dado por

P(x) =n∑

k=0

f (xk) Ln,k(x)

donde

Ln,k(x) =n∏

i=0;i 6=k

(x − xi )

(xk − xi )

15 / 93

Interpolacion por polinomios de Lagrange

Ejemplo:Sea f (x) = 1

x . Supongase que se conoce la funcion en 3 puntos

x y

x0 = 2 y0 = 0.5x1 = 2.5 y1 = 0.4x2 = 4 y2 = 0.25

Se construye un polinomio de grado 2 (que pasa por tres puntos)

P2(x) = L2,0(x) y0 + L2,1(x) y1 + L2,2(x) y2

L2,0(x) =(x − x1)(x − x2)

(x0 − x1)(x0 − x2)=

(x − 2.5)(x − 4)

(2− 2.5)(2− 4)= x2 − 6.5x + 10

16 / 93

Page 9: Interpolaci on y aproximaci on de funciones

Interpolacion por polinomios de Lagrange

Ejemplo (continuacion):Analogamente

L2,1(x) =(x − x0)(x − x2)

(x1 − x0)(x1 − x2)=

(x − 2)(x − 4)

(2.5− 2)(2.5− 4)=

1

3(−4x2+24x−32)

L2,2(x) =(x − x0)(x − x1)

(x2 − x0)(x2 − x1)=

(x − 2)(x − 2.5)

(4− 2)(4− 2.5)=

1

3(x2 − 4.5x + 5)

Y el polinomio:

P2(x) = 0.05x2 − 0.425x + 1.15

Por ejemplo, para x = 3:

f (3) =1

3= 0.333 . . .

P2(3) = 0.325

17 / 93

Interpolacion por polinomios de Lagrange

18 / 93

Page 10: Interpolaci on y aproximaci on de funciones

Interpolacion por polinomios de Lagrange

Teorema:Si x0, x1, . . . xn son numeros distintos en [a, b], y si f (x) ∈ Cn+1[a, b]entonces, para cada x ∈ [a, b], existe un numero ξ(x) ∈ [a, b] tal que

f (x) = P(x) +f (n+1)(ξ(x))

(n + 1)!

n∏

i=0

(x − xi )

donde P(x) es el polinomio interpolante definido por el teoremaanterior.

Ası, el error en la aproximacion es

f (n+1)(ξ(x))

(n + 1)!

n∏

i=0

(x − xi )

(Como referencia; el polinomio de Taylor tiene un error dado porf (n+1)(ξ(x))

(n+1)! (x − x0)n+1)

19 / 93

Interpolacion por diferencias divididas

Un polinomio

Pn(x) = bnxn + bn−1xn−1 + . . . b1x + b0

se puede representar tambien como:

Pn(x) = a0+a1(x−x0)+a2(x−x0)(x−x1)+a3(x−x0)(x−x1)(x−x2)+

. . .+ an(x − x0)(x − x1) . . . (x − xn−1)

Puede verse que esta es la forma anidada de escribir el polinomio:

Pn(x) = a0 + (x − x0) [a1 + (x − x1) [a2 + a3(x − x2)+

. . .+ an(x − xn−1)] . . . ]

20 / 93

Page 11: Interpolaci on y aproximaci on de funciones

Interpolacion por diferencias divididas

Los coeficientes ai se pueden obtener a partir de los valores de lafuncion conocidos en los n + 1 puntos: f (xi ) i = 0, 1, . . . n

Puede verse que evaluando el polinomio en x0, todos los terminos seanulan excepto el primero. Al evaluarlo en x1 se anulan todos exceptolos dos primeros, y ası el sistema de ecuaciones tiene una matriztriangular.

Particularizando para x = x0:

Pn(x0) = f (x0) = a0

21 / 93

Interpolacion por diferencias divididas

Particularizando para x = x1:

Pn(x1) = f (x1) = a0 + a1(x1 − x0)

de donde

a1 =f (x1)− f (x0)

x1 − x0

Notacion:

Diferencia dividida cero de una funcion con respecto a xi :

f [xi ] = f (xi )

Primera diferencia dividida de una funcion con respecto a xi y xi+1:

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

xi+1 − xi

22 / 93

Page 12: Interpolaci on y aproximaci on de funciones

Interpolacion por diferencias divididas

Segundas diferencias divididas de una funcion con respecto a xi , xi+1

y xi+2:

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

xi+2 − xi. . .

k-esima diferencias divididas de una funcion con respecto axi , xi+1 . . . xi+k :

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

xi+k − xi

23 / 93

Interpolacion por diferencias divididas

Con esta notacion, los coeficientes ai del polinomio:

a0 = f (x0) = f [x0]

a1 =f (x1)− f (x0)

x1 − x0= f [x0, x1]

Puede verse que, analogamente:

a2 = f [x0, x1, x2]

Y el coeficiente k :ak = f [x0, x1, x2, . . . xk ]

24 / 93

Page 13: Interpolaci on y aproximaci on de funciones

Interpolacion por diferencias divididas

El polinomio se escribe:

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

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

Esta es la formula en diferencias divididas de Newton

25 / 93

Interpolacion por diferencias divididas

Ejemplo:Escribir un polinomio que represente a la funcion f (x) = 1x en los

puntos: (2, 2.5, 4)

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

2 0.5−0.2

2.5 0.4 0.05−0.1

4 0.25

P(x) = 0.5− 0.2(x − 2) + 0.05(x − 2)(x − 2.5) = 1.15− 0.425x + 0.05x2

26 / 93

Page 14: Interpolaci on y aproximaci on de funciones

Algoritmo para interpolacion por diferencias divididas

Para obtener la formula en diferencias divididas interpolantes de Newton:

Entrada: x0, x1 . . . xn y los valores f (x0), f (x1) . . . f (xn), estosultimos en al primer columna de la matriz Q.Salida: Las diferencias divididas f[ . . . ] , en la diagonal de QPaso 1) Para i = 1, 2, . . . n hacer {

Para j = 2, . . . i hacer{Qi ,j ← Qi,j−1−Qi−1,j−1

xi−xi−j

}}

Paso 2) Salida: (Q0,0,Q1,1,Q2,2, . . .Qn,n)de modo que

P(x) =n∑

i=0

Qi ,i

i−1∏

j=0

(x − xj)

27 / 93

Interpolacion por diferencias progresivas

Si los puntos son igualmente espaciados:

xi+1 = xi + h

donde h = xi+1 − xi es el paso (constante).

x = x0 + sh

El polinomio puede ahora escribirse:

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

. . . s(s − 1)(s − 2) . . . (s − n + 1)hnf [x0, x1 . . . xn]

Pn(x) =n∑

k=0

s(s − 1)(s − 2) . . . (s − k + 1) hk f [x0, x1 . . . xk ]

28 / 93

Page 15: Interpolaci on y aproximaci on de funciones

Interpolacion por diferencias progresivas

Definicion: Diferencias Progresivas

∆yi = yi+1 − yi

∆2yi = ∆(∆yi )

∆kyi = ∆k−1(∆yi )

Por ejemplo:

∆2yi = ∆(∆yi ) = ∆(yi+1 − yi ) = ∆yi+1 −∆yi =

(yi+2 − yi+1)− (yi+1 − yi ) = yi+2 − 2yi+1 + yi

29 / 93

Interpolacion por diferencias progresivas

Ası:

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

x1 − x0=

∆f (x0)

h

f [x0, x1, x2] =∆f (x1)−∆f (x0)

x2 − x0=

∆2f (x0)

2h2

f [x0, x1, . . . xk ] =1

k! hk∆k f (x0)

Usando la notacion:

( s

k

)=

s(s − 1)(s − 2) . . . (s − k + 1)

k!

Pn(x) =n∑

k=0

( s

k

)∆k f (x0)

Formula en diferencias progresivas de Newton

30 / 93

Page 16: Interpolaci on y aproximaci on de funciones

Polinomios osculantes

Dada una funcion f (x) conocida en n + 1 puntos (x0, x1, x2, . . . , xn) ydados n + 1 enteros (m0,m1,m2, . . . ,mn) un polinomios osculante P(x) esaquel que, para i = 0, 1, . . . n:

P(xi ) = f (xi )

P ′(xi ) = f ′(xi )

P ′′(xi ) = f ′′(xi )

. . .

P(mi )(xi ) = f (mi )(xi )

31 / 93

Polinomios osculantes

Es decir, un polinomio osculante coincide con la funcion en los n + 1puntos, y sus derivadas (hasta un orden ≤ mi ) coinciden con lasderivadas respectivas de la funcion.

El grado del polinomio P(x) es

n∑

i=0

mi + n

Dicho de otra forma, un polinomio osculante P(x) que aproxima af (x) es el polinimio de menor grado, tal que

dkP(xi )

dxk=

dk f (xi )

dxk

para i = 0, 1, 2, . . . n y k = 0, 1, 2, . . .mi

32 / 93

Page 17: Interpolaci on y aproximaci on de funciones

Polinomios osculantes

Como casos particulares:

Si n = 0Polinomio de TaylorCoincide en un solo punto, y alli coinciden todas las derivadas hasta unorden dado m0

Si mi = 0 ∀iPolinomios interpolantes (por ej. en base a polinomios de Lagrange, odiferencias divididas de Newton)En n + 1 puntos coinciden solo las derivadas de orden cero (i.e. lafuncion)

33 / 93

Polinomios de Hermite

Son polinomios osculantes con mi = 1,∀i

Coinciden el polinomio y la funcion en sus valores y en sus primerasderivadas, en todos los puntos xi (i = 0, 1, . . . n)

Ejemplo:

Sea una funcion dada en 2 puntos: x0 y x1 . El polinomio de Hermitedebe ser tal que:

P(x0) = f (x0)

P(x1) = f (x1)

P ′(x0) = f ′(x0)

P ′(x1) = f ′(x1)

34 / 93

Page 18: Interpolaci on y aproximaci on de funciones

Polinomios de Hermite

(Cont. ejemplo)

Hay 4 ecuaciones de las cuales se pueden despejar 4 coeficientes queson los necesarios para un polinomio de grado 3.Se puede dar la forma al polinomio:

P(x) = a + b(x − x0) + c(x − x0)2 + d(x − x0)2(x − x1)

Y su derivada:

P ′(x) = b + 2c(x − x0) + 2d(x − x0)(x − x1) + d(x − x0)2

35 / 93

Polinomios de Hermite

(Cont. ejemplo)

Reemplazando en las cuatro ecuaciones anteriores, se obtiene:.

a = f (x0)

b = f ′(x0)

a + b(x1 − x0) + c(x1 − x0)2 = f (x1)

b + 2c(x1 − x0) + d(x1 − x0)2 = f ′(x1)

de donde se despejan las cuatro constantes a, b, c y d

36 / 93

Page 19: Interpolaci on y aproximaci on de funciones

Polinomios de Hermite

(Cont. ejemplo)

37 / 93

Forma de Lagrange para Polinomios de Hermite

Teorema:Si f ∈ C 1[a, b] y x0.x1, . . . xn ∈ [a, b] son distintos, el unico polinomio demenor grado, que coincide con f (xi ) y f ′(xi ) en x0, x1. . . . xn es unpolinomio de grado ≤ 2n + 1 dado por:

H2n+1(x) =n∑

j=0

f (xj)Hn,j(x) +n∑

j=0

f ′(xj)Hn,j(x)

dondeHn,j(x) = [1− 2(x − xj)L′n,j(xj)] L2

n,j(x)

yHn,j(x) = (x − xj)L2

n,j(x)

siendo Ln,j el polinomio de Lagrange

Ln,j(x) =n∏

i=0;i 6=j

x − xixj − xi

38 / 93

Page 20: Interpolaci on y aproximaci on de funciones

Forma de Lagrange para Polinomios de Hermite

Se puede verificar que para i = 0, 1, 2 . . . n

H2n+1(xi ) = f (xi )

H ′2n+1(xi ) = f ′(xi )

Esto es pues los polinomios Hn,j y Hn,j cumplen:

Hn,j(xi ) =

{0 si j 6= i1 si j = i

Hn,j(xi ) = 0

39 / 93

Forma de Lagrange para Polinomios de Hermite

Y las derivadas de los polinomios Hn,j y Hn,j cumplen:

H ′n,j(xi ) = 0

H ′n,j(xi ) =

{0 si j 6= i1 si j = i

40 / 93

Page 21: Interpolaci on y aproximaci on de funciones

Forma de Lagrange para Polinomios de Hermite

41 / 93

Forma de Lagrange para Polinomios de Hermite

Se puede verificar que el error esta dado por:

f (x)− H2n+1(x) =(x − x0)2 . . . (x − xn)2

(2n + 2)!f (2n+2)(ξ)

si

f (x) ∈ C 2n+2[a, b]

y siendo ξ ∈ [a, b]

42 / 93

Page 22: Interpolaci on y aproximaci on de funciones

Forma en dif. divididas de Newton para Pol. de Hermite

Se puede proceder como se ha visto para el caso de polinomiosinterpoladores en diferencias divididas de Newton.

Pero en este caso, en lugar de calcular las primeras diferencias, setoman los datos dados para las derivadas de f (x)

Se introducira a traves de un ejemplo

43 / 93

Forma en dif. divididas de Newton para Pol. de Hermite

Sea hallar un polinomio que pase por tres puntos (x0, x1, x2), y cuyaderivada coincida con la de la funcion en esos puntos. .

Se define una nueva sucesion: z0, z1, z2 . . . z2n+1 tal que

z2i = z2i+1 = xi para i = 0, 1, 2 . . . n

44 / 93

Page 23: Interpolaci on y aproximaci on de funciones

Forma en dif. divididas de Newton para Pol. de Hermite

z f (x) Prim.Dif.Divididas Seg. Dif. Div.

z0 = x0 f [z0] = f (x0)f [z0, z1] = f ′(x0)

z1 = x0 f [z1] = f (x0) f [z0, z1, z2] = f [z1,z2]−f [z0,z1]z2−z0

f [z1, z2] = f [z2]−f [z1]z2−z1

z2 = x1 f [z2] = f (x1) f [z1, z2, z3] = f [z2,z3]−f [z1,z2]z3−z1

f [z2, z3] = f ′(x1)

z3 = x1 f [z3] = f (x1) f [z2, z3, z4] = f [z3,z4]−f [z2,z3]z4−z2

f [z3, z4] = f [z4]−f [z3]z4−z3

z4 = x2 f [z4] = f (x2) f [z3, z4, z5] = f [z4,z5]−f [z3,z4]z5−z3

f [z4, z5] = f ′(x2)z5 = x2 f [z5] = f (x2)

45 / 93

Funciones splines (o trazadores)

Ya se ha visto como construir polinomios que aproximen una funcionen un intervalo [x0, xn]

Si hay grandes cambios de curvatura en partes de la funcion puede serque los polinomios globales se desvıen mucho de la curva arepresentar.

Una posibilidad es descomponer la curva en subintervalos y usarpolinomios diferentes para cada subintervalo → aproximacionsegmentaria

46 / 93

Page 24: Interpolaci on y aproximaci on de funciones

Funciones splines (o trazadores)

Se define una serie de segmentos separados por nudos: x0, x1, . . . xnUna funcion spline de grado k , S(x), con nudos en x0, x1, . . . xn, esuna que satisface:

En cada subintervalo [xi−1, xi ), S(x) es un polinomio de grado ≤ kS(x) tiene derivadas de orden k − 1 continuas en [x0, xn].

47 / 93

Funciones splines de grado 0

S(x) =

s0(x) = C0 x ∈ [x0, x1)s1(x) = C1 x ∈ [x1, x2)

...sn−1(x) = Cn−1 x ∈ [xn−1, xn)

48 / 93

Page 25: Interpolaci on y aproximaci on de funciones

Funciones splines de grado 1

S(x) =

s0(x) = a0x + b0 x ∈ [x0, x1)s1(x) = a1x + b1 x ∈ [x1, x2)

...sn−1(x) = an−1x + bn−1 x ∈ [xn−1, xn)

49 / 93

Funciones splines cubicas

Una funcion muy usada son las splines cubicas

S(x) =

s0(x) x ∈ [x0, x1)s1(x) x ∈ [x1, x2)

...sn−1(x) x ∈ [xn−1, xn)

donde Si (x) es polinomio cubico

Estas funciones poseen continuidad hasta la derivada segunda

50 / 93

Page 26: Interpolaci on y aproximaci on de funciones

Funciones splines cubicas

Condiciones:

i) Si (xi ) = f (xi ) (i = 0, 1, . . . n − 1) n ecuac.ii) Si−1(xi ) = Si (xi ) (i = 1, 2, . . . n − 1) n − 1 ecuac.iii) S ′i−1(xi ) = S ′i (xi ) (i = 1, 2, . . . n − 1) n − 1 ecuac.iv) S ′′i−1(xi ) = S ′′i (xi ) (i = 1, 2, . . . n − 1) n − 1 ecuac.v) Sn−1(xn) = f (xn) 1 ecuac.

4n − 2 ecuac.

Cada funcion Si (x) posee 4 coeficientes.

Luego hay 4n − 2 ecuaciones con 4n incognitas. Faltan 2 ecuaciones.

51 / 93

Funciones splines cubicas

Las ecuaciones a agregar pueden ser:

Condiciones de frontera libre

S ′′(x0) = 0S ′′(xn) = 0

Dan lugar a las llamadas spline cubica naturalGeometricamente: la curvatura es nula en los extremos

Condiciones de frontera sujeta

S ′(x0) = f ′(x0)S ′(xn) = f ′(xn)

Dan lugar a las llamadas spline cubica sujetaPuede aproximar mejor a la funcion, pero precisa conocer lasderivadas primeras en los extremos.

52 / 93

Page 27: Interpolaci on y aproximaci on de funciones

Construccion de splines cubicas

Polinomio cubico:

Si (x) = ai +bi (x−xi )+ci (x−xi )2 +di (x−xi )

3 i = 0, 1, 2 . . . n−1

Las condicion (i):

Si (xi ) = ai = f (xi ) i = 0, 1, 2 . . . n − 1

De aquı se obtiene los valores de n coeficientes ai .

Se define:an = f (xn)

hi = xi+1 − xi

53 / 93

Construccion de splines cubicas

Las condicion (ii):

Si−1(xi ) = Si (xi ) i = 1, 2 . . . n − 1

ai−1 + bi−1hi−1 + ci−1h2i−1 + di−1h3

i−1 = ai i = 1, 2 . . . n− 1 (1)

Se define:bn = S ′(xn)

La derivada.

S ′i (x) = bi + 2ci (x − xi ) + 3di (x − xi )2

54 / 93

Page 28: Interpolaci on y aproximaci on de funciones

Construccion de splines cubicas

Las condicion (iii):

S ′i−1(xi ) = S ′i (xi ) i = 1, 2 . . . n − 1

bi−1 + 2ci−1hi−1 + 3di−1h2i−1 = bi i = 1, 2 . . . n − 1 (2)

Se define:cn = S ′′(xn)/2

La derivada segunda.

S ′′i (x) = 2ci + 6di (x − xi )

55 / 93

Construccion de splines cubicas

Las condicion (iv):

S ′′i−1(xi ) = S ′′i (xi ) i = 1, 2 . . . n − 1

ci−1 + 3di−1hi−1 = ci i = 1, 2 . . . n − 1 (3)

Despejando di−1 de las ec. (3):

di−1 = (ci − ci−1)/3hi−1 (a)

y reemplazando en (1) y (2):

ai = ai−1 + bi−1hi−1 + (2ci−1 + ci )h2i /3 (4)

bi = bi−1 + hi−1(ci−1 + ci ) (5)

56 / 93

Page 29: Interpolaci on y aproximaci on de funciones

Construccion de splines cubicas

Despejando bi−1 de las ec. (4):

bi−1 = (ai − ai−1)/hi−1 − (2ci−1 − ci)hi−1/3 (b)

y reemplazando en (5):

hi−1ci−1 + 2(hi−1 + hi )ci + hici+1 =3

hi(ai+1 − ai )−

3

hi−1(ai − ai−1) (6)

para i = 1, 2 . . . n − 1Que es un sistema de n − 1 ecuaciones, en ci .Agregando las dos ecuaciones adicionales, por ejemplo las condiciones defrontera libre:

c0 = 0

cn = 0

57 / 93

Construccion de splines cubicas

El sistema queda

Ax = b

donde

x =

c0

c1...

cn

58 / 93

Page 30: Interpolaci on y aproximaci on de funciones

Construccion de splines cubicas

La matriz:

A =

1 0 0 0 0 . . . 0 0h0 2(h0 + h1) h1 0 0 . . . 0 00 h1 2(h1 + h2) h2 0 . . . 0 00 0 h2 2(h2 + h3) h3 . . . 0 0...

......

......

. . . hn−2 00 0 0 0 0 hn−2 2(hn−2 + hn−1) hn−1

0 0 0 0 0 . . . 0 1

tiene forma tridiagonal.

59 / 93

Construccion de splines cubicas

El vector de terminos independientes:

b =

03h1

(a2 − a1)− 3h0

(a1 − a0)3h2

(a3 − a2)− 3h1

(a2 − a1)...

3hn−1

(an − an−1)− 3hn−2

(an−1 − an−2)

0

Se puede demostrar que el sistema de ecuaciones tiene solucion y queesta es unica.

Calculados los ci , con las ecuaciones (a) y (b) se calculan di y bi .

60 / 93

Page 31: Interpolaci on y aproximaci on de funciones

Splines de tension

Son splines en las que se agrega un parametro de tension τ .

Este τ representarıa una tension que estira la curva entre los puntos.

La spline de tension se define de modo que:

i) S(x) ∈ C 2[x0, xn]ii) S(xi ) = f (xi ) i = 0, 1, 2 . . . niii) Sobre cada intervalo (xi−1, xi ) satisface:

S (iv) − τ2S ′′ = 0

S(x) tiene 2 derivadas continuas (i); coincide con f (x) en los puntosxi ; y satisface (iii).

Si τ = 0, (iii) ⇒ S (iv) = 0 → polinomio cubico (spline grado 3 comun)

Si τ →∞, (iii) ⇒ S′′

= 0 → polinomio lineal (spline grado 1: lineal por trozos)

61 / 93

Splines de tension

En el intervalo [xi−1, xi ]

S (iv) − τ2S′′

= 0

y las condiciones de contorno:

S(xi ) = ai S(xi+1) = ai+1

S ′′(xi ) = 2ci S ′′(xi+1) = 2ci+1

La solucion es:

S(x) ={2ci sinh[τ(xi+1 − x ] + 2ci+1 sinh[τ(x − xi )]}

τ2 sinh(τhi )+

(ai −2ciτ2

)xi+1 − x

hi+ (ai+1 −

2ci+1

τ2)

x − xihi

62 / 93

Page 32: Interpolaci on y aproximaci on de funciones

Splines de tension

Procediendo como antes, el sistema tridiagonal a resolver es:

αi−1 ci−1 + (βi−1 + βi ) ci +αi ci+1 = γi − γi−1 i = 1, 2 . . . n− 1

donde

αi =1

hi− τ

sinh(τhi )

βi =τ cosh(τhi )

sinh(τhi )− 1

hi

γi =τ2(ai+1 − ai )

2hi

a esas ecuaciones hay que agregar las 2 condiciones de frontera libre osujeta.

63 / 93

Ejemplo:

Las figuras muestran distintos interpolantes para 6 puntos:a) interpolacion lineal; b) polinomio interpolador de 5o grado; c)polinomios de Hermitte, d) splines cubicas.

64 / 93

Page 33: Interpolaci on y aproximaci on de funciones

Aproximacion y ajuste de curvas

65 / 93

Aproximacion y ajuste de curvas

Hay veces en que se desea encontrar una funcion que aproxime demejor manera posible una cantidad de puntos.

Por ejemplo, si se miden experimentalmente las deformaciones de unresorte para distintas fuerzas aplicadas, se obtienen una cantidad depuntos en un grafico Fuerza-Desplazamiento.La Ley de Hooke dice que esa relacion es lineal. Se desea encontra laconstante de resorte.El problema es como determinar una funcion lineal que mejoraproxime a los resultados, si estos no se alinean sobre una recta, porerrores en la medicion.

66 / 93

Page 34: Interpolaci on y aproximaci on de funciones

Aproximacion y ajuste de curvas

Un polinomio interpolador no es una buena solucion, como se ve en lafiguras

Por otro lado si se quiere hallar una recta (2 coef. incognitas) quepase por todos esos m puntos se obtiene un sistema de m ecuacionescon 2 incognitas, que no tiene solucion.

67 / 93

Aproximacion y ajuste de curvas

Se analizaran dos tipos de problemas:

1) Se dispone de m pares de valores (xi , yi ) que definen una curva.Se desea hallar una funcion que los aproxime. Por ejemplo, unpolinomio Pn(x) de grado n, con n < m.

2) Se desea hallar un polinomio Pn(x) que aproxime a una funcionconocida f (x) en un intervalo [a, b].

El error de la aproximacion en el primer caso es:

ei = yi − P(xi ) i = 1, 2, . . .m

En el segundo:e(x) = f (x)− Pn(x)

Se deben buscar los coeficientes ak del polinomio de modo deminimizar esos errores.

68 / 93

Page 35: Interpolaci on y aproximaci on de funciones

Ajuste de curvas para puntos discretos

La minimizacion del error se puede realizar de distintas maneras.

1) Minimizar el error maximo:

min(E = maxi=1,2,...m

{|yi − P(xi )|})

2) Minimizar la desviacion absoluta:

min(E =m∑

i=1

|yi − P(xi )|)

3) Minimizar el cuadrado de la desviacion absoluta:

min(E =m∑

i=1

|yi − P(xi )|2)

69 / 93

Ajuste de curvas para puntos discretos

El primer caso se conoce como problema minimaxNo se puede resolver por metodos elementales. Ademas da muchopeso a un unico punto alejado del promedio.

En el segundo caso, para hallar el mınimo se plantea un problema

∂E

∂ai= 0 i = 0, 1, . . . n

pero el valor absoluto no es derivable en 0. No necesariamente sepuede obtener la solucion.Ademas este metodo da poco peso a puntos alejados (los promedia).

El metodo de mınimos cuadrados da un peso mayora puntos alejados,pero no lo sdeja que dominen completamente la solucion. Es el mascoinveniente de los tres. Ademas favorece el estudio de la distribucionestadıstica del error.

70 / 93

Page 36: Interpolaci on y aproximaci on de funciones

Ajuste de curvas por mınimos cuadrados

¿ Como hallar los ak?

Pn(x) =n∑

k=0

akxk

el error

E =m∑

i=1

(yi − Pn(xi ))2

E =m∑

i=1

y 2i − 2

m∑

i=1

yiPn(xi ) +m∑

i=1

(Pn(xi ))2

E =m∑

i=1

y 2i − 2

m∑

i=1

yi (n∑

j=0

ajxji ) +

m∑

i=1

(n∑

j=0

n∑

k=0

ajakx j+ki )

71 / 93

Ajuste de curvas por mınimos cuadrados

El error

E =m∑

i=1

y 2i − 2

n∑

j=0

aj(m∑

i=1

yixji ) +

n∑

j=0

n∑

k=0

ajak(m∑

i=1

x j+ki )

Para minimizarlo:∂E

∂aj= 0 j = 0, 1, . . . n

∂E

∂aj= −2

m∑

i=1

yixji + 2

n∑

k=0

ak(m∑

i=1

x j+ki ) = 0 j = 0, 1, . . . n

Queda un sistema de n + 1 ecuaciones con n + 1 incognitas (ak)

72 / 93

Page 37: Interpolaci on y aproximaci on de funciones

Ajuste de curvas por mınimos cuadrados

Desarrollando el sistema:

a0

m∑

i=1

x0i + a1

m∑

i=1

x1i + . . .+ an

m∑

i=1

xni =

m∑

i=1

yix0i

a0

m∑

i=1

x1i + a1

m∑

i=1

x2i + . . .+ an

m∑

i=1

xn+1i =

m∑

i=1

yix1i

. . .

a0

m∑

i=1

xni + a1

m∑

i=1

xn+1i + . . .+ an

m∑

i=1

x2ni =

m∑

i=1

yixni

Estas se denominan Ecuaciones Normales y se pueden escribir:

Ka = b

73 / 93

Ajuste de curvas por mınimos cuadrados

En las ecuaciones normales:

a =

...aj...

b =

...∑mi=1 yix

ji

...

y los elementos de la matriz K son:

kj ,k =m∑

i=1

x j+ki

Resolviendo el sistema se obtienen los ak

Si los xi son distintos, el sistema de ecuaciones normales tienesolucion unica.

74 / 93

Page 38: Interpolaci on y aproximaci on de funciones

Ejemplo

Encontrar una recta que ajuste los siguientes puntos:

x 0 1 2 2.5 3

y 2.9 3.7 4.1 4.4 5

m = 5, n = 1 y el sistema:

a0 m + a1

∑xi =

∑yi

a0

∑xi + a1

∑x2i =

∑yixi

∑xi = 8.5,

∑yi = 20.10,

∑x2i = 20.25,

∑yixi = 37.9

de dondey = a0 + a1 x = 2.9267 + 0.6431 x

75 / 93

Ejemplo

76 / 93

Page 39: Interpolaci on y aproximaci on de funciones

Ajuste de curvas por mınimos cuadrados

Ajuste por funciones no polinomicas

Se puede proponer funciones no polinomicas para ajustar los datos.Por ejemplo, una funcion exponencial, o una potencial:

y(x) = c eax

y(x) = c xa

Procediendo igual que antes se llega ahora a un sistema no lineal.

Para linealizar el problema se suele trabajar con logaritmos:

ln y(x) = ln c + a x

ln y(x) = ln c + a ln x

(Pero en este caso no se ajusta por minimos cuadrados la funcion sino su logaritmo. Puede ser muy diferente)

77 / 93

Ejemplo

Encontrar una curva ae(bx) que ajuste los siguientes puntos:

x 1.2 2.8 4.3 5.4 6.8 7.9

y 7.5 16.1 38.9 67.0 146.6 366.2

el problema es : log y = log a + bx = c + bx

c m + b∑

xi =∑

log yi

c∑

xi + b∑

x2i =

∑log yixi

de dondey = a ebx = 3.7889 e0.5366x

78 / 93

Page 40: Interpolaci on y aproximaci on de funciones

Ejemplo

79 / 93

Ajuste de funciones por mınimos cuadrados

Sea ajustar una funcion f (x) ∈ C [a, b] mediante un polinomio Pn(x)

Se minimizara el error:

E =

∫ b

a(f (x)− Pn(x))2dx

por mınimos cuadrados

El polinomio:

Pn(x) =n∑

k=0

akxk

El error:

E =

∫ b

a(f (x)−

n∑

k=0

akxk)2dx

80 / 93

Page 41: Interpolaci on y aproximaci on de funciones

Ajuste de funciones por mınimos cuadrados

El error:

E =

∫ b

a(f (x))2dx − 2

n∑

k=0

ak

∫ b

axk f (x)dx +

∫ b

a

n∑

k=0

(akxk)2dx

Para hallar los ak se plantea:

∂E

∂aj= 0 j = 0, 1, . . . n

∂E

∂aj= −2

∫ b

ax j f (x)dx + 2

n∑

k=0

ak

∫ b

ax j+kdx = 0 j = 0, 1, . . . n

Esto es un sistema de ecuaciones normales:

n∑

k=0

ak

∫ b

ax j+kdx =

∫ b

ax j f (x)dx j = 0, 1, . . . n

81 / 93

Ejemplo

Sea hallar un polinomio de segundo grado que aproxime a la funcionf (x) = sen πx en [0,1].

P2(x) = a2x2 + a1x + a0

Las ecuaciones normales:

a0

∫ 1

01 dx + a1

∫ 1

0x dx + a2

∫ 1

0x2 dx =

∫ 1

0sen πx dx

a0

∫ 1

0x dx + a1

∫ 1

0x2 dx + a2

∫ 1

0x3 dx =

∫ 1

0x sen πx dx

a0

∫ 1

0x2 dx + a1

∫ 1

0x3 dx + a2

∫ 1

0x4 dx =

∫ 1

0x2 sen πx dx

82 / 93

Page 42: Interpolaci on y aproximaci on de funciones

Ejemplo

Sustituyendo f (x) e integrando:

a0 +1

2a1 +

1

3a2 =

2

π

1

2a0 +

1

3a1 +

1

4a2 =

1

π

1

3a0 +

1

4a1 +

1

5a2 =

π2 − 4

π3

De donde: a0 = −0.050465 ; a1 = 4.12251 ; a2 = −4.12251 y

P2(x) = −4.12251 x2 + 4.12251 x + 0.050465

83 / 93

Ejemplo

84 / 93

Page 43: Interpolaci on y aproximaci on de funciones

Ajuste de funciones por mınimos cuadrados

El sistema de ecuaciones normales tiene solucion unica siempre quef ∈ C [a, b] y a 6= b

Los coeficientes de la matriz del sistema (de n + 1 por n + 1)

∫ b

ax j+kdx =

bj+k+1 − aj+k+1

j + k + 1

Esta matriz se denomina Matriz de Hilbert y es mal condicionada.

No es facil de resolver este sistema.

Hay otras tecnicas que utilizan polinomios ortogonales.

85 / 93

Polinomios ortogonales

Se definen los polinomios ortogonales como un conjunto depolinomios {φ0(x), φ1(x), . . . φn(x)} de modo que

∫ b

aφj(x)φk(x)w(x)dx =

{0 si k 6= j

αk > 0 si k = j

alli w(x) es una funcion de peso con la que se define el productointerno.

Se dice que dos polinomios φj(x) y φk(x) son ortogonales conrespecto a la funcion de peso w .

Si ademas αk = 1 el conjunto se dice ortonormal.

Hay metodos para construir conjuntos de polinimos ortogonales(ortonormales)

86 / 93

Page 44: Interpolaci on y aproximaci on de funciones

Procedimiento de Gram-Schmidt

Para construir polinomios ortogonales con respecto a una funcion depeso w

Sea {v1, v2, v3 . . . vn} una base de un subespacio de funciones conproducto interno (los vi son linealmente independientes).

Si se parte de una funcion φ0(x), se puede obtener φ1:

φ1 = (v1 −∫ b

av1 φ0 w dx)

1

‖v1 −∫ ba v1 φ0 w dx‖

La integral da la proyeccion de v1 sobre φ0. Al restar de v1 esaintegral se obtiene una funcion ortogonal a φ0. Si, finalmente, sedivide por su norma se obtiene una funcion ortonormal.

87 / 93

Procedimiento de Gram-Schmidt

Analogamente:

φ2 =(v2 −

∫ ba v2 φ0 w dx −

∫ ba v2 φ1 w dx)

‖v2 −∫ ba v2 φ0 w dx −

∫ ba v2 φ1 w dx‖

Y ası . . .

Se puede mostrar que si se usan monomios vi = x i , entonces:

φn = (x − an)φn−1 − bnφn−2 ≥ 2

Partiendo de φ0 = 1 y φ1 = x − a1

En estas expresiones:

an =

∫x φ2

n−1 w dx∫φ2n−1 w dx

y bn =

∫x φn−1 φn−2 w dx∫

φ2n−1 w dx

88 / 93

Page 45: Interpolaci on y aproximaci on de funciones

Polinomios ortogonales

Polinomios de Legendre: (w(x) = 1)P0(x) = 1P1(x) = xP2(x) = x2 − 1

3P3(x) = x3 − 3

5 xP4(x) = x4 − 6

7 x2 + 335

P5(x) = x5 − 109 x3 + 5

21 x. . .

89 / 93

Polinomios ortogonales

Polinomios de Chebyshev: (w(x) = 1√1−x2

)

T0(x) = 1T1(x) = xT2(x) = 2x2 − 1T3(x) = 4x3 − 3xT4(x) = 8x4 − 8x2 + 1. . .

90 / 93

Page 46: Interpolaci on y aproximaci on de funciones

Ajuste de funciones por mınimos cuadrados

Si se utilizan polinomios ortogonales como base, se puede escribir elpolinomio aproximante:

Pn(x) =n∑

i=0

ak φk(x)

El error:

E =

∫ b

a(f (x)−

n∑

k=0

akφk(x))2 w(x) dx

E =

∫ b

a(f (x))2 w(x) dx − 2

n∑

k=0

ak

∫ b

af (x) φk (x) w(x) dx +

∫ b

a

n∑

k=0

(φk (x))2 w(x) dx

Para hallar los ak se plantea:

∂E

∂aj= 0 j = 0, 1, . . . n

91 / 93

Ajuste de funciones por mınimos cuadrados

Es decir

∂E

∂aj= −2

∫ b

aφj(x) f (x) w(x) dx+2

n∑

k=0

ak

∫ b

aφj(x) φk(x) w(x) dx = 0 j = 0, 1, . . . n

Esto es un sistema de ecuaciones normales:n∑

k=0

ak

∫ b

aφj(x)φk(x) w(x) dx =

∫ b

aφj(x)f (x) w(x) dx j = 0, 1, . . . n

Por ser la base ortogonal:

aj

∫ b

a(φj(x))2 w(x) dx =

∫ b

aφj(x)f (x) w(x) dx j = 0, 1, . . . n

aj =

∫ ba φj(x)f (x) w(x) dx∫ ba (φj(x))2 w(x) dx

j = 0, 1, . . . n

92 / 93

Page 47: Interpolaci on y aproximaci on de funciones

Ajuste de funciones por mınimos cuadrados

No es preciso resolver sistemas de ecuaciones. La solucion es trivial.

Si ademas la base es ortonormal

∫ b

a(φj(x))2 w(x) dx = 1

con lo que

aj =

∫ b

aφj(x)f (x) w(x) dx j = 0, 1, . . . n

93 / 93