Anda di halaman 1dari 54

Introducci

on

Lagrange

Newton

An
alisis de error

Hermite

An
alisis Numerico
Interpolaci
on y aproximaci
on polinomial
CNM-425
Departamento de Matem
aticas
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia

Copyleft
2010. Reproducci
on permitida bajo los
t
erminos de la licencia de documentaci
on libre GNU.

Splines

Introducci
on

Lagrange

Newton

Contenido

Introducci
on

Interpolaci
on de Lagrange

Interpolaci
on de Newton

Error en la interpolaci
on

Interpolaci
on de Hermite

Splines

An
alisis de error

Hermite

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Interpolacion
Dado un conjunto de datos conocidos
(x0 , y0 ) , (x1 , y1 ) , (x2 , y2 ) , . . . , (xN , yN )
buscamos una funci
on f : R R que satisfaga
f (xi ) = yi ,

i = 0, . . . , N

f es la funci
on interpolante o interpolador
El interpolador f puede ser:
polinomio
spline
fracci
on continuada

Restricciones adicionales:
Las derivada del interpolador f en los puntos dados es fija
Suavidad, monoticidad o convexidad del interpolador f

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Aplicaciones
Trazado de curvas atraves de un conjunto discreto de datos

Determinar valores intermedios de una tabla de datos

Derivar e integrar a partir de una tabla de datos.

Evaluar de manera f
acil una funci
on

Reemplazar una funci


on complicada por una simple

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Interpolacion y aproximaci
on
Funciones utilizadas como interpoladores
Polinomios
Funciones trigonom
etricas
Funciones exponenciales
Funciones racionales

Los interpoladores se ajustan a los datos de manera exacta (f (xi ) = yi )


Interpolaci
on presenta problemas cuando los datos est
an sujetos a
errores signifiativos
Cuando hay incertidumbre en los datos resulta u
til suavizarlos por
medio de una aproximaci
on de mnimos cuadrados
Aproximaciones espectrales o aproximaciones con polinomios de
Chebyshev representan de manera efectiva soluciones numericas de
ecuaciones diferenciales parciales

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Teorema de aproximacion de Weierstrass


Teorema 1.1 (Weierstrass)
Sea f : [a, b] C continua. Entonces para todo > 0, existe un polinomio p
sobre C tal que para todo x [a, b],
|f (x) p(x)| <

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio interpolador
Teorema 1.2 (Existencia y unicidad del polinomio interpolante)
Si x0 , x1 , . . . , xn son n
umeros reales distintos, entonces para N + 1 valores
arbitrarios y0 , y1 , . . . , yn existe un u
nico polinomio PN de grado a lo sumo
N tal que
pN (xi ) = yi
Observaciones
El teorema (1.2) generaliza:
Por dos puntos distintos del plano cartesiano pasa una y s
olo
una lnea recta (polinomio de grado 1).
Dada una tabla de datos
x0
y0

x1
y1

xN
yN

existe uno y s
olo un polinomio pN de grado N tal que pN (xi ) = yi
Aunque el polinomio es u
nico, existen diversas formas de expresarlo y
diferentes algoritmos para determinarlo

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio interpolador
Asumimos un conjunto de puntos discretos {x0 , x1 , , xN } con los
valores correspondientes {f (x0), f (x1), , f (xN )}
Construimos una funci
on f (x) que pase por (xi , f (xi )) por medio de la
aproximaci
on
N
X
f (x) pN (x) =
ak k (x)
(1)
i=0

pN es el polinomio interpolante

k son polinomios conocidos a priori y forman una base


ak son coeficientes por determinar
(1) expresa a pN como una combinaci
on lineal de funciones base k

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Interpolacion de Vandermonde
Consideramos como bases los monomios
k (x) = xk ,

k = 0, . . . , N

(2)

Para la base (8) obtenemos la representaci


on
f (x) = a0 + a1 x + a2 x2 + + aN xN

(3)

donde a0 , a1 , . . . , aN son constantes a determinar.


Las N + 1 ecuaciones que surgen al evaluar xi en (3) se pueden
expresar matricialmente como
2
6
6
6
4

1
1
..
.
1

x0
x1
..
.
xN

x20
x21
..
.
x2N

xN
0
xN
1
..
.
xN
N

32

a0
7 6 a1
76
76 .
5 4 ..
aN

2
f (x0 )
7 6 f (x1 )
7 6
7=6
..
5 4
.
f (xN )

V es la matriz de Vandermonde y det(V) =

3
7
7
7
5

Y
0ijN

Va = f

(xj xi ) 6= 0.

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo
Ejemplo 1.1
Determine el polinomio de grado 2 que interpola los tres datos
(2, 27), (0, 1), (1, 0)
Soluci
on
El polinomio est
a dado por
f (x) = a0 + a1 x + a2 x2

(4)

Para este caso el sistema est


a dado por
2

1
4 1
1

2
0
1

3 2
3
32
27
a0
4
0 5 4 a1 5 = 4 1 5
0
a2
1

La soluci
on est
a dada por [1 5 4]T y
f (x) = 1 + 5x 4x2

(5)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Interpolacion de Lagrange
Como base tomamos los polinomios de Lagrange definidos por
Lk (x) =

N
Y
(x xi )
(x
k xi )
i=0
i6=k

(6)

(x x0 )
(x xk1 )
(x xk+1 )
(x xN )
=

(xk x0 )
(xk xk1 ) (xk xk+1 )
(xk xN )
Propiedades
Lk es un polinomio de grado N

1 si k = j
Lk (xj ) =
= kj
0 si k 6= j

El polinomio de interpolaci
on de Lagrange est
a dado por
pN (x) = f (x0 )L0 (x) + f (x1 )L1 (x) + + f (xN )LN (x)

(7)

El polinomio de interpolaci
on de Lagrange es de grado N y pasa por
los N + 1 puntos (x0 , f (x0 )), . . . , (xN , f (xN ))

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo 2.1
Determine los polinomios de Lagrange para N = 5 y x0 = 0 , x1 = 1 ,
x2 = 2 , x3 = 3 y x4 = 4.
L0 (x)

L1 (x)

L2 (x)

L3 (x)

L4 (x)

(x 1)(x 2)(x 3)(x 4)


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

1 ` 4
x 10x3 + 35x2 50x + 24

24

1` 4
x 9x3 + 26x2 24x
6

1` 4
x 8x3 + 19x2 12x
4

1` 4
x 7x3 + 14x2 8x
6

1 ` 4
x 6x3 + 11x2 6x

24

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomios de Lagrange (programa)


Lk (x) =

N
Y
(x xi )
(x x0 )
(x xk1 )
(x xk+1 )
(x xN )
=

(x

x
)
(x

x
)
(x

x
)
(x

x
)
(x
i
0
k
k
k
k1
k
k+1
k xN )
i=0
i6=k

lagrange.m

function L = lagrange(xpuntos,k,x)
% Argumentos:
% xpuntos: vector fila con las coordenadas en x
% k: valor entero correspondiente Lk
% x: valor real en el que se eval
ua el polinomio
% Salida:
% L: valor obtenido al evaluar el polinomio de
%
Lagrange en x
L = 1.0;
n = length(xpuntos);
for i=1:k
L = L * (x - xpuntos(i))/(xpuntos(k+1)-xpuntos(i));
end
for i=k+2:n
L = L * (x - xpuntos(i))/(xpuntos(k+1)-xpuntos(i));
end
end

octave:#> xx = 0:4
xx =
0 1 2 3 4
octave:#> lagrange(xx,1,0)
ans = 0
octave:#> lagrange(xx,1,1)
ans = 0
octave:#> lagrange(xx,1,2)
ans = 0
octave:#> lagrange(xx,1,3)
ans = 0
octave:#> lagrange(xx,1,4)
ans = -560
octave:#> lagrange(xx,2,10)
ans = 945

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo
Ejemplo 2.2
Determine el polinomio de interpolaci
on de Lagrange para f (x) =
puntos x0 = 2 , x1 = 2.5 , x2 = 4 y utilcelo para aproximar f (3).

1
en los
x

Soluci
on
L0 (x)

(x 2,5)(x 4)
(2 2,5)(2 4)

(x 6,5)x + 10

L1 (x)

(x 2)(x 4)
(2,5 2)(2,5 4)

(4x + 24)x 32
3

L2 (x)

(x 2)(x 2,5)
(4 2)(4 2,5)

(x 4,5)x + 5
3

y
p(x)

f (2)L0 (x) + f (2,5)L1 (x) + f (4)L1 (x)

0,5 ((x 6,5)x + 10) + 0,4

(0,05x 0,425)x + 1,15

(4x + 24)x 32
(x 4,5)x + 5
+ 0,25
3
3
= f (3) p(3) = 0,325

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio de interpolacion de Lagrange (programa)


pN (x) =

N
X

f (xi )Li (x) = f (x0 )L0 (x) + f (x1 )L1 (x) + + f (xN )LN (x)

i=0

polilagrange.m

function p = polilagrange(f,xpuntos,x)
% Argumentos:
% xpuntos: vector fila con las coordenadas en x
% k: valor entero correspondiente Lk
% x: valor real en el que se eval
ua el polinomio
% Salida:
% L: valor obtenido al evaluar el polinomio de
%
Lagrange en x
p = 0.0;
n = length(xpuntos);
for i=0:n-1
p = p + f(xpuntos(i+1))*lagrange(xpuntos,i,x);
end
end

fun.m

function y = fun(x)
y = 1./x;

octave:#> fun(2)
ans = 0.50000
octave:#> xp = [2 2.5 4];
octave:#> fun(xp)
ans =
0.50000 0.40000 0.25000
octave:#> polilagrange(@fun,xp,1)
ans = 0.77500
octave:#> polilagrange(@fun,xp,2)
ans = 0.50000
octave:#> polilagrange(@fun,xp,3)
ans = 0.32500

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo
Ejemplo 2.3
Grafique el polinomio de interpolaci
on del ejemplo anterior 1.2 y comp
arelo
con la funci
on f .
Soluci
on
ejemplo13.m

clear all;
xp = [2
x
n
p
y

=
=
=
=

2.5

4];

-0:0.5:10;
length(x);
zeros(1,n);
zeros(1,n);

for i=1:n
p(i) = polilagrange(@fun,xp,x(i));
y(i) = fun(x(i));
end
plot(x,p,r); hold on
plot(x,y);
legend(polinomio,funci
on)
grid on

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Interpolacion de Newton
Con el fin de reducir la complejidad computacional hacemos el
siguiente cambio de base
k (x) =

k1
Y

(x xi )

(8)

i=0

Ahora f (x) es aproximada por


f (x) = a0 +a1 (xx0 )+a2 (xx0 )(xx1 )+ +aN (xx0 )(xx1 ) (xxN 1 )
Las N + 1 ecuaciones que surgen al evaluar xi se pueden expresar
matricialmente como
1
6 1
6
6 .
4 .
.
1
2

0
(x1 x0 )
.
.
.
(xN x0 )

(xN x0 )(xN x1 )

0
0

(xN

a0
7 6 a1
76
76 .
54 .
.
x0 )
aN
32

2
f (x0 )
7
6 f (x1 )
7
6
7=6
.
.
5
4
.
f (xN )
3

3
7
7
7
5

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

F
ormula de diferencias dividas
La matriz del sistema anterior es triangular inferior
`
O N 2 operaciones necesarias para resolver el sistema
Las soluciones vienen dadas por
a0 = f (x0 )
f (x1 ) f (x0 )
x1 x0
f (x2 ) f (x0 ) f (x1 ) f (x0 )

x2 x0
x1 x0
a2 =
x2 x1
..
.
a1 =

ak = F(x0 , x1 , . . . , xk )
La funci
on F puede determinarse de manera recursiva

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

F
ormula de diferencias dividas
F
ormula de diferencias dividas
F(x0 , x1 , . . . , xk ) =

F(x0 , x1 , . . . , xk1 ) F (x1 , x2 , . . . , xk )


(x0 xk )

(9)

El polinomio de interpolaci
on est
a dado por
f (x) = F(x0 ) + F(x0 , x1 )(x x0 ) + F(x0 , x1 , x2 )(x x0 )(x x1 )
+ + F(x0 , , xN )(x x0 ) (x xN 1 )
(10)
La f
ormula de recursividad (9) aplicada a los puntos G20 = {x0 , x1 , x2 }
x0

k=0
F (x0 ) = f (x)

x1

F (x1 ) = f (x1 )

x2

F (x2 ) = f (x2 )

k=1
F (x0 , x1 ) =

F (x0 )F (x1 )
x0 x1

F (x1 , x2 ) =

F (x1 )F (x2 )
x1 x2

k=2

F (x0 , x1 , x2 ) =

F (x0 ,x1 )F (x1 ,x2 )


x0 x2

f (x) = F(x0 ) + F(x0 , x1 )(x x0 ) + F(x0 , x1 , x2 )(x x0 )(x x1 )

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

F
ormula de diferencias divididas (Newton)
F(x0 , x1 , . . . , xk ) =

F(x0 , x1 , . . . , xk1 ) F (x1 , x2 , . . . , xk )


(x0 xk )

newtoncoef.m

function F = newtoncoef(xpuntos,ypuntos)
% Argumentos:
% xpuntos: vector fila con las coordenadas
%
en x
% ypuntos: vector fila con las coordenadas
%
en y
% Salida:
% F: vector fila con los coeficientes del
%
polinomio de interpolaci
on
n = length(xpuntos);
F = ypuntos;
for i=2:n
for j=n:-1:i
F(j) = (F(j)- F(j-1))/...
(xpuntos(j)-xpuntos(j-i+1));
end
end
end

octave:#> xi = [1 2 3 4];
octave:#> yi = [1 8 27 64];
octave:#> F = newtoncoef(x,y)
F =
1

p(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 )
p(x) = 1 + 7(x 1) + 6(x 1)(x 2)
+ 1(x 1)(x 2)(x 3)
= x3

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio de interpolacion
p(x) = F(x0 ) + F(x0 , x1 )(x x0 ) + F(x0 , x1 , x2 )(x x0 )(x x1 )
+ + F(x0 , , xN )(x x0 ) (x xN 1 )
polinewton.m

function p = polinewton(F,xpuntos,x)
% Argumentos:
% F: vector fila con coeficientes
% xpuntos: vector fila con coordendas en x
% x: n
umero en el que se evalua el
%
polinomio de interpolaci
on
% Salida:
% p: el valor obtenido al evaluar el
%
polinomio de interpolaci
on en x
n = length(xpuntos);
p = F(n);
for i=1:n-1
p = F(n-i) + (x - xpuntos(n-i))*p;
end
end

octave:#> polinewton(F,xi,3)
ans = 27
octave:#> polinewton(F,xi,-5)
ans = -125
ejemplo.m

clear all;
xi = [1 2 3 4];
yi = [1 8 27 64];
F = newtoncoef(xi,yi);
x = -2:0.05:2;
n = length(x);
y = zeros(1,n);
for i=1:n
y(i) = polinewton(F,xi,x(i));
end
plot(x,y); hold on
grid on

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo 3.1

Ejemplo 3.1
Los datos consignados en la tabla pertenecen a la gr
afica de la funci
on
f (x) = 3.2 sin(x/10)
x
y

0.15
0.15074

2.30
2.1162

3.15
3.1964

4.85
3.1964

6.25
2.9564

7.95
1.9213

Determine el polinomio de interpolaci


on por medio de diferencias divididas
de Newton.
1

Realice una tabla con los valores del polinomio interpolante en


x = 0 , 0.5 , 1.0 , . . . , 8.0
y comp
arelos con los valores exactos dados por y = f (x).

Realice las gr
aficas del polinomio de interpolaci
on y la funci
on.

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo 3.1 (solucion parte 1)


f (x) = 3.2 sen(x/10)
x
y

0.15
0.15074

2.30
2.1162

3.15
3.1964

ejemplo21a.m

clear all;
xi = [0.15 2.30 3.15 4.85 6.25 7.95];
yi = [0.15074 2.11620 2.67458 3.19645 ...
2.95641
1.92134];
F = newtoncoef(xi,yi);
x
n
p
y

=
=
=
=

-0:0.5:10;
length(x);
zeros(1,n);
zeros(1,n);

printf("

y \n");

for i=1:n
p(i) = polinewton(F,xi,x(i));
y(i) = 3.2*sin(pi*x(i)/10);
printf(" %10.5g %10.5g %10.5g \n",...
x(i), p(i), y(i));
end

4.85
3.1964

6.25
2.9564

7.95
1.9213

octave:#> ejemplo21a
x
p
0 0.00094347
0.5
0.49945
1
0.98762
1.5
1.4521
2
1.8807
2.5
2.2628
3
2.5889
3.5
2.8511
4
3.0432
4.5
3.1605
5
3.2001
5.5
3.1608
6
3.0435
6.5
2.851
7
2.5881
7.5
2.2617
8
1.8812

y
0
0.50059
0.98885
1.4528
1.8809
2.2627
2.5889
2.8512
3.0434
3.1606
3.2
3.1606
3.0434
2.8512
2.5889
2.2627
1.8809

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo 3.1 (solucion parte 2)


f (x) = 3.2 sen(x/10)
x
y

0.15
0.15074

2.30
2.1162

3.15
3.1964

ejemplo21b.m

clear all;
xi = [0.15 2.30 3.15 4.85 6.25 7.95];
yi = [0.15074 2.11620 2.67458 3.19645 ...
2.95641
1.92134];
F = newtoncoef(xi,yi);
x
n
p
y

=
=
=
=

-0:0.5:10;
length(x);
zeros(1,n);
zeros(1,n);

for i=1:n
p(i) = polinewton(F,xi,x(i));
y(i) = 3.2*sin(pi*x(i)/10);
end
plot(x,p,r); hold on
plot(x,y);
legend(polinomio,funci
on)
grid on

4.85
3.1964

6.25
2.9564

7.95
1.9213

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Teorema (4.1)
Teorema 4.1
Sea f C n+1 [a, b] y p el polinomio de grado n que interpola a f en los
n + 1 puntos x0 , x1 , . . . , xn del intervalo [a, b]. Para todo x [a, b] existe un
= (x) (a, b) tal que
n
Y
1
f (x) p(x) =
f (n+1) ()
(x xi )
(11)
(n + 1)!
i=0
Observaciones
La cota de error para el polinomio de Taylor de grado n alrededor de
x0 concentra toda la informaci
on entorno a x0 :
f (n+1) ()
(x x0 )n+1
(n + 1)!
La cota de error (??) utiliza los n + 1 puntos x0 , x1 , . . . , xn :
f (n+1) ()
(x x0 ) (x xn )
(n + 1)!

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo 4.1
Estime el error cometido al aproximar la funci
on f (x) = sen x por medio
del polinomio de grado nueve que interpola a f en diez puntos del intervalo
[0, 1].
Soluci
on
La cota de error est
a dada por (??)
f (x) p(x) =

n
Y
1 (10)
f
()
(x xi )
10!
i=0

Por otra parte


f (10) () = sen

(10)
() 1
f

y
x [0, 1]

n
Y

|x xi | 1

i=0

Luego
|f (x) p(x)|

1
2,8 107
10!

(12)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Cota de error para el polinomio de Newton

Teorema 4.2
Sea f C n+1 [a, b] y p el polinomio de grado n que interpola a f en los
n + 1 puntos x0 , x1 , . . . , xn del intervalo [a, b]. Entonces
n
Y
f (x) p(x) = F(x0 , x1 , . . . , xn , x)
(x xi )
(13)
i=0

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Observaciones
Si pn interpola a f en los n + 1 puntos x0 , x1 , . . . , xn ,
f (x) p(x) =

n
Y
1
f (n+1) ()
(x xi )
(n + 1)!
i=0

(14)

con [x0 , xn ].
es desconocido y (14) s
olo es u
til si la derivada est
a acotada

Si f (n+1) (x) < M y h = m


ax{xi+1 xi : i = 0, . . . , n},
m
ax
x[x0 ,xn ]

|f (x) p(x)|

M hn+1
(n + 1)!

(15)

El
a medida que n crece y h disminuye, s
olo si
error disminuye

(n+1)
(x) est
a acotada
f
Aumentar el grado del polinomio no garantiza una mejor aproximaci
on
(pueden aparecer oscilaciones entre los puntos de interpolaci
on)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Observaciones
Por fuera del intervalo que contiene a los puntos de interpolaci
on,
n
Y

(x xi )

i=0

puede crecer r
apido (extrapolaci
on)
En el interior del intervalo aumentar los puntos de interpolaci
on no
implica mejorar la aproximaci
on
Al aumentar el grado del polinomio, aumentan las oscilaciones
Hasta ahora las aproximaciones de los polinomios de interpolaci
on no
dependen de la distribuci
on de los puntos x0 , . . . , xn de interpolaci
on
Puntos de interpolaci
on igualmente espaciados a menudo conducen a
resultados err
oneos en los extremos

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Fen
omeno Runge
Polinomios interpolantes para la funci
on de Runge
f (x) =

1
,
1 + 25x2

x [1, 1]

sobre puntos igualmente espaciados no converge.

Figura: utiliza 10 puntos equidistantes (); utiliza 20 puntos


equidistantes ( ).

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Fen
omeno Runge
Los puntos de interpolaci
on se pueden distribuir no uniformemente con
el fin de minimizar el fen
omeno de Runge

2i + 1
xi = cos
, i = 0, . . . , n
(16)
2n

Figura: utiliza 10 puntos equidistantes (); utiliza 20 puntos dados


por (16) ( ).

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Interpolacion de Hermite
Vimos que al aumentar los puntos de interpolaci
on, aumenta el grado
del polinomio de aproximaci
on y las oscilaciones
Una soluci
on consiste en utilizar varios polinomios de interpolaci
on de
grado bajo en lugar de un polinomio de grado alto
La interpolaci
on de Hermite utiliza no s
olo los valores de la funci
on a
interpolar sino tambien sus derivadas. Por ejemplo
x0
f (x0 )
0
f (x0 )

x1
f (x1 )
0
f (x1 )

xN
f (xN )
0
f (xN )

Al incluir las derivadas, aumenta el n


umero de ecuaciones del sistema
que determina los par
ametros del polinomio interpolante
Los polinomios de Hermite se generan cuando se consideran s
olo los
valores de la primera derivada de la funci
on

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio osculante
Proposici
on 5.1 (Existencia del polinomio osculante)
Considere n + 1 puntos distintos en [a, b]
x0 , x 1 , . . . , x n

(17)

y mi un entero no negativo asociado a xi para i = 0, 1, . . . , n. Para


f C m [a, b] con m = m
ax0in mi existe un u
nico polinomio p de grado
mnimo tal que
dk p(xi )
dk f (xi )
=
k
dx
dxk

para

i = 0, 1, . . . , n

k = 0, 1, . . . , mi

(18)

Observaciones
El polinomio p que satisface la condici
on de interpolaci
on de Hermite
(18) es llamado polinomio osculante que aproxima a f
P
El n
umero de condiciones a satisfacer en (18) es n
i=0 mi + (n + 1) y
por tanto el grado del polinomio osculante p es a lo sumo
M =

n
X

mi + n

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio osculante
Cuando n = 0 tenemos en (17) s
olo un punto de interpolaci
on x0 y la
condici
on de Hermite
dk p(x0 )
dk f (x0 )
=
k
dx
dxk

para

k = 0, 1, . . . , m0

conduce al m0 -esimo polinomio de Taylor en torno a x0


p(x) = f (x0 ) + f 0 (x0 )(xx0 ) +

f 00 (x0 )
f (m0 ) (x0 )
(xx0 )2 + +
(xx0 )m0
2!
m0 !

Cuando mi = 0 para i = 0, 1 . . . , n la condici


on de Hermite (18) queda
p(xi ) = f (xi )

para

i = 0, 1 . . . , n

y el polinomio resultante es el polinomio de interpolaci


on de Lagrange
Cuando mi = 1 para i = 0, 1 . . . , n la condici
on de Hermite (18) queda
p(xi ) = f (xi )

p0 (xi ) = f 0 (xi )

para

i = 0, 1 . . . , n

y el polinomio resultante se denomina polinomio de Hermite

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Teorema (5.1)
Teorema 5.1
Si f C 1 [a, b] y x0 , x1 , . . . , xn son puntos distintos en [a, b], el polinomio
osculante que interpola a f y f 0 en x0 , x1 , . . . , xn es el polinomio de
Hermite de grado 2n + 1 y est
a dado por
H2n+1 (x) =

n
X

f (xj )Hn,j (x) +

j=0

n
X

n,j (x)
f 0 (xj )H

(19)

j=0

donde

Hn,j (x) = 1 2(x xj )L0n,j (xj ) L2n,j (x) ,

(20)

n,j (x) = (x xj )L2n,j (x)


H

(21)

y Ln,j es el j-esimo polinomio de Lagrange de grado n


Ln,j =

n
Y
(x xi )
xj xi
i=0
i6=j

(22)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo (5.1)
Ejemplo 5.1
Utilice el polinomio de Hermite que concuerda con los datos de la tabla para
obtener una aproximaci
on de f (1,5).
k
0
1
2

xk
1,3
1,6
1,9

f (xk )
0,6200860
0,4554022
0,2818186

f 0 (xk )
0,5220232
0,5698959
0,5811571

Soluci
on
Calculamos los polinomios de Lagrange y sus derivadas
L2,0 (x)

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

50 2 175
152
x +
x+
9
9
9

L2,1 (x)

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

L2,2 (x)

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

50 2 145
104
x
x+
9
9
9

100 2 320
247
x +
x+
9
9
9

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Ejemplo (5.1)
Para las derivadas tenemos
L02,0 (x)

L02,1 (x)

L02,1 (x)

175
100
x
9
9
320
200
x+

9
9
145
100
x
9
9

Para los polinomios H2,j (x) tenemos

50 2
175
152 2
x
x+
9
9
9

2
50 2
175
152
(10x 12)
x
x+
9
9
9

320
247 2
100 2
x +
x
1
9
9
9

50 2
145
104 2
10(2 x)
x
x+
9
9
9

H2,0 (x)

=
=

H2,1 (x)

H2,2 (x)

[1 2(x 1,3)(5)]

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo (5.1)
2,j (x) tenemos
Para los polinomios H

2,0 (x)
H

2,1 (x)
H

2,2 (x)
H

(x 1,3)

175
152 2
50 2
x
x+
9
9
9

100 2
320
247 2
x +
x
9
9
9

2
50 2
145
104
(x 1,9)
x
x+
9
9
9

(x 1,6)

Por el teorema (5.1)


H5 (x)

2
X
j=0

f (xj )Hn,j (x) +

2
X

n,j (x)
f 0 (xj )H

j=0

0,6200860H2,0 (x) + 04554022H2,1 (x) + 0,281886H2,2 (x)

2,0 (x) 0,5698959H


2,1 (x) 0,5811571H
2,2 (x)
0,5220232H

y evaluando
H5 (1,5) = 0,5118277

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio de Hermite con diferencias divididas


Los c
alculos requeridos para evaluar el polinomio de Hermite de
acuerdo al teorema (5.1) son tediosos. Otro metodo consiste en utilizar
la f
ormula de diferencias divididas
pn (x) = f (x0 ) +

n
X

F(x0 , . . . , xk )(x x0 ) (x xk1 )

k=1

y el teorema del valor medio


F(xi , xi+1 ) =

f (xi+1 ) f (xi )
= f 0 () ,
xi+1 xi

para alg
un

(xi , xi+1 )

Consideramos los puntos de interpolaci


on
x0 , x1 , . . . , xn
y formamos la sucesi
on
z0 , z 1 , . . . , z n
definida por
z0 = z1 = x0 , z2 = z3 = x1 , . . . , z2i = z2i+1 = xi , . . .

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Polinomio de Hermite con diferencias divididas


z

f (z)

z0 = x0

F (z0 ) = f (x0 )

Primeras diferencias

Segundas diferencias

F (z0 , z1 ) = f 0 (x0 )
z1 = x0

z2 = x1

F (z1 ) = f (x0 )

F (z2 ) = f (x1 )

F (z0 , z1 , z2 ) =
F (z1 , z2 ) =

F (z2 )F (z1 )
z2 z1

F (z1 , z2 , z3 ) =

F (z2 ,z3 )F (z1 ,z2 )


z3 z1

F (z2 , z3 , z4 ) =

F (z3 ,z4 )F (z2 ,z3 )


z4 z2

F (z2 , z3 ) = f (x1 )
z3 = x1

z4 = x2

F (z3 ) = f (x1 )

F (z4 ) = f (x2 )

F (z3 , z4 ) =

F (z4 )F (z3 )
z4 z3

F (z2 , z3 , z4 ) =

F (z3 ,z4 )F (z2 ,z3 )


z4 z2

F (z0 , z1 , z2 ) =

F (z1 ,z2 )F (z0 ,z1 )


z2 z0

F (z4 , z5 ) = f 0 (x2 )
z5 = x2

F (z4 ) = f (x2 )

.
.
.

.
.
.

H2n+1 (x) = F(z0 ) +

.
.
.

n
X
k=1

F (z1 ,z2 )F (z0 ,z1 )


z2 z0

.
.
.

F(z0 , . . . , zk )(x z0 ) (x zk1 )

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Aproximacion polinomica fragmentaria


Al aumentar los puntos de interpolaci
on, aumenta el grado del
polinomio de aproximaci
on y las oscilaciones
Otro enfoque consiste en dividir el intervalo en una serie de
subintervalos y en cada uno de esos subintervarlos construir un
polinomio de interpolaci
on de grado bajo
La interpolaci
on lineal une los puntos mediante rectas
{(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))}

Otra posibilidad es usar polinomios cuadr


aticos entre [xi , xi+1 ]

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Spline (trazador) c
ubico
Definici
on 6.1 (Spline c
ubico)
Considere f : [a, b] R y un conjunto de nodos
a = x0 < x1 < < xn = b
Un spline c
ubico para f es una funci
on S : [a, b] R tal que:
1

S |[xj ,xj+1 ] = Sj donde Sj es un polinomio c


ubico en [xj , xj+1 ]

S(xj ) = f (xj ) para j = 0, 1, . . . , n

Sj+1 (xj+1 ) = Sj (xj+1 ) para j = 0, 1, . . . , n 2

0
Sj+1
(xj+1 ) = Sj0 (xj+1 ) para j = 0, 1, . . . , n 2

00
Sj+1
(xj+1 ) = Sj00 (xj+1 ) para j = 0, 1, . . . , n 2

Una de las siguientes condiciones de frontera se satisfacen


1

S 00 (x0 ) = S 00 (xn ) = 0

S 0 (x

0)

f 0 (x

0)

S 0 (x

(frontera libre)
n)

= f 0 (xn )

(frontera sujeta)

Splines

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
En cada intervalo [xj , xj+1 ] consideramos el polinomio c
ubico
Sj (x)

aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3

Sj0 (x)

bj + 2cj (x xj ) + 3dj (x xj )2

Sj00 (x)

2cj + 6dj (x xj )

(23)

con j = 0, . . . , n 1.
Por la condici
on de interpolaci
on (2),
S(xj ) = f (xj )

aj = f (xj )

De la condici
on (3),
Sj+1 (xj+1 )

Sj (xj+1 )

aj+1

aj + bj (xj+1 xj ) + cj (xj+1 xj )2 + dj (xj+1 xj )3

aj+1

aj + bj hj + cj h2j + dj h3j
(24)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
De la condici
on (4) para la primera derivada,
0
Sj+1
(xj+1 )

Sj0 (xj+1 )

bj+1

bj + 2cj (xj+1 xj ) + 3dj (xj+1 xj )2

bj+1

bj + 2cj hj +

(25)

3dj h2j

De la condici
on (5) para la segunda derivada,
00
Sj+1
(xj+1 )

Sj00 (xj+1 )

2cj+1

2cj + 6dj (xj+1 xj )

cj+1

dj

cj + 3dj hj
cj+1 cj
3hj

(26)

Al reemplazar dj en (24)
aj+1
bj

=
=

h2j
(2cj + cj+1 )
3
1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3

aj + bj hj +

(27)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
De la u
ltima ecuaci
on
bj1 =

1
hj1
(aj aj1 )
(2cj1 + cj )
hj1
3

(28)

De nuevo, al reemplazar dj (26) en (25),


bj+1 = bj + hj (cj + cj+1 )

(29)

Resumiendo: tenemos las ecuaciones (27) y (28)


bj
bj1

=
=

hj
1
(aj+1 aj )
(2cj + cj+1 )
hj
3

(30)

hj1
(aj aj1 )
(2cj1 + cj )
hj1
3

La ecuaci
on (29) se puede expresar como
bj = bj1 + hj1 (cj1 + cj )

(31)

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
Finalmente reemplazamos (30) en (31)
bj = bj1 + hj1 (cj1 + cj )

1
hj
1
hj1
(aj+1 aj )
(2cj + cj+1 ) =
(aj aj1 )
(2cj1 + cj ) + hj1 (cj1 + cj )
hj
3
hj1
3
1
1
hj
hj1
(aj+1 aj )
(aj aj1 ) =
(2cj + cj+1 )
(2cj1 + cj ) + hj1 (cj1 + cj )
hj
hj1
3
3
3
3
(aj+1 aj )
(aj aj1 ) = hj (2cj + cj+1 ) hj1 (2cj1 + cj ) + 3hj1 (cj1 + cj )
hj
hj1

El lado derecho se puede escribir como


hj (2cj + cj+1 ) hj1 (2cj1 + cj ) + 3hj1 (cj1 + cj )
=

2hj cj + hj cj+1 2hj1 2cj1 hj1 cj + 3hj1 cj1 + 3hj1 cj

2hj cj + hj cj+1 + hj1 cj1 + 2hj1 cj

hj1 cj1 + 2(hj + hj1 )cj + hj cj+1

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
Obtenemos para los coeficientes cj el sistema de ecuaciones
hj1 cj1 + 2(hj + hj1 )cj + hj cj+1

3
3
(aj+1 aj )
(aj aj1 )
hj
hj1
{z
}
|
tj

con j = 1, 2, . . . , n 1

El sistema es (n 1) (n + 1):
h0 c0 + 2 (h0 + h1 ) c1 + h1 c2 + 0 + 0 + + 0

t1

0 + h1 c1 + 2 (h1 + h2 ) c2 + h2 c3 + 0 + + 0

t2

..
.
0 + + 0 + hn2 cn3 + 2 (hn2 + hn1 ) cn2 + hn1 cn1

tn1

Se requieren dos ecuaciones m


as para cerrar el sistema (condiciones
de frontera (61), (62))

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
Para la condici
on de frontera (61)
S 00 (x0 ) = S 00 (xn ) = 0
De (23),
Sj00 (x) = 2cj + 6dj (x xj )

S000 (x0 ) = 2c0 + 6dj (x0 x0 ) = 0

c0 = 0

Las ecuaciones c0 = 0 y cn = 0 generan el sistema (n + 1) (n + 1):


1
6 h0
6 0
6
6
6 .
6 .
6 .
4 0
0
2

0
2(h0 + h1 )
h1

0
h1
2(h1 + h2 )
..
.

h2
..
.
hn2
0

0
0
0
..

.
2(hn2 + hn1 )
0

0
hn1
1

32 c
0
7 6 c1
76
76 .
76 .
76 .
76
76 .
54 .
.
cn

2 0
6 t1
7
7
6
7
6 .
6 .
7
7=6 .
7
6
6 .
7
5
4 .
.
0
3

3
7
7
7
7
7
7
7
5

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Existencia del spline c


ubico
Teorema 6.1 (Spline c
ubico con frontera libre)
Sea f : [a, b] R. Entonces existe un u
nico spline c
ubico S que interpola a
f en
a = x0 < x1 < < xn = b
y que satisface la condici
on de frontera
S 00 (a) = 0

S 00 (b) = 0

Observaciones
El interpolador S : [a, b] R est
a dado por
S(x) = Sj (x) = aj +bj (xxj )+cj (xxj )2 +dj (xxj )3 ,
donde
1

aj = f (xj ),

j = 0, . . . , n

c0 , c1 , . . . , cn se obtienen de resolver el sistema lineal

bj = (aj+1 aj )/hj hj (cj+1 + 2cj )/3

dj = (cj+1 cj )/(3 hj )

(ecuaci
on (26))

(ecuaci
on (30))

x [xj , xj+1 ]

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Construccion del spline c


ubico
Para la condici
on de frontera (62)
S 0 (x0 ) = f 0 (x0 )

S 0 (xn ) = f 0 (xn )

el sistema de ecuaciones queda


2
6
6
6
6
6
6
6
4

2 h0
h0
0
.
.
.
0
0

h0
2(h0 + h1 )
h1

0
h1
2(h1 + h2 )
..
.

h2
..
.
hn2
0

0
0
0
..
.
2(hn2 + hn1 )
hn1

0
hn1
2 hn1

con
2
6
6
6
6
b=6
6
6
4

3
h1

0
3
h0 (a1 a0 ) 3 f (a)
(a2 a1 ) h3 (a1 a0 )

7
7
7
7
7
7
7
3
3
hn1 (an an1 ) hn2 (an1 an2 ) 5
3 f 0 (b) h 3 (an an1 )
0

.
.
.

n1

32 c
0
7 6 c1
76
76 .
76 .
76 .
76
76 .
54 .
.
cn

3
7
7
7
7
7=b
7
7
5

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo
Ejemplo 6.1 (Spline c
ubico con frontera libre)
Encuentre el spline c
ubico de frontera libre que interpola
x
y

1
0

2
1

3
0

4
1

5
0

y determine el valor de y en x = 1,5.


Soluci
on
El interpolador S : [a, b] R est
a dado por
S(x) = Sj (x) = aj +bj (xxj )+cj (xxj )2 +dj (xxj )3 ,

x [xj , xj+1 ]

a0 = 0, a1 = 1, a2 = 0, a3 = 1, a4 = 1
h0 = h1 = h2 = h3 = h4 = 0
1
6 h0
6
A=6 0
4 0
0
2

0
2(h0 + h1 )
h1
0
0

0
h1
2(h1 + h2 )
h2
0

0
0
h2
2(h2 + h3 )
0

0
0
0
h3
1

2
1
7
6 1
7
6
7=6 0
5
4 0
0
3

0
4
1
0
0

0
1
4
1
0

0
0
1
4
0

0
0
0
1
1

3
7
7
7
5

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo
Para b tenemos
0
3
6 3
(a2 a1 )
(a1 a0 )
6
0
6 h1
h0
t1 7
6 3
3
6
7
t2 7 = 6
(a a2 )
(a2 a1 )
6 h2 3
h1
t3 5
6
3
3
6
0
4
(a4 a3 )
(a3 a2 )
h4
h2
0
2

2
6
6
A=6
4

3
7
2
7
0
7
7
6 6
7
6
6
7=6
7
4 6
7
7
0
5

3
7
7
7
5

La soluci
on del sistema
Ax = b

viene dada por


x = [ 0,00000000

2,14285714

2,57142857 2,14285714 ]T

Para el resto de coeficientes podemos usar las f


ormulas vistas
bj

dj

aj+1 aj
cj+1 + 2cj
hj
hj
3
cj+1 cj
3 hj

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Splines

Ejemplo
Para el resto de coeficientes del spline
S(x) = Sj (x) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3
podemos usar tambien el programa SplineLibre.c
Resultados obtenidos
ai
0,00000000
1,00000000
0,00000000
1,00000000

bi
1,71428571
0,42857143
0,00000000
0,42857143

ci
0,00000000
2,14285714
2,57142857
2,14285714

di
0,71428571
1,57142857
1,57142857
0,71428571

El valor solicitado es en x = 1,5 [x0 , x1 ]


S(x) = S0 (x) = 1,71428571(x 1) 0,71428571(x 1)3
y
S(1,5) = S0 (1,5) = 0,767857141

Introducci
on

Lagrange

Newton

An
alisis de error

Hermite

Referencias

R.L. Burden, J.D. Faires.


An
alisis numerico
Septima Edici
on. Editorial Thomson. 2002.
http://www.as.ysu.edu/faires/Numerical-Analysis/

J.W. Eaton
GNU Octave: A high-level interactive language for numerical
computations
Network Theory Ltd., 2002
http://www.network-theory.co.uk/octave/manual/

Splines

Anda mungkin juga menyukai