Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções...

24
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 { } i x , i = 1,2, ..., N 2. Um conjunto de valores { } i y , i = 1,2, ..., N 3. Um conjunto de funções (denominadas de funções de base), ( ) { } x f j , j = 1,2, ..., N Encontrar: Os coeficientes a j , j = 1,2, ..., N, tal que ( ) i j N 1 j j i x f a y = = , i = 1,2, ...,N

Transcript of Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções...

Page 1: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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

Page 2: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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.

Page 3: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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.

Page 4: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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 −−ε′′

=

Page 5: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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

Page 6: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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ε′′′

⋅−−−=

Page 7: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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.

Page 8: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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 =−−

=

Page 9: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

( ) ( ) ( )( )( )( )( )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

−−

⋅−−+

+−−−

−−−

⋅−−=

−−−++−−−−−−=

−+−++−−

−−+−−−−−

−−−−

=−−−

Page 10: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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 −−−+−−+−+=

Page 11: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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

,,,,,,,,

Page 12: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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.

Page 13: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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

−−−−

⋅+

−−−−

−−−

−−+

−−

+

+

−−−−

+−−

−=

Page 14: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

( ) ( )( ) ( )( ) ( )( )( )( )

( ) ( )( )( ) ( )( )( ) ( )( )( )( )( )( )

( ) ( )( )( )( )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−−

−−+

−−−−

+=

Page 15: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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

Page 16: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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:

Page 17: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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.

Page 18: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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.

Page 19: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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 =

Page 20: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

( ) ( )( ) ( ) ( )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.

Page 21: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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=

Page 22: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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 =⇒=

−−

+−

−⇒=′′

Page 23: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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

Page 24: Transp05 - Interpola..o - dca.ufrn.brmeneghet/FTP/MCEC/Transp05.pdf · 3. Um conjunto de funções ... se anula, pelo menos em três pontos: x0, x1 e xi. Portanto: ()() ... definir

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