Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumário.
1. Splines lineares.
2. Splines quadráticos.
3. Splines cúbicos.
4. Uso de Matlab.
Introdução.
Quando o número de pontos a interpolar é muito
grande, o polinómio interpolador, calculado pelos
métodos conhecidos nas aulas anteriores, terá
também um grau muito grande. Além das
dificuldades para achar esses polinómios, soma-se
a dificuldade para trabalhar com eles uma vez
calculados.
Splines
Os splines são formas de interpolação que
permitem resolver esses problemas, pois são
polinómios a troços, calculados de dois em dois
pontos.
Se temos pontos ,, , denota-se o spline por , sendo:
{
S1 ( 𝑥 ) , 𝑥0 ≤ 𝑥 ≤ 𝑥1
S (𝑥 )= S2 (𝑥 ) 𝑥1≤ 𝑥 ≤ 𝑥2
⋮
S 𝑛 ( 𝑥) 𝑥𝑛 − 1 ≤ 𝑥 ≤ 𝑥𝑛
Ou, em forma abreviada:
S 𝑖 ( 𝑥 ) , 𝑥𝑖 − 1 ≤ 𝑥 ≤ 𝑥𝑖 , 𝑖=1,2 , ⋯ , 𝑛
Splines
Logo, para achar o spline temos de calcular os
polinómios em cada troço (de dois em dois
pontos). Portanto, para pontos, é preciso achar
polinómios.
Os spline podem ser nomeadamente de primeira,
de segunda e de terceira ordem.
1. Splines lineares. (Splines de primeira ordem).
Para calcular a expressão geral dum spline linear,
tomamos dois pontos quaisquer duma tabela, e ,
logo obtemos um polinómio de interpolação entre
eles. Para isso podemos usar, por exemplo, a
interpolação de Lagrange.
Splines
S 𝑖 ( 𝑥 ) =𝑦 𝑖 −1 𝐿𝑖 − 1+ 𝑦 𝑖 𝐿𝑖 (1)
sendo:
( 𝑥 − 𝑥 𝑗)
𝑖
𝐿 𝑘= ∏ , 𝑘=𝑖 −1 ,𝑖
𝑗 =𝑖 −1 ( 𝑥𝑘 − 𝑥 𝑗 )
𝑗≠ 𝑘
Quando e :
}
𝑖
( 𝑥 − 𝑥 𝑗) ( 𝑥 − 𝑥𝑖 )
𝐿𝑖 − 1= ∏ =
( 𝑥 𝑘 − 𝑥 𝑗 ) ( 𝑥 𝑖 −1 − 𝑥𝑖 )
𝑗 =𝑖 −1
𝑗≠ 𝑘 (2)
𝑖
( 𝑥 − 𝑥 𝑗) ( 𝑥 − 𝑥𝑖 − 1 )
𝐿𝑖 = ∏
𝑗 =𝑖 −1
=
( 𝑥 𝑘 − 𝑥 𝑗 ) ( 𝑥 𝑖 −1 − 𝑥𝑖 − 1 )
𝑗≠ 𝑘
Splines
Substituindo en , fica:
( 𝑥 − 𝑥𝑖) ( 𝑥 − 𝑥𝑖 − 1 )
S 𝑖 ( 𝑥 ) = 𝑦 𝑖 −1 + 𝑦𝑖 𝑖=1,2 , ⋯ ,𝑛( 3)
( 𝑥𝑖 −1 − 𝑥 𝑖 ) ( 𝑥𝑖 − 𝑥 𝑖 −1 )
Exercício 1.
Ache o spline linear correspondente à tabela:
Splines
Solução:
Observação: Como o número de pontos é igual a 6,
tomados dois a dos, devem-se obter 5 polinómios.
1ro passo. Escrever a expressão geral do spline.
( 𝑥 − 𝑥𝑖) ( 𝑥 − 𝑥𝑖 − 1 )
S 𝑖 ( 𝑥 ) = 𝑦 𝑖 −1 + 𝑦𝑖 ,𝑖=1,2 , ⋯ , 𝑛(3)
( 𝑥𝑖 −1 − 𝑥 𝑖 ) ( 𝑥𝑖 − 𝑥 𝑖 −1 )
2do passo. Calcular os polinómios de dois em dois
pontos.
Para :
¿3
(
𝑥 − (− 2 )
−3 − ( −2 )
+0
) (
𝑥 − ( −3 )
− 2− ( −3 )
=¿
)
Splines
¿3 (
𝑥+2
−1
+0 ) (
𝑥 − ( −3 )
− 2 − ( −3 ) )
=− 3 ( 𝑥+2 ) =−3 𝑥 − 6
∴ S 1 ( 𝑥 )=− 3 𝑥 − 6
Para :
( 𝑥 − 𝑥 2) ( 𝑥 − 𝑥1 )
S2 (𝑥 ) = 𝑦1 + 𝑦2 =¿
( 𝑥1− 𝑥2) ( 𝑥2− 𝑥1)
¿0
( ) (
𝑥 −(− 1)
−1 − ( − 1 )
+− 2
)
𝑥 − ( −2 )
−1 − ( −2 )
=¿
− 2(
1 )
𝑥 +1 𝑥+ 2
¿0 =− 2 ( 𝑥 +2 ) =− 2 𝑥 − 4
−2+1
∴ S 2 ( 𝑥 )=− 2 𝑥 − 4
Splines
Para :
( 𝑥 − 𝑥3) ( 𝑥 − 𝑥2 )
S 3 ( 𝑥 ) =𝑦 2 +𝑦3 =¿
( 𝑥 2 − 𝑥3 ) ( 𝑥3 − 𝑥 2 )
¿ −2 (
𝑥−0
−1 −0
+0 ) (
𝑥 −( − 1)
0 − (− 1 )
=¿
)
¿ −2
𝑥
−1
+0
𝑥 +1
0+1 ( )
=2 𝑥
∴ S 3 ( 𝑥 )=2 𝑥
Para :
( 𝑥 − 𝑥4 ) ( 𝑥 − 𝑥3 )
S 4 ( 𝑥 )= 𝑦 3 + 𝑦4 =¿
( 𝑥3− 𝑥4 ) (𝑥4 − 𝑥3)
Splines
∴ S 4 ( 𝑥 ) =𝑥
Para :
( 𝑥 − 𝑥5) ( 𝑥 − 𝑥4 )
S 5 ( 𝑥 ) =𝑦 4 +𝑦5 =¿
( 𝑥 4 − 𝑥5 ) ( 𝑥5 − 𝑥 4 )
(¿2
𝑥 −4
2− 4 ) ( +( 1 )) (
𝑥 −2
4−2
=2 )( 𝑥−4
−2
+ )
𝑥−2
2
=¿
𝑥 𝑥
¿ − ( 𝑥 − 4 )+ −1= − + 3
2 2
𝑥
∴ S 5 ( 𝑥 )=− +3
2
Splines
Portanto, o Spline linear correspondente á tabela é:
{
−3 𝑥 − 6 , 𝑠𝑒 −3 ≤ 𝑥 ≤ −2
¿ − 2 𝑥 − 4 se − 2 ≤ 𝑥 ≤− 1
¿ 2 𝑥 se −1 ≤ 𝑥 ≤ 0
S (𝑥 )=
¿ 𝑥 se 0 ≤ 𝑥 ≤ 2
𝑥
¿ − +3 se 2 ≤ 𝑥 ≤ 4
2
Splines
3ro passo. Verificação.
Para verificar o spline, deve-se verificar cada um dos
polinómios, nos pontos a partis dos quais foram obtidos,
ou seja, o polinómio no intervalo , o polinómio no
intervalo , etc.
S 1 ( 𝑥 0 ) =S 1 (− 3 ) =−3 ( − 3 ) +6=9 − 6=3=𝑦 0
S 1 ( 𝑥 1 )=S 1 ( − 2 )=− 3 ( −2 ) +6=6 − 6=0= 𝑦 1
Portanto verifica a condição de interpolação.
𝑀𝑖 2
S 𝑖 ( 𝑥 ) = 𝑦 𝑖 −1 +𝑚𝑖 −1 ( 𝑥 − 𝑥𝑖 −1 ) + ( 𝑥 − 𝑥𝑖 − 1 ) ,
2 (4 )
𝑥 𝑖 − 1 ≤ 𝑥 ≤ 𝑥𝑖
Para calcular e , temos as expressões:
( 𝑚𝑖 − 𝑚𝑖 −1 ) ( 𝑦 𝑖 − 𝑦 𝑖 −1 )
M 𝑖= ( 5 ) e 𝑚𝑖 =2 ( 𝑥 − 𝑥 ) −𝑚 𝑖 −1 ( 6 )
( 𝑥𝑖 − 𝑥 𝑖 −1 ) 𝑖 𝑖− 1
Splines
Para o cálculo do spline quadrático, calcula-se
primeiro a fórmula logo a seguir, a fórmula , e
finalmente a fórmula Como é uma equação
quadrática, os troços de curvas correspondem a
parábolas. Deve observar-se que para calcular o
valor , é preciso conhecer de antemão o valor , é
por isso que o valor de deve ser dado. Na
realidade, o valor de corresponde à derivada do
polinómio spline no ponto . .
Splines
Exercício 2.
Ache o spline quadrático correspondente à tabela:
1
Soluçao.
Como o número de pontos é igual a 3, devem-se
obter 2 polinómios.
1ro passo. Escrever as expressões gerais na ordem certa.
( 𝑦 𝑖 − 𝑦 𝑖 −1 ) 𝑚𝑖 − 𝑚𝑖 − 1
𝑚𝑖 =2 − 𝑚 𝑖 −1 , M 𝑖 =
( 𝑥 𝑖 − 𝑥𝑖 − 1 ) 𝑥 𝑖 − 𝑥𝑖 −1
𝑀𝑖 2
S 𝑖 𝑥 = 𝑦 𝑖 −1 +𝑚𝑖 −1 ( 𝑥 − 𝑥𝑖 −1 ) +
( ) ( 𝑥 − 𝑥𝑖 − 1 ) , 𝑥 𝑖 −1 ≤ 𝑥 ≤ 𝑥 𝑖
2
Splines
2do passo. Calcular os polinómios de dois em dois pontos.
Para :
( 𝑦1 − 𝑦 0) ( −1 −3 )
𝑚1=2 −𝑚 0=2 −1=2 ( −4 ) −1=−9
( 𝑥1 − 𝑥 0 ) (0 − ( − 1) )
𝑚1 − 𝑚0 −9 − 1
M 1= = =−10
𝑥1− 𝑥0 0 −( − 1)
𝑀1 2 −10 2
S 1 ( 𝑥 )= 𝑦 0 +𝑚0 ( 𝑥−𝑥 0 ) + ( 𝑥−𝑥 0 ) =3+( 1 ) ( 𝑥− ( −1 )) + ( 𝑥− ( −1 ))
2 2
¿ 3+ ( 𝑥+1 ) − 5 ( 𝑥+1 ) = 4+ 𝑥 − 5 ( 𝑥 2 +2 𝑥 +1 )
2
S 1 ( 𝑥 )=− 5 𝑥2 −9 𝑥 −1
Para :
( 𝑦 2− 𝑦1) ( 0 −( −1) )
𝑚2= 2 −𝑚 1=2 − ( − 9 )=2+9=11
( 𝑥2− 𝑥1) (1 − 0 )
Splines
𝑚2 −𝑚1 11− ( −9 )
M 2= = = 11+ 9=20
𝑥 2 − 𝑥1 ( 1− 0 )
𝑀2 2 20 2
S 2 ( 𝑥 ) =𝑦 1 +𝑚1 ( 𝑥− 𝑥1 ) + ( 𝑥− 𝑥1 ) =−1+( −9 )( 𝑥−0 ) + ( 𝑥−0 )
2 2
S 2 ( 𝑥 ) =−1 −9 𝑥+10 𝑥 2
Portanto:
O spline quadrático correspondente á tabela é:
{
2
− 5 𝑥 −9 𝑥 −1 se −1 ≤ 𝑥 ≤ 0
S (𝑥 )= 2
¿ 10 𝑥 − 9 𝑥 −1 se 0 ≤ 𝑥 ≤ 1
Splines
3ro passo. Verificação.
Para verificar o spline, deve-se verificar cada um
dos polinómios, nos pontos a partir dos quais foram
obtidos, ou seja, o polinómio no intervalo e o
polinómio no intervalo .
S 1 ( 𝑥 0 ) =S 1 (− 1 )=− 5 𝑥 2 −9 𝑥 −1=9 − 6=3=𝑦 0
S 1 ( 𝑥 1 )=S 1 ( 0 )=− 5 𝑥 2 −9 𝑥 −1=6 − 6=0=𝑦 1
Portanto verifica a condição de interpolação.
Splines
S 2 ( 𝑥 1 ) =S 2 ( 0 ) =10 𝑥 2 −9 𝑥 −1=4 − 4=0= 𝑦 1
S 2 ( 𝑥 2 ) =S 2 ( 1 )=10 𝑥 2 − 9 𝑥 −1=2− 4=− 2= 𝑦 2
𝑠 𝑛 ( 𝑥 ) =𝑎 𝑛 𝑥 3 +𝑏𝑛 𝑥 2+𝑐 𝑛 𝑥+ 𝑑𝑛 , 𝑥 𝑛 −1 ≤ 𝑥 ≤ 𝑥 𝑛
Soluçao.
Como o número de pontos é igual a 3, devem-se obter 2
polinómios.
1ro passo. Representar os polinómios que devemos calcular
e os intervalos onde estão definidos.
𝑠 1 ( 𝑥 )= 𝑎1 𝑥 3 +𝑏1 𝑥2 +𝑐 1 𝑥+ 𝑑 1 , − 1 ≤ 𝑥 ≤ 0
𝑠 2 ( 𝑥 )= 𝑎 2 𝑥 3+𝑏 2 𝑥 2+ 𝑐2 𝑥+ 𝑑2 , 0 ≤ 𝑥 ≤ 1
Temos que obter 8 equações para poder achar os valores de .
Splines
2do passo. Aplicar a condição de interpolação.
−𝑎 1 +𝑏1 − 𝑐 1+ 𝑑1 =3 ( 1 Equa çã o )
ra
3 2
𝑠 1 ( 0 )= 𝑎1 ( 0 ) + 𝑏1 ( 0 ) +𝑐1 ( 0 )+ 𝑑 1=¿
𝑑 1=− 1 ( 2 Equa çã o )
da
3 2
𝑠 2 ( 0 ) =𝑎 2 ( 0 ) +𝑏2 ( 0 ) +𝑐 2 ( 0 ) + 𝑑2 =¿
𝑑 2= − 1 ( 3 Equa çã o )
ra
3 2
𝑠 2 (1 )=𝑎 2 ( 1 ) + 𝑏2 (1 ) +𝑐 2 ( 1 )+ 𝑑 2=¿
𝑎 2+ 𝑏2 +𝑐 2 +𝑑 2= 0 ( 4 Equa çã o )
ta
Já temos 4 equações.
Splines
3ro passo. Aplicar a continuidade da primeira derivada.
𝑠 1′ ( 𝑥 1) = 𝑠2′ ( 𝑥 1 )
𝑠 1′ ( 𝑥 1) =3 𝑎 1 𝑥 12+ 2𝑏 1 𝑥1 +𝑐 1=3 𝑎1 ( 0 )2 +2 𝑏1 ( 0 ) +𝑐 1=𝑐 1
𝑠 2′ ( 𝑥 1 )=3 𝑎2 𝑥12 +2 𝑏2 𝑥 1+ 𝑐2 =3 𝑎 2 ( 0 )2 +2 𝑏2 ( 0 ) +𝑐 2=𝑐 2
Portanto: 𝑐 1=𝑐 2 ⇔ 𝑐 1 − 𝑐 2= 0 ( 5ta Equa çã o )
4to passo. Aplicar a continuidade da segunda derivada.
𝑠 1′ ′ ( 𝑥1 ) =𝑠 2′ ′ ( 𝑥1 )
𝑠 1′ ′ ( 𝑥1 ) =6 𝑎 1 𝑥 1+2 𝑏1 =6 𝑎 1 ( 0 ) +2 𝑏1=2𝑏 1
𝑠 2′ ′ ( 𝑥1 ) =6 𝑎 2 𝑥 1 +2 𝑏2=6 𝑎 2 ( 0 )+ 2𝑏 2=2 𝑏2
Portanto:
2 𝑏1=2 𝑏 2 ⇔ 𝑏1=𝑏2 ⇔ 𝑏1 − 𝑏2 =0 ( 6 ta Equa çã o )
Splines
5to passo. Aplicar a condição de spline natural.
𝑠 1′ ′ ( 𝑥0 ) =0 e 𝑠 2′ ′ ( 𝑥2 ) =0
− 3 𝑎 1 +𝑏1= 0 ( 7 Equa çã o )
ta
3 𝑎 2+ 𝑏2= 0 ( 8 Equa çã o )
va
Splines
6to passo. Plantear o sistema de equações resultante.
{
− 𝑎 1 + 𝑏 1 − 𝑐 1 + 𝑑 1 =3
𝑑 1 =− 1
𝑑 2 =− 1
𝑎2 + 𝑏 2 + 𝑐 2 + 𝑑 2 =0
𝑐 1 − 𝑐2 =0
𝑏 1 − 𝑏2 = 0
− 3 𝑎1 + 𝑏1 =0
3 𝑎 2 + 𝑏2 = 0
{
5 3 15 2 3
𝑥 + 𝑥 − 𝑥 − 1 se − 1≤ 𝑥 ≤ 0
4 4 2
( )
S 𝑥 =
5 3 15 2 3
¿− 𝑥 + 𝑥 − 𝑥 − 1 se 0 ≤ 𝑥 ≤ 1
4 4 2
Splines
7mo passo. Verificação.
Para verificar o spline, deve-se verificar cada um dos
polinómios, nos pontos a partis dos quais foram obtidos,
ou seja, o polinómio no intervalo e o polinómio no
intervalo .
5 3 15 2 3
S 1 ( 𝑥 0 ) =S 1 (− 1 )= (− 1 ) + ( −1 ) − (− 1 ) − 1=¿
4 4 2
5 15 3
¿− + + −1=3= 𝑦 0
4 4 2
S 1 ( 𝑥 1 )=S 1 ( 0 )=¿
3
5 5 3 15 2 3 15 2 3
¿ − 𝑥 + 𝑥 − 𝑥−1 + ( 0 ) − ( 0 ) −1=𝑦 1
4 4 4 2 4 2
Portanto verifica a condição de interpolação.
Splines
5 3 15 2 3
S 2 ( 𝑥 1 ) =S 2 ( 0 ) =− ( 0 ) + ( 0 ) − ( 0 ) −1=−1=𝑦 1
4 4 2
5 3 15 2 3
S 2 ( 𝑥 2 ) =S 2 ( 1 )=−
( 1 ) + ( 1 ) − ( 1 ) − 1=¿
4 4 2
5 15 3
¿− + − −1=0= 𝑦 2
4 4 2
Portanto verifica a condição de interpolação.