Você está na página 1de 33

CÁLCULO NUMÉRICO

Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br


Aula 16
05/2014 Splines
SPLINES

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.

¨  Veja o exemplo a seguir, onde aproximou-se f (x) por um


polinômio de grau 5.

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

¨  Observe que a função S1 (x) é contínua, mas não é derivável


em (x0, x4), uma vez que S1’ (x) não existe para x = xi ,
1 ≤ i ≤ 3.

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

¨  Considere a função f (x), definida em [a, b] e tabela nos


pontos:

a = x0 < x1 < ... < xn = b

¨  Uma função Sp (x) é denominada com nós


nos pontos xi , i = 0, 1, ..., n , se satisfaz as seguintes
condições:

Aula 16 – Splines
Cálculo Numérico 11/27
Definição

¨  Em cada subintervalo [xi , xi+1], i = 0, 1, ..., (n – 1), Sp (x) é


um polinômio de grau p: sk (x);
¨  Sp (x) é contínua e tem derivada contínua até ordem (p – 1)
em [a, b].
¨  Se além disso, Sp (x) também satisfaz a condição:
¤  Sp (xi) = f (xi), i = 0, 1, ..., n ,

ENTÃO, SERÁ DENOMINADA

Aula 16 – Splines
Cálculo Numérico 12/27
Spline Linear Interpolante

¨  A função 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 − 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

¨  Uma , S3 (x), é uma função polinomial por


partes, contínua, onde cada parte, sk (x), é um
no intervalo [xk-1 , xk], k = 1, 2, ..., n.

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:

i) S3 (x) = sk (x) para x ∈ [ xk−1, xk ] , k = 1, ..., n;


ii) S3 (xi) = f (xi), i = 0, 1, ..., n;
iii) sk (xk) = sk+1 (xk), k = 1, 2, ..., (n - 1);
iv) s’k (xk) = s’k+1 (xk), k = 1, 2, ..., (n - 1);
v) s”k (xk) = s”k+1 (xk), k = 1, 2, ..., (n – 1).
Aula 16 – Splines
Cálculo Numérico 17/27
Aula 16 – Splines
Cálculo Numérico 18/27
¨  Para simplicidade de notação, escreveremos:

3 2
sk ( x ) = ak ( x − xk ) + bk ( x − xk ) + ck ( x − xk ) + dk , k = 1, 2,!, n

¨  Assim, o cálculo de S3 (x) exige a determinação de 4


coeficientes para cada k , num total de :

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:

¤  (n + 1) condições para que S3 (x) interpole f (x) nos nós;


¤  (n – 1) condições para que S3 (x) esteja bem definida nos nós
(continuidade de S3 (x) em [x0 , xn]);
¤  (n – 1) condições para que S3’(x) seja contínua em [x0, xn]; e
¤  (n – 1) condições para que S3” (x) seja contínua em [x0, xn].

¨  Totalizando: n + 1 + 3(n – 1) = .


Aula 16 – Splines
Cálculo Numérico 20/27
¨  Como precisamos determinar 4n coeficientes, precisamos de
, para determinar todos os coeficientes:

a1, b1, c1, d1, a2, b2, ... , an, bn, cn, dn

¨  Essas condições podem ser impostas de acordo com


informações físicas do problema.

Aula 16 – Splines
Cálculo Numérico 21/27
¨  Podemos supor:

¤  S3”(x0) = g0 = 0 e S3”(xn) = gn = 0, que é chamada ,


que é equivalente a supor que os polinômios cúbicos nos
intervalos extremos ou são
;

¤  g0 = g1, gn = gn-1, que é equivalente a supor que as cúbicas são


aproximadamente , nos extremos;

¤  Impor valores para as inclinações em cada extremo, o que


fornecerá duas equações adicionais.

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

" yk − yk−1 2hk gk + gk−1hk %


ck = $ + ', dk = yk
# hk 6 &
¨  Vemos que os coeficientes estão relacionados com gj = sj”(xj).
Aula 16 – Splines
Cálculo Numérico 23/27
¨  Para obter gj , ainda da condição (iv) (sk’(xk) = s’k+1 (xk),
k = 1, 2, ..., (n - 1)), teremos:

" yk+1 − yk yk − yk−1 %


hk gk−1 + 2 ( hk + hk+1 ) gk + hk+1gk+1 = 6 $ − '
# hk+1 hk &

que é um sistema de equações lineares com (n – 1) equações


(k = 1, ..., (n – 1)) e (n + 1) incógnitas: g0, g1, gn-1, gn .
Aula 16 – Splines
Cálculo Numérico 24/27
¨  Temos, então, um sistema indeterminado, Ax = b, onde
x = (g0, g1, ..., gn)T.

" 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

¨  Vamos encontrar uma aproximação para f (0,25) por spline


cúbica natural interpolante da tabela:

x 0 0,5 1,0 1,5 2,0


f (x) 3 1,8616 -0,5571 -4,1987 -9,0536

Aula 16 – Splines
Cálculo Numérico 29/27
EXEMPLO 2

¨  Como queremos a spline cúbica natural, g0 = g4 = 0, e


lembrando que h = xi – xi-1 = 0,5, o sistema a ser resolvido
será:

! 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:

g3 = −6, 252; g2 = −4,111; g1 = −6, 6541

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:

f ( 0, 25) ≈ s1 ( 0, 25) = 2, 5348


Aula 16 – Splines
Cálculo Numérico 33/27