Métodos Numéricos Interpolação...

29
Métodos Numéricos Interpolação Polinomial Filomena Teodoro Departamento de Matemática Escola Superior de Tecnologia de Setúbal Ano Lectivo 2003/2004

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