Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Aula 16 – Splines
Cálculo Numérico 3/27
¨ Se f (x) está tabelada em (n + 1) pontos e a aproximarmos
por um polinômio de grau n que a interpola sobre os pontos
tabelados, o resultado pode ser desastroso.
Aula 16 – Splines
Cálculo Numérico 4/27
P5 (x)
f (x)
Aula 16 – Splines
Cálculo Numérico 5/27
¨ Uma alternativa é interpolar f (x) em grupos de poucos
pontos, obtendo-se polinômios de grau menor, e impor
condições para que a função de aproximação seja contínua e
tenha derivadas contínuas até uma certa ordem.
Aula 16 – Splines
Cálculo Numérico 6/27
Aproximação Linear por Partes
¨ Vejamos o caso de aproximação por uma por
partes:
Aula 16 – Splines
Cálculo Numérico 7/27
Aproximação linear por partes
Aula 16 – Splines
Cálculo Numérico 8/27
¨ Podemos optar também por, a cada três pontos (xi , xi+1 , xi+2)
passar um e, neste caso, teremos
também garantia só de continuidade da função que vai
aproximar f (x).
Aula 16 – Splines
Cálculo Numérico 9/27
¨ No caso das funções , 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.
Aula 16 – Splines
Cálculo Numérico 10/27
Definição
Aula 16 – Splines
Cálculo Numérico 11/27
Definição
Aula 16 – Splines
Cálculo Numérico 12/27
Spline Linear Interpolante
xi − x x − xi−1
si ( x ) = f ( xi−1 ) + f ( xi ) , ∀ x ∈ [ xi−1, xi ]
xi − xi−1 xi − xi−1
Aula 16 – Splines
Cálculo Numérico 13/27
EXEMPLO 1
¨ Achar a função spline linear que interpola a função tabelada:
i 0 1 2 3
xi 1 2 5 7
f(xi) 1 2 3 2,5
Aula 16 – Splines
Cálculo Numérico 14/27
EXEMPLO 1
¨ Assim:
#
% x, se x ∈ [ xi−1, xi ]
%
% 1
S1 ( x ) = $ ( x + 4 ), se x ∈ [ xi−1, xi ]
% 3
% 1
% (−0, 5x + 8, 5), se x ∈ [ xi−1, xi ]
& 2
Aula 16 – Splines
Cálculo Numérico 15/27
Spline Cúbica Interpolante
Aula 16 – Splines
Cálculo Numérico 16/27
Definição de Spline Cúbica
¨ Supondo que f (x) esteja tabelada nos pontos xi , i = 0, 1,
2, ..., n, a função S3 (x) é chamada
de f (x) nos nós xi , se existem n polinômios de
grau 3, sk (x), k = 1, 2, ... , n, tais que:
3 2
sk ( x ) = ak ( x − xk ) + bk ( x − xk ) + ck ( x − xk ) + dk , k = 1, 2,!, n
a1, b1, c1, d1, a2, b2, ... , an, bn, cn, dn
Aula 16 – Splines
Cálculo Numérico 19/27
¨ Impondo as condições para que S3 (x) seja spline interpolante
de f em x0, ..., xn, teremos:
a1, b1, c1, d1, a2, b2, ... , an, bn, cn, dn
Aula 16 – Splines
Cálculo Numérico 21/27
¨ Podemos supor:
Aula 16 – Splines
Cálculo Numérico 22/27
¨ Para satisfazer as condições de (i) à (v) de uma spline
interpolante de f em x0, ..., xn.
¨ Usando as notações sk” (xk) = gk e f (xk) = yk, teremos:
gk − gk−1 gk
ak = , bk = ,
6hk 2
" h 2 h +h %
$ 1 ( 1 2) h 2 '
$ h2 2 ( h2 + h3 ) h3 '
A =$ '
$ ! ! ! '
$$ hn−1 2 ( hn−1 + hn ) hn ''
# &(n−1)×(n+1)
Aula 16 – Splines
Cálculo Numérico 25/27
" y2 − y1 y1 − y0 %
$ − '
$ h2 h1 '
$ y3 − y2 y2 − y1 '
$ − '
b = 6$ h3 h2 '
$ ! '
$ '
$ yn − yn−1 − yn−1 − yn−2 '
$ '
# hn hn−1 &(n−1)×1
Aula 16 – Splines
Cálculo Numérico 26/27
¨ Para resolvermos este sistema, vimos que são necessárias
mais duas condições.
¨ No caso da , ou seja, S3”(x0) = g0 = 0 e
S3”(xn) = gn = 0
" 1 0 0 0 ! 0 %
$ '
$ h1 2 ( h1 + h2 ) h2 '
$ '
$ h2 2 ( h2 + h3 ) h3 '
A=
$ ! ! ! '
$ '
$ hn−1 2 ( hn−1 + hn ) hn '
$ '
# 0 0 0 0 ! 1 &(n−1)×(n+1)
Aula 16 – Splines
Cálculo Numérico 27/27
" 0 %
$ '
$ y2 − y1 − y1 − y0 '
$ h2 h1 '
$ '
$ y3 − y2 − y2 − y1 '
b = 6$ h3 h2 '
$ '
$ ! '
$ yn − yn−1 yn−1 − yn−2 '
$ − '
$ hn hn−1 '
$ '
# 0 16 – Splines &(n−1)×1
Aula
Cálculo Numérico 28/27
EXEMPLO 2
Aula 16 – Splines
Cálculo Numérico 29/27
EXEMPLO 2
! 4h h $ ! g $ ! y − 2y + y $
0 # 1 & # 2 1 0
&
# & 6
# h 4h h &# g2 & = # y3 − 2y2 + y1 &
# 0 h 4h &# g & h # y − 2y + y &
" %#" 3 &% #" 4 3 2 &%
Aula 16 – Splines
Cálculo Numérico 30/27
EXEMPLO 2
¨ Substituindo os valores para h e yi , 0 ≤ i ≤ 4:
! 2 0, 5 0 $! g $ ! −15, 3636 $
1
# & # & # &
# 0, 5 2 0, 5 &# g2 & = # −14, 6748 &
# 0 0, 5 2 &# g & # −14, 5598 &
" %#" 3 &% " %
¨ Resolvendo pelo Método de Eliminação de Gauss:
Aula 16 – Splines
Cálculo Numérico 31/27
EXEMPLO 2
¨ Levando estes valores em ak , bk , ck , dk , encontramos s1 (x),
s2 (x), s3 (x) e s4 (x).
¨ Como queremos uma aproximação para f (0,25),
f (0,25) ≈ s1 (0,25)
3 2
s1 ( x ) = a1 ( x − x1 ) + b1 ( x − x1 ) + c1 ( x − x1 ) + d1
onde:
g1 − g0
a1 = = −2, 2180
6h
Aula 16 – Splines
Cálculo Numérico 32/27
EXEMPLO 2
g1
b1 = = −3, 3270
2
y1 − y0 2hg1 + g0 h
c1 = + = −3, 3858
h 6
d1 = y1 = 1,8616
¨ Assim, por spline cúbica natural interpolante: