Вы находитесь на странице: 1из 137

INTRODUC

AO
`
A AN

ALISE NUM

ERICA
Apontamentos de apoio
`
as aulas te

oricas
Maria de Fatima Dias Martins
Magda Stela Rebelo
2007
ii

INDICE iii

Indice
1 Erros 1
1.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Representa cao em ponto utuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Fontes de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Erro absoluto e erro relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Algarismos signicativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Propaga cao de erros. Formula fundamental do calculo dos erros . . . . . . . . . . . . . 8
1.4.1 Problema directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 Problema inverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Apresenta cao dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4 Condicionamento e estabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Aproximacao 19
2.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Polinomio interpolador. Polinomio de Lagrange . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Diferen cas divididas. Formula de Newton com
diferen cas divididas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4 Diferen cas nitas. Formula de Newton com diferen cas nitas . . . . . . . . . . . . . . . 33
2.5 Interpola cao inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6 Interpola cao por splines c ubicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.7 Aproxima cao mnimos quadrados polinomial e exponencial (caso discreto) . . . . . . . . 47
3 Integracao Numerica 53
3.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 Formulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1 Regra dos Trapezios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.2 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 Formulas de Newton-Cotes compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Metodo de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

INDICE 1
4 Equacoes Nao Lineares 67
4.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Metodo graco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Metodo da bissec cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.4 Metodo de Newton (ou metodo da tangente) . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5 Metodo de Newton modicado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.6 Metodo da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.7 Metodo do ponto xo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.8 Ordem de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5 Resolucao Numerica de Sistemas de Equacoes Lineares 89
5.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2 Metodos directos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.1 Metodos de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.2 Metodo de Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.3 Metodos de decomposi cao LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3 Normas vectoriais e matriciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.4 Estimativa do erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.6 Metodos iterativos particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.6.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.6.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.7 Considera coes nais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6 Resolucao Numerica de Equacoes Diferenciais 115
6.1 Introdu cao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.2 Metodos de passo simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2.1 Metodo de Taylor de ordem n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2.2 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.3 Metodos de passo m ultiplo de Adams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.3.1 Metodos explcitos de Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . 124
6.3.2 Metodos implcitos de Adams-Moulton . . . . . . . . . . . . . . . . . . . . . . . 127
6.3.3 Metodo preditor corrector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7 Bibliograa 133
1. Erros 1
Captulo 1
Erros
1.1 Introducao
Podemos dizer que a Analise Numerica tem por objectivo o estudo de metodos que permitem
resolver problemas matematicos usando as opera coes da aritmetica; em geral desenvolvem-se processos
de calculo numerico - algoritmos - que a partir dos dados permitem obter resultados (quase sempre
aproximados). Os metodos numericos sao particularmente uteis na resolu cao de problemas atraves de
computador.
A utiliza cao de um algoritmo e de um computador para a resolu cao de um problema introduz
alguns erros que irao afectar o resultado nal: notemos que so raramente os dados de um problema sao
conhecidos exactamente - erros iniciais - e que e praticamente inevitavel o aparecimento dos chamados
erros de arredondamento no decorrer da execu cao do algoritmo. Por outro lado, a substitui cao dum
problema contnuo por um problema discreto ou de um calculo com um n umero innito de opera coes
por outro com um n umero nito introduz os chamados erros de truncatura. Na impossibilidade de
eliminar estes tipos de erro e fundamental, em Analise Numerica, a indica cao do erro (ou duma sua
estimativa) que afecta um determinado resultado.
1.2 Representacao em ponto utuante
A capacidade limitada de armazenamento de informa coes num computador deixa antever a ex-
istencia de n umeros reais que nao sendo directamente representaveis tem que ser aproximados por
outros reais, cometendo-se um erro de arredondamento.
Um n umero inteiro n = 0 pode ser representado duma unica maneira numa base b, por
n = (n
0
+ n
1
b + n
2
b
2
+ ... + n
k
b
k
), {+, },
sendo n
i
um inteiro satisfazendo 0 n
i
< b, i = 0, 1, ..., k, n
k
= 0. Usualmente o n umero n seria
escrito na forma
1. Erros 2
n = (n
k
...n
2
n
1
n
0
), {+, }.
Assim, qualquer inteiro e denido pelo sinal e uma sequencia de dgitos (xada a base).
Geralmente, nos sistemas de numera cao de computadores b e igual a 2, 8 ou 16.
Sendo nito e xo o n umero de dgitos que sao usados na representa cao de n umeros, apenas os
inteiros num intervalo [M, N], M, N > 0 farao parte do sistema de numera cao de um computador.
Para representa cao de n umeros reais usa-se a chamada nota cao em ponto utuante.
Um n umero de ponto utuante na base b com t dgitos e um n umero que pode ser escrito na forma
n =
_
t

i=1
a
i
b
i
_
b
e
, {+, },
onde a
i
{0, 1, ..., b 1}, i = 1, 2, ..., t, e
1
e e
2
, sendo e, e
1
e e
2
inteiros.
A a
1
a
2
...a
t
chama-se mantissa ou parte fraccionaria e e e o expoente.
Se a
1
= 0 o n umero de ponto utuante diz-se normalizado.
O conjunto de n umeros de ponto utuante normalizados com uma representa cao especial para o
n umero 0 constitui um sistema de numeracao de ponto utuante, F, que pode ser caracterizado por 4
parametros:
a base b,
o n umero t de dgitos da mantissa,
o domnio de varia cao do expoente, ou seja, e
1
e e
2
Isso podera ser indicado escrevendo
F = F(b, t, e
1
, e
2
)
A representa cao de n umeros reais em computador consistira em associar a cada real um elemento
do sistema de numera cao da maquina.
O maior n umero em valor absoluto de F(b, t, e
1
, e
2
) e B = (1 b
t
)b
e
2
.
Exemplo 1.1
O maior n umero em valor absoluto de F(10, 3, 100, 80) e (0.999)10
80
= (1 10
3
)10
80
.
Reais fora do intervalo [B, B] nao poderao ser representados e a tentativa de o fazer conduz `as
condi coes de overow.
N umeros inferiores em modulo a 0.1b
e
1
tambem nao poderao ser representados neste sistema e levam
a uma situa cao de underow.
Os elementos de R
F
= {x R : B x B} serao representados em F por arredondamento (caso
nao tenham representa cao exacta.)
1. Erros 3
Todo o n umero x R
F
admite a forma normalizada
x = (.a
1
a
2
a
3
...a
t
a
t+1
...) b
e
, {+, }.
A sua representa cao em F faz-se por arredondamento. Ha duas maneiras de efectuar o referido
arredondamento, fl(x):
1. corte ou truncatura: fl(x) = (.a
1
a
2
a
3
...a
t
) b
e
;
2. arredondamento: soma-se
1
2
b
et
=
1
2
b
t
b
e
a x e em seguida arredonda-se, por corte, para t dgitos
e obtem-se
fl(x) = .
1

2
...
t
b
e
.
Por outras palavras, no corte deprezam-se simplesmente os dgitos do n umero real x a partir da
t-esima posi cao a contar do ponto; no arredondamento o n umero real x e representado pelo n umero do
sistema F que lhe esta mais proximo em valor absoluto.
No arredondamento, e tratando-se da base 10, se a
t+1
5 adicionamos uma unidade a a
t
para obter
fl(x), isto e, arredondamos para cima; se a
t+1
< 5 truncamos o n umero pelo t-esimo dgito, isto e,
arredondamos para baixo (ou seja, as aproxima coes por corte e arredondamento coincidem).
Alem de nem todos os n umeros reais de R
F
terem representa cao exacta em computador tambem as
opera coes aritmeticas realizadas por este podem nao ser exactas.
Suponhamos que os reais x e y sao representados em ponto utuante por fl(x) e fl(y) e representemos
por , , , as opera coes efectuadas pela maquina. Teremos
x y = fl(fl(x) + fl(y))
x y = fl(fl(x) fl(y))
x y = fl(fl(x) fl(y))
x y = fl(fl(x)/fl(y))
o que signica que serao efectuadas as opera coes aritmeticas sobre as representa coes dos n umeros em
ponto utuante e no nal o resultado sera convertido para a sua representa cao em ponto utuante.
Como e evidente a representa cao aproximada dos n umeros em computador da origem a erros cuja
propaga cao, na sequencia da realiza cao de opera coes aritmeticas, podera inuenciar a qualidade do
resultado nal obtido.
A escolha do sistema de ponto utuante e muito importante, podendo ter mesmo uma inuencia
decisiva nos resultados, como e exemplo o caso da explosao do foguetao Ariane 5 da ESA, 40 segundos
apos o seu lan camento do Centro Espacial da Guiana Francesa.
Do inquerito realizado conclui-se que a causa do fracasso foi um erro de software no sistema de referencia
inercial. Mais concretamente um n umero em ponto utuante, relativo `a velocidade horizontal do foguete
1. Erros 4
em rela cao `a plataforma de lan camento, provocou uma situa cao de overow, cuja consequencia foi
desastrosa.
1.3 Erros
1.3.1 Fontes de erro
Ao resolver computacionalmente um problema matematico, alguns erros, de varios tipos, vao ser
cometidos, tais como:
1. Erro inerente ao modelo matematico utilizado
A utiliza cao dum modelo matematico para traduzir uma realidade fsica, introduz, geralmente,
um erro que, no entanto, cai fora do estudo numerico que pretendemos introduzir.
Por exemplo, o modelo matematico mais simples para traduzir a evolu cao duma popula cao e dado
por
N(t) = N
0
e
kt
,
onde N(t) representa a popula cao no instante t e N
0
e k sao constantes positivas. Sob determi-
nadas condi coes este modelo traduz razoavelmente bem a realidade, no entanto, por vezes, nao e
adequado para valores elevados de t.
2. Enganos
Na era pre-computador os enganos consistiam, geralmente, em erros em calculos aritmeticos.
Presentemente os enganos ocorrem, essencialmente, na programa cao. Para detectar estes erros
e importante testar o programa recorrendo-se, sempre que possvel, a situa coes, para as quais
conhecemos a resposta correcta.
O input correcto dos valores a utilizar e essencial para diminuir os enganos.
1. Erros 5
3. Erros dos dados iniciais
Muitos problemas envolvem dados fsicos que, normalmente, estao afectados de erros de ob-
serva cao
1
, cuja propaga cao inuencia, necessariamente, o resultado.
A Analise Numerica nao pode eliminar os erros dos dados, mas pode estudar a sua propaga cao
e o seu efeito no resultado nal; pode ainda indicar a melhor maneira de efctuar os calculos de
modo a minimizar os erros propagados.
4. Erros inerentes ao computador
Estes erros ocorrem porque os valores a utlizar tem que ser internamente aproximados (por
arredondamento ou corte) e sao inevitaveis quando se utiliza aritmetica de ponto utuante. A sua
propaga cao pode, em alguns casos (por exemplo na resolu cao de sistemas de equa coes lineares),
ter uma inuencia decisiva na qualidade dos resultados.
5. Erros de aproximacao matematica
Estes erros ocorrem quando usamos formulas matematicas aproximadas (muitas vezes por impos-
sibilidade de utilizar as exactas).
Por exemplo se considerarmos
I =
_
1
0
e
x
2
dx,
pelo facto de nao podermos obter a primitiva de e
x
2
(para a utiliza cao da formula de Barrow)
podemos recorrer ao desenvolvimento de Mac-Laurin
e
x
2
= 1 +x
2
+
x
4
2!
+
x
6
3!
+
x
8
4!
+ ...
e calcular um valor aproximado de I
I
_
1
0
_
1 +x
2
+
x
4
2!
+
x
6
3!
+
x
8
4!
_
dx
de um modo facil.
O erro cometido pode ser tambem designado por erro de truncatura ou erro de discretiza cao.

E nosso objectivo analisar em particular os erros do tipo 3 e os de tipo 5.


1
Por exemplo, a velocidade da luz no vacuo e
C = (2.997925 0.000003) 10
10
cm/seg.
1. Erros 6
1.3.2 Erro absoluto e erro relativo
Nao podemos usar metodos numericos e ignorar a existencia de erros. O estudo da forma como os
erros afectam a precisao dum calculo e fundamental na an alise dum metodo numerico.
Assim para podermos avalizar a qualidade duma aproxima cao vamos introduzir a no cao de erro
absoluto e erro relativo.
Denicao 1.1 Seja x um n umero e x um seu valor aproximado. Chama-se erro absoluto do valor
aproximado x, e representamos
x
2
, a

x
= x x. (1.1)
Se
x
> 0 (x > x), x diz-se uma aproximacao por defeito; se
x
< 0 (x < x), x diz-se uma aproxima cao
por excesso.
Denicao 1.2 Seja x = 0 e x uma sua aproximacao. Chama-se erro relativo do valor aproximado
x ao quociente
r
x
=
|
x
|
|x|
=
|x x|
|x|
. (1.2)
Ao produto 100r, expresso em percentagem, chama-se percentagem de erro.
Muitas vezes nao se conhece o valor de x mas apenas x e um majorante do modulo do erro absoluto
de x, |
x
|
x
; nestas circunstancias, se x = 0 toma-se para valor aproximado do erro relativo de x a
grandeza

x
|x|
.
Notemos que o erro absoluto pode nao ser suciente para informar sobre a qualidade duma aprox-
ima cao, como se pode ver pelo exemplo seguinte:
Exemplo 1.2
x =
1
3
x = 0.333
x
= 0.0003333 . . .
y =
1
3000
y = 0.000
y
= 0.0003333 . . . .
Embora x e y tenham o mesmo erro absoluto e imediato que x representa um n umero com maior
precisao do que y pois o erro absoluto por unidade, ou seja, o erro relativo, e menor para x:
r
x
=
0.000333 . . .
|1/3|
0.001 (1.3)
r
y
=
0.000333 . . .
|1/3000|
= 1. (1.4)
2
Podera representar-se apenas por caso o contexto deixe explcito a que valor aproximado se refere.
1. Erros 7
Em Analise Numerica nao tem interesse conhecer x sem conhecer
x
e por isso, sempre que se da
um valor aproximado supoe-se que e conhecido um majorante do modulo do erro absoluto. Sao usuais
as nota coes
a) [x
x
, x +
x
], intervalo que sabemos conter o valor exacto x;
b) x
x
;
c) x(
x
) com
x
expresso nas unidades da ultima casa decimal de x.
Usaremos frequentemente a ultima nota cao; se apenas referirmos o valor aproximado x subentenderemos
que se trata de x(0.5).
Exemplo 1.3
Considere-se o valor aproximado x = 15.42 e
x
= 0.005. Podemos fazer referencia ao intervalo
[15.415, 15.425]
a que pertence o valor exacto x, usar a nota cao
15.42 0.005
ou escrever
15.42(0.5)
(ou mais simplesmente 15.42).
Exemplo 1.4
Se x = 3.413 e
x
= 0.003 teremos, na nota cao referida em c), 3.413(3).
1.3.3 Algarismos signicativos
Denicao 1.3 Seja x um n umero real e x uma sua aproximacao tendo m
0
(m
0
N) dgitos `a direita
do ponto decimal.
Dizemos que x tem pelo menos k casas decimais signicativas (k m
0
) se e so se
|
x
| = |x x| 0.5 10
k
. (1.5)
Denicao 1.4 Seja x um n umero real. Dizemos que x aproxima x com n algarismos signicativos
se
|
x
| = |x x| 0.5 10
m+1n
, n N
0
, m Z, (1.6)
sendo m tal que 10
m
|x| < 10
m+1
.
1. Erros 8
Nota 1: A contagem dos algarismos signicativos, num n umero faz-se da esquerda para a direita, excluindo
os zeros que nao possuam `a sua esquerda um algarismo nao nulo.
Nota 2: Se a aproxima cao x tiver parte inteira, m+1 representa exactamente o seu n umero de algarismos
pelo que, para x ter n algarismos signicativos devera ter n(m+1) casas decimais signicativas.
Exemplo 1.5
Seja x = 0.000125 e
x
= 0.5 10
5
.
Atendendo a que
10
4
= 0.0001 0.000125 < 0.001 = 10
3
o n umero n de algarismos signicativos e tal que
3 n = 5,
isto e, n = 2.
Portanto, x apenas tem dois algarismos signicativos que sao os assinalados
0.0001 2 5.
Nota 3: O n umero, n, de algarismos signicativos dum valor aproximado da boa informa cao sobre a
qualidade dessa aproxima cao. Notemos que se tem
r
x
=
|x x|
|x|

0.5 10
m+1n
10
m
= 0.5 10
1n
.
1.4 Propagacao de erros. Formula fundamental do calculo
dos erros
1.4.1 Problema directo
Seja f(x, y) uma fun cao continuamente derivavel (relativamente `as variaveis x e y) e suponhamos que
se pretende calcular o valor z = f(x, y), para certos valores de x e y, utilizando os valores aproximados
x e y e conhecendo
x
e
y
(ou
x
e
y
).
Seja z = f(x, y). Pode por-se a questao de saber qual o erro que afecta z, em fun cao dos erros,
x
,

y
, (ou
x
e
y
), admitindo que sao de desprezar todos os erros eventualmente cometidos ao efectuar
as opera coes indicadas na expressao de f. Por outras palavras, estamos interessados no efeito da
propaga cao dos erros iniciais
x
e
y
das duas unicas fontes de erro que consideramos, x e y.
Atendendo a que
x x =
x
, y y =
y
1. Erros 9
isto e
x = x +
x
, y = y +
y
tem-se, pela formula de Taylor,

z
= f(x, y) f(x, y) = f(x +
x
, y +
y
) f(x, y)
=
x
f

x
(
1
,
2
) +
y
f

y
(
1
,
2
), (1.7)
onde (
1
,
2
) I
1
I
2
com
I
1
= [min(x, x), max(x, x)] e I
2
= [min(y, y), max(y, y)].
Sejam
sup |f

x
|
I
1
I
2
M
x
e sup |f

y
|
I
1
I
2
M
y
.
Tomando modulos em (1.7) obtem-se
|
z
| M
x
|
x
| + M
y
|
y
| M
x

x
+ M
y

y
,
que traduz a f ormula fundamental do c alculo dos erros.
Esta formula pode ser facilmente adaptada para n variaveis (n N).
Nota 1: Habitualmente, na pratica, faz-se
I
1
= [x
x
, x +
x
] e I
2
= [y
y
, y +
y
]
ja que estes intervalos contem os anteriormente indicados, que nem sempre se conseguem obter.
1. Erros 10
Exemplo 1.6
Determinar o majorante do modulo do erro absoluto do valor aproximado da area de um crculo cujo
raio tem o valor aproximado de 1.22dm, utilizando a aproxima cao 3.14 para o valor de .
Sendo a area dum crculo de raio R dada por A = R
2
, tem-se neste caso
R = 1.22dm
R
= 0.005dm
= 3.14

= 0.002
(poder-se-ia ter usado

= 0.005 mas uma vez que se conhece o valor aproximado de com mais casas
decimais signicativas e possvel utlizar um majorante menor que 0.005; verica-se ainda que 3.14 e
uma aproxima cao por defeito de .)
Tendo em conta os dados anteriores podemos armar que
R [1.215, 1.225]
[3.14, 3.142].
Pela formula fundamental do calculo dos erros (desprezando todos os erros de arredondamento em
calculos intermedios)
|
A
| M
R

R
+ M

.
Calculemos M
R
e M

R
= 2R M
R
= 2 3.142 1.225 = 7.6979
A

= R
2
M

= 1.225
2
= 1.500625. (1.8)
Tem-se entao
|
A
| 7.6979 0.005 + 1.500625 0.002 < 0.042.
Podemos dizer que utilizando os valores aproximados dados no enunciado o valor
A = 3.14 (1.22dm)
2
= 4.673576dm
2
tem um erro absoluto que em modulo e menor que 0.042dm
2
(=
4.2cm
2
).
Nota 2:

E facil vericar que se
S = x + y, D = x y, P = xy e C = x/y
obtem-se, pela formula fundamental do calculo dos erros,
1. Erros 11
|
S
|
x
+
y
|
D
|
x
+
y
|
P
| max(|y
y
|, |y +
y
|)
x
+ max(|x
x
|, |x +
x
|)
y
|
C
|
1
min(|y
y
|, |y +
y
|)

x
+
max(|x
x
|, |x +
x
|)
(min(|y
y
|, |y +
y
|))
2

y
Para valores de
x
e
y
sucientemente pequenos podemos considerar as aproxima coes
|
P
| |y|
x
+|x|
y
|
C
|

x
|y|
+
|x|
|y|
2

y
=
|y|
x
+ x|
y
|y|
2
Nas mesmas condi coes e possvel obter aproxima coes para os erros relativos
r
S


x
+
y
|x + y|
r
D


x
+
y
|x y|
r
P

|y|
x
+|x|
y
|x||y|
=

x
|x|
+

y
|y|
r
x
+ r
y
r
C

|y|
x
+|x|
y
|y|
2
|x|
|y|
=

x
|x|
+

y
|y|
r
x
+ r
y
Analisando a expressao
r
D


x
+
y
|x y|
podemos concluir que se x e y sao n umeros proximos, o valor |xy| e muito proximo do zero o que faz
com que o valor aproximado de r
D
seja grande (se o erro relativo e grande a precisao e pequena.)
Exemplo 1.7
Suponhamos que se pretende calcular

x + 1

x. Efectuando directamente a diferen ca camos na


situa cao descrita anteriormente e que vai dar um resultado com poucos algarismos signicativos.
Em situa coes como esta podera optar-se por efectuar

x + 1

x =
_
x + 1

x
_ _
x + 1 +

x
_
_
x + 1 +

x
_ (1.9)
=
1

x + 1 +

x
que vai fornecer um valor com maior n umero de algarismos signicativos.
Assim, para obter D =

75

74 tem-se
1. Erros 12
a) D =

75

74 = 8.6603 8.6023 = 0.058

D
2 0.5 10
4
= 10
4
< 0.5 10
3
(os valores aproximados de

75 e de

74 tem 4 casas decimais signicativas e 5 algarismos sig-


nicativos; no entanto, D tem apenas 3 casas decimais signicativas e 2 algarismos signicativos)
pelo que garantimos apenas 3 casas decimais signicativas e 2 algarismos signicativos para o
valor aproximado D.
b) recorrendo ao artifcio de calculo tem-se
D =

75

74 =
1

75 +

74
, e D =
1
8.6603 + 8.6023
= 0.0579287.
Neste caso

D
M
z

z
sendo z = 8.6603 + 8.6023.
Assim,
z
0.5 10
4
+ 0.5 10
4
= 10
4
e tomando
M
z
= 3.560 10
3
>
1
(8.66025 + 8.60225)
2
tem-se

D
3.56 10
3
10
4
= 3.56 10
7
= 0.356 10
6
< 0.5 10
6
o que garante para D pelo menos 6 casas decimais signicativas, ou seja, 5 algarismos signicativos.
Dum modo geral se x e y sao valores muito proximos e conveniente substituir
log(x) log(y) por log
_
x
y
_
,
sin(x) sin(y) por
1
2
sin
_
1
2
(y x)
_
cos
_
1
2
(y + x)
_
e
_
(x)
_
(y) por
x y

x +

y
.
Consideremos ainda o caso da resolu cao da equa cao, com duas razes reais x
1
e x
2
,
ax
2
+ bx + c = 0, a = 0. (1.10)
Como e sabido tem-se
x
1
=
b +

b
2
4ac
2a
(1.11)
x
2
=
b

b
2
4ac
2a
. (1.12)
1. Erros 13
Se
3
b
2
4ac entao

b
2
4ac |b| o que conduz `a situa cao descrita anteriormente no calculo de x
1
ou de x
2
. Num caso destes podera recorrer-se `a formula
x
1
x
2
=
c
a
para calcular x
1
ou x
2
.
1.4.2 Problema inverso
O problema inverso do calculo dos erros consiste em determinar com que aproxima cao se devem usar
os valores aproximados x e y para que z = f(x, y) seja obtido com um erro absoluto, que em modulo,
nao exceda um valor > 0, previamente dado.
Pela formula fundamental do calculo dos erros sabemos que
|
z
| M
x

x
+ M
y

y
,
pelo que nao temos mais do que escolher os valores aproximados x e y de modo que
M
x

x
+ M
y

y
.
Temos assim uma inequa cao a duas incognitas (
x
e
y
) sendo o problema indeterminado.
Por vezes, e para facilitar a resolu cao da inequa cao admite-se que
1. M
x

x
= M
y

y
(princpio dos efeitos iguais)
ou
2.
x
=
y
(princpio dos erros iguais)
No primeiro caso passamos a ter duas inequa coes, cada uma apenas com uma incognita, cuja res-
olu cao e imediata
_

x


2M
x

y


2M
y
.
No segundo caso a inequa cao passa a ter apenas uma incognita e obtem-se
_

x


M
x
+ M
y

y


M
x
+ M
y
.
A partir dos valores admissveis para
x
e
y
obtemos o n umero mnimo de casas decimais signica-
tivas que devemos exigir para x e y.
3
quer dizer muito maior que
1. Erros 14
Como facilmente se compreende o princpio dos erros iguais so devera ser utilizado no caso das
grandezas em jogo serem da mesma natureza (por exemplo, x e y dois comprimentos, ou dois angulos,
etc.).
Exemplo 1.8
Se pretendermos calcular a area do crculo, do exemplo (1.4.1), com um erro absoluto que em modulo
nao exceda 4cm
2
, que aproxima coes devemos exigir para R e ? (Continuamos a desprezar todos os
erros cometidos em calculos intermedios).
Comecemos por determinar as aproxima coes necessarias, utilizando o princpio dos efeitos iguais.Ter-
se-`a:
1.225
2

+ 2 3.142 1.225
R
0.04
e, portanto,


0.004
2(1.225)
2
0.01332778

R

0.004
2 2 3.142 1.225
0.0025981
Concluiramos, entao, que poderamos continuar a usar a aproxima cao = 3.14 mas teriamos que
obter uma aproxima cao de R com um erro absoluto menor ou igual a 0.2 mm.
Como se pode vericar neste caso a solu cao obtida atraves da aplica cao do princpio dos efeitos iguais
nao e, do ponto de vista do utilizador, a mais conveniente pois seria prefervel aumentar a exigencia de
precisao no valor de do que no valor de R.
Outros processos poderiam ser utilizados - por exemplo xar `a partida uma aproxima cao de com
5 casas decimais signicativas e em seguida determinar a aproxima cao necessaria em R.
Em casos deste tipo e habitual come car por se vericar se e possvel obter a aproxima cao pretendida
apenas `a custa da utiliza cao de novas aproxima coes dos valores para os quais seja mais facil, na pratica,
a sua obten cao. (Seria de analisar a hipotese de se conseguir uma aproxima cao da area do crculo nas
condi coes indicadas apenas utilizando uma outra aproxima cao de . Deixamos como exerccio vericar
que neste caso nao e possvel. )
1.4.3 Apresentacao dos resultados
Nas considera coes feitas ate agora nao entramos em linha de conta com os erros devidos ao facto de
nao serem exactas as opera coes que conduzem ao resultado.
1. Erros 15
Dum modo geral se f

(x, y) representar o resultado da sequencia de opera coes (aproximadas ou nao)


que se fazem para obter o resultado nal, tem-se
f(x, y) f

(x, y) = (f(x, y) f(x, y)) + (f(x, y) f

(x, y))
O valor do primeiro parentesis do segundo membro da express ao e o erro que consideramos ante-
riormente e que normalmente se designa por erro propagado; o valor do outro parentesis representa o
chamado erro gerado.
Assim,
|f(x, y) f

(x, y)| |f(x, y) f(x, y)| +|f(x, y) f

(x, y)|,
isto e, o valor absoluto do erro total nao excede a soma dos valores absolutos dos erros propagados e
gerado.
Os erros gerados mais comuns sao os erros de arredondamento (para a apresenta cao do resultado
nal) e erros de truncatura (geralmente provenientes de aproxima coes de formulas matematicas).
Com vista `a apresenta cao do resultado nal e dum majorante do modulo do erro vamos convencionar
que se garantirmos k casas decimiais signicativas para a aproximacao, apresentaremos, sempre que
possvel, o resultado com k + 1 casas decimais e um majorante do erro total (no erro gerado intervem
necessariamente o erro de arredondamento nal).
A apresenta cao do resultado com mais uma casa decimal, para alem das signicativas, justica-se
pelo facto de em varios passos da aplica cao da formula fundamental do calculo dos erros se substituirem
alguns valores por majorantes havendo, possvelmente, no nal, perda de casas decimais signicativas;
por outras palavras, embora nao possamos concluir que a casa decimal de ordem k +1 seja signicativa,
e bem provavel que o seja, pelo que nao e despropositado considera-la.
Deste modo, no exemplo 1.4.1 o valor da area do crculo seria apresentado do modo seguinte :
A = 4.67
A
= 0.042 + 0.004 = 0.046
ja que podemos garantir para A uma casa decimal signicativa e o erro total e, em modulo, majorado
por
0.042
. .
erro propagado
+|4.67 4.673576|
. .
erro gerado
0.042 + 0.004 = 0.046
Tal como ja dissemos anteriormente, desprezamos todos os erros de calculos intermedios.
Sendo z = f(x, y) e x e y aproxima coes de x e y, respectivamente com erros absolutos
x
= x x e

y
= y y, pela formula fundamental do calculo dos erros (nao considerando outras fontes de erro)
z z = f

x
(
1
,
2
)
x
+ f

y
(
1
,
2
)
y
,

1
,
2
I
1
I
2
(nas condi coes consideradas anteriormente.)
Se pretendermos relacionar o erro relativo da aproxima cao do resultado com os erros relativos das
1. Erros 16
aproxima coes x e y tem-se, admitindo que z = f(x, y) = 0, (x, y) I
1
I
2
r
z
=

z z
z

x
(
1
,
2
)
f(x, y)

|
x
| +

y
(
1
,
2
)
f(x, y)

|
y
|
=

xf

x
(
1
,
2
)
f(x, y)

|
x
|
|x|
+

yf

y
(
1
,
2
)
f(x, y)

|
y
|
|y|

xf

x
(x, y)
f(x, y)

r
x
+

yf

y
(x, y)
f(x, y)

r
y
se admitirmos que
x
e
y
sao sucientemente pequenos.
Podemos, assim, concluir que o comportamento das fun coes

xf

x
(x, y)
f(x, y)

I
1
I
2
e

yf

y
(x, y)
f(x, y)

I
1
I
2
e determinante na analise da propaga cao dos erros relativos.
1.4.4 Condicionamento e estabilidade
Devido `a existencia dos chamados erros iniciais o problema que na realidade resolvemos na pratica
nem sempre coincide com o problema colocado. Como e evidente so terao interesse os resultados que
nao diram muito da solu cao exacta do problema posto.
Por exemplo, a equa cao
x
2

1
3
x +
1
36
= 0
tem as razes reais x
1
= x
2
=
1
6
.
Se tomarmos os valores aproximados de
1
3
e
1
36
com 6 casas decimais signicativas e resolvermos a
equa cao aproximada
x
2
0.333333x + 0.027778 = 0
vericamos que nao tem razes reais.
Um problema como este, em que pequenas altera coes nos dados iniciais originam grandes varia coes
na solu cao diz-se um problema mal condicionado. Se esta situa cao nao ocorrer diz-se que e um problema
bem condicionado.
Na utiliza cao dum metodo numerico para resolu cao dum problema matematico devera ter-se em
conta o comportamento dos erros de arredondamento que necessariamente se cometem ao longo da
execu cao.
Dizemos que um metodo numerico e estavel se a acumula cao dos erros durante os calculos nao tem
inuencia signicativa no resultado nal. Caso contrario o metodo diz-se instavel.
Notemos que um problema (que ou e bem condicionado ou mal condicionado) podem estar associados
varios algoritmos, nada impedindo que uns sejam estaveis e outros instaveis; nenhum algoritmo estavel
1. Erros 17
dara bons resultados quando aplicado a um problema mal condicionado assim como um problema bem
condicionado podera ter uma solu cao desastrosa se se aplicar um algoritmo instavel.
Na pratica a avalia cao do efeito dos erros de arredondamento podera ser feita utilizando duas tecnicas
empricas que, nao sendo totalmente seguras, poderao dar indica coes bastante signicativas.
A primeira consiste em resolver, computacionalmente, o problema utilizando tipos diferentes de
precisao (por exemplo, precisao simples e precisao dupla) para todas as variaveis. Se os resultados
vierem substancialmente alterados, podemos concluir que o nosso algoritmo e muito sensvel aos erros
de arredondamento e, neste caso deve-se analisar o problema para averiguar se e apenas o algoritmo
que e instavel ou se o proprio problema e tambem mal condicionado.
A segunda tecnica consiste em produzir pequenas altera c oes aleatorias nos dados iniciais e analisar as
consequencias nos resultados. Uma grande varia cao destes aponta para instabilidade do algoritmo e/ou
mau condicionamento do problema.
1. Erros 18
2. Aproximacao 19
Captulo 2
Aproximacao
2.1 Introducao
Uma das classes de fun coes mais importantes em teoria da aproxima cao e a classe dos polinomios,
pelas propriedades que estes apresentam; por exemplo:
- sao fun coes de classe C

;
- representam-se facilmente em computador;
- sao conhecidas in umeras propriedades relativas aos seus zeros.
Nao e, portanto, de estranhar, que dada uma fun cao f, analiticamente ou apenas atraves de uma
tabela, se tenham desenvolvido metodos que permitem aproximar a fun cao por um polinomio.
Notemos que, como ja e sabido, se
- f C
n
([a, b])
e
- f
(n+1)
existe em ]a, b[
entao e valido o desenvolvimento de Taylor numa vizinhan ca de x
0
contida em [a, b]
f(x) = f(x
0
) + (x x
0
)f

(x
0
) +
(x x
0
)
2
2!
f

(x
0
) + ... +
(x x
0
)
n
n!
f
(n)
(x
0
) +
+
(x x
0
)
n+1
(n + 1)!
f
(n+1)
(),
onde = x
0
+ (x x
0
) com ]0, 1[.
Assim, conhecidos os valores f(x
0
), f

(x
0
), ..., f
(n)
(x
0
), ao aproximarmos f(x) pela soma das (n+1)
primeiras parcelas daquele desenvolvimento nao estamos senao a aproximar f(x) por um polinomio de
grau menor ou igual a n, p
n
(x) (polinomio de Taylor)
p
n
(x) = f(x
0
) + (x x
0
)f

(x
0
) +
(x x
0
)
2
2!
f

(x
0
) + ... +
(x x
0
)
n
n!
f
(n)
(x
0
)
2. Aproximacao 20
que tem a particularidade de satisfazer as seguintes condi coes:
p
n
(x
0
) = f(x
0
)
p

n
(x
0
) = f

(x
0
)
.
.
.
p
(n)
n
(x
0
) = f
(n)
(x
0
).
O polinomio de Taylor apresenta, no entanto, alguns inconvenientes, nomeadamente:
Calculo das derivadas de f ate `a ordem n para obten cao dos seus valores em x
0
;
Concentra cao da informa cao sobre a fun cao f num unico ponto, x
0
, o que deixa antever que a
aproxima cao da fun cao pelo polinomio de Taylor nao de resultados sucientemente satisfatorios
em pontos relativamente afastados de x
0
;
Tornam-se, na pratica, mais ecientes metodos que incluam informa cao da fun cao em varios pontos.
Exemplo 2.1
Considere-se a fun cao f(x) = 1/x e o desenvolvimento de Taylor da fun cao f em torno do ponto 1
f(x) = 1 (x 1) + (x 1)
2
(x 1)
3
+ ... + (1)
n
(x 1)
n
+ (1)
n+1
( 1)
n+1
,
com entre x e 1. Considerem-se os polinomios de Taylor
p
1
(x) = 1 (x 1)
p
2
(x) = 1 (x 1) + (x 1)
2
.
Os gracos que se seguem dizem respeito `a compara cao, numa vizinhan ca de 1, de cada um destes
polinomios com a fun cao f.
0.6 0.8 1 1.2 1.4
x
0.6
0.8
1.2
1.4
1.6
1.8
2
y
p
1
x
fx
0.6 0.8 1 1.2 1.4
x
0.8
1.2
1.4
1.6
1.8
2
y
p
2
x
fx
Figura 2.1: Gracos de f e dos respectivos polinomios de Taylor, no ponto 1, de graus 1 e 2
Observa-se que, como era de esperar, a aproxima cao de f pelos polinomios de grau 1 e 2 so apresenta
resultados satisfatorios na vizinhan ca do ponto 1.
Faremos referencia, neste captulo, `a aproxima cao polinomial, seccionalmente polinomial e exponen-
cial.
2. Aproximacao 21
2.2 Polinomio interpolador. Polinomio de Lagrange
Consideremos o intervalo [a, b] R, os pontos distintos x
0
, x
1
, ..., x
n
[a, b] (podemos considerar
x
0
< x
1
< ... < x
n
) e uma fun cao f cujos valores, naqueles pontos, sao conhecidos.
Um polinomio, p, que satisfaz as condi coes
p(x
i
) = f(x
i
), i = 0, 1, ...n,
chama-se polinomio interpolador de f em x
0
, x
1
, ..., x
n
.
1
Comecemos por provar que e sempre possvel obter um polin omio nestas circunstancias.
Teorema 2.1 Consideremos o intervalo [a, b] R, os pontos a x
0
< x
1
< ... < x
n
b e seja f uma
funcao para a qual sao conhecidos os valores f(x
i
), i = 0, 1, ..., n.
Existe um unico polinomio p
n
, de grau menor ou igual a n, que satisfaz
p
n
(x
i
) = f(x
i
), i = 0, 1, ...n.
Demonstracao: Consideremos o polinomio de grau menor ou igual a n
p
n
(x) =
(x x
1
)(x x
2
)...(x x
n
)
(x
0
x
1
)(x
0
x
2
)...(x
0
x
n
)
f(x
0
) +
+
(x x
0
)(x x
2
)...(x x
n
)
(x
1
x
0
)(x
1
x
2
)...(x
1
x
n
)
f(x
1
) + ... + (2.1)
+ ... +
(x x
0
)(x x
1
)...(x x
n1
)
(x
n
x
0
)(x
n
x
1
)...(x
n
x
n1
)
f(x
n
)
ou, abreviadamente,
p
n
(x) =
n

i=0
_
_
_
n

k=0
k=i
(x x
k
)
(x
i
x
k
)
_
_
_
f(x
i
).
Como e facil de vericar
p
n
(x
0
) = f(x
0
)
p
n
(x
1
) = f(x
1
)
.
.
.
p
n
(x
n
) = f(x
n
)
o que prova a existencia de, pelo menos, um polinomio interpolador.
1
Ou seja, polinomio interpolador de f nos pontos (x
0
, f(x
0
)), (x
1
, f(x
1
)), ..., (x
n
, f(x
n
)).
2. Aproximacao 22
Provemos, em seguida que e unico. Suponhamos que existia outro polinomio de grau menor ou igual
a n, q
n
, interpolador de f nos pontos considerados.
Seja
r
n
= p
n
q
n
.
Como r
n
e tambem um polinomio de grau menor ou igual a n e
r
n
(x
i
) = p
n
(x
i
) q
n
(x
i
) = f(x
i
) f(x
i
) = 0, i = 0, 1, ..., n
isto e, r
n
tem pelo menos n + 1 zeros, tera que ser necessariamente r
n
0.
Portanto, p
n
= q
n

A formula (2.1) e denominada formula de Lagrange para o polinomio interpolador de f em x


0
, x
1
, ..., x
n
.
Exemplo 2.2
Consideremos a fun cao f(x) = 1/x e os pontos x
0
= 2, x
1
= 2.5 e x
2
= 4
i 0 1 2
x
i
2 2.5 4
f(x
i
) =
1
x
i
0.50 0.40 0.25
Determinemos o polinomio de Lagrange interpolador de f nos pontos considerados (portanto, de
grau menor ou igual a 2).
Tem-se
p
2
(x) =
2

i=0
L
i
(x)f(x
i
),
onde
L
i
(x) =
2

k=0
k=i
(x x
k
)
(x
i
x
k
)
,
ou seja,
L
0
(x) =
(x 2.5)(x 4)
(2 2.5)(2 4)
= x
2
6.5x + 10
L
1
(x) =
(x 2)(x 4)
(2.5 2)(2.5 4)
1.333x
2
+ 8x 10.667
L
2
(x) =
(x 2)(x 2.5)
(4 2)(4 2.5)
0.333x
2
1.5x + 1.667
Tem-se entao
2. Aproximacao 23
p
2
(x) =
2

i=0
L
i
(x)f(x
i
)
= (x
2
6.5x + 10) 0.5 + (1.333x
2
+ 8x 10.667) 0.4
+ (0.333x
2
1.5x + 1.667) 0.25
0.05x
2
0.425x + 1.15
2.5 3 3.5 4
x
0.3
0.35
0.4
0.45
0.5
y
p2x
fx
Figura 2.2: Aproxima cao polinomial de f por p
2
Uma aproxima cao de f(3) = 1/3 sera entao p
2
(3) 0.325.
Tal como dissemos anteriormente ao utilizarmos uma aproxima cao devemos ter uma indica cao sobre
o erro que a afecta.
Demonstremos entao:
Teorema 2.2 Consideremos o intervalo [a, b] R, e os pontos a x
0
< x
1
< ... < x
n
b.
Seja f uma funcao com derivada de ordem n + 1 em [a, b] e p
n
o polinomio de grau menor ou igual a
n interpolador de f em x
0
, x
1
, ..., x
n
. Entao, para cada x

[a, b] existe
= (x

) ]a, b[, tal que


f(x

) p
n
(x

) = (x

x
0
)(x

x
1
)...(x

x
n
)
f
(n+1)
()
(n + 1)!
(2.2)
Demonstracao: Se x

= x
i
, i {0, 1, ..., n} a igualdade anterior e sempre verdadeira;
se x

= x
i
, i = 0, 1, ..., n, consideremos a fun cao F denida por
F(x) = f(x) p
n
(x)
_
f(x

) p
n
(x

)
(x

)
_
(x),
onde (x) = (x x
0
)(x x
1
)...(x x
n
).
Tem-se entao
2. Aproximacao 24
F(x
i
) = 0, i = 0, 1, ..., n, F(x

) = 0,
isto e, F(x) anula-se em pelo menos n + 2 pontos distintos em [a, b].
Aplicando o teorema de Rolle conclui-se que
F

tem pelo menos n + 1 zeros em ]a, b[;


F

tem pelo menos n zeros em ]a, b[;


.
.
.
F
(n+1)
tem pelo menos 1 zero em ]a, b[.
Portanto, existe ]a, b[ tal que F
(n+1)
() = 0.
Mas
F
(n+1)
(x) = f
(n+1)
(x) p
(n+1)
n
(x)
_
f(x

) p
n
(x

)
(x

)
_

(n+1)(x)
= f
(n+1)
(x)
_
f(x

) p
n
(x

)
(x

)
_
(n + 1)!,
donde
F
(n+1)
() = 0 f
(n+1)
()
_
f(x

) p
n
(x

)
(x

)
_
(n + 1)! = 0,
ou seja,
f(x

) p
n
(x

) = (x

x
0
)(x

x
1
)...(x

x
n
)
f
(n+1)
()
(n + 1)!

A formula anterior tem interesse limitado, devido ao facto de nao conhecermos . No entanto se
f C
n+1
([a, b]) e
max
x[a,b]
|f
(n+1)
(x)| M
n+1
entao
|f(x

) p
n
(x

)| |(x

x
0
)(x

x
1
)...(x

x
n
)|
M
n+1
(n + 1)!
Exemplo 2.3
No exemplo anterior x

= 3 e [a, b] = [2, 4]. O erro sera entao


f(3) p
2
(3) = |(3 2)(3 2.5)(3 4)
f

()
3!
, ]2, 4[
f(x) =
1
x
, f

(x) =
1
x
2
, f

(x) =
2
x
3
, f

(x) =
3!
x
4
2. Aproximacao 25
e
|
3!
x
4
|
[2,4]

6
2
4
= M
3
Assim,
|f(3) p
2
(3)| |(1 1.5 (1)|
6
2
4
= 0.03125(< 0.5 10
1
).
Podemos concluir que a aproxima cao obtida, 0.325, tem pelo menos uma casa decimal signicativa.
De acordo com a regra estabelecida anteriormente podemos apresentar o resultado na forma
1
3
= f(3) 0.33(3.7)
(|erro total| 0.03125 + 0.005 = 0.03625 < 0.037.)
Algoritmo 2.1
2
Aproximacao de Lagrange
Dados os pontos (x
0
, y
0
), (x
1
, y
1
), ..., (x
n
, y
n
), x
0
< x
1
< ... < x
n
e x [x
0
, x
n
],
pretende-se determinar p
n
(x), onde p
n
e o polinomio de Lagrange de grau menor ou igual a n e tal que
p
n
(x
i
) = y
i
, i = 0, ..., n.
IN

ICIO
ENTRADA(n; x; (x
i
, y
i
), i = 0, 1, ..., n)
C 0
i 0
ENQUANTO i n E C = 0 ENT

AO
SE (x = x
i
) ENT

AO Se x = x
i
, i {0, 1, ..., n} o valor de sada e y
i
SAux y
i
;
C 1
i i + 1
SE C = 0 ENT

AO
S 0
FAC A PARA i 0, n
P
1
1;
P
2
1; Se x = x
i
, i = 0, 1, ..., n o valor de sada e
FAC A PARA j 0, n obtido pela formula de Lagrange.
SE j = i ENT

AO
P
1
P
1
(x x
j
)
P
2
P
2
(x
i
x
j
)
S S +
P
1
P
2
y
i
SEN

AO
S SAux;
SA

IDA(S)
FIM
2
Os pseudocodigos sao apresentados pressupondo uma implementa cao informatica com o software
Mathematica e fazendo uso das suas rotinas.
2. Aproximacao 26
2.3 Diferencas divididas. Formula de Newton com
diferencas divididas
Seja f uma fun cao cujos valores nos pontos distintos x
0
, x
1
, ..., x
n
, x
0
< x
1
< ... < x
n
, sao
conhecidos.
Denicao 2.1 As diferen cas divididas para a funcao f sao denidas do modo seguinte:
diferen ca dividida de ordem zero em x
i
:
f[x
i
] = x
i
diferen ca dividida de ordem 1 em x
i
e x
i+1
:
f[x
i
, x
i+1
] =
f(x
i+1
) f(x
i
)
x
i+1
x
i
diferen ca dividida de ordem 2 em x
i
, x
i+1
e x
i+2
:
f[x
i
, x
i+1
, x
i+2
] =
f[x
i+1
, x
i+2
] f[x
i
, x
i+1
]
x
i+2
x
i
e dum modo semelhante
diferen ca dividida de ordem k em x
i
, x
i+1
, ..., x
i+k
:
f[x
i
, x
i+1
, ..., x
i+k
] =
f[x
i+1
, x
i+2
, ..., x
i+k
] f[x
i
, x
i+1
, ..., x
i+k1
]
x
i+k
x
i
.
Notemos que
1. Na deni cao de diferen ca dividida nao se pressupoe qualquer rela cao entre os pontos {x
i
}, tal
como, estarem igualmente espa cados ou ordenados (apenas se impos que sejam distintos). No
entanto, na pratica, quase sempre se consideram os argumentos ordenados por ordem crescente;
2. Numa diferen ca dividida de ordem k intervem k + 1 pontos (ou argumentos);
3. Uma diferen ca dividida de ordem k dene-se, por recorrencia, a partir de duas diferen cas divididas
de ordem k 1.
As diferen cas divididas duma fun cao f tabelada em x
0
, x
1
, x
2
, x
3
e x
4
podem ser apresentadas dos
modos seguintes:
2. Aproximacao 27
Tabela de diferencas divididas
x f(x) f[, ] f[, , ] f[, , , ] f[, , , , ]
x
0
f(x
0
)
f[x
0
, x
1
]
x
1
f(x
1
) f[x
0
, x
1
, x
2
]
f[x
1
, x
2
] f[x
0
, x
1
, x
2
, x
3
]
x
2
f(x
2
) f[x
1
, x
2
, x
3
] f[x
0
, x
1
, x
2
, x
3
, x
4
]
f[x
2
, x
3
] f[x
1
, x
2
, x
3
, x
4
]
x
3
f(x
3
) f[x
2
, x
3
, x
4
]
f[x
3
, x
4
]
x
4
f(x
4
)
ou
x f(x) f[, ] f[, , ] f[, , , ] f[, , , , ]
x
0
f(x
0
)
x
1
f(x
1
) f[x
0
, x
1
]
x
2
f(x
2
) f[x
1
, x
2
] f[x
0
, x
1
, x
2
]
x
3
f(x
3
) f[x
2
, x
3
] f[x
1
, x
2
, x
3
] f[x
0
, x
1
, x
2
, x
3
]
x
4
f(x
4
) f[x
3
, x
4
] f[x
2
, x
3
, x
4
] f[x
1
, x
2
, x
3
, x
4
] f[x
0
, x
1
, x
2
, x
3
, x
4
]
2. Aproximacao 28
Algoritmo 2.2 Construcao da tabela de diferencas divididas
Dados os pontos (x
0
, y
0
), (x
1
, y
1
), ..., (x
n
, y
n
), pretende-se determinar a tabela de diferen cas divididas
associada a este conjunto de pontos.
IN

ICIO
ENTRADA(n; (x
i
, y
i
), i = 0, 1, ..., n)
FAC A PARA i 1, n + 1
dd
i1
y
i1
;
FAC A PARA j 2, n + 1
FAC A PARA i 1, n + 2 j
dd
ij

dd
i+1j1
dd
ij1
x
i+j2
x
i1
;
SA

IDA (Tabela de diferen cas divididas dd


ij
, i, j = 1, ..., n)
FIM
Exemplo 2.4
Tabela de diferencas divididas
x f(x) = e
x
f[, ] f[, , ] f[, , , ] f[, , , , ]
1 2.7183
3.1700
1.3 3.6693 1.7840
4.0620 0.7200
1.5 4.4817 2.5040 0.2093
5.8148 0.9712
2.0 7.3891 2.5040
8.1795
2.2 9.0250
Teorema 2.3 Seja f uma funcao cujos valores sao conhecidos nos pontos distintos x
i
, x
i+1
, ..., x
i+k
.
Tem-se
f[x
i
, x
i+1
, ..., x
i+k
] =
k

j=0
f(x
i+j
)

k
l=0
l =j
(x
i+j
x
i+l
)
=
=
f(x
i
)
(x
i
x
i+1
)...(x
i
x
i+k
)
+ .... +
f(x
i+k
)
(x
i+k
x
i
)...(x
i+k
x
i+k1
)
.
2. Aproximacao 29
Exerccio: Demonstrar o teorema por indu cao matematica.
Do teorema anterior conclui-se facilmente que o valor da diferen ca dividida de f relativamente aos
pontos x
i
, x
i+1
, ..., x
i+k
nao depende da ordem pela qual se consideram os argumentos.
Supondo ainda que os valores da fun cao f sao conhecidos em x
0
, x
1
, ..., x
n
e sendo x = x
i
, i =
0, 1, ..., n tem-se, tendo em conta a deni cao de diferen ca dividida,
f[x, x
0
] =
f(x) f(x
0
)
x x
0
,
ou seja
f(x) = f(x
0
) + (x x
0
)f[x, x
0
]
Mas,
f[x, x
0
, x
1
] =
f[x, x
0
] f[x
0
, x
1
]
x x
1
,
donde
f[x, x
0
] = f[x
0
, x
1
] + (x x
1
)f[x, x
0
, x
1
],
e, portanto,
f(x) = f(x
0
) + (x x
0
)f[x
0
, x
1
] + (x x
0
)(x x
1
)f[x, x
0
, x
1
].
Repetindo o processo e atendendo a que a partir dos valores da fun cao dados se pode calcular
diferen cas divididas ate `a ordem n (f[x
0
, x
1
, ..., x
n
]), obtem-se
f(x) = f(x
0
) + (x x
0
)f[x
0
, x
1
] + (x x
0
)(x x
1
)f[x
0
, x
1
, x
2
] +
+ ... + (x x
0
)(x x
1
)...(x x
n1
)f[x
0
, x
1
, ..., x
n
] +
+ (x x
0
)(x x
1
)...(x x
n
)f[x, x
0
, x
1
, ..., x
n
].
Sendo
R(x) = (x x
0
)(x x
1
)...(x x
n
)f[x, x
0
, x
1
, ..., x
n
]
e
p
n
(x) = f(x
0
) + (x x
0
)f[x
0
, x
1
] + (x x
0
)(x x
1
)f[x
0
, x
1
, x
2
] +
+ ... + (x x
0
)(x x
1
)...(x x
n1
)f[x
0
, x
1
, ..., x
n
] (2.3)
pode-se escrever
f(x) = p
n
(x) + R(x).
Notemos que
2. Aproximacao 30
1. p
n
(x) e um polinomio de grau menor ou igual a n
2. R(x
i
) = 0, i = 0, 1, ..., n, isto e,
f(x
i
) = p
n
(x
i
), i = 0, 1, ..., n.
Assim p
n
(x) e um polinomio interpolador de f em x
i
, i = 0, 1, ..., n (como vimos anteriormente, ha
um so polinomio de grau n interpolador de f em x
i
, i = 0, 1, ..., n).
O polinomio (2.3) e designado polinomio de Newton com diferencas divididas de grau menor ou igual
a n interpolador de f em x
0
, x
1
, ..., x
n
.
Teorema 2.4 Seja f uma funcao denida em [a, b] onde admite derivada de ordem n + 1 e sejam
x

, x
0
, x
1
, ..., x
n
pontos distintos de [a, b] (a x
0
< x
1
< ... < x
n
b, x

]x
0
, x
n
[). Entao
f[x
0
, x
1
, ..., x
n
, x

] =
f
(n+1)
()
(n + 1)!
, = (x

) ]x
0
, x
n
[.
Demonstracao: Atendendo `a unicidade do polinomio de grau menor ou igual a n interpolador de
f em x
0
, x
1
, ..., x
n
tem-se
R(x

) = (x

x
0
)(x

x
1
)...(x

x
n
)f[x
0
, x
1
, ..., x
n
, x

]
= (x

x
0
)(x

x
1
)...(x

x
n
)
f
(n+1)
()
(n + 1)!
(2.4)
(tendo em conta (2.2)), donde
f[x
0
, x
1
, ..., x
n
, x

] =
f
(n+1)
()
(n + 1)!
.

Na ausencia de informa cao sobre f


(n+1)
a igualdade anterior pode ter algum interesse;
se se vericar que as diferen cas divididas de ordem n + 1 nao variam muito entao
(x x
0
)(x x
1
)...(x x
n
)f[x
0
, x
1
, ..., x
n
, x
n+1
] sera uma boa estimativa para o erro de interpola cao.
(Evidentemente que estamos a admitir que conhecemos um n umero suciente de valores tabelados de
f para podermos comparar varias diferen cas divididas de ordem n + 1).
Se f(x) = a
n
x
n
+a
n1
x
n1
+... +a
1
x +a
0
, a
n
= 0, isto e, se f(x) e um polinomio de grau menor
ou igual a n, e imediato, a partir da igualdade anterior que
- todas as diferencas de ordem n tem o valor a
n
f[x
i
, ..., x
i+n
] =
f
(n)
()
n!
=
n!a
n
n!
= a
n
.
2. Aproximacao 31
- todas as diferencas de ordem superior a n sao nulas.
Exemplo 2.5
Tendo em conta a tabela de diferen cas divididas da fun cao e
x
, calculemos o valor aproximado de e
1.32
utilizando o polinomio interpolador de e
x
em 1, 1.3, 1.5 e 2.
Recordemos a tabela de diferen cas divididas determinada
x f(x) [, ] [, , ] [, , , ]
1 2.7183
3.1700
1.3 3.6693 1.7840
4.0620 0.7200
1.5 4.4817 2.5040
5.8148
2.0 7.3891
e
1.32
2.7183 + (1.32 1)3.17 + (1.32 1)(1.32 1.3)1.17840 + (2.5)
+ (1.32 1)(1.32 1.3)(1.32 1.5)0.72
3.743288
(Note-se que o valor obtido na maquina de calcular e e
1.32
3.743421).
Recorrendo `a formula do erro vem
|R(1.32)| = |(1.32 1)(1.32 1.3)(1.32 1.5)(1.32 2)
f
(4)
()
4!
|
|(1.32 1)(1.32 1.3)(1.32 1.5)(1.32 2)|
M
4
4!
,
onde
|f
(4)
(x)|
[1,2]
M
4
|f
(4)
(x)| = e
x
e
2
< 7.39 = M
4
, x [1, 2].
Assim,
|R(2.32)| = |f(1.32) P
3
(1.32)| 0.284 10
3
< 0.5 10
3
,
o que permite garantir para a aproxima cao, pelo menos, 3 casas decimais signicativas.
De acordo com a regra estabelecida anteriormente o resultado poderia ser apresentado na forma
e
1.32
3.7433 0.0003
(sendo 0.0003 um majorante do erro total, desprezados os erros de arredondamento nos calculos in-
termedios).

E de referir que os valores do polinomio p


n
(x) dado pela formula de Newton com diferen cas divididas
podem ser calculados de maneira mais eciente fazendo
2. Aproximacao 32
p
n
(x) = f(x
0
) + (x x
0
){f[x
0
, x
1
] + (x x
1
){f[x
0
, x
1
, x
2
] + (x x
2
){f[x
0
, x
1
, x
2
, x
3
] +
+ ... + (x x
n1
)f[x
0
, x
1
, ..., x
n
]}}...}
Quando anteriormente denimos diferen ca dividida consideramos a fun cao f tabelada em pontos
distintos. Vejamos como generalizar o conceito de diferen ca dividida para o caso de argumentos iguais,
Atendendo ao teorema 2.4, se um argumento aparece repetido k + 1 vezes, denimos diferen ca
dividida de ordem k, naquele argumento, atraves da igualdade
f[x
i
, x
i
, ..., x
i
. .
k+1 pontos
] =
f
(k)
(x
i
)
k!
. (2.6)
Desde que na tabela da fun cao f os argumentos repetidos apare cam agrupados podemos construir
a tabela de diferen cas divididas.
Assim tem-se,
Tabela de diferencas divididas (argumentos iguais)
x f(x) [, ] [, , ] [, , , ]
x
0
f(x
0
)
f

(x
0
)
x
0
f(x
0
)
f

(x
0
)
2!
f

(x
0
) f[x
0
, x
0
, x
0
, x
1
]
x
0
f(x
0
) f[x
0
, x
0
, x
1
]
f[x
0
, x
1
] f[x
0
, x
0
, x
1
, x
1
]
x
1
f(x
1
) f[x
0
, x
1
, x
1
]
f

(x
1
) f[x
0
, x
1
, x
1
, x
2
]
x
1
f(x
1
) f[x
1
, x
1
, x
2
]
f[x
1
, x
2
]
x
2
f(x
2
)
onde
f[x
0
, x
0
, x
1
] =
f[x
0
, x
1
] f[x
0
, x
0
]
x
1
x
0
=
f[x
0
, x
1
] f

(x
0
)
x
1
x
0
f[x
0
, x
0
, x
0
, x
1
] =
f[x
0
, x
0
, x
1
] f[x
0
, x
0
, x
0
]
x
1
x
0
=
f[x
0
, x
0
, x
1
]
f

(x
0
)
2!
x
1
x
0
etc.
2. Aproximacao 33
No caso limite em que x
0
= x
1
= ... = x
n
a formula de Newton com diferen cas divididas permite
escrever
f(x) = f(x
0
) + (x x
0
)f

(x
0
) +
(x x
0
)
2
2!
f

(x
0
) + ... +
+
(x x
0
)
n
n!
f
(n)
(x
0
) +
(x x
0
)
n+1
(n + 1)!
f
(n+1)
(), com entre x e x
0
,
que nao e mais do que o desenvolvimento de Taylor da fun cao f em torno do x
0
.
2.4 Diferencas nitas. Formula de Newton com diferencas
nitas
Seja f uma fun cao cujos valores sao conhecidos nos pontos x
0
, x
1
, ..., x
n
[a, b] e
x
i
= x
i1
+ h, h > 0, i = 1, 2, ..., n.
Neste caso os valores do argumento estao em progressao aritmetica e a tabela dos valores de f diz-se
de passo constante.
Denicao 2.2 As diferen cas nitas descendentes da funcao f para os pontos tabelados sao
denidas do modo seguinte:
diferen ca nita de ordem zero em x
i
:

0
f(x
i
) = f(x
i
)
ou (2.7)

0
f
i
= f
i
(2.8)
diferen ca nita de ordem r (r 1) em x
i
:

r
f(x
i
) =
r1
f(x
i+1
)
r1
f(x
i
)
ou (2.9)

r
f
i
=
r1
f
i+1

r1
f
i
(2.10)
Assim, temos

0
f
i
=
0
f(x
i
) = f(x
i
) = f
i

1
f
i
=
1
f(x
i
) =
0
f(x
i+1
)
0
f(x
i
) = f(x
i+1
) f(x
i
) = f
i+1
f
i

2
f
i
=
1
f
i+1

1
f
i
= (f
i+2
f
i+1
) (f
i+1
f
i
) = f
i+2
2f
i+1
+ f
i

3
f
i
=
2
f
i+1

2
f
i
= (f
i+3
2f
i+2
+ f
i+1
) (f
i+2
2f
i+1
+ f
i
) = f
i+3
3f
i+2
+ 3f
i+1
f
i
2. Aproximacao 34
e prova-se por indu cao que

r
f
i
=
_
r
0
_
f
i+r

_
r
1
_
f
i+r1
+ ... + (1)
r
_
r
r
_
f
i
,
com
_
r
j
_
=
r!
j!(r j)!
.
Uma tabela de diferen cas descendentes e geralmente apresentada do modo seguinte
x f(x)
2

4
x
0
f
0
f
0
x
1
f
1

2
f
0
f
1

3
f
0
x
2
f
2

2
f
1

4
f
0
f
2

3
f
1
x
3
f
3

2
f
2
f
3
x
4
f
4
ou
x f(x)
2

4
x
0
f
0
x
1
f
1
f
0
x
2
f
2
f
1

2
f
0
x
3
f
3
f
2

2
f
1

3
f
0
x
4
f
4
f
3

2
f
2

3
f
1

4
f
0
Note-se que as diferen cas descendentes
k
f
j
, k = 0, 1, ... se dispoem segundo uma linha descen-
dente, a partir de f
j
.
Algoritmo 2.3 Construcao da tabela de diferencas nitas
Dados os pontos (x
0
, y
0
), (x
1
, y
1
), ..., (x
n
, y
n
) tais que x
0
< x
1
< ... < x
n
e
x
i+1
x
i
= h, i = 0, 1, ..., n, pretende-se determinar a tabela de diferen cas nitas associada a este
conjunto de pontos.
IN

ICIO
2. Aproximacao 35
ENTRADA(n; (x
i
, y
i
), i = 0, 1, ..., n)
h x
1
x
0
;
FAC A PARA i 1, n + 1
df
i1
y
i1
;
FAC A PARA j 2, n + 1
FAC A PARA i 1, n + 2 j
df
ij
df
i+1j1
df
ij1
;
SA

IDA(Tabela de diferen cas nitas, df


ij
, i, j = 1..., n.)
FIM
Exemplo 2.6
Tabela de diferen cas nitas da fun cao e
x
.
x e
x

2

4
1.0 2.7183
1.2 3.3201 0.6018
1.4 4.0552 0.7351 0.1333
1.6 4.9530 0.8978 0.1627 0.0294
1.8 6.0496 1.0966 0.1988 0.0361 0.0067
Teorema 2.5 Seja f uma funcao cujos valores sao conhecidos em n +1 pontos, x
0
, x
1
, ..., x
n
, igual-
mente espacados (x
i+1
x
i
= h > 0, i = 0, 1, ..., n 1). Tem-se
f[x
i
, x
i+1
, ..., x
i+k
] =

k
f
i
k!h
k
, i, k {0, 1, ..., n}.
Demonstracao: Vamos fazer a demonstra cao por indu cao.
Seja k = 0
f[x
i
] =

0
f
i
0!h
0
= f
i
= f(x
i
)
Admitamos a igualdade para k e provemos para k + 1
f[x
i
, x
i+1
, ..., x
i+k
, x
i+k+1
] =
f[x
i+1
, ..., x
i+k
, x
i+k+1
] f[x
i
, x
i+1
, ..., x
i+k
x
i+k+1
x
i
]
=

k
f
i+1
k!h
k


k
f
i
k!h
k
(k + 1)h
=

k
f
i+1

k
f
i
(k + 1)!h
k+1
=

k+1
f
i
(k + 1)!h
k+1
2. Aproximacao 36

Assim, no caso de ser conhecida uma tabela de passo constante da fun cao f nos pontos x
0
, x
1
, ..., x
n
(x
i+1
= x
i
+h, i = 0, 1, ..., n1, h > 0) o polinomio interpolador de f naqueles pontos, de grau menor
ou igual a n pode-se escrever na forma
p
n
(x) = f
0
+ (x x
0
)
f
0
h
+ (x x
0
)(x x
1
)

2
f
0
2!h
2
+
+ ... + (x x
0
)(x x
1
)...(x x
n1
)

n
f
0
n!h
n
(2.11)
e tem a designa cao de polinomio de Newton com diferencas descendentes. (Notemos que a formula do
erro continua a ser (2.2)).
Fazendo a transforma cao x = x
0
+ sh (i.e. s =
xx
0
h
) tem-se
x x
0
= sh
x x
1
= (x x
0
) + (x
0
x
1
) = sh h = h(s 1)
.
.
.
x x
i
= h(s i)
e substituindo em (2.11) obtem-se
p
n
(x
0
+ sh) = f
0
+ sf
0
+ s(s 1)

2
f
0
2!
+ ... + s(s 1)(s 2)...(s n + 1)

n
f
0
n!
(2.12)
evitando-se deste modo as divisoes por potencias de h.
Para o calculo de valores duma maneira mais eciente, (2.13) pode-se escrever na forma
p
n
(x
0
+ sh) = f
0
+ s{f
0
+
s 1
2
{
2
f
0
+
s 2
3
{
3
f
0
+ ...{
n1
f
0
(s n + 1)
n!

n
f
0
}}}...}
Atendendo `a formula (2.2) podemos escrever
f(x
0
+ sh) = p
n
(x
0
+ sh) +
s(s 1)(s 2)...(s n)
(n + 1)!
h
n+1
f
(n+1)
() (2.13)
Exemplo 2.7
Dada a tabela seguinte da fun cao sin(x) calcular o valor aproximado de sin(0.63), utilizando a formula
(2.13)
x 0.6 0.7 0.8 0.9 1.0
sin(x) 0.564642 0.644218 0.717356 0.783327 0.841471
Como a tabela e de passo constante (h = 0.1) vamos construir a tabela de diferen cas nitas.
2. Aproximacao 37
x f(x) f
2
f
3
f
4
f
0.6 0.564642
0.7 0.644218 0.079756
0.8 0.717356 0.073138 0.006438
0.9 0.783327 0.065971 0.007167 0.000729
1.0 0.841471 0.058144 0.007827 0.000660 0.000069
Utilizando o polinomio interpolador de grau menor ou igual a 4, tem-se
s =
0.63 0.6
0.1
= 0.3
p
4
(0.63) = 0.564642 + 0.3{0.079576 +
0.3 1
2
{0.006438
+
0.3 2
3
{0.000729 +
0.3 3
4
{0.000069}}}}
= 0.589144643
-1.5 -1 -0.5 0.5 1 1.5
x
-1
-0.5
0.5
1
y
sin x
p
4
x
Figura 2.3: Gracos das fun coes f(x) = sin(x) e p
4
(x)
Tendo em conta (2.13) vericamos que
| sin(0.63) p
4
(0.63)|
0.3|0.3 1||0.3 2||0.3 3||0.3 4|
5!
0.1
5
(sin
(5)
(x) = cos(x) e | cos(x)| 1)
isto e,
| sin(0.63) p
4
(0.63)| 2.973 10
7
< 0.3 10
6
o que nos garante, em p
4
(0.63), pelo menos, 6 casas decimais signicativas.
Assim, podemos apresentar o resultado na forma
sin(0.63) = 0.5891446 (0.3 10
6
+ 0.5 10
7
) = 0.5891446 (0.35 10
6
)
2. Aproximacao 38
Consideracoes nais:
1- Da rela cao entre as diferen cas divididas e as diferen cas nitas (numa tabela de passo h) podemos
concluir que se
f(x) = a
0
+ a
1
x + ... + a
n
x
n
, a
n
= 0,
todas as diferencas nitas de ordem n tem o valor n!h
n
a
n
, ja que

n
f
i
n!h
n
= f[x
i
, x
i+1
, ..., x
i+n
] = a
n
,
sendo nulas todas as diferen cas nitas de ordem superior a n.
2- Pelo exposto neste captulo camos a saber como aproximar uma fun cao, de que se conhece uma
tabela, atraves de um polinomio interpolador da fun cao nos pontos considerados.
Se `a partida se indicar o grau do polinomio a utilizar, apenas temos que escolher, da tabela dada,
os pontos convenientes.
No entanto, na pratica pode surgir a questao de, dada uma tabela da fun cao f, se pretender
aproximar a fun cao por um polinomio, nao se especicando o grau desse polinomio.
Atendendo a que nao e sempre verdade que quanto maior for o grau do polinomio interpolador
melhor e a aproxima cao, a m de se tentar obter uma indica cao do grau do polinomio a utilizar
come camos por construir uma tabela de diferen cas da fun cao (diferen cas divididas ou se possvel
diferen cas nitas). Tendo em conta que, se a fun cao fosse um polinomio de grau k as diferen cas de
ordem k seriam todas iguais (e as de ordem k+1 todas nulas), se a tabela de diferen cas construda
apresentar as diferen cas de ordem k aproximadamente iguais entao sera de aproximar a fun cao
por um polinomio de grau menor ou igual a k.
Notemos que a analise da tabela de diferen cas podera levar a concluir que num certo intervalo o
polinomio interpolador devera ter determinado grau e noutro intervalo o grau devera ser diferente.
Exemplo 2.8
Considerando a fun cao tabelada seguinte e a respectiva tabela de diferen cas nitas
2. Aproximacao 39
x f(x) f
2
f
0.5 2.24
1.0 3.00 0.76
1.5 4.25 1.25 0.49
2.0 6.0 1.75 0.50
2.5 8.23 2.23 0.48
3.0 10.90 2.67 0.44
3.5 13.51 2.61 0.06
4.0 15.02 1.51 1.10
4.5 16.50 1.48 0.03
5.0 18.01 1.51 0.03
5.5 19.50 1.49 0.02
poderamos escolher um polinomio interpolador de grau menor ou igual a 2 para aproximar os
valores da fun cao f no intervalo [0.5, 3], um polinomio de grau menor ou igual a 1 para aproximar
os valores da fun cao f no intervalo [3.5, 5.5] ou um polinomio de grau menor ou igual a 1 para
aproximar a fun cao no intervalo [2.5, 3.5]. Os pontos de interpola cao a escolher devem ter em
conta a localiza cao de x

, onde se pretende calcular o valor aproximado de f.


2.5 Interpolacao inversa
Acontece frequentemente, relativamente a uma tabela conhecida da fun cao y = f(x) (que se sabe ser
uma fun cao invertvel), ser pedido o valor da variavel independente, x, correspondente a um determinado
valor dado da variavel dependente, y. Trata-se, entao, da determina cao dum valor da fun cao inversa
f
1
, que podera se obtido por interpola cao polinomial.
Exemplo 2.9
Dada a tabela
x 4.236 5.018 6.014 6.851 7.304 7.963
f(x) 2.756 3.043 3.427 3.782 3.834 3.963
2. Aproximacao 40
determinar o valor aproximado de x

tal que f(x

) = 3.5.
Admitindo a existencia da fun cao inversa, f
1
(y), o que se pretende e obter, por interpola cao
polinomial o valor aproximado de f
1
(3.5).
Passando `a tabela de f
1
e construindo a tabela de diferen cas divididas, tem-se:
y f
1
(y) f
1
[, ] f
1
[, , ] f
1
[, , , ]
2.756 4.236
3.043 5.018 2.725
3.427 6.014 2.828 0.150
3.782 6.851 2.929 0.158 0.004
3.834 7.304 2.980 0.125 0.042
3.963 7.698 3.054 0.263 0.257
Face `a tabela de diferen cas poderamos aproximar a fun cao f
1
por um polinomio de grau menor
ou igual a 2 no intervalo [2.756, 3.782] (as diferen cas de ordem 2 tem pequena varia cao); escolheramos
entao os pontos de interpola cao (3.043, 5.018), (3.427, 6.104), e (3.782, 6.851) e utilizaramos a formula
de Newton com diferen cas divididas.
Deixamos como exerccio a determina cao de x

.
2.6 Interpolacao por splines c ubicos
Nos paragrafos anteriores tratamos da aproxima cao de fun coes, em intervalos fechados, por polinomios.
Este tipo de aproxima cao apresenta numerosas vantagens, como vimos no incio, mas as grandes os-
cila coes que geralmente apresentam as fun coes polinomiais de grau elevado podem condicionar a sua
utiliza cao.
Um metodo de aproxima cao alternativo consiste em dividir o intervalo de trabalho em sub-intervalos
e utilizar diferentes aproxima coes polinomiais, de grau baixo, naqueles sub-intervalos. Uma aproxima cao
deste tipo e designada por aproximacao seccionalmente polinomial.
Vamos fazer referencia, em particular, `a aproxima cao seccionalmente polinomial c ubica obtida
atraves da fun cao spline c ubica interpoladora.
Denicao 2.3 Dada uma funcao f denida em [a, b] e um conjunto de pontos, denominados nodos,
a = x
0
< x
1
< ... < x
n
= b
uma fun c ao spline c ubica interpoladora de f nos nodos considerados e uma fun cao s que satisfaz
as condicoes:
2. Aproximacao 41
1. s(x
i
) = f(x
i
), i = 0, 1, ..., n;
2. s e um polinomio de grau 3 em cada sub-intervalo [x
i
, x
i+1
], i = 0, 1, ..., n 1 (a restri cao de s
a [x
i
, x
i+1
] e representada por s
i
);
3. s C
2
([x
0
, x
n
]).
As condi coes 1), 2) e 3) nao determinam univocamente s. Com efeito, para se obter s
i
, i = 0, 1, ..., n
1 precisamos de conhecer quatro parametros (os quatro coecientes do polinomio de grau 3) que da um
total de 4n incognitas. De 1) obtem-se 2n equa coes (s
i
(x
i
) = f(x
i
), s
i
(x
i+1
) = f(x
i+1
), i = 0, 1, ..., n1)
e a continuidade de s

e s

nos nodos interiores produz 2(n 1) equa coes. Tem-se assim um total de
4n 2 equa coes.
Vamos analisar os casos em que as duas condi coes adicionais sao:
4) s

(x
0
) = s

0
(x
0
) = f

(x
0
), s

(x
n
) = s

n
(x
n
) = f

(x
n
) (denem a funcao spline c ubica completa)
ou
5) s

(x
0
) =
0
, s

(x
n
) =
1
,
0
,
1
R.
Quando
0
=
1
= 0 a fun cao spline, s, designa-se funcao spline c ubica natural.
Relativamente `a existencia e unicidade da fun cao spline c ubica interpoladora, tem-se:
Teorema 2.6 Seja f uma funcao denida em [x
0
, x
n
] R. A funcao spline c ubica completa e a fun cao
spline c ubica natural, interpoladora de f nos pontos x
0
< x
1
< ... < x
n
existem e sao unicas.
Demonstracao: Sejam m
i
= s

(x
i
), i = 0, 1, ..., n. Como s
i
e um polinomio de grau menor ou igual a
3 em [x
i
, x
i+1
], s

i
sera um polinomio de grau menor ou igual a 1 tendo-se
s

i
(x) =
(x x
i+1
)
(x
i
x
i+1
)
m
i
+
(x x
i
)
(x
i+1
x
i
)
m
i+1
(2.14)
=
(x
i+1
x)m
i
+ (x x
i
)m
i+1
h
i
, i = 0, 1, ..., n 1,
com h
i
= x
i+1
x
i
(notemos que (2.14) representa um polinomio de grau menor ou igual 1 que passa
pelos pontos (x
i
, s

(x
i
)), (x
i+1
, s

(x
i+1
))).
Primitivando (2.14) duas vezes em [x
i
, x
i+1
] obtem-se
s
i
(x) =
(x x
i+1
)
3
6h
i
m
i
+
(x x
i
)
3
6h
i
m
i+1
+ A
i
x + B
i
, A
i
, B
i
R, i = 0, 1, ..., n 1.
Para facilitar os calculos seguintes podemos dar `a expressao de s
i
(x) a forma
s
i
(x) =
(x x
i+1
)
3
6h
i
m
i
+
(x x
i
)
3
6h
i
m
i+1
+ (2.15)
+
C
i
h
i
(x
i+1
x) +
D
i
h
i
(x x
i
), C
i
, D
i
R, i = 0, 1, ..., n 1.
2. Aproximacao 42
As condi coes de interpola cao
_
s
i
(x
i
) = f(x
i
) = f
i
s
i
(x
i+1
) = f(x
i+1
) = f
i+1
, i = 0, 1, ..., n 1,
conduzem-nos `as equa coes
_

_
s
i
(x
i
) =
h
2
i
6
m
i
+ C
i
= f
i
s
i
(x
i+1
) =
h
2
i
6
m
i+1
+ D
i
= f
i+1
, i = 0, 1, ..., n 1,
(2.16)
donde
_
C
i
= f
i

h
2
i
6
m
i
D
i
= f
i+1

h
2
i
6
m
i+1
, i = 0, 1, ..., n 1.
Substituindo em (2.15) obtem-se
s
i
(x) =
(x x
i+1
)
3
6h
i
m
i
+
(x x
i
)
3
6h
i
m
i+1
+
+
f
i

h
2
i
6
m
i
h
i
(x
i+1
x) +
f
i+1

h
2
i
6
m
i+1
h
i
(x x
i
)
Notemos que s
i
(x) cara determinado se se conhecerem m
i
e m
i+1
, i = 0, 1, ..., n1. O que signica
que para obter s(x) devemos determinar os n + 1 valores m
0
, m
1
, ..., m
n
.
Derivando obtem-se s

i
(x)
s

i
(x) =
(x x
i+1
)
2
2h
i
m
i
+
(x x
i
)
2
2h
i
m
i+1
+
h
2
i
6
m
i
f
i
h
i
+
f
i+1

h
2
i
6
m
i+1
h
i
(2.17)
para x [x
i
, x
i+1
], i = 0, 1, ..., n 1.
Da expressao (2.14) verica-se facilmente a continuidade da fun cao s

nos nodos interiores; das


condi coes (2.16) conclui-se a continuidade da fun cao s nos referidos nodos. Sendo s

uma fun cao


contnua nos nodos interiores ter-se-`a, necessariamente,
s

i
(x
i+1
) = s

i+1
(x
i+1
), i = 0, 1, ..., n 2,
ou seja, tendo em conta (2.17),
h
i1
m
i1
+ 2(h
i1
+ h
i
)m
i
+ h
i
m
i+1
= 6
_
f
i+1
f
i
h
i

f
i
f
i1
h
i1
_
, i = 1, ..., n 1. (2.18)
Temos assim um sistema de n 1 equa coes lineares nas n + 1 incognitas, m
0
, m
1
, ..., m
n
.
Se se pretende obter um spline c ubico completo temos ainda as condi coes
s

(x
0
) = f

(x
0
), i.e, s

0
(x
0
) = f

(x
0
) = f

0
s

(x
n
) = f

(x
n
), i.e, s

n1
(x
n
) = f

(x
n
) = f

n
2. Aproximacao 43
ou seja, tendo em conta (2.17),
2h
0
m
0
+ h
0
m
1
= 6
_
f
1
f
0
h
0
f

0
_
h
n1
m
n1
+ 2h
n1
m
n
= 6
_
f

f
n
f
n1
h
n1
_
.
Temos agora um sistema de n + 1 equa coes e n + 1 incognitas cuja forma matricial e AX = B com
A =
_

_
2h
0
h
0
0 . . . 0
h
0
2(h
0
+ h
1
) h
1
0 . . . 0
0 h
1
2(h
1
+ h
2
) h
2
. . . 0
0
.
.
.
.
.
. 0
0 . . . 0 h
n2
2(h
n2
+ h
n1
) h
n1
0 . . . . . . 0 h
n1
2h
n1
_

_
X =
_

_
m
0
m
1
.
.
.
.
.
.
m
n1
m
n
_

_
B = 6
_

_
f
1
f
0
h
0
f

0
f
2
f
1
h
1

f
1
f
0
h
0
.
.
.
.
.
.
fnf
n1
h
n1

fnf
n1
h
n2
f

fnf
n1
h
n1
_

_
Como se verica facilmente, a matriz dos coecientes e de diagonal estritamente dominante
3
, pois
|a
11
| = 2h
0
> h
0
|a
ii
| = 2(h
i2
+ h
i1
) > h
i2
+ h
i1
, i = 1, ..., n 1
|a
nn
| = 2h
n1
> h
n1
e, portanto, e regular.
O sistema (2.19) e entao possvel e determinado.
Se se pretender obter um spline c ubico natural devemos ter em conta as condi coes
s

(x
0
) = 0 e s

(x
n
) = 0
ou seja,
m
0
= 0 e m
n
= 0.
3
Uma matriz matriz A M
nn
(R) e uma matriz de diagonal estritamente dominante se
|a
ii
| >
n

j=0,j=i
|a
ij
|, i = 1, 2, ..., n.
2. Aproximacao 44
Neste caso temos que resolver um sistema de n 1 equa coes e n 1 incognitas (m
1
, m
2
, ..., m
n1
)
cuja forma matricial e AX = B com
A =
_

_
2(h
0
+ h
1
) h
1
0 . . . 0
h
1
2(h
1
+ h
2
) h
2
0 . . . 0
0 h
2
2(h
2
+ h
3
) h
3
. . . 0
0
.
.
.
.
.
. 0
0 . . . 0 h
n3
2(h
n3
+ h
n2
) h
n2
0 . . . . . . 0 h
n2
2(h
n2
+ h
n1
)
_

_
X =
_

_
m
1
m
2
.
.
.
.
.
.
m
n1
_

_
B = 6
_

_
f
2
f
1
h
1

f
1
f
0
h
0
f
3
f
2
h
2

f
2
f
1
h
1
.
.
.
.
.
.
.
.
.
fnf
n1
h
n1

f
n1
f
n2
h
n2
_

_
Tambem neste caso a matriz dos coecientes e de diagonal estritamente dominante sendo, por isso,
o sistema possvel e determinado.

Notemos que nos sistemas anteriores as matrizes dos coecientes sao tridiagonais, sendo possvel
aplicar com eciencia o metodo de resolu cao de sistemas por condensa cao da matriz dos coecientes
(metodo de Gauss).
No que diz respeito ao erro da aproxima cao demonstram-se os dois teoremas seguintes:
Teorema 2.7 Seja f C
4
([x
0
, x
n
]) e x
0
< x
1
< ... < x
n
. Seja s a funcao spline c ubica completa
interpolando f em x
0
, x
1
, ..., x
n
. Se
max
x[x
0
,xn]
|f
(4)
(x)| M
4
entao
|f(x

) s(x

)|
5
384
h
4
M
4
sendo h = max
i=0,1,...,n1
(x
i+1
x
i
) e x

[x
0
, x
n
].
2. Aproximacao 45
Teorema 2.8 Seja f C
2
([x
0
, x
n
]) e a = x
0
< x
1
< ... < x
n
= b. Seja s a fun cao spline c ubica
completa ou a funcao spline c ubica natural interpoladora de f nos pontos x
0
, x
1
, ..., x
n
.
Tem-se
|f(x

) s(x

)| h
3/2

_
b
a
(f

(t)
2
dt,
sendo h = max
i=0,1,...,n1
(x
i+1
x
i
) e x

[x
0
, x
n
].
Exemplo 2.10
Consideremos a tabela seguinte da fun cao f(x) =
1
x
no intervalo [2, 2.8]
x 2.0 2.2 2.4 2.6 2.8
f(x) 0.50000 0.4545 0.4167 0.3846 0.3571
.
Determinemos o valor aproximado de f(2.5) utilizando um spline c ubico natural.
Neste caso temos
x
0
= 2.0, x
i+1
= x
i
+ 0.2, h
i
= 0.2, i = 0, ..., 3, m
0
= 0, m
4
= 0.
Atendendo a que
6
_
f
2
f
1
h
1

f
1
f
0
h
0
_
= 6
_
0.0378
0.2

0.04555
0.2
_
= 0.235
6
_
f
3
f
2
h
2

f
2
f
1
h
1
_
= 6
_
0.0321
0.2
+
0.0378
0.2
_
= 0.171
6
_
f
4
f
3
h
3

f
3
f
2
h
2
_
= 6
_
0.0275
0.2

0.0321
0.2
_
= 0.138
(2.19)
o sistema a resolver vem a ser
_
_
0.8 0.2 0
0.2 0.8 0.2
0 0.2 0.8
_
_
_
_
m
1
m
2
m
3
_
_
=
_
_
0.235
0.171
0.138
_
_
. (2.20)
A solu cao aproximada
m
1
= 0.2606
m
2
= 0.1125
m
3
= 0.1444
permite obter o valor aproximado de f(2.5), calculando-se s
2
(2.5).
2. Aproximacao 46
s
2
(2.5) =
0.1125
6 0.2
(2.6 2.5)
3
+
0.1444
6 0.2
(2.5 2.4)
3
+
+
_
0.3846
0.2

0.1444 0.2
6
_
(2.5 2.4) +
_
0.4167
0.2

0.1125 0.2
6
_
(2.6 2.5)
= 0.4000078
Tendo em conta que f(2.5) = 1/2.5 = 0.4 vericamos que o valor aproximado obtido e bastante
preciso.
2.2 2.4 2.6 2.8
x
0.36
0.38
0.42
0.44
0.46
0.48
0.5
y
sx
fx
Figura 2.4: Representa cao graca da fun cao f e do spline natural s(x)
2. Aproximacao 47
2.7 Aproximacao mnimos quadrados polinomial e exponen-
cial (caso discreto)
Considerando os valores tabelados {(x
i
, y
i
), i = 0, 1, ..., M}, x
0
< x
1
< ... < x
M
, pretende-se
determinar um polinomio de grau menor ou igual a n, n < M,
p
n
(x) =
n

j=0
a
j
x
j
, a
j
R,
tal que
E =
M

i=0
(y
i
p
n
(x
i
))
2
seja mnimo.
Notemos que:
se y
i
for aproximado por p
n
(x
i
) entao y
i
p
n
(x
i
) representa o erro absoluto de aproxima cao em
x
i
e portanto, E e a soma dos quadrados dos dos erros absolutos (E 0);
o polinomio p
n
(x) que se pretende obter nao tem que ser interpolador nos pontos tabelados;
se n M o polinomio interpolador de Lagrange de grau menor ou igual a M e a solu cao do
problema ja que E = 0.
Por exemplo, na aproxima cao polinomial, mnimos quadrados, da fun cao tabelada representada
na gura
1.2 1.4 1.6 1.8 2 2.2
x
1.2
1.4
1.6
1.8
2
2.2
y
Figura 2.5: Representa cao graca dum conjunto de pontos tabelados
a aproxima cao por um polinomio de grau 1 seria uma boa op cao.
2. Aproximacao 48
Sendo p
n
(x) =
n

j=0
a
j
x
j
= a
0
+ a
1
x + .... + a
n
x
n
tem-se
E =
M

i=0
(y
i
p
n
(x
i
))
2
=
M

i=0
_
y
i

j=0
a
j
x
j
i
_
2
=
M

i=0
y
2
i
2
M

i=0
y
i
_
n

j=0
a
j
x
j
i
_
+
M

i=0
_
n

j=0
a
j
x
j
i
_
2
=
M

i=0
y
2
i
2
n

j=0
a
j
M

i=0
y
i
x
j
i
+
M

i=0
_
n

j=0
a
j
x
j
i
_
2
=
M

i=0
y
2
i
2
n

j=0
a
j
M

i=0
y
i
x
j
i
+
n

j=0
n

k=0
a
j
a
k
_
M

i=0
x
j+k
i
_
= E (a
0
, a
1
, ..., a
n
) .
Pretende-se, portanto, determinar
min
pnPn
M

i=0
(p
n
(x
i
) y
i
)
2
= min
a
0
, a
1
,..., an
E (a
0
, a
1
, ..., a
n
)
onde P
n
designa o espa co vectorial dos polinomios de grau menor ou igual a n.
Prova-se que :
o polinomio p
n
que se pretende existe e e unico;
e condi cao necessaria para que E tenha um mnimo que
E
a
j
= 0, j = 0, 1, ..., n.
Sendo
E
a
j
= 2
M

i=0
x
j
i
y
i
+ 2
n

k=0
a
k
M

i=0
x
j+k
i
= 0, j = 0, 1, ..., n,
obtemos as n + 1 equacoes normais, nas n + 1 incognitas, a
0
, a
1
, ..., a
n
,
n

k=0
a
k
M

i=0
x
j+k
i
=
M

i=0
y
i
x
j
i
, j = 0, 1, ..., n,
ou seja, o sistema
_

_
a
0

M
i=0
1 +a
1

M
i=0
x
i
+ ... +a
n

M
i=0
x
n
i
=

M
i=0
y
i
a
0

M
i=0
x
i
+a
1

M
i=0
x
2
i
+ ... +a
n

M
i=0
x
n+1
i
=

M
i=0
y
i
x
i
.
.
.
.
.
.
.
.
. =
.
.
.
a
0

M
i=0
x
n
i
+a
1

M
i=0
x
n+1
i
+ ... +a
n

M
i=0
x
2n
i
=

M
i=0
y
i
x
n
i
.
2. Aproximacao 49
Algoritmo 2.4 Construcao do sistema de equacoes lineares associado ` a aproximacao mnimos quadra-
dos polinonimal
Dados os pontos (x
0
, y
0
), (x
1
, y
1
), ..., (x
M
, y
M
), pretende-se determinar os coecientes do polinomio
p de grau menor ou igual a n com n < M, p
(
x) = a
0
+ a
1
x + ... + a
n
x
n
, que aproxima o conjunto de
pontos {(x
i
, y
i
)}
i=0,1,...,M
utilizando a tecnica dos mnimos quadrados.
IN

ICIO
ENTRADA(n; (x
i
, y
i
), i = 0, 1, ..., n)
FAC A PARA i 1, n + 1
FACA PARA j 1, n + 1
S
1
0;
FAC A PARA k 0, M
S
1
S
1
+ x
j+i2
k
;
c
ij
S
1
; C = [c
ij
], i, j = 1, ...n.- matriz dos coecientes;
S
2
0;
FAC A PARA k 0, M
S
2
S
2
+ y
k
x
i1
k
;
b
i
S
2
; B = [b
j
], j = 1, ...n.- vector dos termos independentes;
Resolu cao do sistema CX = B X = [a
j
], j = 1, ...n.
SA

IDA(a
i
, i = 0, 1, ..., n)
FIM
Exemplo 2.11
Considere a tabela da fun cao y = f(x)
i 0 1 2 3 4
x
i
0.5 1.0 1.6 2.0 2.5
y
i
0.6 1.4 1.75 2.3 2.9
(2.21)
determine a expressao analtica do polinomio de grau menor ou igual a 2, que aproxima a fun cao
tabelada, utilizando a tecnica dos mnimos quadrados.
Neste problema n = 2 e M = 4. Pretende-se aproximar a fun cao tabelada por um polin omio
P
2
(x) = a
0
+ a
1
x + a
2
x
2
.
O sistema de equa coes normais para determinar as constantes a
0
, a
1
e a
2
e dado por
_

_
a
0

4
i=0
1 +a
1

4
i=0
x
i
+ a
2

4
i=0
x
2
i
=

4
i=0
y
i
a
0

4
i=0
x
i
+ a
1

4
i=0
x
2
i
+ a
2

4
i=0
x
3
i
=

4
i=0
y
i
x
i
a
0

4
i=0
x
2
i
+ a
1

4
i=0
x
3
i
+ a
2

4
i=0
x
4
i
=

4
i=0
y
i
x
2
i
2. Aproximacao 50
Substituindo os valores obtem-se
_

_
5a
0
+ 7.6a
1
+ 14.06a
2
= 8.95
7.6a
0
+ 114.06a
1
+ 28.846a
2
= 16.35
14.06a
0
+ 28.846a
1
+ 62.6786a
2
= 33.355
A solu cao do sistema de equa coes e a
0
= 0.132655, a
1
= 1.08293 e a
2
= 0.0040144, ou seja o polinomio
de grau 2, que aproxima a fun cao tabelada, utilizando a tecnica dos minimos quadrados e
P
2
(x) = 0.0040144x
2
+ 1.08293x + 0.132655.
0.5 1.5 2 2.5
x
1.5
2
2.5
y
Figura 2.6: Representa cao graca do conjunto de pontos tabelados e do polin omio P
2
Se vericarmos que os dados tem um comportamento de tipo exponencial, e aconselhavel obter uma
aproxima cao da forma
y = be
ax
ou y = bx
a
, a, b R.
No entanto, a complexidade das equa coes normais neste caso leva-nos a optar por considerar o
logaritmo daquelas aproxima coes
ln y = lnb + ax, ou ln y = ln b + a ln x
que traduzem uma rela cao linear entre x e ln y e entre ln x e ln y, respectivamente.
Conclumos, assim, que se (x
i
, y
i
), i = 0, 1, ..., n, se relacionam dum modo aproximadamente expo-
nencial entao (x
i
, ln(y
i
)) ou (ln(x
i
), ln(y
i
)) deverao relacionar-se de modo linear; ln(b) e a podem entao
ser obtidos a partir dum sistema de equa coes normais de ordem 2, determinando-se, depois, os valores
aproximados de a e b.
Notemos que a aproxima cao exponencial assim obtida nao e aproxima cao exponencial mnimos
quadrados do problema original, mas da geralmente bons resultados.
2. Aproximacao 51
Exemplo 2.12
Considere os dados da seguinte tabela
i 0 1 2 3 4
x
i
1 1.25 1.5 1.75 2.0
y
i
5.1 6.0 7.0 7.45 8.5
Observando a Figura 2.7 verica-se a existencia de uma rela cao aproximadamente linear entre x e
1.2 1.4 1.6 1.8 2
x
1.7
1.8
1.9
2
2.1
ln y
Figura 2.7: Representa cao graca do conjunto de pontos (x
i
, ln(y
i
))
ln y, o que sugere a utiliza cao de uma aproxima cao do tipo
y = be
ax
ln(y) = ln b
..
a
0
+ a
..
a
1
x.
O sistema de equa coes normais que permite determinar as constantes a
0
e a
1
e dado por
_
_
_
a
0

4
i=0
1 +a
1

4
i=0
x
i
=

4
i=0
ln(y
i
)
a
0

4
i=0
x
i
+ a
1

4
i=0
x
2
i
=

4
i=0
ln(y
i
)x
i
.
Substituindo os valores obtem-se
_
5a
0
+ 7.5a
1
= 9.515
7.5a
0
+ 11.875a
1
= 14.582.
A solu cao do sistema e a
0
= 1.1602 e a
1
= 0.4952, ou seja, a = 0.4952 e b = e
1.1602
= 3.1904, pelo que a
aproxima cao pretendida e
y = 3.1904e
0.4952x
.
2. Aproximacao 52
1.2 1.4 1.6 1.8 2
x
5.5
6
6.5
7
7.5
8
8.5
y
Figura 2.8: Representa cao graca dos pontos tabelados e de y(x)
3. Integracao Numerica 53
Captulo 3
Integracao Numerica
3.1 Introducao
Quando pretendemos calcular
_
b
a
f(x)dx podemos deparar com diculdades na aplica cao dos metodos
analticos (por exemplo, a fun cao integranda pode ser difcil de primitivar ou ser dada apenas por uma
tabela); surge entao a necessidade de obter uma aproxima cao atraves de metodos numericos, alguns dos
quais passamos a descrever.
Sendo possvel aproximar a fun cao f, no intervalo dado, por uma outra fun cao g, facilmente primi-
tivavel e sabendo que
f(x) = g(x) + E(x),
entao,
_
b
a
f(x)dx =
_
b
a
g(x)dx +
_
b
a
E(x)dx.
Assim, tomaremos para aproxima cao do integral pretendido o valor
_
b
a
g(x)dx,
que esta afectado do erro
_
b
a
E(x)dx.
Tendo em conta o exposto no captulo anterior, vamos referir alguns metodos baseados na aprox-
ima cao de f(x) por um polinomio interpolador.
Considerando a tabela da fun cao f(x) em x
i
, i = 0, 1, ..., n, a x
0
< x
1
< ... < x
n
b,
x x
0
x
1
x
n
f(x) f(x
0
) f(x
1
) f(x
n
)
3. Integracao Numerica 54
e o polinomio interpolador de grau menor ou igual a n (formula de Lagrange) tem-se
f(x) =
n

k=0
L
k
(x)f
k
+ R(x), L
i
(x) =
n

k=0
k=i
(x x
k
)
(x
i
x
k
)
, f
k
= f(x
k
).
Se f C
n+1
([a, b]) entao
R(x) =

n
k=0
(x x
k
)
(n + 1)!
f
(n+1)
(), = (x) ]a, b[
e
_
b
a
f(x)dx =
_
b
a
_
n

k=0
L
k
(x)f
k
_
dx +
_
b
a
R(x)dx.
Notemos que:

_
b
a
f(x)dx A
0
f
0
+ A
1
f
1
+ A
n
f
n
(3.1)
onde
A
i
=
_
v
a
L
i
(x)dx, i = 0, 1, ..., n, A
i
R,
isto e, o valor aproximado e dado por uma combina cao linear dos valores tabelados de f;
E =
_
b
a
R(x)dx =
_
b
a

n
k=0
(x x
k
)
(n + 1)!
f
(n+1)
()dx, ]a, b[. Geralmente = (x) nao e conhecido
o que diculta a utiliza cao desta formula, ainda que seja conhecida a expressao analtica de
f
(n+1)
(x).
No entanto, se se conhecer M
n+1
tal que
|f
(n+1)
(x)| M
n+1
, x [a, b],
entao
|E|
M
n+1
(n + 1)!
_
b
a

k=0
(x x
k
)

dx.
O mesmo majorante se pode obter, no caso de a fun cao

n
k=0
(x x
k
) nao mudar de sinal em
[a, b], uma vez que se prova
1
que
1
Teorema da media para integrais:
Sejam f e g C([a, b]). Se g tem sinal constante em [a, b] entao:
_
b
a
f(x)g(x)dx = f()
_
b
a
g(x)dx, ]a, b[.
3. Integracao Numerica 55
E =
f
n+1
()
(n + 1)!
_
b
a
n

k=0
(x x
k
)dx, ]a, b[,
e, portanto,
|E|
M
n+1
(n + 1)!
_
b
a
n

k=0
(x x
k
)dx.
3.2 Formulas de Newton-Cotes
As formulas de Newton-Cotes sao formulas de integra cao do tipo (3.1). Comecemos por deduzir
duas das mais conhecidas.
3.2.1 Regra dos Trapezios
Consideremos o intervalo [a, b] e para calcular um valor aproximado de
_
b
a
f(x)dx
aproximemos a fun cao f pelo polinomio de grau menor ou igual a 1 interpolador de f em
(a, f(a)) e (b, f(b))
ou, fazendo a = x
0
e b = x
1
, em
(x
0
, f
0
) e (x
1
, f
1
).
O polinomio de Lagrange tem, neste caso, a expressao
p
1
(x) =
(x x
1
)
(x
0
x
1
)
f
0
+
(x x
0
)
(x
1
x
0
)
f
1
e
f(x) = p
1
(x) + (x x
0
)(x x
1
)
f

()
2!
, ]x
0
, x
1
[.
Tem-se entao
_
b
a
f(x)dx
_
b
a
p
1
(x)dx =
_
x
1
x
0
(
(x x
1
)
(x
0
x
1
)
f
0
)dx +
_
x
1
x
0
(
(x x
0
)
(x
1
x
0
)
f
1
)dx
=
x
1
x
0
2
(f
0
+ f
1
)
Se a fun cao f for positiva em [x
0
, x
1
] verica-se que o valor aproximado do integral e o valor da area
dum trapezio como no exemplo da gura 3.1. Este facto justica o nome regra dos trapezios.
Notemos que:
o valor exacto do integral, neste caso, e o valor da area do trapezoide denido por y = f(x), y =
0, x = x
0
, x = x
1
3. Integracao Numerica 56
x
0
x
1
x
fx
0

fx
1

y
Figura 3.1: Regra dos Trapezios no caso duma fun cao integranda positiva

_
x
1
x
0
f(x)dx A
0
f
0
+ A
1
f
1
=
x
1
x
0
2
(f
0
+ f
1
)
A
0
=
_
x
1
x
0
(
(x x
1
)
(x
0
x
1
)
dx =
x
1
x
0
2
A
1
=
_
x
1
x
0
(
(x x
0
)
(x
1
x
0
)
dx =
x
1
x
0
2
.
Analisemos o erro da regra dos Trapezios.
Tem-se
f(x) = p
1
(x) + (x x
0
)(x x
1
)
f

()
2!
, ]x
0
, x
1
[,
pelo que, se f C
2
([a, b]),
E
T
=
_
b=x
1
a=x
0
f(x)dx
_
x
1
x
0
p
1
(x)dx =
_
x
1
x
0
(x x
0
)(x x
1
)
f

()
2!
dx.
Como (x x
0
)(x x
1
) nao muda de sinal em [x
0
, x
1
] tem-se
E
T
= f

()
_
x
1
x
0
(x x
0
)(x x
1
)
2
dx, ]x
0
, x
1
[,
ou seja,
E
T
=
(x
1
x
0
)
3
12
f

().
Se representarmos por h a amplitude do intervalo tem-se
E
T
=
h
3
12
f

()
pelo que
|E
T
|
M
2
12
h
3
, |f

(x)|
[x
0
,x
1
]
M
2
.
3. Integracao Numerica 57
3.2.2 Regra de Simpson
Considerando no intervalo [a, b] os pontos
x
0
= a, x
1
=
a + b
2
, x
2
= b
e aproximando a fun cao f(x) pelo polinomio de Lagrange de grau menor ou igual a 2 interpolador de
f em
(x
0
, f(x
0
)), (x
1
, f(x
1
)), (x
2
, f(x
2
))
obtem-se
_
b
a
f(x)dx =
_
x
2
x
0
f(x)dx
A
0
..
_
x
2
x
0
(x x
1
)(x x
2
)
(x
0
x
1
)(x
0
x
2
)
dxf
0
+
A
1
..
_
x
2
x
0
(x x
0
)(x x
2
)
(x
1
x
0
)(x
1
x
2
)
dxf
1
+
+
_
x
2
x
0
(x x
0
)(x x
1
)
(x
2
x
0
)(x
2
x
1
)
dx
. .
A
2
f
2
Efectuando os calculos, simplicando e fazendo
h = (x
1
x
0
) = (x
2
x
1
) =
b a
2
obtem-se a conhecida regra de Simpson
_
b
a
f(x)dx =
_
x
2
x
0
f(x)dx
h
3
(f
0
+ 4f
1
+ f
2
) (3.2)
Exemplo 3.1
Calcular o valor aproximado de
_
1
0
e
x
2
dx
utilizando a regra de Simpson.
Tomando x
0
= 0, x
1
= 0.5, x
2
= 1.0 e h = 0.5 tem-se
_
1
0
e
x
2
dx
0.5
3
(e
0
+ 4e
(0.5)
2
+ e
1
2
) 0.747180
(notemos que
_
1
0
e
x
2
dx = 0.74682413...).
Outras regras de integra cao se poderiam deduzir utlizando polinomios de Lagrange de grau menor
ou igual a 3, 4, . . ..
Para a regra de Simpson e outras regras de integra cao a dedu cao da formula do erro e mais trabalhosa
3. Integracao Numerica 58
do que no caso da regra dos trapezios.
Ha dois tipos de formulas de integra cao (tambem chamadas formulas de quadratura) conhecidas por
formulas de Newton-Cotes, utilizando pontos igualmente espa cados no intervalo de integra cao.
As formulas de Newton-Cotes fechadas usam os pontos x
i
= x
0
+ ih, i = 0, 1, ..., n,
x
0
= a, x
n
= b e h =
ba
n
e sao formulas do tipo
_
b
a
f(x)dx
n

i=0
A
i
f
i
, f
i
= f(x
i
)
com
A
i
=
_
xn
x
0
L
i
(x)dx =
_
xn
x
0
n

k=0
k=i
(x x
k
)
(x
i
x
k
)
dx
Apresentam-se a seguir algumas das mais importantes formulas de Newton-Cotes e os respectivos
erros.
n Formula de Newton-Cotes fechada Erro
1
_
x1
x0
f(x)dx
h
2
(f
0
+ f
1
) (Regra dos Trapezios)
h
3
12
f

()
2
_
x2
x0
f(x)dx
h
3
(f
0
+ 4f
1
+ f
2
) (Regra de Simpson)
h
5
90
f
(4)
()
3
_
x3
x0
f(x)dx
3h
8
(f
0
+ 3f
1
+ 3f
2
+ f
3
) (Regra dos 3/8)
3h
5
80
f
(4)
()
4
_
x4
x0
f(x)dx
2h
45
(7f
0
+ 32f
1
+ 12f
2
+ 32f
3
+ 7f
4
) (Regra de Milne)
8h
7
945
f
(6)
()
5
_
x5
x0
f(x)dx
5h
288
(19f
0
+ 75f
1
+ 50f
2
+ 50f
3
+ 75f
4
+ 19f
5
)
275h
7
12096
f
(6)
()
6
_
x6
x0
f(x)dx
h
140
(41f
0
+ 216f
1
+ 27f
2
+ 272f
3
+ 27f
4
+ 216f
5
+ 41f
6
)
9h
9
1400
f
(8)
()
(Regra de Weddle)
Na tabela acima e na seguinte n representa o grau do polinomio interpolador.
Nas formulas de Newton-Cotes abertas consideramos
x
1
= a, x
n+1
= b, h =
b a
n + 2
, x
i
= x
i1
+ h, i = 0, 1, ..., n
3. Integracao Numerica 59
e aproximamos a fun cao f no intervalo [x
1
, x
n+1
] = [a, b] pelo polinomio de grau menor ou igual a n
interpolador de f em
(x
i
, f
i
), i = 0, 1, ..., n
(notenos que (a, f(a)) e (b, f(b)) nao sao pontos de interpola cao).
Tem-se, entao,
_
b
a
f(x)dx =
_
x
n+1
x
1
f(x)dx
n

i=0
A
i
f
i
onde
A
i
=
_
b
a
L
i
(x)dx, f
i
= f(x
i
).
n Formula de Newton-Cotes aberta Erro
0
_
x1
x1
f(x)dx 2hf
0
h
3
3
f

()
1
_
x2
x1
f(x)dx
3h
2
(f
0
+ f
1
)
3h
3
4
f

()
2
_
x3
x1
f(x)dx
4h
3
(2f
0
f
1
+ 2f
2
)
14h
5
45
f
(4)
()
3
_
x4
x1
f(x)dx
5h
24
(11f
0
+ f
1
+ f
2
+ 11f
3
)
95h
7
144
f
(4)
()
Denicao 3.1 O grau de precis ao duma formula de integracao e o maior inteiro positivo, n, tal que
a formula e exacta para x
k
, k = 0, 1, ..., n.
Podemos, por exemplo, concluir que o grau de precisao da regra dos Trapezios e 1 e da regra de
Simpson e 3.
Notemos que as formulas de Newton-Cotes abertas sao exactas para:
- polinomios de grau menor ou igual a n se n e mpar;
- polinomios de grau menor ou igual a n + 1 se n e par.
3.3 Formulas de Newton-Cotes compostas
3. Integracao Numerica 60
As aproxima coes obtidas pelas regras de Newton-Cotes referidas no paragrafo anterior nao tem
muitas vezes a precisao desejada. O uso de formulas aproximando a fun cao integranda por polinomios
interpoladores de grau superior pode nao produzir os melhores resultados.
Uma maneira de obter aproxima coes com erros menores consiste em subdividir o intervalo de inte-
gra cao e aplicar uma regra repetidas vezes.
Suponhamos que f C
2
([a, b]), x
i
= a + ih, i = 0, 1, ..., n e h =
ba
n
.
Sabendo que
_
b
a
f(x)dx =
n

i=1
_
x
i
x
i1
f(x)dx
podemos aplicar a regra dos Trapezios a cada termo do somat orio
_
x
i
x
i1
f(x)dx =
h
2
(f
i1
+ f
i
)
h
3
12
f

(
i
),
i
]x
i1
, x
i
[.
Portanto,
_
b
a
f(x)dx =
_
xn
x
0
f(x)dx =
h
2
[(f
0
+ f
1
) + (f
1
+ f
2
) + . . . + (f
n1
+ f
n
)]

i=1
h
3
12
f

(
i
)
obtendo-se entao a regra dos Trapezios composta
_
b
a
f(x)dx =
h
2
(f
0
+ 2(f
1
+ f
2
+ ... + f
n1
) + f
n
) + E
n
T
sendo E
n
T
=
n

i=1
h
3
12
f

(
i
) o erro da formula para n aplica coes.
Analisemos E
n
T
. Tendo em conta a continuidade de f

tem-se
E
n
T
=
h
3
12
n

i=1
f

(
i
) =
nh
3
12
n

i=1
f

(
i
)
n
. .
f

()
=
nh
3
12
f

(), ]x
0
, x
n
[.
Note-se que
n

i=1
f

(
i
)
n
= f

(), pois,
min
i=1,2,...,n
{f

(
i
)}
n

i=1
f

(
i
)
n
max
i=1,2,...,n
{f

(
i
)},
pelo que, atendendo ao teorema do valor intermedio, existe ]x
0
, x
n
[ tal que
n

i=1
f

(
i
)
n
= f

().
3. Integracao Numerica 61
Podemos ainda obter um majorante do modulo do erro
|E
n
T
| n
h
3
12
M
2
= n
h(h
2
)
12
M
2
=
(b a)
12
h
2
M
2
,
onde |f

(x)| M
2
, x [a, b].
Resumindo temos:
Regra dos Trapezios composta
_
b
a
f(x)dx =
h
2
(f
0
+ 2(f
1
+ f
2
+ ... + f
n1
) + f
n
) n
h
3
12
f

()
]a, b[, h =
b a
n
, x
i
= a + ih, i = 0, 1, ..., n. (3.3)
Algoritmo 3.1
Regra dos Trapezios
Dados a, b R, n N e uma fun cao f denida em [a,b] vamos denir um algoritmo que nos permita
obter um valor aproximado de
_
b
a
f(x)dx utilizando a regra dos Trapezios composta.
IN

ICIO
ENTRADA(n,a, b, f)
h
ba
n
S h(f(a) + f(b))
FAC A PARA i 1, n 1
S S + 2h f(a + ih)
SA

IDA(S)
FIM
Exerccio 3.1
Vericar que se f C
4
([a, b]), x
i
= a +ih, i = 0, 1, ..., 2m e h =
ba
2m
, m N, entao a regra de Simpson
composta e dada por
_
b
a
f(x)dx =
h
3
_
f
0
+ 2
m1

j=1
f
2j
+ 4
m

j=1
f
2j1
+ f
2m
_
+ E
m
S
,
onde
E
m
S
=
b a
180
h
4
f
(4)
(), ]a, b[.
As formulas compostas para os restantes metodos de Newton-Cotes obtem-se de modo semelhante.
Exemplo 3.2
3. Integracao Numerica 62
Calcular
_

0
sen(x)dx com um erro que, em modulo, seja inferior a 210
5
, usando a regra de Simpson
composta (e desprezando os erros de arredondamento da fun cao sen).
_

0
sen(x)dx =
h
2
_
2
m1

j=1
sen(x
2j
) + 4
m

j=1
sen(x
2j1
)
_


180
h
4
sen().
Temos que impor que


180
h
4
sen()



180
h
4
=

_

2m
_
4
180
=

5
2880m
4
< 2 10
5
Resolvendo a inequa cao conclui-se que m > 8.6 (i.e, m = 9, 10, 11, ...).
Escolhendo m = 10 vem h =

20
e o valor pretendido seria
_

0
sen(x)dx

60
_
2
9

j=1
sen(
j
10
) + 4
10

j=1
sen(
(2j 1)
20
)
_
2.00000679 2.0000
(Notemos que
_

0
sen(x)dx = 2).
3.4 Metodo de Romberg
Para introduzirmos o metodo de Romberg - metodo muito eciente e computacionalmente facil de
implementar - vamos fazer referencia `a formula de Euler-MacLaurin.
Formula de Euler-MacLaurin:
Seja N par, f C
N
([a, b]), h =
ba
n
e x
i
= a + ih, i = 0, 1, ..., n, n, N N.
Entao
I =
_
b
a
f(x)dx =
h
2
[f
0
+ 2(f
1
+ f
2
+ ... + f
n1
) + f
n
]
h
2
12
(f

n
f

0
) +
+
1
720
h
4
(f

n
f

0
) + ... + (1)
N1
h
N
q
N
(0)(f
(N1)
n
f
(N1)
0
) + R
n
N
(f)
onde
R
n
N
(f) = (1)
N
h
N+1
n1

i=0
_
1
0
f
(N)
(x
i
+ th)q
N
(t)dt
com f
(k)
(x
n
) = f
(k)
n
e f
(k)
(x
0
) = f
(k)
0
, k = 1, 2, ..., N 1, e sendo q
N
(t) o polinomio de Bernoulli
2
, de
grau N.
2
A sequencia de polinomios q
0
, q
1
, q
2
, ... denidos da seguinte forma:
1) o grau de q
k
e k;
2) q

k+1
(x) = q
k+1
(x), k 0;
3)
_
1
0
q
k
(x)dx = 0, k 1, k N
0
s ao chamados polinomios de Bernoulli.
3. Integracao Numerica 63
Nas condi coes referidas na formula de Euler-MacLaurin podemos escrever
I =
_
b
a
f(x)dx = T(h) + C
1
h
2
+ C
2
h
4
+ C
3
h
6
+ ... + C
N/2
h
N
+ R
n
N
(f) (3.4)
onde T(h) e o valor aproximado de I obtido pela regra dos trapezios composta e C
1
, C
2
, ..., C
N/2
sao
constantes reais (por exemplo C
1
=
1
12
(f

n
f

0
)).
Deste modo podemos dizer que T(h) e uma aproxima cao de I com um erro O(h
2
) ja que
I T(h) = h
2
_
C
1
+ C
2
h
2
+ ... + C
N/2
h
N2
+
R
n
N
h
2
f
_
e, portanto,
3
lim
h0
|I T(h)|
h
2
= |C
1
|.
Seja h

=
h
2
, isto e, consideremos agora sub-intervalos com metade da amplitude dos anteriores.
Tendo em conta (3.4) obtem-se
T(h

) = I + C
1
h
2
+ C
2
h
4
+ C
3
h
6
+ ... + R
2n
N
(f)
e atendendo a que
T(h) = T(2h

) = I + C
1
4h
2
+ C
2
16h
4
+ C
3
64h
6
+ ...
podemos calcular
T
1
(h

) =
4T(h

) T(2h

)
3
= I + d
2
h
4
+ d
3
h
6
+ ...
Como se verica facilmente T
1
(h

) e uma aproxima cao de I com erro O(h


4
), h

=
h
2
.
Repetindo o processo
h

=
h

2
T
1
(h

) = I + d
2
h
4
+ d
3
h
6
+ ...
T
1
(h

) = T
1
(2h

) = I + d
2
2
4
h
4
+ d
3
2
6
h
6
+ ...
podemos calcular
T
2
(h

) =
16T
1
(h

) T
1
(2h

)
15
= I + e
3
h
6
+ e
4
h
8
+ ...
3
Suponhamos que lim
h0
E(h) = 0.
Diz-se que E(h) e de ordem h
k
e escreve-se E(h) e O(h
k
)se
lim
h0
|E(h)|
|h
k
|
= C = 0, C R
+
.
Se existe uma constante real M > 0 e um inteiro positivo k tal que
|E(h)|
|h
k
|
M, para h sucientemente pequeno,
entao E(h) e O(h
k
).
3. Integracao Numerica 64
vericando-se que T
2
(h

) e uma aproxima cao de I com um erro O(h


6
), h

=
h
2
2
.
E o processo poderia ser repetido.
Notemos que o metodo descrito e recursivo e apenas os valores T( ) sao obtidos pelo metodo dos
trapezios.
Prova-se que se f C

([a, b]) e
lim
h0
T(h) =
_
b
a
f(x)dx
entao
lim
h0
T
n
(
h
2
n
) =
_
b
a
f(x)dx.
Com vista `a utiliza cao, na pratica, do metodo descrito introduzamos as nota coes seguintes
T
(k)
0
= h
_
1
2
f(a) + f(a + h) + ... + f(b h) +
1
2
f(b)
_
, k = 0, 1, 2, ..., h =
b a
2
k
T
(k)
1
=
4T
(k+1)
0
T
(k)
0
3
, k = 0, 1, ...
.
.
.
T
(k)
n
=
4
n
T
(k+1)
n1
T
(k)
n1
4
n
1
= T
(k+1)
n1
+
T
(k+1)
n1
T
(k)
n1
4
n
1
, k = 0, 1, ...

E usual dispor os resultados em forma de tabela, como a que se segue


T
(0)
0
T
(1)
0
T
(0)
1
T
(2)
0
T
(1)
1
T
(0)
2
T
(3)
0
T
(2)
1
T
(1)
2
T
(0)
3
Pelo que vimos anteriormente T
(k)
n
aproxima
_
b
a
f(x)dx com um erro O(h
2(n+1)
), com h =
b a
2
n+k
.
Algoritmo 3.2
Metodo de Romberg
Dados a, b R, k N e uma fun cao f denida em [a,b] vamos denir um algoritmo que nos de um
valor aproximado de
_
b
a
f(x)dx utilizando o metodo de Romberg.
IN

ICIO
ENTRADA(a, b,k, f)
3. Integracao Numerica 65
FAC A PARA i 0, k
T
0i

h
2
(f(a) + f(b))
h
b a
2
k
FAC A PARA j 1, 2
i
1
T
0i
T
0i
+ hf(a + jh)
FAC A PARA n 1, k
FAC A PARA j 0, k n
T
nj

4
n
T
n1j+1
T
n1j
4
n
1
SA

IDA(Tabela de Romberg)
FIM
Exemplo 3.3
Calcular um valor aproximado de
_
1
0
e
x
2
dx utilizando o metodo de Romberg.
Vamos considerar apenas os valores de h:
1, 0.5, 0.25, 0.125, 0.0625.
A tabela que obteramos seria entao
k T
(k)
0
T
(k1)
1
T
(k2)
2
T
(k3)
3
T
(k4)
4
0 0.683940
1 0.731370 0.747180
2 0.742984 0.746855 0.746834
3 0.745866 0.746826 0.746824 0.746824
4 0.746584 0.746824 0.746824 0.746824 0.746824
Tomar-se-ia para valor aproximado do integral o valor 0.746824.
Notemos que
_
1
0
e
x
2
dx 0.74682413.
Um dos metodos que se podera utilizar para se obter o valor aproximado do integral consiste em
tomar para aproxima cao o n umero formado pelos algarismos conservados nos ultimos quatro ou cinco
calculos.
3. Integracao Numerica 66
4. Equacoes Nao Lineares 67
Captulo 4
Equacoes Nao Lineares
4.1 Introducao
Consideremos a equa cao f(x) = 0 onde a fun cao f e denida e contnua num intervalo [a, b].
Todo o valor que anula a fun cao f, i.e., tal que
f() = 0
diz-se raz da equacao ou zero da funcao f.
Faremos referencia em seguida a alguns metodos que nos permitem obter valores aproximados de
razes reais simples duma equa cao f(x) = 0.
A determina cao aproximada daquelas razes faz-se em geral em duas etapas:
1) Separacao de razes - que consiste na determina cao de intervalos contendo, cada um, uma so raz
da equa cao;
2) Determinacao do valor aproximado da raz - que consiste na obten cao duma aproxima cao duma
raz por um metodo numerico ou graco e, se possvel, indica cao dum majorante do modulo do
erro absoluto respectivo.
Com vista `a separa cao das razes duma equa cao f(x) = 0 vamos relembrar alguns teoremas con-
hecidos da Analise Matematica.
Teorema 4.1 Se uma funcao contnua, f, tem valores de sinais contrarios nos extremos do intervalo
[a, b], isto e, f(a) f(b) < 0, entao a equacao f(x) = 0 tem pelo menos uma raz em ]a,b[.
Teorema 4.2 Seja f uma funcao contnua em [a, b], diferenciavel em ]a, b[ e

1
,
2
[a, b],
1
<
2
, dois zeros de f. Entao, f

tem pelo menos um zero em ]


1
,
2
[.
4. Equacoes Nao Lineares 68
Teorema 4.3 Se f e uma funcao contnua em [a, b] e diferenciavel em ]a, b[, entao entre dois zeros
consecutivos de f

ha, no maximo, um zero de f.


Demonstremos em seguida um teorema que nos permite obter um majorante do modulo do erro
absoluto duma aproxima cao duma raz de f(x) = 0.
Teorema 4.4 Seja f uma funcao denida em [a, b] e tal que
f e contnua em [a, b];
f e diferenciavel em ]a, b[;
|f

(x)| m
1
> 0, x ]a, b[.
Sejam , x [a, b] uma raz de f(x) = 0 e uma sua aproximacao, respectivamente. Tem-se
| x|
|f(x)|
m
1
Demonstracao: Aplicando o teorema de Lagrange tem-se
f(x) = f() + (x )f

(c), c entre e x.
Entao
|f(x)| = |x ||f

(c)| |x |m
1
e, portanto,
| x|
|f(x)|
m
1
.

Nota: Pode nao ser correcto avaliar a precisao duma aproxima c ao, x, duma raz, atraves do valor
f(x) (ou seja, concluir se a aproxima cao x satisfaz ou nao, conforme |f(x)| e um valor proximo de zero
ou nao) tal como se verica nos gracos seguintes:
4.2 Metodo graco
Tanto a separa cao de razes como o seu calculo aproximado podem fazer-se pelo metodo graco.
Dada a equa cao f(x) = 0 pode-se construir o graco da fun cao e determinar, de modo tao preciso
quanto possvel, a intersec cao do graco com o eixo OX.
No entanto, tambem se pode decompor a equa cao f(x) = 0 na forma (x) = (x) e representar
gracamente as fun coes e ; as abcissas dos pontos de intersec cao sao os zeros da fun cao f (este
metodo so e vantajoso se for mais facil representar gracamente as fun coes e do que f).
4. Equacoes Nao Lineares 69
x

x
fx

y
x

x
fx

y
Figura 4.1:
Exemplo 4.1
Determinar o n umero de razes reais da equa cao
e
x
x
2
= 0.
Fazendo (x) = e
x
e (x) = x
2
tem-se
-3 -2 -1 1 2 3
X
2
4
6
8
10
Y
x
x
Figura 4.2: Graco das funcoes (x) e (x)
e podemos concluir que a equa cao e
x
x
2
= 0 tem apenas uma raz real que se encontra no intervalo
[1, 0].
Nos metodos que vamos introduzir a seguir admitimos que as razes simples se encontram ja sepa-
radas.
4.3 Metodo da bisseccao
Consideremos a equa cao f(x) = 0, sendo f uma fun cao contnua em [a, b] onde se sabe existir apenas
uma raz de f(x) = 0 (portanto f(a).f(b) < 0).
Consideremos o ponto medio do intervalo,
a + b
2
, e analisemos o sinal de f
_
a + b
2
_
.
4. Equacoes Nao Lineares 70
Se f
_
a + b
2
_
= 0 entao x
i
=
a+b
2
e a raz da equa cao f(x) = 0 em [a, b].
Se f
_
a + b
2
_
= 0 consideramos o intervalo [a,
a+b
2
] ou [
a+b
2
, b] no qual f tenha sinais contrarios
nos extremos. Chamemos ao novo intervalo [a
1
, b
1
].
Repetindo o processo obtemos um novo intervalo, [a
2
, b
2
], cuja amplitude e metade da amplitude de
[a
1
, b
1
] e tal que f(a
2
).f(b
2
) < 0.
Por este metodo podemos obter uma sucessao de intervalos
[a
1
, b
1
], [a
2
, b
2
], ..., [a
n
, b
n
], ...
tais que
f(a
n
).f(b
n
) < 0, n = 1, 2, ... e b
n
a
n
=
b a
2
n
,
(a menos que se tenha, entretanto, encontrado a raz.)
A sucessao a
1
, a
2
, ..., a
n
, ... e uma sucessao de n umeros reais nao decrescente limitada superiormente
e b
1
, b
2
, ..., b
n
, ... e uma sucessao de n umeros reais nao crescente limitada inferiormente, portanto, con-
vergentes.
Por outro lado, lim
n
(b
n
a
n
) = 0, isto e, lim
n
a
n
= lim
n
b
n
; designemos este limite por .
Tendo em conta a continuidade da fun cao f e a desigualdade f(a
n
) f(b
n
) < 0 obtem-se
(f())
2
0
pelo que,
f() = 0
isto e, e a raz da equa cao f(x) = 0.
Atendendo a que :
- a amplitude do intervalo [a
n
, b
n
] e b
n
a
n
=
ba
2
n
;
- [a
n
, b
n
];
-
an+bn
2
[a
n
, b
n
]
tem-se
| x| b
n
a
n
=
b a
2
n
, x [a
n
, b
n
]
e, em particular, se x =
an+bn
2


a
n
+ b
n
2

b
n
a
n
2
=
b a
2
n+1
.
4. Equacoes Nao Lineares 71
Utilizando o metodo da bissec cao consegue-se, teoricamente, obter uma aproxima cao da raz com a
precisao que se quiser; na pratica, os erros de arredondamento dos calculos efectuados poderao alterar
a precisao dos resultados.
4.4 Metodo de Newton (ou metodo da tangente)
Seja a unica raz da equa cao f(x) = 0 no intervalo [a, b] e suponhamos que f

e f

sao contnuas e
tem sinais constantes em [a, b] (isto e, nao se anulam em [a, b]).
Seja x
0
[a, b] uma aproxima cao de .
Passemos pelo ponto (x
0
, f(x
0
)) a tangente `a curva e determinemos a sua intersec cao com o eixo
0X, cuja abcissa, sera tomada como aproxima cao x
1
de .
a b x1 x0
x
-15
-10
-5
5
10
y
Figura 4.3: Ilustracao graca do Metodo de Newton
Sendo a equa cao da recta que passa pelo ponto (x
0
, f(x
0
)), com declive m, dada por
y f(x
0
) = m(x x
0
)
neste caso tem-se
y f(x
0
) = f

(x
0
)(x x
0
)
ou seja
x = x
0
+
y f(x
0
)
f

(x
0
)
.
Designando por (x
1
, 0) a intersec cao desta recta com o eixo 0X tem-se
x
1
= x
0

f(x
0
)
f

(x
0
)
.
Repetindo o processo, isto e, fazendo passar pelo ponto (x
1
, f(x
1
)) a recta tangente `a curva e
determinando a intersec cao com o eixo OX obtem-se a aproxima cao
x
2
= x
1

f(x
1
)
f

(x
1
)
.
4. Equacoes Nao Lineares 72
Dum modo geral
x
n+1
= x
n

f(x
n
)
f

(x
n
)
, n = 0, 1, 2, ...
Notemos que se, na gura dada, tivessemos tomado
x
0
= a
a aplica cao do metodo levaria a uma aproxima cao x
1
fora do intervalo [a, b], o que nao seria muito
conveniente.
Demonstremos a seguinte regra pratica
Teorema 4.5 Consideremos a equacao f(x) = 0 e suponhamos que
f C([a, b]);
f(a) f(b) < 0;
f

e f

nao se anulam em [a, b].


Entao, a raz ( unica) da equacao f(x) = 0, no intervalo [a, b], pode ser calculada pelo metodo de Newton,
com a precisao que se quiser, partindo da aproximacao inicial
x
0
[a, b] tal que f(x
0
) f

(x
0
) > 0.
Demonstracao:
Suponhamos, por exemplo que f(a) < 0, f(b) > 0, f

(x) > 0, f

(x) > 0, x [a, b] (a discussao dos


outros casos e analoga).
Escolhendo x
0
de acordo com o teorema devera ter-se f(x
0
) > 0 - pode-se tomar, por exemplo,
x
0
= b.
Provemos, por recorrencia que x
n
> (n = 0, 1, ...) e por conseguinte f(x
n
) > 0 (f e uma fun cao
crescente).
Na realidade o valor de x
0
escolhido satisfaz
x
0
> .
Suponhamos que x
n
> . Pelo teorema de Taylor tem-se
4. Equacoes Nao Lineares 73
f() = f(x
n
) + ( x
n
)f

(x
n
) +
( x
n
)
2
2
f

(c
n
), < c
n
< x
n
.
Sendo f

(x) > 0 e f() = 0 vem


f(x
n
) + f

(x
n
)( x
n
) < 0
ou seja,
f(x
n
)
f

(x
n
)
+ x
n
< 0
(uma vez que f

(x
n
) = 0).
Portanto,
< x
n

f(x
n
)
f

(x
n
)
= x
n+1
.
Tendo em conta os sinais de f(x
n
) e f

(x
n
) e imediato que
x
n+1
< x
n
, n = 0, 1, ....
pelo que as aproxima coes x
0
, x
1
, ..., x
n
, ... formam uma sucessao decrescente n umeros reais limitados
inferiormente. Existe portanto = lim
n
x
n
.
Atendendo a que
x
n+1
= x
n

f(x
n
)
f

(x
n
)
vem
lim
n
x
n+1
= lim
n
x
n

f(lim
n
x
n
)
f

(lim
n
x
n
)
ou seja
=
f()
f

()
e portanto
f() = 0.
Entao, tem-se necessariamente = .
Podemos entao considerar como regra pratica a seguinte: para a aplica cao do metodo de Newton
(com f, f

e f

nas condi coes do teorema) pode-se escolher para aproxima cao inicial o extremo do
intervalo [a, b] no qual a fun cao tenha o mesmo sinal que f

(temos a garantia que o metodo de Newton


fornece uma sucessao de aproxima coes monotona e convergente para a raz).
4. Equacoes Nao Lineares 74
Algoritmo 4.1
Metodo de Newton
Admitindo que estao satisfeitas as condi coes do teorema 4.5 vamos considerar o seguinte criterio de
paragem:
|x
n
x
n1
| < Tol, onde Tol e uma tolerancia predenida,
ou
n umero maximo de iteradas, M.
INICIO
ENTRADA(f,f,f, a, b,Tol,M)
f
a
f(a)
f
b
f(b)
f

a
f

(a)
f

b
f

(b)
N 0
(*Determina cao da aproxima cao inicial de *)
SE (f
a
f

(a) > 0) ENT

AO
x
0
a
f
0
f
a
f

0
f

a
SEN

AO
x
0
b
f
0
f
b
f

0
f

b
(*Determina cao de x
1
*)
x
1
x
0

f
0
f

0
f
0
f(x
1
)
f

0
f

(x
1
)
N N + 1
ENQUANTO(|x
0
x
1
| > Tol e N M ) FAC A
x
0
x
1
x
1
x
0

f
0
f

0
f
0
f(x
1
)
f

0
f

(x
1
)
N N + 1
SA

IDA (x
1
)
FIM
4. Equacoes Nao Lineares 75
Exemplo 4.2
Determinar uma aproxima cao de

11 utilizando o metodo de Newton.


Comecemos por determinar um intervalo [a, b] de trabalho. Sendo
x =

11
tem-se
x
2
= 11
ou seja
x
2
11 = 0.
A equa cao f(x) = x
2
11 = 0 tem as razes

11; assim o nosso problema consiste em determinar


uma aproxima cao da raz positiva daquela equa cao.
Como 3 <

11 < 4, podemos dizer qe a raz positiva se encontra no intervalo [3, 4].


Vejamos se estamos nas condi coes do teorema 4.5
- f(x) = x
2
11; f

(x) = 2x; f

(x) = 2 sao fun coes contnuas em [3, 4] e neste intervalo tem-se


f

> 0 e f

> 0;
- Como temos a garantia que no intervalo [3, 4] a equa cao x
2
11 = 0 so tem uma raz e imediato
que f(3) f(4) < 0.
Podemos portanto aplicar o metodo de Newton e, segundo o teorema deveremos escolher para valor
inicial um valor onde a fun cao seja positiva (uma vez que f

> 0 em [3, 4]).


Como f(4) > 0, fa camos x
0
= 4.
vem
x
1
= x
0

f(x
0
)
f

(x
0
)
= 4
f(4)
f

(4)
= 4
5
8
= 3.375
x
2
= 3.375
3.375
2
11
2 3.375
= 3.31712963
x
3
= 3.31712963
3.31712963
2
11
2 3.31712963
= 3.316624829
.
.
.
Notemos que

11 3.31662479.
Demonstra-se o teorema seguinte, que nos fornece tambem condi coes de convergencia do metodo de
Newton.
4. Equacoes Nao Lineares 76
Teorema 4.6 Seja f C
2
([a, b]). Se
f(a) f(b) < 0;
f

(x) = 0, x [a, b];


f

nao muda de sinal em [a, b];

|f(a)|
|f

(a)|
< b a,
|f(b)|
|f

(b)|
< b a;
entao, x
0
[a, b] a sucessao {x
k
}, k = 1, 2, ... gerada pelo metodo de Newton converge para a raz de
f(x) = 0, pertencente ao intervalo [a, b].
Para avaliar o erro da n-esima aproxima cao calculada, x
n
, pode-se recorrer ao
teorema 4.4 deste captulo
| x|
|f(x)|
m
1
onde 0 < m
1
|f

(x)|
[a,b].
Vamos deduzir, no entanto outras formulas que tambem nos permitem obter majorantes do modulo
do erro da aproxima cao.
Pela formula de Taylor tem-se
f(x
n
) = f(x
n1
) + f

(x
n1
)(x
n
x
n1
) +
f

(
n1
)
2
(x
n
x
n1
)
2
,

n1
] min(x
n
, x
n1
), max(x
n
, x
n1
)[.
Atendendo a que
x
n
= x
n1

f(x
n1
)
f

(x
n1
)
vem
f(x
n1
) + f

(x
n1
)(x
n
x
n1
) = 0.
Portanto,
f(x
n
) =
f

(
n1
)
2
(x
n
x
n1
)
2
e, deste modo,
|f(x
n
)|
M
2
2
(x
n
x
n1
)
2
, |f

|
[a,b]
M
2
.
Recorrendo novamente ao teorema 4.4 obtemos
| x
n
|
M
2
2m
1
(x
n
x
n1
)
2
, 0 < m
1
|f

(x)|
[a,b]
, (4.1)
4. Equacoes Nao Lineares 77
formula que nos permite obter um majorante do modulo do erro absoluto em fun cao da diferen ca de
duas iteradas consecutivas.
Vamos ainda estabelecer uma outra formula para um majorante do modulo do erro.
Atendendo a que
0 = f() = f(x
n
) + ( x
n
)f

(x
n
) +
f

(c
n
)
2
( x
n
)
2
, c
n
] min(, x
n
), max(, x
n
)[
tem-se
( x
n
)f

(x
n
) = f(x
n
)
f

(c
n
)
2
( x
n
)
2
ou
= x
n

f(x
n
)
f

(x
n
)

1
2
f

(c
n
)
f

(x
n
)
( x
n
)
2
ou ainda
= x
n+1

1
2
f

(c
n
)
f

(x
n
)
( x
n
)
2
.
Portanto,
| x
n+1
|
M
2
2|f

(x
n
)|
( x
n
)
2

M
2
2m
1
( x
n
)
2
,
ou seja,
| x
n+1
|
M
2
2m
1
( x
n
)
2
. (4.2)
Esta formula assegura uma convergencia rapida do metodo de newton se a aproxima cao inicial x
0
e
tal que
M
2
2m
1
| x
0
| q < 1.
Na realidade
| x
1
|
M
2
2m
1
( x
0
)
2
q| x
0
|
| x
2
|
M
2
2m
1
( x
1
)
2

M
2
2m
1
q
2
| x
0
|
2
q
3
| x
0
|
| x
3
|
M
2
2m
1
( x
2
)
2

M
2
2m
1
q
6
| x
0
|
2
q
7
| x
0
|
.
.
.
| x
n
| q
2
n
1
| x
0
|
e, como q < 1, o erro decresce rapidamente.
Por outro lado, se =
M
2
2m
1
1 e | x
n
| 0.5 10
k
entao
4. Equacoes Nao Lineares 78
| x
n+1
|
M
2
2m
1
| x
n
|
2
0.5
2
10
2k
< 0.5 10
2k
.
Podemos entao dizer que se
M
2
2m
1
1 e a iterada de ordem n tem k casas decimais signicativas
entao a iterada de ordem n + 1 tem pelo menos 2k casas decimais signicativas.
Exemplo 4.3
Relativamente ao calculo de

11 pelo metodo de Newton determinemos o n umero de casas decimais


signicativas da iterada x
3
.
Atendendo a que
m
1
= min
x[3,4]
|2x| = 6
M
2
= 2
tem-se
M
2
2m
1
=
2
2 6
=
1
6
o que nos garante, no mnimo, a duplica cao do n umero de casas decimais signicativas de iterada para
iterada.
Atendendo `a formula (4.1) tem-se
| x
3
|
1
6
(x
3
x
2
)
2
=
1
6
(3.316624289 3.31712963)
2
< 0.43 10
7
Podemos assim concluir que a iterada x
3
tem, pelo menos, 7 casas decimais signicativas, o que ja se
esperava tendo em conta o valor de

11 dado pela maquina de calcular e o valor calculado pelo metodo


de Newton.
4.5 Metodo de Newton modicado
Se a derivada f

varia pouco em [a, b] pode-se considerar f

(x
n
) f

(x
0
), n = 1, 2, ... na formula
x
n+1
= x
n

f(x
n
)
f

(x
n
)
.
Obtem-se entao o metodo de Newton modicado
x
n+1
= x
n

f(x
n
)
f

(x
0
)
, n = 0, 1, .... (4.3)
4. Equacoes Nao Lineares 79
Este metodo tambem se pode tornar util no caso de ser complicado o calculo de valores de f

.
Prova-se que nas condi coes do teorema 4.5 a sucessao de iteradas (4.3) e convergente para a raz da
equa cao f(x) = 0.
A interpreta cao geometrica do metodo e semelhante `a do metodo de newton mas fazendo passar por
cada ponto (x
n
, f(x
n
)) uma recta paralela `a tangente `a curva no ponto (x
0
, f(x
0
)).
a x
0
b x
1
x
2
x
-15
-10
-5
5
10
15
y
Figura 4.4: Interpretacao geometrica do Metodo de Newton modicado
4.6 Metodo da Secante
Uma desvantagem na utiliza cao do metodo de Newton e a necessidade de calcular a derivada de
uma fun cao.
Quando a expressao da derivada nao e facil de obter ou o c alculo dos valores da derivada e pouco
eciente comparado com o calculo dos valores da fun cao, o uso do metodo da secante podera ser preferido
ao do metodo de Newton.
Partindo da expressao das iteradas do metodo de Newton
x
n+1
= x
n

f(x
n
)
f

(x
n
)
fa camos a substitui cao
1
f

(x
n
)
f(x
n
) f(x
n1
)
x
n
x
n1
.
vem entao
x
n+1
= x
n

f(x
n
) (x
n
x
n1
)
f(x
n
) f(x
n1
)
=
f(x
n1
)x
n
f(x
n
)x
n1
f(x
n1
) f(x
n
)
, n = 1, 2, ...
1
Relembremos que, por deni cao,
f

(x
n
) = lim
xn1xn
f(x
n
) f(x
n1
)
x
n
x
n1
.
4. Equacoes Nao Lineares 80
(formula que podera ser aplicada desde que f(x
n1
) = f(x
n
).)
A interpreta cao geometrica do metodo da secante e a seguinte
a x0b x1 x2 x3
x
-5
5
10
y
Figura 4.5: Interpretacao geometrica do metodo da secante
Note-se que, x
k+1
e a abcissa do ponto de intersec cao da recta que passa pelos pontos (x
k1
, f(x
k1
))
e (x
k
, f(x
k
)) com o eixo dos XX.
Demonstra-se
Teorema 4.7 Nas condicoes do teorema 4.6, para x
0
, x
1
[a, b], a sucessao gerada pelo metodo da
secante e convergent para a unica raz da equacao f(x) = 0, em [a, b];
O erro da iterada x
n+1
e tal que
| x
n+1
|
M
2
2m
1
| x
n
|| x
n1
|, n = 0, 1, ...,
onde
|f

(x)|
[a,b]
M
2
, 0 < m
1
|f

(x)|
[a,b]
.
4. Equacoes Nao Lineares 81
4.7 Metodo do ponto xo
Um dos metodos mais importantes para resolu cao numerica de equa coes e o metodo do ponto xo ou
metodo das aproximacoes sucessivas.
Denicao 4.1 Se g e uma funcao denida em [a, b] e g(p) = p, para algum p [a, b], entao p designa-se
ponto xo de g.
Exemplo 4.4 A funcao g(x) = xsen(x) tem exactamente dois pontos xos no intervalo [0, 1]: x = 0
e x = 1, como se pode vericar no esboco dos gracos das funcoes x e g(x).
-0.4-0.2 0.20.40.60.8 1
x
-0.5
-0.25
0.25
0.5
0.75
1
y
gx
x
Figura 4.6: Gracos das funcoes f(x) = x e g(x) = x sen(x)
O teorema seguinte indica condi coes sucientes para a existencia e unicidade de um ponto xo.
Teorema 4.8 Se
g C([a, b]);
g(x) : [a, b] [a, b];
entao, g tem um ponto xo em [a, b].
Se alem destas condicoes
g

existe em ]a, b[;


|g

(x)| K < 1, x ]a, b[;


entao, g tem um unico ponto xo em [a, b].
Demonstracao: Se g(a) = a ou g(b) = b a existencia de ponto xo esta vericada.
Suponhamos que g(a) > a e g(b) < b e denamos a fun cao h(x) = g(x) x; trata-se de uma fun cao
contnua e
_
h(a) = g(a) a > 0
h(b) = g(b) b < 0
(4.4)
4. Equacoes Nao Lineares 82
Entao existe c ]a, b[ tal que h(c) = 0, ou seja, g(c) = c e entao c e ponto xo de g.
Suponhamos agora que p = q sao dois pontos xos da fun cao g em [a, b]. Tem-se
|p q| = |g(p) g(q)| = |g

()||p q| K|p q| < |p q|, entre p e q,


o que e um absurdo. Portanto p = q e o ponto xo de g em [a, b] e unico.
Consideremos entao a equa cao f(x) = 0, sendo f uma fun cao contnua no intervalo [a, b].
Se f(x) = x (x) passemos `a equa cao equivalente
x (x) = 0 (4.5)
ou seja
x = (x). (4.6)
Gracamente, como vimos anteriormente, as razes da equa cao (4.6) podem-se obter determinando
as abcissas dos pontos de intersec cao dos gracos de
y = x
y = (x).
Por outro lado, uma raz da equa cao f(x) = 0, atendendo a (4.5), e um ponto xo de ; portanto,
determinar um zero de f(x) e equivalente a obter um ponto xo de (x).
x
0
x
1
x
2
x
3
x
-0.4
-0.2
0.2
0.4
0.6
y
yx
yx
Figura 4.7: Interpretacao geometrica do metodo do ponto xo (sucessao convergente)
O metodo do ponto xo consiste em
1) tomar uma aproxima cao inicial, x
0
, da raz ;
4. Equacoes Nao Lineares 83
2) calcular
x
1
= (x
0
)
x
2
= (x
1
)
x
3
= (x
4
)
.
.
.
.
.
. .
Foi possvel, neste caso, construir uma sucessao x
0
, x
1
, x
2
, ... convergente para a raz .
Notemos que, como se pode vericar a seguir, este processo nem sempre e convergente
x
0
x
1
x
2
x
3
x
4
x
-2.5
2.5
5
7.5
10
y
yx
yx
Figura 4.8: Interpretacao geometrica do metodo do ponto xo (sucessao divergente)
Teorema 4.9 Seja uma funcao tal que
C([a, b]);
(x) : [a, b] [a, b];

existe em ]a, b[ onde |

(x)| K < 1, K R.
Entao, a sucessao denida por
_
x
0
[a, b]
x
n
= (x
n1
), n = 1, 2, ...
(4.7)
converge para o unico ponto xo, , de em [a, b]. (A funcao designa-se por funcao iteradora.)
Demonstracao: Pelo teorema 4.8, tem um unico ponto xo em [a, b]. Uma vez que aplica [a, b]
em [a, b], entao x
n
[a, b], n = 0, 1, ... .
Entao
| x
n
| = |() (x
n1
)| = |

()|| x
n1
| K| x
n1
|, ]a, b[, ( entre e x
n1
).
4. Equacoes Nao Lineares 84
Repetindo o raciocnio vem
| x
n
| K| x
n1
| K
2
| x
n2
| ... K
n
| x
0
| K
n
(b a).
Uma vez que K < 1
0 lim
n+
| x
n
| lim
n+
K
n
(b a) = 0,
pelo que podemos concluir que a sucessao {x
n
}, n = 0, 1, ... e convergente para .
Corolario 4.7.1 Se satisfaz as condicoes do teorema 4.9, um majorante do modulo do erro absoluto
de x
n
e dado por
| x
n
| K
n
max{x
0
a, b x
0
}, n 0.
Demonstracao:

E imediato, atendendo a que


| x
n
| K
n
| x
0
| K
n
max{x
0
a, b x
0
}.

Corolario 4.7.2 Se satisfaz as condicoes do teorema 4.9 entao


| x
n
|
K
n
1 K
|x
1
x
0
|, n 1.
Demonstracao: Para n 1 tem-se
|x
n+1
x
n
| = |(x
n
) (x
n1
)| = |

(
n1
)||x
n
x
n1
| K|x
n
x
n1
|,
n1
entre x
n
e x
n1
.
Repetindo o processo
|x
n+1
x
n
| K|x
n
x
n1
| K
2
|x
n1
x
n2
| ... K
n
|x
1
x
0
|.
Portanto, para m > n 1
|x
m
x
n
| = |x
m
x
m1
+ x
m1
x
m2
+ ... + x
n+1
x
n
|
|x
m
x
m1
| +|x
m1
x
m2
| + ... +|x
n+1
x
n
|
K
m1
|x
1
x
0
| + K
m2
|x
1
x
0
| + ... + K
n
|x
1
x
0
| =
= K
n
(1 +K + K
2
+ ... + K
mn1
)|x
1
x
0
|.
Como lim
m+
x
m
= tem-se
| x
n
| = lim
m+
|x
m
x
n
| K
n
|x
1
x
0
|

j=0
K
j
=
K
n
1 K
|x
1
x
0
|.

4. Equacoes Nao Lineares 85


Corolario 4.7.3 Se satisfaz as condicoes do teorema 4.9 entao
| x
n
|
K
1 K
|x
n
x
n1
|, n 1.
Demonstracao: Seja f(x) = x (x). Entao
f

(x) = 1

(x) 1 K > 0
(se |

(x)| K < 1 entao 1 < K

(x) K < 1),


e portanto f

(x) = |f

(x)| 1 K, x ]a, b[.


Atendendo a que f() = 0 (porque e ponto xo de ) tem-se
|x
n
(x
n
)| = |f() f(x
n
)| = | x
n
||f

()| | x
n
|(1 K),
com entre e x
n
.
Portanto,
| x
n
|
|x
n
(x
n
)|
1 K
=
|x
n+1
x
n
|
1 K

K
1 K
|x
n
x
n1
|
(|x
n+1
x
n
| K|x
n
x
n1
| conforme provamos na demonstra cao do corolario 4.7.2).
Exemplo 4.5
A equa cao 3x e
x
= 0 tem apenas uma raz no intervalo [1.5, 2]. Determinemos uma aproxima cao
dessa raz pelo metodo do ponto xo.
A partir da equa cao f(x) = 0 (3x e
x
= 0) procuremos uma equivalente da forma x = (x)
3x e
x
= 0
3x = e
x
x =
e
x
3
= (x).
Vejamos se se encontra nas condi coes do teorema 4.9:
e uma fun cao contnua
(1.5) = 1.4939 logo nao aplica [1.5, 2.0]em [1.5, 2.0].
4. Equacoes Nao Lineares 86
Deste modo nao podemos utilizar esta fun cao iteradora no intervalo indicado.
Vamos tentar outra fun cao iteradora:
3x e
x
= 0
3x = e
x
x = log(3x) = (x).
Neste caso tem-se:
e uma fun cao contnua

_
_
_
(1.5) = 1.5041
(2.0) = 1.7918

(x) =
1
x
> 0 , x [1.5, 2.0]
_
_
_
: [1.5, 2.0] [1.5, 2.0]
|

(x)| =
1
x

1
1.5
= 0.6666.... < 0.67 = K < 1, x [1.5, 2].
Como estao satisfeitas todas as condi coes do teorema 4.9 podemos garantir a convergencia da
sucessao de iteradas gerada pela fun cao , para a raz da equa cao.
Escolhendo para aproxima cao inicial o valor 1.5 tem-se
x
0
= 1.5
x
1
= log(3 1.5) = 1.5041
x
2
= 1.5068
x
3
= 1.5086
x
4
= 1.5098
x
5
= 1.5106
x
6
= 1.5111
.
.
. .
Determinemos o n umero de casas decimais signicativas de x
6
| x
6
|
0.67
1 0.67
|1.5111 1.5106| 0.00102 < 0.005.
portanto, podemos garantir para x
6
duas casas decimais signicativas. Se pretendessemos aproximar
a raz pelo valor da iterada x
6
ter-se-ia, de acordo com a conven cao habitual,
x
6
1.511 (0.00102 + 0.0002)
4. Equacoes Nao Lineares 87
ou seja,
1.511 (0.002)
4.8 Ordem de convergencia
O conhecimento da rapidez de convergencia para a solu cao (ordem de convergencia) dum metodo
iterativo e fundamental.
Assim, seja {x
k
}, k = 0, 1, ... uma sucessao de iteradas, gerada por um metodo iterativo, convergente
para .
Se
lim
k+
| x
k+1
|
| x
k
|
p
= C, C = 0
diz-se que o metodo e de ordem p (ou que a ordem de convergencia e p), sendo C a constante de
convergencia assimptotica.
2
Assim,
Se p = 1 tem-se convergencia linear;
Se p = 2 tem-se convergencia quadratica;
Se p = 3 tem-se convergencia c ubica;
etc. .
Teorema 4.10 O metodo de Newton e um metodo de ordem 2 (ou de convergencia quadratica).
Demonstracao: Vimos no paragrafo 4, que no metodo de Newton se tem
= x
n+1

1
2
f

(c
n
)
f

(x
n
)
( x
n
)
2
, c
n
] min{, x
n
}, max{, x
n
}[,
ou seja,
| x
n+1
|
| x
n
|
2
=

1
2
f

(c
n
)
f

(x
n
)
|
Portanto,
lim
n+
| x
n+1
|
| x
n
|
2
=
1
2

()
f

()

= C
2
Para k sucientemente grande | x
k+1
| C| x
k
|
p
, isto e, o erro, em modulo, da iterada de ordem k + 1 e
aproximadamente igual ao produto duma constante, nao nula, pela potencia p do erro, em modulo, da iterada de ordem
k, isto e, quanto maior for p mais rapidamente decresce o modulo do erro das iteradas.
4. Equacoes Nao Lineares 88
(notemos que estamos no intervalo [a, b], f

e f

nao se anulam.)
Geralmente o metodo do ponto xo e de convergencia linear e prova-se que no metodo da secante
tem-se p = 1.618... (convergencia supralinear).
A eciencia dum metodo iterativo e determinada fundamentalmente, pelo trabalho computacional
envolvido em cada itera cao, pelo comportamento dos erros de arredondamento cometidos nos calculos
e pela rapidez de convergencia para a solu cao.
O trabalho associado ao calculo de cada itera cao pode ser estimado contando o n umero de opera coes
executadas (que pode ser elevado no caso de se trabalhar com fun coes transcendentes); no entanto,
geralmente, a maior parte do esfor co computacional no calculo de uma iterada deve-se `a determina cao
dos valores duma ou mais fun coes.
Por exemplo, embora a ordem do metodo de Newton seja superior `a do metodo da secante, uma
itera cao calculada pelo metodo de Newton requer, em geral, mais calculos do que uma itera cao calculada
pelo metodo da secante. Assim, para calcular um zero real duma fun cao o metodo de Newton so
apresenta uma vantagem ntida sobre o metodo da secante se o n umero de opera coes aritmeticas para
obter o valor da derivada for substancialmente menor que o n umero de opera coes necessarias no calculo
do valor da fun cao.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 89
Captulo 5
Resolucao Numerica de Sistemas de
Equacoes Lineares
5.1 Introducao
Neste captulo consideramos o problema de resolu cao de sistemas de n equa coes lineares a n
incognitas, possvel e determinado
_

_
a
11
x
1
+ a
12
x
2
+ ... + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ ... + a
2n
x
n
= b
2
.
.
.
a
n1
x
1
+ a
n2
x
2
+ ... + a
nn
x
n
= b
n
ou, na forma matricial,
AX = B
com A = [a
ij
], X = [x
i
], B = [b
i
], i, j = 1, 2, ..., n.
Os metodos de resolu cao de sistemas de equa coes lineares podem-se dividir em dois grupos:
1) Metodos directos que sao algoritmos nitos de calculo da resolu cao dum sistema de (regra de
Cramer, metodo de Gauss, etc.);
2) Metodos iterativos que permitem obter uma aproxima cao da solu cao do sistema, com a precisao
que se pretender, `a custa de processos recursivos (metodo das aproxima coes sucessivas, metodo
de Jacobi, metodo de Seidel, etc.)
As aproxima coes efectuadas nos calculos intermedios fazem com que mesmo os metodos directos, na
maior parte dos casos, acabem por fornecer apenas valores aproximados da solu cao e para estes metodos
5. Resolucao Numerica de Sistemas de Equacoes Lineares 90
e, em geral, mais difcil obter uma estimativa do erro.
A utililiza cao de metodos iterativos da lugar, por outro lado, ao erro inerente do metodo. Note-se
ainda que a ecacia da aplica cao de um metodo iterativo depende, em grande parte, duma boa escolha
da aproxima cao inicial e da rapidez de convergencia do metodo.
5.2 Metodos directos
Como e sabido, tendo o sistema AX = B, sendo a matriz A nao singular, a solu cao X pode obter-se
calculando
X = A
1
B.
Este metodo tem interesse pratico muito limitado devido ao elevado n umero de opera coes que e
necessario efectuar para obter A
1
, (com os consequentes erros de arredondamento) no caso do n umero
de equa coes ser relativamente elevado.
5.2.1 Metodos de Gauss
O metodo de Gauss e baseado na redu caodo sistema dado a um sistema equivalente cuja matriz
dos coecientes e triangular (superior ou inferior). Este sistema pode entao ser resolvido facilmente.
Tal redu cao e denida por uma sequencia de opera coes elementares, isto e, troca de equa coes,
multiplica cao de ambos os membros duma equa cao por um n umero diferente de zero e substitui cao
duma equa cao pela sua soma com outra multiplicada por um n umero.
1
Os resultados seguintes sao ja conhecidos da disciplina de

Algebra Linear e Geometria Analtica.
Teorema 5.1 Seja

AX =

B um sistema que resulta da realizacao duma sequencia nita de opera coes
elementares sobre as equacoes de AX = B. Entao os sistemas AX = B e

AX =

B sao equivalentes
(isto e, tem a mesma solucao).
Teorema 5.2 Seja AX = B um sistema possvel e determinado de ordem n. Entao e possvel, real-
izando uma sequencia nita de operacoes elementares sobre as equacoes, transforma-lo num sistema
equivalente cuja matriz dos coecientes e triangular.
Exemplo 5.1
1
A troca de colunas tambem e uma opera cao elementar que se pode aplicar a um sistema de equa c oes. No entanto
convem ter presente que essa troca implica a troca de posi cao de incognitas nas equa coes.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 91
Utilizemos o metodo de Gauss para resolver o sistema
_

_
x
1
x
2
+ 2x
3
x
4
= 8
2x
1
2x
2
+ 3x
3
3x
4
= 20
x
1
+ x
2
+ 2x
3
= 2
x
1
x
2
+ 4x
3
+ 3x
4
= 4
Consideremos a matriz ampliada
A
(1)
=
_

_
1 1 2 1 | 8
2 2 3 3 | 20
1 1 1 0 | 2
1 1 4 3 | 4
_

_
Tomando para elemnto pivot a
(1)
11
= 1 podemos, `a custa de opera coes elementares,
(L
(1)
2
2L
(1)
1
) (L
(1)
2
) (L
(1)
3
L
(1)
1
) (L
(1)
3
) e (L
(1)
4
L
(1)
1
) (L
(1)
4
)
obter um sistema equivalente cuja matriz ampliada e
A
(2)
=
_

_
1 1 2 1 | 8
0 0 1 1 | 4
0 2 1 1 | 6
0 0 4 2 | 12
_

_
Uma vez que a
(2)
22
= 0, vamos trocar a 2
a
linha com a 3
a
linha, nesta matriz, obtendo
A
(2)

= A
(3)
=
_

_
1 1 2 1 | 8
0 2 1 1 | 6
0 0 1 1 | 4
0 0 2 4 | 12
_

_
L
(3)
1
L
(3)
2
L
(3)
3
L
(3)
4
Vericamos entao que nao sao precisas mais opera coes para anular os coecientes da incognita x
2
na terceira e quarta equa coes deste sistema. Assim A
(3)
= A
(2)

.
Escolhendo agora para elemento pivot a
(3)
33
= 1 e efectuando a opera cao elementar
(L
(3)
4
+ 2L
(3)
3
) (L
(3)
4
)
obtemos nalmente
A
(4)
=
_

_
1 1 2 1 | 8
0 2 1 1 | 6
0 0 1 1 | 4
0 0 0 2 | 4
_

_
A solu cao vem facilmente
x
4
=
4
2
= 2
x
3
=
4 (1)x
4
1
= 2
x
2
= 3
x
1
= 7
5. Resolucao Numerica de Sistemas de Equacoes Lineares 92
O exempo ilustra o que se deve fazer se a
(k)
kk
= 0 para algum k = 1, 2, ..., n 1: procura-se na
kesima coluna, desde a linha k ate `a linha n, um elemento nao nulo.
Seja a
(k)
pk
= 0 para algum p, k + 1 p n; entao efectua-se a opera cao elementar
L
(k)
k
L
(k)
p
e obtem-se a matriz A
(k1)

. O processo prossegue entao para se obter A


(k)
e assim por diante.
Notemos que se a
(k)
pk
= 0, p = k, k + 1, ..., n o sistema linear nao e possvel e determinado (por
condensa cao pode-se obter uma linha de zeros e portanto a matriz de coecientes e singular); do mesmo
modo se a
(n)
nn
= 0 tambem se conclui que o sistema nao e possvel e determinado ja que e imediato que
o determinante da matriz e nulo.
Prova-se que a escolha adequada dos elementos pivot permite diminuir a acumula cao de erros de
arredondamento dos calculos intermedios.
Na escolha parcial de pivot, no incio do passo de redu cao k, e escolhido para pivot o elemento a
pk
tal que
|a
pk
| = max
kin
(|a
ik
|).
Se p = k as linhas p e k sao trocadas entre si.
Na escolha total do pivot, no incio do passo de redu cao k, e escolhido para pivot o elemento a
pr
tal
que
|a
pr
| = max
kjn
kin
(|a
ij
|).
Se p = q as linhas p e k sao trocadas entre si. Se r = k as colunas r e k sao trocadas entre si (neste
caso ha que ter em aten cao que as incognitas x
r
e x
k
trocam de posi cao nas equa coes).
A acumula cao de erros de arredondamento e menor quando se usa escolha total de pivot sendo no
entanto o esfor co computacional muito maior. Na pratica e preferido o uso da escolha parcial de pivot
que produz em geral bons resultados.
Em certos casos a resolu cao do sistema pelo metodo de Gauss pode ser feita sem ocorrerem trocas
de linhas ou de colunas.
Denicao 5.1 Uma matriz A = [a
ij
], i, j = 1, 2, ..., n diz-se de diagonal estritamente domi-
5. Resolucao Numerica de Sistemas de Equacoes Lineares 93
nante se
|a
ii
| >
n

j=1, j=i
|a
ij
|, i = 1, 2, ..., n.
Denicao 5.2 Uma matriz A = [a
ij
], i, j = 1, 2, ..., n, simetrica diz-se denida positiva se
X
T
AX > 0
para todo o vector coluna X = 0.
Teorema 5.3 Se A e:
matriz de diagonal estritamente dominante
ou
matriz simetrica denida positiva
entao A e nao singular e o metodo de Gauss pode ser utilizado em qualquer sistema linear da forma
AX = B para obtencao da sua solucao unica, sem necessidade de trocas de linhas ou colunas.
5.2.2 Metodo de Jordan
Se, dado o sistema possvel e determinado, AX = B, em vez de o transformarmos num sistema
equivalente, com a matriz dos coecientes triangular, efectuarmos opera coes elementares sobre a matriz
ampliada de modo a obtermos um sistema equivalente com a matriz dos coecientes diagonal, a resolu cao
e imediata.
Se em particular a matriz diagonal for a matriz identidade a solu cao do sistema e dada directamente
pelo correspondente vector coluna dos termos independentes.
5.2.3 Metodos de decomposicao LU
Em muitas aplica coes surge o problema de resolver varios sistemas de equa coes lineares, todos com
a mesma matriz dos coecientes mas com vectores independentes distintos. O metodo que passamos a
descrever tem aplica cao especial nestes casos.
Consideremos o sistema possvel e determinado
AX = B
5. Resolucao Numerica de Sistemas de Equacoes Lineares 94
de n equa coes e n incognitas.
Suponhamos que A pode ser escrita duma maneira unica na forma:
A = LU (5.1)
sendo L uma matriz triangular inferior e U uma matriz triangular superior.
Tem-se entao
AX = B
ou seja
LUX = B.
Designando por Y o vector UX comecemos por resolver o sistema triangular
LY = B
cuja solu cao Y se obtem de imediato (a matriz dos coecientes e triangular inferior).
Resolvendo em seguida o sistema, tambem triangular,
UX = Y
obtem-se facilmente a solu cao X, que tambem e solu cao do sistema inicial.
Para garantir a decomposi cao (5.1) tem-se:
Teorema 5.4 Seja A uma matriz de ordem n e A
k
a submatriz principal de A formada pelas primeiras
k linhas e k colunas de A. Suponhamos que det(A
k
) = 0, k = 1, 2, ..., n 1. Entao existe uma
unica matriz triangular inferior L cujos elementos da diagonal sao todos iguais a 1 e uma unica matriz
triangular superior U tal que
2
A = LU.
Demonstracao: Provemos o teorema por indu cao. Se n = 1, isto e, A = [a
11
] entao L = [1] e
U = [a
11
]; logo L e U sao univocamente determinadas.
Suponhamos que o teorema e valido quando a ordem da matriz e n 1, tendo-se
A
n1
= L
n1
U
n1
.
Denamos o fraccionamento de A (de ordem n) em blocos
2
Demonstra-se:
Teorema:Seja A uma matriz de ordem n e A
k
a submatriz principal de A formada pelas primeiras k linhas e k colunas de
A.

E condi cao necessaria e suciente para que a matriz regular A se possa decompor no produto duma matriz triangular
inferior por uma matriz triangular superior que det(A
k
) = 0, k = 1, 2, ..., n 1. Essa decomposi c ao ser a unica se se
xarem os elementos diagonais de uma das matrizes triangulares; em particular tais elementos podem ser todos iguais ` a
unidade.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 95
A
(4)
=
_
A
n1
C
l a
nn
_
onde C e uma matriz coluna de n1 elementos e l uma matriz linha de n1 elementos. Consideremos
em L e U fraccionamentos analogos
L =
_
L
n1
0
m 1
_
U =
_
U
n1
u
0 u
nn
_
Entao
LU =
_
(L
n1
U
n1
) (L
n1
u)
(mU
n1
) (mu + u
nn
)
_
Por hipotese, a decomposi cao A
n1
= L
n1
U
n1
e unica. Como A
n1
nao e singular, nem L
n1
nem
U
n1
sao singulares. Assim, de L
n1
u = C obtem-se uma solu cao unica u. De mU
n1
= l obtem-se
uma unica solu cao m. De mu + u
nn
= a
nn
vem u
nn
= a
nn
mu.

Vamos deduzir em seguida as formulas que nos permitem calcular os elementos das matrizes L e U.
Supondo que estao satisfeitas as condi coes do teorema e sendo A = [a
ij
], L = [l
ij
] e U = [u
ij
] vem
a
ij
=
n

k=1
l
ik
u
kj
, i, j = 1, 2, ..., n.
Se i j (ja que l
ik
= 0, k > i) tem-se
a
ij
=
i

k=1
l
ik
u
kj
, (i j). (5.2)
Se i > j (ja que u
kj
= 0, k > i) tem-se
a
ij
=
j

k=1
l
ik
u
kj
, (i > j). (5.3)
De (5.2) obtem-se
u
1j
= a
1j
, j = 1, 2, ..., n.
De (5.3) obtem-se
l
i1
=
a
i1
u
11
, j = 2, 3, ..., n.
Novamente de (5.2) e (5.3), respectivamente, vem
5. Resolucao Numerica de Sistemas de Equacoes Lineares 96
u
ij
= a
ij

i1

k=1
l
ik
u
kj
, i = 2, 3, ..., n; j = i, i + 1, ..., n
l
ji
=
a
ji

i1
k=1
l
jk
u
ki
u
ii
, i = 2, 3, ..., n 1; j = i + 1, i + 2, ..., n.
A escolha de L com elementos diagonais iguais a um dene o metodo de Doolitle.
Se em vez disso U e tal que os seus elementos da diagonal sao iguais a um, nao se impondo tal
restri cao a L, tem-se o chamado metodo de Crout.
O metodo de Choleski, para matrizes simetricas denidas positivas, considera a factoriza cao denida
por A = LL
T
sendo L uma matriz triangular inferior com elementos diagonais positivos.
Demonstra-se:
Teorema 5.5 Seja A uma matriz simetrica denida positiva de ordem n. Entao existe uma matriz
triangular inferior L com elementos diagonais positivos tais que A = LL
T
.
Para terminar e util ter em conta o teorema seguinte:
Teorema 5.6 Se A e uma matriz regular e sempre possvel apenas por trocas de linhas passar de A
para uma outra matriz em que as sub matrizes principais sejam regulares.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 97
5.3 Normas vectoriais e matriciais
No que vai seguir-se consideremos o espa co vectorial
3
X dos vectores coluna X, Y, ... com n elementos
e o espa co vectorial
4
A das matrizes quadradas A, B, ... de ordem n.
Denamos em X uma norma fazendo corresponder a cada elemento X um n umero nao negativo,
X, a que chamamos norma de X, vericando as seguintes condi coes
1) X = 0 se X = 0, X > 0 se X = 0;
2) aX = |a|X, a R;
3) X + Y X +Y .
Seja, genericamente, X = [x
1
x
2
... x
n
]
T
; vamos considerar em particular as tres normas seguintes:
a)X

= max
i
|x
i
|;
b)X
1
=
n

i=1
|x
i
|;
c)X
2
=

_
n

i=1
|x
i
|
2
.
Denamos em A uma norma multiplicativa fazendo corresponder a cada elemento A A um n umero
nao negativo, A, a que chamamos norma de A, satisfazendo
5
1) A = 0 se A = 0, A > 0 se A = 0;
2) aA = |a|A, a R;
3) A+ B A +B;
4) AB AB.
Por exemplo, ca denida uma norma em A fazendo
A =

_
n

i=1
n

k=1
|a
ik
|
2
Diz-se que uma norma denida em A e compatvel com uma dada norma denida em X se quaisquer
que sejam A A e X X se tem
AX AX.
3
Sobre o corpo dos n umeros reais.
4
Sobre o corpo dos n umeros reais.
5
Utilizaremos o mesmo smbolo, ., para a norma vectorial e norma matricial.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 98
As normas matriciais seguintes sao compatveis com as normas vectoriais anteriores a), b) e c),
respectivamente:
a) A

= max
i

n
k=1
|a
ik
|;
b) A
1
= max
k

n
i=1
|a
ik
|;
c) A
2
=

1
, sendo
1
o maior valor proprio da matriz A
T
A.
Para qualquer das normas tem-se
I = 1
onde I e a matriz identidade.
No que se segue admitimos que as normas compatveis a utilizar sao as anteriormente indicadas.
5.4 Estimativa do erro
Neste paragrafo analisamos o condicionamento ou estabilidade numerica do problema de resolu cao
de sistemas de equa coes lineares.
O sistema AX = B diz-se numericamente instavel ou mal condicionado se pequenas varia coes nos
coecientes ou nos termos independentes se traduzem por grandes varia coes na solu cao (relativamente
`a solu cao exacta).
Por exemplo, o sistema
_
2x + 3y = 1
2x + 3.0001y = 0.9999
cuja solu cao e x = 2 e y = 1, e numericamente instavel. Com efeito, o sistema
_
2x + 3y = 1
2x + 2.9999y = 0.9999
que se obtem do anterior fazendo variar de 0.0002 o coeciente de y, tem agora solu cao x = 1, y = 1.
Consideremos entao o sistema AX = B e suponhamos que sao apenas conhecidas aproxima coes para
os elementos de A e B. Pretendemos determinar o efeito da propaga cao dos erros iniciais na solu cao
do sistema.
Sendo A uma matriz que dene uma perturba cao em A e B um vector que dene uma perturba cao
em B interessa conhecer X tal que
(A + A)(X + X) = B + B. (5.4)
5. Resolucao Numerica de Sistemas de Equacoes Lineares 99
Teorema 5.7 Seja A uma matriz invertvel e A tal que A <
1
A
1

.
Entao,
X
X

k
1 k
A
A
_
A
A
+
B
B
_
sendo k = cond(A) = A A
1
chamado n umero de condi c ao da matriz.
Demonstracao: Atendendo a que AX = B e a (5.4) tem-se
(A+ A)X + (A+ A)X = B + B
AX + (A)X + (A+ A)X = B + B
(A+ A)X = B (A)X.
Sendo E = A
1
A (i.e. AE = A) tem-se
(A + A) = A+ EA = A(I + E).
Alem disso, como A <
1
A
1

, entao,
E = A
1
A A
1
A < A
1
.
1
A
1

= 1
e, portanto, I + E e invertvel
6
pelo que A+ A tambem e invertvel. Deste modo, tem-se
X = (A+ A)
1
(B (A)X).
Podemos ainda concluir que
(6)
(I + E)
1

1
1 E

1
1 A
1
A
Atendendo a que
(A + A)
1
= (I + E)
1
A
1
tem-se
X
A
1

1 A
1
A
(B +AX).
De AX = B vem
B = AX AX
e
1
X

A
B
.
6
Teorema: Se E < 1, onde a norma e tal que I = 1, entao I + E e invertvel e tem-se
1
1 +E
(I + E)
1

1
1 E.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 100
Obtemos entao
X
X

A
1

1 A
1
A
_
B
X
+A
_

A
1

1 A
1
A
_
AB
B
+A
_
=
=
AA
1

1 (AA
1
)(A/A)
_
B
B
+
A
A
_
=
=
k
1 k(A/A)
_
B
B
+
A
A
_
,
onde k = cond(A).

Notemos que (X +X) representa a solu cao aproximada do sistema e, portanto, pode-se considerar
que
X
X
e um indicador do erro relativoda aproxima cao obtida.
Teorema 5.8 Seja A uma matriz invertvel. O n umero de condicao de A e maior ou igual a 1, i.e.,
k = cond(A) 1.
Demonstracao:
1 = I = AA
1
AA
1
= k.

Do teorema 5.7 conclui-se que, se k = cond(A) e grande, o problema de resolu cao do sistema AX = B
e mal condicionado - pequenas varia coes relativas nos elementos de A e B podem causar grande varia cao
relativa na solu cao.
Um conhecido exemplo de problema mal condicionado e o caso de sistemas cuja matriz dos coe-
cientes e uma matriz de Hilbert.
Exemplo 5.2
Consideremos o sistema
_

_
1 1/2 1/3 ... ... 1/10
1/2 1/3 1/4 ... ... 1/11
.
.
.
.
.
.
1/10 1/11 1/12 ... ... 1/19
_

_
_

_
x
1
x
2
.
.
.
x
10
_

_
=
_

_
b
1
b
2
.
.
.
b
10
_

_
5. Resolucao Numerica de Sistemas de Equacoes Lineares 101
com b
i
, i = 1, ..., 10 obtidos de modo a que o sistema tem a solu cao [1, 1, ..., 1]
T
.
Os coecientes e os termos independentes foram apresentados no computador com seis casas deci-
mais signicativas (erros absolutos nao superiores a 0.5 10
6
). A solu cao foi obtida por um metodo
estavel usando aritmetica de dupla precisao (para diminuir o efeito, no resultado obtido, dos erros de
arredondamento dos calculos). Obteve-se entao o resultado seguinte:
[0.996885 1.07708 0.648931 0.968574 3.24803 1.54132 0.217925 1.82014 4.17433 1.17841]
T
.
Note-se que varia coes nos dados do problema, inferiores a 0.5 10
6
provocaramvaria coes na
solu cao que chegaram a atingir mais de 3 unidades.
Verica-se que o n umero de condi cao da matriz de Hilbert de ordem 10 e aproximadamente igual a
1.6 10
15
, o que justica o mau resultado obtido.
5.5 Metodos iterativos
Ha casos em que os metodos directos nao sao os mais aconselhaveis para resolver um sistema linear
AX = B.
Recorremos entao a uma classe de metodos alternativos chamados metodos iterativos.
Estes metodos chamam-se iterativos porque geram uma sucessao de vectores (iteradas), {X
(k)
}
k=0,1,...
que convergem, sob certas condi coes, para a solu cao, X

, dos sistema AX = B.
Para obtermos um metodo iterativo devemos:
1) Decompor a matriz A na diferen ca de duas matrizes N e P,
A = N P
sendo N uma amtriz regular;
2) Ter em conta que sendo
AX = B
se tem
(N P)X = B
ou seja,
NX = PX + B;
3) Tomar uma aproxima cao inicial, X
(0)
, da solu cao exacta, X

;
5. Resolucao Numerica de Sistemas de Equacoes Lineares 102
4) Construir a sucessao X
(1)
, X
(2)
, ... a partir da rela cao de recorrencia
NX
(k+1)
= PX
(k)
+ B
ou
X
(k+1)
= N
1
PX
(k)
+ N
1
B, k = 0, 1, . . . .
Notemos que:
a sucessao de vectores {X
(k)
} devera convergir para a solu cao do sistema, X

;
sendo N regular, X
(k+1)
e determinado univocamente;
a escolha duma matriz triangular ou diagonal para matriz N apresenta vantagens .
Seja E
(k)
= X

X
(k)
o vector erro da kesima iterada. Atendendo a que
NX
(k+1)
= PX
(k)
+ B
e
NX

= PX

+ B
vem
N(X

X
(k+1)
) = P(X

X
(k)
)
ou seja,
NE
(k+1)
= PE
(k)
.
Tendo exigido que N seja regular, tem-se
E
(k+1)
= N
1
PE
(k)
= ME
(k)
obtendo-se, assim, uma rela cao importante entre os vectores erro de duas iteradas consecutivas. Convem,
portanto, que M seja tal que se possa garantir que os erros vao decrescendo de iterada para iterada.
Demonstremos o resultado seguinte:
Teorema 5.9 Suponhamos que A = N P e N
1
P < 1. Entao,
1. A e regular;
2. Se X

e solucao do sistema AX = B, X
(0)
e um vector aproximacao inicial e {X
(k)
} e uma
sucessao de vectores obtidos a partir da relacao
NX
(k+1)
= PX
(k)
+ B, k = 0, 1, ...
ou
X
(k+1)
= N
1
PX
(k)
+ N
1
B, k = 0, 1, ...
entao, tem-se
X

X
(k)

k
X

X
(0)
.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 103
3. lim
k+
X
(k)
= X

.
Demonstracao:
1. Suponhamos que A nao e regular; entao, ha um vector Y , nao nulo, tal que
7
AY = 0
ou seja,
(N P)Y = 0
ou ainda,
Y = N
1
PY.
Vem, entao,
Y = N
1
PY N
1
PY Y
e como Y = 0 conclui-se que 1 o que vai contra a hipotese.
Portanto, A e regular.
2. Seja
E
(k)
= ME
(k1)
= M
2
E
(k2)
= .... = M
k
E
(0)
.
Assim,
E
(k)
M
K
E
(0)

k
E
(0)

e, portanto,
X

X
(k)

k
X

X
(0)
.
3. Como < 1, lim
k+
X

X
(k)
= 0.
Admitamos que se esta a utilizar a norma vectorial X

= max
i
|x
i
|; atendendo a que
X

X
(k)

= max
i
|x

i
x
(k)
i
|
e imediato que lim
k+
X
(k)
= X

Note-se que se a norma utilizada nao fosse a indicada o raciocnio e a conclusao eram ainda validos
uma vez que se demonstra que
X
1
X
2
X


1
n
X
1
.
Relativamente `a estimativa do erro que afecta uma aproxima cao X
(k)
, da solu cao X

, temos:
7
A e regular sse a unica solu cao do sistema homogeneo e a solu cao nula.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 104
Teorema 5.10 Num metodo iterativo, nas condicoes do teorema 5.9, tem-se:
1) X

X
(k)
N
1
P
k
X

X
(0)

2) X

X
(k)

N
1
P
k
1N
1
P
X
(1)
X
(0)

3) X

X
(k)
N
1
PX
(0)

N
1
P
k
1N
1
P
N
1
B
4) X

X
(k)

N
1
P
1N
1
P
X
(k)
X
(k1)

Demonstracao: A formula 1) obtem-se no decorrer da demonstra cao do ponto 2 do teorema 5.9.


Para deduzir a rela cao 2) tenhamos em conta que, para m N
X
(m)
= N
1
PX
(m1)
+ N
1
B
e
X
(m1)
= N
1
PX
(m2)
+ N
1
B
pelo que,
X
(m)
X
(m1)
= N
1
P(X
(m1)
X
(m2)
) = (N
1
P)
2
(X
(m2)
X
(m3)
) =
= ... = (N
1
P)
m1
(X
(1)
X
(0)
).
Deste modo,
X
(m)
X
(m1)
N
1
P
m1
X
(1)
X
(0)
.
Para m, k N e m > k
X
(m)
X
(k)
= (X
(m)
X
(m1)
) + (X
(m1)
X
(m2)
) + ... + (X
(k+1)
X
(k)
)
X
(m)
X
(m1)
+X
(m1)
X
(m2)
+ ... +X
(k+1)
X
(k)

N
1
P
m1
X
(1)
X
(0)
+N
1
P
m2
X
(1)
X
(0)
+ ... +N
1
P
k
X
(1)
X
(0)
=
N
1
P
k
X
(1)
X
(0)
(1 +N
1
P + ... +N
1
P
m1k
).
Tendo em conta que lim
m+
X
(m)
= X

e que N
1
P < 1 obtem-se, aplicando limites a ambos
os membros da desigualdade anterior e sabendo que

j=0
N
1
P
j
=
1
1 N
1
P
,
X

X
(k)

N
1
P
k
1 N
1
P
X
(1)
X
(0)
.
Para obter a majora cao 3), vamos partir da rela cao 1) e concluir que
X

X
(k)
N
1
P
k
X

X
(0)
N
1
P
k
(X

+X
(0)
).
5. Resolucao Numerica de Sistemas de Equacoes Lineares 105
Por outro lado, sendo AX = B e A = N P vem
(N P)X = B
NX = PX + B
X = N
1
PX + N
1
B
X N
1
PX = N
1
B
(I N
1
P)X = N
1
B
X = (I N
1
P)
1
N
1
B.
Finalmente, atendendo a que N
1
P < 1, tem-se
8
(I N
1
P)
1

1
1 N
1
P
pelo que,
X

(I N
1
P)
1
N
1
B
1
1 N
1
P
N
1
B
e
X

X
(k)
N
1
P
k
X
(0)
+
N
1
P
k
1 N
1
P
N
1
B.
Para deduzir rela cao 4) tenhamos em conta que
X

X
(k)
= N
1
P(X

X
(k1)
)
( como vimos anteriormente).
Consideremos, entao,
X

X
(k)
= N
1
P
_
(X

X
(k)
) + (X
(k)
X
(k1)
)
_
obtendo-se
X

X
(k)
N
1
P
_
X

X
(k)
+X
(k)
X
(k1)

_
X

X
(k)
(1 N
1
P) N
1
PX
(k)
X
(k1)

X
(k)

N
1
P
(1 N
1
P)
X
(k)
X
(k1)
.
8
Para as normas matriciais referidas e para uma dada matriz C, demonstra-se:
Teorema: Se C < 1 entao I C e I + C sao regulares e tem-se
1
1 +C
(I C)
1

1
1 C
1
1 +C
(I + C)
1

1
1 C
5. Resolucao Numerica de Sistemas de Equacoes Lineares 106

Exemplo 5.3
Consideremos o sistema
_

_
10x
1
x
2
+ 2x
3
= 6
x
1
+ 11x
2
x
3
+ 3x
4
= 25
2x
1
x
2
+ 10x
3
x
4
= 11
3x
2
x
3
+ 8x
4
= 15
que, sob a forma matricial, se escreve
_

_
10 1 2 0
1 11 1 3
2 1 10 1
0 3 1 8
_

_
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
6
25
11
15
_

_
Tomando para matriz N
N =
_

_
10 0 0 0
0 10 0 0
0 0 10 0
0 0 0 10
_

_
vem
P =
_

_
0 1 2 0
1 1 1 3
2 1 0 1
0 3 1 2
_

_
O processo iterativo e, entao, traduzido por
X
(k+1)
= N
1
PX
(k)
+ N
1
B.
Com vista `a verica cao da convergencia calculemos N
1
P:
N
1
=
_

_
0.1 0 0 0
0 0.1 0 0
0 0 0.1 0
0 0 0 0.1
_

_
N
1
P =
_

_
0 0.1 0.2 0
0.1 0.1 0.1 0.3
0.2 0.1 0 0.1
0 0.3 0.1 0.2
_

_
.
Como e facil de vericar, tem-se
N
1
P

= 0.6 = < 1.
Portanto, o processo iterativo denido por
_

_
X
(0)
= [x
(0)
1
x
(0)
2
x
(0)
3
x
(0)
4
]
T
_

_
x
(k+1)
1
x
(k+1)
2
x
(k+1)
3
x
(k+1)
4
_

_
=
_

_
0 0.1 0.2 0
0.1 0.1 0.1 0.3
0.2 0.1 0 0.1
0 0.3 0.1 0.2
_

_
_

_
x
(k)
1
x
(k)
2
x
(k)
3
x
(k)
4
_

_
+
_

_
0.6
2.5
1.1
1.5
_

_
e convergente para a solu cao do sistema dado.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 107
5.6 Metodos iterativos particulares
5.6.1 Metodo de Jacobi
Neste metodo toma-se para matriz N uma matriz diagonal, com a diagonal principal igual `a diagonal
principal da matriz A do sistema AX = B.
A matriz P e entao P = N A, que pode ainda considerar-se como a soma de duas matrizes, uma
triangular superior, L, e outra triangular inferior, U.
Sendo A = [a
ij
], D = [d
ij
], L = [l
ij
], U = [u
ij
], i, j, = 1, 2, ..., n, tem-se
d
ij
=
_
a
ij
se i = j
0 se i = j
l
ij
=
_
a
ij
se i > j
0 se i j
u
ij
=
_
a
ij
se i < j
0 se i j
com A = D + (L + U), N = D, e P = N A = (L + U).
O metodo de Jacobi para resolver o sistema AX = B consiste, portanto, em considerar o processo
iterativo
DX
(k+1)
= (L + U)X
(k)
+ B
ou seja,
X
(k+1)
= D
1
[(L + U)X
(k)
+ B] = D
1
(L + U)X
(k)
+ D
1
B, k = 0, 1, . . . .
A matriz D
1
(L + U)e chamada matriz de Jacobi.
Podemos apresentar o metodo de Jacobi na forma nao matricial
x
(k+1)
i
=
1
a
ii
_
n

j=1,j=i
a
ij
x
(k)
j
b
i
_
, i = 1, 2, ..., n. (5.5)
Esta formula prova que o metodo de Jacobi e bastante facil de programar.
Tambem e evidente que estamos a admitir que a diagonal principal de A tem todos os elementos
nao nulos (para que N seja nao singular). Mas sendo A invertvel e sempre possvel por troca de linhas
transforma-la numa matriz cujos elementos da diagonal sao nao nulos.
Finalmente notemos que D
1
e facil de obter e por isso torna-se simples o processo de obten cao de
cada iterada.
Assim, nos casos em que D
1
(L + U) < 1 o metodo de Jacobi gera uma sucessao de vectores
convergente para a solu cao do sistema.
Tem-se ainda:
5. Resolucao Numerica de Sistemas de Equacoes Lineares 108
Teorema 5.11 Se a matriz dos coecientes do sistema AX = B, de n equacoes e n incognitas, e de
diagonal estritamente dominante entao o metodo de Jacobi e convergente.
Demonstracao: Se |a
ii
| >

j=1, j=i
|a
ij
|, i = 1, 2, ..., n, entao:
1 >
n

j=1, j=i
|a
ij
|
|a
ii
|
=
n

j=1, j=i

a
ij
a
ii

, i = 1, 2, ...n.
Portanto, D
1
(L + U)

< 1.
Exemplo 5.4
Considerando o sistema do exemplo anterior vericamos que a matriz A, dos coecientes, e de diagonal
estritamente dominante pelo que temos a garantia que a sucessao de iteradas dada pelo metodo de
Jacobi e converegente para a solu cao.
Para este metodo tem-se, entao,
D =
_

_
10 0 0 0
0 11 0 0
0 0 10 0
0 0 0 8
_

_
e (L + U)P =
_

_
0 1 2 0
1 0 1 3
2 1 0 1
0 3 1 0
_

_
D
1
(L + U) =
_

_
0
1
10

2
10
0
1
11
0
1
11

3
11

2
10
1
10
0
1
10
0
3
8
1
8
0
_

_
e, portanto,
_

_
X
(0)
= [x
(0)
1
x
(0)
2
x
(0)
3
x
(0)
4
]
T
_

_
x
(k+1)
1
x
(k+1)
2
x
(k+1)
3
x
(k+1)
4
_

_
=
_

_
0
1
10

2
10
0
1
11
0
1
11

3
11

2
10
1
10
0
1
10
0
3
8
1
8
0
_

_
_

_
x
(k)
1
x
(k)
2
x
(k)
3
x
(k)
4
_

_
+
_

_
6
10

25
11

11
10
15
8
_

_
(5.6)
(evidentemente que os n umeros aqui apresentados sob a forma fraccionaria deverao ser transformados
em n umeros na forma decimal).
Caso o metodo de Jacobi seja convergente, e por vezes utilizado na pratica o processo de resolver a
primeira equa cao do sistema em ordem `a variavel x
1
, a segunda equa cao em ordem `a variavel x
2
, etc.,
e a partir da obter as formulas de recorrencia.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 109
Algoritmo 5.1 Algoritmo do metodo de Jacobi
Resolu cao do sistema AX = B, supondo satisfeitas as condi coes de convergencia do metodo de
Jacobi e onde vamos considerar o seguinte criterio de paragem:
X
(n)
X
(n1)

< Tol, onde Tol e uma tolerancia predenida


ou
n umero maximo de iteradas, M.
IN

ICIO
ENTRADA(a
ij
, b
i
, x
i,0
i, j = 1, ..., n, Tol, M)
x
i,0
, i = 1, ..., n: aproximacao inicial da solucao do sistema de eq. AX = B.
FAC A PARA i 1, n
x
i
x
i,0
;
y
i
x
i,0
+ 2 Tol; Para iniciar o ciclo ENQUANTO
K 1
ENQUANTO(X Y

> Tol e K M ) FACA


FAC A PARA i 1, n
S
1
0
FAC A PARA j 1, n
SE j = i ENT

AO
S
1
S
1
+ a
ij
x
j
x
i

b
i
S
1
a
ii
y
i
x
i
K K + 1
SA

IDA(x
i
, i = 1, ..., n)
FIM
No exemplo anterior tem-se
_

_
x
1
=
1
10
x
2

2
10
x
3
+
6
10
x
2
=
1
11
x
1
+
1
11
x
3

3
11
x
4

25
11
x
3
=
2
10
x
1
+
1
10
x
2
+
1
10
x
4

11
10
x
4
=
3
8
x
2
+
1
8
x
3
+
15
8
obtendo-se, entao,
_

_
x
(k+1)
1
=
1
10
x
(k)
2

2
10
x
(k)
3
+
6
10
x
(k+1)
2
=
1
11
x
(k)
1
+
1
11
x
(k)
3

3
11
x
(k)
4

25
11
x
(k+1)
3
=
2
10
x
(k)
1
+
1
10
x
(k)
2
+
1
10
x
(k)
4

11
10
x
(k+1)
4
=
3
8
x
(k)
2
+
1
8
x
(k)
3
+
15
8
, k = 0, 1, ...
5. Resolucao Numerica de Sistemas de Equacoes Lineares 110
que, como se ve, e equivalente a (5.6).
Patindo da aproxima cao inicial
X
(0)
= [0 0 0 0]
T
obtem-se
k 0 1 2 3 ... 10
x
(k)
1
0.0000 0.6000 1.0473 0.9326 ... 1.0001
x
(k)
2
0.0000 2.2227 1.7159 2.0533 ... 1.9998
x
(k)
3
0.0000 -1.1000 -0.8052 -1.0493 ... -0.9998
x
(k)
4
0.0000 1.8750 0.8852 1.1309 ... 0.9998
(a solu cao exacta e X

= [1 2 1 1]
T
).
5.6.2 Metodo de Gauss-Seidel
Examinando as expressoes (5.5) vericamos que no metodo de Jacobi as componentes da iterada de
ordem k + 1 se determinam inteiramente a partir dos valores obtidos na iterada de ordem k.
Simbolicamente
_

_
x
(k+1)
1
= f
1
(x
(k)
2
, x
(k)
3
, ..., x
(k)
n
)
x
(k+1)
2
= f
2
(x
(k)
1
, x
(k)
3
, ..., x
(k)
n
)
x
(k+1)
3
= f
3
(x
(k)
1
, x
(k)
2
, x
(k)
4
, ..., x
(k)
n
)
.
.
.
x
(k+1)
n
= f
n
(x
(k)
1
, x
(k)
2
, ..., x
(k)
n1
)
Mas, admitindo que X
(k+1)
e melhor aproxima cao da solu cao do que X
(k)
poderiamos substituir x
(k)
j
por x
(k+1)
j
`a medida que estas forem sendo calculadas, ou seja,
_

_
x
(k+1)
1
= f
1
(x
(k)
2
, x
(k)
3
, ..., x
(k)
n
)
x
(k+1)
2
= f
2
(x
(k+1)
1
, x
(k)
3
, ..., x
(k)
n
)
x
(k+1)
3
= f
3
(x
(k+1)
1
, x
(k+1)
2
, x
(k)
4
, ..., x
(k)
n
)
.
.
.
x
(k+1)
n
= f
n
(x
(k+1)
1
, x
(k+1)
2
, ..., x
(k+1)
n1
)
De acordo com (5.5) obter-se-ia
x
(k+1)
i
=
1
a
ii
i1

j=1
a
ij
x
(k+1)
j

1
a
ii
n

j=i+1
a
ij
x
(k)
j
+
b
i
a
ii
, i = 1, 2, ..., n.
Matricialmente, consideramos como anteriormente as matrizes D, L e U, com A = D + L + U, e
fazemos
N = D + L e P = U,
5. Resolucao Numerica de Sistemas de Equacoes Lineares 111
obtendo o metodo iterativo
(D + L)X
(k+1)
= UX
(k)
+ B
ou seja,
X
(k+1)
= (D + L)
1
UX
(k)
+ (D + L)
1
B, k = 0, 1, . . . . (5.7)
A matriz (D + L)
1
U e chamada matriz de Gauss-Seidel, e se
(D + L)
1
U < 1
a sucessao denida por (5.7) converge para a solu cao do sistema qualquer que seja X
(0)
R
n
.
Dado o sistema AX = B demonstra-se:
Teorema 5.12 Se A e uma matriz de diagonal estritamente dominante entao a sucessao de vectores
gerada pelo metodo de Gauss-Seidel e convergente para o vector solucao do sistema, qualquer que seja
a aproximacao inicial.
Teorema 5.13 Se A e uma matriz simetrica, denda positiva entao a sucessao de vectores gerada pelo
metodo de Gauss-Seidel converge para o vector solucao do sistema, qualquer que seja a aproxima cao
inicial.
Algoritmo 5.2 Algoritmo do metodo de Gauss-Seidel
Resolu cao do sistema AX = B, supondo satisfeitas as condi coes de convergencia do metodo de
Gauss-Seidel e onde vamos considerar o seguinte criterio de paragem:
X
(n)
X
(n1)

< Tol, onde Tol e uma tolerancia predenida


ou
n umero maximo de iteradas, M.
IN

ICIO
ENTRADA(a
ij
, b
i
, x
i,0
i, j = 1, ..., n, Tol, M)
x
i,0
, i = 1, ..., n: aproximacao inicial da solucao do sistema de eq. AX = B.
FAC A PARA i 1, n
x
i
x
i,0
;
y
i
x
i0
+ 2 Tol; Para iniciar o ciclo ENQUANTO
K 1
5. Resolucao Numerica de Sistemas de Equacoes Lineares 112
ENQUANTO(X Y

> Tol e K M ) FACA


FAC A PARA i 1, n
S
1
0
S
2
0
FAC A PARA j 1, i 1
S
1
S
1
+ a
ij
x
j
FAC A PARA j i + 1, n
S
2
S
2
+ a
ij
y
j
x
i

b
i
S
1
S
2
a
ii
y
i
x
i
K K + 1
SA

IDA(x
i
, i = 1, ..., n)
FIM
Considerando ainda o exemplo anterior, utilizando o metodo de Gauss-Seidel e partindo tambem da
aproxima cao inicial
X
(0)
= [0 0 0 0]
T
obtem-se
k 0 1 ... 3
x
(k)
1
0.0000 0.6000 ... 1.0001
x
(k)
2
0.0000 2.3272 ... 2.0000
x
(k)
3
0.0000 -0.9873 ... -1.0000
x
(k)
4
0.0000 0.8789 ... 1.0000
podendo vericar-se a maior rapidez de convergencia deste metodo.
5.7 Consideracoes nais
O metodo de elimina cao de Gauss e um dos mais antigos metodos numericos mas so nas decadas
de 50-60 foram desenvolvidas tecnicas de escolha de pivot e compreendido o efeito da acumula cao dos
erros de arredondamento no uso deste algoritmo.
Dum modo geral os metodos directos tem a vantagem de exigirem menos opera coes que os metodos
iterativos, podendo saber-se de antemao o n umero dessas opera coes. Tem porem, o grande inconveniente
de muitas vezes conduzirem a solu coes pouco precisas devido `a acumula cao dos erros de arredondamento
nas diferentes fases de calculo. Este inconveniente torna-se tanto mais grave quanto maior for o numero
de equa coes e, entao, so trabalhando com n umeros com elevado n umero de algarismos signicativos e
5. Resolucao Numerica de Sistemas de Equacoes Lineares 113
que se conseguem aproxima coes com algum signicado. No caso de sistemas de matriz simetrica certos
metodos directos conduzem a uma economia de opera coes aprecavel (em rela cao ao caso geral).
Os metodos iterativos foram desenvolvidos principalmente para ultrapassar o inconveniente da acu-
mula cao dos erros de arredondamento nos metodos directos, pois, pela sua propria natureza, eles sao
auto-correctivos, no que se refere a esses erros (como o metodo e convergente qualquer que seja a aprox-
ima cao inicial tomada, uma iterada com um certo erro pode ser sempre considerada uma aproxima cao
inicial para uma nova aplica cao do metodo). Por outro lado, pelo seu caracter iterativo, eles adaptam-se
particularmente bem ao calculo em computador.
A grande desvantagem dos metodos iterativos resulta de nem sempre serem convergentes e antes
de aplicar um desses metodos `a resolu cao de determinado sistema ha que analisar a convergencia. Por
outro lado, por vezes, mesmo havendo convergencia esta pode ser de tal modo lenta que o processo nao
seja aconselhavel.
5. Resolucao Numerica de Sistemas de Equacoes Lineares 114
6. Resolucao Numerica de Equacoes Diferenciais 115
Captulo 6
Resolucao Numerica de Equacoes
Diferenciais
6.1 Introducao
As equa coes diferenciais surgiram na sequencia do desenvolvimento do calculo diferencial, introduzido
por Newton e Leibniz.
Com o desenvolvimento dos meios computacionais, a investiga cao actual neste domnio, concentra-se
essencialmente, na obten cao de metodos de resolu cao numerica de equa coes diferenciais.
As equa coes diferenciais utilizam-se, geralmente para descrever um modelo, como acontece frequente-
mente em Engenharia, Fsica, Qumica, etc.
Por exemplo, o movimento oscilatorio de um pendulo, pode ser descrito por uma equa cao diferencial de
2
a
ordem:
d
2

dt
2

g
L
sin() = 0, (6.1)
onde L e o comprimento do pendulo, g a constante de gravidade e o angulo que o pendulo faz com a
vertical.
Se se indicar a posi cao inicial do pendulo
(t
0
) =
0
e a sua velocidade nesse ponto

(t
0
) =

0
obtemos uma equacao diferencial com condicoes iniciais. A solu cao numerica de uma equa cao diferen-
cial, consiste usualmente num conjunto de valores que sao aproxima coes da solu cao exacta, em deter-
minados valores da variavel independente.
Antes de tentar resolver uma equa cao diferencial com condi cao inicial, precisamos saber se a solu cao
existe, e se existir se e unica. Alem disso, e util saber se, a pequenas varia coes nos dados correspondem
tambem pequenas varia coes da solu cao.
6. Resolucao Numerica de Equacoes Diferenciais 116
Denicao 6.1 Uma funcao f(t, y) satisfaz a condicao de
Lipschitz na variavel y, num conjunto D R
2
, se existir uma constante L > 0 tal que
|f(t, y
1
) f(t, y
2
)| L|y
1
y
2
|, (t, y
1
), (t, y
2
) D. (6.2)
A constante L designa-se por constante de Lipschitz.
Denicao 6.2 Um conjunto D R
2
diz-se convexo se dados (t
1
, y
1
), (t
2
, y
2
) D, entao
((1 )t
1
+ t
2
, (1 )y
1
+ y
2
) D, [0, 1].
Geometricamente, num conjunto convexo, se dois pontos pertencem ao conjunto, entao o segmento
que os une tambem pertence.
Os conjuntos que vamos considerar neste captulo sao geralmente da forma
D = {(t, y) : a t b, < y < +} (6.3)
que sao convexos.
Teorema 6.1 Seja f uma funcao denda e contnua num convexo D R
2
,
f
y
contnua em D e tal
que
L > 0 :

f
y
(t, y)

L, (t, y) D.
Entao, f satisfaz a condicao de Lipschitz em D, relativamente `a variavel y, com a constante de Lipschitz
igual a L.
Relativamente `a existencia e unicidade da solu cao da equa cao diferencial demonstra-se o seguinte
teorema.
Teorema 6.2 Seja D = {(t, y) : a t b, < y < +} e f uma funcao contnua em D. Se
f satisfaz a condicao de Lipschitz em D, relativamente `a variavel y, entao a equacao diferencial com
condicao inicial
_
y

(t) = f(t, y), t [a, b]


y(a) =
(6.4)
tem uma unica solucao, y(t), para a t b.
Demonstracao: A demonstra cao deste teorema encontra-se em qualquer livro que trate da teoria de
equa coes diferenciais ordinarias.
Este teorema da-nos uma condi cao suciente para a existencia e unicidade da solu cao, mas nao nos
elucida quanto `a questao de a pequenas varia coes nos dados corresponderem pequenas varia cao nos
resultados.
6. Resolucao Numerica de Equacoes Diferenciais 117
Denicao 6.3 A equacao diferencial com condicao inicial
_
y

(t) = f(t, y), t [a, b]


y(a) =
traduz um problema bem posto se:
1. tem uma unica solucao;
2. dado > 0, existe k > 0, k = k(), tal que a equacao diferencial
_
z

(t) = f(t, z) + (t), t [a, b]


z(a) = +
0
com |
0
| < e |(t)| < , (t) funcao contnua, a t b, tem apenas uma solu cao, z(t), que
satisfaz
|z(t) y(t)| < k, a t b.
Teorema 6.3 Seja D = {(t, y) : a t b, < y < +}. A equacao diferencial com condi cao
inicial
_
y

(t) = f(t, y), t [a, b]


y(a) =
traduz um problema bem posto se a funcao f e uma funcao contnua e satisfaz a condi cao de Lipschitz
relativamente `a variavel y, em D.
Exemplo 6.1
Seja D = {(t, y) : 0 t 1, < y < +} e consideremos a equa cao diferencial com condi cao
inicial
_
y

(t) = y + t + 1 = f(t, y), t [0, 1]


y(0) = 1

f
y
(t, y)

= 1, pelo que podemos concluir que a fun cao satisfaz a condi cao de Lipschitz com L = 1.
Uma vez que f e contnua, estamos nas condi coes do teorema anterior, isto e, a equa cao traduz um
problema bem posto.
6. Resolucao Numerica de Equacoes Diferenciais 118
6.2 Metodos de passo simples
Consideremos a equa cao diferencial
_
y

(t) = f(t, y), t [a, b]


y(a) =
(6.5)
que admitimos traduzir um problema bem posto.
Consideremos no intervalo [a, b] os pontos igualmente espa cados de h
t
i
= a + ih, i = 0, 1, 2, ..., N
com a + Nh = b.
Aos pontos t
i
chamamos nodos e a h chamamos passo.
Denicao 6.4 Designa-se por metodo de passo simples um metodo em que o valor aproximado da
solucao no nodo t
i+1
, w
i+1
, depende do valor aproximado obtido no nodo t
i
, , w
i
, ou seja,
w
i+1
= w
i
+ h(t
i
, w
i
, h).
6.2.1 Metodo de Taylor de ordem n
Os metodos que se vao apresentar de seguida baseiam-se no desenvolvimento de Taylor.
Consideremos a equa cao diferencial (6.5), e admitamos que, a solu cao unica da equa cao, y(t) admite
derivada de ordem n + 1 contnua em [a, b].
Sejam
t
i
= a + ih, i = 0, 1, 2, ..., N
com h =
b a
N
.
Pela formula de Taylor
y(t
i+1
) = y(t
i
+ h) = y(t
i
) + hy

(t
i
) +
h
2
2!
y

(t
i
) + . . . +
h
n
n!
y
(n)
(t
i
)
+
h
n+1
(n + 1)!
y
(n+1)
(
i
), t
i
<
i
< t
i+1
,
ou seja,
y(t
i+1
) = y(t
i
+ h) = y(t
i
) + hf(t
i
, y(ti)) +
h
2
2!
f

(t
i
, y(t
i
)) +. . . +
+
h
n
n!
f
(n1)
(t
i
, y(t
i
)) +
h
n+1
(n + 1)!
y
(n+1)
(
i
),
t
i
<
i
< t
i+1
,
onde
f
(k)
(t, y(t)) =
d
k
f(t, y(t))
dt
k
e
df
dt
=
f
t
+
f
y
y

(t)
6. Resolucao Numerica de Equacoes Diferenciais 119
Como normalmente nao se consegue calcular a ultima parcela, consideramos como valor aproximado
da solu cao em t
i+1
, o valor que se obtem desprezando aquela parcela do desenvolvimento anterior.
Obtemos assim o Metodo de Taylor de ordem n, cuja equacao `as diferencas e dada por
_
w
0
=
w
i+1
= w
i
+ hT
(n)
(t
i
, w
i
), i = 0, 1, ..., N 1
onde
T
(n)
(t
i
, w
i
) = f(t
i
, w
i
) +
h
2
f

(t
i
, w
i
) + ... +
h
n1
n!
f
(n1)
(t
i
, w
i
).
Exemplo 6.2
Considere a equa cao diferencial
_
y

(t) = y + t + 1, t [0, 1]
y(0) = 1
(6.6)
Determine a equa cao `as diferen cas do metodo de Taylor de ordem 2 , com passo h.
f(t, y) = y + t + 1
f

(t, y) = y

+ 1 = y t 1 + 1 = y t.
Assim,
T
(2)
(t
i
, w
i
) = f(t
i
, w
i
) +
h
2
f

(t
i
, w
i
)
= w
i
+ t
i
+ 1 +
h
2
(w
i
t
i
)
=
_
1
h
2
_
(t
i
w
i
) + 1.
A equa cao `as diferen cas vem
_
w
0
= 1
w
i+1
= w
i
+ h
__
1
h
2
_
(t
i
w
i
) + 1

, i = 0, 1, ..., N 1.
O metodo de Taylor de ordem 1 designa-se por metodo de Euler e tem a equa cao `as diferen cas
_
w
0
=
w
i+1
= w
i
+ hf(t
i
, w
i
), i = 0, 1, ..., N 1.
Exemplo 6.3
6. Resolucao Numerica de Equacoes Diferenciais 120
Determinemos a solu cao aproximada da equa cao diferencial (6.6) utilizando o metodo de Euler com
h = 0.1 (t
i
= 0.1i, i = 0, 1, ..., 10).
A equa cao `as diferen cas para o metodo de Euler vem:
w
0
= 1
w
i+1
= w
i
+ 0.1(w
i
+ t
i
+ 1)
= w
i
+ 0.1(w
i
+ 0.1i + 1)
= 0.9w
i
+ 0.01i + 0.1, i = 0, 1, ..., 9.
Sabendo que a solu cao exacta e y(t) = t + e
t
podemos analisar o comportamento do erro nalguns
nodos
t
i
w
i
y(t
i
) |y(t
i
) w
i
|
0 1 1 0
0.1 1 1.004837 0.004837
0.2 1.01 1.018731 0.008731
0.3 1.029 1.040819 0.011818
0.4 1.0561 1.070320 0.014220
0.5 1.090490 1.106531 0.016041
0.6 1.131441 1.148812 0.017371
.
.
.
.
.
.
.
.
.
.
.
.
1.0 1.348676 1.367879 0.019201
Tabela 6.1: Aproxima coes de y(t) obidas pelo metodo de Euler
Note-se que o modulo do erro cresce lentamente `a medida que o valor de t
i
aumenta.
O crescimento controlado do erro no metodo de Euler e uma das suas principais
caractersticas.
0.2 0.4 0.6 0.8 1
1.05
1.1
1.15
1.2
1.25
1.3
1.35
Figura 6.1: Solu cao exacta da equa cao (6.6) e aproxima coes obtidas pelo metodo de Euler
6. Resolucao Numerica de Equacoes Diferenciais 121
Denicao 6.5 Se y e a solucao da equacao diferencial
_
y

(t) = f(t, y), t [a, b]


y(a) =
e
w
i+1
= w
i
+ h(t
i
, w
i
, h)
e um valor aproximado em t
i+1
, obtido por um metodo de passo simples (w
0
= ), o respectivo erro de
truncatura local e

i+1
=
y(t
i+1
) w
i+1
h
i = 0, 1, ..., N 1, (6.7)
supondo que w
i+1
e calculado pelo metodo a partir dos valores exactos em t
i
.
Se |
i+1
| O(h
k
) dizemos que o metodo e de ordem k.
O erro de truncatura local no metodo de Taylor de ordem n e

i+1
=
y(t
i+1
) [y(t
i
) + hT
(n)
(t
i
, y(t
i
))]
h
=
h
n
(n + 1)!
f
(n)
(
i
, y(
i
))
i = 0, 1, ..., N 1, t
i
<
i
< t
i+1
.
Portanto, |
i+1
| = O(h
n
). Uma vez que,
lim
h0
|
i+1
|
h
n
=
|f
(n)
(t
i
, y(t
i
))|
(n + 1)!
= C, C R
+
.
Podemos assim concluir que o metodo de Taylor considerado e de ordem n
1
.
6.2.2 Metodos de Runge-Kutta
Os metodos de Taylor de ordem elevada tem a desvantagem de exigirem o calculo de varias derivadas
de f(t, y). Podem por isso tornar-se complicados e demorados em alguns problemas.
Os metodos de Runge-Kutta podem ter o grau de precisao dos metodos de Taylor sem terem o in-
conveniente do calculo das derivadas.
O metodo de Runge-Kutta mais utilizado e o de ordem 4. A solu cao da equa cao diferencial deve
ter derivadas contnuas ate `a 5
a
ordem.
1
Tambem se chegaria a esta conclusao tendo em conta que
|
i+1
|
h
n
(n + 1)!
M
n+1
= O(h
n
), |y
(n+1)
(t)| M
n+1
, t [a, b].
6. Resolucao Numerica de Equacoes Diferenciais 122
A equa cao `as diferen cas do metodo de Runge-Kutta de ordem 4 e
_
w
0
=
w
i+1
= w
i
+
1
6
(K
1
+ 2K
2
+ 2K
3
+ K
4
) , i = 0, 1, ..., N 1
(6.8)
onde
_

_
K
1
= hf(t
i
, w
i
)
K
2
= hf(t
i
+
h
2
, w
i
+
1
2
K
1
)
K
3
= hf(t
i
+
h
2
, w
i
+
1
2
K
2
)
K
4
= hf(t
i+1
, w
i
+ K
3
)
Exemplo 6.4
Consideremos novamente a equa cao diferencial (6.6). Utilizando o metodo de Runge-Kutta de ordem
4, com h = 0.1, obtem-se:
t
i
w
i
|y(t
i
) w
i
|
0 1.0 0
0.1 1.0048375 0.82 10
7
0.2 1.0187309014 0.1483 10
6
0.3 1.0408184220 0.2013 10
6
0.4 1.0703202889 0.2429 10
6
0.5 1.1065309344 0.2747 10
6
.
.
.
.
.
.
.
.
.
1.0 1.3678797744 0.3332 10
6
Tabela 6.2: Aproxima coes de y(t) obidas pelo metodo de Runge-Kutta
0.2 0.4 0.6 0.8 1
1.05
1.1
1.15
1.2
1.25
1.3
1.35
Figura 6.2: Solu cao exacta da equa cao (6.6) e aproxima coes obtidas pelo metodo de Runge-Kutta
6. Resolucao Numerica de Equacoes Diferenciais 123
6.3 Metodos de passo m ultiplo de Adams
Nos metodos de passo simples, no calculo da aproxima cao de y(t
i+1
), apenas entramos em conta com a
aproxima cao de y(t
i
). No entanto, como ja se conhecem os valores aproximados em t
0
, t
1
, ..., t
i
parece
razoavel o desenvolvimento de metodos que utilizem a totalidade ou parte daqueles conhecimentos.
Metodos nestas circunstancias sao designados metodos de passo m ultiplo.
Denicao 6.6 Um metodo de passo m ultiplo para resolver numericamente a equacao
_
y

(t) = f(t, y), t [a, b]


y(a) =
e um metodo cuja equacao `as diferen cas, que da a aproximacao w
i+1
em t
i+1
, pode ser representada
pela equacao seguinte
w
i+1
= a
m1
w
i
+ a
m2
w
i1
+ . . . + a
0
w
i+1m
(6.9)
+ h [b
m
f(t
i+1
, w
i+1
) + b
m1
f(t
i
, w
i
) + . . . + b
0
f(t
i+1m
, w
i+1m
)] ,
i = m1, m, ..., N 1,
onde m e um inteiro maior que um, os valores w
0
= , w
1
=
1
, . . . , w
m1
=
m1
sao conhecidos e
h =
b a
N
.
Uma vez que w
i+1
depende dos m valores w
i
, w
i1
, ..., w
i+1m
o metodo designa-se metodo de passo
m.
Num metodo de passo m e necessario conhecer as aproxima coes w
1
, w
2
, ..., w
m1
da solu cao exacta.
Para a determina cao destas aproxima coes deve ser utilizado um metodo de passo simples de ordem
igual ou superior ao metodo de passo m ultiplo.
Quando b
m
= 0 o metodo e dito explcito ou aberto, sendo w
i+1
dado explicitamente em termos de
aproxima coes anteriores ja determinadas.
Quando b
m
= 0 o metodo e chamado implcito ou fechado, uma vez que w
i+1
aparece em ambos os
lados da equa cao e e determinado de maneira implcita.
Exemplo 6.5
O metodo
_

_
w
0
= , w
1
=
1
, w
2
=
2
, w
3
=
3
w
i+1
= w
i
+
h
24
[55f(t
i
, w
i
) 59f(t
i1
, w
i1
) + 37f(t
i2
, w
i2
) 9f(t
i3
, w
i3
)]
i = 3, 4, ..., N 1
e um exemplo dum metodo explcito de passo 4 (metodo de Adams-Bashforth de passo 4)
6. Resolucao Numerica de Equacoes Diferenciais 124
Denicao 6.7 Se y e a solucao da equacao diferencial
_
y

(t) = f(t, y), t [a, b]


y(a) =
e
w
i+1
= a
m1
w
i
+ a
m2
w
i1
+ . . . + a
0
w
i+1m
+ h(t
i+1
, ..., t
i+1m
, w
i+1
, ..., w
i+1m
, h)
e um valor aproximado em t
i+1
obtido por um metodo de passo m
(w
0
= , w
1
=
1
, . . . , w
m1
=
m1
), o respectivo erro de truncatura local e

i+1
=
y(t
i+1
) w
i+1
h
, i = m1, m, ..., N 1, (6.10)
onde w
i+1
e calculado pelo metodo a partir dos valores exactos nos nodos anteriores a t
i+1
.
No que segue serao apresentados alguns metodos de passo m ultiplo explcitos bem como os respec-
tivos erros de truncatura local.
6.3.1 Metodos explcitos de Adams-Bashforth
Consideremos o metodo explcito de passo 2, metodo de Adams-Bashforth de passo 2,
_
w
0
= , w
1
=
1
w
i+1
= w
i
+ h[
1
2
f(t
i1
, w
i1
) +
3
2
f(t
i
, w
i
)] i = 1, 2, ..., N 1
e fa camos a sua dedu cao bem como do respectivo erro de truncatura local. Seja y(t) C
3
([a, b]) a
solu cao da equa cao diferencial
_
y

(t) = f(t, y), t [a, b]


y(a) =
e t
i
= a + ih, i = 0, 1, ..., N, com h =
ba
n
, uma malha do intervalo [a, b]. Entao,
_
t
i+1
t
i
y

(t)dt =
_
t
i+1
t
i
f(t, y(t))dt,
pelo que
y(t
i+1
) = y(t
i
) +
_
t
i+1
t
i
f(t, y(t))dt. (6.11)
Considere-se a aproxima cao da fun cao integranda pelo polinomio interpolador de grau menor ou igual
a 1, interpolador da fun cao f(t, y(t))) nos pontos
(t
i1
, f(t
i1
, y(t
i1
))), (t
i
, f(t
i
, y(t
i
))).
Tem-se, entao,
P(t) = f(t
i1
, y(t
i1
)) +
f(t
i1
, y(t
i1
))
h
(t t
i1
), (6.12)
6. Resolucao Numerica de Equacoes Diferenciais 125
com o erro
R(t) =
(t t
i1
)(t t
i
)
2
f

(
i
, y(
i
)), t
i1
<
i
< t
i
,
i
=
i
(t). (6.13)
Assim,
y(t
i+1
) = y(t
i
) +
_
t
i+1
t
i
P(t)dt +
_
t
i+1
t
i
R(t)dt
= y(t
i
) + hf(t
i1
, y(t
i1
)) +
f(t
i
, y(t
i
)) f(t
i1
, y(t
i1
))
h
3h
2
2
+
_
t
i+1
t
i
R(t)dt
= y(t
i
) + h
_
3
2
f(t
i
, y(t
i
))
1
2
f(t
i1
, y(t
i1
))
_
+
+
1
2
_
t
i+1
t
i
(t t
i1
)(t t
i
)f

(
i
, y(
i
))dt. (6.14)
Relembremos o teorema da media :
Teorema 6.4 Se f e uma funcao contnua em [a, b] e g e uma funcao que nao muda de sinal e integravel
em [a, b] entao, existe c ]a, b[ tal que
_
b
a
f(x)g(x)dx = f(c)
_
b
a
g(x)dx.
Uma vez que (t t
i
)(t t
i1
) nao muda de sinal em [t
i
, t
i+1
] existe
i
]t
i
, t
i+1
[ tal que
_
t
i+1
t
i
(t t
i1
)(t t
i
)f

(
i
, y(
i
))dt = f

(
i
, y(
i
))
_
t
i+1
t
i
(t t
i1
)(t t
i
)dt
=
5
6
h
3
f

(
i
, y(
i
)) =
5
6
h
3
y

(
i
). (6.15)
Das igualdades (6.11), (6.14) e (6.15) sai que
y(t
i+1
) = y(t
i
) + h[
1
2
f(t
i1
, y(t
i1
)) +
3
2
f(t
i
, y(t
i
))] +
5
12
h
3
y

(
i
).
donde
w
i+1
= w
i
+ h
_

1
2
f(t
i1
, w
i1
) +
3
2
f(t
i
, w
i
)
_
, i = 1, 2, ..., N 1.
Com vista `a determina cao do erro de truncatura local tem-se

i+1
=
5
12
h
2
y

(
i
)
Como estamos a admitir que y

e contnua tem-se
|
i+1
|
5M
3
12
h
2
= O(h
2
),
onde
|y

(t)| M
3
, t [a, b].
6. Resolucao Numerica de Equacoes Diferenciais 126
Podemos assim concluir que o metodo deduzido e de ordem 2, pois o erro de truncatura local e da
ordem de h
2
.
Por processo semelhante ao exposto se poderiam deduzir outros metodos explcitos dos quais salien-
tamos os seguintes:
- Metodo de Adams-Bashforth (passo 3)
_
w
0
=
0
= , w
1
=
1
, w
2
=
2
w
i+1
= w
i
+
h
12
[23f(t
i
, w
i
) 16f(t
i1
, w
i1
) + 5f(t
i2
, w
i2
)], i = 2, 3, ..., N 1
Erro de truncatura local

i+1
=
3
8
y
(4)
(
i
)h
3
,
i
]t
i2
, t
i+1
[, y C
4
([a, b])
- Metodo de Adams-Bashforth (passo 4)
_

_
w
0
=
0
= , w
1
=
1
, w
2
=
2
, w
3
=
3
w
i+1
= w
i
+
h
24
[55f(t
i
, w
i
) 59f(t
i1
, w
i1
) + 37f(t
i2
, w
i2
) 9f(t
i3
, w
i3
)]
i = 3, 4, ..., N 1
Erro de truncatura local

i+1
=
251
720
y
(5)
(
i
)h
4
,
i
]t
i3
, t
i+1
[, y C
5
([a, b])
- Metodo de Adams-Bashforth (passo 5)
_

_
w
0
=
0
= , w
1
=
1
, w
2
=
2
, w
3
=
3
, w
4
=
4
w
i+1
= w
i
+
h
720
[1901f(t
i
, w
i
) 2774f(t
i1
, w
i1
) + 2616f(t
i2
, w
i2
)]
+
h
720
[1274f(t
i3
, w
i3
) + 251f(t
i4
, w
i4
)], i = 4, 5, ..., N 1
Erro de truncatura local

i+1
=
95
288
y
(6)
(
i
)h
5
,
i
]t
i4
, t
i+1
[, y C
6
([a, b])
Exemplo 6.6 Consideremos novamente a equacao diferencial (6.6). Utilizando o metodo de Runge-
Kutta de ordem 4, com h = 0.1, para determinar as aproximacoes de y(t) nos nodos t
1
e t
2
obtem-se
as seguintes aproximacoes da solucao exacta da equac ao (6.6) utilizando o metodo de Adams-Bashforth
de passo 3 com h = 0.1:
t
i
w
i
|y(t
i
) w
i
|
0 1.0 0
0.1 1.0048375 0.82 10
7
0.2 1.0187309 0.1483 10
6
0.3 1.0407858 0.3241 10
4
0.4 1.0702644 0.5562 10
4
0.5 1.1064547 0.7593 10
4
0.6 1.1487201 0.9155 10
4
0.7 1.1964817 0.1036 10
3
0.8 1.2492164 0.1125 10
3
0.9 1.3064508 0.1188 10
3
1.0 1.3677565 0.1229 10
3
6. Resolucao Numerica de Equacoes Diferenciais 127
Tabela 6.3: Aproxima coes de y(t) obidas pelo metodo de Adams-Bashforth (passo 3)
0.2 0.4 0.6 0.8 1
1.05
1.1
1.15
1.2
1.25
1.3
1.35
Exacta
Aproximada
Figura 6.3: Solu cao aproximada da eq. (6.6) obtida pelo metodo de Adams-Bashforth (passo 3)
6.3.2 Metodos implcitos de Adams-Moulton
Se na igualdade
y(t
i+1
) = y(t
i
) +
_
t
i+1
t
i
f(t, y(t))dt
a fun cao f e aproximada por um polinomio interpolador num conjunto de pontos consecutivos que
incluem o nodo t
i+1
, obtemos os metodos implcitos de Adams-Moulton.
Vamos deduzir o metodo implcito de passo 2, metodo de Adams-Moulton de passo 2,
_
w
0
=
0
= , w
1
=
1
w
i+1
= w
i
+
h
12
[5f(t
i+1
, w
i+1
) + 8f(t
i
, w
i
) f(t
i1
, w
i1
)], i = 1, 2, ..., N 1
bem como o respectivo erro de truncatura local.
Considere-se o polinomio de grau 2 interpolador de f(t, y) nos pontos
(t
i1
, f(t
i1
, y(t
i1
))), (t
i
, f(t
i
, y(t
i
))) e (t
i+1
, f(t
i+1
, y(t
i+1
)))
P(t) = f(t
i1
, y(t
i1
)) +
f(t
i1
, y(t
i1
))
h
(t t
i1
) +

2
f(t
i1
, y(t
i1
))
2h
2
(t t
i1
)(t t
i
). (6.16)
Admitindo que y C
4
([a, b]) o erro sera
R(t) =
(t t
i1
)(t t
i
)(t t
i+1
)
3!
f

(
i
, y(
i
))
=
(t t
i1
)(t t
i
)(t t
i+1
)
3!
y
(4)
(
i
), t
i1
<
i
< t
i+1
,
i
=
i
(t). (6.17)
6. Resolucao Numerica de Equacoes Diferenciais 128
Assim,
_
t
i+1
t
i
f(t, y(t))dt =
_
t
i+1
t
i
P(t)dt +
_
t
i+1
t
i
R(t)dt.
Atendendo `a deni cao de diferen ca descendente de ordem 1 e 2 tem-se
_
t
i+1
t
i
f(t, y(t))dt =
h
12
[5f(t
i+1
, y(t
i+1
)) + 8f(t
i
, y(t
i
)) f(t
i1
, y(t
i1
))] +
_
t
i+1
t
i
R(t)dt (6.18)
Por outro lado, o integral
_
t
i+1
t
i
R(t)dt determina-se recorrendo novamente ao teorema 6.4. Com
efeito,
g(t) =
(t t
i1
)(t t
i
)(t t
i+1
)
3!
< 0, t [t
i
, t
i+1
]
e y
(4)
(t) e uma fun cao continua em [a, b], pelo que
1
3!
_
t
i+1
t
i
(t t
i+1
)(t t
i
)(t t
i1
)y
(4)
(
i
)dt =
y
(4)
(
i
)
3!
_
t
i+1
t
i
(t t
i+1
)(t t
i
)(t t
i1
)dt
=
1
24
h
4
y
(4)
(
i
) (6.19)
Das igualdades (6.18) e (6.19) vem
y(t
i+1
) = y(t
i
) +
_
t
i+1
t
i
P(t)dt +
_
t
i+1
t
i
R(t)dt
= y(t
i
) +
h
12
[5f(t
i+1
, y(t
i+1
)) + 8f(t
i
, y(t
i
)) f(t
i1
, y(t
i1
))]
1
24
h
4
y
(4)
(
i
),
donde
w
i+1
= w
i
+
h
12
[5f(t
i+1
, w
i+1
) + 8f(t
i
, w
i
) f(t
i1
, w
i1
)], i = 1, 2, ..., N 1
e o erro de truncatura local associado a cada uma das aproxima coes w
i+1
e

i+1
=
1
24
h
3
y
(4)
(
i
)
Como estamos a admitir que y
(4)
e contnua tem-se
|
i+1
|
M
4
24
h
3
= O(h
3
),
onde
|y
(4)
(t)| M
4
, t [a, b].
Podemos assim concluir que o metodo deduzido e de ordem 3, pois o erro de truncatura local e da
ordem de h
3
.
Por processo semelhante ao exposto se poderiam deduzir outros metodos explcitos dos quais salien-
tamos os seguintes:
- Metodo de Adams-Moulton (passo 2)
_
w
0
=
0
= , w
1
=
1
w
i+1
= w
i
+
h
12
[5f(t
i+1
, w
i+1
) + 8f(t
i
, w
i
) f(t
i1
, w
i1
)], i = 1, 2, ..., N 1
6. Resolucao Numerica de Equacoes Diferenciais 129
Erro de truncatura local

i+1
=
1
24
y
(4)
(
i
)h
3
,
i
]t
i1
, t
i+1
[, y C
4
([a, b])
- Metodo de Adams-Moulton (passo 3)
_

_
w
0
=
0
= , w
1
=
1
, w
2
=
2
w
i+1
= w
i
+
h
24
[9f(t
i+1
, w
i+1
) + 19f(t
i
, w
i
) 5f(t
i1
, w
i1
) + f(t
i2
, w
i2
)]
i = 2, 3, ..., N 1
Erro de truncatura local

i+1
=
19
720
y
(5)
(
i
)h
4
,
i
]t
i2
, t
i+1
[, y C
5
([a, b])
- Metodo de Adams-Moulton (passo 4)
_

_
w
0
=
0
= , w
1
=
1
, w
2
=
2
, w
3
=
3
w
i+1
= w
i
+
h
720
[251f(t
i+1
, w
i+1
) + 646f(t
i
, w
i
) 264f(t
i1
, w
i1
)]
+
h
720
[106f(t
i2
, w
i2
) 19f(t
i3
, w
i3
)], i = 3, 4, ..., N 1
Erro de truncatura local

i+1
=
3
160
y
(6)
(
i
)h
5
,
i
]t
i3
, t
i+1
[, y C
6
([a, b])
6.3.3 Metodo preditor corrector
Para se utilizar um metodo implcito no calculo do valor aproximado, w
i+1
, de y(t
i+1
) devemos come car
por resolver a equa cao `as diferen cas associada ao metodo em ordem a w
i+1
. No entanto, nem sempre e
possvel faze-lo e nem sempre a solu cao e unica.
Geralmente os metodos implcitos nao sao usados isoladamente mas em combina cao com um metodo
explcito, em tecnicas denominadas metodos preditores-correctores.
Por exemplo, recorrendo aos metodos de Adams, se e necess ario utilizar um metodo de ordem 4
para resolver uma equa cao diferencial come camos por escolher o metodo de Adams-Bashforth de ordem
4 (metodo preditor) e obtemos os valores inciais w
1
, w
2
e w
3
recorrendo a um metodo de passo simples
de ordem 4 (por exemplo metodo de Taylor de ordem 4 ou o metodo de Runge-Kutta de ordem 4).
O passo seguinte consiste na determina cao de w
(0)
4
, primeira aproxima cao de y(t
4
), usando o metodo de
Adams-Bashforth
w
(0)
4
= w
3
+
h
24
[55f(t
3
, w
3
) 59f(t
2
, w
2
) + 37f(t
1
, w
1
) 9f(t
0
, w
0
)]
Esta aproxima cao e entao utilizada no metodo de Adams-Moluton de ordem 4 (passo 3), para o calculo,
iterativamente, de novas aproxima coes de y(t
4
)
6. Resolucao Numerica de Equacoes Diferenciais 130
w
(1)
4
= w
3
+
h
24
[9f(t
4
, w
(0)
4
) + 19f(t
3
, w
3
) 5f(t
2
, w
2
) + f(t
1
, w
1
)]
repetindo o processo obtem-se
w
(k+1)
4
= w
3
+
h
24
[9f(t
4
, w
(k)
4
) + 19f(t
3
, w
3
) 5f(t
2
, w
2
) + f(t
1
, w
1
)], k = 0, 1, ...
Dum modo geral, obtem-se w
(0)
i+1
pelo metodo de Adams-Bashforth de ordem 4 e, atraves do metodo
implcito de Adams-Moulton, de ordem 4, calculamos novas aproxima coes de y(t
i+1
)
w
(k+1)
i+1
= w
i
+
h
24
[9f(t
i+1
, w
(k)
i+1
) + 19f(t
i
, w
i
) 5f(t
i1
, w
i1
) + f(t
i2
, w
i2
)], k = 0, 1, ..., k
0
O valor w
k
0
+1
i+1
sera considerada a aproxima cao de y(t
i+1
).
Exemplo 6.7 Considere-se a equacao diferencial
_
y

(t) = y(t) = f(t, y), t [0, 1]


y(0) = 1
(6.20)
Determine as aproximacoes de y(t) calculadas pelo metodo preditor-corrector, com h = 0.1, baseado nos
metodos de Adams-Bashforth e de Adams-Moulton de ordem 4. As aproximacoes iniciais sao calculadas
recorrendo ao metodo de Runge-Kutta de ordem 4 e vamos calcular uma iterada pelo metodo corrector.
Come camos por determinar as aproxima coes de y(t) nos pontos 0.1, 0.2 e 0.3. Para tal, vamos
utilizar o metodo de Runge-Kutta de ordem 4. Com efeito,
w
1
y(0.1) = 1.1051708
w
2
y(0.2) = 1.2214026
w
3
y(0.3) = 1.3498585
Usando as aproxima coes anteriormente calculadas estamos agora em condi coes de determinar aprox-
ima coes de y(t), nos restantes nodos da malha, utilizando o metodo preditor corrector.
Metodo preditor (Metodo de Adams-Bashforth de ordem 4)
w
(0)
4
= w
3
+
h
24
[55f(t
3
, w
3
) 59f(t
2
, w
2
) + 37f(t
1
, w
1
) 9f(t
0
, w
0
)]
= 1.3498585 +
0.1
24
[55 1.3498585 59 1.2214026 + 37 1.1051708 9 1]
= 1.4918201
Metodo corrector (Metodo de Adams-Moulton de ordem 4)
w
(1)
4
= w
3
+
h
24
[9f(t
4
, w
(0)
4
) + 19f(t
3
, w
3
) 5f(t
2
, w
2
) + f(t
1
, w
1
)]
= 1.3498585 +
0.1
24
[9 1.4918201 + 19 1.3498585 5 1.2214026 + 1.1051708]
= 1.4918252
6. Resolucao Numerica de Equacoes Diferenciais 131
Na tabela seguinte sao apresentadas as aproxima coes de y(t), t = 0.5 , 0.6, 0.7, 0.8, 0.9, 1.0,
calculadas pelos metodos de Adams de ordem 4 bem como o respectivo erro (y(t) = e
t
solu cao exacta
da equa cao diferencial (6.20)).
i t
i
Adams-Basforth Adams-Moulton
w
i
|w
i
y(t
i
)| w
(1)
i
|w
(1)
i
y(t
i
)|
4 0.4 1.4918201 0.458... 10
5
1.4918252 0.487... 10
6
5 0.5 1.6487110 0.102... 10
4
1.6487222 0.925... 10
6
6 0.6 1.8221021 0.167... 10
4
1.8221202 0.144... 10
5
7 0.7 2.0137283 0.244... 10
4
2.0137548 0.204... 10
5
8 0.8 2.2255072 0.336... 10
4
2.2255437 0.275... 10
5
9 0.9 2.4595585 0.445... 10
4
2.4596067 0.357... 10
5
10 1.0 2.7182244 0.573... 10
4
2.7182864 0.452... 10
5
Tabela 6.4: Metodo preditor-corrector
A vantagem dos metodo implctos sobre os explcitos deve-se ao facto do erro de truncatura local ser
menor. Alem disso, sao menos sensveis a erros de arredondamento pois os coecientes associados a cada
um dos valores f(t
i
, w
i
) sao menores. Por estas razoes os resultados obtidos pelos metodo implcitos
tem maior precisao do que os obtidos pelos metodos explcitos da mesma ordem.
6. Resolucao Numerica de Equacoes Diferenciais 132
BIBLIOGRAFIA 133
Bibliograa
[1] Blum, E. K. , Numerical Analysis and Computation - Theory and Practice, Addison-Wesley
Publishing Co., 1972
[2] Burden, R.; Faires, D.; Reynolds, A. , Numerical Analysis, Prindle, Weber & Schmidt, 1981
[3] Demidovitch, B.; Maron, I. , Elements de Calcul Numerique, Editions Mir, 1973
[4] Chapra,S.,Canale,R. Numerical Methods for Engineers, McGraw-Hill, 1990
[5] Freitas,A. Cesar , Introducao `a Analise Numerica, Estudos Gerais Universitarios de Mo cambique,
1968
[6] Hildebrand, F. B. , Introduction to Numerical Analysis, Tata McGraw-Hill Publishing Co., 1956
[7] Isaacson, E.; Keller, H. B. , Analysis of Numerical Methods,John Wiley & Sons, 1966
[8] Johnson, L. W., Riesz, R. D. , Numerical Analysis, Addison-Wesley, 1982
[9] Kreyszig, Erwin , Advanced Engineering Mathematics, John Wiley & Sons -1999
[10] Ledermann, W. , Handbook of Applicable Mathematics - Vol. III : Numerical Methods, John Wiley
& Sons, 1990
[11] Martins, M. F. , Introducao `a Analise Numerica I, Casa das Folhas, 1997
[12] Pina, H., Metodos Numericos, McGraw-Hill, 1995
[13] Rodrigues,J.A., Metodos Numericos-Introducao,Aplicacao e Programacao, Edi coes Slabo, 2003
[14] Scheid, F., Analise Numerica, McGraw-Hill, 1991
[15] Stoer, B., Introduction to Numerical Analysis, Springer-Verlag, 1980
[16] Valen ca, M. R., Metodos Numericos, Instituto Nacional de Investiga cao Cientca, 1988

Вам также может понравиться