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
Evaluar de manera f
acil una funci
on
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
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
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
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)
(3)
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 )
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)
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)
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
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)
(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
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
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 ) =
(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 ) =
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
F
ormula de diferencias divididas (Newton)
F(x0 , x1 , . . . , 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
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
Realice las gr
aficas del polinomio de interpolaci
on y la funci
on.
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
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
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
(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
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
|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]
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
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 )
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)
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
f 00 (x0 )
f (m0 ) (x0 )
(xx0 )2 + +
(xx0 )m0
2!
m0 !
para
i = 0, 1 . . . , n
p0 (xi ) = f 0 (xi )
para
i = 0, 1 . . . , n
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
j=0
n
X
n,j (x)
f 0 (xj )H
(19)
j=0
donde
(20)
(21)
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
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)
2
X
j=0
2
X
n,j (x)
f 0 (xj )H
j=0
y evaluando
H5 (1,5) = 0,5118277
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
n
X
k=1
f (xi+1 ) f (xi )
= f 0 () ,
xi+1 xi
para alg
un
(xi , xi+1 )
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
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 , z4 ) =
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 (z0 , z1 , z2 ) =
F (z4 , z5 ) = f 0 (x2 )
z5 = x2
F (z4 ) = f (x2 )
.
.
.
.
.
.
.
.
.
n
X
k=1
.
.
.
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
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
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
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
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+1
aj + bj hj + cj h2j + dj h3j
(24)
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
Sj0 (xj+1 )
bj+1
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
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
1
hj1
(aj aj1 )
(2cj1 + cj )
hj1
3
(28)
(29)
=
=
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
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
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
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
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Splines
c0 = 0
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
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
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
S 0 (xn ) = f 0 (xn )
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
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
2,14285714
2,57142857 2,14285714 ]T
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
Introducci
on
Lagrange
Newton
An
alisis de error
Hermite
Referencias
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