Upload
nguyenkiet
View
214
Download
0
Embed Size (px)
Citation preview
Matemática Computacional, MEMec, LEAN, MEAer
Problema geral de interpolação== = ) ( )( , 0,1,2, , , 0,1, ,( ) i
j ji ijx ny i mfEncontrar p(x) que verifique as condições:
Exemplo: encontrar p(x) que verifique:
= == == =
1 , (1) 43 , (3 , '(3) 0
3) 2x f
x fx f
x
p(x)
1 2 3
123
4
– se todos os mi = 0(não há informação de derivadas)
− ≠ se 0, todos iguaisi im m
Interpolação de Lagrange
Interpolação de Hermite
derivada de ordem j
valores nodaisnós
– no caso contrário Interpolação de Birkhoff
Matemática Computacional, MEMec, LEAN, MEAer
Definições
∞ ∈=
[ , ]( ) max ( )
x a bf x f x
Polinómio: combinação linear de monómios xi
x
f(x)
∞( )f x
a b
xf(x)
∞( )f x
ab
x
f(x)
∞( )f x
a b
|f(x)|
= + + + +21 2( ) n
o np x a a x a x a x
– Cálculo com número finito de operações elementares (+, –, x, /)
– grau do polinómio, { }= ≠deg ( ) max , 0ip x i a
Norma do máximo (ou norma do infinito):
Matemática Computacional, MEMec, LEAN, MEAer
Forma de potências simples2 3
0 1 2 3( ) ... nnp x a a x a x a x a x= + + + + +
Exemplo: 2 33( ) 1 3 5 7p x x x x= − + + 0 1 2 3grau 3; 1; 3; 5; 7a a a a→ = = − = =
Cálculo de p(x) para x=2:
2 33(2) 1 3 2 5 2 7 2p = − × + × + × 1 3 2 5 2 2 7 2 2 2= − × + × × + × × ×
(9 operações em FP)
3 9 flops6
+ ×
É possível reduzir o números de operações: algoritmo de Horner
3 23( ) 7 5 3 1p x x x x= + − + ( )( )7 5 3 1x x x= + − +
( )( )3(2) 7 2 5 2 3 2 1p = × + × − × +
71=
71=(6 operações em FP)
3 6 flops3
+ ×
algoritmo de Horner: para grau n → 2n flops
Matemática Computacional, MEMec, LEAN, MEAer
Forma de potências centradas
2 30 1 2 3
centro
( ) ( ) ( ) ( ) ... ( )nnp x a a x c a x c a x c a x c
↑= + − + − + − + + −
Exemplo: 22( ) 2 4 ( 1) 3 ( 1)p x x x= − + − + −
0 1 2grau 2; 2; 4; 3a a a→ = − = =
22( ) 2 4 4 3 ( 2 1)p x x x x= − + − + − +
Os coeficientes (ai) da forma de potências simples são diferentes dos coeficientes (ai) da forma de potências centradas – excepto o coeficiente de maior grau (an) que é igual
22( ) 2 4 4 3 6 3p x x x x= − + − + − +
22( ) 3 2 3p x x x= − − +
Forma de potências centradas com c = 1
0 1 2grau 2; 3; 2; 3a a a→ = − = − =Forma de potências simples
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
0 1 1 2 1 2 3 1 2 3 1 2( ) ( ) ( )( ) ( )( )( ) ... ( )( )...( )n np x a a x c a x c x c a x c x c x c a x c x c x c= + − + − − + − − − + + − − −
Exemplo: 2( ) 2 3 ( 4) 7 ( 4) ( 2)p x x x x= − − + − +0 1 2grau 2; 2; 3; 7a a a→ = = − =
Forma de Newton com c1 = 4 e c2 = –2
Cálculo de p(x) para x=1:
2(1) 2 3 (1 4) 7 (1 4) (1 2)p = − × − + × − × + (8 operações em FP)
5 8 flops3
+ ×
Algoritmo de Horner com centros
( ) ( )7 2 3 4 2x x = + − − +
(6 operações em FP)
4 6 flops2
+ ×
algoritmo de Horner: para grau n → 3n flops
2( ) 7 ( 4) ( 2) 3 ( 4) 2p x x x x= − + − − +
( ) ( )2(1) 7 1 2 3 1 4 2p = × + − × − + 52= −
52= −
Matemática Computacional, MEMec, LEAN, MEAer
Algoritmo de Horner com centros
Algoritmo:
( ) ( )( ) ( )( )( )
( ) ( ){ }( )
= + − + − − + − − −
= − + − + − +
0 1 1 2 1 2 3 1 2 3
3 3 2 2 1 1 0
( )
( )
p x a a x c a x c x c a x c x c x c
p x a x c a x c a x c a
( ) 1
Para até fazer 1
( )Fim do ciclo
n
i i
y ai n
y y x c a
p x y
−
=== × − +
=
y
y
y
y
Matemática Computacional, MEMec, LEAN, MEAer
Teoremas
∞
Ω >∀ ∈ Ω ∃ − <
intervalo finito, 0
( ) ( ), : ( ) ( )f x C p f x p x
εε
Teorema de Weierstrass:
ou seja, para qualquer função contínua existe um polinómio tão próximo quanto se queira
Teorema: Se z1, z2, … , zk forem zeros distintos do polinómio p(x) então
= − ⋅ − − ⋅1 2( ) ( ) ( ) ( ) ( )kp x x z x z x z r x
Se o grau de p(x) for n então o grau de r(x) será n – k
Exemplo:
↑↑
= + − − = = − ⋅ = − ⋅ + +
grau 2grau
3 2 2
3
( ) 3 4 8 4 tem raiz 2 pelo que, ( ) ( 2) ( 2)( ) (3 5 2)p x x x x z p x xxr x xx
Teorema da unicidade: p(x) e q(x) (de grau ≤ n) interpolam os pontos(x0,y0), (x1,y1), …, (xn,yn), então p(x) – q(x) = 0, ou seja p(x) = q(x)
ou seja, o polinómio de grau ≤ n que interpola os pontos (x0,y0), (x1,y1), …, (xn,yn) é único
Matemática Computacional, MEMec, LEAN, MEAer
Teoremas
Teorema: Se z1, z2, … , zk forem respectivamente zeros de multiplicidade m1, m2, … , mkentão
1 21 2( ) ( ) ( ) ( ) ( )km m m
kp x x z x z x z r x= − ⋅ − − ⋅
Se o grau de p(x) for n então o grau de r(x) será n – (m1 + m2 + … + mk )
Teorema da unicidade: p(x) e q(x) (de grau ≤ n) verificam as seguintes condições(n+1 condições para os k+1 pontos):
ou seja, o polinómio de grau ≤ n que interpola as n+1 condições indicadas é único
( ) ( )( ) , ( ) , ..., ( ) 0,1,..., 1, 0,1,..., ,I I j ji i i i i i i i if x y f x y f x y j m i k= = = = − =
0
1k
i
i
m n=
= +então p(x) – q(x) = 0, ou seja p(x) = q(x)
Definição: Diz-se que z é um zero de multiplicidade m se( 1) ( )( ) 0, '( ) 0, ''( ) 0, , ( ) 0 , ( ) 0m mp z p z p z p z p z−= = = = ≠
Se m=1 o zero diz-se simples, se m=2 o zero diz-se duplo, etc.
( n+1 condições)
Matemática Computacional, MEMec, LEAN, MEAer
Método de VandermondeExemplo: Obter polinómio que passa nos pontos (1 , 2) , (2 , 4) e (4 , 2)
1 22 44 2
x y
x
p(x)
1 2 3
123
4
4
y
012
iii
===
0 0
1 1
2 2
( , ) (1, 2)( , ) (2, 4)( , ) (4, 2)
x yx yx y
===
Temos 3 condições, ou seja, o polinómio tem de passar em 3 pontos→ permite-nos determinar 3 incógnitas
20 1 2( )p x a a x a x= + + a0, a1 e a2 são as incógnitas a determinar
Polinómio (de menor grau, completo) a determinar:
Matemática Computacional, MEMec, LEAN, MEAer
Método de Vandermonde1 2
20( ) a ap x x xa= + +
0 0
1 1
2 2
( )( )( )
p x yp x yp x y
= = =
Impondo as condições resulta:
que se pode escrever na forma matricial
20 0 0 0
21 1 1 1
22 2 2 2
1 ( )1 ( )1 ( )
x x a yx x a yx x a y
=
0 0 1 1 2 2( , ) ( , )(1, 2) , (2, 4) (, ( , 2)) 4,x y x y x y= = =
20 1 2
20 1 2
20 1 2
1 1 22 2 44 4 2
a a aa a aa a a
+ × + × = + × + × = + × + × =
0 1 2
0 1 2
0 1 2
22 4 44 16 2
a a aa a aa a a
+ + = + + = + + =
(1) 2(2) 4(4) 2
ppp
= = =
0
1
2
1 1 1 21 2 4 41 4 16 2
aaa
=
resolução
0
1
2
251
aaa
=
−
−
2resultado: ( 2 5 1)p x x x= −+−Verificação:221 5 1 21( ) 1p = + × ×− =− OK222 5 1 42( ) 2p = + × ×− =− OK224 5 1 24( ) 4p = + × ×− =− OK
20 1 0 2 0 0
20 1 1 2 1 1
20 1 2 2 2 2
( )( )( )
a a x a x ya a x a x ya a x a x y
+ + = + + = + + =
Matemática Computacional, MEMec, LEAN, MEAer
Método de Vandermonde
O sistema de equações a resolver possui uma matriz “cheia”
2 30 0 0 0
2 31 1 1 1
2 32 2 2 2
2 3
1 ( ) ( ) ( )1 ( ) ( ) ( )1 ( ) ( ) ( )
1 ( ) ( ) ( )
n
n
n
nn n n n
x x x xx x x xx x x x
x x x x
Com o aumento do valor de n, a matriz de Vandermonde torna-se cada vez mais mal condicionada
A matriz que se obtêm por este método designa-se por matriz de Vandermonde
20 0
21 1
22 2
1 ( )1 ( )1 ( )
x xx xx x
1 1 11 2 41 4 16
=
→ resolução do sistema com número de operações da ordem de n3 flops
Matemática Computacional, MEMec, LEAN, MEAer
Formula de Lagrange
x
p(x)
x1
1
y1
x0
y0
L1(x)
y1L1(x)
y0L0(x)
L0(x)
−=−
10
0 1
( )( )
( )x xL xx x
−=−
01
1 0
( )( )
( )x xL xx x
= ≠= → = =
( ) 0 se ( )
( ) 1 se k i
k i kik i
L x i kL x
L x i kδ
Propriedade:
Polinómios de Lagrange:
Polinómio interpolador:
= ⋅ + ⋅0 0 1 1( ) ( )y L x y L x
= +− ⋅−−−⋅ 1
00 1
01
1 0
((
( ))) )(
)(
p x x x xxxx
yx
yx
== 0 10 1,( ) ( )p xx y ypEncontrar p(x) que verifique as condições:
Matemática Computacional, MEMec, LEAN, MEAer
Formula de Lagrange= = =10 2 210 ( ) ,( ),) (pxy xyp x ypEncontrar p(x) que verifique as condições:
x
p(x)
x1
1
y1
x0
y0
L1(x)
y1L1(x)
y0L0(x)
L0(x)
− −=− −
1 20
0 1 0 2
( )( )( )
( )( )x x x xL x
x x x x− −=− −
0 21
1 0 1 2
( )( )( )
( )( )x x x xL x
x x x x
Polinómios de Lagrange:
= ≠= → = =
( ) 0 se ( )
( ) 1 se k i
k i kik i
L x i kL x
L x i kδ
Polinómio interpolador:
= ⋅ + ⋅ + ⋅0 0 1 1 2 2( ) ( ) ( )y L x y L x y L x
− −=− −
0 12
2 0 2 1
( )( )( )
( )( )x x x xL x
x x x x
x2
L2(x)
y2L2(x)
y2
Propriedade:
= + − −⋅
+ − −⋅
−
− −
− −⋅− − −
1 20
0 1 0 2
0 21
1 0 1 2
0 12
2 0 2 1
( )( )
( )( )( )
( )( )( )(
( )
)
)
(
(
))
(x x x x
x x x xyx x
x x x xyx
x
x xy
xx x xp
x
xx
Matemática Computacional, MEMec, LEAN, MEAer
Formula de Lagrange= = =0 0 1 1( ) , ( ) , ... , ( )n np x y p x y p x yEncontrar p(x) que verifique as condições:
− +
− +
− − − −=− − − −
1 1
1 1
0
0
( ) ... ( )( ) ... ( )( )
( ) ... ( )( ) ... ( )k k
kk k k k
n
nkk
x x x x x x x xL xx x x x x x x x
Polinómios de Lagrange:
= ≠= → = =
( ) 0 se ( )
( ) 1 se k i
k i kik i
L x i kL x
L x i kδ
Polinómio interpolador:
= ⋅ + ⋅ + + ⋅0 0 1 1( ) ( ) ( ) ... ( )n np x y L x y L x y L x=
= ⋅0
( ) ( )n
k k
k
p x y L x
Propriedade:
=≠
−=−∏
1
( )( )
( )
n
ik
k iki k
x xL xx x
Matemática Computacional, MEMec, LEAN, MEAer
Método de Vandermonde2 3
0 1 2 3( ) ... nnp x a a x a x a x a x= + + + + +
0 0 02
0 1 22
0 1 22
0 1 2
2
0 0
2 2 2 2 2
1 1 1 1 1
0 1 2
( ) ( ) ... ( )
( ) ( ) ... ( )
( ) ( ) ... ( )
( ) ( ) ... ( )n n
nn
nn
nn
n n nn
n
p a a a a
p a a a a
p a a a a
x x x x
x x x x y
p a a a ax x
y
x
x y
x
x
x x y
= + + + + =
= + + + + == + + + + =
= + + + + =...
O cálculo dos coeficientes ai resulta na resolução dum sistema de equações
que se pode escrever na forma matricial
Sistema com matriz “cheia” – resolução com número de operações da ordem de n3
0 0
11 1
2
300
311
322
3
02
02
12
2
2
22
( )( )( )
(
( )( )
( )( )(
111 )
))
( )
()1 ( n
n
n
n
nnn n nn
yxyxy
x xax x
x x
y
xx
ax
ax
a
x
x
xx
=
10 210 2( , ) , ( , ) , ( , ) , ... , ( , )n nx y x xyx y y
Nota: Com o aumento do valor de n,a matriz de Vandermonde torna-secada vez mais mal condicionada
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
0 1 2
1
0 00 1 2
( ) ( ) ( )
1 10 2
0 21
)
3
(
1
( ) ( ) ( )( ) ( )( )( ) ...
... ( )( )( )...( )n
W x W x W x
n n
W x
p x a a x a x x a x x x
a x x x x
x xx
x
x
x
x x
x x−
−
= + − + − − + − − − +
+ − − − −
10 210 2( , ) , ( , ) , ( , ) , ... , ( , )n nx y x xyx y y
0 1 2( ) ( )( )( )...( )k kW x x x x x x x x x= − − − −
Wk(x) designa-se por polinómio nodal
Nota: Wk(x) tem grau k+1
x
x0 x2 x3x1
W4(x)
x4
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
0 0 00 1( ) (p a a xx x= + − 20
0 0) ( xxa=
+ − 10
0 0 0)( ) ... (nx xx a x=
− + + − 1 2 1
0 1 0
0
2 0 1
0 0 0 0
1 1 1 1
)( )( )...( )
( ) ( ) ( )(
nx x x
p a a xx x x
x x
a x xx
x y−=
− − − =
= + − + − − 10
10 1) ... ( )(n x xa x x=
+ + − − 2 1
0 1 0 2 0 1 0 12 2 2 2 22 2 2
1 10
1)( )...( )
( ) ( ) ( )( ) ... ( )( )(
n
n
x x
p a a x ax x x x x x x
x x
x a x x
y
x x=
−− − =
= + − + − − + + − − − 1
0 1 0 2 0 1 0 1 2
2
1
20
)...( )
( ) ( ) ( )( ) ... ( )( )( ) ... ( )n n n n nn nn n n
n
nx x
x
p a a x a x x a x xx
x y
x x x xx x yx
=−
−
− =
= + − + − − + + − − − − =...
O cálculo dos coeficientes ai resulta na resolução dum sistema de equações
0 1 2
1
0 00 1 2
( ) ( ) ( )
1 10 2
0 21
)
3
(
1
( ) ( ) ( )( ) ( )( )( ) ...
... ( )( )( )...( )n
W x W x W x
n n
W x
p x a a x a x x a x x x
a x x x x
x xx
x
x
x
x x
x x−
−
= + − + − − + − − − +
+ − − − −
10 210 2( , ) , ( , ) , ( , ) , ... , ( , )n nx y x xyx y y
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
0 0
2 2 2 2 2
0
0 1 0
0 1 0 2 0 1
0 1 0 2 0 1 0 1 2
1 1 1
1
( )( ) ( )( ) ( ) ( )( )
( ) ( ) ( )( ) ... ( )( )( ) ... ( )n n n n n n n nn nn
x x y
x x x x x
p ap a a xp a a x a x x
p a a x a x x a x x x xx x
x y
x x
x y
x x y
−
= == + − == + − + − − =
= + − + − − + + − − − − =...
Ou seja, resulta na resolução do sistema de equações
que se pode escrever na forma matricial
−
− −
= − −
−−
− − − −
1 0 1 1
2 0
0 0 1 1
2 0 2 1 2 2
0
0 0
1
0 0( ) 0( ) 0
( ) ( )( )
111
00
(
1
)( )
..( ) . )
000
(( )n nn n n nn n n
x x x x a y
x
x x a yx x
x x x x x
a y
x ax x x yx x
Sistema triangular inferior – resolução com número de operações da ordem de n2
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
= =0 0 0[ ]a y x yLinha 1:
Linha 2: 10 0 11( )a x x ya+ − =−
=−
1 01
1 0
y yax x
−= =−
1 01 0 1
1 0
[ ] [ ][ , ]
y x y xa y x xx x
diferença dividida de ordem 1
00a y=
Resolução do sistema triangular inferior → subs tuição descendente
−
− −
= − −
−−
− − − −
1 0 1 1
2 0
0 0 1 1
2 0 2 1 2 2
0
0 0
1
0 0( ) 0( ) 0
( ) ( )( )
111
00
(
1
)( )
..( ) . )
000
(( )n nn n n nn n n
x x x x a y
x
x x a yx x
x x x x x
a y
x ax x x yx x
110 0 1( )xy x ya + − =
diferença dividida de ordem 0
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
Linha 3: 2 0 2 0 2 10 21 2( ) ( )( )x x x x xa aa x y+ − + − − =
Resolução do sistema triangular inferior → subs tuição descendente
−
− −
= − −
−−
− − − −
1 0 1 1
2 0
0 0 1 1
2 0 2 1 2 2
0
0 0
1
0 0( ) 0( ) 0
( ) ( )( )
111
00
(
1
)( )
..( ) . )
000
(( )n nn n n nn n n
x x x x a y
x
x x a yx x
x x x x x
a y
x ax x x yx x
2 0 21 0
2 00
2 101
2( ) ( )( )x x x x xy yyx
a x yx
+ − + − − =−−
−− − −−
=− −
1 02 0 2 0
1 02
2 0 2 1
( )
( )( )
y yy y x xx xa
x x x x
−− − − − −−
=− −
+2 0 1 0 1 0 2 0
1 02
2 0 2 1
1 1( )( ) ( )( )
( )( )
x xy y x x y y x xx xa
x x x x
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
− − − −−
−
− −
=− −
−1 0 2 1
1 02
2
12 0
2 1
0 1 01
0
0 ( )( )
( )( )
(( ) ( )) ( )y y yy y x xx xa
x
y x
x x
x
x
x x
− − −
=− −
−−
−12 1 0 2 1
1 02
2 0 2 1
01 ( )(( )
(
) )(
)( )
y y x xx xa
x x x
y x
x
y x −− −− −
=−
1 02 1
2 1 1 02
2 0
y yy yx x x xa
x x
−= =−
1 2 0 12 0 1 2
2 0
[ , ] [ , ][ , , ]
y x x y x xa y x x xx x
diferença dividida de ordem 2
−− − − − −−
=− −
+2 0 1 0 1 0 2 0
1 02
2 0 2 1
1 1( )( ) ( )( )
( )( )
x xy y x x y y x xx xa
x x x x
Matemática Computacional, MEMec, LEAN, MEAer
Forma de NewtonGeneralizando
−−= =−
1 0 10 1
0
[ ,..., ] [ ,..., ][ , ,..., ] n n
nn
ny x x y x xa y x x x
x x
diferença dividida de ordem n, calculada recorrendo a 2 diferenças
divididas de ordem n – 1
Desenvolvendo é possível concluir que o coeficiente an é a diferença dividida de ordem n
ordem n – 1
ordem n
Linha n: 2 00 2 0 2 1 0 11 2 1( ) ( )( ) ... ( )( )...( )n n n n n nx x x x x x x x xa x xa yaa x −+ − + − − + + − − − =
0 0 1
0 1
1 02 1
1 0 2 1 1 00
1 0
1
2 0
( ) ( )( ) ...
... ( )( )...( )
n n n
n n n n nn
y yy yy
a
x x x x x x
x
y x x x xyx x x x
x x x x x y−
+ − + − − +
−− −
+
− −−
− − − =
−−
Matemática Computacional, MEMec, LEAN, MEAer
Forma de NewtonAs diferenças divididas podem ser obtidas por recorrência através de
−+
+ −=−
1 11
[ ,..., ] [ ,..., ][ , ,..., ]ii i
ii
k kk
k
y x x y x xy x x xx x
Para se obter as diferenças divididas é usual construir uma tabela de diferenças divididas
=[ ]i iy x y ordem 0
=−
=−
−= =
−=
−= −=−
−−
= =−
0 0 0
1 00 1
1 0
1 2 0 11 1 1 0 1 2
2 0
0 1 2 32 1
1 2 1 2 3 0 1 22 1
3 0
2 3 1 22 2 2 1 2 3
3 1
2 3
[ ][ ] [ ]
[ , ]
[ , ] [ , ][ ] [ , , ]
[ , , , ][ ] [ ]
[ , ] [ , , ] [ , , ]
[ , ] [ , ][ ] [ , , ]
[ , ]
x y x yy x y x
y x xx x
y x x y x xx y x y y x x x
x xy x x x x
y x y xy x x y x x x y x x x
x xx x
y x x y x xx y x y y x x x
x x
y x x−
=−
=
3 2
3 2
3 3 3
[ ] [ ]
[ ]
y x y xx x
x y x y
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
= + − + − − + − − − + 0 1 2
0 1 0 2 0 1 3 0 1 2
( ) ( ) ( )
( ) ( ) ( )( ) ( )( )( ) ...W x W x W x
p x a a x x a x x x x a x x x x x x
1 ponto – grau 0 =0 0( )p x a0 0( , )x y
condição:
xx0
y0
p0(x)=00 0( )p x y 0 0 0[ ]a y y x = =
( )0 0[ ]p x y x =
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
xx0
y0p0(x)
p1(x)
x1
y1
2 pontos – grau 1 0
0 1 01
( )
( ) ( )W x
p x a a x x= + −0 0 1 1( , ) , ( , )x y x y
condições:
1 0 1 01 0 1
1 0 1 0
[ ] [ ][ , ]
y y y x y xa y x xx x x x
− − = = =
− −
=01 0( )p x y 0 1 0 0
0
0( )a a x x y=
+ − =
=11 1( )p x y + − =0
1 0||
0 1 1 1( ) ( )y
p x a x x y
0 01 1 0( ) ( ) [ , ]( )p x p x y x x x x = + −
1 00 1
1
0
0
1 1
0 0
1
[ ] [ ][ , ]
[ ]
[ ]y x y x
y x xx x
x
x y x y
y x y
−=
=
=
−
0
11 0||[ ]
0( ) ( ) ( )y x
p x p x a x x = + −0 0 0[ ]a y y x = =
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton3 pontos – grau 2
0 1
0 1 0
(
2 12
( ) )
0( ) ( ) ( )( )W x W x
p x a a x x a x x x x= + − + − − 0 0 1 1 2 2( , ) , ( , ) , ( , )x y x y x y
condições:
0 0 0[ ]a y y x = ==02 0( )p x y 0 1 0 0 2 0 0
0
0
0
0 1( ) ( )( )a a x x a x x x x y= =
+ − + − − =
=12 1( )p x y0
0 1 1||
0 2 1 0 1
0
1 1( ) ( )( )y
a a x x a x x x x y=
+ − + − − =1 0
1 0 11 0
[ , ]y ya y x xx x
− = =
−
0 0 1 0
||[ ] [ ,
2 0 1
](
2 1
)
( ) ( ) ( )( )y x y x x x x
p x p x a x x x x+ −
= + − −
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton3 pontos – grau 2
0 0 1 1 2 2( , ) , ( , ) , ( , )x y x y x y
condições:
=22 2( )p x y + − − =2 2 2 0 2 1 21( ) ( )( )p x a x x x x y
xx0
y0
p1(x)
x1
y1
x2
y2
p2(x)
− + − + − − =
−1 0
0 2 0 2 2 0 2 1 21 0
( ) ( )( )y yy x x a x x x x yx x
0 0 1 0
||[ ] [ , ]( )
2 02 1 1( ) ( ) ( )( )y x y x x x x
p x p x a x x x x+ −
= + − −
0 0 0
1 00 1
0 1 2
1 2 0 1
2 0
2 11 2
1 0
1 1 1
2 1
2 2 2
[ , , ][ , ] [ ,
[ ][ ] [ ]
[ , ]
[ ]
[ ] [ ][ , ]
]
[ ]
x y x yy x y x
y x xx x
xy x x x
y x x y x xx x
y x y
y
xy x x
x xx y x y
x y=
−=
=−
=−
=−
−=−
=
1 02 1
2 1 1 0 1 2 0 12 0 1 2
2 0 2 0
[ , ] [ , ]... [ , , ]
y yy yx x x x y x x y x xa y x x x
x x x x
−− −− − −
= = =− −
0 1 2 0 12 1( ) ( ) [ , , ]( )( )p x p x y x x x x x x x = + − −
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
n+1 pontos – grau n −−
−= + − + + − − − 11
0 1
(
0 0
( ) )
1 1( ) ( ) ... ( )( )...( )n nW xp
n nn
x
p x a a x x a x x x x x x0 0 1 1( , ) , ( , ) , ... , ( , )n nx y x y x y
−
− − = + − − −1
01 1
(
1
)
( ) ( ) ( )( )...( )nW x
n n n np x p x a x x x x x x
Generalizando
−−= =−
1 0 10 1
0
[ ,..., ] [ ,..., ][ , ,..., ] n n
nn
ny x x y x xa y x x x
x x
diferença dividida de ordem n, calculada recorrendo a 2 diferenças
divididas de ordem n – 1
o coeficiente an é a diferença dividida de ordem nordem n – 1
ordem n
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
0 0 0
1 00 1
1 0
1 2 0 11 1 1 0 1 2
2 0
2 11 2
2
0 1 2
1
2 2
3
1 2 3 0 1 2
3 0
2 3 1 21 2 3
3 1
2 3
2
[ , , ,
[ ][ ] [ ]
[ , ]
[ , ] [ , ][ ] [ , , ]
[ ] [ ][ , ]
[ ]
][ , , ] [ , , ]
[ , ] [ , ][ , , ]
[ , ]
y x x x xy x x x
x y x yy x y x
y x xx x
y x x y x xx y x y y x x x
x x
y x y xy x x y x x x
x xy x
x x
x y x yx y x x
y x x xx x
y x x
=−
=−
−
=−
=−
−= =
−
−=−
=−
=
3 2
3 2
3 3 3
[ ] [ ]
[ ]
y x y xx x
x y x y
−=
−=
n+1 pontos – grau n 11
0
( ) )
1 0 0 1 1
(
( ) ( ) ... ( )( )...( )n nW
n n
x
n
p x
p x a a x x a x x x x x x− −
−= + − + + − − − 0 0 1 1( , ) , ( , ) , ... , ( , )n nx y x y x y
−
− − = + − − −1
01 1
(
1
)
( ) ( ) ( )( )...( )nW x
n n n np x p x a x x x x x x
Generalizando
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton= + − + − − + − − − +
0 1 2
0 1 0 2 0 1 3 0 1 2
( ) ( ) ( )
( ) ( ) ( )( ) ( )( )( ) ...W x W x W x
p x a a x x a x x x x a x x x x x x
Dispondo duma interpolação pn – 1(x) num conjunto de n pontos, se pretendermos
adicionar mais um ponto à interpolação, o novo termo de ordem n que se adiciona à
expressão é um termo que se anula em todos os n nós inicialmente existentes.
Então, o novo polinómio (que interpola os n+1 pontos) corresponde a adicionar um novo
termo ao polinómio anteriormente existente, pn – 1(x)
= + − + − − = + − − − − 0 1( )
0 1 0 2 12 0
( )
1( ) ( ) ( )( ) 1 ( 2) *( 2)( 3)
2W x W x
p x a a x x a x x x x x x x
Exemplo: polinómio que interpola os pontos (x0,y0)=(2,1), (x1,y1)=(3,2), (x2,y2)=(5,1) é:
Matemática Computacional, MEMec, LEAN, MEAer
Forma de Newton
0 1 2
2 2
( ) (
3 3
3 2
) ( )
( )
3
)
0
(
1 2 ( 2)( 3)( 5)( ) ( 2) ( 2)( 3)
11 ( 2) *( 2 ( 2)( 3)( 5) ( 2)( 3))( 3) ( )2
( 5)
W x W x W x
W x W x
x x x
x x x x
p x a a x a x x
x x x p
a
xx xa a
= + − + − − +
= + − −
− − −
− − −− − + = − − −+
O termo W2(x)=(x–2)(x–3)(x–5) anula-se em todos os nós inicialmente existentes, x=x0=2, x=x1=3, x=x2=5, pelo que para o polinómio p3(x) interpolar estes nós, os coeficientes a0, a1 e a2 definidos anteriormente mantêm-se iguais, bastando determinar o novo coeficiente a3
− − = + −2 ( )
3 2 3 ( 2)( 3)( ) ( ) ( 5)W x
xax xp x p x
Se pretendermos adicionar à lista o ponto (x3,y3)=(6,2) resulta:
0 1 2
0 1 2
2
0 1 0 2 0 1
0 1
0
( ) ( ) ( )
( ) ( ) ( )
2
( )
1
3
23 3 ( )( )( )
( 2)(
( ) ( ) ( )( )
( 2) ( 2)( 3) 3)( 5)
p x
W x W x W x
W x W x W x
p x a a x x a x x x x
a a x a x
x x x x x x
x x x
a
ax
= + − + − − +
= + − + − −
−
−+
− −
− −
Matemática Computacional, MEMec, LEAN, MEAer
Interpolação Inversa
nós valores nodais
x0 y0 = f(x0)x1 y1 = f(x1)… …xn yn = f(xn)
= ≈ou seja , ( ) ( )ny f x p x
−
Ω = = ≈1
0 1||
( )
Se ( ) possuir inversa (em inter( , ,..., )) então podemos escrever, ( ) ( )n
f y
nf x x x x x g y p y
nós valores nodais
y0 x0 = g(y0)y1 x1 = g(y1)… …yn xn = g(yn)
ou seja, trocamos o “papel” de x com o de y
Interpolação inversa
Matemática Computacional, MEMec, LEAN, MEAer
Interpolação Inversa
= == = =
≈
Se pretendermos determinar a solução da equação ( ) 0, ou seja se pretendermosencontrar o ponto tal que ( ) 0, então podemos estimar a solução calculando
( ) ( ) e tomar para estimativa
y f xx z f z x z
p y g y = = ≈ = =da solução o valor ( 0) ( 0)z p y g y z
xx0
x2x1
f(x)
z
y1
y2
y0
y x
y0 y2y1
z
x1
x2
x0
≈( ) ( )p y g y
y
0
Matemática Computacional, MEMec, LEAN, MEAer
Teoremas
∈ Ω ∈Ω ∃ ∈Ω = ( )0 1 0 1
1( ) ( ) , , ,..., (nós distintos) , : [ , ,..., ] ( )
!k k
k kf x C x x x f x x x fk
ξ ξ
Teorema:
Demonstração: considere-se a função, Ek(x) = f(x) – pk(x), onde pk é o polinómio de grau ≤ kque interpola os k+1 nós distintos, x0, x1, …, xk.
Notar que para k=1, o teorema corresponde ao teorema do valor intermédio.
+ ΩΩ
−
A função ( ) possui (pelo menos) 1 zeros no intervalo ,
a derivada ' ( ) possui zeros em , a segunda derivada possui 1 zeros e assim sucessivamente.
k
k
E x k
E x kk
ΩA derivada de ordem possui um zero no intervalo .Designando por esse zero resulta,
kξ
= − =( ) ( ) ( )( ) ( ) ( ) 0k k kk kE f pξ ξ ξ =( ) ( )pelo que ( ) ( )k k
kf pξ ξ
= =( )0 1Atendendo que ( ) ! ! [ , ,... ]k
k k kp k a k y x x xξ
=( )0 1resulta ( ) ! [ , ,..., ]k
kf k y x x xξ
xx0
f(x)
x2 x3
p(x)
x1
E(x)
Matemática Computacional, MEMec, LEAN, MEAer
Teoremas
ξ ξ
+
+
∈ Ω ≤ ∈Ω
∀ ∈Ω ∃ ∈Ω = − = ⋅+
10 1
( 1)
( ) ( ) , ( ) (de grau n) que interpola , ,..., (nós distintos)1
, : ( ) ( ) ( ) ( ) ( )( 1)!
nn n
nn n n
f x C p x x x x
x E x f x p x f W xn
Teorema:
Demonstração:
Tendo em atenção o teorema anterior
+ += 1 1( ) ( ) , porque é nó de interpolação de ( )n nf p px x xx
+= ⋅+
( 1)1Como é um ponto qualquer do intervalo resulta, ( ) ( ) ( )
( 1)!n
n nx xE f Wn
xξ
+ = + ⋅1 0 1( ) ( ) [ , ,..., , ] ( )n n n np x p xx f x x x W x
+= = + ⋅0 11( ) ( ) ( ) [ , ,..., , ] ( )n nn nf p p f x xx x Wx x x x
+ = − = − = ⋅0 11( ) ( ) ( ) ( ) ( ) [ , ,..., , ] ( )n n nn n nx x x x x xE f p p p f x x W xx
+= ⋅ = ⋅+
( 1)0 1
1( ) [ , ,..., , ] ( ) ( ) ( )
( 1)!n
n n n nE f x x x W f Wx xn
x xξ
+∈Ω 1 0 1, ( ) interpola os nós , ,..., ,n np x x xx x x
Matemática Computacional, MEMec, LEAN, MEAer
Teoremas+= ⋅ ∈ = Ω
+( 1)
0 11
( ) ( ) ( ) , inter( , ,... )( 1)!
nn n nE x f W x x x x
nξ ξ
+∞∞
≤ ⋅+
( 1)1( ) ( ) ( )
( 1)!n
n nE x f W xn
ξ
Majorando,
Prova-se que,
+−∞ =
≤ × = = −111,...,
!( ) , max max
4n
n i i ii n i
nW x h h h x x
pelo que,
++
∞≤ ×
+
1( 1)( ) ( )
4( 1)
nn
nhE x fn
ξ
xx0 x2 x3x1
W4(x)
x4
h é o espaçamento máximo dos nós
Matemática Computacional, MEMec, LEAN, MEAer
Rigidez dos polinómios→ ∞ = − →Será que quando , ( ) ( ) ( ) 0 ?n nn E x f x p xQuestão:
Resposta: ????
n=4 n=7
( )= +( ) sin exp( 1)f x x
Matemática Computacional, MEMec, LEAN, MEAer
Rigidez dos polinómios→ ∞ = − →Será que quando , ( ) ( ) ( ) 0 ?n nn E x f x p xQuestão:
Por vezes os polinómios desenvolvem oscilações, que se podem tornar mais acentuadas com o aumento do grau do polinómio
Resposta: Nem sempre
2
1( )1 25
f xx
=+ ⋅
n=6
n=10Ex: Função de Runge
Nota: Interpolações com nós equidistantes
Matemática Computacional, MEMec, LEAN, MEAer
Rigidez dos polinómios→ ∞ = − →Será que quando , ( ) ( ) ( ) 0 ?n nn E x f x p xQuestão:
Por vezes os polinómios desenvolvem oscilações, que se podem tornar mais acentuadas com o aumento do grau do polinómio
Resposta: Nem sempre
→ Não utilizar n elevado
→ outras técnicas: por exemplo,
splines, mínimos quadrados , …
→ Contradição com Teo. de Weierstrass?
→ Não. O teorema de Weierstrass não diz que o polinómio (que aproxima a função) é obtido por interpolação
n=8
Matemática Computacional, MEMec, LEAN, MEAer
Nós de Chebyshev
depende do comportamento
da função
Majorante do erro de interpolação, ( 1)1( ) ( ) ( )( 1)!
nn nE x f W x
nξ+
∞ ∞∞≤ ⋅
+
depende da posição dos nós
majorante do erro da
interpolação
Para nós equidistantes, Wn(x) atingemaiores valores absolutos junto dasextremidades (e menores valores juntodo centro)
Ideia: posicionar os nós de modo aminimizar o máximo absoluto de Wn(x)
=> Juntar os nós na extremidade (econsequentemente afastar no centro)
W6(x) com nós equidistantes
Matemática Computacional, MEMec, LEAN, MEAer
Nós de Chebyshev∞
Demonstra-se que o menor valor para ( ) ocorre se os nós forem posicionados nos
zeros dos polinómios de Chebyshev.nW x
os zeros dos polinómios dPara o intervalo [ 1, 1] e Chebyshev são dados , por,ξ ∈ − +
− =
(2 1)=cos , 1, 2, ... ,
2kk k N
Nπξ Nesta expressão, N representa
o número de pontos
W6(x) com nós equidistantes W6(x) com nós de Chebyshev
Matemática Computacional, MEMec, LEAN, MEAer
Nós de Chebyshev
ξ∈Ω =
∈ − + ∈Para o intervalo genérico [ , ] podemos efectuar uma transformação de coordenadasde [ 1, 1] para [ , ]
x a bx a b
++
+∞ ∞
−≤ ×× +
1( 1)
2 1
( )( )
2 ( 1)!
nn
n n
b aE x fn
− += × + ×1 1( )
2 2x a bξ ξξ
a b x-1 +1 ξ
−∞
− + ≤Demonstra-se que, , utilizando nós de Chebyshev, no intervalo [ ] 2, (1 )1 nnW x
+∞ ∞∞
≤ ⋅+
( 1)1pelo que ( ) ( ) ( )
( 1)!n
n nE x f W xn
ξ +∞ ∞
≤ ×× +
( 1)1( )
2 ( 1)!n
n nE x fn
a expressão do majorante do erro de interpolação utilizaPara um
ndo nós intervalo genérico
de Chebyshev tom [
a a forma, ]a bΩ =
x(ξ)
Matemática Computacional, MEMec, LEAN, MEAer
Nós de Chebyshev
n=6 n=10
2
1( )1 25
f xx
=+ ⋅
Ex: Função de Runge Interpolação com nós de Chebyshev
Matemática Computacional, MEMec, LEAN, MEAer
Nós equidistantes
n=6n=10
2
1( )1 25
f xx
=+ ⋅
Ex: Função de Runge Interpolação com nós equidistantes
Matemática Computacional, MEMec, LEAN, MEAer
( )0 1 0 1
1( ) ( ) , , ,..., , : [ , ,..., ] ( )
!k k
k kf x C x x x f x x x fk
ξ ξ∈ Ω ∈Ω ∃ ∈Ω =Teorema:
xx0 x1ξ
1
10 1
||( ) (
0 1 0
) intervaloque contém
,
11, [ , ] '( ) , inter( , )
o
o
f x f xx x x x
k f x x f x xξ ξ↑
−−
= = ∈ = Ω
→↑
= =1 0
dif. divididaconflue
0 1 0 0
nte
0lim [ , ] [ , ] '( )x x
f x x f x x f x xx0 x1ξ
Diferenças divididas confluentes
0 1 2 0 1 2''( )
2, [ , , ] , inter( , , )2
fk f x x x x x xξ ξ= = ∈ xx1 x2ξx0
xx1 x2ξx0
Assim, caso haja informação das derivadas, podemos inserir essa informação na tabela de diferenças divididas através de diferenças divididas confluentes
→= =
1 2 0
00 1 2 0 0 0,
''( )lim [ , , ] [ , , ]
2x x x
f xf x x x f x x x
Matemática Computacional, MEMec, LEAN, MEAer
Interpolação de Hermite
( ) ( ){ }0
22 2
1, ,( ) 1 2 ( ) ( ) ( )
n
k k k k k k k
k
np x L x x x L x y x x L x y=
+ = − ⋅ ⋅ − ⋅ ⋅ + − ⋅ ⋅
1 nó
0 1
0 1 0 1
Teorema: O polinómio de grau que nos nós distintos , ,..., interpola os, , ,valores , ,..., e as derivadas , ,..., é:
1
2n s
n
n n
x x x
y y y y y
n
y
+
≤ +
No caso de, em todos os nós, existir informação da função e da(s) derivada(s)
Interpolação de Hermite
Neste(s) caso(s) há formulas específicas para a interpolação
Para o caso da interpolação de Hermite (função e primeira derivada) em n+1 nós, o erroassociado à interpolação é:
Nota: Lk(x) são os polinómios de Lagrange
( )(2
2 11
2)2
2( )
( ) ( ) ( ) ( ) ,(2 2)!
n
n nnfx f x p x W x
nE ξ ξ+
+
+= − = ⋅ ∈Ω+
Matemática Computacional, MEMec, LEAN, MEAer
SplinesSplines: Troços de polinómios assegurando uma certa continuidade na transição dos troços
Spline linear – troços de rectas com continuidade da função na transição dos troços
xx0
h1
x2 x3
S1(x)
x1
troço 1 troço 2 troço 3
S2(x) S3(x)
h2 h3
Spline quadrático – troços de parábolas com continuidade da função e da 1ª derivada na transição dos troços
Spline cúbico – troços de cúbicas com continuidade da função, da 1ª derivada e da 2ª derivada na transição dos troços
equação duma recta
continuidade na função
Spline linear
1 1,...,, maxi i i ii n
h x x h h− == − =
Matemática Computacional, MEMec, LEAN, MEAer
Spline quadráticoSpline quadrático: Troços de polinómios de grau ≤ 2, que se unem de modo contínuo e com tangente também contínua
xx0
h1
x2 x3
S1(x)
x1
troço 1 troço 2 troço 3
S2(x)
S3(x)
h2 h3
equação duma
parábola
continuidade na função e na tangente 1 1,...,
, maxi i i ii nh x x h h− =
= − =
• Troços de parábolas
• Condições a impor:
→ Interpolar os pontos(=> continuidade na função)
→ Con nuidade na derivada(na transição dos troços)
Matemática Computacional, MEMec, LEAN, MEAer
Spline quadrático
20 1 2( )iS x a a x a x= + +
Reescrevendo a equação da recta na forma de Lagrange,
( )1troço ,i ii x x x−→ ∈
1 2'( ) 2iS x a a x = +x
xi-1hi
Si(x)
xi
troço i
−−
− −= + 11
,( ) i ii i i
i i
x x x xS x m mh h
1
,( )'( ), ( )
i ii i
i i
i
i
S x mS x m
S x m+
= → ==
xx1 x3
S2(x)
x2
troço 2 troço 3
S3(x)Exemplo:
3 2
2
2
2 2 22,(
' ))
(,(
)S x mm
S xS x
m
=
→ =
=
tangente com declive m2
Ou seja, escrevendo a equação da derivada do spline na forma de Lagrange, garantimos desde logo a continuidade na derivada na transição entre os troços
++ +
+ +
− −→ = +11 1
1 1
, ( ) i ii i i
i i
x x x xS x m mh h
as derivadas à esquerda e à direita do nó xi são iguaise valem mi mi é a derivada do spline no nó xi
Matemática Computacional, MEMec, LEAN, MEAer
Spline quadráticoDesenvolvendo a expressão da derivada, podemos reescrevê-la na forma de Newton,
Primitivando a expressão,
( )11 1
2)2
( i ii i i
i
m mS x m x xxh
C−− −
−= + − +
Impondo a condição do spline passar no ponto da esquerda do intervalo
xxi-1
Si(x)
troço i
yi-1
xi
1 1( ) 1,2, ... ,ii iS i nx y− −= =
( )1 1 121
1 1
02
i ii i
ii i ix x ym mm x C
h− −
=
− − −−−+ − + = 1 1 1i i iy mC x− − − −=
( ) 1 11 121
1( )2
i ii i i
ii i i
m mS x m x x x m xh
y−− − −− −
−= + − + −pelo que,
−−
− −= + 11
,( ) i ii i i
i i
x x x xS x m mh h
− −−−
− + − − = +
1 1 1
1,( )
i
i ii
h
ii
i i
ii
x xx x x xS x m mh h
− −−
− − = − +
1 1
1,( ) 1 i ii i i
i i
x x x xS x m mh h
( )11 1
,( ) i ii i i
i
m mS x m x xh
−− −
− = + −
Matemática Computacional, MEMec, LEAN, MEAer
Spline quadráticoReescrevendo a expressão anterior,
Impondo a condição do spline passar no ponto da direita do intervalo
xxi-1
Si(x)
troço i
yi
xi
( ) 1,2, ... ,ii iS i nx y= =
( ) ( )211 1 1 1( ) 1,2, ... ,
2i i
i i i i ii
m mS x y m x x x x i nh
−− − − −
−= + − + − =
Nesta expressão os mi são incógnitas m0 , m1 , … , mn n+1 incógnitas
( ) ( )211 1 1 12
i i
i ii i i
h h
i i iii
m my m x xx xh
y−− − − −
−+ − + − =
11 1 2
i ii i i i i
m my m h h y−− −
− + + = 1
12i i
i i im m h y y−
−+
= −
11 2 i i
i ii
y ym mh
−−
− + = 1
12 1,2, ... ,i ii i
i
y ym m i nh
−−
− = − =
Esta expressão representa n equações
Matemática Computacional, MEMec, LEAN, MEAer
Spline quadráticoResumindo, a expressão do spline quadrático é
Para determinarmos as incógnitas recorremos à condição
( ) ( )211 1 1 1( ) 1,2, ... ,
2i i
i i i i ii
m mS x y m x x x x i nh
−− − − −
−= + − + − = onde os mi são incógnitas n+1 incógnitas
112 1,2, ... ,i i
i ii
y ym m i nh
−−
−= − = n equações
n equações a n+1 incógnitas necessário fornecer condição suplementar
fornecer o valor de um dos mi vulgar fornecer m0 (uma estimativa de f’(x0))
Resulta o sistema
0
11
fornecer
2 1,2, ... ,i ii i
i
my ym m i n
h−
−
− = − =
0
11
fornecer
2 1,2, ... ,i ii i
i
my ym m i n
h−
−
⇔ − + = =
Matemática Computacional, MEMec, LEAN, MEAer
Spline quadráticoO sistema pode ser colocado na forma matricial (com duas diagonais não nulas)
( )( )( )
( )( )
1 1 0 1
2 2 1 2
3 3 2 3
2 2 3 2
1 1 2 1
0 00 0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0
1 1 2
1 1 2
1 2
1 1 2
1 1 2
1
0
0 0 0 2
,
0 1
1
0
n n n n
n n n n
n n
m y
m y y h
m y y h
m y y h
m y y h
m y y h
m y
− − − −
− − − −
− − − = − −
( )1n ny h−
−
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoSpline cúbico: Troços de polinómios de grau ≤ 3, que se unem de modo contínuo, com tangente contínua e com curvatura também contínua
xx0
h1
x2 x3
S1(x)
x1
troço 1 troço 2 troço 3
S2(x)
S3(x)
h2 h3
equação duma cúbica
continuidade na função,
na tangente e na curvatura
1 1,...,, maxi i i ii n
h x x h h− == − =
• Troços de cúbicas
• Condições a impor:
→ Interpolar os pontos(=> continuidade na função)
→ Con nuidade na 1ª derivada(na transição dos troços)
→ Con nuidade na 2ª derivada (na transição dos troços)
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbico2 3
0 1 2 3( )iS x a a x a x a x= + + +
Reescrevendo a equação da recta na forma de Lagrange,
( )1troço ,i ii x x x−→ ∈
xxi-1
hi
Si(x)
xi
troço i
11
,,( ) i ii i i
i i
x x x xS x M Mh h
−−
− −= +
as 2ª derivadas à esquerda e à direita do nó xi são iguaise valem Mi Mi é a 2ª derivada do spline no nó xi
1
,,( ) ,,( ),, ( )i i
i i
i i
i
i
S x MS x M
S x M+
= → ==
xx1 x3
S2(x)
x2
troço 2 troço 3
S3(x)Exemplo:
3 2
2
2
22
2 2
,,(
,,,,(
( )
))
S
MM
M
xx
x
SS
=
→ =
=
2ª derivada com valor M2
Ou seja, escrevendo a equação da 2ª derivada do spline na forma de Lagrange, garantimos desde logo a continuidade na 2ª derivada na transição entre os troços
11 1
1 1
,, ( ) i ii i i
i i
x x x xS x M Mh h+
+ ++ +
− −→ = +
21 2 3
,( ) 2 3iS x a a x a x = + + 2 3,,( ) 2 6iS x a a x = +
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoPrimitivando 2 vezes a expressão,
O termo α x + β pode ser escrito na forma de Lagrange,
11
,,( ) i ii i i
i i
x x x xS x M Mh h
−−
− −= + ( ) ( )1
21
2
2, )
2( i i
i i ii i
x x x xS x M M
h hα−
−
− − = + +
( ) ( )11
3 3
6( )
6i i
i i ii i
x x x xS x M M
h hxα β−
−
− − + + +=
( ) ( )3 3
111( )
6 6i i
i i ii i
i i
i i
x x x xc dh
x x xh
xS x M M
h h− −
−− −+
− −= + +
1com ; i i
i i
d c cx dxh h
α β −− −= =
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbico
Impondo as condições de interpolação
xxi-1
Si(x)
troço i
yi-1
xi
1 1( )1,2, ... ,
( ) i
i i
ii
iSi
x yS y
nx
− −== =
pelo que, para o troço i, a equação do spline é,
( ) ( )3 31 1
1( )6 6
i i i ii i i
i i i i
x x x x x x x xS x M M c dh h h h
− −−
− − − −= + + +
yi
113
11
(( )6
i
iii i
i
h
iixx
hxxM M −− −
−
−− +
1
0
13
1)6
i
ii
i
h
ii
i
xxc dh h
xx −−
=
−−−+ +
1
0
1
(
i
i
i
ii
h
xM
y
x−
=
−=
− 3 31
0
) ( )6 6
i
iii
h
i
i
i
ixxxM ch
xh
=
−−−+ +
1
0 i
ii
h
i
i ixx ydh h
=
−
− + =
2
1 1
2
6
6
ii i
ii i
hc y M
hd y M
− −= −
=
−
( ) ( )3 3 2 21 1
1 1 1( ) 1,2, ... ,6 6 6 6i i i i i i
i i i i i i ii i i i
x x x x h x x h x xS x M M y M y M i nh h h h
− −− − −
− − − −= + + − + − =
Nesta expressão os Mi são incógnitas M0 , M1 , … , Mn n+1 incógnitas
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoDerivando a expressão anterior (expressão do spline) resulta,
Impondo a continuidade na primeira derivada
( ) ( )2 2 2 21
1 1 11 1,( )
2 2 6 6i i i i
i i i i i i ii i i i
x x x x h hS x M M y M y Mh h h h
−− − −
− − = − + − − + −
( ) ( ) ( )2 2
1 11 1
,( )2 2 6
i i i i ii i i i i
i i i
x x x x y y hS x M M M Mh h h
− −− −
− − − = − + + − −
xx1 x3
S2(x)
x2
troço 2 troço 3
S3(x)2 2,( )S x− 3 2
,( )S x+
1, ,( ) ( )i ii iS Sx x+
− +=
1
(,( ) ii
iii
xS M
xx −
−= − ( )
2 21
0
11
) ( )2 2 6
i
i i i ii i
h
ii i i
i x y y hM M Mh h h
x=
− −−
− −+ + − −
1
2
11
11
(( ), ( )2
i
iiii i
i
i
h
ii
xS xxM M
xh
x
+
++
++
−−= − +
( )2
1 11
1
0
1
)2 6
i i ii i
i i
y y hM Mh h
+ +
+ +
=
+−+ − −
( ) ( ) ( )2 2
1 1 11 1
1 1 1
, ( )2 2 6
i i i i ii i i i i
i i i
x x x x y y hS x M M M Mh h h
+ + ++ +
+ + +
− − − = − + + − −
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbico
pelo que a continuidade na derivada resulta,
1, ,( ) ( )i ii iS Sx x+
− +=
( )11
,( )2 6
i i i ii i i i
iix h y y hS M M M
h−
−−
= + − −
( )1 1 111
2
1
, ( )2 6i i i i
i i ii
ii x h y y hS M M Mh+
+ + ++
+
− = − + − −
( ) ( )1 1 1 1
11 12 6 2 6i i i
i i i i i i i i
i ii ii
h y y h h yM M y hh h
M MM M− + + +
++−
− − + − − = − + − −
11
1 1 1
11
2 21,2, ... , 1
6 6 6i i i i i
ii
ii i
i ii
h h h h y y y yM M i nh h
M + + ++
−−
+
+ − − + + = − = −
Esta expressão representa n – 1 equações
1
2
11
11
(( ), ( )2
i
iiii i
i
i
h
ii
xS xxM M
xh
x
+
++
++
−−= − +
( )2
1 11
1
0
1
)2 6
i i ii i
i i
y y hM Mh h
+ +
+ +
=
+−+ − −
1
(,( ) ii
iii
xS M
xx −
−= − ( )
2 21
0
11
) ( )2 2 6
i
i i i ii i
h
ii i i
i x y y hM M Mh h h
x=
− −−
− −+ + − −
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoResumindo, a expressão do spline cúbico é
Para determinarmos as incógnitas recorremos à condição
onde os Mi são incógnitas n+1 incógnitas
n – 1 equações
n – 1 equações a n+1 incógnitas necessário fornecer 2 condições suplementares
( ) ( )3 3 2 21 1
1 1 1( ) 1,2, ... ,6 6 6 6i i i i i i
i i i i i i ii i i i
x x x x h x x h x xS x M M y M y M i nh h h h
− −− − −
− − − −= + + − + − =
1 1 1 11 1
1
2 2 1,2, ... , 16 6 6
i i i i i i i ii i i
i i
h h h h y y y yM M M i nh h
+ + + −− +
+
+ − −+ + = − = −
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoHipótese 1: Spline natural
Na ausência de outra informação considerar 0 0,,( ) 0,,( ) 0n n
S x M
S x M
= =
= =
ou seja, o sistema a resolver é
1
0
1 1 1 11
1
1,2, ... , 16 3 6
0
0
i i i i i i i ii i i
i i
n
h h h h y y y yM M M i nh
M
M
h+ + + −
− ++
=
=
+ − − + + = − = −
No caso de espaçamento uniforme resulta (hi = h ; i = 1, 2, … , n)
+ −− +
− + + + =
=
=
1 11
0
12 2
6 3 6
0
0
i i ii i i
n
h h h y
M
y yh
M
M M M + −− +
− + +
=
+
=
=
1 11 1 2
0
2
0
4 6
0
i i ii i i
n
y y yM M Mh
M
M
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoO sistema pode ser colocado na forma matricial (sistema tridiagonal)
2 1 02
1 3 2 12
2
3
3
2 1 2
1
0
32
0 0 0 0 0 0 00 0 0 0 0
0 0
26
1 4 1 261 4 1
1 4
4 11 4 1 2
0 0 00 0 0 0 0 0
0 0 0 0 0 00
61 4 1
2
0 0 0 00 0 0 0 00 0 0
0
1
0 60 0 10
n
n n n n
n
nn
y y yh
M y y yM hM
MM y y y
hMy
M
M
−
− − − −
−
− +
− +
= − + −
1 2
2
0
n ny yh
− −
+
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoHipótese 2: Spline completo
Caso as 1as derivadas nas extremidades sejam conhecidas considerar 0 0, ,( ), ,( )n n
S x y
S x y
=
=( ) ( ) ( )− −
− −
− − −= − + + − −2 2
1 11 1
,( )2 2 6
i i i i ii i i i i
i i i
x x x x y y hS x M M M Mh h h
−−= − +
10
20 01
1 01
0 1
(( ),( )2
h
xxS Mxx Mx
h( )
=
−+ − − =2
1 0 11 0 0
1 1
0
) ,2 6
y y hM M yh h
− − − = − 1 01 1
0 1 01
,3 6
y yh hM M yh
−
−= − 1
(,( ) nn n
nn
xS M
xx ( )− −
−
=
− −+ + − − =
02 2
1 11
) ( ) ,2 2 6
n
n n n nn n n n
h
n
n
n n
x y y hM M Mx yh h h
−−
− + = − 1
1,
6 3n n n n
n n nn
h h y yM M yh
Matemática Computacional, MEMec, LEAN, MEAer
Spline cúbicoou seja, para spline completo o sistema a resolver é
−−
+ + + −− +
+
+ − − + + = − = −
−+ =
−
−+ = −
1 1 1 11 1
1
1 01 10 1 0
1
11
,
1,2, ... ,
3 6
,6 3
16 3 6
n n n nn n n
n
i i i i i i i ii i i
i i
y yh hM M yh
h h y yM
h h h h y y y yM M M i nh h
M yh
Hipótese 3: spline periódico
Hipótese 3: continuidade da 3ª derivada em x1 e xn–1, …
• • • (consultar referências)
• • • (consultar referências)
Matemática Computacional, MEMec, LEAN, MEAer
Splines cúbicos
Ω = 0 1 0 1(Holladay): [ , ] Nós: , ,..., Valores nodais: , ,...,n n
ba
a b x x x y y yTeorema
Interpretação: De todas as curvas interpoladoras com continuidade até à segundaderivada, o spline cúbico natural é a curva mais direita possível (porque o valor médioda curvatura é mínimo)
[ ]
2
2
De todas as funções com continuidade até à segunda derivada ( ( )) que interpolam os anteriores valores, o spline cúbico natural é a função que minimiza o valor
( ) ''( )
e é uma função única
b
a
f C
J f f x dx
∈ Ω
= .
Nota: J(f) é proporcional à energia de deformação duma viga elástica
Matemática Computacional, MEMec, LEAN, MEAer
Erros da interpolação por splines cúbicos
4
3
4
4
4
4
0 0
1 1
2 2
2
3
2
3
5384
3 1216 24
1 112 3
1
' '
'' ''
''' ''' 12
max mini i
f S C D f h C
f S C D f h C
hf S C D f h Ch
hf S C D f h Ch
h h h h
∞ ∞
∞ ∞
∞ ∞
∞ ∞
− ≤ ⋅ ⋅ =
− ≤ ⋅ ⋅ = +
− ≤ ⋅ ⋅ = + ⋅
− ≤ ⋅ ⋅ = +
= =