Upload
dohuong
View
215
Download
0
Embed Size (px)
Citation preview
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
1jji 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(j
j x xf = ,temos:
=
=
=
01
1111
)(,
2
1
,2
1
2
1
2221
1211
aa
xfbyy
aa
bbbb
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
yaxayaxa
ou, em forma matricial:
=
⋅
1
0
0
1
1
0
yy
aa
1x1x
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
2121i2
1i01 =′′∈∃⇒=′∈∃=′∈∃
εεεεεεεε
Mas, ( ) ( ) 0A2fG =−′′=′′ εε , logo: ( )
2fA ε′′
=
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.0225.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
0aa
15.111
0
1
−==
⇒
−
=
⋅
− 5.0a
5.0a25.0
0aa
5.0011
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:
=++
=++
=++
2222210
1212110
0202010
yxaxaa
yxaxaa
yxaxaa
ou ainda:
=
⋅
2
1
0
2
1
0
222
211
200
yyy
aaa
xx1xx1xx1
O sistema terá solução se o determinante (de Vandermonde) da matriz dos coeficientes (V) for diferente de zero:
( ) 220
212
201
202
2101
22 xxxxxxxxxxxxVdet −−−++=
( ) ( ) ( )122020
2101
22 xxxxxxxxx −+−+−=
( ) ( ) ( )21
202
20
221
22
210 xxxxxxxxx −+−+−=
( )( ) ( )( )
( )( )10102
0202121210
xxxxxxxxxxxxxxx
+−++−++−=
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
0jj
n
0iin 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 =
( ) ( ) [ ]0101
011 x ,xf
xxxfxf
a =−−
=
( )( ) ( ) ( ) [ ]( )02010202122 xxx,xfxfxfxxxxa −−−=−− ( )( ) ( ) ( ) [ ]( ) ( ) ( )0102011202122 xfxfxxx,xfxfxfxxxxa −+−−−=−−
( )( ) ( ) ( ) [ ]( ) ( ) ( ) ( )0101
0102011202122 xx
xxxfxf
xxx,xfxfxfxxxxa −−−
+−−−=−−
( ) ( ) [ ]( )01020112 , xxxxxxfxfxf /+−/−−−=
( )( ) ( ) ( ) [ ]( )12011202122 xxx,xfxfxfxxxxa −−−=−−
[ ] ( ) ( ){ } ( )121212 xxxfxfx,xf −−=
( ) [ ] [ ]0112022 x,xfx,xfxxa −=−
[ ] [ ] [ ]01202
01122 x,x,xf
xxx,xfx,xf
a =−−
=
( ) ( ) ( )( )( )( )( )0313233
0313203103
xxxxxxaxxxxaxxaaxf
−−−++−−+−+=
( )( )( ) ( ) ( )[ ]( )( )
[ ]( ) ( ) ( )( ) ( )01
120301
0313012
230313233
,
,,
xfxfxfxfxxxx-f
xxxxxxxfxfxfxxxxxxa
−++−+−
−−−−−−=−−−
( )( )( ) ( ) ( )[ ]( )( )
[ ] ( )( ) ( ) ( )
( ) ( ) ( )0101
01
0212
12
0301
0313012
230313233
(, ,,
xxxx
xfxf
xxxx
xfxfxxxx-f
xxxxxxxfxfxfxxxxxxa
−−−
+
+−−−
+
+−−−−−
−−=−−−
( )( )( ) ( ) ( ) ( )
[ ]( )( )[ ]( ) [ ]( )[ ]( )[ ]( ) [ ]( )
( ) [ ] [ ]{ }[ ]( )( )[ ]( ) [ ]( )
( ) [ ] [ ]{ }
[ ]( )( )
( ) [ ] [ ]{ }02
02011213
0313012
13
13122323
13011312
0313012
122323
01012312
2312
12120301
0313012
2323
230313233
,,
,,
,,
,, ,,
,,
,, ,
,, ,,
xxxxxxfxxfxx
xxxxxxxfxxxxxxfxxfxx
xxxxfxxxxfxxxxxxxfxxfxxfxx
xxxxfxxxxfxxxxf
xxxxfxxxx-fxxxxxxxf
xxxx
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,xfxxxxx,x,xfxxx,xfxfp
−−−++−−+−+=
− LL
L
ou
[ ] ( )∏∑−
==− −=
1i
0jj
n
0i01iin 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.0007865544152 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
xxxxxxxxxxfRxxxxxxxxxxfR−−−≈
−−−=
−+
−
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
0iin xfxLxp ∑
=
=
onde:
∏≠= −
−=
n
ijj ji
ji xx
xxxL
0
)(
com:
( )
≠=
=ji,0ji,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)
( ) ( ) ( ) [ ]
( ) ( ) ( ) ( ) ( )
( ) ( )101
00
10
11
01
01001
01001 ,
xfxxxxxf
xxxxp
xxxfxfxxxfxp
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
0100
xxxx
xfxfxx
xfxf
xxxx
xxxfxf
xxxf
−−−
−−−
⋅−−+
+−−
−+=
( ) ( )( )( )( )
( ) ( )( )( )( )
( )( )( )( )
( ) ( )( )( )( )1202
102
0102
10
1202
10
01
01
0102
10
01
00
xxxxxxxx
xf
xxxxxxxx
xxxxxxxx
xxxx
xf
xxxxxxxx
xxxx
1xf
−−−−
⋅+
−−−−
−−−
−−+
−−
+
+
−−−−
+−−
−=
( ) ( )( ) ( )( ) ( )( )( )( )
( ) ( )( )( ) ( )( )( ) ( )( )( )( )( )( )
( ) ( )( )( )( )1202
102
011202
12100110120201
0102
1002001020
xxxxxxxxxf
xxxxxxxxxxxxxxxxxxxxxxxxxf
xxxxxxxxxxxxxxxxxf
−−−−
⋅+
+−−−
−−−−−−−−−−−+
+−−
−−+−−−−−=
( ) ( )( )( )( )
( ) ( ) ( )( ) ( )( ) ( )( ){ }( )( )( )
( ) ( )( )( )( )
4444 34444 212T
1202
102
011202
121011120201
2010
210
xxxxxxxx
xf
xxxxxxxxxxxxxxxxxxxx
xf
xxxxxxxx
xf
−−−−
⋅+
+−−−
−−−−−−−−−+
+−−
−−=
( ) ( )( )( )( )
( ) ( ) ( )( ) ( )[ ]{ }( )( )( )
2
011202
12011120201
2010
210
0
Txxxxxx
xxxxxxxxxxxxxf
xxxxxxxxxf
T
+
+−−−
/−+−/−−−−−+
+−−
−−=
4444 84444 76
( ) ( ) ( )( ){ }( )( )( )011202
112020120 xxxxxx
xxxxxxxxxfTT
−−−/+−/−−−
++=
( ) ( ) ( )( )( )( ) ( ) ( )( )
( )( )1202
102
2101
20102 xxxx
xxxxxf
xxxxxxxx
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.38629442 6 1.7917950
( ) ( )( )( )( ) ( ) ( )( )
( )( ) ( )
( )( )( )( ) ( )
( ) ( )( )( )( )
( )( )( )( )
( )( )( )( )
( )69314718.02ln
56584437.02
791795.146064202
3862944.1640462020
604062422
2
2
21202
10
12101
200
2010
212
==
×−−−−
+
+×−−−−
+×−−−−
=
−−−−
+
+−−
−−+
−−−−
=
P
p
xfxxxx
xxxx
xfxxxx
xxxxxf
xxxxxxxxxp
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 3ii3
2ii2ii1i0ii =+++==
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:
( ) ( ) ( ) ( )3ii3
2ii2ii1ioi 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
1ii
i1i
i1ii xx
xxb
xxxx
bxS−
−
−− −
−+
−−
=′′
Notar que:
( ) ii1i
ii1i
1ii
1iiii
"1i b
xxxx
bxxxx
bxS =−
−+
−−
=+
++
++
( ) ii
"i bxS =
Portanto, não há descontinuidade na 2a derivada.
( ) ( ) ( ) ( ) 11i1ii
ii
i1i
1i1ii kdx xx
xxb
dx xxxx
bkxSxS +−
−+−
−=+′′=′ ∫∫∫ −
−−
−
( )( )
( )( ) 1
1ii
21i
ii1i
2i
1i kxx2
xxb
xx2xx
b +−⋅
−+
−⋅−
=−
−
−−
( ) ( ) ( )( )
( )( ) 21
1ii
31i
ii1i
3i
1iii kxkxx6
xxb
xx6xx
bdx xSxS ++−⋅
−+
−⋅−
=′=−
−
−−∫
( ) ( ) ( ) 1iiiiii1iiii21 xdxcxcdxxdxxckxk −− −+−=−+−=+
mas ( ) ( )1i1ii xfxS −− = e ( ) ( )iii xfxS =
( ) ( )( ) ( ) ( )1i1iii
i1i
3i1i
1i1ii xfxxcxx6
xxbxS −−
−
−−− =−+
−⋅−
=
( ) ( ) ( ) ( )i1iii
21ii
iii xfxxd6xx
bxS =−+−
= −−
( ) ( )
( )1ii
21ii
1i1ii
1ii xx
16xx
bxx
xfc
−
−−
−
−
−⋅
−
−−
=
( ) ( )
( )1ii
21ii
i1ii
ii xx
16xx
bxxxf
d−
−
− −⋅
−
−−
=
Assim:
( ) ( )( )
( )( ) ( ) ( )1
1
31
1
3
1 66 −−
−
−− −+−+
−−
+−
−= ii
ii
ii
ii
iii xxDxxC
xxxxb
xxxxbxS (*)
onde:
( )
( )
−−
−=
−−
−=
−
−
−−
−
−
6
6
1
1
11
1
1
iii
ii
i
iii
ii
i
xxbxxxfD
xxbxx
xfC
Notar que:
( ) ( ) ( ) ( ) ( )iiii
iiii
ii xfxxbxfxxbxS =
−−+−= −−
21
21 66
( ) ( ) ( ) ( ) ( ) ( )iiiiii
ii
iii
iii xfxxxxb
xxxfxxbxS =−
−−
−+−= ++
+−+ 11
1
211 66
Portanto, não há descontinuidade.
Derivando (*), tem-se:
( ) ( )( )
( )( ) [ ] ( )i1i
1ii1ii
1ii
21i
ii1i
2i
1ii bb6xx
x,xfxx2
xxb
xx2xx
bxS −−
++−
−+
−−
=′ −−
−−
−
−−
Por analogia:
( ) ( )( )
( )( ) [ ] ( )1ii
i1ii1i
i1i
2i
1i1ii
21i
i1i bb6
xxx,xf
xx2xx
bxx2
xxbxS +
++
++
+
++ −
−++
−−
+−
−=′
( ) ( ) [ ] ( ) ( )6bb
xxx,xfxx2b
xS 1iii1ii1i1ii
ii1i
+++++
−−++−=′
( ) ( ) [ ] ( ) ( )6
bbxxx,xfxx
2b
xS i1i1ii1ii1ii
iii
−−++−=′ −
−−−
( ) [ ] =+
+
−−= −−
− 11
1 ,6
2ii
iiii xxfbbxx
( ) ( ) [ ]iiii
iiii xxfbb
xxxS ,6
21
111 +
+++ +
−−
−=′=
( ) ( ) ( ) ( )iii
iiii
iii
ii xxb
xxbb
xxb
xx −+−+−+− ++
+−
−− 11
11
11 662
662
[ ] [ ]{ } 6x,xf-x,xf 1-iii1i ⋅= +
( ) ( ) ( )
[ ] [ ]{ }11
111111
,,6 2
−+
++−+−−
−==−+−+−
iiii
iiiiiiiii
xxfxxfbxxbxxbxx
(**)
onde:
[ ] [ ]{ } ( ) ( ) ( ) ( )
−−
−−−
==−
−
+
++
1
1
1
11-iii1i x,xf-x,xf
ii
ii
ii
ii
xxxfxf
xxxfxf
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 0xxxx
bxx
xxb 0xS k
1kk
1kkk
k1k
kk1-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 b0 b
.
3
0
−=+π
ππ2
3306b3
b3
421
−−
=+ 02
336b3
4b3 21 π
ππ
Usando um método qualquer para resolução de sistemas de
equações lineares, obtem-se:
9477,05
327221 −=
−==
πbb
Após determinados b1 e b2, definem-se as splines:
( ) ( ) ( ) ( )3
0 :Para ; 66
s 011101
301
10
310
1πxxxdxxc
xxxxb
xxxxb
≤≤−+−−−
−+
−−
=
( ) ( ) 6
c 010
01
01 xxb
xxxf
−−−
= ; ( ) ( )
6d 01
1
01
11 xxb
xxxf
−−−
=
( ) ( ) ( ) ( )32
3 :Para ;
66s 1222
12
312
21
321
2πxπxxdxxc
xxxxb
xxxxb
≤≤−+−−−
−+
−−
=
( ) ( ) 6
c 121
12
12 xxb
xxxf
−−−
= ; ( ) ( )
6d 12
2
12
22 xxb
xxxf
−−−
=
( ) ( ) ( ) ( ) πxπxxdxxcxx
xxbxx
xxb≤≤−+−−
−−
+−
−=
32 :Para ;
66s 2333
23
323
32
332
3
( ) ( ) 6
c 232
23
23 xxb
xxxf
−−−
= ; ( ) ( )
6d 23
3
23
33 xxb
xxxf
−−−
=
Efetuando-se os cálculos, obtém-se:
πxπxxx,
πxπxxx,
πx,x,x,x,
≤≤−+−=
≤≤−+−=
≤≤+++−=
32 :Para ; 5588,14734,34215,115080s
32
3 :Para ; 1732,04886,14738,100000s
30 :Para ; 00000992400000015080s
233
232
231