Escolar Documentos
Profissional Documentos
Cultura Documentos
I (xi ) = fi , i = 0, 1, . . . , n
22
20
18
16
14
12
t
11 12 13 14 15 16
Preto - polinómio.
Cinzento - spline.
O tipo de função interpoladora é escolhido de acordo com as
caracterı́sticas dos dados (número de nós, distribuição dos nós,
comportamento da função, etc.)
No nosso programa abordamos apenas a interpolação polinomial e
os splines polinomiais.
Definição de Polinómio Interpolador
Pn (x) = a0 + a1 x + a2 x 2 + · · · + an x n , (1)
Objectivo: determinar ai (i = 0, 1, . . . , n) (números reais).
Pn satisfaz as igualdades
Na forma matricial:
x0 x02 x0n
1 ... a0 f0
1 x1 x12 ... x1n a1 f1
=
... . (3)
... ... ... ... ... ...
1 xn xn2 ... xnn an fn
n
Y
Det V (x0 , x1 , . . . , xn ) = (xi − xj ) 6= 0. (4)
i,j=0,i>j
xi −1 0 1
fi 0 1 4
Solução: A
Verificação:
P(−1) = 1 − 2 + 1 = 0 = f (−1).
P(0) = 1 = f (0).
P(1) = 1 + 2 + 1 = 4 = f (1).
Como calcular o polinómio interpolador?
x0 , x1 , . . . , xn - nós de interpolação.
Pn - polinómio interpolador de f em x0 , x1 , . . . , xn .
Pn ∈ Pn - espaço dos polinómios de grau menor ou igual a n.
dim Pn = n + 1.
Li (xi ) = 1
Li (xj ) = 0, se j ∈ {0, 1, ..., n}, j 6= i.
Conclusão:
Logo,
1
Ai = .
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
Propriedades dos Polinómios de Lagrange
Substituindo,
(x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
Li (x) =
(xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (x − xn )
Qn
j=0,j6=i (x − xj )
= Qn .
j=0,j6=i (xi − xj )
Exemplo:
Seja x0 = 1, x1 = 1.5, x2 = 2. Construir os polinómios de
Lagrange.
Resolução. Neste caso, n = 2 (os polinómios são de segundo grau).
(x − x1 )(x − x2 ) (x − 1.5)(x − 2) (x − 1.5)(x − 2)
L0 (x) = = = .
(x0 − x1 )(x0 − x2 ) (1 − 1.5)(1 − 2) 0.5
(x − x0 )(x − x2 ) (x − 1)(x − 2) (x − 1)(x − 2)
L1 (x) = = = .
(x1 − x0 )(x1 − x2 ) (1.5 − 1)(1.5 − 2) −0.25
(x − x0 )(x − x1 ) (x − 1)(x − 1.5) (x − 1)(x − 1.5)
L2 (x) = = = .
(x2 − x0 )(x2 − x1 ) (2 − 1)(2 − 1.5) 0.5
Fórmula de Lagrange
n
X
Pn (x) = Cj Lj (x).
j=0
Substitua-se x → xi
n
X
Pn (xi ) = fj Lj (xi ) = fi , i = 0, 1, . . . , n
j=0
ti 10 12 14 16
Ni 10 15 22 18
x − x0 x − 14
L1 (x) = = = (x − 14)/2.
x1 − x0 16 − 14
Polinómio interpolador de grau 1:
Aproximação de N(15):
P3 (x) = N(x0 )L0 (x) + N(x1 )L1 (x) + N(x2 )L2 (x) + N(x3 )L3 (x) =
10 (x−12)(x−14)(x−16)
−48 + 15 (x−10)(x−14)(x−16)
16 +
22 (x−10)(x−12)(x−16)
−16 + 18 (x−10)(x−12)(x−14)
48 .
(7)
Aproximação por interpolação cúbica:N(15) ≈ P3 (15) = 22.1875.
Resumo:
Grau aproximação
1 20
2 21.375
3 22.1875
Interpretação Geométrica
30
P1
25
20
15
P3
10
5
P2
t
11 12 13 14 15 16 17
Na aula passada :
Verificámos que para qualquer tabela dada existe um único
polinómio interpolador, desde que os nós sejam distintos.
Deduzimos a fórmula interpoladora de Lagrange.
Vantagens e desvantagens da fórmula de Lagrange
x0 x1 . . . xn
f0 f1 . . . fn
f1 −f0
Definição. A1 = f [x0 , x1 ] = x1 −x0 - diferença dividida (de primeira
ordem) de f em x0 e x1 .
f1 −f0
Definição. A1 = f [x0 , x1 ] = x1 −x0 - diferença dividida (de primeira
ordem) de f em x0 e x1 .
Pn (x)(xn+1 − x) + Qn (x)(x − x0 )
Pn+1 (x) = . (8)
xn+1 − x0
Ilustração da construção do polinómio interpolador
P3 (x)(x4 − x) + Q3 (x)(x − x0 )
P4 (x) = .
x4 − x0
Fórmula de recorrência para as diferenças divididas
Pn (x)(xn+1 − x) + Qn (x)(x − x0 )
Pn+1 (x) = .
xn+1 − x0
Se i = n + 1,
f (xn+1 )(xn+1 − x0 )
Pn+1 (xn+1 ) = = f (xn+1 ). (10)
xn+1 − x0
Fórmula de recorrência para as diferenças divididas
Provámos que:
Pn (x)(xn+1 − x) + Qn (x)(x − x0 )
Pn+1 (x) = . (11)
xn+1 − x0
Conclusão:
−f [x0 , x1 , ..., xn ] + f [x1 , x2 , ..., xn+1 ]
f [x0 , x1 , ..., xn+1 ] = , (12)
xn+1 − x0
Tabela de diferenças divididas
Pk+1 (x) = Pk (x)+f [x0 , x1 , . . . , xk+1 ](x −x0 )(x −x1 )...(x −xk ),
k = 0, 1, . . . , n − 1.
Nota: O resultado final não depende da ordem dos pontos
x0 , x1 , . . . , xn , já que o valor da diferença dividida f [x0 , x1 , . . . , xn ]
não depende da ordem dos argumentos. ( Ex:
f [x0 , x1 , x2 ] = f [x1 , x0 , x2 ] = f [x2 , x1 , x0 ] = . . . )
Exemplo
Considerar de novo a tabela da função N:
xi 10 12 14 16
Ni 10 15 22 18
Com o objectivo de aproximar N em x = 15, pela fórmula
interpoladora de Newton, construir uma tabela de diferenças
divididas.
Resposta: Os nós de interpolação devem ser ordenados de acordo
com a proximidade ao ponto x = 15: x0 = 14, x1 = 16, x2 = 12,
x3 = 10.
Diferenças de primeira ordem:
f1 −f0 18−22
f [x0 , x1 ] = x1 −x0 = 16−14 = −2.
f2 −f1 15−18
f [x1 , x2 ] = x2 −x1 = 12−16 = 43 .
f3 −f2 10−15
f [x2 , x3 ] = x3 −x2 = 10−12 = 25 .
Exemplo
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] 13
f [x0 , x1 , x2 , x3 ] = =− . (13)
x3 − x0 48
Exemplo
Tabela:
N(15) ≈ P3 (15) =
21.375 − 13/48(15 − 14)(15 − 16)(15 − 12) = 22.1875.
Observações
n
Y
Pn+1 (x) = Pn (x)+f [x0 , x1 , ..., xn , xn+1 ] (x −xi ), n = 0, 1, . . .
i=0
Em particular, se x = x̄,
n
Y
Pn+1 (x̄) = Pn (x̄) + f [x0 , x1 , ..., xn , x̄] (x̄ − xi ) = f (x̄).
i=0
n
Y
Logo en (x̄) = f (x̄) − Pn (x̄) = f [x0 , x1 , ..., xn , x̄] (x̄ − xi ).
i=0
Erro de Interpolação
Visto que x̄ é um ponto arbitrário de [a, b]
n
Y
en (x) = f (x) − Pn (x) = f [x0 , x1 , ..., xn , x] (x − xi ). (14)
i=0
e2
0.01
x
1.5 2.0 2.5 3.0
-0.01
-0.02
-0.03
-0.04
-0.05
f (x1 ) − f (x0 )
f [x0 , x1 ] = = f 0 (ξ), (15)
x1 − x0
ξ ∈ [x0 , x1 ].
|f [x0 , x1 ]| ≤ max |f 0 (x)|. (16)
x∈[x0 ,x1 ]
Relação entre diferenças divididas e derivadas
Teorema. Seja f ∈ C k ([a, b]) uma função dada e sejam
x0 , x1 , ..., xk um conjunto de k + 1 pontos distintos de [a, b]
(k ≥ 1). Então existe ξ ∈ [a, b] tal que
f (k) (ξ)
f [x0 , x1 , . . . , xk ] = . (17)
k!
Demonstração. ek (x) = f (x) − Pk (x) - erro de interpolação.
Pk - polinómio interpolador de f em x0 , x1 , . . . , xk .
ek (xi ) = 0, i = 0, 1, ..., k, (18)
ek tem, pelo menos, k + 1 zeros distintos em [a, b].
Pelo teorema de Rolle, ek0 anula-se, pelo menos k vezes em [a, b].
(k) (k)
ek anula-se, pelo menos 1 vez em [a, b]: ek (ξ) = 0.
Para este ponto ξ:
(k) (k)
ek (ξ) = f (k) (ξ) − Pk (ξ) = f (k) (ξ) − k!f [x0 , . . . , xk ] = 0. (19)
f (k) (ξ)
f [x0 , x1 , . . . , xk ] = .
k!
Relação entre diferenças divididas e derivadas
Qn (21)
1
≤ (n+1)! maxx∈[a,b] |f (n+1) (x)| i=0 |x − xi |.
Pergunta de controlo
|f 00 (x)|
|f (1.2) − P1 (1.2)| ≤ maxx∈[1,1.5] 2 |(1.2 − 1)(1.2 − 1.5)| =
|f 00 (x)|
maxx∈[1,1.5] 2 × 0.2 × 0.3 =
Resposta: D
Exemplo
cos(x1 ) − cos(x0 )
f [x0 , x1 ] = = 1 − cos(−1);
x1 − x0
cos(x2 ) − cos(x1 )
f [x1 , x2 ] = = cos(1) − 1.
x2 − x1
f [x1 , x2 ] − f [x0 , x1 ] 2 cos(1) − 2
f [x0 , x1 , x2 ] = = = cos(1)−1.
x2 − x0 2
Exemplo
O polinómio interpolador é dado por:
P2 (x) = f (−1) + f [−1, 0](x + 1) + f [−1, 0, 1](x + 1)x =
(22)
cos(−1) + (1 − cos(−1))(x + 1) + (cos(1) − 1)(x + 1)x.
Por conseguinte,
sin(1)
|e2 (x̄)| ≤ |x̄ + 1||x̄||x̄ − 1|. (23)
3!
Exemplo
Determine um majorante do máximo do erro de interpolação
absoluto no intervalo [−1, 1].
Resposta. Precisamos de majorar maxx̄∈[−1,1] |e2 (x̄)|.
max |ω(x̄)|,
x̄∈[−1,1]
e2
x
-1.0 -0.5 0.5 1.0
-0.002
-0.004
-0.006
-0.008
-0.010
40 000
20 000
-4 -2 2 4
-20 000
-40 000
-60 000
Distribuição dos nós de interpolação
0.05 0.05
-0.05 -0.05
-0.10 -0.10
N = 10 N = 25
(k) (k)
sj (xj+1 ) = sj+1 (xj+1 ), j = 0, 1, . . . , n − 1, k = 0, . . . , r − 1 .
s(xj ) = f (xj ), j = 0, 1, . . . , n .
Temos
sj (xj ) = fj , sj (xj+1 ) = fj+1 , j = 0, . . . , n − 1 ,
s(x)
3
f(x)
2
-1 1 2 3
f 00 (ηj )
f (x) − sj (x) = (x − xj )(x − xj+1 ) , ηj ∈ (xj , xj+1 ) .
2
Definindo
hj = xj+1 − xj , h = max hj , j = 0, . . . , n − 1 ,
j
s ∈ P3 (Ij ) , j = 0, . . . , n − 1 .
onde hj = xj+1 − xj .
Integrando duas vezes em x, obtém-se
(xj+1 − x)3 (x − xj )3
sj (x) = Mj + Mj+1 + Aj (x − xj ) + Bj , x ∈ Ij ,
6hj 6hj
com Aj , Bj ∈ R.
Splines cúbicos
Note-se que temos em cada sub-intervalo Ij ,
(xj+1 − x)3 (x − xj )3
sj (x) = Mj + Mj+1 + Aj (x − xj ) + Bj .
6hj 6hj
Ou seja,
4 parâmetros a determinar em cada sub-intervalo, n
sub-intervalos, pelo que temos 4n parâmetros a determinar no
total.
n condições de interpolação sj (xj ) = f (xj ), j = 0, 1, ..., n − 1.
n condições de interpolação
sj (xj+1 ) = f (xj+1 ), j = 0, 1, ..., n − 1.
n-1 condições de continuidade da derivada
sj0 (xj ) = sj−1
0 (x ), j = 1, ..., n − 1.
j
n-1 condições de continuidade da segunda derivada
sj00 (xj ) = sj−1
00 (x ), j = 1, ..., n − 1.
j
4n incógnitas, mas apenas 4n-2 equações, ou seja, faltam
duas equações adicionais.
Splines cúbicos
Verifiquemos que condições impor, em termos dos coeficientes
Aj , Bj , Mj , Mj+1 . Temos em cada sub-intervalo,
xj+1 − x x − xj
sj00 (x) = Mj + Mj+1 , x ∈ Ij ,
hj hj
onde hj = xj+1 − xj .
Temos imediatamente (por construção) que
sj00 (xj ) = sj−1
00 (x ), j = 1, ..., n − 1 pois
j
xj+1 − xj xj − xj
sj00 (xj ) = Mj + Mj+1 = Mj
hj hj
e
00 xj − x x − xj−1
sj−1 (x) = Mj−1 + Mj , x ∈ Ij−1 ,
hj−1 hj−1
00 xj − xj xj − xj−1
sj−1 (xj ) = Mj−1 + Mj = Mj
hj−1 hj−1
Splines cúbicos
Da condição sj (xj ) = f (xj ) = fj , j = 0, 1, ..., n − 1 resulta
(xj+1 − xj )3 (xj − xj )3
sj (xj ) = Mj + Mj+1 + Aj (xj − xj ) + Bj
6hj 6hj
hj2 hj2
= Mj + Bj = fj ⇒ Bj = fj − Mj .
6 6
A condição sj (xj+1 ) = f (xj+1 ) = fj+1 , j = 0, 1, ..., n − 1 implica
(xj+1 − xj+1 )3 (xj+1 − xj )3
sj (xj+1 ) = Mj + Mj+1 + Aj (xj+1 − xj ) + Bj
6hj 6hj
hj2 hj2 hj2
= Mj+1 + Aj hj + Bj = Mj+1 + Aj hj + fj − Mj = fj+1
6 6 6
ou seja
fj+1 − fj hj
Aj = − (Mj+1 − Mj ) .
hj 6
Splines cúbicos
Assim,
hj2
Bj = fj − Mj
6
f j+1 − fj hj
A =
j − (Mj+1 − Mj ) .
hj 6
A função s é (para já) contı́nua (pelas condições de interpolação) e
a sua segunda derivada é contı́nua (por construção). Só falta
impor a condição sj0 (xj ) = sj−1
0 (x ), j = 1, ..., n − 1.
j
Por outro lado, temos
(xj+1 − x)2 (x − xj )2
sj0 (x) = −Mj + Mj+1
2hj 2hj
fj+1 − fj hj
+ − (Mj+1 − Mj ) , x ∈ Ij
hj 6
e
hj fj+1 − fj hj
sj0 (xj ) = −Mj + − (Mj+1 − Mj )
2 hj 6
Splines cúbicos
Temos
h0 +h1 h1
3 6 0 ··· ··· 0 M1
h1 h1 +h2 h2 ..
M2
6 3 6 0 ··· .
..
.. .. .. .. ..
0 . . . . . .
..
.. .. .. .. .
. . . . ..
. 0
..
hn−3 hn−3 +hn−2 hn−2
Mn−2
. 0 6 3 6
hn−2 hn−2 +hn−1
0 ··· ··· 0 6 3 Mn−1
f [x1 , x2 ] − f [x0 , x1 ]
..
.
= ,
..
.
f [xn−1 , xn ] − f [xn−2 , xn−1 ]
(27)
Splines cúbicos
onde
fj+1 − fj
f [xj , xj+1 ] = , j = 0, . . . , n − 1 .
xj+1 − xj
Atendendo a que
hj + hj+1 hj hj+1
> + , j = 0, . . . , n − 2 ,
3 6 6
a matriz dos coeficientes do sistema linear (27) tem a diagonal
estritamente dominante por linhas e assim o sistema tem solução
única.
Conclui-se que existe um único spline cúbico natural interpolador
de f .
Splines cúbicos
Exemplo 2: Pretende-se determinar o spline cúbico natural que
interpola os valores:
(x0 , f0 ) = (−2, 3), (x1 , f1 ) = (0, 1), (x2 , f2 ) = (2, 7) .
Temos
n = 2,h0 = h1 = 2, f [x0 , x1 ] = −1, f [x1 , x2 ] = 3, M0 = M2 = 0.
O sistema tridiagonal (27) reduz-se à equação
h0 + h1 4
M1 = f [x1 , x2 ]−f [x0 , x1 ] ⇔ M1 = 4 ⇔ M1 = 3 .
3 3
Segue-se que
h0 h02
A0 = f [x0 , x1 ] − (M1 − M0 ) = −2 , B0 = f0 − M0 = 3,
6 6
h1 h12
A1 = f [x1 , x2 ] − (M2 − M1 ) = 4, B1 = f1 − M1 = −1 .
6 6
Splines cúbicos
Portanto o spline cúbico natural s é dado por
(
s0 (x) , x ∈ [−2, 0]
s(x) = , onde
s1 (x) , x ∈ [0, 2]
(x − x0 )3 (x + 2)3
s0 (x) = M1 + A0 (x − x0 ) + B0 = − 2(x + 2) + 3 ,
6h0 4
-2 -1 1 2
Splines cúbicos
• A condição da derivada nos extremos conduz ao sistema linear:
h0 h0
3 6 0 ··· ··· 0 M0
h0 h0 +h1 h1 ..
M1
6 3 6 0 ··· .
..
.. .. .. .. ..
0 . . . . . .
..
.. .. .. .. .
. . . . ..
. 0
..
hn−2 hn−2 +hn−1 hn−1
Mn−1
. 0 6 3 6
hn−1 hn−1
0 ··· ··· 0 6 3 Mn (28)
f [x0 , x1 ] − f00
f [x1 , x2 ] − f [x0 , x1 ]
= ..
,
.
f [x , x ] − f [x , x ]
n−1 n n−2 n−1
0
fn − f [xn−1 , xn ]
Splines cúbicos
M0 = Mn .
ou seja
" # " # " #
2π π 4
3 3 M0 π
π 2π =
3 3 M1 − π4
Splines cúbicos
Segue-se que
12 12
M0 = , M1 = − , M2 = M0 .
π2 π2
pelo que
1 3 2 3
π 3 π − 6πx − 4x x ∈ [−π, 0] ,
s(x) =
1
π 3 − 6πx 2 + 4x 3
3
x ∈ [0, π]
π
Splines cúbicos
1.0
0.5
0.0 s(x)
cos(x)
-0.5
-1.0
-3 -2 -1 0 1 2 3
5 4
max |f (x) − s(x)| ≤ h max |f (4) (x)| .
x∈[a,b] 384 x∈[a,b]
⇒ M0 = M2 = 40 , M1 = −8 .
Splines cúbicos
Segue-se que
20 4 8
− x 3 − (x + 1)3 + 4(x + 1) − = −8x 3 − 4x 2 , x ∈ [−1, 0] ,
3 3 3
s(x) =
4 20 4
− (1 − x)3 + x 3 − 4x + = 8x 3 − 4x 2 , x ∈ [0, 1] .
3 3 3
2 s(x)
f(x)
1
xi 1 2 3 4 5 6
fi 2.1 3.8 6.15 4.9 10.2 11.8
10
2 3 4 5 6
12
10
2 3 4 5 6
Exemplos:
Φ0 (x) ≡ 1, Φ1 (x) = x. g (x) = a0 + a1 x (é o caso do exemplo
estudado.)
Método dos mı́nimos quadrados : ajustamentos lineares
Solução: A.
Pergunta de controlo 2
Solução: B.
Método dos mı́nimos quadrados - Sistema normal
m
X
Sejam g (x) = aj φj (x) e
j=0
n
X
Q(a0 , a1 , ..., am ) = (f (xi ) − g (xi ))2 . (29)
i=0
Como resolver o problema de minimização
Mina0 ,a1 ,...,am Q(a0 , a1 , ..., am )? (30)
Q tem um único ponto de mı́nimo em Rm+1 . Para o encontrar,
temos de resolver o sistema de equações
∂Q
∂a0 = 0,
∂Q
∂a1 = 0, , (31)
...
∂Q
∂am = 0.
dito o sistema normal.
Produto interno
Q é dado por
n
X
Q(a0 , a1 , ..., am ) = (f (xi ) − g (xi ))2 =
i=0
(f (x0 ) − g (x0 )) + (f (x1 ) − g (x1 ))2 + ... + (f (xn ) − g (xn ))2
2
Como
m
X
g (x) = aj φj (x)
j=0
∂g
então (x) = φj (x), logo
∂aj
n
∂Q X
= −2 [f (xi ) − g (xi )]φj (xi ) = −2(f − g , φj ).
∂aj
i=0
Produto interno
∂Q
Como devemos ter ∂aj = 0, concluı́mos que
(f − g , φj ), j = 0, 1, ..., m
ou seja
(g , φj ) = (f , φj ), j = 0, 1, ..., m
e como
m
X
g (x) = aj φj (x)
j=0
temos
m
X
aj (φi , φj ) = (f , φj ), j = 0, 1, ..., m
j=0
Sistema Normal
(φ0 , φ0 ) (φ0 , φ1 ) ... (φ0 , φm ) a0 (f , φ0 )
(φ1 , φ0 ) (φ1 , φ1 ) ... (φ1 , φm ) a1 (f , φ1 )
=
... .
... ... ... ... ...
(φm , φ0 ) (φm , φ1 ) ... (φm , φm ) am (f , φm )
Propriedades do Sistema Normal
Solução: B.
Exemplo
xi 1 2 3 4
fi 7 4.5 3 2
Pretende-se aproximar f através de uma função ajustadora da
forma
a1
g (x) = a0 + .
x
Exemplo
Funções de base:
1
φ0 (x) = 1, φ1 (x) = .
x
Sistema normal:
(φ0 , φ0 ) (φ0 , φ1 ) a0 (f , φ0 )
= . (34)
(φ1 , φ0 ) (φ1 , φ1 ) a1 (f , φ1 )
Calculemos as entradas da matriz:
3
X
(φ0 , φ0 ) = φ0 (xi )2 = 1 + 1 + 1 + 1 = 4;
i=0
3
X 1 1 1 1 25
(φ0 , φ1 ) = φ0 (xi )φ1 (xi ) = + + + = ;
1 2 3 4 12
i=0
3
X 1 1 1 1 205
(φ1 , φ1 ) = φ1 (xi )2 = + 2+ 2+ 2 = ;
1 2 3 4 144
i=0
Exemplo
Segundo membro do sistema:
3
X
(f , φ0 ) = f (xi )φ0 (xi ) = f (1) + f (2) + f (3) + f (4) = 16.5;
i=0
3
X f (2) f (3) f (4)
(f , φ1 ) = f (xi )φ1 (xi ) = f (1) + + + = 10.75.
2 3 4
i=0
Substituindo estes valores obtém-se
4 25/12 a0 16.5
= . (35)
25/12 205/144 a1 10.75