Buscar

Introdução à Interpolação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTERPOLAÇÃO 
 
 
Introdução 
 
• A interpolação consiste em determinar, a partir de um 
conjunto de dados discretos, uma função ou um conjunto de 
funções analíticas que possam servir para a determinação de 
qualquer valor no domínio de definição. 
• Pode-se ver a interpolação como um processo numérico que 
mapeia uma função discreta para uma função contínua. 
• A interpolação tem vasta aplicação em diversos campos da 
ciência, como por exemplo, na computação gráfica, no 
processamento de sinais e imagens. 
• É ferramenta numérica básica na integração numérica e nos 
rigorosos métodos numéricos de solução de equações 
diferenciais (Método de Galerkin, Método dos Elementos 
Finitos, Elementos de Contorno, etc.). 
 
 
Problema Geral de Interpolação 
 
Dados: 
1. Um conjunto de pontos { }ix , i = 1,2, ..., N 
2. Um conjunto de valores { }iy , i = 1,2, ..., N 
3. Um conjunto de funções (denominadas de funções de base), 
( ){ }xf j , j = 1,2, ..., N 
Encontrar: 
Os coeficientes aj, j = 1,2, ..., N, tal que 
 
( )ij
N
1j
ji xfay ∑
=
= , i = 1,2, ...,N 
 
 A equação acima pode ser escrita sob forma matricial 
 
y = Ba ou a = B-1y, 
 
onde y e a são vetores colunas representando respectivamente os 
dados conhecidos e os coeficientes a serem determinados, e B é a 
matriz definida por: 
 
B = {bi,j} = fj(xi) 
 
É importante observar que para o problema de interpolação 
ter uma solução é necessário que a matriz B admita uma inversa, 
o que pode não ocorrer dependendo da escolha das funções de 
base. 
 
 
 Ex.: Dado x = (1, -1) e y = [1 0]T e escolhendo as funções 
de base como ( ) 1)-j(jj x xf = ,temos: 
 
 






=











=





=











0
1
11
11
)(,
2
1
,
2
1
2
1
2221
1211
a
a
xfb
y
y
a
a
bb
bb
ijji
 
 
o ( ) 0Bdet = , portanto o sistema não admite solução. 
 
 
Interpolação linear 
 
A partir de dois pontos distintos de y = f(x), p. ex. (x0,y0) e 
(x1, y1), deseja-se encontrar o valor da função yi para um ponto de 
abcissa intermediária xi. 
 
A maneira mais simples de estimar yi é através de uma 
interpolação linear, i.e., supondo que o ponto (xi, yi) pertence ao 
segmento de reta que une os pontos de coordenadas conhecidas. 
 
Esse segmento é parte do “polinômio interpolador” de 1º 
grau, definido por: 
 
( ) 011 axaxP += 
 
 A fim de determinar os coeficientes a1 e a0, deve-se resolver 
o sistema: 
 



=+
=+
1011
0001
yaxa
yaxa
 
 
ou, em forma matricial: 
 






=





⋅





1
0
0
1
1
0
y
y
a
a
1x
1x
 
 
 Pode-se demonstrar que para que o problema de 
interpolação seja determinado, o grau do polinômio interpolador é 
sempre igual ao número de pontos menos um. 
 
 
 Erro de Truncamento 
 
É o erro cometido em decorrência da representação de uma 
suposta função f(x) por uma reta, o que equivale a desprezar os 
termos de ordem igual ou superior a 2 do seu desenvolvimento em 
série de Taylor. 
Seja p. ex. a função do gráfico: 
 Seu erro de truncamento é dado 
por: 
 
( ) ( ) ( )i1iiT xp-xf xE = 
 
 É fácil observar que esse erro se anula para 0x x = e 
para 1x x = . Assim, pode-se escrever a expressão do erro na forma: 
 
)x-)(xx-A(x )(xE 10iT = 
 
 A fim de determinar uma expressão para A, considere-se a 
função auxiliar G(t) definida por: 
 
( ) ( ) ( ) Axtxtatatftt-tf tG 1 ⋅)−)(−(−)+(−)( = )(−= 1001ΤΕφ 
 
 É fácil observar que G(t) se anula, pelo menos em três 
pontos: x0, x1 e xi. Portanto: 
 
( ) ( )
( ) ( ) ( ) ( ) 0G / , 0G / x ,x 
0G / x ,x 
21
21i2
1i01 =′′∈∃⇒
=′∈∃
=′∈∃
εεεε
εε
εε
 
 
Mas, ( ) ( ) 0A2fG =−′′=′′ εε , logo: 
( )
2
fA ε
′′
= 
 
Assim, a expressão do erro de truncamento, fica: 
 
)xx)(xx(
2
)(f)x(E 10T −−
ε′′
= 
Exemplo: 
 
 
 Determinar o erro de truncamento cometido ao se efetuar 
uma interpolação linear da função ( ) 23x-x xf 2 += , entre os 
pontos 1.0 x0 = e 1.5 x1 = , para estimar o valor de f(1.25) 
 
 
Solução: 
 
( ) 0 1f = ; ( ) 0.25- 1.5f = 
 
 
( ) x ,2xf ∀=′′ 
 
( ) ( ) ( ) 0625.0
2
25.125.10.125.125.1ET −=⋅−⋅−= 
 
O valor real de f(1.25) é –0.1875 e o valor estimado pela 
interpolação linear pode ser calculado, após a determinação dos 
coeficientes, de acordo com: 
 
 






−
=





⋅





25.0
0
a
a
15.1
11
0
1
 
 



−=
=
⇒





−
=





⋅





− 5.0a
5.0a
25.0
0
a
a
5.00
11
1
0
0
1
 
 
 
( ) 0.125- 0.5 1.25 0.5- 1.25p1 =+⋅= 
 
 
 O erro percentual é: 33.33% (alto!) 
 
Interpolação quadrática 
 
 Dados três pontos ( ) ,y ,x 00 ( ) ,y ,x 11 e ( ) y ,x 22 , pode-se 
definir um polinômio interpolador de acordo com: 
 
( ) 22102 xaxaaxp ++= 
 
com erro ET nulo para os 3 pontos dados. Os coeficientes de p2(x) 
podem ser determinados através de: 
 





=++
=++
=++
2
2
22210
1
2
12110
0
2
02010
yxaxaa
yxaxaa
yxaxaa
 
ou ainda: 










=










⋅










2
1
0
2
1
0
2
22
2
11
2
00
y
y
y
a
a
a
xx1
xx1
xx1
 
 
 O sistema terá solução se o determinante (de Vandermonde) 
da matriz dos coeficientes (V) for diferente de zero: 
 
( ) 220212201202210122 xxxxxxxxxxxxVdet −−−++= 
 ( ) ( ) ( )122020210122 xxxxxxxxx −+−+−= 
 ( ) ( ) ( )212022022122210 xxxxxxxxx −+−+−= 
 
( )( ) ( )( )
( )( )10102
0202121210
 xxxxx
xxxxxxxxxx
+−+
+−++−=
 
 
 Demonstra-se que ( ) ( )( )( )120201 xxxxxxVdet −−−= . O 
leitor pode tentar chegar a esse resultado, após triangularizar a 
matriz V. 
 
Erro de Truncamento 
 
( )( )( ) ( )
!3
fxxxxxxE 210T
ε′′′
⋅−−−= 
 
Interpolação Polinomial 
 
 
• As funções de base são polinômios. 
 
• Os mais utilizados são os: 
 
 Polinômios de Newton; 
 
 Polinômios de Lagrange; e, 
 
 Splines (uma classe de polinômios parcialmente definidos). 
 
 
 
Interpolação por Polinômios de Newton 
 
 
Definição do polinômio de Newton: 
 
( ) ( )( ) ( )( ) ( )1n10n102010n xxxxxxaxxxxaxxaap −−−−++−−+−+= LL 
 
ou 
 
( )∏∑
−
==
−=
1i
0j
j
n
0i
in xxap 
 
 
onde: ai são os coeficientes do polinômio a serem determinados 
na interpolação e xj são os centros. 
 
Determinação dos coeficientes 
 
Considere um conjunto de pontos { }ii y,x , com ( )ii xfy = . 
Seja ( ) xpn o polinômio de Newton a ser usado na interpolação. 
Como ( )xpn deve reproduzir os valores de f nos pontos dados, 
tem-se: 
( ) ( ) ,xf xp iin = n ..., 2, 1, i = 
 
( ) ( ) ( ) ( )( ) L+−−+−+== 012010 xxxxaxxaaxpxf n 
( )( )( ) L+−−−+ 0123 xxxxxxa 
( ) ( )01 xxxxa nn −−+ − L 
( ) 00 axf = 
( ) ( )01101 xxaaxf −+= 
( ) ( ) ( )( )0212202102 xxxxaxxaaxf −−+−+= 
 
( )00 xfa = 
 
( ) ( ) [ ]01
01
01
1 x ,xfxx
xfxf
a =
−
−
= 
 
( )( ) ( ) ( ) [ ]( )02010202122 xxx,xfxfxfxxxxa −−−=−− 
( )( ) ( ) ( ) [ ]( ) ( ) ( )0102011202122 xfxfxxx,xfxfxfxxxxa −+−−−=−− 
( )( ) ( ) ( ) [ ]( ) ( ) ( ) ( )01
01
01
02011202122 xxxx
xfxf
xxx,xfxfxfxxxxa −
−
−
+−−−=−− 
( ) ( ) [ ]( )01020112 , xxxxxxfxfxf /+−/−−−= 
 
( )( ) ( ) ( ) [ ]( )12011202122 xxx,xfxfxfxxxxa −−−=−− 
 
[ ] ( ) ( ){ } ( )121212 xxxfxfx,xf −−= 
 
( ) [ ] [ ]0112022 x,xfx,xfxxa −=− 
 
[ ] [ ] [ ]012
02
0112
2 x,x,xfxx
x,xfx,xf
a =
−
−
= 
( ) ( ) ( )( )
( )( )( )0313233
0313203103
 xxxxxxa
xxxxaxxaaxf
−−−+
+−−+−+=
 
( )( )( ) ( ) ( )
[ ]( )( )
[ ]( ) ( ) ( )
( ) ( )01
120301
0313012
230313233
 
, 
,, 
xfxf
xfxfxxxx-f
xxxxxxxf
xfxfxxxxxxa
−+
+−+−
−−−−
−−=−−−
 
( )( )( ) ( ) ( )
[ ]( )( )
[ ] ( )
( ) ( ) ( )
( ) ( ) ( )01
01
01
02
12
12
0301
0313012
230313233
 
 
(, 
,, 
xx
xx
xfxf
xx
xx
xfxfxxxx-f
xxxxxxxf
xfxfxxxxxxa
−
−
−
+
+−
−
−
+
+−
−−−−
−−=−−−
 
 
( )( )( ) ( ) ( ) ( )
[ ]( )( )
[ ]( ) [ ]( )
[ ]( )
[ ]( ) [ ]( )
( ) [ ] [ ]{ }
[ ]( )( )
[ ]( ) [ ]( )
( ) [ ] [ ]{ }
[ ]( )( )
( ) [ ] [ ]{ }
02
02
011213
0313012
13
13
122323
13011312
0313012
122323
01012312
2312
12120301
0313012
23
23
23
0313233
,, 
,, 
,, 
,, 
,, 
,, 
,, 
, 
,, 
,, 
xx
xxxxfxxfxx
xxxxxxxf
xx
xxxxfxxfxx
xxxxfxxxxf
xxxxxxxf
xxfxxfxx
xxxxfxxxxf
xxxxf
xxxxfxxxx-f
xxxxxxxf
xx
xx
xfxfxxxxxxa
−
−
⋅−−+
+−−−
−
−
−
⋅−−=
−−−+
+−−−
−−−=
−+−+
+−−
−−+−
−−−−
−−
−
−
=−−−
 
onde [ ] x..., ,,x,xf 11-kk é chamada de diferença dividida entre 
.y,,y k1 K 
 
Assim, substituindo os valores dos coeficientes na expressão 
do polinômio, tem-se: 
 
( ) [ ]( ) [ ]( )( )
[ ]( )( ) ( )n1001nn
100120010n
xxxxxxx,,x,xf
xxxxx,x,xfxxx,xfxfp
−−−
++−−+−+=
− LL
L
 
ou 
[ ] ( )∏∑
−
==
− −=
1i
0j
j
n
0i
01iin xxx,,x,xfp L 
 
Tabela de Diferenças Divididas 
 
i xi f(xi) 1a 2a 3a 
0 x0 f(x0) 
 f[x1,x0] 
1 x1 f(x1) f[x2,x1,x0] 
 f[x2,x1] f[x3,x2,x1,x0] 
2 x2 f(x2) f[x3,x2,x1] 
 f[x3,x2] 
3 x3 f(x3) 
 
 
 
Ex. 1: 
 
i ix iy 
0 0.0 1.008 0.28 1.1 1.0 0.0 
1 0.2 1.064 0.61 1.6 1.0 
2 0.3 1.125 1.09 2.0 
3 0.5 1.343 1.69 
4 0.6 1.512 
 
( ) ( ) ( )( ) ( )( )( )3.0x2.0x0.0x0.12.0x0.0x1.10.0x28.0008.1xp4 −−−+−−+−+= 
Ex. 2: Estimar o ln(2) , utilizando o polinômio de Newton de 
terceira ordem 
 
i xi f(xi) 1a 2a 3a 
0 1 0 
 0.46209813 
1 4 1.3862944 -0.051873116 
 0.20273255 0.000786554415
2 6 1.7917595 -0.020410950 
 0.18232160 
3 5 1.6094379 
 
assim 
 
 
( ) ( ) ( )( )
( )( )( ),6-x4-x1-x150.00786554 
4-x1-x60.05187311-1-x0.46209813 0 p3
+
++=x
 
 
 ( ) 0.69314718 ln ,0.62876869 2p3 == ; %3.9t =ε 
 
 
Estimativa de Erro na Interpolação por Polinômio de Newton 
 
 
Semelhantemente ao truncamento feito na série de Taylor, 
tem-se: 
 
 
( )
( ) ( )( ) ( )n
n
n xxxxxxn
fR −−−
+
=
+
L10
)1(
!1
ξ
 
 
ou: 
 
[ ]( )( ) ( )
[ ]( )( ) ( )nnnnn
nnnn
xxxxxxxxxxfR
xxxxxxxxxxfR
−−−≈
−−−=
−+
−
LL
LL
10011
1001
,,,,
,,,,
 
 
 
Interpolação por Polinômio de Lagrange 
 
 
O polinômio de Lagrange é simplesmente uma reformulação 
do polinômio de Newton, que evita o cálculo de diferenças 
divididas. 
 
A forma geral do polinômio de Lagrange é: 
 
( ) ( ) ( )i
n
0i
in xfxLxp ∑
=
= 
 
onde: 
 
∏
≠
= −
−
=
n
ij
j ji
j
i xx
xx
xL
0
)( 
 
com: 
 
( )



≠
=
=
ji,0
ji,1
xL ji 
 
 
O erro estimado de interpolação é o mesmo do polinômio de 
Newton. 
 
Dedução dos coeficientes do polinômio de Lagrange 
(a partir do polinômio de Newton) 
 
 
( ) ( ) ( ) [ ]
( ) ( ) ( ) ( ) ( )
( ) ( )1
01
0
0
10
1
1
01
01
001
01001 ,
xf
xx
xxxf
xx
xxp
xx
xfxfxxxfxp
xxfxxxfxp
−
−
+
−
−
=
−
−
−+=
−+=
 
 
que é o polinômio sob forma de Lagrange. 
 
 
De forma semelhante para ( ) ( ) ( )xp ..., ,xp ,xp n32 : 
 
 
( ) ( ) ( ) [ ] ( )( ) [ ]0121001002 x,x,xfxxxxx,xfxxxfxp −−++−+= 
 
( ) ( ) ( ) ( )
( )( )
( ) ( ) ( ) ( )
02
01
01
12
12
10
01
01
00
xx
xx
xfxf
xx
xfxf
xxxx
xx
xfxf
xxxf
−
−
−
−
−
−
⋅−−+
+
−
−
−+=
 
 
( ) ( )( )( )( )
( ) ( )( )( )( )
( )( )
( )( )
( ) ( )( )( )( )1202
10
2
0102
10
1202
10
01
0
1
0102
10
01
0
0
xxxx
xxxx
xf 
xxxx
xxxx
xxxx
xxxx
xx
xx
xf 
xxxx
xxxx
xx
xx
1xf
−−
−−
⋅+






−−
−−
−
−−
−−
+
−
−
+
+






−−
−−
+
−
−
−=
 
 
( ) ( )( ) ( )( ) ( )( )( )( )
( ) ( )( )( ) ( )( )( ) ( )( )( )( )( )( )
( ) ( )( )( )( )1202
10
2
011202
1210011012020
1
0102
100200102
0
xxxx
xxxxxf 
xxxxxx
xxxxxxxxxxxxxxxxxxxf 
xxxx
xxxxxxxxxxxxxf
−−
−−
⋅+
+
−−−
−−−−−−−−−−−
+
+
−−
−−+−−−−−
=
 
 
( ) ( )( )( )( )
( ) ( ) ( )( ) ( )( ) ( )( ){ }( )( )( )
( ) ( )( )( )( )
4444 34444 21
2T
1202
10
2
011202
12101112020
1
2010
21
0
xxxx
xxxx
xf 
xxxxxx
xxxxxxxxxxxxxx
xf 
xxxx
xxxx
xf
−−
−−
⋅+
+
−−−
−−−−−−−−−
+
+
−−
−−
=
 
 
( ) ( )( )( )( )
( ) ( ) ( )( ) ( )[ ]{ }( )( )( )
2
011202
1201112020
1
2010
21
0
 
 
0
T
xxxxxx
xxxxxxxxxxxxxf
xxxx
xxxxxf
T
+
+
−−−
/−+−/−−−−−+
+
−−
−−
=
4444 84444 76
 
 
( ) ( ) ( )( ){ }( )( )( )011202
112020
120 xxxxxx
xxxxxxxx
xfTT
−−−
/+−/−−−++= 
 
( ) ( ) ( )( )( )( ) ( )
( )( )
( )( )1202
10
2
2101
20
102 xxxx
xxxx
xf
xxxx
xxxx
xfTxp
−−
−−
+
−−
−−
+= 
 
Comparação entre as interpolações de Lagrange e de Newton 
 
 A fim de estabelecer uma comparação, determina-se o 
número n (número de pontos) total de multiplicações/divisões 
para cada método: 
 
 Mult. Div. Total 
Newton 3-2n 
2
nn2 −
 2
6n3n2 −+
 
Lagrange 1-n 2 2n 1-2nn2 + 
 
A Condição 1n2n 2
6n3n 22 −+<−+ é verdadeira ∀ n: 
Entretanto, se várias funções devem ser interpoladas no mesmo 
intervalo, a interpolação de Lagrange pode se mais vantajosa, uma 
vez que os produtos dos denominadores são calculados apenas 
uma vez. 
 
Ex.: Estimar ln(2) , a partir dos dados abaixo 
 
i xi f(xi) 
0 1 0 
1 4 1.3862944
2 6 1.7917950
 
( ) ( )( )( )( ) ( )
( )( )
( )( ) ( )
( )( )
( )( ) ( )
( ) ( )( )( )( )
( )( )
( )( )
( )( )
( )( )
( )
69314718.02ln
56584437.02
791795.1
4606
4202 
3862944.1
6404
62020
6040
62422
 
2
2
2
1202
10
1
2101
20
0
2010
21
2
=
=
×
−−
−−
+
+×
−−
−−
+×
−−
−−
=
−−
−−
+
+
−−
−−
+
−−
−−
=
P
p
xf
xxxx
xxxx
xf
xxxx
xxxx
xf
xxxx
xxxxxp
 
 
Interpolação por Splines Cúbicas 
 
 
Splines (régua flexível) 
 
Em vez de se procurar determinar uma única função de grau 
elevado que reproduza o comportamento de um conjunto de 
pontos dentro de um intervalo, pode-se dividi-lo em 
subintervalos, a fim de permitir a utilização de várias funções de 
baixo grau (caso de polinômios). 
 
A interpolação mais simples consiste em aproximar o 
comportamento da função entre dois pontos consecutivos por 
segmentos de reta. 
 
 
Splines Cúbicas – Definição e dimensionamento do problema 
 
 Dado um intervalo [a, b], dividido em k subintervalos [ 1ii t ,t + ] 
com k ..., 1, i = , pode-se definir, para cada um destes, uma seção 
polinomial cúbica, como polinômio interpolador da função a 
aproximar, como mostra a figura: 
 
 
 
 
Definição: 
 
( ) ( ) ( ) ( ) ( ) k) ..., (1,2, i ,t-xat-xat-xa a xs xp 3ii32ii2ii1i0ii =+++== 
 
com as seguintes propriedades, 
 
 (i) ( ) ( )i1iii tsts += 
 
isto resulta em 2-2k equações 
 
 (ii) ( ) ( )i1iii tsts +′=′ 
 
resultando em 1-k equações 
 
 (iii) ( ) ( )i1iii tsts +′′=′′ 
 
 Os limites dos intervalos são chamados de nós. Aplicando a 
condição de erro de truncamento nulo para ambas as splines de 
um mesmo nó intermediário, obtém-se duas equações para cada 
um destes. 
 
Essa condição produz ainda duas equações para os nós 
extremos. Considerando que existem 1k + nós, a condição de 
erro nulo gera então ( )[ ] ( ) 2k 2 2-1k =⋅+ equações. 
 
A fim de garantir uma função interpoladora inteiramente 
diferenciável, é necessário que as derivadas à direita e à esquerda 
de cada nó intermediário sejam iguais. Isso resulta em 
( ) ( ) 1-k 2-1k =+ equações. 
 
Condição semelhante deve ser aplicada para as derivadas 
segundas, para garantir que os nós intermediários não são pontos 
de inflexão. Isso resulta em mais 1)-(k equações, totalizando 
( ) 2-4k 1-k22k =+ equações. 
 
Cada spline é definida através da expressão: 
 
( ) ( ) ( ) ( )3ii32ii2ii1ioi t-xa t-xa t-xa a xs +++= 
 
possuindo portanto 4 (quatro) coeficientes a determinar.Existem assim 4k incógnitas e 2-4k equações. 
 
A fim de eliminar esses dois graus de liberdade é comum 
exigir-se que as derivadas segundas se anulem nos pontos 
extremos do intervalo (spline natural). 
 
Caso sejam conhecidas informações adicionais sobre a 
função a ser aproximada, como, por exemplo, as primeiras 
derivadas nos extremos, essa condição pode substituir a condição 
anterior. 
 
Dedução do Algoritmo para Splines Cúbicas 
 
Considerando que cada par de nós é conectado por uma 
spline cúbica então a derivada segunda desta spline é uma reta. 
 
Representando essa reta, sob a forma de um polinômio de 
Lagrange, tem-se: 
 
( )
1ii
1i
i
i1i
i
1ii xx
xx
b
xx
xx
bxS
−
−
−
− −
−
+
−
−
=′′ 
 
Notar que: 
 
( ) i
i1i
ii
1i
1ii
1ii
ii
"
1i bxx
xx
b
xx
xx
bxS =
−
−
+
−
−
=
+
+
+
+
+ 
 
( ) ii"i bxS = 
 
Portanto, não há descontinuidade na 2a derivada. 
 
( ) ( ) ( ) ( ) 11i
1ii
i
i
i1i
1i
1ii kdx xxxx
b
dx xx
xx
b
kxSxS +−
−
+−
−
=+′′=′ ∫∫∫ −
−−
−
 
( )
( )
( )
( ) 11ii
2
1i
i
i1i
2
i
1i kxx2
xx
b
xx2
xx
b +
−⋅
−
+
−⋅
−
=
−
−
−
− 
 
 
( ) ( ) ( )( )
( )
( ) 211ii
3
1i
i
i1i
3
i
1iii kxkxx6
xx
b
xx6
xx
bdx xSxS ++
−⋅
−
+
−⋅
−
=′=
−
−
−
−∫ 
 
( ) ( ) ( ) 1iiiiii1iiii21 xdxcxcdxxdxxckxk −− −+−=−+−=+ 
 
mas ( ) ( )1i1ii xfxS −− = e ( ) ( )iii xfxS = 
 
( ) ( )( ) ( ) ( )1i1iiii1i
3
i1i
1i1ii xfxxcxx6
xx
bxS −−
−
−
−− =−+−⋅
−
= 
 
( ) ( ) ( ) ( )i1iii
2
1ii
iii xfxxd6
xx
bxS =−+
−
= −
−
 
 
( ) ( )
( )1ii
2
1ii
1i
1ii
1i
i xx
1
6
xx
b
xx
xf
c
−
−
−
−
−
−
⋅







 −
−
−
= 
 
( ) ( )
( )1ii
2
1ii
i
1ii
i
i xx
1
6
xx
b
xx
xf
d
−
−
− −
⋅







 −
−
−
= 
 
Assim: 
 
( ) ( )( )
( )
( ) ( ) ( )11
3
1
1
3
1 66 −−
−
−
− −+−+−
−
+
−
−
= ii
ii
i
i
ii
i
ii xxDxxCxx
xxb
xx
xxbxS (*)
onde: 
 
( )
( )





 −
−
−
=





 −
−
−
=
−
−
−
−
−
−
6
6
1
1
1
1
1
1
ii
i
ii
i
ii
i
ii
i
xxb
xx
xfD
xxb
xx
xfC
 
 
Notar que: 
 
( ) ( ) ( ) ( ) ( )iiiiiiiiii xfxx
bxfxxbxS =


 −−+−= −−
2
1
2
1 66 
 
( ) ( ) ( ) ( ) ( ) ( )iiiiii
ii
i
ii
i
ii xfxxxx
b
xx
xfxxbxS =−





−−
−
+−= ++
+
−+ 11
1
2
11 66 
 
Portanto, não há descontinuidade. 
 
Derivando (*), tem-se: 
 
( ) ( )( )
( )
( ) [ ] ( )i1i
1ii
1ii
1ii
2
1i
i
i1i
2
i
1ii bb6
xx
x,xf
xx2
xx
b
xx2
xx
bxS −
−
++
−
−
+
−
−
=′ −
−
−
−
−
−
− 
 
Por analogia: 
 
( ) ( )( )
( )
( ) [ ] ( )1ii
i1i
i1i
i1i
2
i
1i
1ii
2
1i
i1i bb6
xx
x,xf
xx2
xx
b
xx2
xx
bxS +
+
+
+
+
+
+
+ −
−
++
−
−
+
−
−
=′ 
 
( ) ( ) [ ] ( ) ( )
6
bb
xxx,xfxx
2
b
xS 1iii1ii1i1ii
i
i1i
+
++++
−
−++−=′ 
 
( ) ( ) [ ] ( ) ( )
6
bb
xxx,xfxx
2
b
xS i1i1ii1ii1ii
i
ii
−
−++−=′ −−−− 
( ) [ ] =+




 +−−= −
−
− 1
1
1 ,6
2
ii
ii
ii xxf
bbxx 
( ) ( ) [ ]iiiiiiii xxf
bb
xxxS ,
6
2
1
1
11 +
+
++ +




 −−−=′= 
 
( ) ( ) ( ) ( )iiiiiiiiiiii xx
b
xx
bb
xx
b
xx −+−+−+− +
+
+
−
−− 1
1
1
1
11 66
2
66
2
 
[ ] [ ]{ } 6x,xf-x,xf 1-iii1i ⋅= + 
 
 
( ) ( ) ( )
[ ] [ ]{ }11
111111
,,6 
2 
−+
++−+−−
−=
=−+−+−
iiii
iiiiiiiii
xxfxxf
bxxbxxbxx
 (**)
onde: 
 
[ ] [ ]{ } ( ) ( ) ( ) ( )






−
−
−
−
−
==
−
−
+
+
+
1
1
1
1
1-iii1i x,xf-x,xf
ii
ii
ii
ii
xx
xfxf
xx
xfxf
 
 
para 1-k,1,i L= 
 
 A equação correspondente a 1i = possui 3 
incógnitas: 210 b ,b ,b , mas na equação de 2 i = , aparecem 
321 b e b ,b , i.e., uma única incógnita adicional. 
 
Generalizando, a adição da j-ésima equação, 
p/ 1k2,..., j += , faz surgir apenas uma incógnita a mais. 
 
Portanto, existem ( )[ ] 1k 312-1-k +=++ incógnitas. 
 
 Como o sistema acima define apenas ( ) 1-k equações, as 
duas incógnitas restantes podem ser obtidas a partir da condição 
de spline natural: 
 
( ) 0b 0xS 00i =⇒=′′ 
 
e 
 
( ) 0b 0
xx
xx
b
xx
xx
b 0xS k
1kk
1kk
k
k1k
kk
1-kkk =⇒=−
−
+
−
−
⇒=′′
−
−
−
 
 
 
 
Ex.1: Representar por splines cúbicas: 
 
i 0 1 2 3 
xi 0 3π 32π π 
yi 0 23 23 0 
 
Nesse caso 3 k = splines. 
 
Portanto, a equação (**) deve ser escrita por 1 i = e 2 i = : 
 
 
( ) ( ) ( ) [ ] [ ]{ } x,xfx,xf6bxxbxx2bxx 0112212102001 −=−+−+− 
 
 
( ) ( ) ( ) [ ] [ ]{ } x,xfx,xf6bxxbxx2bxx 1223323213112 −=−+−+− 
 
Splines naturais 



=
=
⇒
0 b
0 b
.
3
0 
 






−=+
π
ππ
2
3306b
3
b
3
4
21 
 






−
−
=+ 0
2
336b
3
4b
3 21 π
ππ
 
 
Usando um método qualquer para resolução de sistemas de 
equações lineares, obtem-se: 
 
9477,0
5
327
221 −=
−
==
π
bb 
 
Após determinados b1 e b2, definem-se as splines: 
 
( ) ( ) ( ) ( )
3
0 :Para ; 
66
s 0111
01
3
01
10
3
10
1
πxxxdxxc
xx
xxb
xx
xxb
≤≤−+−−
−
−
+
−
−
= 
( ) ( ) 
6
c 010
01
0
1 xx
b
xx
xf
−−
−
= ; 
( ) ( ) 
6
d 011
01
1
1 xx
b
xx
xf
−−
−
= 
 
( ) ( ) ( ) ( )
3
2
3
 :Para ;
66
s 1222
12
3
12
21
3
21
2
πxπxxdxxc
xx
xxb
xx
xxb
≤≤−+−−
−
−
+
−
−
= 
( ) ( ) 
6
c 121
12
1
2 xx
b
xx
xf
−−
−
= ; 
( ) ( ) 
6
d 122
12
2
2 xx
b
xx
xf
−−
−
= 
 
( ) ( ) ( ) ( ) πxπxxdxxc
xx
xxb
xx
xxb
≤≤−+−−
−
−
+
−
−
=
3
2 :Para ; 
66
s 2333
23
3
23
32
3
32
3 
( ) ( ) 
6
c 232
23
2
3 xx
b
xx
xf
−−
−
= ; 
( ) ( ) 
6
d 233
23
3
3 xx
b
xx
xf
−−
−
= 
 
Efetuando-se os cálculos, obtém-se: 
 
πxπxxx,
πxπxxx,
πx,x,x,x,
≤≤−+−=
≤≤−+−=
≤≤+++−=
3
2 :Para ; 5588,14734,34215,115080s
3
2
3
 :Para ; 1732,04886,14738,100000s
3
0 :Para ; 00000992400000015080s
23
3
23
2
23
1

Continue navegando