Sejam
x
1
<
x
2
<
…
<
x
n
{\displaystyle x_{1}<x_{2}<\ldots <x_{n}}
as abcissas dos pontos de interpolação.
A spline cúbica é uma função:
P
(
x
)
{\displaystyle P(x)}
, definida no intervalo
[
x
1
,
x
n
]
{\displaystyle [x_{1},x_{n}]}
com as seguintes propriedades:
1. Em cada segmento
[
x
n
,
x
n
+
1
]
,
n
=
1
,
2
,
…
,
n
−
1.
P
(
x
)
{\displaystyle [x_{n},x_{n+1}],n=1,2,\ldots ,n-1.P(x)}
é um polinômio cúbico.
2.
P
(
x
)
,
P
(
x
)
′
e
P
(
x
)
″
{\displaystyle P(x),P(x)'eP(x)''}
são funções contínuas no intervalo.
3.
P
(
x
i
)
=
y
i
{\displaystyle P(x_{i})=y_{i}}
, isto é, o polinômio passa pelos pontos dados.
Então a função é composta por
n
−
1
{\displaystyle n-1}
polinômios cúbicos (onde
n
{\displaystyle n}
é o número de pontos), e cada polinômio é determinado por 4 coeficientes
a
i
,
b
i
,
c
i
,
d
i
{\displaystyle a_{i},b_{i},c_{i},d_{i}}
, que devem ser determinados.
O polinômio tem a forma:
P
(
x
)
=
a
i
+
b
i
(
x
−
x
i
)
+
c
i
(
x
−
x
i
)
2
+
d
i
(
x
−
x
i
)
3
{\displaystyle P(x)=a_{i}+b_{i}(x-x_{i})+c_{i}(x-x_{i})^{2}+d_{i}(x-x_{i})^{3}}
.
Para obtermos os 4 coeficientes
a
i
,
b
i
,
c
i
,
d
i
{\displaystyle a_{i},b_{i},c_{i},d_{i}}
de cada um dos polinômios montaremos um sistema de equações lineares.
Para
i
=
1
,
2
,
…
,
n
−
1
{\displaystyle i=1,2,\ldots ,n-1}
.
P
i
(
x
i
)
=
y
i
{\displaystyle P_{i}(x_{i})=y_{i}}
P
i
(
x
i
+
1
)
=
y
i
+
1
{\displaystyle P_{i}(x_{i+1})=y_{i+1}}
P
i
′
(
x
i
+
1
)
=
P
i
+
1
′
(
x
i
+
1
)
{\displaystyle P'_{i}(x_{i+1})=P'_{i+1}(x_{i+1})}
P
i
″
(
x
i
+
1
)
=
P
i
+
1
″
(
x
i
+
1
)
{\displaystyle P''_{i}(x_{i+1})=P''_{i+1}(x_{i+1})}
A derivada primeira de
P
(
x
)
{\displaystyle P(x)}
é:
P
′
(
x
)
=
b
i
+
2
c
i
(
x
−
x
i
)
2
{\displaystyle P'(x)=b_{i}+2c_{i}(x-x_{i})^{2}}
.
E a derivada segunda de
P
(
x
)
{\displaystyle P(x)}
é:
P
″
(
x
)
=
2
c
i
+
6
d
i
(
x
−
x
i
)
{\displaystyle P''(x)=2c_{i}+6d_{i}(x-x_{i})}
.
Com as derivadas vamos substituir nas fórmulas listadas anteriormente com isso teremos as seguintes equações:
a
i
=
y
i
{\displaystyle a_{i}=y_{i}}
a
i
+
b
i
(
x
i
+
1
−
x
i
)
+
c
i
(
x
i
+
1
−
1
)
2
+
d
i
(
x
i
+
1
−
x
i
)
3
=
y
i
+
1
{\displaystyle a_{i}+b_{i}(x_{i+1}-x_{i})+c_{i}(x_{i+1}-1)^{2}+d_{i}(x_{i+1}-x_{i})^{3}=y_{i+1}}
b
i
+
2
c
i
(
x
i
+
1
−
1
)
+
3
d
i
(
x
i
+
1
−
x
i
)
2
=
b
i
+
1
{\displaystyle b_{i}+2c_{i}(x_{i+1}-1)+3d_{i}(x_{i+1}-x_{i})^{2}=b_{i+1}}
c
i
+
3
d
i
(
x
i
+
1
−
x
i
)
=
c
i
+
1
{\displaystyle c_{i}+3d_{i}(x_{i+1}-x_{i})=c_{i+1}}
Para simplicar as formulas acima faremos:
h
i
=
x
i
+
1
{\displaystyle h_{i}=x_{i+1}}
E as reescrevemos como:
a
i
=
y
i
{\displaystyle a_{i}=y_{i}}
a
i
+
b
i
(
h
i
)
+
c
i
(
h
i
)
2
+
d
i
(
h
i
)
3
=
y
i
+
1
{\displaystyle a_{i}+b_{i}(h_{i})+c_{i}(h_{i})^{2}+d_{i}(h_{i})^{3}=y_{i+1}}
(
1
)
{\displaystyle (1)}
b
i
+
2
c
i
(
h
i
)
+
3
d
i
(
h
i
)
2
=
b
i
+
1
{\displaystyle b_{i}+2c_{i}(h_{i})+3d_{i}(h_{i})^{2}=b_{i+1}}
c
i
+
3
d
i
(
h
i
)
=
c
i
+
1
{\displaystyle c_{i}+3d_{i}(h_{i})=c_{i+1}}
que podemos reescreve-las deixando em “função” dos coeficientes:
a
i
=
y
i
{\displaystyle a_{i}=y_{i}}
b
i
=
3
y
i
+
1
−
3
y
i
−
2
c
i
(
h
i
)
2
{\displaystyle b_{i}=3y_{i+1}-3y_{i}-2c_{i}(h_{i})^{2}}
(
2
)
{\displaystyle (2)}
d
i
=
(
c
i
+
1
−
c
i
)
3
(
h
i
)
{\displaystyle d_{i}={\frac {(c_{i+1}-c_{i})}{3(h_{i})}}}
Para o coeficiente
c
{\displaystyle c}
trocamos
i
{\displaystyle i}
por
i
−
1
{\displaystyle i-1}
na 3ª equação de (1) , e fazemos
i
=
2
,
…
,
n
−
1
{\displaystyle i=2,\ldots ,n-1}
.
Fazemos simplificações e obtemos:
c
i
−
1
(
h
i
−
1
)
+
c
i
(
2
h
i
+
2
h
i
−
1
+
c
i
+
1
(
h
i
)
=
3
y
i
+
1
−
y
i
)
(
h
i
)
−
3
y
i
−
y
i
−
1
(
h
i
−
1
)
{\displaystyle c_{i-1}(h_{i-1})+ci(2h_{i}+2h_{i-1}+ci+1(hi)={\frac {3y_{i+1}-y_{i})}{(h_{i})}}-{\frac {3y_{i}-y_{i-1}}{(h_{i-1})}}}
(
3
)
{\displaystyle (3)}
Essa equação define um sistema de equações lineares para as incógnitas
c
i
{\displaystyle c_{i}}
. Além dos coeficientes
c
1
,
c
2
,
…
,
c
n
−
1
{\displaystyle c_{1},c_{2},\ldots ,c_{n-1}}
no sistema também existe a incógnita cn
c
n
{\displaystyle c_{n}}
que está relacionada à condição no extremo do intervalo e para determiná-la dependerá do tipo de spline que poderá ser: SPLINE NATURAL ou SPLINES COM CONDIÇÕES DE CONTORNO FIXADAS .
O spline natural deve satisfazer as condições:
P
i
″
(
x
1
)
=
0
{\displaystyle P''_{i}(x_{1})=0}
P
i
″
(
x
n
)
=
0
{\displaystyle P''_{i}(x_{n})=0}
Aplicando as condições:
P
″
(
x
1
)
=
2
c
1
+
6
d
i
(
x
1
−
x
1
)
=
0
{\displaystyle P''(x_{1})=2c_{1}+6d_{i}(x_{1}-x_{1})=0}
temos que
c
1
=
0
{\displaystyle c_{1}=0}
.
P
″
(
x
n
)
=
2
c
n
−
1
+
6
d
n
−
1
(
h
n
−
1
)
=
0
{\displaystyle P''(x_{n})=2c_{n-1}+6d_{n-1}(h_{n-1})=0}
temos que
c
n
=
0
{\displaystyle c_{n}=0}
.
Com
c
1
,
c
n
{\displaystyle c_{1},c_{n}}
e a equação em (3) formamos um sistema de
n
{\displaystyle n}
equações
A
x
=
v
{\displaystyle Ax=v}
.
A
=
[
1
0
0
0
⋯
0
0
h
1
2
h
2
+
2
h
1
h
2
0
⋯
0
0
0
h
2
2
h
3
+
2
h
2
h
3
⋯
0
0
⋮
⋮
⋮
⋮
⋱
⋮
⋮
0
0
0
⋯
h
n
−
2
2
h
n
−
2
+
2
h
n
−
1
h
n
−
1
0
0
0
⋯
0
0
1
]
{\displaystyle A={\begin{bmatrix}1&0&0&0&\cdots &0&0\\h_{1}&2h_{2}+2h_{1}&h_{2}&0&\cdots &0&0\\0&h_{2}&2h_{3}+2h_{2}&h_{3}&\cdots &0&0\\\vdots &\vdots &\vdots &\vdots &\ddots &\vdots &\vdots \\0&0&0&\cdots &h_{n-2}&2h_{n-2}+2h{n-1}&h_{n-1}\\0&0&0&\cdots &0&0&1\end{bmatrix}}}
x
=
[
c
1
c
2
⋮
c
n
]
{\displaystyle x={\begin{bmatrix}c_{1}\\c_{2}\\\vdots \\c_{n}\end{bmatrix}}}
v
=
[
0
3
y
3
−
y
2
h
2
−
3
y
2
−
y
1
h
1
3
y
4
−
y
3
h
3
−
3
y
3
−
y
2
h
2
⋮
3
y
n
−
1
−
y
n
−
2
h
n
−
2
−
3
y
n
−
2
−
y
n
−
3
h
n
−
3
0
]
{\displaystyle v={\begin{bmatrix}0\\3{\frac {y_{3}-y_{2}}{h_{2}}}-3{\frac {y_{2}-y_{1}}{h_{1}}}\\3{\frac {y_{4}-y_{3}}{h_{3}}}-3{\frac {y_{3}-y_{2}}{h_{2}}}\\\vdots \\3{\frac {y_{n-1}-y_{n-2}}{h_{n-2}}}-3{\frac {y_{n-2}-y_{n-3}}{h_{n-3}}}\\0\end{bmatrix}}}
Resolvemos o sistema
A
x
=
v
{\displaystyle Ax=v}
e encontramos os coeficientes
c
1
,
c
2
,
…
,
c
n
−
1
{\displaystyle c_{1},c_{2},\ldots ,c_{n-1}}
, então substiruimos nas equações em (2) e encontramos os outros coeficientes
a
i
,
b
i
,
d
i
{\displaystyle a_{i},b_{i},d_{i}}
.
2.2 Spline com condições de contorno fixadas
editar
Nesse caso o spline deve satisfazer as mesmas condições da função nos extremos.
São elas:
P
′
(
x
1
)
=
f
′
(
x
1
)
{\displaystyle P'(x_{1})=f'(x_{1})}
P
′
(
x
n
)
=
f
′
(
x
n
)
{\displaystyle P'(x_{n})=f'(x_{n})}
Substituindo
x
1
{\displaystyle x_{1}}
na derivada de
P
(
x
)
{\displaystyle P(x)}
:
P
1
′
(
x
)
=
b
1
+
2
c
1
(
x
1
−
x
1
)
+
3
d
1
(
x
1
−
x
1
)
2
=
f
′
(
x
1
)
{\displaystyle P'_{1}(x)=b_{1}+2c_{1}(x_{1}-x_{1})+3d_{1}(x_{1}-x_{1})^{2}=f'(x_{1})}
.
Isso implica que
b
1
=
f
′
(
x
1
)
{\displaystyle b_{1}=f'(x_{1})}
Substituindo
x
n
{\displaystyle x_{n}}
na derivada de
P
(
x
)
{\displaystyle P(x)}
:
P
n
′
(
x
)
=
b
n
−
1
+
2
c
n
−
1
(
x
n
−
x
n
−
1
)
+
3
d
i
(
x
n
−
x
n
−
1
)
2
=
f
′
(
x
n
)
{\displaystyle P'_{n}(x)=b_{n-1}+2c_{n-1}(x_{n}-x_{n-1})+3d_{i}(x_{n}-x_{n-1})^{2}=f'(x_{n})}
P
n
′
(
x
)
=
b
n
−
1
+
2
c
n
−
1
(
h
n
−
1
)
+
3
d
n
−
1
(
h
n
−
1
)
2
=
f
′
(
x
n
)
{\displaystyle P'_{n}(x)=b_{n-1}+2c_{n-1}(h_{n-1})+3d_{n-1}(h_{n-1})^{2}=f'(x_{n})}
Resumindo chegamos no problema de resolver o sistema formado pelas equações acima e a equação em (3)
A
=
[
2
h
1
h
1
0
0
⋯
0
0
h
1
2
h
2
+
2
h
1
h
2
0
⋯
0
0
0
h
2
2
h
3
+
2
h
2
h
3
⋯
0
0
⋮
⋮
⋮
⋮
⋱
⋮
⋮
0
0
0
⋯
h
n
−
2
2
h
n
−
2
+
2
h
n
−
1
h
n
−
1
0
0
0
⋯
0
h
n
−
1
2
h
n
−
1
]
{\displaystyle A={\begin{bmatrix}2h_{1}&h_{1}&0&0&\cdots &0&0\\h_{1}&2h_{2}+2h_{1}&h_{2}&0&\cdots &0&0\\0&h_{2}&2h_{3}+2h_{2}&h_{3}&\cdots &0&0\\\vdots &\vdots &\vdots &\vdots &\ddots &\vdots &\vdots \\0&0&0&\cdots &h_{n-2}&2h_{n-2}+2h{n-1}&h_{n-1}\\0&0&0&\cdots &0&h_{n}-1&2h_{n}-1\end{bmatrix}}}
x
=
[
c
1
c
2
⋮
c
n
]
{\displaystyle x={\begin{bmatrix}c_{1}\\c_{2}\\\vdots \\c_{n}\end{bmatrix}}}
v
=
[
3
y
2
−
y
1
h
1
−
3
f
′
(
x
1
)
3
y
3
−
y
2
h
2
−
3
y
2
−
y
1
h
1
3
y
4
−
y
3
h
3
−
3
y
3
−
y
2
h
2
⋮
3
y
n
−
1
−
y
n
−
2
h
n
−
2
−
3
y
n
−
2
−
y
n
−
3
h
n
−
3
3
f
′
(
x
n
)
−
3
y
n
−
y
n
−
1
h
n
−
1
]
{\displaystyle v={\begin{bmatrix}3{\frac {y_{2}-y_{1}}{h_{1}}}-3f'(x_{1})\\3{\frac {y_{3}-y_{2}}{h_{2}}}-3{\frac {y_{2}-y_{1}}{h_{1}}}\\3{\frac {y_{4}-y_{3}}{h_{3}}}-3{\frac {y_{3}-y_{2}}{h_{2}}}\\\vdots \\3{\frac {y_{n-1}-y_{n-2}}{h_{n-2}}}-3{\frac {y_{n-2}-y_{n-3}}{h_{n-3}}}\\3f'(x_{n})-3{\frac {y_{n}-y_{n-1}}{h_{n-1}}}\end{bmatrix}}}
Resolvemos o sistema
A
x
=
v
{\displaystyle Ax=v}
e encontramos os coeficientes
c
1
,
c
2
,
…
,
c
n
−
1
{\displaystyle c_{1},c_{2},\ldots ,c_{n-1}}
, então substiruimos nas equações em (2) e encontramos os outros coeficientes
a
i
,
b
i
,
d
i
{\displaystyle a_{i},b_{i},d_{i}}
.