CAP. IV – INTERPOLAÇÃO POLINOMIAL
INTRODUÇÃO
Muitas funções são conhecidas apenas num conjunto finito e discreto de
pontos de um intervalo [a,b].
Exemplo:
A tabela seguinte relaciona calor específico da água e temperatura:
temperatura (ºC)
20
25
30
35
calor específico
0.99907
0.9985
0.9982
0.9918
Suponhamos que queremos calcular:
a) calor específico da água a 27.5ºC;
b) a temperatura para a qual o calor específico é 0.9983.
INTERPOLAÇÃO
quando são conhecidos somente
os valores numéricos da função
para um conjunto de pontos e é
necessário calcular o valor da
quando a função em estudo tem
uma expressão gera complexa,
tornando
operações
como
integração e diferenciação difíceis
função num ponto não tabelado
Página 1 de 25- Interpolação Polinomial
a
Como esta função é dada apenas num conjunto finito de pontos sem se
dispôr da sua forma analítica, substitui-se esta por outra função. Esta nova
função é uma aproximação à função dada, deduzida a partir dos pontos
conhecidos.
FUNÇÃO APROXIMANTE
Estas funções podem ser de vários tipos tais como exponencial,
logarítmica, trigonométrica e polinomial.
Aqui vamos estudar apenas as funções polinomiais.
CONCEITO DE INTERPOLAÇÃO
Consideremos n+1 pontos distintos, x0, x1, ..., xn, no intervalo [a, b] e os
valores da função f(x) nesses pontos, f(x0), f(x1), ... , f(xn).
Uma das formas de interpolação de f(x) que iremos ver consiste em
determinar uma função g(x), a função interpoladora, tal que:
⎧g(x 0 ) = f(x 0 )
⎪g(x ) = f(x )
⎪ 1
1
⎨
⎪......
⎪⎩g(x n ) = f(x n )
GRAFICAMENTE:
Função aproximante → polinómio → interpolação polinomial
Página 2 de 25- Interpolação Polinomial
Conhecidos os pontos (suporte da interpolação)
(x0, f(x0)), (x1, f(x1)), ... , (xn, f(xn)) com xi <xi+1, i=0,...,n e x0=a e xn=b,
pretende-se aproximar f(x), por um polinómio
n
pn(x) = anx + an-1x
n-1
n
+ … +a2x + a1x + a0 = ∑ a i x i
2
1
i =0
tal que
pn(xi) = f(xi), i= 0, …,n.
Os coeficientes a0, a1, ...., an são determinados à custa da resolução do
seguinte sistema:
Página 3 de 25- Interpolação Polinomial
⎧a n x 0 n + a n -1x 0 n −1 + ... + a 2 x 0 2 + a1x 0 + a 0 = f(x 0 )
⎧p n (x 0 ) = f(x 0 )
⎪
⎪p (x ) = f(x )
⎪a n x1n + a n -1x1n −1 + ... + a 2 x12 + a1x1 + a1 = f(x1 )
⎪ n 1
1
⇔ ⎨
⎨
.......
⎪
⎪......
⎪⎩p n (x n ) = f(x n )
⎪
n
n −1
+ ... + a 2 x n 2 + a1x n + a n = f(x n )
⎩a n x n + a n -1x n
⎡ x 0 n x 0 n -1 ...... x 0 2
⎢
⎢ x1n x1n -1 ...... x12
⇔ ⎢
⎢..........
⎢ x n x n -1 ..... x 2
⎣ n
n
n
x0
x1
xn
⎡a n ⎤
1 ⎤ ⎢a n -1 ⎥ ⎡f(x 0 ) ⎤
⎥
⎥ ⎢
⎢
⎥ ⎢f(x1 ) ⎥
....
⎥
1
⎢
⎥
⎥ . ⎢a ⎥ = ⎢.... ⎥
⎥ ⎢ 2 ⎥ ⎢
⎥
⎢
⎥
1⎥⎦ ⎢a1 ⎥ ⎣f(x n )⎦
⎢⎣a 0 ⎥⎦
A solução do sistema anterior é única se o determinante da matriz for
diferente de zero, o que acontece se os n+1 pontos, x0, x1, ..., xn forem
todos distintos.
Demonstra-se o seguinte teorema:
TEOREMA 1:
Sejam dados n+1 pontos distintos (x0, f(x0)), (x1, f(x1)), ... , (xn, f(xn)).
Então existe um único polinómio pn(x) de grau inferior ou igual a n que
satisfaz pn(xi) = f(xi) , i=0, ... ,n.
Página 4 de 25- Interpolação Polinomial
FORMAS
DE
OBTER O POLINÓMIO:
™
resolução do sistema linear obtido anteriormente;
™
interpolação de Lagrange;
™
interpolação de Newton com diferenças divididas;
™
interpolação de Newton com diferenças finitas.
conduzem ao
mesmo
polinómio
FÓRMULA DO ERRO (TRUNCATURA)
Os cálculos anteriores estão afectados de dois tipos de erros:
a) erros de arredondamento;
b) erros de truncatura - quando decidimos aproximar f por um
polinómio de grau n.
E T (x) = (x - x 0 ).(x - x 1 ). ... .(x - x n ).
f (n +1) (ξ )
(n + 1)!
, para algum ξ ∈ ]x 0 , x n [
Página 5 de 25- Interpolação Polinomial
4.1 RESOLUÇÃO DO SISTEMA LINEAR
EXEMPLO 1 (INTERPOLAÇÃO LINEAR) :
Determinar o polinómio interpolador para a função f conhecida pelos
seguintes pontos e calcular o valor de f(1.5).
xi
yi
1
0.84
2
0.91
EXEMPLO 2 (INTERPOLAÇÃO QUADRÁTICA):
Determinar o polinómio interpolador para a função conhecida pelos pontos:
xi
yi
-1
4
0
1
2
-1
Página 6 de 25- Interpolação Polinomial
4.2 INTERPOLAÇÃO DE LAGRANGE
Sejam n+1 pontos distintos (xi, f(xi)), i=0, ... ,n tal que f(xi)=yi.
Consideremos os seguintes (n+1) polinómios de grau n, denominados
polinómios de Lagrange:
⎧L 0 ( x ) = (x - x1 ).( x − x 2 ) ..... (x − x n )
⎪L (x) = (x - x ).(x − x ) ..... (x − x )
0
2
n
⎪ 1
⎨.......
⎪
⎪L (x) = (x - x ).(x - x ) ..... (x − x )
1
n −1
0
⎩ n
De forma abreviada, os polinómios de Lagrange escrevem-se da seguinte
forma:
n
L i (x) = ∏ (x − x j )
(1)
j= 0
j≠ i
Os polinómios Li têm a propriedade seguinte tais que:
⎧= 0
⎪
L i (x j ) ⎨
⎪≠ 0
⎩
se
i≠ j
se
i= j
Como o polinómio pn é de grau n e contém os pontos (xi, f(xi)), i=0, ..., n,
podemos escrever pn como combinação linear dos polinómios de Lagrange,
Li (x) , i=0, ...,n, ou seja:
n
p n (x) = b 0 .L 0 (x) + b1.L1 (x) + ... + b n .L n (x) = ∑ b i .L i (x)
i=0
Página 7 de 25- Interpolação Polinomial
(2)
Assim, para determinar pn (x) basta calcular o valor de bi, i = 0, ... ,n, já
que os polinómios Li(x) são facilmente calculáveis.
pn(xi) = b0.L0 (xi) + b1.L1(xi) + .... +bi.Li (xi) + .... +bn.Ln(xi)
Li (xi)≠0
Como
Lk (xi) = 0 para k = 0, ... , i-1, i+1, ...., n obtém-se:
p n (x i ) = b i .L i (x i )
⇔
bi =
p n (x i )
yi
=
, i = 0,..., n
L i (x i ) L i (x i )
Substituindo o valor de bi em (2), obtém-se:
n
p n (x) = ∑ y i .
i=0
L i (x)
L i (x i )
Tendo em atenção (1) concluímos que:
n
n
i=0
j= 0
j≠ i
p n (x) = ∑ y i ∏
(x − x j )
(x i − x j )
Polinómio Interpolador
de Lagrange
EXEMPLO:
Determinar o polinómio interpolador de Lagrange para a função conhecida
pelos pontos:
xi
yi
0
0
0.2
2.008
0.4
4.064
Página 8 de 25- Interpolação Polinomial
0.5
5.125
4.3 INTERPOLAÇÃO COM DIFERENÇAS DIVIDIDAS
Diferença Dividida
A 1ª derivada de f(x) no ponto x0 é por definição:
f(x) - f(x0 )
x→x 0
x - x0 .
f ' (x 0 ) = lim
A diferença dividida de 1ª ordem é definida como uma aproximação da 1ª
f [x, x 0 ] =
derivada:
f(x) - f(x 0 )
x - x0
=
f(x 0 ) - f(x)
x0 - x
(1)
Se fizer x=x1 em (1), tem-se a diferença dividida de 1ª ordem em relação aos
∇y 0 = f [x1, x 0 ] =
argumentos x0 e x1 :
f(x 0 ) - f(x1)
x 0 - x1
y -y
= 0 1
x 0 - x1
4.3.1 OPERADOR DE DIFERENÇAS DIVIDIDAS
Ordem
∇ 0 y i = f [x i ] = f(x i ) = y i
0
1
∇ yi
f [x i +1 ] − f [x i ] ∇ 0 y i+1 − ∇ 0 y i
= f [x i , x i +1 ] =
=
x i +1 − x i
x i +1 − x i
...
∇ n y i = f [x i , x i +1 ,..., x i + n ] =
n
∇
n
yi
=
f [x i +1 , ... , x i + n ] − f [x i , ..., x i + n -1 ]
xi+n − xi
∇ n -1y i+ 1 − ∇ n -1y i
xi+n − xi
Página 9 de 25- Interpolação Polinomial
TABELA DE DIFERENÇAS DIVIDIDAS:
∇0yi
f[x0]
xi
x0
∇1yi
∇2yi
....
∇nyi
f[x0,x1]
x1
f[x1]
f[x0,x1,x2]
f[x1,x2]
x2
f[x2]
....
f[x1,x2,x3]
f[x2,x3]
...
...
f[x0,x1,...,xn]
...
f[xn-2,xn-1,xn]
f[xn-1,xn]
xn
f[xn]
EXEMPLO:
Determinar as diferenças divididas de f definida pelos seguintes pontos:
xi
yi
0.3
3.09
1.5
17.25
2.1
25.41
Resolução: Começamos por construir a tabela das diferenças divididas
xi
f(xi)= ∇ 0yi
0.3
1.5
2.1
3.09
17.25
25.41
∇1yi
∇ 2yi
Página 10 de 25- Interpolação Polinomial
4.3.2 POLINÓMIO INTERPOLADOR
DE
NEWTON
PARA DIFERENÇAS
DIVIDIDAS
Consideremos os n+1 pontos (xi, f(xi)), i=0 ,..., n e pn(x) o polinómio de
grau n que contém esses pontos.
Pela definição de diferença dividida de 1ª ordem, tem-se que:
p n [x, x 0 ] =
p n [x 0 ] − p n [x] p n (x0 ) − p n (x)
=
⇔
x0 − x
x0 − x
⇔ p n (x) = p n (x0 ) + (x − x 0 ).p n [x, x 0 ] (1)
Pela definição de diferença dividida de 2ª ordem, tem-se que:
p n [x, x 0 , x1 ] =
p n [x 0 , x1 ] − p n [x, x 0 ]
x1 − x
⇔ p n [x, x 0 ] = p n [x 0 , x1 ] + (x − x1 ).p n [x, x 0 , x1 ]
Substituindo pn [x, x0] em (1), obtém-se:
p n (x) = p n (x 0 ) + ( x − x 0 ).p n [x 0 , x1 ] + (x − x 0 ).(x − x1 ).p n [x, x 0 , x1 ]
Página 11 de 25- Interpolação Polinomial
Continuando assim sucessivamente, obtemos:
[
]
[
]
p n (x) = p n (x 0 ) + ( x − x 0 ).p n x 0 , x1 + (x − x 0 ).(x − x1 ).p n x 0 , x1 , x 2 + .... +
[
]
[
+ (x − x 0 ).(x − x1 )...(x − x n -1 ).p n x 0 , x1 , ..., x n + (x − x 0 ).(x − x1 )...(x − x n ).p n x, x 0 , x1 , ..., x n
Como
¾ pn(x) é de grau n,
(x − x 0 ).(x − x1 )...(x − x n ).p n [x, x 0 , x1 , ..., x n ] = 0
¾ pn (x0) = y0
¾ pn [x0, …, xi] = ∇i y0
podemos escrever:
p n (x) = y 0 + ( x − x 0 ).∇ 1 y 0 + (x − x 0 ).(x − x 1 ).∇ 2 y 0 + .... + (x − x 0 ).(x − x 1 )...(x − x n -1 ).∇ n y 0
Ou ainda,
n
i -1
Pn (x) = y 0 + ∑ ∇ y 0 ∏ (x - x j )
i
i =1
j= 0
Polinómio Interpolador
de Newton
EXEMPLO:
Determinar o polinómio interpolador de Newton para a função f definida
pelos seguintes pontos:
xi
yi
0.3
3.09
1.5
17.25
2.1
25.41
Página 12 de 25- Interpolação Polinomial
]
PONTOS IGUALMENTE ESPAÇADOS:
Admitamos que os pontos xi são igualmente espaçados, isto é:
xi = xi-1 + h, i=1, ...,n, sendo h uma constante denominada passo.
Consideremos a variável auxiliar, z, dada por z =
x − x0
h
.
Tem-se que:
x-x0 = h.z
x-x1 = x-(x0+h) = x-x0-h = h.z-h = h.(z-1)
x-x2 = x-(x1+h) = x-x1-h = h.(z-1)-h = h.(z-2)
.....
x-xn-1= x-(xn-2 +h) = x- xn-2-h = h.(z-(n-2))-h = h.(z-(n-1))
Substituindo os valores anteriores no polinómio interpolador de Newton
para diferenças divididas
p n (x) = y 0 + ( x − x 0 ).∇1 y0 + (x − x 0 ).(x − x 1 ).∇ 2 y0 + .... + (x − x 0 ).(x − x 1 )...(x − x n -1 ).∇ n y0
obtém-se:
p n (x) = y 0 + hz.∇1 y0 + hz. h(z - 1).∇ 2 y0 + .... + hz. h(z − 1). h(z − 2)...h(z − (n − 1)).∇ n y0
Ou ainda:
n
i-1
Polinómio Interpolador de Newton
i =1
j=0
para pontos igualmente espaçados
p n (x) = y 0 + ∑ h i .∇ i y 0 ∏ (z - j)
Página 13 de 25- Interpolação Polinomial
4.4 INTERPOLAÇÃO COM DIFERENÇAS FINITAS
Seja f uma função da qual se conhecem os n+1 pontos (xi, f(xi)), i=0 ,..., n,
onde os pontos xi são igualmente espaçados:
xi = xi-1 + h, i=1, ...,n
4.4.1 OPERADOR DE DIFERENÇAS FINITAS
Ordem
∆0 yi = f(x i ) = y i
0
∆1 yi = y i +1 − y i = ∆0 yi +1 − ∆0 yi
1
...
n
∆n yi = ∆n -1 yi +1 − ∆n -1 yi
EXEMPLO:
Determinar a tabela das diferenças finitas da função f definida pelos
seguintes pontos:
xi
yi
3.5
9.82
4.0
10.84
4.5
12.88
5.0
13.98
5.5
16.99
Resolução: Começamos por construir a tabela das diferenças finitas
xi
f(xi)= ∆0
∆1yi
∆2yi
∆3
∆4yi
yi
3.5
4.0
4.5
5.0
5.5
9.82
10.84
12.88
13.98
16.99
yi
1.02
2.04
1.10
3.01
1.02
-0.94
1.91
-1.96
2.85
Página 14 de 25- Interpolação Polinomial
4.81
4.4.2 POLINÓMIO INTERPOLADOR
DE
NEWTON
PARA DIFERENÇAS
FINITAS
Nesta secção vamos considerar que os n+1 pontos xi são igualmente
espaçados:
xi = xi-1 + h, i=1, ...,n.
Segue-se um teorema que relaciona as diferenças divididas com as
diferenças finitas.
TEOREMA 2:
Seja f uma função definida nos pontos (xi, yi), i=0, ... ,n tais que,
xi+1 - xi = h, i=0, ..., n-1.
Tem-se que:
∇ k yi =
∆k yi
k!.h k
Considere-se o polinómio interpolador de Newton para pontos igualmente
n
i-1
i =1
j=0
p n (x) = y 0 + ∑ h i .∇ i y 0 ∏ (z - j)
espaçados:
Substituindo ∇ y 0 por
i
n
p n (x) = y 0 + ∑
i =1
∆i y 0
, i = 1, ..., n , obtém-se:
i!.h i
∆i y 0 i-1
∏ (z - j)
i! j=0
com z - j =
x-xj
h
Polinómio Interpolador
Gregory-Newton
para diferenças finitas
Página 15 de 25- Interpolação Polinomial
EXEMPLO:
Dada a função f, conhecida nos pontos abaixo tabelados, calcule f(0.25).
xi
yi
0.1
0.125
0.2
0.064
0.3
0.027
0.4
0.008
0.5
0.001
Resolução: Começamos por construir a tabela das diferenças finitas
xi
∆0yi
∆1yi
∆2yi
∆3yi
∆4yi
0.1
0.2
0.3
0.4
0.5
0.125
0.064
0.027
0.008
0.001
-0.061
-0.037
-0.019
-0.007
0.024
0.018
0.012
-0.006
-0.006
0
Página 16 de 25- Interpolação Polinomial
4.5 ESTUDO DO ERRO NA INTERPOLAÇÃO
Como já observamos, ao aproximar-se a função f(x) por um polinómio
pn(x), comete-se um erro (erro de truncatura), ou seja,
E T (x) = f(x)-p n (x), para todo o x ∈ [x 0 , x n ]
EXEMPLO:
Temos que:
¾ p1(x) interpola f1(x) e f2(x) em x0 e x1;
¾ E1=f1(x)-p1(x) > E2=f2(x)-p2(x), para todo o x∈(x0,x1).
Página 17 de 25- Interpolação Polinomial
Uma medida para o erro de truncatura é dada pelo seguinte teorema:
TEOREMA 3:
Sejam f, f ', f '',..., f (n) definidas e contínuas no intervalo [x0, xn] e a derivada
f (n+1)definida em (x0, xn).
Seja pn(x) o polinómio interpolador de f(x) nos pontos, x0, x1, ..., xn.
Então, em qualquer ponto x pertencente ao intervalo [x 0 , x n ], o erro é dado
por
f (n +1) (ξ )
E T (x) = (x - x 0 ).(x - x1 ).(x - x 2 ) .... (x - x n )
(n + 1)!
Para algum ξ ∈ (x0,xn).
Nota:
™ Para pontos igualmente espaçados, ET(x) é equivalente a:
E T (z) = h
(n +1)
f (n +1) (ξ )
z.(z - 1).(z - 2).(z - 3) .... (z - n)
(n + 1)!
™ Na maior parte das vezes não se conhece o valor exacto de ξ.
Assim, consideramo-lo igual ao valor que maximiza |f (n+1)(x)| em (x0, xn),
isto é,
ξ = max
x 0 < x < xn
f (n +1) ( x )
Página 18 de 25- Interpolação Polinomial
4.6 OUTRAS FORMAS DE INTERPOLAÇÃO
4.6.1 INTERPOLAÇÃO DE HERMITE
O objectivo da interpolação de Hermite é representar uma função por um
polinómio que interpole a função e a sua 1ª derivada.
Procuramos um polinómio interpolador Hk(x) de uma função f e da sua
primeira derivada f ’ em n+1 pontos distintos x 0 , x1 ,..., x n .
Seja f uma função da qual se conhecem os n pontos (xi, f(xi)), i=0 ,..., n,
com xi ≠ xj para i ≠ j e os valores f ´(x0), f ´(x1), ..., f ´(xn).
Pretendemos aproximar f(x), por um polinómio H2n+1(x) que verifica:
H2n+1(xi) = f(xi), i = 0, …,n
(n+1 condições)
H´2n+1(xi)= f ´(xi), i = 0, …,n
(n+1 condições)
Temos 2n+2 condições, ou seja, 2n+2 equações
H2n+1 é polinómio de grau inferior ou igual a (2n+1)
H2n+1(x) = a2n+1x2n+1 + a2nx2n + … +a2x2 + a1x1 + a0 =
2n +1
∑ aixi
i=0
CONSTRUÇÃO DO POLINÓMIO:
(GENERALIZAÇÃO
DO
POLINÓMIO INTERPOLADOR
DE
NEWTON
NAS
DIFERENÇAS
DIVIDIDAS):
Consideremos os 2n+2 pontos z0, z1, ..., z2n+1 e o polinómio interpolador de
Newton:
Página 19 de 25- Interpolação Polinomial
[
]
[
]
H 2n +1 (x) = f(z 0 ) + (x − z 0 ).f z 0 , z1 + (x − z 0 ).(x − z1 ).f z 0 , z1, z 2 + ... +
[
+ (x − z 0 ).(x − z1 )...(x − z 2n ).f z 0 , z1, ... z 2n +1
]
Considerando
z0 = z1 = x0
z2 = z3 = x1
...
z2n = z2n+1 = xn
obtemos
H 2n+1 (x) = f(x0 ) + (x − x 0 ).f [x 0 , x 0 ] + (x − x 0 ) 2 .f [x 0 , x 0 , x1 ] + (x − x 0 ) 2 (x − x1 ).f [x 0 , x 0 , x1 , x1 ] + ... +
+ (x − x 0 ) 2 .(x − x1 ) 2 ...(x − x n-1 ) 2 (x − x n ).f [x 0 , x 0 , ..., x n , x n ]
Generalizando a definição de diferenças divididas,
f(x i ) − f(x)
f(x) − f(x i )
= lim
= f ' (x i )
x →xi
x →xi
xi − x
x − xi
f [x i , x i ] = lim f [x, x i ] = lim
x →xi
f [x 0 , x1 ] − f [x 0 , x 0 ] f [x 0 , x1 ] − f ' (x 0 )
f [x 0 , x 0 , x1 ] =
=
x1 − x 0
x1 − x 0
Para o polinómio cúbico de Hermite (n=1) podemos construir a seguinte
tabela:
f [x 0 , x 0 , x1 , x1 ] =
f [x 0 , x1 , x1 ] − f [x 0 , x 0 , x1 ]
x1 − x 0
....
Página 20 de 25- Interpolação Polinomial
X
z0 = x0
f
f(x0)
1as. Difs (D)
2as. Difs (D2)
3as. Difs (D3)
f ´(x0)=f[x0,x0]
z1 = x0
f(x0)
f[x0,x0,x1]
f[x0,x1]
z2 = x1
f[x0,x0,x1,x1]
f(x1)
f[x0,x1,x1]
´
f (x1)=f[x1,x1]
z3 = x1
f(x1)
2
2
2
H3(x)=f(x0)+ f[x0,x0].(x-x0)+ f[x0,x0,x1].(x-x0) + f[x0,x0,x1,x1].(x-x0) .(x-x1)
EXEMPLO: Determinar o valor aproximado de ln(1.5) sabendo que:
x
ln(x)
1/x
1
0
1
2
0.6931
0.5
Resolução: Começamos por construir a tabela das diferenças divididas para
a interpolação de Hermite
f
D
D2
D3
x
Z0=1=x0
0
Z1=1=x0
0
Z2=2=x1 0.6931
Z3=2=x1 0.6931
Página 21 de 25- Interpolação Polinomial
ERRO DE TRUNCATURA:
Então, em qualquer ponto x pertencente ao intervalo [x 0 , x n ] , o erro é
dado por
f (2n + 2) (ξ )
E T (x) = (x - x 0 ) .(x - x1 ) .... (x - x n )
, ξ ∈ (x 0 , x n ).
(2n + 2)!
2
4.6.2 INTERPOLAÇÃO
COM
2
2
SPLINES
Há casos em que o polinómio interpolador de grau elevado conduz
a resultados erróneos. Uma aproximação alternativa consiste em
ajustar polinómios de ordem mais baixa a subconjuntos dos dados.
Tais polinómios chamam-se funções splines.
EXEMPLO :
Consideremos uma função f(x) tabelada nos pontos a =x0 < x1 < ... < xn= b.
DEFINIÇÃO (FUNÇÃO SPLINE)
Uma função s(x) é denominada spline de grau m com nós nos pontos xi, se
satisfaz as seguintes condições:
i) em cada subintervalo [xi-1, xi], i=1, ..., n, si(x) é um polinómio de grau m;
ii) s(x) é contínua e tem derivada contínua até à ordem (m-1) em [a,b]
Página 22 de 25- Interpolação Polinomial
DEFINIÇÃO ( FUNÇÃO SPLINE INTERPOLADORA)
Função spline que verifica:
s(xi) = f(xi), i=0, ..., n
‰
SPLINES LINEARES:
A função spline linear interpolante de f(x) pode ser escrita em cada
subintervalo [xi-1, xi], i=1, ..., n como
s i (x) = f(x i −1 )
xi − x
x − x i −1
+ f(x i )
, x ∈ [x i -1 , x i ]
x i − x i −1
x i − x i −1
EXEMPLO:
Calcule a função spline linear que interpola a função tabelada.
xi
yi
s1 (x) = f(x 0 )
1
1
2
2
5
3
7
2.5
x − x0
x1 − x
+ f(x1 )
= x,
x1 − x 0
x1 − x 0
1
s 2 (x) = (x + 4), x ∈ [2,5];
3
x ∈ [1, 2]
1
s 3 (x) = (−0.5x + 8.5), x ∈ [5,7]
2
Página 23 de 25- Interpolação Polinomial
Desvantagem: primeira derivada descontínua nos nós xi
⇓
SPLINES DE ORDEM SUPERIOR ( QUADRÁTICOS E CÚBICOS )
‰
SPLINES QUADRÁTICOS
A função spline quadrática interpolante de f(x) pode ser escrita em cada
subintervalo como
s i (x) = a i x 2 + b i x + c i , i = 1, ..., n
(n+1) pontos ⇒ n subintervalos ⇒ 3n constantes desconhecidas
As 3n equações para determinar as 3n constantes são:
¾ O valor das splines quadráticas tem que ser igual nos nós interiores,
i.e.,
⎧s i (x i ) = f(x i )
⎪
⎨
⎪s (x ) = f(x )
i
⎩ i +1 i
, i = 1, ..., n - 1
(2n-2) condições
¾ A primeira e a última spline têm que passar nos nós finais,
s1(x0)=f(x0)
e
sn(xn)=f(xn)
2 condições
¾ A primeira derivada nos nós interiores tem de ser igual,
si´(xi) = si+1´(xi), i=1, ..., n-1
(n-1) condições
¾ Escolha arbitrária num conjunto de opções.
Consideremos que a segunda derivada é nula no primeiro ponto:
s1´´(x0)=0 ⇔ a1=0
Página 24 de 25- Interpolação Polinomial
EXEMPLO:
Calcular splines quadráticos que interpolam a função tabelada.
xi
yi
3
2.5
4.5
1
7
2.5
9
0.5
Página 25 de 25- Interpolação Polinomial
Download

4.Interpolação Polinomial