Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lagrange
Newton
Anlisis de error
a
Hermite
Anlisis Numrico
a
e
Interpolacin y aproximacin polinomial
o
o
CNM-425
Departamento de Matemticas
a
Facultad de Ciencias Exactas y Naturales
Universidad de Antioquia
Copyleft
2010. Reproduccin permitida bajo los
o
trminos de la licencia de documentacin libre GNU.
e
o
Splines
Introduccin
o
Lagrange
Newton
Contenido
Introduccin
o
Interpolacin de Lagrange
o
Interpolacin de Newton
o
Error en la interpolacin
o
Interpolacin de Hermite
o
Splines
Anlisis de error
a
Hermite
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Interpolacin
o
Dado un conjunto de datos conocidos
(x0 , y0 ) , (x1 , y1 ) , (x2 , y2 ) , . . . , (xN , yN )
buscamos una funcin f : R R que satisfaga
o
f (xi ) = yi ,
i = 0, . . . , N
Restricciones adicionales:
Las derivada del interpolador f en los puntos dados es ja
Suavidad, monoticidad o convexidad del interpolador f
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Aplicaciones
Trazado de curvas atraves de un conjunto discreto de datos
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Interpolacin y aproximacin
o
o
Funciones utilizadas como interpoladores
Polinomios
Funciones trigonomtricas
e
Funciones exponenciales
Funciones racionales
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Polinomio interpolador
Teorema 1.2 (Existencia y unicidad del polinomio interpolante)
Si x0 , x1 , . . . , xn son nmeros reales distintos, entonces para N + 1 valores
u
arbitrarios y0 , y1 , . . . , yn existe un unico 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 slo
o
una l
nea recta (polinomio de grado 1).
Dada una tabla de datos
x0
y0
x1
y1
xN
yN
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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 funcin f (x) que pase por (xi , f (xi )) por medio de la
o
aproximacin
o
N
X
f (x) pN (x) =
ak k (x)
(1)
i=0
pN es el polinomio interpolante
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Interpolacin de Vandermonde
o
Consideramos como bases los monomios
k (x) = xk ,
k = 0, . . . , N
(2)
(3)
1
1
.
.
.
1
x0
x1
.
.
.
xN
x2
0
x2
1
.
.
.
x2
N
xN
0
xN
1
.
.
.
xN
N
32
a0
7 6 a1
76
76 .
54 .
.
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 ) = 0.
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo
Ejemplo 1.1
Determine el polinomio de grado 2 que interpola los tres datos
(2, 27), (0, 1), (1, 0)
Solucin
o
El polinomio est dado por
a
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
(5)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Interpolacin de Lagrange
o
Como base tomamos los polinomios de Lagrange denidos por
Lk (x) =
N
Y (x xi )
(xk xi )
i=0
i=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 = j
(7)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
N
Y (x xi )
(x x0 )
(x xk1 )
(x xk+1 )
(x xN )
=
(xk xi )
(xk x0 )
(xk xk1 ) (xk xk+1 )
(xk xN )
i=0
i=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 evala el polinomio
u
% 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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo
Ejemplo 2.2
Determine el polinomio de interpolacin de Lagrange para f (x) =
o
puntos x0 = 2 , x1 = 2.5 , x2 = 4 y util
celo para aproximar f (3).
1
en los
x
Solucin
o
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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 evala el polinomio
u
% 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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo
Ejemplo 2.3
Graque el polinomio de interpolacin del ejemplo anterior 1.2 y comprelo
o
a
con la funcin f .
o
Solucin
o
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,funcin)
o
grid on
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Interpolacin de Newton
o
Con el n 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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
x2 x0
x1 x0
a2 =
x2 x1
.
.
.
a1 =
ak = F(x0 , x1 , . . . , xk )
La funcin F puede determinarse de manera recursiva
o
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
(9)
k=0
F (x0 ) = f (x)
x1
k=1
F (x1 ) = f (x1 )
F (x0 , x1 ) =
F (x1 , x2 ) =
x2
F (x2 ) = f (x2 )
F (x0 )F (x1 )
x0 x1
F (x1 )F (x2 )
x1 x2
k=2
F (x0 , x1 , x2 ) =
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
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 interpolacin
o
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Polinomio de interpolacin
o
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: nmero en el que se evalua el
u
%
polinomio de interpolacin
o
% Salida:
% p: el valor obtenido al evaluar el
%
polinomio de interpolacin en x
o
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo 3.1
Ejemplo 3.1
Los datos consignados en la tabla pertenecen a la grca de la funcin
a
o
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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,funcin)
o
grid on
4.85
3.1964
6.25
2.9564
7.95
1.9213
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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 informacin entorno a x0 :
o
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)!
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo 4.1
Estime el error cometido al aproximar la funcin f (x) = sen x por medio
o
del polinomio de grado nueve que interpola a f en diez puntos del intervalo
[0, 1].
Solucin
o
La cota de error est dada por (??)
a
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)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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) slo es util si la derivada est acotada
o
|f (x) p(x)|
M hn+1
(n + 1)!
(15)
(n+1)
(x) est acotada
a
f
Aumentar el grado del polinomio no garantiza una mejor aproximacin
o
(pueden aparecer oscilaciones entre los puntos de interpolacin)
o
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Observaciones
Por fuera del intervalo que contiene a los puntos de interpolacin,
o
n
Y
(x xi )
i=0
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Fenmeno Runge
o
Polinomios interpolantes para la funcin de Runge
o
f (x) =
1
,
1 + 25x2
x [1, 1]
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Fenmeno Runge
o
Los puntos de interpolacin se pueden distribuir no uniformemente con
o
el n de minimizar el fenmeno de Runge
o
2i + 1
xi = cos
, i = 0, . . . , n
(16)
2n
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Interpolacin de Hermite
o
Vimos que al aumentar los puntos de interpolacin, aumenta el grado
o
del polinomio de aproximacin y las oscilaciones
o
Una solucin consiste en utilizar varios polinomios de interpolacin de
o
o
grado bajo en lugar de un polinomio de grado alto
La interpolacin de Hermite utiliza no slo los valores de la funcin a
o
o
o
interpolar sino tambin sus derivadas. Por ejemplo
e
x0
f (x0 )
f (x0 )
x1
f (x1 )
f (x1 )
xN
f (xN )
f (xN )
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Polinomio osculante
Proposicin 5.1 (Existencia del polinomio osculante)
o
Considere n + 1 puntos distintos en [a, b]
x0 , x 1 , . . . , x n
(17)
m
nimo 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 condicin de interpolacin de Hermite
o
o
(18) es llamado polinomio osculante que aproxima a f
P
El nmero de condiciones a satisfacer en (18) es n mi + (n + 1) y
u
i=0
por tanto el grado del polinomio osculante p es a lo sumo
M =
n
X
mi + n
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Polinomio osculante
Cuando n = 0 tenemos en (17) slo un punto de interpolacin x0 y la
o
o
condicin de Hermite
o
dk p(x0 )
dk f (x0 )
=
k
dx
dxk
para
k = 0, 1, . . . , m0
f (x0 )
f (m0 ) (x0 )
(xx0 )2 + +
(xx0 )m0
2!
m0 !
para
i = 0, 1 . . . , n
p (xi ) = f (xi )
para
i = 0, 1 . . . , n
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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 en x0 , x1 , . . . , xn es el polinomio de
Hermite de grado 2n + 1 y est dado por
a
H2n+1 (x) =
n
X
j=0
n
X
(19)
j=0
donde
(20)
(21)
n
Y (x xi )
xj xi
i=0
i=j
(22)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo (5.1)
Ejemplo 5.1
Utilice el polinomio de Hermite que concuerda con los datos de la tabla para
obtener una aproximacin de f (1,5).
o
k
0
1
2
xk
1,3
1,6
1,9
f (xk )
0,6200860
0,4554022
0,2818186
f (xk )
0,5220232
0,5698959
0,5811571
Solucin
o
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Ejemplo (5.1)
Para las derivadas tenemos
L2,0 (x)
L2,1 (x)
L2,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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo (5.1)
H2,0 (x)
H2,1 (x)
H2,2 (x)
(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
j=0
y evaluando
H5 (1,5) = 0,5118277
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
n
X
k=1
f (xi+1 ) f (xi )
= f () ,
xi+1 xi
para algn
u
(xi , xi+1 )
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
f (z)
z0 = x0
Primeras diferencias
Segundas diferencias
F (z0 ) = f (x0 )
F (z0 , z1 ) = f (x0 )
z1 = x0
F (z1 ) = f (x0 )
z2 = x1
F (z2 ) = f (x1 )
z3 = x1
F (z0 , z1 , z2 ) =
F (z1 , z2 ) =
F (z2 )F (z1 )
z2 z1
F (z3 ) = f (x1 )
F (z1 , z2 , z3 ) =
F (z2 , z3 , z4 ) =
F (z2 , z3 ) = f (x1 )
z4 = x2
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 (x2 )
z5 = x2
F (z4 ) = f (x2 )
.
.
.
.
.
.
.
.
.
n
X
k=1
.
.
.
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
S (x0 ) = S (xn ) = 0
(frontera libre)
(frontera sujeta)
Splines
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3
Sj (x)
bj + 2cj (x xj ) + 3dj (x xj )2
Sj (x)
2cj + 6dj (x xj )
(23)
con j = 0, . . . , n 1.
Por la condicin de interpolacin (2),
o
o
S(xj ) = f (xj )
aj = f (xj )
De la condicin (3),
o
Sj+1 (xj+1 )
Sj (xj+1 )
aj+1
aj+1
aj + bj hj + cj h2 + dj h3
j
j
(24)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Sj (xj+1 )
bj+1
bj+1
bj + 2cj hj +
(25)
3dj h2
j
Sj (xj+1 )
2cj+1
cj+1
dj
cj + 3dj hj
cj+1 cj
3hj
(26)
Al reemplazar dj en (24)
aj+1
bj
=
=
h2
j
(2cj + cj+1 )
3
1
hj
(aj+1 aj ) (2cj + cj+1 )
hj
3
aj + bj hj +
(27)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
o
bj1 =
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
(31)
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
u
f en
a = x0 < x1 < < xn = b
y que satisface la condicin de frontera
o
S (a) = 0
S (b) = 0
Observaciones
El interpolador S : [a, b] R est dado por
a
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 )
(ecuacin (26))
o
(ecuacin (30))
o
x [xj , xj+1 ]
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
S (xn ) = f (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
3
h0 (a1 a0 ) 3 f (a)
3
(a2 a1 ) h (a1 a0 )
7
7
7
7
7
7
7
3
3
hn1 (an an1 ) hn2 (an1 an2 ) 5
3 f (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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo
Ejemplo 6.1 (Spline cbico con frontera libre)
u
Encuentre el spline cbico de frontera libre que interpola
u
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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
6 3
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
2,14285714
2,57142857 2,14285714 ]T
dj
aj+1 aj
cj+1 + 2cj
hj
hj
3
cj+1 cj
3 hj
Introduccin
o
Lagrange
Newton
Anlisis de error
a
Hermite
Splines
Ejemplo
Para el resto de coecientes del spline
S(x) = Sj (x) = aj + bj (x xj ) + cj (x xj )2 + dj (x xj )3
podemos usar tambin el programa SplineLibre.c
e
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
Introduccin
o
Lagrange
Newton
Anlisis de error
a
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