Você está na página 1de 4

SPLINES CÚBICOS

ENUNCIADO:
a) Construa o spline cúbico natural que interpola a função

( ) = ln(1 + )

no intervalo [0,1] com uma malha uniforme de 4 nós.

RESOLUÇÃO:
NÓS E VALORES NODAIS:
Temos os nós e os valores nodais

= 0, = 0,

= 1⁄3, = ln(4⁄3),

= 2⁄3, = ln(5⁄3),

= 1, = ln(2),

Os espaçamentos entres os nós são iguais a

ℎ = ℎ = ℎ = ℎ = 1⁄3.

VALORES DOS MOMENTOS , = 0, 1, 2, 3


Para um spline cúbico natural com 4 nós temos as condições de fecho

= = 0,

as quais definem 2 equações.

A restantes equações são dadas por


−2 +
+4 + =6

Para o nosso caso, fica

=0
−2 +
+4 + =6

−2 +
+4 + =6

=0
ou, na forma matricial

JVS-2018-10/1
1 0 0 0 0
⎛1 ⎛ ⎞ ⎛ −2 + ⎞
4 1 0⎞ 6
⎜ ⎟⎜ ⎟ ⎜
= ℎ ⎟
⎜ ⎟⎜ ⎟ ⎜ −2 + ⎟
⎜0 1 4 1⎟ ⎜ ⎟ ⎜6 ⎟

⎝0 0 0 1⎠ ⎝ ⎠ ⎝ 0 ⎠

Substituindo os valores nodais e ℎ = 1/3, ficamos com

1 0 0 0 0
⎛1 ⎛ ⎞ ⎛
4 1 0⎞ 54ln(15⁄16)⎞
⎜ ⎟⎜ ⎟ ⎜ ⎟
⎜ ⎟⎜ ⎟=⎜ ⎟
⎜0 1 4 1⎟ ⎜ ⎟ ⎜54ln(24⁄25)⎟

⎝0 0 0 1⎠ ⎝ ⎠ ⎝ 0 ⎠

Resolvendo o sistema acima, obtemos

=0
1
= [72 ln(15⁄16) − 18 ln(24⁄25)]
5
1
= [−18 ln(15⁄16) + 72 ln(24⁄25)]
5
=0

EXPRESSÃO DOS POLINÓMIOS CONSTITUINTES DO SPLINE


Para finalizar, temos de substituir os momentos nas expressões dos polinómios, assim como os nós e
valores nodais, sem esquecer os espaçamentos.1

1
Ver Equação (11) no slide 23 das aulas de JVS sobre splines.

JVS-2018-10/2
ENUNCIADO:
b) Construa agora o spline cúbico not-a-knot que interpola a função dada em a), considerando o
mesmo intervalo e o mesmo número de nós.

RESOLUÇÃO:
VALORES DOS MOMENTOS , = 0, 1, 2, 3
Num spline not-a-knot as condições de fecho são:
( ) ( )
( )= ( )

e
( ) ( )
( )= ( )

Em qualquer tipo de spline cúbico a sua segunda derivada ( ) é constituída por polinómios de
grau 1, tais que
− −
( )= +
ℎ ℎ
pelo que a sua terceira derivada, considerando espaçamentos iguais ℎ = ℎ = ℎ = ℎ , será
constituída por polinómios de grau 0, dados por

( )
( )=− +
ℎ ℎ
Assim sendo, no nó :

( ) ( )
( )= ( )⇔− + =− + ⇔− +2 − =0
ℎ ℎ ℎ ℎ
e, como temos 3 troços, no penúltimo nó = :

( ) ( )
( )= ( )⇔− + =− + ⇔− +2 − =0
ℎ ℎ ℎ ℎ
O sistema de equações passa a ser

−1 2 −1 0 0
⎛1 ⎛ ⎞ ⎛ −2 + ⎞
4 1 0⎞ 6
⎜ ⎟⎜ ⎟ ⎜
= ℎ ⎟
⎜ ⎟⎜ ⎟ ⎜ −2 + ⎟
⎜0 1 4 1 ⎟⎜ ⎟ ⎜6 ⎟

⎝0 −1 2 −1⎠ ⎝ ⎠ ⎝ 0 ⎠

JVS-2018-10/3
NOTA SOBRE PROGRAMAÇÃO

No MATLAB podemos usar a função backslash para resolver o sistema de equações:

M = A \b
onde, por exemplo,

−1 2 −1 0 0
⎛1 ⎛ ⎞ ⎛6 −2 + ⎞
4 1 0⎞
⎜ ⎟ ⎜ ⎟
=⎜

⎟,
⎟ =⎜ ⎟ e =⎜ ℎ

−2 +
⎜0 1 4 1⎟ ⎜ ⎟ ⎜6 ⎟

⎝0 −1 2 −1⎠ ⎝ ⎠ ⎝ 0 ⎠

No entanto, há que dizer que existem melhores formas de resolver o sistema de equações dado.

NOTA SOBRE ANÁLISE DE ERROS

As interpolações por splines cúbicos de uma função ( ) e suas derivadas têm um erro cujo
majorante é descrito pelas seguintes expressões:

( )
‖ − ‖ ≤ ℎ

‖ ‖ ≤ ( )
− ℎ

‖ ‖ ≤ ( )
− ℎ

( ) ( ) ( )
− ≤ ℎ

onde , , e são constantes.

JVS-2018-10/4

Você também pode gostar