Métodos Numéricos Interpolação...
Transcript of Métodos Numéricos Interpolação...
Métodos Numéricos
Interpolação Polinomial
Filomena TeodoroDepartamento de Matemática
Escola Superior de Tecnologia de Setúbal
Ano Lectivo 2003/2004
1 Introdução
Seja f(x) uma função real de variável real apenas conhecida em n+1 pontos(xi, f(xi)) , i = 0, 1, . . . , n. O problema genérico da interpolação de consisteem aproximar a função f(x) através de uma outra função
g(x) = a0b0(x) + · · ·+ anbn(x),
em que b0(x), b1(x), . . . , bn(x) são funções pré-definidas e a0, a1, . . . , an sãoconstantes, de forma que g(x) e f(x) coincidam nos pontos (xi, f(xi)) , i =0, 1, . . . , n.
Nada nos garante que este problema tenha solução evidente. Por exemplo,fazendo b0(x) = 1 e b1(x) = x2 não existe nenhuma função
g(x) = a0b0(x) + a1b1(x) = a0 + a1x2
que passe em (1, 1) e (−1, 0). Note-se que sendo b0(x) e b1(x) funções pares,g(x) também é uma função par e g(−1) = g(1).
A função g(x) designa-se habitualmente por função interpoladora def(x) e o conjunto de pontos {(xi, f(xi)) , 0 ≤ i ≤ n} designa-se suporte
de interpolação. As abcissas x0, x1, . . . , xn dizem-se os nós de interpo-
lação e as ordenadas y0 = f(x0), y1 = f(x1), . . . , yn = f(xn) são os valoresnodais. O tipo de interpolação depende da estrutura da família de funçõesb0(x), b1(x), . . . , bn(x). Quando
g(x) = a0 + a1eix + a2e
2ix + · · ·+ anenix,
a interpolação denomina-se trigonométrica, se
g(x) = a0 + a1ex + a2e
2x + · · ·+ anenx
a interpolação denomina-se de exponencial. Se g(x) for um polinómio, istoé, se
g(x) = a0 + a1x+ a2x2 + · · ·+ anx
n
estaremos no caso da interpolação polinomial.A necessidade de fazer interpolação surge, por exemplo, quando a função
f(x) se encontra tabelada para um certo conjunto de valores x0, x1, . . . , xn,
x x0 x1 x2 · · · xn
f (x) f (x0) f (x1) f (x2) · · · f(xn),
e se pretende determinar um valor não tabelado f(x), com x �= xi, i =0, . . . , n. O erro na determinação do valor não tabelado através da funçãointerpoladora deve-se ao facto de se estimar f(x) à custa de g(x) (excepto nocaso da função tabelada ser a função interpoladora), aos erros de arredonda-mento e à propagação dos erros iniciais.
1
2 Definição de polinómio interpolador. Exis-
tência e Unicidade. Polinómio interpolador
de Lagrange.
Passaremos a designar por pn(x) a função interpoladora g(x), uma vez quelimitaremos o nosso estudo ao caso particular da interpolação polinomial. Ainterpolação polinomial é de grande interesse do ponto de teórico e práticoem áreas como teoria da aproximação, equações não lineares, integração ederivação numéricas e solução numérica de equações diferenciais e integrais.
Dada uma função f(x) conhecida em n+1 pontos (xi, f(xi)) , i = 0, 1, . . . , n,o objectivo da interpolação polinomial consiste em determinar o polinómiode grau ≤ n,
pn(x) = a0 + a1x+ a2x2 + · · ·+ anx
n,
que coincide com f(x) naqueles pontos, isto é,
pn (xi) = f (xi) = fi, ∀i = 0, . . . , n.
Exemplo 1 Determine o polinómio interpolador que aproxima a função f(x)dada natabela seguinte
x −1 0 1f (x) 2 3 2
.
Neste caso tem-se que o suporte de interpolação é o conjunto {(−1, 2), (0, 3),(1, 2)}. Procuramos o polinómio p2 (x) = a0 + a1x + a2x
2 que satisfaz asigualdades p2 (xi) = f(xi), i = 0, 1, 2. Ora,
p2 (x0) = f(x0)p2 (x1) = f(x1)p2 (x2) = f(x2)
⇔
a0 + a1x0 + a2x20 = f(x0)
a0 + a1x1 + a2x21 = f(x1)
a0 + a1x2 + a2x22 = f(x2)
,
ou seja,
a0 − a1 + a2 = 2a0 = 3
a0 + a1 + a2 = 2⇔
a2 = −1a0 = 3a1 = 0
.
Consequentemente, o polinómio interpolador é p2 (x) = 3− x2.
Quando se consideram apenas 2, 3 e 4 pontos a interpolação polinomialdenomina-se, respectivamente, interpolação linear, quadrática (ou parabólica)e cúbica.
O seguinte teorema mostra-nos que o polinómio interpolador existe e éúnico. Além disto, fornece uma forma explícita para o cálculo de pn(x).
2
Teorema 1 Seja Pn o conjunto dos polinómios de grau menor ou igual n.Dada uma função f(x) e n+1 pontos distintos (xi, fi) , i = 1, . . . , n, tem-se:
(i) Existe um e um só polinómio pn(x) ∈ Pn, tal que
pn (xi) = fi, ∀i = 0, 1, . . . , n.
(ii) pn(x) pode ser dado explicitamente por
pn (x) =n∑
i=0
Li (x) fi (1)
em que
Li (x) =n∏
j=0,j �=i
(x− xj)
(xi − xj).
Quando escrito na forma (1), pn (x) denomina-se por polinómio interpo-lador de Lagrange. As funções Li (x), i = 0, 1, . . . , n, designam-se porpolinómios de Lagrange.
Dem. (i)As condições
pn (xi) = a0 + a1xi + a2x2i + · · ·+ anx
ni = fi, i = 1, . . . , n,
conduzem ao seguinte sistema de equações linear nas incógnitas a0, a1, . . . , an,
a0 + a1x0 + a2x20 + · · ·+ anx
n0 = f0
...a0 + a1xn + a2x
2n + · · ·+ anx
nn = fn
cuja forma matricial éV A = F
em que
V =
1 x0 x20 · · · xn
0
1 x1 x21 · · · xn
1...
......
......
1 xn x2n · · · xn
n
, A =
a0a1...an
e F =
f0f1...fn
.
A matriz de coeficientes V designa-se por matriz de Vandermonde. Osistema é possível e determinado (isto é, admite uma e uma só solução), se esó se detV �= 0.
3
Prova-se facilmente que se os nós de interpolação x0, x1, . . . , xn são dis-tintos, então detV �= 0. Com efeito, para i = 1, 2, . . . , n − 1, subtraindo àcoluna i+ 1 a coluna i multiplicada por x0, obtém-se
detV = Dn+1 =
∣∣∣∣∣∣∣∣∣1 x0 x2
0 · · · xn0
1 x1 x21 · · · xn
1...
......
......
1 xn x2n · · · xn
n
∣∣∣∣∣∣∣∣∣=
∣∣∣∣∣∣∣∣∣1 0 0 · · · 01 x1 − x0 x1 (x1 − x0) · · · xn−1
1 (x1 − x0)...
......
......
1 xn − x0 xn (xn − x0) · · · xn−1n (xn − x0)
∣∣∣∣∣∣∣∣∣.
Pelo teorema de Laplace, desenvolvendo a primeira linha, vem
detV = Dn+1 = (−1)n+1
∣∣∣∣∣∣∣x1 − x0 x1 (x1 − x0) · · · xn−1
1 (x1 − x0)...
......
...xn − x0 xn (xn − x0) · · · xn−1
n (xn − x0)
∣∣∣∣∣∣∣ .Cada elemento da linha i (i = 1, . . . , n) contém o factor (xi − x0), pelo que
detV = Dn+1 = (x1 − x0) (x2 − x0) · · · (xn − x0)Dn,
em que
Dn =
∣∣∣∣∣∣∣∣∣1 x1 x2
1 · · · xn−11
1 x2 x22 · · · xn−1
2...
......
......
1 xn x2n · · · xn−1
n
∣∣∣∣∣∣∣∣∣é o determinante de Vandermonde de ordem n. Repetindo o raciocínio onúmero suficiente de vezes obtém-se a relação geral
Dn−k+1 =
[n∏
j=k+1
(xj − xk)
]Dn−k, 0 ≤ k ≤ n− 1.
Como os nós são distintos, xj �= xi, (j �= k) então
(xj − xk) �= 0, 0 ≤ k ≤ n− 1, k + 1 ≤ j ≤ n
comD1 = 1 �= 0.
4
Assim, os determinantes de Vandermonde são não nulos. Logo, o sistemaV A = F admite solução única, o que equivale a dizer que o polinómio inter-polador pn(x) existe e é único.
A unicidade pode ser verificada de uma maneira alternativa, significa-tivamente menos trabalhosa. Basta supor que existe um outro polinómiointerpolador qn (x) ∈ Pn, que verifica
qn (xi) = pn (xi) = fi, 0 ≤ i ≤ n.
Então, qn (x) − pn (x) ∈ Pn e anula-se nos n + 1 pontos xi. Pelo TeoremaFundamental da Álgebra, um polinómio de grau n não tem mais de n raízes.Como qn (x) − pn (x) tem n + 1 raízes, qn (x) − pn (x) = 0, isto é, qn (x) =pn (x) .
(ii) Consideremos os n+ 1 polinómios de Lagrange de grau n,
Li (x) =n∏
j=0,j �=i
(x− xj)
(xi − xj)=
(x− x0) · · · (x− xi−1) (x− xi+1) · · · (x− xn)
(xi − x0) · · · (xi − xi−1) (xi − xi+1) · · · (xi − xn).
Ora,
Li (x) = δij =
{1, j = i0, j �= i
pelo que
pn (x) =n∑
i=0
Li (x) fi
é tal quepn (xi) = fi, ∀i = 0, 1, . . . , n.
Exemplo 2 Dada a tabela da função f(x) =√x,
x 1 2 4f (x) 1 1.41 2
,
obtenha o polinómio interpolador de Lagrange e o seu valor em x = 3.Procuramos p2 (x) = a0 + a1x+ a2x
2 tal que
p2 (x) =2∑
i=0
Li (x) fi
5
com os polinómios de Lagrange dados por
L0 (x) =(x− x1) (x− x2)
(x0 − x1) (x0 − x2)=
(x− 2) (x− 4)
(1− 2) (1− 4)
=1
3(x− 2) (x− 4) =
8
3− 2x+
1
3x2,
L1 (x) =(x− x0) (x− x2)
(x1 − x0) (x1 − x2)=
(x− 1) (x− 4)
(2− 1) (2− 4)
= −1
2(x− 1) (x− 4) = −2 +
5
2x− 1
2x2
e
L2 (x) =(x− x0) (x− x1)
(x2 − x0) (x2 − x1)=
(x− 1) (x− 2)
(4− 1) (4− 2)
=1
6(x− 1) (x− 2) =
1
3− 1
2x+
1
6x2.
Então,
p2 (x) = L0 (x) f0 + L1 (x) f1 + L2 (x) f2
=1
3(x− 2) (x− 4)× 1− 1
2(x− 1) (x− 4)× 1.41
+1
6(x− 1) (x− 2)× 2
=1.54
3+
1.05
2x− 0.23
6x2.
O valor do polinómio em x = 3 é
p2 (3) =1.54
3+
1.05
2× 3− 0.23
6× 32 = 1.7433.
O erro cometido quando se considera p2 (3) como valor aproximado def(3) =
√3 é dado por
|f(3)− p2 (3)| =∣∣∣√3− 1.7433
∣∣∣ = |1.73205 . . .− 1.7433| ≤ 0.012.
O erro é menor que 12 milésimas. De notar, no entanto, que os valorestabelados estão arredondados às centésimas.
Pode ser útil recorrer à forma matricial para obtenção dos polinómios deLagrange e do polinómio interpolador. Basta lembrar que procuramos
pn(x) = a0 + a1x+ a2x2 + · · ·+ anx
n
6
tal que
pn (xi) = a0 + a1xi + a2x2i + · · ·+ anx
ni = f (xi) = fi, 0 ≤ i ≤ n.
Como vimos acima, estas condições podem representar-se matricialmentepor V A = F . Como a matriz de Vandermonde V é invertível, o vector dasincógnitas A vem dado por A = V −1F. Sendo
pn(x) = a0 + a1x+ a2x2 + · · ·+ anx
n = [1 x · · · xn]︸ ︷︷ ︸X
a0a1...an
︸ ︷︷ ︸A
,
tem-sepn(x) = XA = XV −1F.
Por outro lado,
pn (x) =n∑
i=0
Li (x) fi = [L0(x) L1(x) · · · Ln(x)]︸ ︷︷ ︸L
f0f1...fn
︸ ︷︷ ︸F
= LF,
pelo queL = XV −1.
Sistematizando, o processo matricial para a determinação do polinómiointerpolador de Lagrange pode ser resumido em três etapas:
1. Cálculo de V e V −1,
2. Cálculo de L = XV −1,
3. Cálculo do polinómio interpolador pn (x) = LF.
Exemplo 3 Considerando novamente a tabela da função f(x) =√x,
x 1 2 4f (x) 1 1.41 2
determinemos, recorrendo ao processo matricial, o polinómio interpolador deLagrange.
7
Com efeito, para determinar os polinómios de Lagrange, basta identificara matriz de Vandermonde
V =
1 1 12
1 2 22
1 4 42
=
1 1 1
1 2 41 4 16
,
obter a sua inversa
V −1 =
1 1 1
1 2 41 4 16
−1
=
8
3−2 1
3
−2 52
−12
13
−12
16
e calcular
L = XV −1 =[1 x x2
] 83
−2 13
−2 52
−12
13
−12
16
=
8
3− 2x+
1
3x2︸ ︷︷ ︸
L0(x)
−2 +5
2x− 1
2x2︸ ︷︷ ︸
L1(x)
1
3− 1
2x+
1
6x2︸ ︷︷ ︸
L2(x)
.
O polinómio interpolador de Lagrange vem então dado por
p2 (x) = LF
=
[8
3− 2x+
1
3x2 − 2 +
5
2x− 1
2x2 1
3− 1
2x+
1
6x2
] 11.412
=1.54
3+
1.05
2x− 0.23
6x2.
3 Erro de Interpolação
Para estimar a diferença |f(x)− pn (x)|, isto é, o erro com que o polinómiointerpolador pn (x) aproxima f(x) em x ∈ Ix, com Ix o menor intervaloque contém x, x0, x1, . . . , xn, não é suficiente conhecer o domínio de f(x) eos nós de interpolação x0, x1, . . . , xn. Basta lembrar que a qualquer funçãoque assuma os mesmos valores tabelados está associado o mesmo polinómiointerpolador, podendo a diferença |f(x)− pn (x)| tornar-se arbitrariamentediferente em qualquer x ∈ Ix. Todavia o conhecimento da derivada de ordemn+1 de f(x) pode levar-nos a uma estimativa do erro. No seguinte teoremaé apresentada uma fórmula explícita para o cálculo do erro de interpolação.
8
Teorema 2 Seja pn(x) o polinómio de grau ≤ n interpolador da funçãof (x) nos nós de interpolação distintos x0, x1, . . . , xn ∈ [a, b]. Se f(x) tiverderivadas contínuas até à ordem n + 1 em [a, b] então, para cada x ∈ [a, b]existe ξ ∈ Ix (com Ix o menor intervalo que contém x, x0, x1, . . . , xn), tal que
f (x)− pn (x) =n∏
j=0
(x− xj)f (n+1) (ξ)
(n+ 1)!.
Dem. O resultado é imediato se x = xi, i = 0, . . . , n, e nesse caso o erro éobviamente nulo.
Seja então x �= xi, i = 0, . . . , n. Considerando
θ(t) =n∏
j=0
(t− xj)
defina-se a função auxiliar
F (t) = f(t)− pn (t)− cθ(t), (2)
onde
c =f (x)− pn (x)
θ(x). (3)
A função F (t) está definida em Ix e é tal que
F (x) = 0 e F (xi) = 0,∀i = 0, 1, . . . , n,
isto é, F (t) tem pelo menos n+ 2 zeros em Ix. Pelo teorema de Rolle, F ′(t)tem pelo menos n + 1 zeros em Ix, F
′′(t) tem pelo menos n zeros em Ix,etc., F (n+1)(t) tem pelo menos 1 zero em Ix. Sendo ξ esse zero de F (n+1)(t),derivando (2) n+ 1 vezes obtém-se
F (n+1)(ξ) = f (n+1)(ξ)− p(n+1)n (ξ)− cθ(n+1)(ξ) = 0.
Mas p(n+1)n (ξ) = 0, pois o polinómio pn (t) é de grau menor ou igual a n.
Como o coeficiente do termo de maior grau do produto θ(t) é igual a 1 tem-seθ(n+1)(ξ) = (n+ 1)!. Então
c =f (n+1)(ξ)
θ(n+1)(ξ)=
f (n+1)(ξ)
(n+ 1)!
e, atendendo a (3), vem
f (x)− pn (x) = θ(x)f (n+1)(ξ)
(n+ 1)!=
n∏j=0
(x− xj)f (n+1) (ξ)
(n+ 1)!,
como se queria.
Note-se que:
9
• Com um só ponto de interpolação (x0, f(x0)) o polinómio interpoladoré de grau zero e pn (x) = f(x0). O erro vem f (x) − pn (x) = f (x) −f (x0) = f ′(ξ), com ξ ∈ Ix .
• Com dois pontos de interpolação (x0, f(x0), x1, f(x1)) o polinómio in-terpolador é de grau 1 (interpolação linear). O erro vem f (x)−pn (x) =f ′′(ξ)2!
(x− x0)(x− x1), com ξ ∈ Ix.
Exemplo 4 Suponhamos que a função
f(x) = log10 x =lnx
ln 10se encontra tabelada e se efectua a interpolação linear nos pontos x0, x1 taisque x1 − x0 = 0.01 e x0 ≥ 1. Para tal, utiliza-se o polinómio interpolador
p1 (x) = L0 (x) f0 + L1 (x) f1
=x− x1
x0 − x1log10 x0 +
x− x0
x1 − x0log10 x1.
O erro da interpolação, para cada x > 0, é dado por
f (x)− p1 (x) =f ′′(ξ)2!
(x− x0)(x− x1), com ξ ∈ Ix,
sendo Ix o menor intervalo que contém x, x0 e x1.Atendendo a que
f ′(x) =1
x ln 10e f ′′(x) = − 1
x2 ln 10≈ −0.434
x2,
tem-se
|f (x)− p1 (x)| =∣∣∣∣0.4342!ξ2
(x− x0)(x− x1)
∣∣∣∣ , com ξ ∈ Ix.
Admitindo que x ∈ [x0, x1] vem
|f (x)− p1 (x)| ≤ maxx0≤x≤x1
∣∣∣∣0.4342!ξ2(x− x0)(x− x1)
∣∣∣∣=
∣∣∣∣(x1 − x0)
2
∣∣∣∣∣∣∣∣(x0 − x1)
2
∣∣∣∣× 0.217
x20
= |(x1 − x0)|2 0.2174x2
0
≤ 0.012 × 0.217
4× 12= 5.425× 10−6.
Assim, quando x ∈ [x0, x1], o erro de interpolação é da ordem de 0.6× 10−5.Note-se que não se consideraram os erros de arredondamento dos valorestabelados f(x0) e f(x1).
10
4 Diferenças Divididas. Polinómio interpo-
lador de Newton
No cálculo do polinómio interpolador de Lagrange, a adição de mais um ponto(xn+1, yn+1) ao suporte de interpolação obriga a que se refaçam todos os cál-culos dos novos polinómios Li(x), i = 0, . . . , n+ 1. É muito frequente que setestem diferentes suportes de interpolação, variando o número de pontos con-siderado, de forma a obedecer a condições de limite do erro de interpolação,|f (x)− pn (x)| ≤ M , com M constante positiva. O polinómio interpoladorde Newton com diferenças divididas permite contornar esse problema.
Este polinómio interpolador surge de uma construção recursiva, extrema-mente simples, a partir da definição de diferença dividida.
Definição 1 Chama-se diferença dividida de primeira ordem de f(x),relativamente aos argumentos xi, xi+1, à seguinte quantidade
f [xi, xi+1] =fi+1 − fixi+1 − xi
.
De um modo geral, a diferença dividida de ordem k (k ≥ 2) de f(x),relativamente aos argumentos xi, xi+1, . . . , xi+k, é a quantidade
f [xi, xi+1, xi+2] =f [xi+1, xi+2]− f [xi, xi+1]
xi+2 − xi
(2a ordem)
...
f [xi, . . . , xi+k] =f [xi+1, . . . , xi+k]− f [xi, . . . , xi+k−1]
xi+k − xi
(ordem k)
As diferenças divididas localizam-se na tabela da seguinte forma:
x f(x) f [xi, xi+1] f [xi, xi+1, xi+2] f [xi, xi+1, xi+2, xi+3] . . .
x0 f0f [x0, x1]
x1 f1 f [x0, x1, x2]f [x1, x2] f [x0, x1, x2, x3] . . .
x2 f2 f [x1, x2, x3]...
f [x2, x3]...
x3 f3...
......
Indicamos seguidamente algumas propriedades das diferenças divididas:
11
1. As diferenças divididas f [x0, x1, x2, . . . , xn] são invariantes para qual-quer variação dos índices de suporte, isto é, são funções simétricasnos seus argumentos: qualquer que seja a ordem dos xi o valor def [x0, x1, x2, . . . , xn] mantém-se.
2. Tem-se
f [x0, x1, x2, . . . , xn] =n∑
i=0
fin∏
j=0,j �=i
(xi − xj)
.
3. Dado um polinómio de grau ≤ n, pn(x) = a0+ a1x+ a2x2+ · · ·+ anx
n,vem que
pn [x0, x] = pn−1 (x) ,
pn [x0, x1, x2, . . . , xn] = an,
pn [x0, x1, x2, . . . , xn, xn+1] = 0.
4. Sendo f(x) uma função n vezes diferenciável num intervalo [a, b] quecontém n+ 1 pontos distintos x0, x1, x2, . . . , xn, então
f [x0, x1, x2, . . . , xn] =f (n)(ξ)
n!, para algum ξ ∈]a, b[.
Vejamos como se obtém o polinómio interpolador de Newton.Das diferenças divididas
f [x, x0] =f(x)− f(x0)
x− x0e f [x, x0, x1] =
f [x, x0]− f [x0, x1]
x− x1
sai quef(x) = f(x0) + (x− x0) f [x0, x] (4)
ef [x, x0] = f [x0, x1] + (x− x1) f [x, x0, x1] , (5)
respectivamente. Então, substituindo (5) em (4), vem
f(x) = f(x0) + (x− x0) f [x0, x]
= f(x0) + (x− x0) (f [x0, x1] + (x− x1) f [x, x0, x1])
= f(x0) + (x− x0) f [x0, x1] + (x− x0) (x− x1) f [x, x0, x1] .
12
Procedendo sucessivamente deste modo, utilizando o facto que da diferençade ordem k + 1,
f [x, x0, . . . , xk] =f [x, x0, . . . , xk−1]− f [x0, x1, . . . , xk]
x− xk
,
se conclui que
f [x, x0, . . . , xk−1] = f [x0, x1, . . . , xk] + (x− xk) f [x, x0, . . . , xk] ,
facilmente se obtém
f(x) = f(x0) + (x− x0) f [x0, x1] + (x− x0) (x− x1) f [x0, x1, x2]
+ · · ·+ (x− x0) (x− x1) · · · (x− xn−1) f [x0, . . . , xn]
+ (x− x0) (x− x1) · · · (x− xn) f [x, x0, . . . , xn] .
Isto é,f(x) = pn(x) +Rn(x) (6)
onde
pn(x) = f(x0) +n−1∑i=0
(x− x0) · · · (x− xi) f [x0, . . . , xi+1]
é o polinómio interpolador de Newton com diferenças divididas e
Rn(x) = (x− x0) (x− x1) · · · (x− xn) f [x, x0, . . . , xn] .
De notar que
pn(x) = f(x0) +n−2∑i=0
(x− x0) · · · (x− xi) f [x0, . . . , xi+1]
+ (x− x0) · · · (x− xn−1) f [x0, . . . , xn] ,
ou seja,
pn (x) = pn−1 (x) + (x− x0) (x− x1) · · · (x− xn−1) f [x0, . . . , xn] .
O interesse prático desta fórmula resulta de possibilitar a construçãorecursiva do polinómio interpolador. De facto, quando se acrescenta umponto ao suporte de interpolação, há somente que adicionar uma parcela aopolinómio obtido anteriormente.
O erro de interpolação obtém-se da igualdade (6):
f(x)−pn(x) = Rn(x) = (x− x0) (x− x1) · · · (x− xn) f [x, x0, x1, x2, . . . , xn] .
13
No caso de f(x) ser n + 1 vezes diferenciável no intervalo [a, b], em que[a, b] é o menor intervalo que contém x, x0, x1, x2, . . . , xn, pode-se aplicar apropriedade 4 acima. Para algum ξ tal que a < ξ < b verifica-se que
|f(x)− pn(x)| =∣∣∣∣(x− x0) (x− x1) · · · (x− xn)
f (n+1)(ξ)
(n+ 1)!
∣∣∣∣≤ |(x− x0) (x− x1) · · · (x− xn)| max
a<x<b
∣∣∣∣f (n+1)(x)
(n+ 1)!
∣∣∣∣︸ ︷︷ ︸M
= |(x− x0) (x− x1) · · · (x− xn)|M.
Exemplo 5 Consideremos a função f(x) =√x nos pontos
(1, 1) , (3, 1.732) , (4, 2) e (5, 2.236) .
Construa-se a tabela das diferenças divididas
x f(x) f [, ] f [, , ] f [, , , ]
1 10.366
3 1.732 −0.03270.268 0.0042
4 2 −0.0160.236
5 2.236
.
Pretende-se calcular aproximadamente f(2) pela fórmula interpoladora. Opolinómio interpolador é
p3 (x) = 1 + (x− 1)× 0.366 + (x− 1) (x− 3)× (−0.0327)
+ (x− 1) (x− 3) (x− 4)× 0.0042
= 0.485 5 + 0.5766x− 0.0663x2 + 0.0042x3
O valor aproximado de f(2) é
f(2) ≈ p3 (2) = 0.4855 + 0.576 6× 2− 0.0663× 22 + 0.0042× 23 = 1.4071
O erro cometido vem
|f(2)− p3 (2)| =∣∣∣√2− 1.4071
∣∣∣ = 0.0071
correspondendo a uma percentagem de erro da ordem dos 5%.
14
5 Diferenças finitas
A introdução de operadores de diferenças finitas permite obter resultadosvantajosos. Conhecida uma função f(x) nos pontos (xi, f(xi)) , i = 1, . . . , n,definiremos as diferenças descendentes (ou progressivas) e ascendentes (ouregressivas).
Suponhamos que os nós de interpolação x0, x1, . . . , xn se encontram orde-nados na forma x0 < x1 < · · · < xn. As diferenças descendentes e ascendentessão usadas quando os nós de interpolação são equidistantes, isto é, quando
xi+1 = xi + h, 0 ≤ i ≤ n− 1
ou, de forma equivalente,
xi+1 = x0 + ih, 0 ≤ i ≤ n− 1,
sendo h o passo (distância entre quaisquer dois nós consecutivos).De notar que as diferenças divididas se usam quer os nós de interpolação
sejam ou não equidistantes.
Definição 2 Designa-se, respectivamente, diferença descendente (ou pro-gressiva) de primeira ordem de f(x), para x = xi, à seguinte quantidade:
f(xi) = fi = f(xi+1)− f(xi).
De um modo geral, a diferença descendente de ordem k (k ≥ 2) de f(x),para x = xi, define-se por
2fi = 2fi = fi+1 −fi,
...
kfi = (k−1fi)= k−1fi+1 −k−1fi.
Por exemplo,
2fi = fi+1 −fi = fi+2 − fi+1 − (fi+1 − fi) = fi+2 − 2fi+1 + fi
e
3fi = 2fi+1 −2fi = fi+2 −fi+1 − (fi+1 −fi)
= (fi+3 − 2fi+2 + fi+1)− (fi+2 − 2fi+1 + fi)
= fi+3 − 3fi+2 + 3fi+1 − fi.
15
Prova-se, em geral, que
kfi = k−1fi+1 −k−1fi =k∑
j=0
(−1)j(k
j
)fi+k−j.
Denominam-se diferenças descendentes pois diferenças do mesmo índice,de ordem superior, encontram-se em posição descendente na tabela
x f(x) 2 3 · · ·x0 f(x0)
f0x1 f(x1) 2f0
f1 3f0 . . .
x2 f(x2) 2f1...
f2...
x3 f(x3)...
......
Definição 3 Designa-se, respectivamente, diferença ascendente (ou re-gressiva) de primeira ordem de f(x), para x = xi, à seguinte quantidade
∇f(xi) = ∇fi = f(xi)− f(xi−1).
De um modo geral, a diferença ascendente de ordem k (k ≥ 2) de f(x),para x = xi, define-se por
∇2fi = ∇2fi = ∇fi −∇fi−1,
...
∇kfi = ∇ (∇k−1fi)= ∇k−1fi −∇k−1fi−1.
Por exemplo,
∇2fi = ∇fi −∇fi−1 = fi − fi−1 − (fi−1 − fi−2) = fi − 2fi−1 + fi−2
e
∇3fi = ∇2fi −∇2fi−1 = (fi − 2fi−1 + fi−2)− (fi−1 − 2fi−21 + fi−3)
= fi − 3fi−1 + 3fi−2 − fi−3.
16
Prova-se, em geral, que
∇kfi = ∇k−1fi+1 −∇k−1fi. =k∑
j=0
(−1)j(k
j
)fi−j.
Denominam-se diferenças ascendentes ou regressivas pois diferenças domesmo índice, de ordem superior encontram-se em posição ascendente natabela:
x f(x) ∇ ∇2 ∇3 . . .
x0 f(x0)∇f1
x1 f(x1) ∇2f2∇f2 ∇3f3 . . .
x2 f(x2) ∇2f3...
∇f3...
x3 f(x3)...
......
Podem-se estabelecer algumas propriedades das diferenças finitas, relacioná-las com as diferenças divididas e realçar algumas das propriedades das difer-enças de um polinómio. Com efeito, verifica-se:
1. fi = ∇fi+1.
2. nfi = ∇nfi+n.
3. fn = f0 +n−1∑i=0
fi.
4. Quando os nós de interpolação são equidistantes de passo h,
nfi = n!hnf [xi, xi+1, xi+2, . . . , xi+n] ,
∇nfi = n!hnf [xi, xi−1, xi−2, . . . , xi−n] , i ≥ 0.
5. Se f(x) é uma função com derivada de ordem n contínua num intervalo[a, b] que contém n + 1 nós de interpolação distintos x0, x1, x2, . . . , xn,de passo h, então, para x ∈ [a, b],
nf(x) =f (n)(ξ)
n!, para algum ξ ∈]a, b[.
17
6. A diferença de 1a ordem de um polinómio de grau n é um polinómiode grau n− 1.
7. A diferença de ordem n de um polinómio de grau n, pn(x) = a0+a1x+a2x
2 + · · ·+ anxn, é uma constante dada por
npn(x) = ann!hn.
8. Se as diferenças de ordem k de uma função f(x) são iguais e não nulas,então existe um e um só polinómio de grau k que toma os mesmosvalores tabelados (k ≤ n).
Exemplo 6 Construa-se a tabela de diferenças divididas de f(x) = log10 x,para os seguintes valores de argumento 1, 3, 5, 7, 9.
x f(x) f [, ] f [, , ] f [, , , ] f [, , , , ]
1 00.23856
3 0.47712 −0.031910.11093 0.00374
5 0.69897 −0.00947 −0.000370.07307 0.00081
7 0.84510 −0.004630.05457
9 0.95424
.
Pela tabela, f [1, 3, 5, 7, 9] = −0.00037. Pela 4a propriedade anterior tem dese verificar que
4f1 = 4!h4f [x0, x1, x2, x3, x4] = 4!24f [1, 3, 5, 7, 9] .
Construa-se a tabela das diferenças não divididas
x f(x) × 10−5 2 × 10−5 3 × 10−5 4 × 10−5
1 047712
3 0.47712 −2552722185 17955
5 0.69897 −7572 −1408214613 3873
7 0.84510 −369910914
9 0.95424
.
18
Como 4f1 = −14082× 10−5 = −0.14082, tem-se
4f14!h4
=−0.14082
24× 16= −0.0003.667 2 ≈ −0.00037 = f [1, 3, 5, 7, 9] .
Devemo-nos lembrar, no entanto, que os valores tabelados não são exactosmas sim arredondados à 5a casa décimal.
Exemplo 7 Seja p3(x) = x3. A diferença de primeira ordem do polinómiovem
p3(x) = p3(x+ h)− p3(x)
= (x+ h)3 − x3
= x3 + h3 + 3x2h+ 3xh2 − x3
= h3 + 3x2h+ 3xh2
que é um polinómio de grau 2 como seria de esperar pela 4a propriedade.
Exemplo 8 Se considerarmos a tabela da função
x f(x) 2 3 4
−2 −78
0 1 08 96
2 9 96 0104 96
4 113 192296
6 409
as diferenças de 3a ordem são constantes. Então as diferenças de ordemsuperior são nulas. O polinómio p(x) de grau 3 que toma os mesmos valoresnos pontos tabelados é tal que o coeficiente do termo de maior grau vem
3 = 96 = a3 × 3!× 23 =⇒ a3 = 2 =⇒ p(x) = 2x3 + · · · .
6 Fórmulas interpoladoras de Gregory-Newton
Quando os nós de interpolação x0, x1, . . . , xn, estão igualmente espaçados,pode-se usar a relação
nfi = n!hnf [xi, xi+1, xi+2, . . . , xi+n]
19
de forma a simplificar o polinómio interpolador. Substituindo f [x0, x1, x2,
. . . , xi] por�if0i!hi no polinómio interpolador de Newton com diferenças dividi-
das obtemos a fórmula interpoladora de Gregory-Newton progressiva:
pn(x) = f(x0) +n∑
i=1
(x− x0) · · · (x− xi−1)if0i!hi
Fazendo a mudança de variável
x = x0 + θh ⇒ θ =x− x0
h
e, lembrando que os nós de interpolação estão igualmente espaçados, surgea fórmula interpoladora de Gregory-Newton progressiva na versãomais usual:
pn (x) = f0 + θf0 + θ (θ − 1)2f02!
+ θ (θ − 1) (θ − 2)3f03!
+
· · ·+ θ (θ − 1) (θ − 2) · · · (θ − (n− 1))nf0n!
Pode-se obter um polinómio interpolador semelhante mas usando difer-enças ascendentes ou regressivas. Para isso basta usar a relação
∇nfi = n!hnf [xi, xi−1, xi−2, . . . , xi−n]
de forma a simplificar o polinómio interpolador de Newton às diferenças divi-didas. Substituindo agora f [x0, x1, x2, . . . , xn] por
∇ifnn!hn no polinómio interpo-
lador de Newton com diferenças divididas obtemos a fórmula interpoladorade Gregory-Newton regressiva
pn(x) = f(xn) +n∑
i=1
(x− xn) · · ·(x− xn−(i−1)
) ∇ifni!hi
.
Por mudança de variável
x = xn + θh ⇒ θ =x− xn
h
e, lembrando que os nós de interpolação estão igualmente espaçados, surge afórmula interpoladora de Gregory-Newton regressiva na forma maisutilizada:
pn (x) = fn + θ∇fn + θ (θ + 1)∇2fn2!
+ θ (θ + 1) (θ + 2)∇3fn3!
+
· · ·+ θ (θ + 1) (θ + 2) · · · (θ + (n− 1))∇nfnn!
.
20
Exemplo 9 Considerando o suporte de interpolação
{(−2, 25) , (0, 3) , (2, 7) , (4, 83) , (6, 327)}
calcule-se o valor aproximado de f(−1) e de f(4.5).Construa-se a tabela de diferenças não divididas
x f(x) \∇ 2\∇2 3\∇3 4\∇4
−2 −2528
0 3 −244 96
2 7 72 076 96
4 83 168244
6 327
Note-se que, para obter o polinómio interpolador, usando Gregory-Newtonprogressiva, a escolha entre −2 ou 0 para x0 é indiferente pois as diferençasde 4a ordem são nulas e o polinómio interpolador é de 3o grau. Seja x0 = −2.Então
θ =x− x0
h=
x+ 2
2e
p3 (x) = −25 + θ × 28 + θ (θ − 1)× (−24)
2!+ θ (θ − 1) (θ − 2)× 96
3!.
Para obter os valores aproximados de f(−1) e f(4.5) basta calcular o valorde θ para cada caso. Para x = −1 vem
x = −1 ⇒ θ =x− x0
h=
−1 + 2
2= 0.5
f(−1) ≈ p3 (−1) = −25 + 0.5× 28 + 0.5 (0.5− 1)× −24
2!
+ 0.5 (0.5− 1) (0.5− 2)× 96
3!= −2.
21
Para x = 4.5 vem
x = 4.5 ⇒ θ =x− x0
h=
4.5 + 2
2= 3.25
f(4.5) ≈ p3 (4.5) = −25 + 3.25× 28 + 3.25 (3.25− 1)× −24
2!
+ 3.25 (3.25− 1) (3.25− 2)× 96
3!= 124.5.
Vamos obter exactamente os mesmos resultados ao usarmos a fórmula deGregory-Newton regressiva. Basta lembrar que o polinómio interpolador éúnico. A escolha de 4 ou 6 para xn é indiferente pois as diferenças de 4a
ordem são nulas e o polinómio interpolador é de 3o grau. Seja xn = 6. Então
θ =x− xn
h=
x− 6
2
e
p3 (x) = 327 + θ × 244 + θ (θ + 1)× (168)
2!+ θ (θ + 1) (θ + 2)× 96
3!
Para obter os valores aproximados de f(−1) e f(4.5) basta calcular o valorde θ para cada caso.Para x = −1 vem
x = −1 ⇒ θ =x− xn
h=
−1− 6
2= −3.5
f(−1) ≈ p3 (−1) = 327− 3.5× 244− 3.5 (−3.5 + 1)× 168
2!
− 3.5 (−3.5 + 1) (−3.5 + 2)× 96
3!= −2.
Para x = 4.5 vem
x = 4.5 ⇒ θ =x− xn
h=
4.5− 6
2= −0.75
f(4.5) ≈ p3 (4.5) = 327− 0.75× 244− 0.75 (−0.75 + 1)× 168
2!
− 0.75 (−0.75 + 1) (−0.75 + 2)× 96
3!= 124.5.
Note-se que, à semelhança das fórmulas de Gregory-Newton, também opolinómio interpolador de Lagrange pode ser obtido directamente do polinómio
22
interpolador de Newton para diferenças divididas recorrendo à propriedadejá indicada atrás,
f [x0, x1, x2, . . . , xn] =n∑
i=0
fin∏
j=0,j �=i
(xi − xj).
Sabendo que existem várias fórmulas para obter o polinómio interpolador,é importante relembrar que o polinómio interpolador é único, independente-mente do método escolhido.
Antes de passarmos à interpolação inversa, urge colocar uma questão.Será que, ao aumentar o número de pontos do suporte de interpolação numcerto intervalo, o polinómio interpolador obtido melhora as estimativas dafunção?
A resposta à questão é um pouco delicada. Para x0, x1, x2, . . . , xn es-colhidos criteriosamente e funções f(x) regulares o erro de interpolação de-cresce à medida que n aumenta. Para algumas funções f(x) a sequência dospolinómios obtidos é convergente para todos os argumentos x. Para outrasfunções essa convergência é limitada a um intervalo restrito. Nesta situação,o erro de interpolação tende para zero na parte central do intervalo consid-erado e tende a oscilar fortemente nos extremos desse mesmo intervalo. Estecomportamento é uma severa restrição ao uso de polinómios interpoladorescom grau elevado.
7 Interpolação inversa
Dados os pontos (xi, yi) = (xi, f(xi)) , 0 ≤ i ≤ n, é frequente querermoscalcular x dado y = f(x) �= yi. É o que acontece quando, por exemplo, quer-emos determinar uma raiz de f(x) a partir dos valores tabelados (xi, f(xi)) ,0 ≤ i ≤ n. Este problema denomina-se interpolação inversa. Como é ób-vio, o problema da interpolação inversa exige que a função seja univocamentedeterminada para um certo intervalo de valores do argumento.
A maneira mais usual de resolução do problema da interpolação inversaé por inversão de tabela. Para o suporte (yi, xi) = (yi, f
−1(yi)), 0 ≤i ≤ n, com yi �= yj (i �= j) existirá um polinómio interpolador pn(y) queinterpola a função inversa x = f−1(y) = g(y), caso ela exista obviamente.Para a obtenção do polinómio interpolador pode-se escolher qualquer dosmétodos indicados sendo importante verificar se o argumento y0, y1, y2, . . . , ynsão equidistantes. O mais usual é usar a fórmula interpoladora de Newtoncom diferenças divididas
pn (y) = x0 + (y − y0) g [y0, y1] + · · ·+ (y − y0) · · · (y − yn−1) g [y0, . . . , yn] .
23
Exemplo 10 Considere a tabela função da f(x) = senx− cosx e indique ovalor da sua raiz:
x 0.6 0.8 1.0 1.2f (x) −0.2607 0.0206 0.3012 0.5697
Estamos perante um problema de interpolação inversa. Admita-se quef(x) é contínua. Como muda de sinal quando passa de x = 0.6 para x = 0.8a raiz está em (0.6, 0.8). Sendo a função crescente para os valores tabelados,podemos admitir que é injectiva e invertível no intervalo (0.6, 1.2). Numaprimeira fase trocamos as colunas. Depois passamos ao cálculo das diferençasdivididas pois y0, y1, y2, y3 não são equidistantes.
y x = g(y) g [, ] g [, , ] g [, , , ]
−0.2607 0.60.7110
0.0206 0.8 0.00320.7128 0.0666
0.3012 1 0.05850.7449
0.5697 1.2
O polinómio interpolador vem
p3 (y) = x0 + (y − y0) g [y0, y1] + (y − y0) (y − y1) g [y0, y1, y2]
+ (y − y0) (y − y1) (y − y2) g [y0, y1, y2, y3]
= 0.6 + [y − (−0.2607)]× 0.7110
+ [y − (−0.2607)] (y − 0.0206)× 0.0032
+ [y − (−0.2607)] (y − 0.0206) (y − 0.3012)× 0.0666
= 0.78545 + 0.70659y − 8.6926× 10−4y2 + 0.0666y3.
Como se pretende o valor aproximado da raiz então
x̃ = p3 (0) = 0.78545.
Sabendo que função tabelada é f(x) = sinx − cosx, pode-se obter o valorexacto da raiz,
f(x) = 0 ⇔ sinx− cosx = 0 ⇔ sinx = cosx ⇔ x = kπ +π
4, k inteiro.
Ora x assume valores no primeiro quadrante
x =π
4= 0.7853981 . . . .
24
O erro cometido é
|0.7853981 . . .− 0.78545| ≤ 5.2× 10−5.
Exemplo 11 Considere-se a tabela da função distribuição de probabilidadey = f(x) = 2√
π
∫x
0e−x2dx,
x 0.46 0.47 048 0.49f (x) 0.4846555 0.4937452 0.5027498 0.5116683
Para que quantil (valor de x), a função distribuição atinge 50%?Efectue-se a interpolação quadrática inversa, recorrendo à fórmula inter-
poladora de Newton.
y x = g(y) g [, ] g [, , ]
0.4937452 0.471.11054
0.5027498 0.48 0.59818. . .
0.5116683 0.49
p2 (y) = x0 + (y − y0) g [y0, y1] + (y − y0) (y − y1) g [y0, y1, y2]
= 0.47 + (y − 0.4937452)× 1.11054
+ (y − 0.4937452)(y − 0.5027498)× 0.59818
= 7.016 3× 10−2 + 0.514 46y + 0.59818y2.
O quantil obtido para a acumulada correspodente ao valor 50% é
x = p2 (0.5) = 7.0163× 10−2 + 0.51446× 0.5 + 0.598 18× 0.52
= 0.47694.
À semelhança da interpolação directa, pode-se obter a expressão para omajorante do erro de interpolação, com ξ pertencente ao menor intervalo quecontenha y0, . . . , yn,
f−1 (y)− pn (y) = g (y)− pn (y) =n∏
j=0
(y − yj)g(n+1) (ξ)
(n+ 1)!.
25
É necessário que se conheça g(x) e que as suas derivadas sejam bem compor-tadas.
A inversão de tabela não é a única abordagem possível para a interpolaçãoinversa. Uma outra alternativa é ométodo das aproximações sucessivas.Consideremos que estamos a resolver a equação
f(x) = C (7)
em que C é uma constante real e suponhamos que f(x0) − C e f(x1) − Ctêm sinais opostos e que f(x) é uma função contínua. Suponha-se tambémos nós de interpolação x0, x1, . . . , xn, são equidistantes de passo h.
Utilizando o polinómio interpolador de Gregory-Newton progressivo, re-solver (7) equivale a determinar θ = (x− x0)/h tal que,
pn (x) = f0 + θf0 + θ (θ − 1)2f02!
+ θ (θ − 1) (θ − 2)3f03!
+ · · · = C.
Esta igualdade pode ser reescrita na forma
θf0 = C − f0 − θ (θ − 1)2f02!
− θ (θ − 1) (θ − 2)3f03!
− · · · ,ou
θ = ϕ (θ)
onde
ϕ (θ) =1
f0
(C − f0 − θ (θ − 1)
2f02!
− θ (θ − 1) (θ − 2)3f03!
− · · ·).
A equação θ = ϕ (θ) sugere o processo iterativo
θi+1 = ϕ (θi) , com θ0 =C − f0f0
.
Note-se que o valor inicial do processo iterativo corresponde à interpolaçãolinear. As iteradas seguintes correspondem ao aparecimento de mais termosna função ϕ, normalmente mais um, calculados com o valor da iterada an-terior. O processo pára quando algum critério de paragem pré-definido forverificado.
Exemplo 12 Considere novamente a tabela da função f(x) = sinx− cosx
x 0.6 0.8 1.0 1.2f (x) −0.2607 0.0206 0.3012 0.5697
26
e obtenha uma aproximação para a raiz de forma que a diferença entre iter-adas sucessivas seja inferior a uma milésima. Já se discutiu o facto da funçãoser univoca no intervalo dos argumentos. Como os nós de interpolação sãoequidistantes de passo h = 0.2 pode-se obter o polinómio interpolador deGregory-Newton. Construa-se a tabela de diferenças não divididas
x f(x) \∇ 2\∇2 3\∇3
0.6 −0.26070.2813
0.8 0.0206 −0.00070.2806 −0.114
1.0 0.3012 −0.01210.2685
1.2 0.5697
.
O polinómio interpolador vem
p3 (x) = f0 + θf0 + θ (θ − 1)2f02!
+ θ (θ − 1) (θ − 2)3f03!
.
Como se pretende obter a raiz do polinómio tem-se
p3 (x) = C = 0 ⇒ f0 + θf0 + θ (θ − 1)2f02!
+ θ (θ − 1) (θ − 2)3f03!
= 0.
A iterada inicial corresponde a interpolação linear, i.e ,
f0 + θ0f0 = 0 ⇒ θ0 =−f0f0
=0.2607
0.2813= 0.92677
A segunda aproximação surge de
f0 + θ1f0 + θ0 (θ0 − 1)2f02!
= 0
e
θ1 =1
f0
(−f0 − θ0 (θ0 − 1)
2f02!
)=
1
0.2813
(0.2607− 0.92677 (0.926 77− 1)
−0.0007
2!
)= 0.92668.
O critério de paragem está verificado:
|θ1 − θ0| = |0.92668− 0.92677| = 0.00009 < 10−3.
27
O valor aproximado da raiz resulta de x = x0 + θh, logo
x̃ = x0 + θ2h = 0.6 + 0.92668× 0.2 = 0.78534.
Se o critério de paragem não fosse satisfeito, a segunda iterada correspondiaa considerarmos mais um termo no polinómio interpolador, correspondenteà diferença de 3a ordem:
f0 + θ2f0 + θ1 (θ1 − 1)2f02!
+ θ1 (θ1 − 1) (θ1 − 2)3f03!
= 0
e
θ2 =1
f0
(−f0 − θ1 (θ1 − 1)
2f02!
− θ1 (θ1 − 1) (θ1 − 2)3f03!
).
Consegue-se igualmente deduzir um majorante do erro de interpolaçãopara o método das aproximações sucessivas. No entanto, é mais importanterealçar que os resultados obtidos pelos dois métodos são, em geral, diferentes.É natural que o sejam pois por inversão de tabela usa-se um polinómio emy e por aproximações sucessivas recorre-se a um polinómio em x. Os doismétodos são idênticos no caso da interpolação linear.
Referências
[1] Carpentier, M. P. J., Análise Numérica-Teoria, Sebenta editada pelaAEIST em Fev. 1993.
[2] Rosa,M. & Graça, M., Tópicos de Análise Numérica, Universidade deAveiro, 1992
[3] Dahlquist & Bjork, Numerical Methods, Prentice Hall, 1974
[4] Conte, S. D. & Boor, C., Elementary Numerical Analysis, McGraw-Hill,1980.
[5] Gerald, C. e Wheatley, P., Applied Numerical Analysis, Addison-Wesley,1997.
[6] Lindfield, G. e Penny, J., Numerical Methods Using Matlab. Ellis Hor-wood, 1995.
[7] Kreyszig, Erwin., Advanced Engineering Mathematics (Cap. 17 e 18),Willey, 1999. (Livro de texto).
[8] Pina, Heitor, Métodos Numéricos, McGraw-Hill, 1995.
[9] Moreira, M., Apontamentos de Métodos Numéricos, EST, 2002.
28