Documentos de Académico
Documentos de Profesional
Documentos de Cultura
No caso das funções spline, a opção feita é aproximar a função tabelada, em cada
subintervalo [xi, xi+1], por um polinômio de grau p, com algumas imposições sobre a função
conforme a definição a seguir.
Definição 4.6.1:
Considere a função f(x) tabelada nos pontos x0 < x1 < ... < xn .
Uma função Sp(x) é denominada spline de grau p com nós nos pontos xi, i = 0, 1,
..., n, se satisfaz as seguintes condições:
a) em cada subintervalo [xi, xi+1 ], i = 0, 1, ..., (n – 1), Sp(x) é um polinômio de
grau p: sp (x).
b) Sp (x) é contínua e tem derivada contínua até ordem (p – 1) em [a, b].
Se, além disto, Sp(x) também satisfaz a condição:
c) Sp (xi) = f(xi), i = 0, 1, ..., n, então será denominada spline interpolante.
88
4.6.1- Spline Linear Interpolante
A função spline linear interpolante de f(x), S1 (x), nos nós x0 , x1 , ..., xn pode ser
escrita em cada subintervalo [xi–1 , xi], i = 1, 2, ..., n como
xi − x x − x i−1
si(x) = f(xi–1 ) + f(xi) , ∀ x ∈ [xi–1 , xi].
x i − x i−1 x i − x i−1
Verificação:
a) S1 (x) é polinômio de grau 1 em cada subintervalo [xi–1, xi], por definição;
b) S1 (x) é contínua em (xi–1 , xi), por definição, e, nos nós xi, realmente S1 está
bem definida, pois:
si(xi) = si+1(xi) = f(xi) ⇒ S1 (x) é contínua em [a, b] e, portanto, S1 (x) é spline
linear;
c) S1 (xi) = si(xi) = f(xi) ⇒ S1 (x) é spline linear interpolante de f(x) nos nós x0 , x1 ,
..., xn .
Exemplo 4.6.1:
x0 x1 x2 x3
x 1 2 5 7
f(x) 1 2 3 2.5
x1 − x x − x0
s1 (x) = f(x0) + f(x1) =
x1 − x 0 x1 − x 0
2−x x −1
=1 +2 = 2 − x + 2x − 2 = x , x ∈ [1, 2]
2 −1 2 −1
x2 − x x − x1
s2 (x) = f(x1) + f (x 2 )
x 2 − x1 x 2 − x1
5−x x−2 2 1
=2 +3 = (5 − x ) + x − 2 = (x + 4) , x ∈ [2, 5]
5−2 5−2 3 3
x3 − x x − x2
s3 (x) = f(x2) + f (x 3 )
x3 − x 2 x3 − x 2
7−x x−5 1
=3 + 2.5 = (− 0.5x + 8.5) , x ∈ [5, 7].
7 −5 7 −5 2
89
4.6.2- Spline Cúbica Interpolante
Impondo as condições para que S3 (x) seja spline interpolante de f em x0, ..., xn
teremos:
(n – 1) condições para que S3 (x) esteja bem definida nos nós (continuidade de
S3 (x) em [x0 , xn ]);
De acordo com a definição que demos para cada sk (x), a condição (i) da definição
S3 (x) está automaticamente satisfeita.
90
(1) sk(x) = dk = f(xk ), às quais devemos acrescentar mais a equação:
3 2
(2) s1(x0 ) = f(x0) ⇒ − a 1 h1 + b1h 1 − c1 h1 + d1 = f ( x 0 ) onde usamos a notação hk
= xk – xk–1 , com k = 1.
3 2
(3) − a k +1 h k +1 + b k +1 h k +1 − c k +1 h k +1 + d k +1 = f ( x k )
Para impor as condições (iv) e (v), precisaremos das derivadas das sk(x):
s ´´ ( x )
(6) bk = k k
2
e, impondo agora a condição (v), ( s´´k (xk–1) = s´´k −1 (xk–1 )), obtemos:
Uma vez que dk = f(xk ) e já expressamos ak e bk , podemos usar (2) e (3) para
termos ck também em função das derivadas segundas nos nós. Observamos que
tirar c1 da equação (2)e, para k = 1, ..., (n – 1) usar (3) é o mesmo que, para k = 1,
2, ..., n, termos:
− f ( x k −1 ) − a k h 3k + b k h 2k + d k
(8) ck =
hk
91
f ( x k ) − f ( x k −1 )
= − (a k h 2k − b k h k )
hk
f ( x k ) − f ( x k −1 ) [s´´k ( x k ) − s´´k ( x k −1 )] s ´´ ( x )
= − hk − k k hk
hk 6 2
ou seja:
f ( x k ) − f ( x k −1 ) − 2s´´k ( x k ) h k − s´´k −1 ( x k −1 ) h k
ck = − .
hk 6
s ´´k (xk ) = gk e
f(xk ) = yk , teremos:
g k − g k−1
(9) ak =
6h k
gk
(10) bk =
2
y − y k −1 2h k g k + g k −1 h k
(11) ck = k + e
hk 6
(12) dk = yk .
Impondo agora a condição (iv) que ainda não foi utilizada, s´k (xk) = s´ k+1 (xk ), k =
1, 2, ..., (n – 1) teremos:
2
s´k (xk) = ck = 3ak+1 hk +1 – 2bk+1 hk+1 + ck+1
2
donde ck+1 = ck – 3ak+1 h k +1 +2b k+1 hk+1
y k +1 − y k 2h k +1 g k +1 + g k h k +1
h k +1
+ =
6
92
y − y k −1 2h k g k + g k −1 h k g − gk g k +1 h k +1
= k + − 3 k +1 h k +1 + 2 .
hk 6 6 2
1
[hkgk–1 + (2hk + 3hk+1 – hk+1)gk + (6hk+1 – 3hk+1 – 2hk+1 )gk+1 ] =
6
y k +1 − y k y k − y k−1
= − ,
h k +1 hk
ou seja:
y k +1 − y k y k − y k −1
(13) hk gk–1 + 2(hk + hk+1)gk + hk+1gk+1 = 6 −
h k +1 hk
h1 2(h 1 + h 2 ) h2
h2 2(h 2 + h 3 ) h4
A=
O O O
2(h n −1 + h n ) h n (n −1)×( n +1)
h n −1
y 2 − y1 y1 − y 0
−
h2 h1
y 3 − y 2 y 2 − y1
−
h3 h2
b = 6 .
.
.
yn − y n −1 y n −1 − y n −2
−
hn h n −1 (n −1)×1
Para podermos resolver esse sistema, de forma única, teremos de impor mais duas
condições conforme já comentamos.
93
De posse da solução, aí então poderemos determinar ak , bk , ck e dk para cada sk ( x) .
Algumas alternativas:
3) Impor valores para as inclinações em cada extremo, por exemplo S´3 (x0) = A e
S´3 (xn ) =B, o que nos fornecerá as duas equações adicionais:
s´n (xn) = cn = B.
Exemplo 4.6.2:
Vamos encontrar uma aproximação para f(0.25) por spline cúbica natural,
interpolante da tabela:
y k+1 − y k y k − y k −1
(14) hk gk–1 + 2(hk + hk+1)gk + hk+1gk+1 = 6 −
h k +1 h k
6
(15) hgk–1 + 4hgk + hgk+1 = (yk+1 – 2yk + yk–1 )
h
6
hg 0 + 4hg 1 + hg 2 = h ( y 2 − 2 y1 + y 0 )
6
hg 1 + 4hg 2 + hg 3 = ( y3 − 2y 2 + y1 )
h
6
hg 2 + 4hg 3 + hg 4 = h ( y 4 − 2 y3 + y 2 )
94
Como queremos a spline cúbica natural, g0 = g4 = 0, e então o sistema a ser
resolvido será:
4h h 0 g1 y − 2y1 + y 0
6 2
h 4h h g 2 = y 3 − 2 y 2 + y1
0 h 4h g h y − 2y + y
3 4 3 2
g3 = –6.252
g2 = –4.111
g1 = –6.6541
g − g 0 − 6.6541
a1 = 1 = = −2.2180
6h 3
g
b1 = 1 = −3.3270
2
y1 − y 0 2hg 1 + g 0h
c1 = + = −3.3858
h 6
d1 = y1 = 1.8616
95