Sei sulla pagina 1di 247

Introduo aos mtodos numricos

Doherty Andrade
doherty@uem.br
2010
ii
Indice
1 Alguns resultados bsicos 1
1.1 Revendo Clculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Revendo lgebra Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Ponto Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Erros 15
2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Aritmtica de ponto utuante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Erro absoluto e erro relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Dgitos Signicativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 Propagao de Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Condicionamento e Estabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Equaes no lineares 27
3.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 O mtodo da bisseco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Usando Maple: o mtodo da bisseco . . . . . . . . . . . . . . . . . . . . . . . 30
3.4 Mtodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5 O mtodo do ponto xo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6 Usando Maple: o mtodo do ponto xo . . . . . . . . . . . . . . . . . . . . . . 37
3.7 O mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.8 Usando Maple: o mtodo do Newton-Raphson . . . . . . . . . . . . . . . . . . 42
3.9 O mtodo da secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.10 Usando Maple: o mtodo da secante . . . . . . . . . . . . . . . . . . . . . . . . 46
3.11 Como escolher o melhor mtodo . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.12 O Mtodo de Newton-Raphson para razes mltiplas . . . . . . . . . . . . . . 47
3.13 Razes de polinmios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.14 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4 Sistemas lineares: mtodos diretos 57
4.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 O mtodo de eliminao de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . 58
iii
iv
4.3 Usando Maple: sistema triangular . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4 Estratgias de pivoteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.5 Usando Maple: o mtodo de eliminao de Gauss . . . . . . . . . . . . . . . . 65
4.6 Decomposio LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.7 Usando Maple: decomposio LU . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.8 Decomposio Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.9 O Algoritmo para a decomposio Cholesky . . . . . . . . . . . . . . . . . . . 73
4.10 Usando Maple: decomposio Cholesky . . . . . . . . . . . . . . . . . . . . . . 76
4.11 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5 Sistemas lineares: mtodos iterativos 81
5.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 O mtodo de Gauss-Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.3 O mtodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4 Estudo da convergncia dos mtodos iterativos . . . . . . . . . . . . . . . . . 93
5.5 Usando Maple: o mtodo de Gauss-Jacobi . . . . . . . . . . . . . . . . . . . . 96
5.6 Usando Maple: o mtodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . 96
5.7 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Sistemas de equaes no lineares 99
6.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 O mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3 Caso Particular: F = ( f , g) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.4 Usando Maple: o mtodo Newton-Raphson . . . . . . . . . . . . . . . . . . . 104
6.5 O mtodo do ponto Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.6 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7 Interpolao Polinomial 107
7.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.2 Existncia do polinmio interpolador . . . . . . . . . . . . . . . . . . . . . . . 108
7.3 Mtodos de Interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.4 Usando Maple: o mtodo de Lagrange . . . . . . . . . . . . . . . . . . . . . . 112
7.5 O Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.6 Usando Maple: interpolao pelo mtodo de Newton . . . . . . . . . . . . . . 119
7.7 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.8 O Fenmeno Runge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.9 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8 Aproximao por quadrados mnimos 129
8.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.2 Caso discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.3 Caso contnuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.4 Usando Maple: O mtodo dos quadrados mnimos contnuo . . . . . . . . . . 138
D. Andrade Clculo Numrico v
8.5 Polinmios ortogonais e o mtodo dos quadrados mnimos . . . . . . . . . . 139
8.6 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9 Integrao Numrica 147
9.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.2 Frmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.3 Regra dos Trapzios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
9.4 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.5 Frmulas compostas: Trapzios e Simpson . . . . . . . . . . . . . . . . . . . . 151
9.6 Usando Maple: regras dos trapzios e Simpson . . . . . . . . . . . . . . . . . 153
9.7 Quadraturas de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.8 Usando Maple: quadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . 165
9.9 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10 Mtodos numricos para EDOs 169
10.1 Introduo s EDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
10.2 O mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
10.3 O mtodo de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
10.4 Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
10.5 Mtodos numricos para EDOs: Multistep . . . . . . . . . . . . . . . . . . . . 186
10.6 Usando Maple: mtodos para EDOS . . . . . . . . . . . . . . . . . . . . . . . . 190
10.7 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
11 Problemas de Fronteira 197
11.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.2 Problemas de valor de fronteira de ordem 2 . . . . . . . . . . . . . . . . . . . 197
11.3 O mtodo das diferenas nitas . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
11.4 Mtodo do shooting linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
11.5 Usando Maple: Sturm-Liouville . . . . . . . . . . . . . . . . . . . . . . . . . . 208
11.6 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12 Mtodo das diferenas nitas para EDPS 211
12.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.2 Exemplos de EDPs mais comuns . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.3 Condies de contorno e iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . 212
12.4 EDPs lineares de segunda ordem . . . . . . . . . . . . . . . . . . . . . . . . . 213
12.5 Equao de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
12.6 A equao do calor unidimensional . . . . . . . . . . . . . . . . . . . . . . . . 220
12.7 Equao da onda unidimensional: um caso simples . . . . . . . . . . . . . . . 228
12.8 A equao da onda unidimensional: complicando um pouquinho mais . . . 231
vi
c _2000, 2002, 2004, 2006, 2008, 2010 Doherty Andrade
All rights reserved.
Este texto pode ser livremente distribudo para ns educacionais, mas nunca modicado.
Este texto pode ser livremente distribudo para ns educacionais, mas nunca modicado. O autor no pode
ser responsabilizado por eventuais erros ou imprecises contidos no texto ou nos procedimentos em cdigo
Maple apresentados nele. Os procedimentos em cdigo Maple apresentados aqui no texto so apenas para ns
didticos e para auxiliar a compreenso da teoria, estes foram testados com cuidado mas no h garantias de
utilizao para todos os ns. O autor no oferece qualquer garantia sobre os procedimentos e suas aplicaes.
Introduo
Esse texto destinado a um curso introdutrio aos mtodos numricos. indicado para
estudantes de engenharias, matemtica, cincia da computao, fsica e cincias exatas em
geral.
Procuramos facilitar o entendimento dos mtodos incluindo uma grande variedade de ex-
emplos e exerccios. Alm disso, apresentamos cdigos em Maple para os mtodos numri-
cos mais comuns. Esses cdigos permitem ao estudante se familiarizar com o software
e realizar novos exemplos ou experimentar os exemplos apresentados com novas aproxi-
maes iniciais, com outra tolerncia ou outro passo.
A nfase nesse texto a compreenso dos mtodos, isto , por que os mtodos apresentados
funcionam. As demonstraes explicam porque os mtodos funcionam, sem esse entendi-
mento o aproveitamento desse material ca prejudicado. Ao estudante que sentir alguma
diculdade com as justicativas ou demonstraes, sugerimos passar adiante e quando se
sentir seguro e com mais maturidade deve retornar a elas.
vii
viii
1
Alguns resultados bsicos
Neste captulo apresentamos os principais resultados necessrios para o desenvolvimento
do texto.
1.1 Revendo Clculo
Sequncias
Uma sequncia (innita) de nmeros reais uma funo cujo domnio o conjunto dos
nmeros naturais:
x : N R.
usual representar a imagem x(n) por x
n
. Tambm usual representar uma sequncia por
(x
1
, x
2
, x
3
, . . . , x
n
, . . .) ou resumidamente por (x
n
).
Uma subsequncia de uma sequncia (x
n
) a restrio de (x
n
) a um subconjunto innito
N

de N.
Dizemos que a sequncia (x
n
) :
(a) limitada superiormente se existe M R tal que x
n
M, n.
(b) limitada inferiormente se existe m R tal que m x
n
, n.
(c) limitada se existe K 0 tal que [x
n
[ K, n.
Dizemos a uma sequncia (x
n
) converge para o nmero real L, se a diferena [x
n
L[,
a partir de algum ndice n
0
, puder ser feita to pequena quanto desejado. Em termos
matemticos, dizemos isto com a seguinte denio:
1
2
Dizemos que a sequncia (x
n
) converge para o nmero real L, se dado um nmero > 0
qualquer existe um nmero natural n
0
tal que
[x
n
L[ < , n n
0
.
Usamos as notaes
lim
n
x
n
= L ou x
n
L,
para dizer que a sequncia (x
n
) converge para L.
Se a sequncia no convergente, dizemos que a sequncia divergente.
Dizemos que a sequncia (x
n
) crescente se verica x
n
x
n+1
para todo n 1 natural.
Dizemos que a sequncia (x
n
) decrescente se verica x
n
x
n+1
para todo n 1 natural.
Chamamos de sequncia montona toda sequncia que crescente ou decrescente.
O seguinte resultado estabelece uma relao entre os conceitos de sequncia montona e
sequncia convergente.
Teorema 1.1.1 Toda sequncia montona e limitada convergente.
Uma sequncia chamada sequncia de Cauchy se a partir de algum ndice n
0
os seus
termos esto to prximos, entre si, quanto desejado. Em termos matemticos, dizemos
que uma sequncia (x
n
) de Cauchy se dado > 0 existe n
0
natural tal que se m, n n
0
ento tem-se
[x
n
x
m
[ < .
Lema 1.1.2 Toda sequncia de Cauchy limitada.
Lema 1.1.3 Toda sequncia convergente de Cauchy.
Teorema 1.1.4 Em R toda sequncia de Cauchy convergente.
Denio 1.1.5 (Pontos de acumulao) Seja X R. Dizemos que um ponto a R um ponto
de acumulao do conjunto X quando todo intervalo de centro a contem algum ponto de X, diferente
de a. Em outras palavras,
> 0, x X; 0 < [x a[ < .
O conjunto de todos os pontos de acumulao de X ser denotado por X

, chamado o
derivado do conjunto X.
Um ponto que no de acumulao chamado isolado.
O conceito de ponto acumulao para X R
n
anlogo.
Teorema 1.1.6 Seja X R e a R. So equivalentes:
a) a ponto de acumulao de X.
b) existe uma sequncia (x
k
) de pontos de X, como x
k
,= a, tal que limx
k
= a.
c) todo intervalo aberto de centro a contm uma innidade de pontos de X.
D. Andrade Clculo Numrico 3
Limite de funes
Teorema 1.1.7 Seja f : X R R e a um ponto de acumulao de X. Ento,
lim
xa
f (x) = b
se, e somente se, para todo > 0, existe > 0 tal que
0 < [x a[ < , x X
implica que
[ f (x) b[ < .
Teorema 1.1.8 (Teorema do Confronto ou Sanduche) Seja f , g, h : X R e a ponto de acu-
mulao de X. Suponha que f (x) g(x) h(x), x X. Se lim
xa
f (x) = lim
xa
h(x) = L, ento
lim
xa
g(x) = L.
Seja X R. Dizemos que a um ponto aderente a X se existe uma sequncia (x
n
) de
pontos de X que converge para a. Dizemos que o conjunto X fechado se contm todos os
seus pontos de aderncia.
Ao conjunto de todos os pontos de aderncia de X chamamos de o fecho de X e denotamos
por X. Note que todo ponto de acumulao de X tambm um ponto de aderncia de X.
Um conjunto X R dito compacto, se for limitado e fechado. Os intervalos [a, b] so
conjuntos compactos de R.
Funes contnuas
Denio 1.1.9
1
Seja f : X R R. Dizemos que f contnua em a X quando
> 0, > 0; [x a[ < , x X [ f (x) f (a)[ < .
Ou equivalentemente, dizemos que f contnua em a quando
a) f est denida em a, e
b) lim
xa
f (x) = f (a).
Teorema 1.1.10 (Teorema do valor intermedirio) Seja f : [a, b] R contnua tal que f (a) <
0 < f (b). Ento, existe c (a, b) tal que f (c) = 0.
Seja f : X X. Se existe c X tal que f (c) = c dizemos que c um ponto xo para f .
Teorema 1.1.11 Toda aplicao contnua f : [a, b] [a, b] tem pelo menos um ponto xo.
1
aqui supe-se implicitamente que a X seja um ponto de acumulao de X.
4
-1
0
1
2
3
0.6 0.8 1 1.2 1.4 1.6 1.8 2
x
TVI
Figura 1.1.1: Ilustrao do Teorema do valor intermedirio
Demonstrao: Dena a seguinte aplicao g : [a, b] R dada por g(x) = f (x) x. Assim
g mede a distncia orientada entre x e sua imagem f (x). Um ponto xo de f um ponto x
onde g(x) = 0. Se um dos extremos do intervalo ponto xo nada temos a provar. Ento
suponha que nenhum deles seja ponto xo. Como f (a) e f (b) esto no intervalo [a, b] segue
que a < f (a) e f (b) < b e portanto g(a) > 0 e g(b) < 0. Como g contnua, existe x
0
[a, b]
tal que g(x
0
) = 0 e portanto f (x
0
) = x
0
.
Denio 1.1.12 Seja f : X R uma funo. Dizemos que f uniformemente contnua sobre X
se para todo > 0, existe > 0 tal que se [x y[ < e x, y X, ento
[ f (x) f (y)[ < .
A denio diz que o mesmo serve para cada par de pontos x, y X.
Teorema 1.1.13 Seja f : [a, b] R uma funo contnua. Ento, f uniformemente contnua
sobre [a, b].
Funes derivveis
Dizemos que f : R R derivvel em x, e sua derivada f

(x), se
f

(x) = lim
h0
f (x + h) f (x)
h
se o limite existe.
Se f

(x) existe para todo x do seu domnio, dizemos que f derivvel.


D. Andrade Clculo Numrico 5
Teorema 1.1.14 Se f tem derivada em x = a, ento f contnua em x = a.
Teorema 1.1.15 (Teorema de Rolle) Seja f : [a, b] R contnua e derivvel em (a, b). Se
f (a) = f (b) = 0, ento existe x
0
(a, b) tal que f

(x
0
) = 0.
Outra verso do Teorema de Rolle dada a seguir, onde a condio f (a) = f (b) = 0
retirada.
Teorema 1.1.16 (Teorema de Rolle) Seja f : [a, b] R contnua e derivvel em (a, b). Se
f (a) = f (b), ento existe x
0
(a, b) tal que f

(x
0
) = 0.
Existe uma verso mais geral do Teorema de Rolle, que apresentamos a seguir, cuja prova
pode ser feita por induo.
Teorema 1.1.17 Seja f : [a, b] R contnua e n vezes derivvel em (a, b). Se existem x
0
, x
1
, . . . , x
n
pontos em [a, b] tais que f (x
i
) = 0, i = 0, 1, . . . , n, ento existe c (a, b) tal que f
(n)
(c) = 0.
Teorema 1.1.18 (Valor Mdio) Seja f : [a, b] R contnua e derivvel em (a, b). Existe c
(a, b) tal que
f

(c) =
f (b) f (a)
b a
.
Integrais
Teorema 1.1.19 (Primeiro teorema fundamental) Seja f : [a, b] R contnua e F uma primi-
tiva de f em [a, b]. Ento,
_
b
a
f (x)dx = F(b) F(a).
Teorema 1.1.20 (Segundo teorema fundamental) Seja f : [a, b] R contnua e x (a, b).
Ento,
d
dx
_
x
a
f (t)dt = f (x).
Teorema 1.1.21 (Teorema do valor Mdio para integrais) Seja f : [a, b] R contnua e g :
[a, b] R integrvel que no muda de sinal em (a, b). Ento, existe c (a, b) tal que
_
b
a
f (x)g(x)dx = f (c)
_
b
a
g(x)dx.
Teorema de Taylor
Seja f : I R uma funo n vezes derivvel. O n-simo polinmio de Taylor de f no ponto
a I o polinmio p(x) =
n

0
f
(k)
(a)
k!
(x a)
k
de grau menor do que ou igual a n. Note que
p
(k)
(a) = f
(k)
(a).
6
Teorema 1.1.22 (Taylor com resto innitesimal) Seja f : I R n vezes derivvel no ponto
a I. A funao denida por r : J R onde J o intervalo
J = h R; a + h I
pela igualdade
f (a + h) = f (a) +
f

(a)
1!
h + +
f
(n)
(a)
n!
h
n
+ r(h)
satisfaz
lim
h0
r(h)
h
n
= 0.
Reciprocamente, se p(h) um polinmio de grau n tal que r(h) = f (h) p(h) cumpre
lim
h0
r(h)
h
n
= 0,
ento p(h) o polinmio de Taylor de f em a.
Teorema 1.1.23 (Taylor com resto de Lagrange) Seja f : [a, b] R n vezes derivvel em (a, b)
com f
(n1)
contnua em [a, b]. Existe c (a, b) tal que
f (b) = f (a) +
f

(a)
1!
(b a) + +
f
(n1)
(a)
(n 1)!
(b a)
n
+
f
(n)
(c)
n!
(b a)
n
Teorema 1.1.24 (Taylor com resto integral) Se f : I R possui a n + 1- sima derivada con-
tnua no intervalo de extremos a e a + h pertencentes a I, ento
f (a + h) = f (a) +
f

(a)
1!
h + +
f
(n)
(a)
n!
h
n
+
_
1
0
(1 t)
n
n!
f
(n+1)
(a + th)h
n+1
dt.
Teorema de Taylor para funes de vrias variveis
Agora vejamos o caso f : U R
n
R
m
. Vamos no xar, por razes bvias a m = 1. Para
simplicar tomemos n = 2. Seja P(a, b) e H = (h, k) tal que P + tH U onde t [0, 1].
Seja
g(t) = f (P + tH) = f (a + th, b + tk).
Se g tem n derivadas contnuas, ento
g(t) = g(0) +
g

(0)
1!
t + +
g
(n1)
(0)
(n 1)!
t
n1
+
g
(n)
()
n!
t
n
.
Pela Regra da cadeia, temos
g

(t) = (H ) f (P + tH).
D. Andrade Clculo Numrico 7
e
g
(2)
(t) = (H )
2
f (P + tH).
Em geral,
g
(k)
(t) = (H )
k
f (P + tH).
Teorema 1.1.25 (Taylor para n variveis) Seja f : U R
n
R denida no aberto U e tendo
derivadas parciais contnuas at ordem n. Ento, existe entre 0 e 1 tal que
f (P + H) = f (P) + (H ) f (P) + +
(H )
n1
(n 1)!
f (P) +
(H )
n
n!
f (P + H).
No caso de duas variveis, a frmula de Taylor ca:
f (a + h, b + k) = f (a, b) +
_
h

x
+ k

y
_
f (a, b)
+
1
2!
_
h

x
+ k

y
_
2
f (a, b)
+ +
1
(n 1)!
_
h

x
+ k

y
_
n1
f (a, b)
+
1
n!
_
h

x
+ k

y
_
n
f (a + h, b + k)
Jacobiana e Hessiana
Lembramos que a derivada de F : R
n
R
m
dada por
F(x
1
, x
2
, . . . , x
n
) = ( f
1
(x
1
, x
2
, . . . , x
n
), f
2
(x
1
, x
2
, . . . , x
n
), . . . , f
m
(x
1
, x
2
, . . . , x
n
))
a matriz Jacobiana de F
JF(X) =
_

_
f
1
x
1
f
1
x
2
. . .
f
1
x
n
f
2
x
1
f
2
x
2
. . .
f
2
x
n
. . . . . . . . . . . .
f
m
x
1
f
m
x
2
. . .
f
m
x
n
_

_
.
A matriz Hessiana de f : R
n
R a matriz simtrica de ordem n dada por
Hf (X) =
_

2
f
x
2
1

2
f
x
1
x
2
. . .

2
f
x
1
x
n

2
f
x
2
x
1

2
x
2
2
. . .

2
f
x
2
x
n
. . . . . . . . . . . .

2
f
x
n
x
1

2
f
x
n
x
2
. . .

2
f
x
2
n
_

_
.
8
Mximos e Mnimos
Denio 1.1.26 Seja f : I R e x
0
I. Dizemos que x
0
ponto de mximo absoluto de f em I,
se f (x) f (x
0
), para todo x I. Nesse caso, f (x
0
) o valor mximo absoluto de f .
Dizemos que x
0
ponto de mnimo absoluto de f em I, se f (x
0
) f (x), para todo x I. Nesse
caso, f (x
0
) o valor mnimo absoluto de f .
Denio 1.1.27 Seja f : I R e x
0
X. Dizemos que x
0
ponto de mximo local de f em I,
se existe um intervalo aberto J I tal que f (x) f (x
0
), para todo x J. Nesse caso, f (x
0
) um
valor mximo local de f .
Dizemos que x
0
ponto de mnimo local de f em I, se existe um intervalo aberto J I tal que
f (x
0
) f (x), para todo x J. Nesse caso, f (x
0
) um valor mnimo local de f .
Mximos e mnimos absolutos tambm so chamados de extremos globais e mximos e
mnimos locais so chamados de extremos locais.
Teorema 1.1.28 Seja f : [a, b] R contnua e derivvel em (a, b). Suponha que f assume seu
valor mximo em x
0
(a, b). Ento, f

(x
0
) = 0.
Um resultado anlogo vale quando f assume o seu mnimo em algum ponto do interior do
domnio. Se f assume mximo ou mnimo no interior de seu domnio, ento a derivada se
anula nesses pontos.
Um ponto x
0
tal que f

(x
0
) = 0 chamado de ponto crtico de f .
Como vimos acima no teorema 1.1.28, os pontos de mximo e mnimo locais de uma funo
so pontos crticos. Mas existem pontos crticos que no so pontos de mximo ou mnimo
locais. Esse pontos so chamados pontos de inexo, a funo f (x) = x
3
tem em x = 0 um
ponto de inexo.
Teorema 1.1.29 (Teste da derivada segunda) Seja f : [a, b] R uma funo contnua em [a, b]
e duas vezes derivvel em (a, b). Seja c (a, b) um ponto crtico de f .
a) Se f

(c) < 0, ento f tem um mximo local em x = c.


b) Se f

(c) > 0, ento f tem um mnimo local em x = c.


Teorema 1.1.30 (Teste da derivada segunda) Seja f : U R
2
R de classe C
2
e (x
0
, y
0
) U
um ponto crtico de f .
a) Se o determinante da matriz Hessiana H(x
0
, y
0
) > 0 e

2
f (x
0
, y
0
)
x
2
> 0, ento (x
0
, y
0
) ponto
de mnimo local.
b) Se o determinante da matriz Hessiana H(x
0
, y
0
) > 0 e

2
f (x
0
, y
0
)
x
2
< 0, ento (x
0
, y
0
) ponto
de mximo local.
c) Se o determinante da matriz Hessiana H(x
0
, y
0
) < 0, ento (x
0
, y
0
) ponto de sela.
D. Andrade Clculo Numrico 9
1.2 Revendo lgebra Linear
Vamos denotar por R
n
o espao vetorial real de dimenso n cujos elementos so

v =
(x
1
, x
2
, . . . , x
n
), onde x
i
R. Vamos representar

v simplemente por v.
Outros exemplos de espaos vetoriais reais (com as operaes usuais):
(a) o espao /
mn
das matrizes reais de dimenso mn. Esse espao tem dimenso mn.
(b) o espao dos polinmios com coecientes reais p(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
de grau menor do que ou igual a n. Esse espao tem dimenso n + 1.
(b) o espao das funes contnuas f : [a, b] R. Esse espao tem dimenso innita.
Sistemas lineares
Uma equao linear nas variveis x
1
, x
2
, . . . , x
n
uma equao da forma
a
1
x
1
+ a
2
x
2
+ a
3
x
3
+ + a
n
x
n
= b
onde os nmeros a
1
, . . . , a
n
R so os coecientes da equao linear e b R o termo
constante.
Uma n-upla (s
1
, s
2
, . . . , s
n
) R
n
uma soluo da equao se substituindo os nmeros s
1
,
. . . , s
n
nas variveis torna a igualdade verdadeira: a
1
s
1
+ a
2
s
2
+ . . . + a
n
s
n
= b.
Um sistema de equaes lineares um conjunto de equaes lineares
a
1,1
x
1
+ a
1,2
x
2
+ + a
1,n
x
n
= b
1
a
2,1
x
1
+ a
2,2
x
2
+ + a
2,n
x
n
= b
2
.
.
.
.
.
.
.
.
.
.
.
.
a
m,1
x
1
+ a
m,2
x
2
+ + a
m,n
x
n
= b
m
tem soluo (s
1
, s
2
, . . . , s
n
) se a n-upla uma soluo de todas as equaes do sistema. Se
os elementos b
i
= 0, i = 1, 2, . . . , m, o sistema chamado de sistema homogneo.
O sistema de equaes lineares acima pode ser reescrito na forma matricial
_

_
a
1,1
a
1,2
a
1,n
a
2,1
a
2,2
a
2,n
.
.
.
.
.
.
a
m,1
a
m,2
a
m,n
_

_
_

_
x
1
x
2
.
.
.
x
n
_

_
=
_

_
b
1
b
2
.
.
.
b
m
_

_
A matriz dada por
_

_
a
1,1
a
1,2
a
1,n
b
1
a
2,1
a
2,2
a
2,n
b
2
.
.
.
.
.
.
.
.
.
a
m,1
a
m,2
a
m,n
b
m
_

_
10
chamada de matriz ampliada do sistema.
Determinar o conjunto de todas as solues resolver o sistema. Um dos mtodos utilizados
para resolver um sistema de equaes lineares emprega operaes elementares sobre as
linhas (ou colunas) da matriz ampliada do sistema.
Operaes elementares
So operaes elementares:
(a) Uma linha L
i
pode ser substituda pela linha L
i
multiplicada por uma constante k ,= 0.
Indicamos essa operao por
L
i
kL
i
.
(b) A linha L
i
pode ser substituda pela soma da linha L
i
a com a linha L
j
.
Indicamos essa operao por
L
i
L
i
+ L
j
.
(c) A linha L
i
pode ser permutada com a linha L
j
.
Indicamos essa operao por
L
i
L
j
.
A utilizao adequada dessas propriedades permite obter sistemas lineares equivalentes
mais simples de serem resolvidos. At mesmo o determinante de uma matriz pode ser
obtido via operaoes elementares.
Dizemos que uma matriz quadrada L = (l
ij
) de ordem n n triangular inferior se l
ij
= 0
para todo i = 1, 2, . . . , j 1.
Dizemos que uma matriz quadrada U = (u
ij
) de ordem n n triangular superior se
u
ij
= 0 para todo i = j + 1, j + 2, . . . , n.
Uma matriz quadrada A chamada no-singular (ou invertvel) se existe uma matriz B tal
que AB = BA = I. A matriz B chamada de a matriz inversa de A, denotada por A
1
.
Uma matriz que no admite inversa chamada de singular.
Teorema 1.2.1 Seja A uma matriz no-singular. As propriedades valem:
(a) A inversa nica;
(b) A
1
no-singular e
_
A
1
_
1
= A;
(c) Se B tambm no-singular, ento (AB)
1
= B
1
A
1
.
A transposta de uma matriz A = (a
ij
) de ordem n m a matriz B = (b
ij
) de ordem mn
tal que b
ij
= a
ji
. A transposta de A denotada por A

.
Uma matriz quadrada A dita simtrica se A = A

.
Determinantes
O determinante de uma matriz quadrada A = (a
ij
) de dimenso n n denido por
det A =

sgn()a
1(1)
a
2(2)
. . . a
n(n)
,
D. Andrade Clculo Numrico 11
onde a soma estendida a todas as n! permutaoes no conjunto 1, 2, . . . , n e sgn() o
sinal da permutao .
Note que da denio acima que em cada fator a
1(1)
a
2(2)
. . . a
n(n)
h apenas um elemento
de cada linha e um nico elemento de cada coluna.
Matriz de Vandermonde
Dados x
1
, x
2
, . . . , x
n
a matriz de Vandermonde uma matriz quadrada de ordem n dada
por
V =
_

_
1 x
1
x
n1
1
1 x
2
x
n1
2
.
.
.
.
.
.
1 x
n
x
n1
n
_

_
O determinante de uma matriz de Vandermonde tem uma forma simples
det V =

i,j, i>j
(x
i
x
j
).
Note que se os pontos x
1
, x
2
, . . . , x
n
forem distintos, ento det V ,= 0. Essa matriz aparece
no mtodo dos quadrados mnimos e em interpolao.
Dada uma matriz quadrada A
nn
, para cada k = 1, 2, . . . , n 1, retirando-se de A as
primeiras k linhas e colunas obtemos uma nova matriz A
k
denominada submatriz prin-
cipal de A.
1.3 Ponto Fixo
Seja f : X X uma aplicao. Dizemos que f tem um ponto xo x X se x tal que
f (x) = x.
Seja (X, d) um espao mtrico. Dizemos que f : X X uma contrao se existe 0 K < 1
tal que
d( f (x), f (y)) Kd(x, y), x, y X.
fcil ver que toda contrao aplicao uniformemente contnua. O seguinte teorema
garante a existncia de um nico ponto xo para as contraes.
Teorema 1.3.1 (Ponto Fixo das Contraes) Seja (X, d) um espao mtrico completo e f : X
X uma contrao. Ento, f tem um nico ponto xo. Alm disso, a sequncia gerada pelo esquema
iterativo dado por
x
0
X, x
n+1
= f (x
n
), n 0
converge para o nico ponto xo de f .
Embora esse resultado seja enunciado aqui na sua forma mais geral, para aplicaes em
disciplina da graduao, uma simplicao suciente. o que faremos a seguir, em que
usaremos um resultado bem conhecido.
12
Teorema 1.3.2 (Princpio Min-Max) uma aplicao contnua T a valores reais e denida em um
conjunto no vazio, limitado e fechado do R
n
, assume o seu valor mximo e o seu valor mnimo.
Teorema 1.3.3 (Princpio da Contrao em R
n
) Seja C subconjunto no vazio, limitado e fechado
do R
n
e T : C C uma contrao. Ento, T tem um nico ponto xo em C. Isto , existe x
0
C
tal que T(x
0
) = x
0
.
Demonstrao: Dena a plicao f : C R dada por f (x) = |x T(x)|. Note que os
zeros de f so precisamente os pontos xos de T. Observamos que
[ f (x) f (y)[ (1 + k)|x y|
e assim f uniformemente contnua.
Notamos tambm que
f (T(x)) = |T(x) T(T(x))| k|x T(x)| = k f (x), x.
Como C limitado e fechado, o princpio Min-Max garante a existncia de p C tais que
f (p) f (x), x C.
Em particular, f (p) f (T(p)) e portanto,
f (p) f (T(p)) k f (p).
Como k < 1 segue que f (p) = 0 e portanto T(p) = p.
Exerccio 1.3.4
Seja f : [a, b] R contnua e duas vezes continuamente derivvel em [a, b]. Seja x a nica
raiz de f em (a, b). Mostre que o mtodo denido por
x
n+1
= g(x
n
), g(x) = x
f (x)
f

(x)
g uma contrao em alguma vizinhana de x.
Sugesto: Verique que g

( x) = 0 e assim existe uma vizinhana de x em que [g

(x)[ k <
1.
1.4 Resumo do captulo
Neste captulo apresentamos os principais resultados tericos que sero necessrios
para a compreenso dos mtodos apresentados no texto. Dentre os resultados apresentados
destacamos:
D. Andrade Clculo Numrico 13
1. Convergncia de sequncias;
2. Teorema do valor intermedirio;
3. Teorema do ponto xo;
4. Teorema do valor mdio;
5. Teorema de Taylor;
6. Operaes elementares em matrizes.
14
2
Erros
2.1 Introduo
No trabalho com mtodos numricos importante saber que a soluo numrica no
soluo exata. Portanto, necessrio conhecer o quanto a soluo obtida por meio desses
mtodos est prxima da soluo exata.
A soluo numrica uma mera aproximao do valor real, no tem valor se no vier
acompanhada de alguma informao sobre o seu erro. preciso ter uma ideia a respeito
da distncia entre o valor exato e a aproximao considerada. Em resumo, preciso ter
alguma informao sobre a qualidade da aproximao.
Essa qualidade pode ser expressa pelo erro absoluto ou pelo erro relativo. A preciso da
soluo numrica pode ser melhorada de vrias maneiras e esses conceitos nos ajudaro
muito nessa tarefa.
2.2 Aritmtica de ponto utuante
Um sistema de aritmtica de ponto utuante, representado por F(, t, e
min
, e
max
), um
subconjunto dos nmeros reais F R cujos elementos tem a forma:
y =
_
d
1

1
+
d
2

2
+
d
3

3
+ +
d
t

t
_

e
= (.d
1
d
2
d
3
...d
t
)
e
,
onde 0 d
i
< , i = 1, 2, . . . , t.
A aritmtica de ponto utuante F caracterizada por quatro nmeros inteiros: base
(binria, decimal, hexadecimal e etc..); a preciso t (nmero de algarismos da mantissa
aparece depois do ponto); variao do expoente e, inteiro tal que e
min
e e
max
).
15
16
Todo computador utiliza algum sistema de aritmtica de ponto utuante para operar com
nmeros. A m de facilitar a interao com o usurio, aps os clculos utilizando a base
os resultados so apresentados em base 10.
Vejamos algumas mquinas e seus sistemas de aritmtica de ponto utuante
1
.
Sistema t e
min
e
max
IEEE SP 2 24 -126 127
IEEE DP 2 53 -1022 1023
Cray 2 48 -16383 16384
Calculadora HP 10 12 -499 499
IBM 16 6 -64 63
A mantissa fracionria nesta representao, menor do que 1. A m de assegurar unicidade
para a representao para cada y F, faz-se uma normalizao no sistema de forma que
d
1
,= 0 para y ,= 0. Um nmero x representado no sistema de aritmtica de ponto utuante
denotado por f l(x).
Com a normalizao no sistema de ponto utuante, exige-se que d
1
,= 0, para obter unici-
dade na representao, mas infelizmente esta restrio torna impossvel representar o zero
de modo que este acrescido ao sistema. Uma maneira natural de representar o zero com
o menor expoente possvel da mquina 0.1
e
min
. A escolha de uma representao para
o zero como sendo uma mantissa nula no a melhor, pois isto pode acarretar perdas de
dgitos signicativos corretos em operaes.
Um sistema de aritmtica de ponto utuante um conjunto nito e discreto. A quantidad-
ede nmeros normalizados em um tal sistema igual a
2( 1)
t1
(e
max
e
min
+ 1) + 1,
pois existem duas opes de sinal, 1 escolhas para o dgito d
1
, opes de escolha para
os t 1 dgitos restantes da mantissa, e
max
e
min
+1 valores para expoente. O 1 adicionado
devido ao zero.
O epsilon da mquina o menor nmero positivo , em aritmtica de ponto utuante
da mquina, tal que 1 + > 1. Este nmero depende do sistema particular da mquina
utilizada. Linguagens mais recentes j possuem comandos para determinar-se o valor de :
em MatLab eps em Fortran90 EPSILON.
Como o computador e a calculadora realizam clculos utilizando apenas um nmero nito
de dgitos, os nmeros representveis em uma mquina so em quantidade nita e portanto
no trabalho com mtodos numricos h a necessidade de trabalharmos com uma quanti-
dade nita de dgitos. H duas formas de efetuarmos o descarte de dgitos excendentes:
por arredondamento simtrico ou por truncamento (chopping).
1
O IEEE Institute of Eletrical and Eletronic Engineers, produz diversos padres em eletrnica em especial
computadores
D. Andrade Clculo Numrico 17
Como vimos, em toda mquina o conjunto de nmeros reais representveis discreto, assim
no possvel representar em uma mquina todos os nmeros de um intervalo [a, b] dado.
Se nos foi dado um nmero x ,= 0 em aritmtica de ponto utuante de base 10, ento ele
tem a forma
x = 0.a
1
a
2
...a
t
a
t+1
...a
n
10
e
,
onde a
1
,= 0. Podemos enfatizar as partes usando a tabela a seguir.
Sinal Mantissa Expoente
a
1
a
2
. . . a
n
e
A representao de x com apenas t dgitos pode ser feita de duas formas. Notemos que
x = 0.a
1
a
2
. . . a
t
a
t+1
. . . a
n
10
e
(2.2.1)
= (0.a
1
a
2
. . . a
t
+ 0.000 . . . 0a
t+1
. . . a
n
) 10
e
(2.2.2)
= 0.a
1
a
2
. . . a
t
10
e
+0.a
t+1
. . . a
n
10
et
, (2.2.3)
chamando
f = 0.a
1
a
2
. . . a
t
(2.2.4)
g = 0.a
t+1
. . . a
n
(2.2.5)
temos que
x = f 10
e
+ g 10
et
(2.2.6)
notamos que 0 < [ f [ < 1 e 0 [g[ < 1.
No arredondamento simtrico, se o primeiro dgito a ser desprezado inferior a cinco,
simplesmente abandonamos os dgitos restantes e mantemos os demais. E se o primeiro
dgito a ser desprezado igual ou superior a cinco, adicionamos um ao ltimo dgito a ser
retido.
No arredondamento por truncamento, simplesmente desprezamos os dgitos restantes.
Por exemplo,

2 1.4142135623730950488 utilizando-se apenas 10 dgitos aps o ponto
decimal tem-se

2 1.4142135623 por truncamento e

2 1.4142135624 por arredonda-


mento simtrico.
As limitaes no sistema de aritmtica de ponto utuante provocam fenmenos importantes
chamados de overow e underow. A faixa de variao dos expoentes leva ao under-
ow e ao overow, e quantidade de dgitos na mantissa ocasionam erros de arredonda-
mento.
Operaes que resultem em expoente superior ao expoente mximo ocasionam o fenmeno
de overow. Analogamente, operaes que resultem em expoente inferior ao expoente
mnimo ocasionam o fenmeno de underow.
18
Observao: As operaes so realizadas em computador na seguinte sequncia:
1) Decomposio dos operandos em mantissa e expoente;
2) Alinhamento das mantissas e dos expoentes para a soma e a subtrao;
3) Operao com as mantissas e /ou os expoentes;
4) Normalizao da mantissa;
5) Arredondamento da mantissa;
6) Recomposio do resultado (reunio da mantissa com o expoente).
2.3 Erro absoluto e erro relativo
Como pudemos observar, em qualquer das duas formas de realizar as aproximaes, obri-
gatoriamente comete-se um erro. importante que se conhea a magnitude dos erros nestas
representaes.
Suponha que x seja uma aproximao para o valor exato x. O erro absoluto denido por
EA
x
= [x x[
e o erro relativo
ER
x
=
[x x[
[x[
, x ,= 0.
Note que em geral o valor exato x no conhecido. Portanto, comum utilizarmos a
seguinte denio de erro relativo:
ER
x
=
[x x[
[x[
, x ,= 0.
As informaes fornecidas pelos erros absoluto e relativo so diferentes. Seja x = 1234.9
uma aproximao para x com erro absoluto menor do que 0.1 , isto , EA
x
< 0.1, ento o
valor exato pertence ao intervalo (1234.8; 1235.0). Do mesmo modo, suponha que y = 7.2
seja uma aproximao para y com EA
y
< 0.1, ento y pertence ao intervalo (7.1; 7.3). Note
que nos dois exemplos os majorantes para os erros absolutos so os mesmos. Mas nesses
casos, os erros relativos so diferentes. No primeiro caso, temos
ER
x
=
EA
x
[x[
<
0.1
1234.9
0.81 10
4
e
ER
y
=
EA
y
[y[
<
0.1
7.2
0.14 10
1
.
D. Andrade Clculo Numrico 19
Comparando os erros relativos, vemos que a preciso no primeiro exemplo maior, pois a
ordem de grandeza de x maior que a ordem de grandeza de y. Isto explica porque o erro
relativo mais amplamente utilizado.
O erro relativo dado frequentemente com uma porcentagem. Por exemplo, 2% de erro
relativo signica que o erro relativo 0.02.
Voltando representao em aritmtica de ponto ututante com t dgitos dada em (2.2.6),
podemos observar que f tem t dgitos e est na forma normalizada. Alm disso, x =
f 10
e
uma aproximao para x. A essa aproximao chamamos de arredondamento por
trucamento. claro que nesse caso o erro de arredondamento por trucamento dado por
EA
x
= [x x[ = [g[ 10
et
.
Como j vimos, o arrendodamento simtrico obtido observando-se a magnitude da parte
a ser desprezada g. Quando consideramos a aproximao x dada por
x =
_
f 10
e
, se 0 < [g[ < 0.5
f 10
e
+ 10
et
, se 0.5 [g[ < 1
o erro no arredondamento simtrico dado por
EA
x
= [x x[ =
_
[g[ 10
et
, se 0 < [g[ < 0.5
(1 g) 10
et
, se 0.5 [g[ < 1
.
Proposio 2.3.1 (a) Utilizando aritmtica com t casas decimais e arrendodamento por truncamento
o erro relativo mximo cometido dado por 10
1t
.
(b) Utilizando aritmtica com t casas decimais e arrendodamento simtrico o erro relativo mximo
cometido dado por
1
2
10
1t
.
(a) De fato, observe que
ER
x
=
[x x[
[ x[
=
[g[ 10
et
[ f [ 10
e
<
10
et
(0.1) 10
e
=
10
et
10
e1
= 10
1t
.
(b)
ER
x
=
[x x[
[ x[
=
_

_
[g[ 10
et
[ f [ 10
e
, se 0 < [g[ < 0.5
(1 g) 10
et
[ f [ 10
e
+ 10
et
, se 0.5 [g[ < 1
.
Como 0 [g[ <
1
2
, ento [1 g[ <
1
2
, podemos escrever
ER
x
=
[x x[
[ x[
=
_

_
[g[ 10
et
[ f [ 10
e
<
1
2
10
1t
, se 0 < [g[ < 0.5
(1 g) 10
et
[ f [ 10
e
+ 10
et
<
[g 1[ 10
et
[ f [ 10
e
<
1
2
10
1t
, se 0.5 [g[ < 1
.
20
2.4 Dgitos Signicativos
Ao utilizarmos um mtodo numrico para obter a resposta de um problema, devemos ter
conana nesse nmero. Vamos ilustrar isso: por exemplo, a hipotenusa, de um tringulo
retngulo com lados medindo 10 cm de comprimento, mede

200 cm de comprimento.
Tomando uma rgua comum para fazer a medida da hipotenusa, o mximo que vamos
perceber que

200
2
est entre 14,1 e no ultrapassa 14,2. Se quisssemos adicionar mais
uma casa decimal, teramos dvida sobre qual dgito incluir: 14,15? e por que no 14,18?
Em virtude da limitao da rgua, apenas podemos garantir que os dgitos 1, 4 e 1 po-
dem ser usados com segurana. H dvidas sobre o quarto valor. A esses trs primeiros
algarismos mais o quarto algarismo duvidoso chamamos de algarismos signicativos.
A relao entre o erro relativo e o nmero de dgitos signicativos dado pela proposio:
Proposio 2.4.1 Se o erro relativo do valor aproximado de um nmero no excede
0.5 10
n
,
ento esse valor tem n dgitos signicativos.
Assim, dizemos que x aproxima x com d dgitos signicativos se d o maior inteiro positivo
para o qual se tem
[x x[
[x[
<
1
2
10
d
.
Se x = 1.414214 e x = 1.414 ento
[x x[
[x[
= 0.1513208043 10
3
<
1
2
10
3
,
assim x aproxima x com trs dgitos signicativos.
Se x = 2000000 e x = 1999994 ento
[x x[
[x[
= 0.3 10
5
<
1
2
10
5
,
assim x aproxima x com cinco dgitos signicativos.
Dgitos no nulos so sempre dgitos signicativos. Em 0.057 tem-se dois dgitos signica-
tivos; em 0.507 temos trs dgitos signicativos. O nmero de dgitos signicativos num
clculo depender do nmero de dgitos signicativos dos dados iniciais.
Perda de dgitos signicativos:
2
aprox. 14.14213562
D. Andrade Clculo Numrico 21
Sejam x = 1.4142135623 e y = 1.4142146734 ambos com 11 dgitos de preciso. Como
os 6 primeiros dgitos so iguais, y x = 0.1111 10
5
contm 5 dgitos de preciso.
Essa reduo na preciso chama-se perda de dgitos signicativos por cancelamento na
subtrao.
Um exemplo importante onde esse fenmeno ocorre em funes quadrticas, como por ex-
emplo em f (x) = x(

x + 1

x ). Vemos que uma expresso algebricamente equivalente


a f (x) dada por h(x) =
x

x + 1 +

x
. Notemos que f (500) = 500(

501

500 ) =
500(22.3830 22.3607) = 11.1500 e h(500) =
500
22.3830 + 22.3607
= 11.1748, esse ltimo valor
envolve menos erro, usando 6 dgitos e arredondamento.
2.5 Propagao de Erros
Nessa seo, veremos como os erros se propagam ao efetuarmos uma das operaes funda-
mentais de adio, multiplicao e diviso.
Consideremos dois valores exatos x e y e suas respectivas aproximaes x e y. Existem
nmeros
1
e
2
tais que
x x =
1
,
y y =
2
.
Logo,
x + y = (x +
1
) + (y +
2
) = (x + y) + (
1
+
2
).
Portanto,
[(x + y) (x + y)[ = [
1
+
2
[ [
1
[ +[
2
[.
Segue que o erro absoluto da soma menor ou igual soma dos erros absolutos:
EA
x+y
EA
x
+ EA
y
.
De modo anlogo,
EA
xy
EA
x
+ EA
y
.
Agora passamos ao erro relativo na soma.
ER
x+y
=
EA
x+y
[x + y[

EA
x
+ EA
y
[x + y[

EA
x
[x + y[
+
EA
y
[x + y[

EA
x
[x[
[x[
[x + y[
+
EA
y
[y[
[y[
[x + y[
ER
x
[x[
[x + y[
+ ER
y
[y[
[x + y[
ER
x
+ ER
y
.
22
Consideremos agora o produto xy, temos que,
x y = x.y + x
2
+ y
1
+
1

2
.
Da expresso acima vemos que se [x[ > 1 ou [y[ > 1, ento as parcelas x
2
e y
1
contribuiro
para o aumento do erro no produto.
Supondo xy ,= 0, rearranjando e dividindo por xy, podemos escrever,
xy x.y
xy
=
x
2
xy
+
y
1
xy
+

1

2
xy
.
Se x uma boa aproximao para x e se y uma boa aproximao para y, ento
x
2
xy


2
y
,
y
1
xy


1
x
,

2
xy
0.
Segue que
ER
xy
=

xy x.y
xy

1
x

2
y

= ER
x
+ ER
y
.
Portanto, para boas aproximaes, o erro relativo do produto no mximo, a soma dos
erros relativos.
No caso da diviso,
x
y
=
x +
1
y +
2
=
x +
1
y

1
1 +

2
y
.
O termo
1
1 +

2
y
lembra a srie geomtrica de razo
_

2
y
_
:
1
1 +

2
y
=

k=0
_

2
y
_
k
.
Supondo que y seja uma boa aproximao para y, podemos desprezar os termos da srie
de potncia superior a 2, assim, obtemos
x
y
=
x +
1
y +
2
=
x +
1
y

_
1

2
y
_
.
Donde, obtemos
x
y
=
x +
1
y

_
1

2
y
_

x
y
+

1
y

x
2
y
2

2
y
2
.
D. Andrade Clculo Numrico 23
Desprezando o termo

1

2
y
2
, segue que
EAx
y
=

x
y

x
y

1
y

x
2
y
2

.
O Erro relativo do quociente ento
ERx
y
=
EAx
y

x
y

= EAx
y

y
x

1
y

x
2
y
2

y
x

1
x

2
y

ER
x
+ ER
y
.
Segue que para boas aproximaes o erro relativo na diviso no mximo a soma dos erros
relativos.
Observao 2.5.1
Em problemas matemticos gerais as solues, em ltima anlise, esto no conjunto dos
nmeros reais, que innito e contnuo. Segue que uma das consequncias dessa represen-
tao em mquina o arredondamento, exceto para nmeros demasiadamente grandes ou
demasiadamente pequenos para serem representados na mquina, do origem a situaes
denominadas de overow e underow, respectivamente. Resumindo, toda operao pode
conter erros.
Alm desses casos, que o erro tem origem na mquina, existem outras fontes de erros. As
principais fontes de erros so:
a) erros nos dados de entrada,
b) erros no estabelecimento do modelo (simplicao),
c) erros de truncamentos (troca de sries por soma nita).
Imagine que desejamos calcular a rea da superfcie do nosso planeta Terra. Resolvemos
usar a frmula S = 4r
2
, onde r o raio da Terra. Quando fazemos isso estamos cometando
alguns erros. Primeiramente, estamos simplicando o problema, pois estamos supondo
que a Terra uma esfera perfeita. Em seguida, como s conhecemos um valor aproximado
para , somos obrigados a utilizar uma aproximao. Erramos mais uma vez pois no
conhecemos exatamente o raio r.
Quando simplicamos o problema cometemos um erro no modelo e quando tomamos uma
aproximao para e r cometemos erro nos dados iniciais.
2.6 Condicionamento e Estabilidade
Dois conceitos importantes na anlise numrica so a noo de estabilidade matemtica e
estabilidade numrica.
A estabilidade numrica uma propriedade do algoritmo. Pode haver vrias maneiras
de resolver um determinado problema matemtico e estes se comportam de diferentes
maneiras com relao propagao de erros.
24
Existem mtodos que so muito sensveis a variaes nos dados, isto , pequenas variaes
nos dados provocam variaes muito grandes na soluo. Esse fenmeno independente
do mtodo usado para resolver o problema.
O condicionamento de um problema descreve a sensibilidade do problema a variaes nos
dados. Um problema matemtico cuja soluo pode ser muito sensvel a variaes nos
dados e parmetros dito mal condicionado ou apresenta instabilidade. Alguns mtodos
so estveis apenas para certas escolhas dos dados iniciais, esses mtodos so chamados de
condicionalmente estveis.
Por outro lado, um problema dito bem condicionado se pequenas variaes nos dados e
parmetros induzem sempre pequenas variaes na soluo.
Como exemplo, os sistemas de equaes lineares so mal condicionados.
J vimos como os erros se propagam em clculos numricos. A resoluo de um problema
numrico requer, em geral, um grande nmero de operaes aritmticas e, originando de
cada uma erro de arredondamento. O efeito cumulativo destes erros pode afetar signi-
camente o resultado calculado. A estabilidade de um mtodo descreve a sensibilidade do
mtodo relativamente acumulao dos erros gerados durante o clculo.
Um mtodo estvel produz sempre bons resultados para problemas bem condicionados.
Como exemplo, a frmula de Bskara um mtodo instvel. As razes de uma equao do
segundo grau ax
2
+ bx + c = 0 esto relacionadas pela relao de Vite
x
1
+ x
2
=
b
a
(2.6.7)
x
1
x
2
=
c
a
(2.6.8)
que podem ser utilizadas na determinao das razes. Esse mtodo estvel.
Exerccio 2.6.1
1. Considere e 2.718282,
1
13
0.076923,

200 14.1421 e ln2 0.69315. As-
sumindo que e 2.71828182846...
1
13
0.076923076...,

200 14.1421356... e
ln2 0.69314718... Obtenha limites superiores para os erros absolutos, erros rela-
tivos e porcentagens de erros em cada caso.
2. Qual o nmero de dgitos signicativos em cada caso acima?
3. Arredonde os seguintes nmeros reais representando-os com trs e com cinco algar-
ismos:
2
9
,
1
256
,

5 ,
1
44
, e, e
1
.
4. Use a sua calculadora para calcular
1
3
3,

2 usando apenas 4 dgitos.


5. Para valores grandes calcule f (x) =
1

x

1

x+1
. Apresente outra forma de calcular
f (x).
D. Andrade Clculo Numrico 25
2.7 Resumo do captulo
Neste captulo apresentamos o conceito de erro e sua propagao no desenvolvimento
dos clculos numricos.
26
3
Equaes no lineares
3.1 Introduo
Neste captulo estamos interessados em resolver numericamente a equao f (x) = 0, onde f
uma funo arbitrria. Por resolver numericamente" entendemos determinar uma aprox-
imao para a soluo de f (x) = 0. No existem mtodos analticos gerais para resolver
esse problema de forma explcita, assim os mtodos numricos so as nicas ferramentas
disponveis.
Apresentaremos os mtodos mais comumente utilizados, entre eles o mtodo da bisseo,
o mtodo das aproximaes sucessivas (ponto xo), o mtodo de Newton-Raphson e o
mtodo da secante.
Uma soluo de f (x) = 0 tambm chamada de raiz de f . Dizemos que uma raiz de
f (x) com multiplicidade m > 0, se
f () = 0, f

() = 0, . . . , f
(m1)
() = 0, f
(m)
() ,= 0.
Se m = 1 dizemos que a raiz simples, isto , f () = 0 mas f

() ,= 0.
Em todo esse captulo, a menos que se diga o contrrio, vamos supor que as razes so
simples.
3.2 O mtodo da bisseco
O teorema do valor intermedirio, apresentado no captulo 1 no Teorema 1.1.10, garante a
existncia de uma soluo para f (x) = 0 no intervalo (a, b) desde que f : [a, b] R seja
contnua e satisfazendo f (a) f (b) < 0.
27
28
Nessas condies, o mtodo da bisseco consiste em dividir o intervalo [a, b] ao meio,
obtendo subintervalos [a, m
1
] e [m
1
, b], e considerar como intervalo de busca o subintervalo
em que f tem sinais opostos nos extremos. Em seguida repete-se o procedimento. Aps
um nmero nito de subdivises ou encontramos uma soluo ou sabemos que a raiz
encontra-se em algum subintervalo [a
k
, b
k
].
Consideremos f : [a, b] R contnua tal que f (a) f (b) < 0. Seja m o ponto mdio de [a, b].
Note que se f (a) f (m) < 0, ento o teorema do valor intermedirio garante que a raiz se
encontra no intervalo [a, m], assim tomamos b = m. Se f (a) f (m) > 0, ento temos que
f (a) f (m) f (a) f (b) = [ f (a)]
2
f (m) f (b) < 0. Segue que f (m) f (b) < 0 e portanto, a raiz se
encontra no intervalo [m, b] e tomamos a = m. No mtodo da bisseco, esse o teste para
decidir quais dos subintervalos devemos considerar no prximo passo.
Chamando a
0
= a e b
0
= b e efetuando sucessivas bisseces, obtemos intervalos [a
k
, b
k
] e
pontos mdios m
k
. Note que [b
k
a
k
[ = b
k
a
k
=
b a
2
k
.
Nesse ponto interessante observar que se estamos procurando por uma aproximao para
a raiz da equao com erro mximo , o fator
b a
2
k
< pode ser utilizado como critrio
de parada. O ponto mdio m
k
de [a
k
, b
k
] um candidato a soluo e satisfaz [b
k
m
k
[
[b
k
a
k
[
b a
2
k
< e [a
k
m
k
[ [b
k
a
k
[
b a
2
k
<
Ento, qual o nmero de subintervalos em que devemos subdivir o intervalo [a, b] de
modo que o erro cometido na aproximao da soluo seja menor do que ? Uma aproxi-
mao para a soluo um ponto em [a
k
, b
k
], assim devemos ter k >
ln(
ba

)
ln2
.
O mtodo da bisseco gera sempre uma sequncia que converge para a soluo. De fato,
o mtodo gera uma sequncia de intervalos encaixados I
0
= [a
0
, b
0
] I
1
= [a
1
, b
1
] I
2
=
[a
2
, b
2
] . . . I
k
= [a
k
, b
k
] . . .. Como b
k
a
k
=
b a
2
k
, ento o comprimento dos
intervalos tendem a zero quando k .
Os extremos a
k
dos intervalos compem uma sequncia montona no decrescente limi-
tada superiormente por b; portanto convergente. Os extremos b
k
dos intervalos compem
uma sequncia montona no crescente limitada inferiormente por a, portanto convergente.
Armamos que ambas convergem para o mesmo limite l. De fato, como b
k
a
k
=
b a
2
k
temos que
0 = lim
k
(b
k
a
k
) = lim
k
b
k
lim
k
a
k
.
Segue que lim
k
b
k
= lim
k
a
k
= l.
Agora mostraremos que l raiz de f (x). Como em cada passo tem-se f (a
k
) f (b
k
) < 0, ento
0 lim
k
f (a
k
) f (b
k
) = lim
k
f (a
k
) lim
k
f (a
k
) = [ f (l)]
2
0.
Segue que f (l) = 0.
D. Andrade Clculo Numrico 29
Acabamos por demonstrar o seguinte teorema.
Teorema 3.2.1 Seja f : [a, b] R contnua tal que f (a) f (b) < 0. O mtodo da bisseco gera
uma sequncia (m
k
) que converge para a raiz c de f e satisfaz
[m
k
c[ [b
k
a
k
[
b a
2
k
, k 1. (3.2.1)
Resumo:
(a) Mostramos que o mtodo da bisseco gera uma sequncia que converge para a soluo
de f (x) = 0.
(b) Escolhemos os subintervalos pelo critrio se f (a) f (m) < 0, escolhemos o subintervalo
[a, m], se f (a) f (m) > 0, escolhemos o subintervalo [m, b].
(c) O nmero mnimo de iteraes do mtodo da bisseco para atingirmos a preciso
dado por k >
ln(
ba

)
ln2
.
O mtodo da bisseco, por ser o mais simples dos mtodos, ele gera uma boa aproximao
inicial que muitas vezes o ponto de partida para utilizao em outros mtodos, como o
caso do mtodo de Newton-Raphson.
Mtodo prtico: Uma maneira prtica para utilizar o mtodo da bisseco apresentada a
seguir para a funo f (x) =
_
x
2
_
2
sin(x), x em radianos.
Exemplo 3.2.2
Determinar uma aproximao para uma raiz positiva da funo f (x) =
_
x
2
_
2
sin(x) no
intervalo [1.5, 2], x em radianos. Note que f (x) = 0 se, e somente se,
_
x
2
_
2
= sin(x). Veja a
tabela 3.1
Tabela 3.1: Tabela para bisseco
k a
k
b
k
m
k
f (a
k
) f (m
k
)
0 1.5 2.0 1.75 > 0 o intervalo escolhido [m
k
, b
k
]
1 1.75 2.0 1.875 > 0
2 1.875 2.0 1.9375 < 0
3 1.875 1.9375 1.90625 > 0 o intervalo escolhido [a
k
, m
k
]
4 1.90625 1.9375 1.921875 > 0
Assim, uma aproximao para a raiz procurada m
5
= 1.921875.
30
0
0.5
1
1.5
2
2.5
0.5 1 1.5 2 2.5 3
x
Figura 3.2.1: Grco de
_
x
2
_
2
e sin(x)
Algorithm 1 Mtodo da bisseco
1. Dados: [a, b] e f : [a, b] R contnua tal que f (a) f (b) < 0 e tolerncia > 0
2. Dena m :=
b + a
2
.
3. Se b m < , tome m como aproximao para raiz e pare.
3. Se f (a) f (m) < 0 faa b := m, caso contrrio faa a := m e volte ao passo 2.
3.3 Usando Maple: o mtodo da bisseco
O seguinte procedimento em Maple pode ser utilizado para obter aproximao para a
soluo de f (x) = 0, basta entrar com a funo, com os extremos do intervalo [a, b] e
com o nmero de iteraes.
> restart:
> bisseco:=proc(f::procedure,intervalo::anything=range,
tolerancia::anything=realcons)
local a,b,extremos,Detalhes,E,Iterao,m;
if nargs<>3 then
ERROR(O nmero de argumentos exigido 3. Voc forneceu ||nargs||.)
fi;
if rhs(tolerancia)<0.1e-14 then
ERROR(O valor mnimo de E aceitvel 0.1e-14).)
fi;
Digits:=10;
extremos:=lhs(rhs(intervalo)), rhs(rhs(intervalo));
a:=min(extremos);
b:=max(extremos);
if not(evalf(f(a)*f(b))<0) then
ERROR(A funo no muda de sinal nos extremos do intervalo considerado.)
D. Andrade Clculo Numrico 31
fi;
Iterao:=0;
E:=abs(rhs(tolerancia));
Detalhes:=[];
while evalf(abs(b-a)) > evalf(2*E) do
m:=(a+b)/2;
Iterao:=Iterao+1;
Detalhes:=Detalhes,[Iterao,a,b,evalf((a+b)/2),evalf(f(a)*f(m))];
if evalf(f(m)*f(a)) < 0 then
b:=m
elif evalf(f(m)*f(a)) > 0 then
a:=m
else
print(O zero real encontrado exato e vale ,m);
return;
fi;
od:
m:=(a+b)/2;
Iterao:=Iterao+1;
Detalhes:=Detalhes,[Iterao,a,b,evalf(m),evalf(f(a)*f(m))];
printf(\n%s% .15f,Mtodo da bisseco com E = ,E);
printf(\n%s%a,Intervalo inicial ,intervalo);
printf(\n| k | a[k] | b[k]
| m[k] | f(a[k])*f(m[k]) | \n|=======
|======================|======================|=======================
|========================| \n);
seq(printf("|%5d | % 0.15f | % 0.15f | % 0.15f | % 0.15f
|\n", Detalhes[k,1],Detalhes[k,2],Detalhes[k,3],Detalhes[k,4],
Detalhes[k,5]),k=2..Iterao+1)
end:
> f:=x->(x/2)^2-sin(x);#exemplo
> bisseco(f,x=1.5..2.0,E=0.00001);
Exemplo 3.3.1
A equao x
3
+3x 10 = 0 tem uma raiz real no intervalo [1, 4]. Aps 15 iteraes obtemos
a seguinte aproximao = 1.698885489.
Observao 3.3.2
Como vimos o mtodo da bisseco gera uma sequncia innita. Podemos usar um dos
critrios de parada para interromper os clculos. Dada uma tolernica > 0 aplicamos o
mtodo da bisseco para obter m
1
, m
2
, . . . , m
k
at que uma das condies sejam satisfeitas:
32
0
10
20
30
40
50
60
1.5 2 2.5 3 3.5 4
x
Figura 3.3.2: x
3
+3x 10 = 0 tem uma
raiz em [1, 2]
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
1 0.5 0.5 1 1.5 2 2.5
x
Figura 3.3.3:
_
x
2
_
2
sin(x)
1. [m
k
m
k1
[ < ,
2.
[m
k
m
k1
[
[m
k
[
< ,
3. [ f (m
k
)[ < ,
4. o mtodo pra aps N iteraes.
Exemplo 3.3.3 Usando a expresso (3.2.1) podemos determinar quantas iteraes do mtodo da
bisseco devemos realizar para obter uma aproximao da soluo de
_
x
2
_
2
sin(x) = 0 no intervalo
[1.5, 2], com erro menor do que 10
3
.
De fato, como
k >
ln(
ba

)
ln2
=
ln(
21.5
10
3
)
ln2
8.96.
Segue que devemos realizar pelo menos 9 iteraes do mtodo da bisseco.
Exerccio 3.3.4 1. Determine uma aproximao para a soluo de f (x) = 0 nos seguintes
casos:
(a) (x
2
+ 1) sin(x) = 0 no intervalo [2, 4] com preciso de 10
3
.
(b) (x
2
+ 1) cos(x) = 0 no intervalo [0, 2] com preciso de 10
4
.
(c) x
3
2x
2
x + 1 = 0 no intervalo [2, 3] com preciso de 10
5
.
2. Determine em que pontos do primeiro quadrante os grcos das funes f e g se
cruzam, onde f (x) = x e g(x) = tan(x).
3. A equao f (x) = exp(x) 3x = 0 tem uma raiz no intervalo [0,1].
D. Andrade Clculo Numrico 33
a) Utilizando seis aplicaes do mtodo da Bisseco, encontre essa raiz e determine
sua preciso.
b) Quantas aplicaes do mtodo seriam necessrias para avaliar a raiz com com
preciso de 10
4
.?
3.4 Mtodos iterativos
Estamos ainda interessados em resolver f (x) = 0, mas agora sob outro enfoque. Dizemos
que c um ponto xo para f se f (c) = c. Podemos sempre transformar o problema f (x) = 0
em um problema de determinar um ponto xo. De fato, se f (x) = 0, ento x + f (x) = x
e assim, tomando (x) = x + f (x), camos com o problema de ponto xo (x) = x. Por
outro lado, se temos (x) = x, ento (x) x = 0. Logo, tomando f (x) = (x) x camos
com o problema f (x) = 0. Portanto, os problema determinar raiz e determinar ponto xo so
equivalentes.
Iterar uma palavra de origem grega que signica repetir. Os mtodos iterativos so mto-
dos baseados na repetio de um procedimento.
Um mtodo iterativo estacionrio de passo s 1 um mtodo que gera uma sequncia
(x
n
) dada por
x
n+1
= (x
ns+1
, x
ns+2
, . . . , x
n
).
Se muda a cada iterao, isto ,
x
n+1
=
n+1
(x
ns+1
, x
ns+2
, . . . , x
n
)
o mtodo dito no estacionrio.
Note que mtodos iterativos de passo s necessitam de s informaes anteriores. Um mtodo
estacionrio de passo 1 da forma
x
n+1
= (x
n
), n 0.
Vamos estudar inicialmente apenas os mtodos iterativos estacionrios de passo 1.
Os mtodos iterativos geram uma sequncia innita (x
k
) que converge para a soluo,
porisso h a necessidade de critrios de parada. Isto , quando devemos interromper os
clculos. Dada um tolerncia > 0, os seguintes critrios so comumente utilizados como
critrios de parada:
1. [ f (x
k
)[ < ;
2. [x
k+1
x
k
[ < ;
3.
[x
k+1
x
k
[
[x
k+1
[
< ;
4. o mtodo pra aps N iteraes.
34
3.5 O mtodo do ponto xo
O mtodo das aproximaes sucessivas ou o mtodo do ponto xo gera uma sequncia (x
n
)
utilizando a seguinte lei
x
n+1
= (x
n
), n 0,
(3.5.2)
onde a aproximao inicial x
0
dada.
Duas perguntas surgem no estudo dos mtodos iterativos estacionrios de passo 1:
(a) Quando converge?
(b) Se converge, com que velocidade?
O seguinte resultado responde primeira pergunta.
Teorema 3.5.1 Seja : [a, b] [a, b] contnua com

contnua em (a, b). Suponha que [

(x)[
M < 1 para algum M 0 e todo x (a, b). Ento, para x
0
[a, b] tem-se:
(a) x
n+1
= (x
n
) pertence a [a, b], n 0.
(b) lim
n
x
n
= c, para algum c [a, b].
(c) c a nica soluo de x = (x) em [a, b].
Demonstrao: O item (a) bvio. Para o item (b) notemos que se x, y (a, b) ento, pelo
teorema do valor mdio existe entre x e y tal que
(y) (x)
y x
=

().
Donde segue que
[(y) (x)[ = [

()[[y x[ M[y x[,


e uma contrao.
Agora mostraremos que x
n
uma sequncia de Cauchy e portanto convergente.
Primeiramente, notemos que
[x
n+1
x
n
[ = [(x
n
) (x
n1
)[ M[x
n
x
n1
[ M
2
[x
n1
x
n2
[ . . . M
n
[x
1
x
0
[.
No caso geral,temos
[x
n+k
x
n
[ = [x
n+k
x
n+k1
+ x
n+k1
x
n+k2
+ x
n+k2
x
n
[
[x
n+k
x
n+k1
[ +[x
n+k1
x
n+k2
[ + +[x
n+1
x
n
[
M
n+k1
[x
1
x
0
[ + M
n+k2
[x
1
x
0
[ + + M
n
[x
1
x
0
[

M
n
1 M
[x
1
x
0
[.
Como M < 1 segue que M
n
0 e portanto [x
n+k
x
n
[ 0 quando n . Assim, a
sequncia de Cauchy em R, sendo convergente para algum c [a, b].
D. Andrade Clculo Numrico 35
Agora vamos provar que c = limx
n
soluo de x = (x). De fato,
c = lim
n
x
n+1
= lim
n
(x
n
) = ( lim
n
x
n
) = (c).
Assim, c soluo do problema de ponto xo x = (x).
Provar que c a nica soluo fcil, pois se c e c
1
so solues, ento
[c c
1
[ = [(c) (c
1
)[ M[c c
1
[,
como M < 1, seque que c = c
1
.
Para responder segunda pergunta vamos precisar da seguinte denio.
Denio 3.5.2 Dado uma sequncia (x
n
) convergente para seja E
n
= x
n
. Se existe um real
p 1 e c ,= 0 tais que
lim
n
[E
n+1
[
[E
n
[
p
= c,
dizemos que a ordem de convergncia da sequncia p. Se p = 1 dizemos que a ordem de convergn-
cia linear, se p = 2 dizemos que a ordem de convergncia da sequncia quadrtica.
Dizemos que um mtodo iterativo de ordem p para a raiz , se ele gera uma sequncia que converge
para com ordem de convergncia p.
Teorema 3.5.3 Sob as hipteses do Teorema 3.5.1, a ordem de convergncia de x
n+1
= (x
n
), n 0,
gerada pelo mtodo do ponto xo, p = 1.
Demonstrao: De fato, pelo teorema do valor mdio, existe
n
entre x
n1
e c tais que
x
n
c = (x
n1
) (c) =

(
n
)(x
n1
c).
Assim,
[x
n
c[
[x
n1
c[
= [

(
n
)[.
Fazendo n , obtemos
lim
n
[x
n
c[
[x
n1
c[
= [

(c)[.
Isto responde segunda pergunta.
Note que (x) = x tem soluo quando os grcos de y = (x) e y = x se cruzam.
Exemplo 3.5.4
A equao x
3
x 5 = 0 pode ser reescrita como x = x
3
5 = 0 ou x = (x + 5)
1
3
ou ainda
x =
5
x
2
1
. A forma da equao a ser escolhida depende da raiz a ser localizada e se a
funo satisfaz s condies do Teorema 3.5.1.
36
0
1
2
3
4
5
6
7
1 2 3 4
x
Figura 3.5.4: Grco de y = (x) e y = x
Exemplo 3.5.5
A equao ln x x + 2 = 0 pode ser reescrita como x = ln x + 2
. .
=(x)
ou x = exp(x 2)
. .
=
1
(x)
. A
equao ln x x +2 = 0 possui soluo nos intervalos (0, 1) e (3, 4). Observe que [

(x)[ =
[
1
x
[ < 1 em (3, 4) e [

1
(x)[ =
1
(x) < 1 em (0, 1).
Algorithm 2 Mtodo das aproximaes sucessivas
Dado f (x) = 0 escreva como (x) = x. Seja x
0
aproximao inicial, > 0 tolerncia.
1. Se [ f (x
0
)[ < faa c = x
0
e pare.
2. k = 1.
3. x
1
= (x
0
).
4. Se [ f (x
1
)[ < ou [x
1
x
0
[ < faa c = x
1
e pare.
5. x
0
= x
1
6. k = k + 1 e volte ao passo 3.
Interpretao Grca: Ilustramos a seguir a convergncia da sequncia no mtodo do ponto
xo: a partir da aproximao inicial x
0
obtem-se x
1
subindo at a funo e depois par-
alelamente ao eixo OX at encontrar a bissetriz e descendo at o eixo OX. A partir de x
1
repete-se o procedimento. Veja os grcos para o exemplo x = exp(x 2) com aproximao
inicial x
0
= 2.5 e
ln(x)+3
2
= x com x
0
= 1.
Mtodo Prtico: Uma maneira prtica de utilizar o mtodo das aproximaes sucessivas
dispor os clculos em uma tabela 3.2 como mostrado a seguir. Nesse exemplo, f (x) =
2 + ln(x) = 0 e (x) = exp(x 2) = x no intervalo [0.2, 1.5], veja grco em 3.5. Note que
[

(x)[ < 1 no intervalo.


D. Andrade Clculo Numrico 37
0
0.5
1
1.5
2
2.5
3
y
0.5 1 1.5 2 2.5 3
x
Figura 3.5.5: Convergncia no
mtodo do ponto xo
0
0.5
1
1.5
2
y
0.5 1 1.5 2
x
Figura 3.5.6: Convergncia no
mtodo do ponto xo
3.6 Usando Maple: o mtodo do ponto xo
O seguinte procedimento em Maple determina uma aproximao pelo mtodo do ponto
xo aps n iteraes.
> restart:
> pfixo1:=proc(f,chute,n)
> local x,k;
> x[0]:=evalf( chute );
> for k from 1 to n do
> x[k]:=evalf( f(x[k-1]) );
> od;
> if abs(x[n]-x[n-1])-abs(x[n-1]-x[n-2])> 0 then ERROR(a seq diverge)
> fi;
> print(o ponto fixo , evalf(x[n]),aps , n, iteracoes);
> end:
Exemplo
> f:=x->exp(x-2);
> pfixo1(f,1.0,10);
Exerccio 3.6.1 1. Descubra onde y = x
3
x + 1 intercepta a parbola y = 2x
2
e de-
termine a(s) interseo(es) utilizando o mtodo das aproximaes sucessivas e da
secante.
2. Determine a raiz quadrada de 0.5 com quatro casas decimais escrevendo f (x) = x
2

0.5 e resolvendo x = (x) = x


2
+ x 0.5 pelo mtodo das aproximaes sucessivas
38
Tabela 3.2: Tabela para ponto xo
k x
k
(x
k
) [x
k+1
x
k
[
0 1.0 .367879
1 .367879 .195515 .632121
2 .195515 .164558 .172364
3 .164558 .159543 .030957
4 .159543 .158744 .005015
5 .158744 .158617 .000799
6 .158617 .158598 .000127
7 .158598 .158595 .000019
8 .158595 .158594 .3 10
5
9 .158594 .158594 .1 10
5
10 .158594 .158594 0
com x
0
= 0.6. A raiz quadrada positiva poderia ser determinada por esse mtodo
com a mesma funo (x)? Explique.
3. Use o mtodo das aproximaes sucessivas para determinar a menor raiz positiva,
como 5 casas decimais exatas.
a) x
5
x 1 = 0
b) x
2
cos(x) = 0
c) exp(x
2
) x
2
2x + 2 = 0
3.7 O mtodo de Newton-Raphson
O mtodo de Newton-Raphson um dos mtodos mais ecientes para a soluo numrica
de f (x) = 0. Como veremos, esse mtodo possui ordem de convergncia 2.
Suponha que f (x) tenha uma raiz simples no intervalo [a, b] e que f seja de classe C
2
em
[a, b]. Dado x
n
(a, b), usando o desenvolvimento de Taylor, podemos escrever
f (x) = f (x
n
) + f

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

(
n
)(x x
n
)
2
,
onde
n
est entre x e x
n
. Se a soluo, ento
0 = f (x
n
) + f

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

(
n
)( x
n
)
2
,
onde
n
est entre e x
n
.
D. Andrade Clculo Numrico 39
Supondo que x
n
esteja sucientemente prximo de , podemos desprezar o resto
1
2!
f

(
n
)(
x
n
)
2
, donde obtemos uma aproximao para
x
n

f (x
n
)
f

(x
n
)
,
desde que f

(x
n
) ,= 0.
Obtemos assim o mtodo de Newton-Raphson que nos d x
n+1
como uma aproximao
para a raiz por
x
n+1
= x
n

f (x
n
)
f

(x
n
)
, n 0.
(3.7.3)
Note que o mtodo de Newton-Raphson um mtodo iterativo de passo 1 e que para ser
iniciado necessitamos da aproximao inicial x
0
.
A funo
(x) = x
f (x)
f

(x)
(3.7.4)
chamada de funo de iterao para o mtodo de Newton-Raphson. Como

() = 0
e

(x) contnua, segue que existe uma vizinhana de em que [

(x)[ k < 1, onde


0 k < 1. O que mostra que (x) uma contrao em alguma vizinhana de . Isto explica
porque o mtodo de Newton-Raphson funciona.
Exerccio 3.7.1 Seja f C
2
[a, b] e [a, b] tal que f () = 0 e f

() ,= 0. Mostre que existe


> 0 tal que o mtodo de Newton-Raphson gera uma sequncia (x
n
) que converge para para
qualquer que seja a aproximao inicial x
0
[ , + ].
Mtodo prtico: Uma maneira prtica para usar o mtodo de Newton-Raphson utilizar
uma tabela como mostrado abaixo, tabela 3.3.
Nesse exemplo, determinamos uma aproximao para a soluo da equao 4 cos(x) e
x
=
0 localizada em [0, 1], tomamos x
0
= 0.9 como aproximao inicial.
Tabela 3.3: Modelo de tabela para Newton-Raphson
k x
k
f (x
k
) f

(x
k
) [x
k+1
x
k
[
0 0.9 .02683676 -5.59291075
1 0.904798353 -0.00005693 -5.61663586 0.004798353
2 0.904788217 0 -5.61658576 0.000010136
3 0.9047882179 - - -
40
-4
-3
-2
-1
0
1
2
3
-2 -1.5 -1 -0.5 0.5 1 1.5
x
4 cos(x) e
x
= 0 tem duas razes.
4cos(x) e exp(x)
1
2
3
4
0 0.2 0.4 0.6 0.8 1 1.2 1.4
x
Figura 3.7.7: 4 cos(x) e e
x
se cruzam
Interpretao Grca: A reta tangente ao grco de f (x) no ponto (x
k
, f (x
k
)) cruza o eixo
OX no ponto x
k+1
dado por
x
k+1
= x
k

f (x
k
)
f

(x
k
)
.
Isso justica o outro nome do mtodo de Newton-Raphson: o mtodo das tangentes.
Figura 3.7.8: Interpretao grca
A escolha da aproximao inicial deve ser cuidadosa, pois caso contrrio o mtodo pode
no convergir ou convergir para uma soluo no desejada. Na gura da direita 3.11, x
0
foi
tomado muito prximo de um ponto estacionrio (crtico) de f (x).
Agora mostraremos que a convergncia no mtodo de Newton-Raphson de ordem 2.
D. Andrade Clculo Numrico 41
-2
0
2
4
6
y
1 1.21.41.61.8 2 2.22.4
x
Figura 3.7.9: boa escolha para o ponto
inicial.
Figura 3.7.10: escolha ruim para o
ponto inicial
Suponha que f seja de classe C
2
em (a, b) e que tenha raiz simples [a, b] e seja (x) =
x
f (x)
f

(x)
. Usando o teorema de Taylor, temos
(x) = () (x )

() +
1
2
(x )
2

(),
onde algum ponto entre x e . Sabendo que () = e

() = 0, fazendo x = x
n
obtemos
(x
n
) = +
1
2
(x
n
)
2

(
n
),
onde
n
algum ponto entre x
n
e . Segue que
x
n+1
= +
1
2
(x
n
)
2

(
n
),
ou seja,

x
n+1

(x
n
)
2

=
1
2
[

(
n
)[.
Fazendo n tender ao , obtemos
lim
n

x
n+1

(x
n
)
2

= lim
n
1
2
[

(
n
)[ =
1
2
[

()[ ,= 0.
O que mostra que a convergncia no mtodo de Newton-Raphson quadrtica.
Veja o algoritmo para o mtodo de Newton-Raphson.
42
Algorithm 3 Mtodo de Newton-Raphson
Dado f (x) = 0 faa (x) = x
f (x)
f

(x)
. Seja x
0
aproximao inicial, > 0 tolerncia.
1. Se [ f (x
0
)[ < faa c = x
0
e pare.
2. k = 1.
3. x
1
= (x
0
).
4. Se [ f (x
1
)[ < ou [x
1
x
0
[ < faa c = x
1
e pare.
5. x
0
= x
1
6. k = k + 1 e volte ao passo 3.
3.8 Usando Maple: o mtodo do Newton-Raphson
O seguinte procedimento em Maple determina uma aproximao para a raiz com erro
menor do que 10
5
ou executa 20 iteraes do mtodo.
> mnr := proc(x0,fun,erro,itmax) local dfun,xa,xb, i;
dfun:= unapply(diff(fun(x),x),x); xa:=x0;
xb:=evalf(xa-fun(xa)/dfun(xa)); for i from 0 by 1
while(abs(fun(xb)) > erro or abs(xb-xa) > erro)
and (i < itmax) do
print(iterao,i,xk=,xb,f(xk)=,evalf(fun(xb)));
xa := xb;
xb:= evalf(xa-fun(xa)/dfun(xa));
od; end;
> ##exemplo
> f:=x-> 4*cos(x)-exp(x);
> mnr(1.19,f,0.00001,20);
Exerccio 3.8.1
1. Use o mtodo de Newton-Raphson para determinar uma aproximao para a soluo
de f (x) = 0 nos seguintes casos:
(a) (x
2
+ 1) sin(x) = 0 no intervalo [2, 4] com 5 dgitos signicativos.
(b) (x
2
+ 1) cos(x) = 0 no intervalo [0, 2] com 5 dgitos signicativos.
(c) x
3
2x
2
+ x + 1 = 0 no intervalo [2, 3] com 5 dgitos signicativos.
2. Determine em que pontos do primeiro quadrante os grcos das funes f e g co-
incidem, onde f (x) = x e g(x) = tan(x). Use o mtodo de Newton-Raphson para
determinar a menor soluo positiva.
D. Andrade Clculo Numrico 43
3.9 O mtodo da secante
O mtodo de Newton-Raphson tem o inconveniente de necessitar da derivada da funo.
O mtodo da secante obtido do mtodo de Newton substituindo f

(x
k
) por uma aproxi-
mao:
f

(x
k
)
f (x
k
) f (x
k1
)
x
k
x
k1
.
Resulta que
x
k+1
=
f (x
k
)x
k1
f (x
k1
)x
k
f (x
k
) f (x
k1
)
, k 1,
(3.9.5)
esse o mtodo da secante.
Chamando
(x, y) =
x f (y) f (x)y
f (y) f (x)
,
vemos que o mtodo da secante estacionrio de passo 2.
A interpretao geomtrica, ilustrada na gura a seguir, que a reta secante ao grco de f
que passa pelos pontos (x
n1
, f (x
n1
)) e (x
n
, f (x
n
)) cruza o eixo OX exatamente no ponto
x
n+1
dado por
x
n+1
=
f (x
n
)x
n1
f (x
n1
)x
n
f (x
n
) f (x
n1
)
.
x
n1
x
n
x
n+1
Figura 3.9.11: uma iterao do mtodo da secante
Teorema 3.9.1 Suponha que f , f

, f

so contnuas em todos os pontos de algum intervalo contendo


raiz simples de f . Se as aproximaes iniciais x
0
e x
1
so sucientemente prximas de , ento a
44
sequncia gerada pelo mtodo da secante converge para . Alm disso, a ordem de convergncia no
mtodo da secante p =
1 +

5
2
1.618 .
A prova desse resultado pode ser encontrada no livro de K. E. [11].
Algorithm 4 Mtodo da secante
Dado f (x) = 0, seja x
0
e x
1
aproximaes iniciais e > 0 tolerncia.
1. n = 1
2. Faa x
n+1
=
f (x
n
)x
n1
f (x
n1
)x
n
f (x
n
) f (x
n1
)
.
3. Se [ f (x
n+1
)[ < pare, a aproximao x
n+1
4. x
0
= x
1
, x
n+1
= x
1
5. n = n + 1 e volte ao passo 2.
Exemplo 3.9.2
Consideremos a equao x tan(x) 1 = 0. Utilizamos o mtodo da secante para obter uma
aproximao para a menor soluo positiva. Fazendo uma anlise do grco, vemos que ex-
istem innitas solues. Tomando x
0
= 0.75 e x
1
= 1.0 obtemos as seguintes aproximaes,
veja tabela 3.4.
Tabela 3.4: Mtodo da secante
k x
k1
x
k
f (x
k1
) f (x
k
)
1 0.75 1.0 -.3013 .5574
2 1.0 .8377 .5574 -.06969
3 .83771 .8558 -.06969 -.0145
4 .8558 .8605 -.0145 .0005
5 .8605 .8603 -.3312 10
5
0
3.9.1 Taxa de convergncia do mtodo da secante
Agora vamos apresentar a prova do teorema 3.4. Estamos ainda estudando a equao
f (x) = 0. Como o mtodo da secante de passo 2, consideremos os dois pontos (x
k1
, y
k1
)
e (x
k
, y
k
) necessrios para determinaro prximo (x
k+1
, y
k+1
), onde y
k
= f (x
k
). Denomi-
namos x
k
de a k-sima iterada do mtodo da secante. Assumimos que f pelo menos de
classe C
2
..
Consideremos a k-sima reta secante
y
k
(x) = y
k
+ (y
k
y
k1
)
(x x
k
)
(x
k
x
k1
)
,
D. Andrade Clculo Numrico 45
com x
k
x
k1
,= 0. Essa reta tem zero localizado em x = x
k+1
. A expresso para o zero
dessa reta secante dada por
x
k+1
= x
k
y
k
(x
k
x
k1
)
(y
k
y
k1
)
.
Agora supomos que a sequncia (x
k
) gerada pelo mtodo da secante seja tal que para
x
k
x

e y
k
y

= 0 quando k .
Vamos precisar supor que f

(x

) ,= 0. Consideremos o erro E
k
= x
k
x

. Devido a
convergncia, podemos supor que E
k
0 quando k .
Uma nova iterada do erro dada por
E
k+1
= x
k+1
x

= x
k

y
k
(x
k
x
k1
)
(y
k
y
k1
)
x

= E
k
f (x

+ E
k
)
(E
k
E
k1
)
f (x

+ E
k
) f (x

+ E
k1
)
= E
k

(y

+ y

E
k
+
1
2
y

E
2
k
+O(E
3
k
))(E
k
E
k1
)
y

+ y

E
k
+
1
2
y

E
2
k
y

E
k1

1
2
y

E
2
k1
+ (E
k
E
k1
)O(E
2
k
+ E
k1
E
k
+ E
2
k1
)
,
onde usamos a aproximao de Taylor, assumimos que E
k
pequeno e a identidade a
3

b
3
= (a b)(a
2
+ ab + b
2
) em (E
3
k
E
3
k1
).
Usando que y

= 0 e que a
2
b
2
= (a b)(a + b) em E
2
k
E
2
k1
,
E
k+1
= E
k

E
k
(y

+
1
2
y

E
k
+O(E
2
k
))(E
k
E
k1
)
(E
k
E
k1
)(y

+
1
2
y

(E
k
+ E
k1
) +O(E
2
k
+ E
k1
E
k
+ E
2
k1
))
= E
k
_
1
2
y

E
k1
+O(E
k
+ E
k1
)
_
y

+O(E
k
+ E
k1
)
,
aps reduzir ao denominador comum e considerar que O(x) + O(x
2
) = O(x) para x pe-
queno.
Donde obtemos a seguinte relao de recorrncia
E
k+1

1
2
y

E
k1
E
k
C
0
E
k1
E
k
,
quando k e C
0

y

2y

, desde que y

,= 0.
Resolvendo a recurso bilinear, obtemos
E
k+1
CE
r
k
, (3.9.6)
para k sucientemente grande ou E
k
sucientemente pequeno, onde a taxa r e o coeciente
C so constantes. Donde
E
k
CE
r
k1
46
ou
E
k1

_
E
k
C
_1
r
.
Substituindo,
E
k+1
C
0
_
E
k
C
_1
r
E
k
C
0
_
_
E
1+
1
r
k
C
1
r
_
_
. (3.9.7)
Comparando as potncias de E
k
em (3.9.6) e (3.9.7) obtemos:
1 +
1
r
= r ou r
2
r 1 = 0.
Donde
r =
1

5
2
1 +

5
2
1.618,
escolhendo a raiz positiva. Tambm C = C
r
r+1
0
.
Isso mostra que a taxa de convergncia do mtodo da secante e p = 1.618 estando abaixo
da taxa do mtodo de Newton-Raphson.
3.10 Usando Maple: o mtodo da secante
O procedimento em Maple a seguir determina uma aproximao para a soluo da equao
f (x) = 0 que est no intervalo [a, b]. Voc deve entrar com a funo f , os extremos do
itervalo [a, b] e o nmero N de iteraes.
> restart:
> Msecante:=proc( f, x0, x1, N)
> local a , b , c, n,j:
> a:=evalf(x0): b:=evalf(x1):
>print(Aproximao inicial,a,b,f(a),f(b));
>for j from 1 to N do
> c:= ( a*f(b)-b*f(a) )/( f(b)-f(a)):
> a:=b: b:=c:
>print(Soluo Aproximada aps , j,iteraes :, c)
> od: end:
##Exemplo
> f:=x-> x*tan(x)-1; # tem infinitas solucoes, a menor est em [0.5,1].
> Msecante(f,.5,1.5,10);
D. Andrade Clculo Numrico 47
3.11 Como escolher o melhor mtodo
Ao decidir-se por um dos mtodos, deve-se considerar as suas principais vantagens. Assim,
devemos comparar os mtodos numricos de acordo com:
a) ordem de convergncia,
b) certeza de convergncia ou no.
a) Quanto ordem de convergncia: o mtodo de Newton-Raphson tem convergncia
quadrtica, o mtodo da secante tem ordem de convergncia p = 1.618 < 2. No mtodo
do ponto xo a convergncia linear. Assim, o mtodo de Newton-Raphson possui maior
ordem de convergncia.
b) Quanto certeza de convergncia: o mtodo da secante sempre convergente mas pode
haver problema com diviso por zero; o mtodo de Newton-Raphson pode divergir se a
aproximao inicial no for bem escolhida ou se a funo for mal comportada. O mtodo
do ponto xo converge desde que a funo tenha derivada satisfazendo [(x)[ m < 1, x
O mtodo de Newton-Raphson, apesar de ser bastante eciente, h casos em que ele pode
falhar. Seguem alguns casos onde o mtodo pode falhar.
Figura 3.11.12: Algumas situaes no
Mtodo de Newton-Raphson
3.12 O Mtodo de Newton-Raphson para razes mltiplas
Mostramos que a ordem de convergncia no mtodo de Newton-Raphson quadrtica no
caso em que a raiz simples. Para mantermos a ordem de convergncia quadrtica no caso
de raz mltipla precisamos alterar ligeiramente o mtodo.
48
Suponha que seja raiz com multipliciadade q. Expandindo f (x) em um polinnio de
Taylor em torno do ponto x = at o termo de ordem q 1, temos
f (x) = f () + f

()(x ) + +
f
(q1)
()
(q 1)!
(x )
q1
+
f
(q)
()
q!
(x )
q
onde est entre x e . Como raiz com multiplicidade q o polinmio acima ca
f (x) =
f
(q)
()
q!
(x )
q
.
Para x sucientemente prximo de podemos supor que f
(q)
() constante igual a M,
para todo entre x e . Logo,
f (x) =
M
q!
(x )
q
= C(x )
q
.
Donde segue que
f

(x) = Cq(x )
q1
e portanto
f (x)
f

(x)
=
(x )
q
.
Logo,
= x q
f (x)
f

(x)
.
Segue que uma aproximao x
n+1
para a raiz dada por
x
n+1
= x
n
q
f (x
n
)
f

(x
n
)
, n 0.
(3.12.8)
Esse mtodo de Newton-Raphson alterado para manter a ordem de convergncia 2.
3.13 Razes de polinmios
Os mtodos estudados anteriormente podem ser aplicados s equaes polinomiais, entre-
tanto os polinmios so funes no lineares que possuem inmeras propriedades que se
utilizadas simplicam os mtodos numricos para o clculo de suas razes.
No existe uma frmula geral para o clculo das razes de polinmios, so conhecidas
apenas frmulas para polinmios particulares de graus 1, 2, 3 ou 4. Para polinmios de
grau maior ou igual a 5 foi provado que impossvel obter as suas razes por meio de
operaes algbricas.
Vejamos alguns resultados importantes sobre a existncia e localizao das razes de polinmios.
D. Andrade Clculo Numrico 49
Teorema 3.13.1 (Teorema Fundamental da lgebra) Se p(x) um polinmio de grau n 1,
ento p(x) possui n razes.
Teorema 3.13.2 Se p(x) um polinmio de grau mpar, ento p(x) possui ao menos uma raiz real.
Teorema 3.13.3 (Resto) Seja p(x) um polinmio. O resto da diviso de p(x) por x a igual a
p(a). Isto , p(x) = q(x)(x a) + p(a) para algum polinmio q(x).
3.13.1 Localizao de razes
O Teorema de Sturm: O Teorema de Sturm apresenta um critrio para determinar a quan-
tidade de razes que um polinmio possui em um dado intervalo.
Vamos supor que f (x) seja um polinmio sem razes mltiplas. Assim, MDC( f (x), f

(x)) =
1. Utilizamos o algoritmo de Euclides da seguinte forma.
f
0
(x) = f (x)
f
1
(x) = f

(x)
f
0
(x) = q
1
(x) f
1
(x) f
2
(x)
f
1
(x) = q
2
(x) f
2
(x) f
3
(x)
.
.
. =
.
.
.
f
r1
(x) = q
r
(x) f
r
(x) 0
os polinmios f
2
, f
3
, . . . , f
r
so os restos das divises com o sinal trocado.
Como MDC( f (x), f

(x)) = 1, segue que f


r
(x) uma constante e o processo pra.
Consideremos a seqncia de funes
P = f
0
(x), f
1
(x), . . . , f
r
(x).
Se a no raiz de f (x) vamos denotar por (a) o nmero de mudanas de sinal (ignorando
os zeros) na seqncia P(a).
Agora podemos enunciar o Teorema de Sturm.
Teorema 3.13.4 (Sturm) Seja f (x) um polinmio e sejam b < c reais. Se f (b) ,= 0 e f (c) ,= 0,
ento o nmero de razes distintas de f (x) entre b e c dado por (b) (c).
Exemplos
a) Seja f (x) = x
3
6x
2
+ 11x 6. A seqncia de funes
P = x
3
6x
2
+ 11x 6, x
2
4x +
11
3
, x 2, 1.
Tomemos b = 0 e c = 4 e o seguinte quadro de mudanas de sinais da sequncia em P:
50
pontos sinais de P
0 - + - +
4 + + + +
Segue que (b) (c) = 3 0 = 3 e portanto existem trs razes nesse intervalo. Veja o
grco 3.13.1.
b) Para o polinmio p(x) = x
4
10x
3
+ 35x
2
50x + 24 temos a seguinte sequncia
P = x
4
10x
3
+ 35x
2
50x + 24, x
3

15
2
x
2
+
35
2
x
25
2
, x
2
5x +
29
5
, x
5
2
, 1.
Tomemos b = 0 e c = 5, temos a seguinte distribuio de sinais
pontos sinais de P
0 + - + - +
5 + + + + +
segue que w(b) w(c) = 4 0 = 4 e portanto o polinmio possui 4 razes no intervalo
[0, 5].
c) Para o polinmio p(x) = x
3
+ 2x
2
5x 6 temos a seguinte sequncia
P = x
3
+ 2x
2
5x 6, x
2
+
4
3
x
5
3
, x +
22
9
, 1.
Tomemos b = 4 e c = 4. Segue que (b) (c) = 3 e portanto existem trs razes nesse
intervalo.
Figura 3.13.13: Exemplo a Figura 3.13.14: Exemplo b
O Maple tem uma rotina que determina a sequncia dos polinmios do teorema de Sturm:
D. Andrade Clculo Numrico 51
>s := sturmseq(x^3 +2*x^2 -5*x-6, x);
s := [x^3 +2x^2 -5x-6,x^2 +(4/3)* x-5/3,
x+22/19 ,1]
> sturm(s,x,-4,4);
3
Assim, o polinmio possui 3 razes no internavalo [4, 4].
Critrio de Descartes
Nmero de Razes Reais Positivas: O nmero de zeros reais positivos p de um polinmio
p(x) com coecientes reais, no excede ao nmero de variaes de sinal dos coecientes
de p(x). Alm disso, p um inteiro par e no negativo.
Para o polinmio p(x) = x
4
10x
3
+ 35x
2
50x + 24 temos que o nmero de variaes de
sinais = 4. Segue que o nmero de razes positivas p deve satisfazer 4 p 0 inteiro
par. Assim, p = 4 ou p = 2 ou p = 0.
Para determinar o nmero de razes reais negativas basta aplicar o procedimento acima ao
polinmio p(x). Isto , as razes negativas de p(x) so as razes positivas de p(x).
Para o polinmio p(x) = x
4
10x
3
+ 35x
2
50x + 24 temos que p(x) = x
4
+ 10x
3
+
35x
2
+ 50x + 24 e

= 0 e portanto

0, ou seja p

= 0, no existe raiz negativa.


Para o polinmio p(x) = x
5
3 x
4
+ x
3
x
2
+ 2 x + 1 temos que = 4 e p deve satisfazer
4 p 0 deve ser inteiro par. Segue que p = 4, 2 ou p = 0. Trocando x por x temos
p(x) = x
5
3 x
4
x
3
x
2
2 x + 1, nesse caso o nmero de variaes de sinais de
p(x)

= 1 e assim o nmero de razes negativas p

deve satisfazer 1 p

0 inteiro e
par. Segue que p

= 1.
Teorema 3.13.5 Seja p(x) = a
n
x
n
+a
n1
x
n1
+ +a
1
x +a
0
um polinmio de grau n (portanto
a
n
,= 0) e seja
= 1 + max
0kn1
[a
k
[
[a
n
[
.
Ento, as razes de p(x) pertencem ao crculo [x[ .
Para o p(x) = x
4
10x
3
+ 35x
2
50x + 24 temos = 1 + max10, 35, 50, 24 = 51. Segue
que as razes de p(x) pertecem ao crculo [x[ 51. Em particular, as razes reais pertecem
ao intervalo [51, 51].
Para o polinmio p(x) = x
3
6x
2
+ 11x 6 temos = 1 + max6, 11, 6 = 12. Segue que
todas as suas razes pertencem ao crculo [x[ 12.
3.13.2 Forma encaixada de um polinmio
Dado um polinmio p(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
de grau n, para calcularmos o
valor p(c) realizamos n adies e at
n(n + 1)
2
multiplicaes. Para n grande a substituio
52
direta de x por c na expresso do polinmio no computacionalmente eciente. Usando
a forma encaixada de um polinmio calculamos o valor p(c) realizando apenas n adies e
n multiplicaes.
Calcular de forma eciente o valor de um polinmio importante na utilizao do mtodo
de Newton-Raphson:
x
k+1
= x
k

p(x
k
)
p

(x
k
)
.
Vamos ilustrar a forma encaixada de um polinmio com alguns exemplos:
grau 2: p
2
(x) = ax
2
+ bx + c = (ax + b)x + c. Assim, a forma encaixada p
2
(x) = (ax +
b)x + c.
grau 3: p
3
(x) = a
3
x
3
+ a
2
x
2
+ a
1
x + a
0
= (((a
3
x + a
2
)x + a
1
)x) + a
0
. Assim, a forma
encaixada p
3
(x) = (((a
3
x + a
2
)x + a
1
)x) + a
0
.
grau 4: p
4
(x) = a
4
x
4
+ a
3
x
3
+ a
2
x
2
+ a
1
x + a
0
= (((a
4
x + a
3
)x + a
2
)x + a
1
)x)) + a
0
. Assim,
a forma encaixada p
4
(x) = ((((a
4
x + a
3
)x + a
2
)x + a
1
)x) + a
0
.
Chamando b
4
= a
4
, b
3
= b
4
x + a
3
, b
2
= b
3
x + a
2
e b
1
= b
2
x + a
1
e b
0
= b
1
x + a
0
, podemos
calcular p
4
(x) usando esses coecientes:
b
4
= a
4
b
3
= b
4
x + a
3
b
2
= b
3
x + a
2
b
1
= b
2
x + a
1
b
0
= b
1
x + a
0
= p
4
(x)
Essa forma encaixada pode ser colocada numa tabela conhecida como dispositivo prtico
de Briot-Rufni-Hrner (ilustramos aqui com um polinmio de grau 4).
a
4
a
3
a
2
a
1
a
0
x b
4
x b
3
x b
2
x b
1
x
b
4
b
4
x + a
3
. .
b
3
b
3
x + a
2
. .
b
2
b
2
x + a
1
. .
b
1
b
1
x + a
0
. .
b
0
No caso geral de um polinmio p(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
de grau n, tem-se
p(x) = ((. . . (a
n
x + a
n1
)x + + a
2
)x + a
1
)x + a
0
,
e portanto
b
n
= a
n
b
n1
= b
n
x + a
n1
b
n2
= b
n1
x + a
n2
.
.
. =
.
.
.
b
0
= b
1
x + a
0
= p
n
(x)
D. Andrade Clculo Numrico 53
ou recursivamente:
b
n
= a
n
b
j
= b
j+1
x + a
j
, j = n 1, . . . , 2, 1, 0.
No caso geral a tabela para o dispositivo de Briot-Rufni-Hrner
a
n
a
n1
a
n2
a
2
a
1
a
0
x b
n
x b
n1
x b
3
x b
2
x b
1
x
b
n
b
n
x + a
n1
. .
b
n1
b
n1
x + a
n2
. .
b
n2
b
3
x + a
2
. .
b
2
b
2
x + a
1
. .
b
1
b
1
x + a
0
. .
b
0
Podemos utilizar os coecientes b
j
para calcular p

(x). Vamos fazer a demonstrao para o


caso de um polinmio de grau 4.
Seja p(x) = a
4
x
4
+ a
3
x
3
+ a
2
x
2
+ a
1
x + a
0
. Temos que
b
4
= a
4
a
4
= b
4
b
3
= b
4
x + a
3
a
3
= b
3
b
4
x
b
2
= b
3
x + a
2
a
2
= b
2
b
3
x
b
1
= b
2
x + a
1
a
1
= b
1
b
2
x
b
0
= b
1
x + a
0
a
0
= b
0
b
1
x
Como p

(x) = 4a
4
x
3
+ 3a
3
x
2
+ 2a
2
x + a
1
, substituindo os valores de a
i
obtemos
p

(x) = 4b
4
x
3
+ 3(b
3
b
4
x)x
2
+ 2(b
2
b
3
x)x + (b
1
b
2
x).
Realizando as simplicaes, chega-se a
p

(x) = b
4
x
3
+ b
3
x
2
+ b
2
x + b
1
.
Assim, o valor p

(x) pode ser obtido utilizando os coecientes b


j
.
Aplicando o esquema de Briot-Rufni-Hrner a esse polinmio, obtemos
c
4
= b
4
c
3
= c
4
x + b
3
c
2
= c
3
x + b
2
c
1
= b
1
x + b
1
= p

(x)
Em geral, os coecientes c
j
so dados recursivamente por
c
n
= b
n
c
j
= c
j+1
x + b
j
, j = n 1, . . . , 2, 1.
Podemos calcular p(x) e p

(x) simultaneamente numa mesma tabela. Ilustramos no caso


geral:
54
a
n
a
n1
a
n2
a
2
a
1
a
0
x b
n
x b
n1
x b
3
x b
2
x b
1
x
b
n
b
n
x + a
n1
. .
b
n1
b
n1
x + a
n2
. .
b
n2
b
3
x + a
2
. .
b
2
b
2
x + a
1
. .
b
1
b
1
x + a
0
. .
b
0
=p(x)
x c
n
x c
n1
x c
3
x c
2
x
c
n
c
n
x + b
n1
. .
c
n1
c
n1
x + b
n2
. .
c
n2
c
3
x + b
2
. .
c
2
c
2
x + b
1
. .
c
1
=p

(x)
Exemplo 3.13.6
Vamos avaliar p(3.5) e p

(3.5) onde p(x) = x


3
6x
2
+ 11x 6 utilizando o dispositivo
prtico.
1 6 11 6
3.5 3.5 8.75 7.875
1 2.5 2.25 1.875 = p(3.5)
3.5 3.5 3.5
1 1.0 5.75 = p

(3.5)
Repetindo com x = 3.17, temos
1 6 11 6
3.17 3.17 8.97 6.4351
1 2.83 2.0325 0.4351 = p(3.17)
3.17 3.17 1.0778
1 0.34 3.1103 = p

(3.17)
Querendo empregar o mtodo de Newton-Raphson para o polinmio p(x) = x
3
6x
2
+
11x 6 com x
0
= 3.5, obtemos
x
1
= x
0

p(x
0
)
p

(x
0
)
= 3.5
1.875
5.75
3.17
x
2
= x
1

p(x
1
)
p

(x
1
)
= 3.17
0.4351
3.1103
3.030.
Note que x = 3 uma raiz do polinmio.
Exerccio 3.13.7
1. Usando o mtodo de Newton, determine o menor x positivo, com erro relativo infe-
rior a 10
2
, tal que a matriz abaixo seja singular
_
_
x
1
3
x
1 x 0
x 9 6
_
_
D. Andrade Clculo Numrico 55
6
4
2
0
2
4
6
1 2 3 4
x
Figura 3.13.15: grco de p(x) = x
3
6x
2
+ 11x 6
2. Use o Newton-Raphson para polinmios para determinar a raiz pertencente ao in-
tervalo [0,1] do polinmio p(x) = x
3
+ 2x
2
0.85x 1.7.
3. Use o mtodo das aproximaes sucessivas e o mtodo de Newton-Raphson para
determinar a menor raiz positiva, com 5 casas decimais exatas.
a) x
5
x 1 = 0
b) x
2
cos(x) = 0
c) exp(x
2
) x
2
2x + 2 = 0
4. Descreva um algoritmo para o clculo da raiz cbica de um nmero usando o mtodo
de Newton-Raphson.
5. Use o mtodo das secantes para determinar a raiz da equao x
3
2x
2
+ 2x 5 = 0
localizada no intervalo [2, 2.5].
6. Use o mtodo das secantes para determinar a raiz da equao x
2
+ x 6 = 0 com
x
0
= 1.5 e x
1
= 1.7.
7. A equao (
x
2
sin x)
2
= 0 tem uma raiz positiva com multiplicidade 2 no intervalo
[1, 2]. Use o Mtodo de Newton-Raphson modicado para determinar esta raiz com
5 casas decimais exatas.
56
8. Verique que a equao x
3
x +
2

3
9
= 0 tem a =

3
3
como raiz de multiplicidade
2. Use o mtodo de Newton-Raphson modicado para obter uma aproximao para
a com 3 casas decimais exatas.
9. Uma raiz de x
4
2x
3
2x 1 = 0 x = 1. Qual a multiplicidade desta raiz. Quantas
razes reais tem esta equao?
3.14 Resumo do captulo
Neste captulo apresentamos os principais mtodos numricos de soluo para equaes
no lineares f (x) = 0. Os mtodos apresentados so:
1. O mtodo da bisseco;
2. O mtodo das aproximaes sucessivas ou do ponto xo;
3. O mtodo de Newton-Raphson ou mtodo das tangentes;
4. O mtodo das secantes;
5. Tambm estudamos alguns teoremas de localizao de razes de polinmios.
4
Sistemas lineares: mtodos diretos
4.1 Introduo
Os mtodos numricos para soluo de sistemas de equaes lineares podem ser agrupados
em mtodos diretos e mtodos iterativos. Dentre os mtodos diretos podemos citar a regra
de Cramer e o mtodo de eliminao de Gauss que so bem conhecidos. Existem outros
mtodos diretos que vamos estudar nesse captulo, como o mtodo de decomposio LU e
o mtodo de decomposio Cholesky.
O mtodo de decomposio LU uma consequncia do mtodo de eliminao de Gauss.
A decomposio de Cholesky uma particularizao da decomposio LU. Os mtodos
de decomposio so importantes na resoluo de sistemas de equaes lineares, como
veremos a seguir.
Os mtodos iterativos, amplamente empregados para sistemas de grande porte, so re-
sultados importantes cujas demonstraes utilizam o teorema do ponto xo de Banach.
Estudaremos o mtodo de Gauss-Jacobi e o mtodo de Gauss-Seidel no prximo captulo.
57
58
4.2 O mtodo de eliminao de Gauss
Consideremos o sistema de equaes lineares dado por
a
11
x
1
+ a
12
x
2
+ a
13
x
3
+ + a
1m
x
m
= b
1
a
21
x
1
+ a
22
x
2
+ a
23
x
3
+ + a
2m
x
m
= b
2
a
31
x
1
+ a
32
x
2
+ a
33
x
3
+ + a
3m
x
m
= b
3
.
.
.
.
.
. =
.
.
.
a
n1
x
1
+ a
n2
x
2
+ a
n3
x
3
+ + a
nm
x
m
= b
n
.
O mtodo de eliminao de Gauss um mtodo direto para resolver sistemas de equaes
lineares, consiste em utilizar operaes elementares sobre as linhas da matriz ampliada do
sistema para transformar essa matriz ampliada em uma outra equivalente que seja triangu-
lar superior. Uma vez tendo o sistema na forma triangular superior, a soluo obtida pela
substituio inversa.
Dado o sistema Bx = b,
_

_
a
11
a
12
... a
1n
... a
1m
a
21
a
22
... a
2n
... a
2m
... ... ... ... ... ...
a
n1
a
n2
... a
nn
... a
nm
_

_
. .
=B
_

_
x
1
x
2
.
.
.
x
m
_

_
=
_

_
b
1
b
2
.
.
.
b
n
_

_
seja A a matriz ampliada do sistema de dimenso n (m + 1), dada por
A =
_

_
a
11
a
12
... a
1n
... a
1m
b
1
a
21
a
22
... a
2n
... a
2m
b
2
... ... ... ... ... ... ..
a
n1
a
n2
... a
nn
... a
nm
b
n
_

_
Nas operaes elementares a serem realizadas a seguir estamos supondo que sempre
possvel obter em cada coluna um elemento no nulo.
Para iniciar o processo vamos denotar A
(0)
= A e os seus elementos denotados por a
(0)
ij
.
Os multiplicadores so dados por
m
k1
=
a
(0)
k1
a
(0)
11
, k = 2, 3, .., n
A m de eliminar os elementos a
(0)
k1
, k = 2, 3, ..., n realizamos as seguintes operaes ele-
mentares sobre as linhas
L
k
L
k
m
k1
L
1
, k = 2, 3, ..., n.
D. Andrade Clculo Numrico 59
Aps essa etapa obtemos a matriz A
(1)
cujos elementos so denotados por a
(1)
ij
. Note que
os elementos a
(1)
k1
= 0, k = 2, 3, ..., n.
A m de eliminar os elementos a
(1)
k2
, k = 3, ..., n precisaremos nessa etapa dos multipli-
cadores
m
k2
=
a
(1)
k2
a
(1)
22
, k = 3, .., n
e realizamos as seguintes operaes
L
k
L
k
m
k2
L
2
, k = 3, ..., n.
Aps essa operao obtemos a matriz A
(2)
cujos elementos so denotados por a
(2)
ij
. Note
que a
(2)
k2
= 0, k = 3, ..., n.
Continuando esse procedimento, ao nal da (n 1)-sima etapa obteremos uma matriz
triangular superior dada por
A
(n1)
=
_

_
a
(n1)
11
a
(n1)
12
a
(n1)
13
..... a
(n1)
1n
...... a
(n1)
1m
b
(n1)
1
0 a
(n1)
22
a
(n1)
23
...... a
(n1)
2n
...... a
(n1)
2m
b
(n1)
2
0 0 a
(n1)
33
...... a
(n1)
3n
...... a
(n1)
3m
b
(n1)
3
0 0 0 ..... ... ...... ... ...
... ... ... ..... ... ...... ... ...
0 0 0 ...... a
(n1)
nn
...... a
(n1)
nm
b
(n1)
n
_

_
O sistema original equivalente ao sistema triangular superior obtido ao nal desse pro-
cesso. Ambos os sistemas possuem o mesmo conjunto soluo. Assim, o conjunto soluo
do sistema original a exatamente o conjunto soluo do sistema triangular superior que
pode ser obtido por substituio inversa.
Note que um sistema triangular superior
a
11
x
1
+ a
12
x
2
+ a
13
x
3
+ + a
1n
x
n
= b
1
a
22
x
2
+ a
23
x
3
+ + a
2n
x
n
= b
2
a
33
x
3
+ + a
3n
x
n
= b
3
=
a
nn
x
n
= b
n
com matriz ampliada dada por
M =
_

_
a
11
a
12
a
13
. . . a
1n
[ b
1
0 a
22
a
23
. . . a
2n
[ b
2
0 0 a
33
. . . a
3n
[ b
3
.
.
.
.
.
.
.
.
. . . .
.
.
. [
.
.
.
0 0 0 . . . a
nn
[ b
n
_

_
60
vemos que a soluo, obtida por substituio inversa, dada por
x
n
=
b
n
a
nn
x
n1
=
b
n1
a
n1,n
x
n
a
n1,n1
=
x
1
=
b
1
a
12
x
2
a
13
x
3
a
1n
x
n
a
11
Analogamente, em um sistema triangular inferior a soluo obtida por substituio direta.
Deixamos como exerccio para o leitor:
Exemplo 4.2.1
Considere o sistema de equaes lineares
10x + 5y + 2z + 1w = 1
2x + 8y 2z + 1w = 2
4x + 5y + 20z + 1w = 3
2x 3y + 22z + 2w = 1
A matriz ampliada desse sistema
A =
_

_
10 5 2 1 1
2 8 2 1 2
4 5 20 1 3
2 3 22 2 1
_

_
Vamos triangularizar a matriz ampliada A utilizando o procedimento apresentado acima.
Os multiplicadores so
m
21
=
2
10
= 0.2,
m
31
=
4
10
= 0.4,
m
41
=
2
10
= 0.2.
As operaes elementares para anular as entradas de posio a
21
, a
31
, a
41
so as seguintes:
L
2
L
2
m
21
L
1
= L
2

2
10
L
1
,
L
3
L
3
m
31
L
1
= L
3

4
10
L
1
,
L
4
L
4
m
41
L
1
= L
4

2
10
L
1
.
D. Andrade Clculo Numrico 61
Aps essas operaes teremos a seguinte matriz A
(1)
A
(1)
=
_

_
10 5 2 1 1
0 7 2.4 0.8 1.8
0 3 19.20 0.6 2.6
0 4 21.6 0.2 0.8
_

_
Para o prximo passo os multiplicadores so
m
32
=
3
7
= 0.42857,
m
42
=
4
7
= 0.5714
As operaes elementares para anular as entradas de posio a
(1)
32
, a
(1)
42
so as seguintes:
L
3
L
3
m
32
L
2
= L
3

3
7
L
2
,
L
4
L
4
m
42
L
2
= L
4
+
4
7
L
2
.
Aps essas operaes teremos a seguinte matriz A
(2)
A
(2)
=
_

_
10 5 2 1 1
0 7 2.4 0.8 1.8
0 0 20.2286 0.25714 1.82857
0 0 20.2286 2.25714 1.82857
_

_
Finalmente, para o prximo e ltimo passo o multiplicador
m
43
=
20.2286
20.2286
= 1.
As operaes elementares para anular as entradas de posio a
(2)
43
so as seguintes:
L
4
L
4
m
43
L
3
= L
4
L
3
.
Aps essas operaes teremos a seguinte matriz A
(3)
A
(3)
=
_

_
10 5 2 1 1
0 7 2.4 0.8 1.8
0 0 20.2286 .25714 1.82857
0 0 0 2 0
_

_
Esse um sistema triangular superior:
62
10x + 5y + 2z + 1w = 1
7y 2.4z + 0.8w = 1.8
20.2286z + 0.25714w = 1.82857
2w = 0
Donde obtemos que
w = 0
z =
1.82857 0.25714w
20.2286
= 0.090395
y =
1.8 + 2.4z 0.8w
7
= 0.288136
x =
1 5y + 2z w
10
= 0.0621469
Resumo:
Em cada passo k denotamos por A
(k)
= (a
(k)
ij
) a matriz obtida aps este passo.
Os passos so os seguintes:
Passo 1: eliminar a
k1
, k = 2, 3, . . . , n, utilizando os multiplicadores m
k1
=
a
k1
a
11
, k = 2, 3, . . . , n
obtendo a matriz A
(1)
Passo 2: eliminar na matriz A
(1)
, os elementos a
(1)
k2
, k = 3, 4, . . . , n utilizando os multipli-
cadores m
k2
=
a
(1)
k2
a
(1)
22
, k = 3, . . . , n.
Prosseguindo at atingir o passo (n 1) cujo objetivo eliminar a
n,n1
Os elementos a
11
, a
(1)
22
, a
(2)
33
, . . . , a
(n1)
nn
so chamados de pivot e os nmeros
m
ki
=
a
(k1)
ki
a
(k1)
kk
, k = 1, 2, . . . , n 1, i = k + 1, . . . , n (4.2.1)
so chamados de multiplicadores.
4.3 Usando Maple: sistema triangular
O seguinte exemplo em Maple determina a soluo de um sistema de equaes lineares
triangular superior Bx = b. A sintaxe subinversa(A), onde A matriz ampliada do sistema.
O procedimento testa se o sistema triangular superior ou no.
> restart:
> with(linalg):
D. Andrade Clculo Numrico 63
> subinversa:=proc(a)
local n, x, i, j, t, soma:
n:=rowdim(a): # dimenso do espao linhas.
# Teste para sistema triangular.
for i from 2 to n do
for j from 1 to i-1 do
if a[i,j]<>0 then ERROR(Este sistema no triangular superior) fi
od:
od:
# Substituio inversa.
x[n]:=a[n,n+1]/a[n,n]:
for j from 1 to n-1 do
soma:=0:
for t from n-j+1 to n do
soma:=soma+a[n-j,t]*x[t]:
od:
x[n-j]:=(a[n-j,n+1]-soma)/a[n-j,n-j]:
od:
# Escrevendo vetor soluo.
vector( [seq(x[s], s=1..n)] ):
end:
## Exemplo
> A:=matrix([ [2,1,3,2], [0,3,-5,8] , [0,0,2,-2] ]);
> subinversa(A);
4.4 Estratgias de pivoteamento
Supomos at agora que em cada etapa do processo de eliminao de Gauss os elementos a
(k)
ii
fossem no nulos. Se em algum passo a
(k1)
kk
= 0 deve-se ento procurar na coluna k, dentre
os elementos que ainda atuam no processo (os elementos a
jk
, j = k +1, . . . , n), um elemento
no nulo e efetuar a permutao entre as linhas. Os elementos a
(0)
11
, a
(1)
22
, . . . , a
(n2)
n1,n1
so
chamados de elementos pivot.
H dois problemas neste mtodo que instvel:
(1i) o pivot nulo (a diviso nesse caso impossvel) e
(2i) pivot prximo de zero (a diviso nesse caso aumenta o erro de arredondamento drasti-
camente).
Nestes casos deve-se adotar uma estratgia de pivoteamento. Essa estratgia reduz erros de
arredondamento nas operaes realizadas com as linhas da matriz.
A estratgia de pivoteamento parcial consiste em tomar para pivot o maior elemento (em
mdulo) dentre os elementos da coluna que ainda atuam no processo. No pivoteamento
64
completo ou total, toma-se, em cada passo, como pivot o maior elemento (em mdulo) den-
tre os elementos da matriz que ainda atuam no processo de eliminao de Gauss. O
pivoteamento completo pouco utilizado, pois envolve muitas comparaes que o torna
computacionalmente trabalhoso, consumindo tempo e memria da mquina.
Pode-se provar que as estratgias de pivoteamento parcial e pivoteamento completo mini-
mizam erros.
Para ilustrar essa tcnica, vejamos um exemplo em que a estratgia de pivoteamente no
empregada e a soluo obtida absurda. Em seguida, a estratgia de pivoteamente
empregada e a soluo obtida mais prxima do valor exato.
claro que se utilizarmos preciso innita, no haver erros de arredondamento, por isso
nesse exemplo trabalhamos com 4 dgitos na casa decimal.
0.0001x 1y = 0.9999
1.4142x + y = 2.4142
Vemos claramente que x = y = 1 a soluo. Mas utilizando eliminao de Gauss (sem
estratgias de pivoteamento), obtemos
_
0.0001 1 0.9999
0.0 14100.0 14100.0
_
cuja soluo y = 1.0, x = 20000 no satisfaz ao sistema original.
Agora realizando pivoteamento, que nesse caso, resume-se em permutar as duas linhas,
obtemos o sistema de matriz ampliada
_
1.4142 1 2.4142
0.0001 1 0.9999
_
donde obtemos a matriz triangular superior
_
1.4142 1 2.4142
0.0 1.0 1.0
_
cuja soluo x = y = 1.
Esse exemplo simples mostra a necessidade da utilizao de estratgias de pivoteamento.
Exerccio 4.4.1 1. O sistema de equaes lineares
x
1
+ x
2
+ 3x
4
= 4,
x
2
x
3
5x
4
= 7,
3x
3
+ 13x
4
= 13,
13x
4
= 13
triangular superior, use substituio inversa para obter a soluo.
D. Andrade Clculo Numrico 65
2. Use o mtodo de eliminao de Gauss para obter a soluo do sistema de equaes
lineares
x
1
+ x
2
+ 3x
4
= 4,
2x
1
x
2
x
3
+ x
4
= 1,
3x
1
x
2
x
3
+ 2x
4
= 3,
x
1
+ 2x
2
+ 3x
3
x
4
= 4.
3. O sistema de equaes lineares tem soluo exata x
1
= 10.000 e x
2
= 1.000,
0.003000x
1
+ 59.14x
2
= 59.17,
5.291x
1
6.130x
2
= 46.78.
Use o processo de eliminao de Gauss (sem pivoteamento) para obter a soluo
deste sistema usando aritmtica com quatro dgitos e arredondamento.
Agora use estratgia de pivoteamento para resolver o sistema e compare as solues
obtidas.
4.5 Usando Maple: o mtodo de eliminao de Gauss
O seguinte procedimento em Maple, EGauss

pivot, para o mtodo de eliminao de Gauss


usa estratgia de pivoteamento parcial para determinar a soluo de um sistema de equaes
lineares Ax = b. A sintaxe EGauss

pivot(A,b), onde A matriz do sistema e b o vetor


independente.
> EGauss_pivot :=
proc(A,b)
local i,j,k,n,pivot,ind_pivot,ratio,x,Ab;
# i,j,k so indices.
# n a dimenso da matriz.
# pivot o pivot.
# ind_pivot o ndice da linha que contm o pivot.
# ratio - usado para armazenar a razo entre dois elementos da matriz
# quando realizar a eliminao.
# Ab a matriz aumentada.
n := rowdim(A);
Ab := augment(A,b);
for i from 1 to n do
pivot := abs(Ab[i,i]);
ind_pivot := i;
for j from i+1 to n do
if (abs(Ab[j,i]) > pivot) then
66
pivot := abs(Ab[j,i]);
ind_pivot := j;
fi;
od;
if (pivot = 0) then
#Todos os elementos abaixo RETURN(Matriz singular); #da linha
atual so nulos.
fi;
if (ind_pivot <> i) then #devemos trocar as linhas.
troca(Ab,i,ind_pivot); #troca linhas.
fi;
# Eliminao dos elementos na coluna i de todas as linhas
# abaixo do atual.
for j from i+1 to n do
ratio := Ab[j,i]/Ab[i,i];
for k from i to n+1 do
Ab[j,k] := Ab[j,k] - ratio*Ab[i,k];
od;
od;
od;
# a matriz agora triangular superior e podemos calcular
# a soluo por substituio inversa
x := vector(n);
for i from n by -1 to 1 do
x[i] := Ab[i,n+1];
for j from i+1 to n do
x[i] := x[i] - Ab[i,j]*x[j];
od;
x[i] := x[i]/Ab[i,i];
od;
print(Matriz aumentada reduzida a triangular superior ,
:, Ab);
print(A soluo :, x);
end:
#Exemplo
> A := matrix(3,3,[[-1.414214,2,0],[1,-1.414214,1],[0,2,-1.414214]]);
> b := vector(3,[1,1,1]);
> z := EGauss_pivot(A,b);
D. Andrade Clculo Numrico 67
4.6 Decomposio LU
A decomposio LU uma variante do mtodo de eliminao de Gauss. Dizemos que uma
matriz A
nn
admite uma decomposio LU, se existem matrizes L e U, triangulares inferior
e superior, respectivamente, tais que A = LU. Conhecer a decomposio em LU de uma
matriz A til e facilita na resoluo de sistemas de equaes lineares Ax = b. Esta a
grande utilidade dos mtodos de decomposio ou fatorao.
Vejamos como isso acontece, muito simples.
Suponha que desejamos obter a soluo do sistema de equaes lineares Ax = b, mas
sabendo que A se fatora como A = LU. Ento resolvemos dois sistemas de equaes
lineares mais simples:
Ly = b (4.6.2)
Ux = y. (4.6.3)
Note que o sistema (4.6.2) simples (pois um sistema triangular inferior) e o sistema
(4.6.3) tambm simples (pois um sistema triangular superior). Para a soluo do
sistema (4.6.2) usamos substituio direta, enquanto que para a soluo do sistema (4.6.3)
usamos substituio inversa.
Como saber se uma matriz admite decomposio LU? Para responder a essa questo pre-
cisamos de alguns conceitos.
Dizemos que uma matriz A
nn
diagonalmente dominante se
[a
ii
[
n

j=1,j,=i
[a
ij
[, i = 1, 2, .., n.
A matriz A estritamente diagonalmente dominante se
[a
ii
[ >
n

j=1,j,=i
[a
ij
[, i = 1, 2, .., n.
Teorema 4.6.1 Toda matriz estritamente diagonalmente dominante tem inversa. Alm disso, o pro-
cesso de eliminao de Gauss pode ser realizado sem a necessidade de permutao de linhas ou colunas.
Lembramos que a cada operao elementar sobre as linhas de uma matriz A, corresponde
uma matriz chamada elementar E tal que EA o resultado desta operao. A matriz
elementar E obtida da matriz identidade realizando sobre ela a mesma operao elementar
realizada sobre a matriz A.
No mtodo de eliminao de Gauss, realizamos operaes elementares sobre a matriz A
com o objetivo de triangulariz-la, obtendo em cada passo as matrizes
A = A
(0)
, A
(1)
, ..., A
(n1)
68
sendo A
(n1)
triangular superior. Logo, podemos notar do processo de eliminao de
Gauss, que a matriz triangular superior A
(n1)
obtida por meio de um produto de ma-
trizes elementares:
A
(n1)
= E
n1
E
n2
...E
2
E
1
A.
Ou seja,
A = (E
n1
E
n2
...E
2
E
1
)
1
A
(n1)
= (E
1
1
E
1
2
...E
1
n1
)A
(n1)
.
Note que A
(n1)
triangular superior. Se evitarmos permutaes de linhas ou colunas so-
bre A, a matriz dada por (E
1
1
E
1
2
...E
1
n1
) triangular inferior com 1 na diagonal principal
(produto de triangulares inferiores com 1 na diagonal uma matriz triangular inferior com
1 na diagonal).
Estas observaes so a base para a demonstrao desse resultado.
O teorema acima na verdade d um processo para construir as matrizes L e U: a matriz L
obtida a partir dos multiplicadores m
ij
que voc armazena durante o processo de eliminao
de Gauss, sendo m
ii
= 1; a matriz U a matriz triangular superior obtida ao nal do
processo de eliminao de Gauss.
Uma verso mais simples do teorema acima a seguinte:
Teorema 4.6.2 Se o mtodo de eliminao de Gauss pode ser realizado sobre A
nn
sem trocas de
linhas ou colunas, ento A pode ser escrita como A = LU, onde L = (m
ij
) triangular inferior
com m
ii
= 1, e U = (u
ij
) em que U = A
(n1)
matriz triangular superior.
Outro importante resultado o seguinte teorema.
Teorema 4.6.3 Se A
nn
uma matriz com todos os determinantes de suas submatrizes principais
diferentes de zero, ento, existe uma nica matriz triangular inferior L = (m
ij
) (estes so os mul-
tiplicadores dados em (4.2.1)) com m
ii
= 1, e uma matriz triangular superior U = (u
ij
) em que
U = A
(n1)
tal que A = LU.
Demonstrao: A demonstrao por induo sobre a dimenso n da matriz A. Primeira-
mente vamos provar que o resultado vale para n = 1.Nesse caso, A = [a
11
] , e portanto
L = [1] , U = [u
11
] e a
11
= u
11
.
Suponha que a decomposio seja vlida para toda matriz at ordem k = n 1 que tenha
subdeterminantes principais no nulos, isto , A
n1
= L
n1
U
n1
.
Seja A =
_
A
n1
s
r a
nn
_
e de modo anlogo sejam L =
_
L
n1
0
x 1
_
e U =
_
U
n1
y
0 u
nn
_
.
O produto LU =
_
L
n1
U
n1
L
k1
y
xU
n1
xy + u
nn
_
deve ser igual a A. Isso s possvel se,
A
n1
= L
n1
U
n1
s = L
k1
y
r = xU
n1
a
nn
= xy + u
nn
D. Andrade Clculo Numrico 69
Como A
n1
= L
n1
U
n1
por hiptese e L
n1
, U
n1
so no-singulares, ento temos
y = L
1
k1
s
x = rU
1
n1
u
nn
= a
nn
xy.
Isso conclui a prova.
Veja [10] para outros resultados.
Reforando: (i) Nas matrizes estritamente diagonalmente dominantes A, os sistemas Ax =
b podem ser resolvidos pelo mtodo de eliminao de Gauss sem a necessidade de permutar
linhas ou colunas.
(2i) Se A
nn
uma matriz com todos os determinantes de suas submatrizes principais
diferentes de zero, ento o mtodo de eliminao de Gauss pode ser aplicado sem a neces-
sidade de permutar linhas ou colunas.
Exemplo 4.6.4 A matriz dada por
A =
_

_
7 1 2 2
1 4 0 1
2 1 8 1
1 1 1 7
_

_
estritamente diagonalmente dominante. Segue que existem matrizes triangular inferior L e superior
U tais que A = LU. De fato,
A =
_

_
1 0 0 0
1/7 1 0 0
2/7
5
27
1 0
1/7 2/9
21
202
1
_

_
_

_
7 1 2 2
0
27
7
2/7 5/7
0 0
202
27
8
27
0 0 0
659
101
_

_
Exemplo 4.6.5 A matriz do exemplo 4.2.1 no estritamente diagonalmente dominante, mas os
seus subdeterminates principais so 10.0, 70.0 e 1416.0 e portanto admite decomposio LU. De fato,
_

_
10.0 5.0 2.0 1.0
2 8 2 1
4 5 20 1
2 3 22 2
_

_
=
_

_
1 0 0 0
0.20 1 0 0
0.4 0.428571 1 0
0.2 0.571429 1.0 1
_

_
_

_
10.0 5.0 2.0 1.0
0 7.0 2.4 0.8
0 0 20.2286 0.257143
0 0 0 2.0
_

_
70
Exerccio 4.6.6 1. Verique se A admite decomposio LU. Em caso armativo, deter-
mine esta decomposio, onde
A =
_

_
7 1 2 2
1 4 0 1
2 1 3 1
1 1 1 7
_

_
2. Resolva o sistema de equaes lineares usando decomposio LU,
x
1
+ x
2
+ 3x
4
= 4,
2x
1
+ x
2
x
3
5x
4
= 7,
3x
1
x
2
x
3
+ 2x
4
= 3,
x
1
+ 2x
2
+ 3x
3
x
4
= 4.
3. A matriz A abaixo tem a
11
= 0, ento no tem uma decomposio LU,
A =
_

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

_
mas permutando as linhas E
1
com E
2
e E
3
com E
4
obtemos uma matriz

A que admite
uma decomposio LU. Determine P tal que

A = PA, decomponha

A = LU e
nalmente escreva A = P
1
LU.
4.7 Usando Maple: decomposio LU
Exemplo de procedimento em Maple para a decomposio LU.
> restart:with(linalg):
> LU := proc(A,L,U)
local i,j,k,n,razao;
# i,j,k so ndices.
# n a dimeno da matriz
# razao usado para armazenar os multiplicadores
n := rowdim(A);
L := matrix(n,n,0);
U := matrix(n,n);
U := copy(A);for i from 1 to n do
if (U[i,i] = 0) then RETURN(No existe decomposio LU para A);
D. Andrade Clculo Numrico 71
fi;
L[i,i] := 1;
for j from i+1 to n do
razao := U[j,i]/U[i,i];
L[j,i] := razao;
for k from i to n do
U[j,k] := U[j,k] - razao*U[i,k];
od;
od;
od;
print(A matriz L :, L);
print(A matriz U :, U);
end:
#exemplo
> A := matrix(3,3,[[3,2,1],[1,-1,-1],[4,-3,-3]]);
> LU(A,L,U);
4.8 Decomposio Cholesky
A decomposio de Cholesky procura decompor uma matriz A na forma A = LL
T
, onde
L uma matriz triangular inferior com elementos da diagonal principal estritamente posi-
tivos. Para tanto, exige-se muito mais da matriz A.
Uma matriz A dita denida positiva se A simtrica e se x
T
Ax > 0, para todo x ,= 0.
Por exemplo, a matriz
A =
_

_
2 1 0
1 2 1
0 1 2
_

_
simtrica e alm disso
[xyz]
_
_
2 1 0
1 2 1
0 1 2
_
_
_
_
x
y
z
_
_
= x
2
+ y
2
+ z
2
+ (x + y)
2
+ (y + z)
2
> 0.
mostrando que positiva denida.
Tambm a matriz simtrica
A =
_
2 1
1 3
_
denida positiva, pois disso
[xy]
_
2 1
1 3
_ _
x
y
_
= x
2
+ 2y
2
+ (x + y)
2
> 0.
O seguinte resultado d um critrio que ajuda a decidir se uma matriz positiva denida.
72
Teorema 4.8.1 (a) Se A
nn
uma matriz simtrica, ento A possui n autovalores reais e n autove-
tores ortonormais.
(b) Uma matriz simtrica A denida positiva se, e somente se, seus autovalores so reais e posi-
tivos.
(c) Uma matriz simtrica A denida positiva se, e somente se, cada uma de suas submatrizes
principais tm determinante positivo.
(d) Uma matriz simtrica A denida positiva se, e somente se, o processo de eliminao de Gauss
pode ser realizado sem permutao de linhas ou colunas e tem todos os elementos pivots positivos.
Teorema 4.8.2 (Cholesky) Uma matriz simtrica A denida positiva se, e somente se, pode ser
fatorada como LL
T
, onde L uma matriz triangular inferior com elementos positivos na diagonal.
Como obter a matriz L do mtodo de Cholesky? Tomemos uma matriz simtrica e impomos
que ela se decomponha como LL
t
.
_

_
a
11
a
21
... a
n1
a
21
a
22
... a
n2
.
.
.
.
.
.
.
.
.
.
.
.
a
k1
a
k2
... a
kn
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
... a
nn
_

_
=
_

_
l
11
0 0 0 ... 0
l
21
l
22
0 0 ... 0
.
.
.
.
.
.
.
.
. 0
.
.
. 0
l
k1
l
k2
... l
kk
... 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
l
n1
l
n2
.. l
nk
... l
nn
_

_
_

_
l
11
l
21
... l
k1
... l
n1
0 l
22
... l
k2
... ... l
n2
0 0 ... ... ... ...
0. 0 ... l
kk
... ... l
nk
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 ... 0 0 l
nn
_

_
A maneira mais prtica para obter os coecientes (l
ij
) comeando pela primeira coluna,
depois para a a segunda coluna e assim por diante.
Coluna 1: (a
j1
). Efetuando o produto acima obtemos:
_

_
a
11
a
21
.
.
.
a
n1
_

_
=
_

_
l
2
11
l
21
l
11
.
.
.
l
n1
l
11
_

_
ento
l
11
=

a
11
l
j1
=
a
j1
l
11
, j = 2, 3, ..., n
Coluna 2: (a
j2
). De modo anlogo.
_

_
a
21
a
22
a
32
.
.
.
a
n2
_

_
=
_

_
l
11
l
21
l
2
21
+ l
2
22
l
31
l
21
+ l
32
l
22
.
.
.
l
n1
l
21
+ l
n2
l
22
_

_
D. Andrade Clculo Numrico 73
ento obtemos (j conhecemos l
21
e l
11
)
l
22
=
_
a
22
l
2
21
l
j2
=
a
j2
l
j1
l
21
l
22
, j = 3, 4, ..., n
Coluna k: (a
jk
).
Note que nesse passo j so conhecidos todos os elementos l
ik
, i = 1, 2, . . . , k 1. Efetuando
o produto obtemos
_

_
a
k1
a
k2
.
.
.
a
kk
.
.
.
a
kj
.
.
.
a
nk
_

_
=
_

_
l
11
l
1k
l
21
l
1k
+ l
22
l
2k
.
.
.
l
2
k1
+ l
2
k2
+ l
2
k3
+ ... + l
2
kk
.
.
.
l
j1
l
k1
+ l
j2
l
k2
+ ... + l
jk
l
kk
.
.
.
l
n1
l
k1
+ l
n2
l
k2
+ ... + l
nk
l
kk
_

_
donde obtemos
a
kk
= l
2
k1
+ l
2
k2
+ l
2
k3
+ ... + l
2
kk
a
kj
= l
j1
l
k1
+ l
j2
l
k2
+ ... + l
jk
l
kk
, j = k + 1, k + 2, . . . , n
ou ainda,
l
kk
=
_
a
kk
(l
2
k1
+ l
2
k2
+ l
2
k3
+ ... + l
2
k,k1
) =

_
a
kk

k1

i=1
l
2
ki
l
kj
=
_
a
jk

k1
i=1
l
ji
l
ki
_
l
kk
, j = k + 1, k + 2, ...n.
4.9 O Algoritmo para a decomposio Cholesky
Apresentamos a seguir o algoritmo para a decomposio Cholesky.
Dados: dimenso n, entradas a
i,j
, 1 i n, 1 j n.
Passo 1: Seja l
11
=

a
11
74
Passo 2: Para j = 2, . . . , n seja l
j1
=
a
j1
l
11
.
Passo 3: Para i = 2, . . . , n 1 faa passo 4 e passo 5.
Passo 4: Seja
l
ii
=
_
a
ii

i1

k=1
l
2
ik
_1
2
Passo 5: Para j = i + 1, . . . , n seja
l
ji
=
_
a
ji

i1
k=1
l
jk
l
ik
_
l
ii
Passo 6: Seja
l
nn
=
_
a
nn

n1

k=1
l
2
nk
_1
2
.
Passo 7: Imprima l
ij
, i = 1, . . . , n; j = 1, . . . , n.
Exemplo 4.9.1
Vejamos um exemplo com a matriz A dada abaixo. Seguiremos o algoritmo acima.
A =
_

_
4 2 2 8 2
2 5 5 8 3
2 5 6 9 2
8 8 9 30 11
2 3 2 11 23
_

_
Primeiramente, notemos que A simtrica e denita positiva, portanto A admite decom-
posio Cholesky A = LL
T
.
Passo 1:
l
11
=

a
11
=

4 = 2.
Passo 2: para j = 2, 3, 4, 5 calcule l
j1
=
a
j1
l
11
:
j = 2, l
21
=
a
21
l
11
=
2
2
= 1;
j = 3, l
31
=
a
31
l
11
=
2
2
= 1;
j = 4, l
41
=
a
41
l
11
=
8
2
= 4;
j = 5, l
51
=
a
51
l
11
=
2
2
= 1.
D. Andrade Clculo Numrico 75
Passo 3: para i = 2, 3, 4 executar os passos 4 e 5.
i = 2 e passo 4:
l
22
=
_
a
22

21

k=1
l
2
ik
_1
2
=

5 1 =

4 = 2.
i = 2 e passo 5: para j = 3, 4, 5 calcule
l
ji
=
_
a
ji

21
k=1
l
ik
l
jk
_
l
ii
j = 3,
l
32
=
(a
32
l
31
l
21
)
l
22
=
5 1
2
= 2
j = 4,
l
42
=
(a
42
l
41
l
21
)
l
22
=
8 4
2
= 2
j = 5,
l
52
=
(a
52
l
51
l
21
)
l
22
=
3 1
2
= 1
Agora i = 3 executar os passos 4 e 5.
i = 3 e passo 4:
l
33
=
_
a
33

31

k=1
l
2
ik
_1
2
=
_
6 l
2
31
l
2
32
=

1 = 1.
Passo 5: para j = 4, 5 calcule
l
ji
=
_
a
ji

31
k=1
l
jk
l
ik
_
l
ii
i = 3 e j = 4:
l
43
=
_
a
43

2
k=1
l
4k
l
3k
_
l
33
=
9 4 4
1
= 1.
i = 3 e j = 5:
l
53
=
_
a
53

2
k=1
l
5k
l
3k
_
l
33
=
2 1 2
1
= 1.
Agora i = 4 executar os passos 4 e 5.
i = 4 e Passo 4:
l
44
=
_
a
44

k=1
l
2
4k
_1
2
76
l
44
=
_
30 l
2
41
l
2
42
l
2
43
_1
2
=

30 16 4 1 =

9 = 3
i = 4 e passo 5: para j = 5 calcule
l
ji
=
_
a
ji

i1
k=1
l
jk
l
ik
_1
2
l
ii
l
54
=
_
a
54

3
k=1
l
5k
l
4k
_1
2
l
44
l
54
=
(11 l
51
l
41
l
52
l
42
l
53
l
43
)
1
2
3
=
(11 4 2 + 1)
3
= 2
Passo 6: calcule
l
55
=
_
a
55

k=1
l
2
5k
_1
2
l
55
=
_
23 l
2
51
l
2
52
l
2
53
l
2
54
_1
2
=

23 7 =

16 = 4
Logo, a matriz L
L =
_

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

_
4.10 Usando Maple: decomposio Cholesky
Vejamos um exemplo de procedimento em Maple para o mtodo de decomposio Cholesky.
Como vimos, resolver um sistema de equaes lineares Ax = b via decomposio LU pode
ser simplicado quando A uma matriz simtrica e positiva denida. Dizemos que uma
matriz A positiva denida se para todo vetor no nulo x de R
n
tem-se xAx
T
> 0. Se
alm disso, A for simtrica, isto , a
ij
= a
ji
, ento existe uma nica matriz triangular in-
ferior L, com diagonal positiva, tal que A = LL
t
. Dessa peculiaridade podemos deduzir
um algoritmo mais simples para resolver um sistema Ax = b. O procedimento Cholesky
abaixo verica apenas a simetria da matriz A. A sintaxe do programa : Cholesky( A ). Se
A for uma matriz quadrada (simtrica positiva denida) ento o programa calcula a matriz
triangular inferior L. Se A for uma matriz ampliada de um sistema, com parte principal
simtrica positiva denida, o procedimento calcula a soluo do sistema via decomposio
Cholesky.
D. Andrade Clculo Numrico 77
> restart:with(linalg):
> Cholesky:=proc(a)
local i, j, k, s, t, n, soma, c, x, y:
n:=rowdim(a):
# Verificando se simtrica
for i from 1 to n do
for j from 1 to n do
if a[i,j]<>a[j,i] then ERROR(A matriz no simtrica) fi:
od:
od:
c:=matrix(n,n):
# Determinando a coluna j
for j from 1 to n do
soma:=0:
for k from 1 to j-1 do
soma:=soma+c[j,k]^2
od:
c[j,j]:=sqrt(a[j,j]-soma):
for i from j+1 to n do
soma:=0:
for k from 1 to j-1 do
soma:=soma+c[i,k]*c[j,k]
od:
c[i,j]:=(a[i,j]-soma)/c[j,j]
od:
od:
# Decompor A ou resolver Ax=b ?
if rowdim(a)=coldim(a) then
# Completando os zeros
for i from 1 to n do
for j from i+1 to n do
c[i,j]:=0:
od
od:
# Escrevendo a matriz triangular inferior C.
print(A matriz L : ,op(c)):
else
# Resolvendo Cy=b por substituio direta.
y:=vector(n):
y[1]:=a[1,n+1]/c[1,1]:
for s from 2 to n do
soma:=0:
for t from 1 to s-1 do
78
soma:=soma+c[s,t]*y[t]:
od:
y[s]:=(a[s,n+1]-soma)/c[s,s]:
od:
# Resolvendo C^Tx=y por substituio inversa.
x:=vector(n):
x[n]:=y[n]/c[n,n]:
for s from 1 to n-1 do
soma:=0:
for t from n-s+1 to n do
soma:=soma+c[t,n-s]*x[t]:
od:
x[n-s]:=(y[n-s]-soma)/c[n-s,n-s]:
od:
# Escrevendo a soluo x.
print(a soluo : ,op(x)):
fi:
end:
#Exemplos
> A:=matrix([[1, 2, 3], [2, 5, 7], [3, 7, 26]]);Cholesky(A);
Exerccio 4.10.1 1. Determine se a matriz admite a decomposio de Cholesky, em caso
armativo determine esta decomposio.
A =
_
_
4 2 4
2 10 4
4 4 9
_
_
2. Determine se a matriz admite a decomposio de Cholesky, em caso armativo de-
termine esta decomposio.
B =
_
_
1 1 0
1 2 1
0 1 3
_
_
3. Use decomposio de Cholesky para obter as solues dos sistemas Ax = b e Bx = b,
onde A e B so as matrizes acima e b =
_
_
1
2
5
_
_
.
4. Use o mtodo de Cholesky para decompor a matriz A como um produto LL
t
, onde
L triangular inferior,
A =
_
_
4 1 1
1 4.25 2.75
1 2.75 3.75
_
_
D. Andrade Clculo Numrico 79
5. Use o mtodo de Cholesky para decompor A, onde:
a) A =
_
_
2 1 0
1 2 1
0 1 2
_
_
b) A =
_

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

_
c) A =
_

_
6 2 1 1
2 4 1 0
1 1 4 1
1 0 1 3
_

_
6. Seja A uma matriz simtrica de ordem n. Verique que
x
T
Ax =
n

i=1
n

j=1
a
ij
x
i
x
j
=
n

i=1
a
ii
x
2
i
+ 2

i>j
a
ij
x
i
x
j
.
4.11 Resumo do captulo
Neste captulo apresentamos os principais mtodos diretos para resoluo de sistemas
de equaes lineares.
1. Mtodo de eliminao de Gauss;
2. Estratgia de pivoteamento;
3. Mtodo de decomposio LU;
4. Mtodo de decomposio Cholesky.
80
5
Sistemas lineares: mtodos iterativos
5.1 Introduo
Os mtodos iterativos para sistemas de equaes lineares so baseados no teorema do ponto
xo de Banach. Assim, dado um sistema de equaes lineares Ax = b, a ideia central
reescrev-lo numa forma equivalente x = Tx + c. Se T for uma contrao, ento para
qualquer aproximao inicial x
(0)
a sequncia gerada por x
(k+1)
= Tx
(k)
+ c, k 0 converge
para a nica soluo do sistema Ax = b.
Nesse captulo vamos apresentar o mtodo de Gauss-Jacobi e o mtodo de Gauss-Seidel.
Vamos apresentar tambm condies sucientes para a convergncia desses mtodos.
Para facilidade do estudante inclumos as demonstraes dos principais resultados. Essas
demonstraes podem ser omitidas numa primeira leitura.
5.2 O mtodo de Gauss-Jacobi
Consideremos o sistema de equaes lineares
a
11
x
1
+ a
12
x
2
+ a
13
x
3
+ + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ a
23
x
3
+ + a
2n
x
n
= b
2
a
31
x
1
+ a
32
x
2
+ a
33
x
3
+ + a
3n
x
n
= b
3
.
.
.
.
.
. =
.
.
.
a
n1
x
1
+ a
n2
x
2
+ a
n3
x
3
+ + a
nn
x
n
= b
n
.
81
82
Vamos supor que os elementos da diagonal sejam no-nulos, a
ii
,= 0, i = 1, 2, . . . , n. Segue
que podemos isolar x
1
na primeira equao, x
2
na segunda equao e etc., escrever o sistema
acima como:
x
1
=
1
a
11
(a
12
x
2
a
13
x
3
a
1n
x
n
) +
b
1
a
11
x
2
=
1
a
22
(a
21
x
1
a
23
x
3
a
2n
x
n
) +
b
2
a
22
x
3
=
1
a
33
(a
31
x
1
a
32
x
2
a
3n
x
n
) +
b
3
a
33
.
.
. =
.
.
.
.
.
.
x
n
=
1
a
nn
(a
n1
x
1
a
n2
x
2
a
n,n1
x
n1
) +
b
n
a
nn
.
Assim, o sistema pode ser escrito na forma x = Tx + c, onde
T =
_

_
0
a
12
a
11

a
13
a
11

.
.
.
a
1n
a
11

a
21
a
22
0
a
23
a
22

.
.
.
a
2n
a
22

a
31
a
33

a
32
a
33
0
.
.
.
a
3n
a
33
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

a
n1
a
nn

a
n2
a
nn

a
n3
a
nn

a
n,n1
a
nn
0
_

_
c =
_

_
b
1
a
11
b
2
a
22
b
3
a
33
.
.
.
b
n
a
nn
.
_

_
Dado um vetor x
(0)
= (x
(0)
1
, x
(0)
2
, . . . , x
(0)
n
), o mtodo de Gauss-Jacobi um mtodo iterativo
que gera uma sequncia de vetores construda iterativamente por
x
(k+1)
= Tx
(k)
+ c, k 0.
Numa forma geral temos para um sistema de equaes lineares, supondo que os elementos
da diagonal a
ii
,= 0, o seguinte esquema
x
(k+1)
1
=
1
a
11
_
a
12
x
(k)
2
a
13
x
(k)
3
a
1n
x
(k)
n
_
+
b
1
a
11
x
(k+1)
2
=
1
a
22
_
a
21
x
(k)
1
a
23
x
(k)
3
a
2n
x
(k)
n
_
+
b
2
a
22
x
(k+1)
3
=
1
a
33
_
a
31
x
(k)
1
a
32
x
(k)
2
a
3n
x
(k)
n
_
+
b
3
a
33
.
.
. =
.
.
.
.
.
.
x
(k+1)
n
=
1
a
nn
_
a
n1
x
(k)
1
a
n2
x
(k)
2
a
n,n1
x
(k)
n1
_
+
b
n
a
nn
.
D. Andrade Clculo Numrico 83
Exemplo 5.2.1
Consideremos o sistema de equaes lineares a seguir:
10x
1
+ 5x
2
+ 3x
3
+ x
4
= 6
2x
1
+ 10x
2
4x
3
3x
4
= 5
x
1
+ 3x
2
10x
3
+ 5x
4
= 2
5x
1
+ x
2
+ 3x
3
+ 10x
4
= 3.
Isolando cada uma das incgnitas, temos
x
1
= 0.6 0.5x
2
0.3x
3
0.1x
4
x
2
= 0.5 0.2x
1
+ 0.4x
3
+ 0.3x
4
x
3
= 0.2 + 0.1x
1
+ 0.3x
2
+ 0.5x
4
x
4
= 0.3 + 0.5x
1
0.1x
2
0.3x
3
.
Pelo mtodo de Gauss-Jacobi, podemos escrever as iteraes
x
(k+1)
1
= 0.6 0.5x
(k)
2
0.3x
(k)
3
0.1x
(k)
4
x
(k+1)
2
= 0.5 0.2x
(k)
1
+ 0.4x
(k)
3
+ 0.3x
(k)
4
x
(k+1)
3
= 0.2 + 0.1x
(k)
1
+ 0.3x
(k)
2
+ 0.5x
(k)
4
x
(k+1)
4
= 0.3 + 0.5x
(k)
1
0.1x
(k)
2
0.3x
(k)
3
.
Tomando x
(0)
= (0, 0, 0, 0) como aproximaoo inicial, obtemos
x
(1)
1
= 0.6 0.5x
(0)
2
0.3x
(0)
3
0.1x
(0)
4
= 0.6
x
(1)
2
= 0.5 0.2x
(0)
1
+ 0.4x
(0)
3
+ 0.3x
(0)
4
= 0.5
x
(1)
3
= 0.2 + 0.1x
(0)
1
+ 0.3x
(0)
2
+ 0.5x
(0)
4
= 0.2
x
(1)
4
= 0.3 + 0.5x
(0)
1
0.1x
(0)
2
0.3x
(0)
3
= 0.3.
Assim, obtemos uma nova aproximao x
(1)
= (0.6, 0.5, 0.2, 0.3) que dever ser usada no
passo seguinte para obter:
x
(2)
1
= 0.6 0.5x
(1)
2
0.3x
(1)
3
0.1x
(1)
4
= 0.38
x
(2)
2
= 0.5 0.2x
(1)
1
+ 0.4x
(1)
3
+ 0.3x
(1)
4
= 0.39
x
(2)
3
= 0.2 + 0.1x
(1)
1
+ 0.3x
(1)
2
+ 0.5x
(1)
4
= 0.06
x
(2)
4
= 0.3 + 0.5x
(1)
1
0.1x
(1)
2
0.3x
(1)
3
= 0.61.
Obtemos ento uma nova aproximao
x
(2)
= (0.38, 0.39, 0.06, 0.61).
84
Verique que a aproximao x
(3)
dada por x
(3)
= (0.326, 0.631, 0.182, 0.433).
Continuamos o procedimento at atingirmos a preciso desejada.
Aps 10 mil iteraes obtivemos
x
(10000)
= (0.2575050032, 0.5783855905, 0.0600400267, 0.3529019346).
Uma condio suciente para a convergncia do mtodo de Gauss-Jacobi:
Teorema 5.2.2 (Critrio de linhas) Seja A uma matriz n n e Ax = b um sistema de equaes
lineares. Sejam

j
=
n

k=1, k,=j

a
jk
a
jj

, j = 1, 2, . . . , n. (5.2.1)
e
= max
1
,
2
, . . . ,
n
.
Se < 1 ento, para qualquer aproximao inicial x
(0)
, o mtodo de Gauss-Jacobi gera uma sequncia
de aproximaes (x
(k)
) que converge para a nica soluo do sistema independente da aproximao
inicial dada x
(0)
.
Exemplo 5.2.3 Vamos utilizar o critrio de linhas para estudar a convergncia do sistema abaixo.
_

_
10 5 3 1
2 10 4 3
1 3 10 5
5 1 3 10
_

_
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
6
5
2
3
_

_
Temos que

1
=
5 + 3 + 1
10
= 0.9

2
=
2 + 4 + 3
10
= 0.9

3
=
1 + 3 + 5
10
= 0.9

4
=
5 + 1 + 3
10
= 0.9
= 0.9 < 1.
Como < 1 segue que o mtodo de Gauss-Jacobi gera uma sequncia de vetores x
(k)
que
converge para a soluo do sistema independentemente da aproximao inicial x
(0)
.
D. Andrade Clculo Numrico 85
Em alguns casos podemos efetuar operaes sobre as linhas ou colunas de uma matriz de
modo que assuma uma nova congurao que satisfaz ao critrio de linhas. Como exemplo,
considere a matriz abaixo, note que ela no satisfaz ao critrio de linhas.
A =
_
_
2 1 10
1 8 2
4 2 1
_
_
Mas permutando as linhas 1 e 3, obtemos a matriz
A
1
=
_
_
4 2 1
1 8 2
2 1 10
_
_
que satisfaz ao critrio de linhas.
5.2.1 Critrios de Parada
Os critrios de parada nos mtodos iterativos para sistemas de equaes lineares so os
mesmos usados para equaes no lineares, mas adaptados a vetores e matrizes.
Uma norma de vetores em R
n
, denotada por | | uma funo que satisfaz:
(a) |x| 0 para todo x R
n
,
(b) |x| = 0 se, e somente se, x = 0,
(c) |x| = [[|x|, para todo R e x R
n
,
(d) |x + y| |x| +|y|, x, y R
n
.
Exemplos de Normas em R
n
(a) Norma 2 ou norma Euclidiana: dado x = (x
i
) R
n
denimos
|x|
2
=

i=1
x
2
i
.
(b) Norma do mximo: dado x = (x
i
) R
n
denimos
|x|

= max
1in
[x
i
[.
(c) Norma da soma: dado x = (x
i
) R
n
denimos
|x| =
n

i=1
[x
i
[.
Teorema 5.2.4 Em espaos R
n
, vale a relao
|x|

|x|
2

n |x|

.
86
Agora vamos introduzir a noo de norma de matriz. Seja /
n
o espao vetorial de todas
as matrizes quadradas de ordem n.
Uma norma de matriz uma funo, denotada por | |, que satisfaz
(a) |A| 0 para todo A /
n
,
(b) |A| = 0 se, e somente se, A = 0,
(c) |A| = [[|A|, para todo R e A /
n
,
(d) |A + B| |A| +|B|, A, B /
n
.
(e) |AB| |A| |B|.
A noo de norma induz a noo de distncia: a distncia entre as matrizes A e B dada
por |A B|.
O seguinte resultado apresenta vrios exemplos de norma de matrizes.
Teorema 5.2.5 Seja | | uma norma de vetores em R
n
. Ento,
|A| = sup
|x|=1
|Ax|
uma norma de matrizes em /
n
.
A norma dada no teorema acima chamada de norma natural ou norma induzida.
Exemplos de Normas Matrizes
(a) Norma do mximo:
|A|

= sup
|x|

=1
|Ax|

.
(b) Norma 2 ou euclidiana
|A|
2
= sup
|x|
2
=1
|Ax|
2
.
Considerando uma norma de vetores |.|, os critrios de parada mais utilizados nos mto-
dos de Gauss-Jacobi e Gauss-Seidel so:
(a) |x
(k+1)
x
(k)
| < (erro absoluto),
(b)
|x
(k+1)
x
(k)
|
|x
(k+1)
|
< (erro relativo).
5.3 O mtodo de Gauss-Seidel
Dado um sistema de equaes lineares Ax = b, o mtodo de Gauss-Seidel tambm consiste
em escrevermos o sistema na forma equivalente
x = Tx + c.
D. Andrade Clculo Numrico 87
Durante a aplicao do mtodo de Gauss-Jacobi, pudemos observar que ao calcularmos
x
(k+1)
2
j conhecamos x
(k+1)
1
, o valor mais atualizado de x
1
, mas este no foi utilizado para
calcular x
(k+1)
2
. Do mesmo modo, ao calcularmos x
(k+1)
3
j conhecamos x
(k+1)
1
e x
(k+1)
2
,
mas novamente estes no foram utilizados. E assim sucessivamente, at que nalmente
ao calcularmos x
(k+1)
n
j conhecamos x
(k+1)
1
, . . . , x
(k+1)
n1
, mas estes no foram utilizados. O
Mtodo de Gauss-Seidel, utiliza em cada aproximao, a aproximao mais atual de cada
componente. Isto , ao calcularmos x
(k+1)
2
utilizamos x
(k+1)
1
e os demais da iterao anterior.
Ao calcularmos x
(k+1)
3
utilizamos x
(k+1)
1
e x
(k+1)
2
. E assim por diante, at que ao calcularmos
x
(k+1)
n
utilizamos x
(k+1)
1
, . . . , x
(k+1)
n1
.
importante perceber a diferena entre os mtodos de Gauss-Jacobi e Gauss-Seidel.
Vamos ilustrar o mtodo de Gauss-Seidel com um exemplo:
Exemplo 5.3.1
Consideremos o sistema de equaes lineares.
10x
1
+ 2x
2
+ x
4
= 10
5x
1
+ 10x
2
+ x
3
= 2
x
2
+ 4x
3
+ x
4
= 8
x
3
+ 6x
4
= 3
Isolando cada uma das incgnitas, temos:
x
1
= 1 0.2x
2
0.4x
4
x
2
= 0.2 0.5x
1
0.3x
3
x
3
= 2 0.25x
2
0.25x
4
x
4
= 0.5 + 0.6667x
3
.
Tomemos como aproximao inicial o vetor x
(0)
= (0, 0, 0, 0) obtemos
x
(1)
1
= 1 0.2x
(0)
2
0.4x
(0)
4
= 1, usar x
(1)
1
na prxima equao,
x
(1)
2
= 0.2 0.5x
(1)
1
0.3x
(0)
3
= 0.3, usar x
(1)
1
, x
(1)
2
na prxima equao,
x
(1)
3
= 2 0.25x
(1)
2
0.25x
(0)
4
= 2.075,
x
(1)
4
= 0.5 + 0.6667x
(1)
3
= 0.845833.
Assim, temos um novo vetor x
(1)
= (1, 0.3, 2.075, 0.845833) e continuamos o processo para
calcular x
(2)
:
x
(2)
1
= 1 0.2x
(1)
2
0.4x
(1)
4
= 0.9754166667, usar x
(2)
1
na prxima equao,
x
(2)
2
= 0.2 0.5x
(2)
1
0.3x
(1)
3
= 0.4952083334, usar x
(2)
1
, x
(2)
2
na prxima equao,
x
(2)
3
= 2 0.25x
(2)
2
0.25x
(1)
4
= 1.912343750,
x
(2)
4
= 0.5 + 0.6667x
(2)
3
= 0.81872395.
88
Assim, temos um novo vetor x
(2)
= (0.9754167, 0.495208, 1.91234375, 0.81872395). Contin-
uamos o processo at atingirmos a preciso desejada.
Para esse exemplo, temos o seguinte esquema geral:
x
(k+1)
1
= 1 0.2x
(k)
2
0.4x
(k)
4
x
(k+1)
2
= 0.2 0.5x
(k+1)
1
0.3x
(k)
3
x
(k+1)
3
= 2 0.25x
(k+1)
2
0.25x
(k)
4
x
(k+1)
4
= 0.5 + 0.6667x
(k+1)
3
.
Para um sistema geral de equaes lineares, supondo que os elementos da diagonal a
ii
,=
0, i = 1, 2, . . . , n temos o seguinte esquema (ateno para as iteraes):
x
(k+1)
1
=
1
a
11
_
a
12
x
(k)
2
a
13
x
(k)
3
a
1n
x
(k)
n
_
+
b
1
a
11
x
(k+1)
2
=
1
a
22
_
a
21
x
(k+1)
1
a
23
x
(k)
3
a
2n
x
(k)
n
_
+
b
2
a
22
x
(k+1)
3
=
1
a
33
_
a
31
x
(k+1)
1
a
32
x
(k+1)
2
a
3n
x
(k)
n
_
+
b
3
a
33
.
.
. =
.
.
.
.
.
.
x
(k+1)
n
=
1
a
nn
_
a
n1
x
(k+1)
1
a
n2
x
(k+1)
2
a
n,n1
x
(k+1)
n1
_
+
b
n
a
nn
.
Uma condio suciente para a convergncia do mtodo de Gauss-Seidel:
Teorema 5.3.2 (Critrio de Sassenfeld) Seja A = (a
ij
) uma matriz quadrada de ordem n. Sejam

i
, i = 1, 2, . . . , n dados por

1
=
n

j=2
[a
1j
[
[a
11
[
,

i
=
i1

j=1
[a
ij
[
j
[a
ii
[
+
n

j=i+1
[a
ij
[
[a
ii
[
.
Se = max
i
< 1, ento o mtodo de Gauss-Seidel gera uma sequncia de vetores (x
(k)
) que
converge para a nica soluo do sistema, independentemente da aproximao inicial x
(0)
.
Exemplo 5.3.3
Consideremos o sistema de equaes lineares.
_

_
10 2 0 1
5 10 1 0
0 1 4 1
0 0 1 6
_

_
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
10
2
8
3
_

_
D. Andrade Clculo Numrico 89

1
=
1
10
[2 + 0 + 1] = 0.3

2
=
1
10
[5 0.3 + 1 + 0] = 0.25

3
=
1
4
[0 0.3 + 1 0.25 + 1] = 0.3125

4
=
1
6
[0 0.3 + 0 0.25 + 1 0.3125] = 0.05283
segue que
max
= 0.3125 < 1 e portanto satisfaz ao critrio de Sassenfeld.
Consideremos a matriz
A =
_
_
1 3 6
7 1 2
2 8 3
_
_
Essa matriz no satisfaz ao critrio de Sassenfeld. Mas trocando linha 1 com a linha 2 e em
seguida a linha 2 com a linha 3, obtemos
B =
_
_
7 1 2
2 8 3
1 3 6
_
_
que satisfaz ao critrio de Sassenfeld. Verique.
Para o prximo resultado, podemos supor que a matriz A do sistema linear Ax = b possui
elementos da diagonal no nulos e iguais a 1.
Teorema 5.3.4 (Critrio de Sassenfeld) Seja A = (a
ij
) uma matriz quadrada de ordem n. Sejam

i
, i = 1, 2, . . . , n dados por

1
=
n

j=1
[a
ij
[,

i
=
i1

j=1
[a
ij
[
j
+
n

j=i+1
[a
ij
[.
Se = max
i
< 1, ento o mtodo de Gauss-Seidel converge.
Demonstrao: Consideremos o sistema linear Ax = b. Podemos supor que os elementos
da diagonal de A sejam no nulos e iguais a 1. Assim, o sistema pode ser reescrito na forma
x = Tx +c. O mtodo de Gauss-Seidel consiste em gerar uma sequncia (x
(k)
), k = 1, 2, . . . ,
que converge para a soluo x.
Seja y
(k)
= x
(k)
x o vetor dos erros. Substituindo no mtodo de Gauss-Seidel, temos
90
y
(m+1)
1
=
n

j=2
a
1j
y
(m)
j
y
(m+1)
i
=
i1

j=1
a
ij
y
(m+1)
j
+
n

j=i+1
a
ij
y
(m)
j
, i = 2, . . . , n.
Da primeira equao, temos
[y
(m+1)
1
[ max
2jn
[y
(m)
j
[
n

j=2
[a
1j
[
1
max
2jn
[y
(m)
j
[.
Supondo que vale a
[y
(m+1)
s
[
s
max
1jn
[y
(m)
j
[,
1 s i 1, vamos provar que essa desigualdade ainda vlida para s = i.
De fato,
[y
(m+1)
i
[
_
i1

j=1
[a
ij
[
j
+
n

j=i+1
[a
ij
[
_
max
1jn
[y
(m)
j
[, i = 2, . . . , n.
Donde,
[y
(m+1)
i
[
i
max
1jn
[y
(m)
j
[, i = 2, . . . , n.
Seja = max
1jn

j
. Segue que
max
1in
[y
(m+1)
i
[ max
1in
[y
(m)
i
[.
Por induo, obtemos
max
1in
[y
(m+1)
i
[
m
max
1in
[y
(0)
i
[.
Como 0 < 1, temos que max
iin
[y
(k)
i
[ 0 quando k . Segue que x
(k)
i
x
i
.
Relao entre o critrio de linhas e o critrio de Sassened:
Existe uma relao entre o critrio de linhas e o critrio de Sassenfeld. Essa relao
demonstrada no teorema 5.3.5 cujo enunciado dado a seguir:
Teorema 5.3.5 Se uma matriz A satisfaz ao critrio de linhas, ento ela tambm satisfaz ao ao
critrio de Sassenfeld.
D. Andrade Clculo Numrico 91
Demonstrao: A prova por induo. Devemos provar que se
= max
1in
n

j=1,j,=i
[a
ij
[ < 1
ento o critrio de Sassenfeld satisfeito. De fato, se i = 1, temos

1
=
n

j=2
[a
ij
[ max
i

i=1,i,=1
[a
ij
[ < 1.
Suponha agora que
j
< 1 para j = 1, 2, . . . , i 1. Ento,

i
=
i1

j=1
[a
ij
[
j
+
n

j=i+1
[a
ij
[ max
i
n

j=1,j,=i
[a
ij
[ < 1.
Segue que = max
j

j
< 1.
Logo, podemos utilizar tambm o critrio de linhas para estudar a convergncia do mtodo
de Gauss-Seidel.
Exemplo 5.3.6
A recproca do teorema 5.3.5 no verdadeira. Tomemos a matriz
A =
_

_
5 1 2
4 6 3
1 3 6
_

_
fcil vericar que satisfaz ao critrio de Sassenfeld, mas no satisfaz ao critrio de linhas.
A matriz
A =
_

_
3 0 1
1 1 0
3 1 62
_

_
fcil vericar no satisfaz ao critrio de linha; mas satisfaz ao critrio de Sassenfeld.
Verique.
Exerccio 5.3.7
1. Escreva o sistema linear abaixo
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,
2x
2
3x
3
+ 8x
4
= 15.
92
na forma
x = Tx +c
e use o mtodo de Gauss-Jacobi para obter uma soluo aproximada, use como
critrio de parada
|x
k+1
x
k
|

|x
k+1
|

< 10
3
.
2. Use o mtodo de Gauss-Jacobi para obter uma aproximao da soluo do sistema
de equaes lineares com aproximao inicial x
(0)
= (0, 0, 0). Faa trs iteraes.
Verique se o critrio de linhas satisfeito. dado abaixo a matriz ampliada do
sistema.
_

_
10 2 1 7
3 5 1 8
2 3 10 6
_

_
k iteraes x
(k)
1
x
(k)
2
x
(k)
3
0
1
2
3
3. Use o mtodo de Gauss-Seidel para obter uma aproximao da soluo do sistema
de equaes lineares com aproximao inicial x
(0)
= (0, 0, 0). Faa trs iteraes.
Verique se o critrio de Sassenfeld satisfeito. A matriz ampliada do sistema a
do problema anterior.
4. Encontre as duas primeiras iteraes do mtodo de Gauss-Jacobi, usando x
0
= 0, nos
sistemas de equaes lineares abaixo.
a)
_

_
3x
1
x
2
+ x
3
= 1,
3x
1
+ 6x
2
+ 2x
3
= 0,
3x
1
+ 3x
2
+ 7x
3
= 4
b)
_

_
10x
1
x
2
= 9
x
1
+ 10x
2
2x
3
= 7
2x
2
+ 10x
3
= 6.
c)
_

_
4x
1
+ x
2
+ x
3
+ x
5
= 6
x
1
3x
2
+ x
3
+ x
4
= 6
2x
1
+ x
2
+ 5x
3
x
4
x
5
= 6
x
1
x
2
x
3
+ 4x
4
= 6
2x
2
x
3
+ x
4
+ 4x
5
= 6
D. Andrade Clculo Numrico 93
5. Encontre as duas primeiras iteraes do mtodo de Gauss-Seidel, usando x
(0)
= 0,
no exerccio acima.
6. Considere a matriz
A =
_

_



_

_
onde 0 < < . Mostre que o mtodo de Gauss-Jacobi converge; mas o mtodode
Gauss-Seidel diverge.
5.4 Estudo da convergncia dos mtodos iterativos
Nessa seo vamos estudar o mtodo de Gauss-Seidel e o mtodo de Gauss-Jacobi. Esses
so os principais mtodos iterativos para resolver sistemas de equaes lineares. Como todo
mtodo iterativo, eles iniciam-se com uma aproximao inicial x
(0)
e geram uma sequncia
(x
(k)
) que converge para a soluo x.
A ideia geral desses mtodos converter o sistema dado Ax = b em um sistema quivalente
na forma x = Tx + c, para alguma matriz T e vetor c xados.
Consideremos um sistema de equaes lineares Ax = b, onde A = (a
ij
) uma matriz
quadrada n n. Escreva o sistema na forma equivalente dada por x = Tx + c. Dena a
seguinte aplicao F : R
n
R
n
dada por Fx = Tx + c, onde T = (c
jk
).
Munindo R
n
com a mtrica
d(x, y) = max
1in
[x
i
y
i
[
obtemos que (R
n
, d) um espao mtrico completo, onde x = (x
1
, x
2
, . . . , x
n
) e y =
(y
1
, y
2
, . . . , y
n
) so vetores do R
n
.
Veremos que sob algumas condies T ser uma contrao. De fato, dados x = (x
1
, x
2
, . . . , x
n
)
e y = (y
1
, y
2
, . . . , y
n
) vetores do R
n
, ento
d(Fx, Fy) = d(Tx + c, Ty + c) = d(Tx, Ty) = max
i
[(T(x y))
i
[
max
i
[x
i
y
i
[ max
j
n

k=1
[c
jk
[ = d(x, y) max
j
n

k=1
[c
jk
[.
Seja
K = max
j
n

k=1
[c
jk
[.
Se a matriz T tal que
K = max
1jn
n

k=1
[c
jk
[ < 1, (5.4.2)
94
ento T uma contrao.
A condio dada pela equao (5.4.2) chamado de critrio de linhas pois envolve soma
dos elementos de cada linha. uma condio suciente para a convergncia da sequncia
dada pelo Teorema 1.3.1. Assim, obtemos o seguinte resultado.
Teorema 5.4.1 Dado o sistema de equaes lineares x = Tx + c, onde T = (c
jk
) uma matriz
quadrada n n que satisfaz
K = max
j
n

k=1
[c
jk
[ < 1.
Ento, o sistema admite uma nica soluo. Alm disso, dado qualquer aproximao inicial x
(0)
, a
sequncia gerada por
x
(m+1)
= Tx
(m)
+ c, m 0
converge para a soluo x do sistema.
O erro cometido na aproximao dado
d(x
(m)
, x)
K
1 K
d(x
(m1)
, x
(m)
)
K
m
1 K
d(x
(0)
, x
(1)
).
Casos particulares importantes:
(1) O Mtodo iterativo de Jacobi:
Dado o sistema de equaes lineares Ax = b, onde A = (a
ij
) e b = (b
j
), o mtodo iterativo
de Jacobi dado por
x
(m+1)
i
=
1
a
ii
_
b
i


j=1, j,=i
a
ij
x
(m)
j
_
, i = 1, 2, . . . , n. (5.4.3)
Este esquema sugerido pela resoluo da i-sima equao para x
i
, no difcil vericar
que
x
i
=

j=1,j,=i
_

a
ij
a
ii
x
j
_
+
b
i
a
ii
, i = 1, 2, . . . , n.
Outra forma mais imediata de obtermos esse mtodo trabalhando matricialmente. Seja D
a matriz diagonal composta pela diagonal de A, ento
Ax = b (A D + D)x = b (A D)x + Dx = b
Dx = b (A D)x
x = D
1
[b (A D)x]
x = D
1
b D
1
(A D)x.
Assim, a matriz C no mtodo iterativo dada por C = D
1
(A D).
Como a condio max
j

n
k=1
[c
jk
[ < 1 relativamente simples nesse caso, podemos traduzir
essa condio em termos dos coecientes da matriz A. Este resultado o critrio de linhas.
D. Andrade Clculo Numrico 95
Teorema 5.4.2 (Critrio de linhas) Seja A uma matriz n n e Ax = b um sistema de equaes
lineares. Sejam

j
=
n

k=1, k,=j

a
jk
a
jj

, j = 1, 2, . . . , n. (5.4.4)
Se
= max
1
,
2
, . . . ,
n
< 1,
ento para qualquer aproximao inicial x
(0)
o mtodo de Gauss-Jacobi gera uma sequncia de aprox-
imaes (x
(k)
) que converge para a soluo do sistema.
(2) O Mtodo iterativo de Gauss-Seidel:
Dado o sistema de equaes lineares Ax = b, sejam D a matriz diagonal formada pelos
elementos da diagonal de A, U a matriz triangular superior de diagonal nula formada
pela parte superior de A e L a matriz triangular inferior de diagonal nula formada pela
parte inferior de A. Ento, A = (L + DU).
Assim, x = (DL)
1
b + (DL)
1
Ux. Note que uma condio necessria e suciente para
a existncia de (D L)
1
que os coecientes da diagonal de A sejam no nulos, isto ,
a
ii
,= 0.
No Teorema 5.4.1 o nosso sistema cou escrito como x = Tx + c, onde T = (D L)
1
U e
c = (D L)
1
b e o mtodo iterativo de Gauss-Seidel ca expresso como
x
(m+1)
= Tx
(m)
+ c.
Ou de outra forma: A = D L U,
Ax = b
(D L U)x = b
(D L)x = Ux + b
D
1
(D L)x = D
1
Ux + D
1
b
(I D
1
L)x = D
1
Ux + D
1
b

(I D
1
L)x
(k+1)
= D
1
Ux
(k)
+ D
1
b
x
(k+1)
= D
1
Lx
(k+1)
+ D
1
Ux
(k)
+ D
1
b.
O Teorema 5.4.1 aplicado a T suciente para garantir a convergncia do mtodo iterativo
de Gauss-Seidel. Obter uma condio sobre a matriz T pode ser trabalhoso, na prtica
usamos o critrio de linhas.
96
5.5 Usando Maple: o mtodo de Gauss-Jacobi
O procedimento em Maple a seguir determina uma aproximao para a soluo do sistema
Ax = b. Voc entra com a matriz A
ini
, o vetor b
in
, a aproximao inicial x
in
, a dimenso da
matriz n e o nmero mximo de iteraes itmax.
> restart: with(linalg):
> GJacobi:=proc(Ain,bin,xin,n,itmax)
> local A,b,xant,xnew,d,it,i,k,j;
> A:=Ain; b:=bin; xant:=xin;xnew:=vector(n);
> for it from 1 while it <= itmax do
> for i from 1 to n do
> xnew[i] := b[i];
> for k from 1 to n do
> if k <> i then xnew[i] := xnew[i] - A[i,k]*xant[k]; fi;
> od;
> xnew[i] :=xnew[i]/A[i, i];
> od;
> for j from 1 to n do xant[j]:=xnew[j] od;
> od;
> print(Aproximao computada);
> print(evalf(evalm(xnew)));
> end:
###Exemplo
> GJacobi1([[10,2,5,1],[3,10,1,1],[2,3,10,1],[-1,3,1,20]],
[18,15,16,23],[0.,0.,0.,0.],4,3);
5.6 Usando Maple: o mtodo de Gauss-Seidel
O procedimento em Maple a seguir determina uma aproximao para a soluo do sistema
Ax = b. Voc entra com a matriz ampliada M = [A[b], a preciso desejada e o nmero N
de iteraes.
> restart:
> with(linalg):
> GSeidel:=proc(a, prec, nmax)
> local n, xold, xnew, i, j, k, m, erro, soma:
> n:=rowdim(a):
> # chute inicial [0,...,0]
> xold:=vector(n,0):
> # Comeando as iteradas
> xnew:=vector(n,0):
> erro:=1:
D. Andrade Clculo Numrico 97
> for j from 1 to nmax do
> if erro > prec then
> # Calculando vetor xnew para iterada j
> for i from 1 to n do
> soma:=0:
> for k from 1 to n do
> if i<>k then soma:=soma+a[i,k]*xnew[k]: fi
> od:
> xnew[i]:=(a[i,n+1]-evalf(soma))/a[i,i]:
> od:
> else break
> fi:
> # Verificando a preciso e atualizando os dados
> for k from 1 to n do
> erro:=0:
> m:=abs(xnew[k]-xold[k]):
> if erro < m then erro:=m: fi:
> xold[k]:=xnew[k]:
> od:
> od:
> # Escrevendo a soluo
> print(xold, Iteraes feitas, j-1):
> end:
##Exemplo:
> M:=matrix([[5.,-1,0,0,1],[-1,5,-1,0,1],[0,-1,5,-1,1],[0,0,-1,5,1]]);
> GSeidel(M,.0001,4);
5.7 Resumo do captulo
Neste captulo apresentamos os principais mtodos iterativos para resoluo de sis-
temas de equaes lineares e critrios de convergncia.
1. Mtodo de Gauss-Jacobi;
2. Mtodo de Gauss-Seidel;
3. O critrio de linhas;
4. O critrio de Sassenfeld.
98
6
Sistemas de equaes no lineares
6.1 Introduo
O objetivo desse captulo estender o mtodo de Newton-Raphson para sistemas de equaes
no lineares. Deduzimos um caso particular importante do mtodo de Newton para sis-
temas de duas equaes. Ao nal do captulo sugerimos um procedimento em Maple para
o mtodo de Newton.
6.2 O mtodo de Newton-Raphson
Seja R
n
um aberto e F : R
n
uma funo de classe C
2
. Suponha que exista X


tal que F(X

) = 0. Queremos determinar numericamente X

, isto , queremos resolver


numericamente a equao vetorial F(X) = 0, onde X = (x
1
, x
2
, . . . , x
n
).
Como F(X) R
n
, ento F da forma F = ( f
1
, f
2
, . . . , f
n
), onde f
i
: R, i = 1, 2, . . . , n.
Logo, a equao F(X) = 0 equivalente ao sistema de equaes no lineares
_

_
f
1
(x
1
, x
2
, . . . , x
n
) = 0,
f
2
(x
1
, x
2
, . . . , x
n
) = 0,
.
.
.
.
.
.
f
n
(x
1
, x
2
, . . . , x
n
) = 0.
Exemplo 6.2.1 Considere F(x, y) = (x
2
+ y
2
2, x
2

y
2
9
1) denida em todo R
2
. A equao
99
100
F(x, y) = 0 pode ser reescrita como
_
_
_
x
2
+ y
2
2 = 0,
x
2

y
2
9
1 = 0.
Geometricamente, resolver esse sistema de equaes no lineares, signica determinar onde a circun-
ferncia e a parbola de intesectam. Veja a gura 6.2.1.
-4
-2
0
2
4
y
-2 -1 1 2
x
Figura 6.2.1: Inteseco entre as curvasexemplo 6.2.1.
J estudamos sistemas de equaes lineares, note que resolver um sistema de equaes
lineares AX = b equivalente a resolver uma equao F(X) = 0, onde F(X) = AX b. Os
sistema lineares so um caso particular importante, como vimos, existem vrios mtodos
diretos e iterativos para obter numericamente a soluo. No caso geral, a no linearidade
de F um fator complicador para resolver a equao F(X) = 0.
Lembramos que a derivada de F : R
n
R
n
dada por
F(x
1
, x
2
, . . . , x
n
) = ( f
1
(x
1
, x
2
, . . . , x
n
), f
2
(x
1
, x
2
, . . . , x
n
), . . . , f
n
(x
1
, x
2
, . . . , x
n
))
a matriz Jacobiana de F que
JF(X) =
_

_
f
1
x
1
f
1
x
2
. . .
f
1
x
n
f
2
x
1
f
2
x
2
. . .
f
2
x
n
. . . . . . . . . . . .
f
n
x
1
f
n
x
2
. . .
f
n
x
n
_

_
.
D. Andrade Clculo Numrico 101
Considerando que na equao F(X) = 0, F tem derivadas at ordem 2 contnuas, tomando
a expanso em srie de Taylor de F(X) em torno do ponto X = X
(k)
temos
F(X) = F(X
(k)
) + F

(X
(k)
)(X X
(k)
) + resto.
Como F(X) = 0, ento temos
F

(X
(k)
)(X X
(k)
) = F(X
(k)
) + resto.
Se a derivada admite inversa, ento aplicando-a a ambos os lados, e supondo que os pontos
esto sucientemente prximos, podemos desprezar o resto, obtendo
X = X
(k)

_
F

(X
(k)
)
_
1
F(X
(k)
) (6.2.1)
uma aproximao para a raiz da equao.
Assim, obtemos uma aproximao X = X
(k+1)
para a soluo dada por
X
(k+1)
= X
(k)

_
F

(X
(k)
)
_
1
F(X
(k)
) (6.2.2)
Na prtica evitamos (6.2.2), pois esta escolha tem a necessidade de calcular a inversa de
F

(X
(k)
).
A abordagem alternativa considerar apenas
F

(X
(k)
)(X
(k+1)
X
(k)
) = F(X
(k)
), k 0,
(6.2.3)
onde X
(0)
uma aproximao inicial dada.
Observe que em cada iterao resolve-se um sistema de equaes lineares. Este o mtodo
de Newton-Raphson para sistemas de equaes no lineares.
Ao utilizarmos o mtodo de Newton-Raphson para sistemas no lineares, se usarmos um
mtodo iterativo para resolver o sistema linear, ento o mtodo de Newton-Raphson
chamado inexato.
Tomando F

(X
(k)
) = B constante no mtodo de Newton-Raphson, o mtodo recebe o nome
de mtodo de Newton modicado.
As condies para convergncia do mtodo de Newton-Raphson so as seguintes:
(1i) F e suas derivadas parciais at ordem 2 so contnuas na regio contendo a raiz,
(2i) O determinante da matriz Jacobiana no se anula na regio ,
(3i) A aproximao inicial X
(0)
est sucientemente prxima da raiz.
Como no caso de uma varivel, a ordem de convergncia desse mtodo 2.
Os critrios de parada so os mesmos para o caso de uma varivel:
(1i) |F(X
(k)
)| <
1
,
(2i) |X
(k+1)
X
(k)
| <
2
, onde
1
e
2
so dados.
102
Exemplo 6.2.2 No sistema
_
_
_
4x
1
x
3
1
+ x
2
= 0,

x
2
1
9
+
4x
2
x
2
2
4
+ 1 = 0
Veja a gura 6.3.1 com a ilustrao das curvas.
-3
-2
-1
0
1
2
3
4
5
y
-4 -2 2 4
x
Figura 6.2.2: A soluo est na interseo das curvas
6.3 Caso Particular: F = ( f , g)
Consideremos F : R
2
R
2
dada por F(x, y) = ( f (x, y), g(x, y)). Aplicando a ex-
presso (6.2.3), obtemos
_

_
f (x
(k)
, y
(k)
)
x
f (x
(k)
, y
(k)
)
y
g(x
(k)
, y
(k)
)
x
g(x
(k)
, y
(k)
)
y
_

_
.
_
x
(k+1)
x
(k)
y
(k+1)
y
(k)
_
=
_
f (x
(k)
, y
(k)
)
g(x
(k)
, y
(k)
)
_
(6.3.4)
que um sistema de equaes lineares de incgnitas x
(k+1)
e y
(k+1)
.
Esse sistema pode ser resolvido usando a Regra de Cramer. Para isto, deve-se supor que
o determinante da matriz Jacobiana no se anula na regio de busca. Neste caso tem-se
(usando a regra de Cramer),
x
(k+1)
x
(k)
=
(g f
y
f g
y
)(x
(k)
, y
(k)
)
( f
x
g
y
g
x
f
y
)(x
(k)
, y
(k)
)
, k 0 (6.3.5)
y
(k+1)
y
(k)
=
( f g
x
g f
x
)(x
(k)
, y
(k)
)
( f
x
g
y
g
x
f
y
)(x
(k)
, y
(k)
)
, k 0 (6.3.6)
D. Andrade Clculo Numrico 103
Ou equivalentemente,
x
(k+1)
= x
(k)

_
f g
y
g f
y
f
x
g
y
g
x
f
y
_
, k 0 (6.3.7)
y
(k+1)
= y
(k)

_
g f
x
f g
x
f
x
g
y
g
x
f
y
_
, k 0 (6.3.8)
em que as funes entre colchetes so aplicadas em (x
(k)
, y
(k)
).
Uma das aplicaes mais importantes para sistemas de equaes no lineares a duas di-
menses consiste em determinar razes complexas de uma equao f (z) = 0. Note que
denotando z = x + iy podemos escrever f (x, y) = u(x, y) + iv(x, y) = 0 se, e somente se,
_
u(x, y) = 0
v(x, y) = 0.
Exemplo 6.3.1 No sistema
_
_
_
4x
1
x
3
1
+ x
2
= 0,

x
2
1
9
+
4x
2
x
2
2
4
+ 1 = 0
Com aproximao inicial (1, 2) obtemos as seguintes aproximaes com 4 iteraes
Iterao x
(k)
1
x
(k)
2
0 -1.0 -2.0
1 3.43750000 -1.43750000
2 2.56707295 -.50535393
3 2.11565442 -.47031686
4 1.95441650 -.51310999

7 1.93177027 -.51822367
Note que F(x
(7)
1
, x
(7)
2
) = (.23 10
7
, .119 10
7
). Veja a gura 6.3.1.
Exerccio 6.3.2
Use o mtodo de Newton-Raphson para determinar numericamente uma soluo para cada
um dos sistemas:
(a)
_
x
2
+ y
2
2 = 0
x
2
y
2
1 = 0.
aprox. inicial (x
0
, y
0
) = (1.2, 0.7)
(b)
_
3x
2
y y
3
= 4
x
2
+ xy
3
9 = 0.
aprox. inicial (2.0; 2.5)
(c)
_
x
2
+ y
2
1 = 0
x
2
y
2

1
2
= 0.
aprox. inicial (x
0
, y
0
) = (1.0, 3.0)
104
-3
-2
-1
0
1
2
3
4
5
y
-4 -2 2 4
x
Figura 6.3.3: A soluo est na interseo das curvas
6.4 Usando Maple: o mtodo Newton-Raphson
O seguinte procedimento assume que f uma funo vetorial denida em um aberto do
espao n dimensional, x um vetor n dimensional. O terceiro argumento um vetor n
dimensional o dado inicial x
0
. O ltimo e quarto argumento, o numero de iteraes.
O procedimento usa o comando do Maple linsolve para resolver o sistema de equaes
lineares. O exemplo sugerido o sistema
_
3x
2
y y
3
= 4
x
2
+ xy
3
= 9
e aproximao inicial x
(0)
= (1.5, 1.5).
> restart: with(plots):with(linalg):
> NR_n :=
> proc (f,x,x0,n)
> local i,j,k,m,xn,z,fxn,Jf,Jxn;
> # i,j,k indices
> # m numero de eqs nao lineares.
> # xn Solucao aproximada de f(x)=0 aps m iteraes
> # com condio incial x0.
> # z varivel usada no mtodo.
> # fxn Este vetor contm os valores de -f(xn).
> # Jf Jacobiano de f num ponto genrico x.
> # Jxn Jacobiano avaliado em x_n, J(x_n)
> #
> m := vectdim(f);
> # Initializa com a condio inicial x0.
D. Andrade Clculo Numrico 105
> xn := x0;
> # Calcula o Jacobiano em um ponto genrico x.
> Jf := jacobian(f,x);
> # Iterao de Newton
> for j from 1 to n do
> # Calcula o Jacobiano em xn.
> Jxn := map( a -> subs(seq(x[i]=xn[i],i=1..m),a),Jf);
> # Calcula a funo no ponto xn.
> fxn := map( a -> subs(seq(x[i]=xn[i],i=1..m),a),f);
> # Resolve a equao J(x_n) z = -f(x_n).
> z := linsolve(Jxn,evalm(-fxn));
> xn := evalm(xn + z);
> print(xn); od;
> end:
>###Exemplo
> x := vector(2):
> f := vector(2,[x[2]-x[1]^2,x[1]-x[1]*x[2]+1]);
> x0 := vector(2,[1.5,1.5]);
> NR_n(f,x,x0,10);
6.5 O mtodo do ponto Fixo
Dizemos que F : R
n
R
n
tem um ponto xo, se existe X
0
tal que F(X
0
) = X
0
. O
seguinte resultado garante a existncia de ponto xo.
Teorema 6.5.1 Seja =
n
i=1
[a
i
, b
i
] um compacto do R
n
. Se F : de classe C
1
, ento F
tem um ponto xo.
Alm disso, se existe 0 K < 1 tal que as componentes f
i
de F satisfazem
[
f
i
(X)
x
j
[
K
n
, X
para cada j = 1, 2, . . . , n e cada i = 1, 2, . . . , n, ento a sequncia (X
(k)
) gerada por
X
(k+1)
= F(X
(k)
), k 0
converge para o nico ponto xo de F.
Demonstrao: A demonstrao pode ser encontrada em qualquer livro de anlise.
106
Exerccio 6.5.2 1. Use o mtodo de Newton-Raphson para determinar uma aproxi-
mao para a soluo do sistema
_
3x
2
y y
3
4 = 0,
x
2
xy
3
9 = 0.
Tome a aproximao inicial (2, 2.5).
2. Use o mtodo de Newton-Raphson para determinar uma aproximao para a soluo
do sistema:
_
4x
2
y 20x + 0.5y
2
+ 8 = 0,
0.5xy
2
2x 5y + 8 = 0.
Tome a aproximao inicial (0, 0).
6.6 Resumo do captulo
Neste captulo estendemos o mtodo de Newton-Raphson a sistemas de equaes no
lineares. Estendemos tambm o mtodo do ponto xo para sistemas no lineares.
7
Interpolao Polinomial
7.1 Introduo
Suponha que temos (n +1) pontos distintos x
0
, x
1
, . . . , x
n
, chamados de ns, e que os pontos
y
0
, y
1
, . . . , y
n
foram obtidos por meio de alguma funo f que desconhecida ou difcil de
manusear algebricamente, isto , y
i
= f (x
i
), i = 0, 1, . . . , n. Queremos conhecer ou estimar
f (x
r
) para algum valor x
r
no tabelado. Podemos fazer isto interpolando f por uma funo
polinomial.
Em muitos problemas concretos, conhecemos apenas os pares de pontos (x
i
, f (x
i
)) e no a
expresso de f , outras vezes difcil trabalhar com a expresso matemtica de f . Nesses
casos prefervel trabalhar com uma funo interpolante g. Nesta seo veremos tcnicas
para determinar a funo polinomial interpolante g, conhecendo-se apenas os pares de
pontos (x
i
, f (x
i
)).
Antes apenas dois comentrios: o primeiro comentrio se poderamos pensar no polinmio
de Taylor como uma aproximao para a funo. Mas como o polinmio de Taylor aprox-
ima f (x) em torno de um ponto x = a, fora da a aproximao no boa, desconsideramos
essa possibilidade. O outro comentrio se existe um tal polinmio. natural esperar
que um tal polinmio interpolador exista, pois o Teorema 7.1.1 garante que toda funo
contnua pode ser uniformemente aproximada por um polinmio.
Teorema 7.1.1 (Aproximao de Weierstrass) Seja f : [a, b] R uma funo contnua e > 0.
Ento, existe um polinmio p(x) com a seguinte propriedade
[ f (x) p(x)[ < , para todo x [a, b].
A demonstrao deste resultado pode ser obtida em qualquer livro de Clculo ou intro-
duo Anlise.
107
108
7.2 Existncia do polinmio interpolador
Dados os n +1 pontos (x
0
, f (x
0
)), (x
1
, f (x
1
)), . . . , (x
n
, f (x
n
)), onde x
0
, x
1
, . . . , x
n
so (n +1)
pontos distintos, queremos determinar uma funo polinomial p
n
(x), de grau mximo n,
que satisfaa
f (x
i
) = p
n
(x
i
), i = 0, 1, . . . , n. (7.2.1)
Como p
n
(x) tem a forma
p
n
(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
,
ento (7.2.1) se transforma em
a
n
x
n
0
+ a
n1
x
n1
0
+ + a
1
x
0
+ a
0
= f (x
0
)
a
n
x
n
1
+ a
n1
x
n1
1
+ + a
1
x
1
+ a
0
= f (x
1
)
.
.
.
.
.
. =
.
.
.
a
n
x
n
n
+ a
n1
x
n1
n
+ + a
1
x
n
+ a
0
= f (x
n
)
Escrevendo o sistema acima na forma matricial, obtemos
_

_
1 x
0
x
2
0
. . . x
n
0
1 x
1
x
2
1
. . . x
n
1
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
2
n
. . . x
n
n
_

_
. .
=A

_
a
0
a
1
.
.
.
a
n
_

_
=
_

_
f (x
0
)
f (x
1
)
.
.
.
f (x
n
)
_

_
. (7.2.2)
Notemos que det A ,= 0, pois os pontos x
0
, x
1
, . . . , x
n
so distintos e A uma matriz de
Vandermonde
1
. Assim, o sistema linear admite uma nica soluo a
0
, a
1
, . . . , a
n
. Isto ,
existe um nico polinmio p
n
(x) = a
n
x
n
+ a
n1
x
n1
+ + a
1
x + a
0
de grau mximo n que
interpola f .
Podemos ento enunciar o seguinte resultado:
Teorema 7.2.1 Dados x
0
, x
1
, . . . , x
n
pontos distintos existe um nico polinmio p
n
(x), de grau
mximo n, que interpola f nos pontos (x
i
, f (x
i
)), i = 0, . . . , n.
1
A matriz de Vandermonde de dimenso (n + 1) (n + 1) V =
_

_
1 x
0
x
2
0
. . . x
n
0
1 x
1
x
2
1
. . . x
n
1
1 x
2
x
2
2
. . . x
n
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
2
n
. . . x
n
n
_

_
com entradas
V
ij
= x
j1
i1
, i, j = 1, . . . , n + 1 tem determinante dado por det V =

0i<jn
(x
i
x
j
).
D. Andrade Clculo Numrico 109
7.3 Mtodos de Interpolao
Como vimos na seo anterior, j temos um mtodo para determinar o polinmio interpo-
lador: basta resolver o sistema de equaes lineares (7.2.2). Existem outros mtodos, mais
simples, de obter o polinmio interpolador que no utilizam a resoluo do sistema linear
(7.2.2):
1i) O mtodo de Lagrange,
2i) O mtodo de Newton.
7.3.1 O Mtodo de Lagrange
Consideremos dados (n + 1) pontos distintos x
0
, x
1
, . . . , x
n
e y
i
= f (x
i
), i = 0, 1, . . . , n. Para
cada k = 0, 1, . . . , n sejam
L
k
(x) =
(x x
0
)(x x
1
) . . . (x x
k1
)(x x
k+1
) . . . (x x
n
)
(x
k
x
0
)(x
k
x
1
) . . . (x
k
x
k1
)(x
k
x
k+1
) . . . (x
k
x
n
)
.
Ou resumidamente,
L
k
(x) =
n

i=0,i,=k
x x
i
x
k
x
i
, k = 0, 1, . . . , n. (7.3.3)
fcil observar que:
(1i) L
k
(x
k
) = 1,
(2i) L
k
(x
j
) = 0, se j ,= k,
(3i) L
k
(x) um polinmio de grau n.
Seja p
n
(x) o polinmio dado por
p
n
(x) = y
0
L
0
(x) + y
1
L
1
(x) + + y
n
L
n
(x). (7.3.4)
Podemos vericar que p
n
(x) satisfaz p
n
(x
i
) = y
i
, i = 0, 1, . . . , n, isto , p
n
(x) um polinmio
que interpola f nos pontos x
i
. Como o polinmio interpolador nico, segue que este o
polinmio interpolador. Resumindo temos o seguinte teorema:
Teorema 7.3.1 (Lagrange) Sejam x
0
, x
1
, . . . , x
n
pontos distintos e y
i
= f (x
i
), i = 0, 1, . . . , n da-
dos. Ento, existe um polinmio p
n
(x) de grau n que interpola f nesses pontos. Alm disso,
p
n
(x) dado por
p
n
(x) = y
0
L
0
(x) + y
1
L
1
(x) + + y
n
L
n
(x),
onde
L
k
(x) =
n

i=0,i,=k
x x
i
x
k
x
i
, k = 0, 1, . . . , n.
Exemplo 7.3.2
110
Usando o mtodo de Lagrange para determinar o polinmio que interpola os pontos
x
k
-1 0 1 2
y
k
0 1 2 7
obtemos
L
0
(x) =
(x x
1
)(x x
2
)(x x
3
)
(x
0
x
1
)(x
0
x
2
)(x
0
x
3
)
=
x(x 1)(x 2)
6
L
1
(x) =
(x x
0
)(x x
2
)(x x
3
)
(x
1
x
0
)(x
1
x
2
)(x
1
x
3
)
=
(x + 1)(x 1)(x 2)
2
L
2
(x) =
(x x
0
)(x x
1
)(x x
3
)
(x
2
x
0
)(x
2
x
1
)(x
2
x
3
)
=
(x + 1)x(x 2)
4
L
3
(x) =
(x x
0
)(x x
1
)(x x
2
)
(x
3
x
0
)(x
3
x
1
)(x
3
x
2
)
=
(x + 1)x(x 1)
6
.
Segue que o polinmio interpolador dado por p(x) = y
0
L
0
(x) + y
1
L
1
(x) + y
2
L
2
(x) +
y
3
L
3
(x) =
2
3
x
3
+
1
3
x + 1
Exemplo 7.3.3
Usando o mtodo de Lagrange para determinar o polinmio que interpola os pontos, plota-
mos os pontos e o polinmio interpolador p(x) =
3
4
x
4
+ 6x
3

61
4
x
2
+ 13x.
x
k
0 1 2 3 4
y
k
0 3 1 3 0
Teorema 7.3.4 (Estimativa para o erro) Sejam dados (n + 1) ns distintos x
0
, x
1
, x
2
, . . . , x
n
no
intervalo [a, b] e f : [a, b] R funo em C
n+1
[a, b]. Ento, para cada x [a, b] existe
x
(a, b)
tal que
f (x) = p
n
(x) +
f
(n+1)
(
x
)
(n + 1)!
(x x
0
)(x x
1
) (x x
n
). (7.3.5)
Demonstrao: Notemos que se x = x
k
para algum k = 0, 1, . . . , n ento a igualdade acima
em (7.3.5) satisfeita independentemente de
x
.
Tomemos ento x ,= x
k
, k = 0, 1, . . . , n e denimos a funo
g(t) = f (t) p
n
(t) [ f (x) p
n
(x)]
(t x
0
)(t x
1
) (t x
n
)
(x x
0
)(x x
1
) (x x
n
)
.
fcil ver que g C
(n+1)
[a, b], pois f tem esta propriedade, alm disso g(x
k
) = 0 para
todo k = 0, 1, . . . , n. Notemos tambm que g(x) = 0 e assim, g se anula em (n + 2) pon-
tos distintos de [a, b]. Pelo Teorema de Rolle generalizado, existe
x
(a, b) para o qual
g
(n+1)
(
x
) = 0. Logo, temos
g
(n+1)
(
x
) = f
(n+1)
(
x
) p
(n+1)
n
(
x
) [ f (x) p
n
(x)]
d
(n+1)
dt
n+1
n

i=0
(t x
i
)
(x x
i
)
= 0.
D. Andrade Clculo Numrico 111
0
0.5
1
1.5
2
2.5
3
3.5
1 2 3 4
x
Figura 7.3.1: Grco do polinmio interpolador do exemplo 7.3.3
Como p
n
(x) um polinmio de grau mximo n segue que sua derivada de ordem (n + 1)
nula. Como
n

i=0
(t x
i
)
(x x
i
)
um polinmio de grau (n + 1), sua derivada de ordem (n + 1)
constante e igual a
d
(n+1)
dt
n+1
n

i=0
(t x
i
)
(x x
i
)
=
(n + 1)!

n
i=0
(x x
i
)
.
Assim podemos escrever,
0 = f
(n+1)
(
x
) [ f (x) p
n
(x)]
(n + 1)!

n
i=0
(x x
i
)
,
de onde temos
f (x) = p
n
(x) +
f
(n+1)
(
x
)
(n + 1)!
n

i=0
(x x
i
).
Isto conclui a demonstrao do teorema.
Segue que podemos estimar o erro cometido na interpolao polinomial quando trocamos
f (x) por p
n
(x):
E
n
(x) = f (x) p
n
(x) =
f
(n+1)
(
x
)
(n + 1)!
n

i=0
(x x
i
)
(7.3.6)
Observe que a utilizao da frmula do erro na interpolao bastante restrita. De fato,
uma estimativa para o erro s possvel se conhecemos uma limitao para f
(n+1)
(x). Veja
a seo 7.8 para um comentrio sobre o erro e o fenmeno Runge.
112
Exemplo 7.3.5
Sejam x
k
= 0.1k e y
k
= f (x
k
), k = 0, 1, . . . , 10 = n, obtidos de f (x) = exp(x). Para x [0, 1],
vamos estimar o erro
[ f (x) P
n
(x)[ = [
f
(n+1)
()
(n + 1)!
(x x
0
)(x x
1
) . . . (x x
n
)[.
Notemos que max
x[0,1]
f
(n+1)
(x) = e, assim
[E
n
(x)[ = [
f
(n+1)
(
x
)
(n + 1)!
(x x
0
)(x x
1
) . . . (x x
n
)[

e
11!
[(x 0)(x 0.1) . . . (x 10)[.
Se x = 0.55, obtemos
[E
n
(x)[
e
11!
[(0.55 0)(0.55 0.1) . . . (0.55 1)[

e
11!
[ 0.4796520993 10
7
[ = 0.326638 10
14
.
7.3.2 O mtodo de Lagrange para pontos igualmente espaados
Se os pontos dados x
0
< x
1
< x
2
< . . . < x
n
so igualmente espaados, isto , x
i+1

x
i
= h, i = 0, 1, 2, . . . , n 1, o polinmio interpolador dado pelo mtodo de Lagrange pode
ser escrito de uma forma mais simples. Dado x [x
0
, x
n
] seja u =
x x
0
h
. Segue que
x = x
0
+ uh e portanto tem-se
x x
k
= (u k)h,
x
r
x
s
= (r s)h.
Substituindo estas informaes no polinmio interpolador dado pelo mtodo de Lagrange,
obtemos
p
n
(u) =
n

k=0
y
k
n

i=0,i,=k
_
u i
k i
_
.
(7.3.7)
7.4 Usando Maple: o mtodo de Lagrange
O procedimento em Maple a seguir calcula o polinmio interpolador usando o mtodo
de Lagrange e plota os pontos juntamente com o polinmio interpolador. A sintaxe
InterpoLa(pontos);.
D. Andrade Clculo Numrico 113
> restart:
> interpoLa:=proc(pts) local i,j,k,polin,gr1,gr2,check arguments;
> if type(pts,list) = false then
ERROR(o argumento deve ser uma lista de pontos do R^2) fi;
> check arguments:=(pt)-> if type(pt,list) = false or nops(pt) <> 2
then ERROR(o argumento no um ponto do R^2,pt) else pt fi;
> map(check arguments,pts);
> polin:=sort(expand(sum(product((x-pts[j][1])/(pts[i][1]-pts[j][1]),j=1..i-1)
*product((x-pts[k][1])/(pts[i][1]-pts[k][1]),k=i+1..nops
(pts))*pts[i][2],i=1..nops(pts))),x);
print(polin);
gr1:=plot(polin,x=0..pts[nops(pts)][1]);
> gr2:=plot(pts,style=point,symbol=circle, color=blue);
> plots[display]({gr1,gr2});
> end:
#Exemplo
> interpoLa( [ [0, 5], [1, 3], [2, 1], [3, 3], [4, -3] ] );
7.5 O Mtodo de Newton
No clculo do polinmio interpolador pelo mtodo de Lagrange, a adio de mais um
ponto (x
n+1
, y
n+1
) nos obriga a refazer todos os clculos dos novos polinmios L
k
(x), i =
0, 1, . . . , n + 1. O mtodo de Newton para o polinmio interpolador, com diferenas di-
vididas, no h esse problema. Podemos acrescentar ou retirar pontos obtendo novos
polinmios interpoladores de modo mais simples.
Nesse mtodo o polinmio interpolador obtido de uma construo recursiva simples
utilizando um operador de diferena dividida.
Para obtermos a forma de Newton para o polinmio interpolador p
n
(x) que interpola f
nos pontos x
0
, x
1
, . . . , x
n
precisamos do operador de diferenas divididas que passaremos a
expor agora.
114
O operador diferenas divididas denido por
f [x
0
] = f (x
0
), (ordem zero)
f [x
0
, x
1
] =
f [x
1
] f [x
0
]
x
1
x
0
=
f (x
1
) f (x
0
)
x
1
x
0
, (ordem 1)
f [x
0
, x
1
, x
2
] =
f [x
1
, x
2
] f [x
0
, x
1
]
x
2
x
0
, (ordem 2)
f [x
0
, x
1
, x
2
, x
3
] =
f [x
1
, x
2
, x
3
] f [x
0
, x
1
, x
2
]
x
3
x
0
, (ordem 3)
.
.
. =
.
.
.
f [x
0
, x
1
, x
2
, x
3
, . . . , x
n
] =
f [x
1
, x
2
, x
3
, . . . , x
n
] f [x
0
, x
1
, x
2
, . . . , x
n1
]
x
n
x
0
, (ordem n)
Chamamos de f [x
0
, x
1
, x
2
, . . . , x
k
] de diferena dividida de ordem k entre os k + 1 pontos
x
0
, x
1
, x
2
, . . . , x
k
. As diferenas divididas f [x
0
, x
1
, x
2
, . . . , x
k
] so invariantes para qualquer
permutao dos ndices, isto , so funes simtricas nos seus argumentos.
Dados x
0
, x
1
, x
2
, . . . , x
n
pontos distintos, podemos assumir que esto ordenados em ordem
crescente, x
0
< x
1
< . . . < x
n
. Podemos construir a seguinte tabela de diferenas divididas
x
k
f [x
k
] f [x
k
, x
k+1
] f [x
k
, x
k+1
, x
k+2
] f [x
k
, x
k+1
, x
k+2
, x
k+3
]
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
2
, x
3
]
x
3
f [x
3
]
No caso geral temos:
D. Andrade Clculo Numrico 115
x
k
Ordem 0 Ordem 1 Ordem 2 Ordem 3 ... Ordem n
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
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
]
.
.
. ... f [x
0
, x
1
, x
2
, . . . , x
n
]
x
4
f [x
4
]
.
.
.
.
.
.
.
.
.
f [x
n2
, x
n1
, x
n
]
f [x
n1
, x
n
]
x
n
f [x
n
]
Apresentaremos agora a construo do polinmio p
n
(x) que interpola f (x) nos pontos
x
0
, x
1
, x
2
, . . . , x
n
segundo o mtodo de Newton. A construo feita por induo, iniciamos
com o polinmio que interpola f (x) em x = x
0
e assim sucessivamente, construremos
p
k
(x) que interpola f (x) em x
0
, x
1
, x
2
, . . . , x
k
, k = 0, 1, . . . , n.
Seja, ento p
0
(x) o polinmio de grau zero, que interpola f (x) em x = x
0
. Segue que
p
0
(x) = f [x
0
].
Para x ,= x
0
e x [a, b], temos que
f [x
0
, x] =
f [x] f [x
0
]
x x
0
=
f (x) f (x
0
)
x x
0
,
donde se obtm
f (x) = f (x
0
)
. .
p
0
(x)
+ (x x
0
) f [x
0
, x]
. .
E
0
(x)
.
Chamamos de E
0
(x) = f (x) p
0
(x) de erro cometido ao se aproximar f (x) por p
0
(x).
Seja, p
1
(x) o polinmio de grau 1 que interpola f (x) em x
0
e x
1
. Temos que
f [x
0
, x
1
, x] = f [x
1
, x
0
, x] =
f [x, x
0
] f [x
1
, x
0
]
x x
1
=
f (x) f (x
0
) (x x
0
) f [x
1
, x
0
]
(x x
0
)(x x
1
)
,
donde se obtm
f (x) = f (x
0
) + (x x
0
) f [x
1
, x
0
]
. .
p
1
(x)
+ (x x
0
)(x x
1
) f [x
0
, x
1
, x]
. .
E
1
(x)
.
116
Assim,
p
1
(x) = p
0
(x) + (x x
0
) f [x
0
, x
1
],
e
E
1
(x) = (x x
0
)(x x
1
) f [x
0
, x
1
, x].
Analogamente, obtemos
p
2
(x) = p
1
(x) + (x x
0
)(x x
1
) f [x
0
, x
1
, x
2
]
e
E
2
(x) = (x x
0
)(x x
1
)(x x
2
) f [x
0
, x
1
, x
2
, x].
Repetindo sucessivamente o argumento acima, obtemos que
f (x) = f (x
0
) + (x x
0
) f [x
1
, x
0
] + + (x x
0
)(x x
1
) (x x
n1
) f [x
0
, x
1
, , x
n
]
. .
p
n
(x)
+ (x x
0
)(x x
1
) (x x
n
) f [x
0
, x
1
, . . . , x
n
, x]
. .
E
n
(x)
.
Assim,
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
]
e
E
n
(x) = (x x
0
)(x x
1
) (x x
n
) f [x
0
, x
1
, . . . , x
n
, x].
Note que o coeciente principal do polinmio interpolador dado por f [x
0
, x
1
, , x
n
].
Resumindo acabamos de provar o seguinte resultado.
Teorema 7.5.1 A forma de Newton para o polinmio p
n
(x) que interpola f (x) em x
0
, x
1
, x
2
, . . . , x
n
pontos distintos, dado por
p
n
(x) = d
0
+ d
1
(x x
0
) + d
2
(x x
0
)(x x
1
) + + d
n
(x x
0
)(x x
1
) (x x
n1
),
onde d
k
so as diferenas divididas de ordem k dadas por
d
k
= f [x
0
, x
1
, x
2
, . . . , x
k
].
Alm disso, se f (n + 1) vezes diferencivel no intervalo [a, b] que contm os pontos x
i
, o erro
E
n
(x) dado por
E
n
(x) = f (x) p
n
(x) = (x x
0
)(x x
1
) (x x
n
) f [x
0
, x
1
, . . . , x
n
, x].
D. Andrade Clculo Numrico 117
Algumas propriedades das diferenas divididas:
(1i) Uma propriedade importante
f [x
0
, x
1
, x
2
, . . . , x
n
] =
n

i=0
y
i

n
j=0,j,=i
(x
i
x
j
)
.
(2i) Sendo f (x) uma funo n vezes diferencivel num intervalo [a, b] que contm n + 1
pontos distintos x
0
, x
1
, x
2
, . . . , x
n
, ento
f [x
0
, x
1
, x
2
, . . . , x
n
] =
f
(n)
()
n!
, (7.5.8)
para algum (a, b).
Vamos vericar (2i). Denindo g(x) = f (x) p
n
(x) temos que
g(x
i
) = 0, i = 0, 1, . . . , n.
Usando o Teorema generalizado de Rolle, existe um nmero (a, b) com
g
(n)
() = 0.
Logo, f
(n)
() = p
(n)
n
(). Como p
n
(x) tem grau mximo n, temos que a derivada p
(n)
n
(x)
constante e igual a n! f [x
0
, x
1
, x
2
, . . . , x
n
]. Disto segue o resultado.
Em vista de (7.5.8) a expresso para o erro pode ser escrita como
E
n
(x) = (x x
0
)(x x
1
) (x x
n
)
f
(n+1)
()
(n + 1)!
,
para algum (a, b). Veja a seo 7.8 para um comentrio sobre o erro e o fenmeno
Runge.
Exemplo 7.5.2
Usando o mtodo de Newton determine o polinmio que interpola os pontos
x
k
-1 0 1 2
y
k
0 1 2 7
Vamos construir a tabela de diferenas divididas
118
x
k
Ordem 0 Ordem 1 Ordem 2 Ordem 3
-1 0
1
0 1 0
1
2
3
1 2 2
5
2 7
Assim,o polinmio interpolador dado por
p
3
(x) = d
0
+ d
1
(x x
0
) + d
2
(x x
0
)(x x
1
) + d
3
(x x
0
)(x x
1
)(x x
2
)
= (x + 1) +
2
3
(x + 1)x(x 1).
7.5.1 Outra demonstrao para o polinmio de Newton
Sejam dados x
0
< x
1
< x
2
< . . . < x
n
pontos distintos. O polinmio que interpola f nos
pontos (x
i
, f (x
i
)) da forma
P
n
(x) =
n

i=0
d
i
p
i
(x),
onde
p
0
(x) = 1,
p
1
(x) = (x x
0
),
p
2
(x) = (x x
0
)(x x
1
),
. . . = . . .
p
i
(x) = (x x
0
)(x 1) (x x
i1
) =
i1

j=0
(x x
j
),
. . . = . . .
p
n
(x) = (x x
0
)(x 1) (x x
n1
) =
n1

j=0
(x x
j
).
Notemos que se k < i, ento p
i
(x
k
) = 0.
D. Andrade Clculo Numrico 119
Substituindo os pontos no polinmio, obtemos
P
n
(x
0
) = d
0
p
0
(x
0
) = y
0
,
P
n
(x
1
) = d
0
p
0
(x
1
) + d
1
p
1
(x
1
) = y
1
,
P
n
(x
2
) = d
0
p
0
(x
2
) + d
1
p
1
(x
2
) + d
2
p
2
(x
2
) = y
2
,
P
n
(x
3
) = d
0
p
0
(x
3
) + d
1
p
1
(x
3
) + d
2
p
2
(x
3
) + d
3
p
3
(x
3
) = y
3
,
. . . = . . .
P
n
(x
n
) = d
0
p
0
(x
n
) + d
1
p
1
(x
n
) + d
2
p
2
(x
2
) + d
n
p
n
(x
n
) = y
n
,
Num sistema de equaes lineares, temos
_

_
p
0
(x
0
) 0 0 . . . 0
p
0
(x
1
) p
1
(x
1
) 0 0
p
0
(x
2
) p
1
(x
2
) p
2
(x
2
) 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
p
0
(x
n
) p
1
(x
n
) p
n
(x
n
)
_

_
_

_
d
0
d
1
d
2
.
.
.
d
n
_

_
=
_

_
y
0
y
1
y
2
.
.
.
y
n
_

_
Por substituio direta e utilizando a denio de diferenas divididas obtemos que
d
0
= y
0
d
1
= f [x
0
, x
1
]
.
.
. =
.
.
.
d
i
= f [x
0
, x
1
, . . . , x
i
]
.
.
. =
.
.
.
d
n
= f [x
0
, x
1
, . . . , x
n
].
Isto conclui a prova.
7.6 Usando Maple: interpolao pelo mtodo de Newton
O procedimento em Maple a seguir calcula a tabela das diferenas divididas e o polinmio
interpolador pelo mtodo de Newton. Voc entra com X e FXin as duas listas, o nmero
de elementos n e a varivel de sada x.
> restart:
> Newtondd:=proc(X,FXin,n) local FX,i,j,pol,mult;
FX:=FXin; for i from 1 to n-1
do print(FX[i..n], ordem,i-1);
120
for j from n by -1 to i+1
do FX[j] := (FX[j] - FX[j-1])/(X[j]-X[j-i]);
od; od; print(FX[n..n], ordem,i-1);
pol:=FX[1]; mult:=1; for i from 2 to n
do mult:=mult*(x-X[i-1]);
pol:=pol+mult*FX[i]; od;
print(evalm(FX));print(pol); end:
##Exemplo
>Newtondd([0,1,2,3,4],[5,3,1,3,-3],5,x);
7.6.1 O mtodo de Newton para pontos igualmente espaados
Dados os pontos x
0
< x
1
< x
2
< . . . < x
n
igualmente espaados, isto , x
i+1
x
i
= h, i =
0, 1, 2, . . . , n 1, o polinmio interpolador dado pelo mtodo de Newton assume uma forma
mais simples chamada de Newton-Gregory.
Denimos o operador diferena ordinria (adiantada) por

0
f (x) = f (x)
f (x) = f (x + h) f (x)

2
f (x) = (f (x))
.
.
. =
.
.
.

n
f (x) = (
(n1)
f (x))
Lema 7.6.1 Para k 0 temos
f [x
0
, x
1
, . . . , x
k
] =

k
f (x
0
)
k!h
k
.
Demonstrao: A prova por induo. Se k = 1, temos
f [x
0
, x
1
] =
f (x
1
) f (x
0
)
x
1
x
0
=
f (x
0
)
h
.
Agora assuma que o resultado vlido para k r, vamos provar que o resultado ainda
vale para r + 1.
D. Andrade Clculo Numrico 121
Assim, segue que,
f [x
0
, x
1
, . . . , x
r+1
] =
f [x
1
, x
2
, . . . , x
r+1
] f [x
0
, x
1
, . . . , x
r
]
x
r+1
x
0
=
1
(r + 1)h
_

r
f (x
1
)
r!h
r

r
f (x
0
)
r!h
r
_
=

r
f (x
1
)
r
f (x
0
)
r!(r + 1)hh
r
=

r+1
f (x
0
)
(r + 1)!h
r+1
.
Isso conclui a prova do lema.
Dado x [x
0
, x
n
] seja s =
x x
0
h
. Segue que x x
0
= sh e portanto tem-se
x x
r
= x (x
0
+ rh) = (x x
0
) rh = sh rh = (s r)h.
Do lema acima, podemos concluir que, para pontos igualmente espaados
d
0
= f [x
0
]
d
1
= f [x
0
, x
1
] =
f (x
0
)
h
d
2
= f [x
0
, x
1
, x
2
] =

2
f (x
0
)
2!h
2
.
.
. =
.
.
.
d
k
= f [x
0
, x
1
, . . . , x
k
] =

k
f (x
0
)
k!h
k
.
.
. =
.
.
.
d
n
= f [x
0
, x
1
, . . . , x
n
] =

n
f (x
0
)
n!h
n
Substituindo no polinmio interpolador de Newton, obtemos
p
n
(s) =
n

r=0
s(s 1) (s (r 1))

r
f (x
0
)
r!
.
Usando a notao
_
s
0
_
= 1,
_
s
r
_
=
s(s 1) (s (r 1))
r!
, r 1
o polinmio pode ser escrito como
p
n
(s) =
n

r=0
_
s
r
_

r
f (x
0
) = f (x
0
) +
n

r=1
_
s
r
_

r
f (x
0
).
122
Este polinmio interpolador de Newton-Gregory.
Podemos efetuar a mesma substituio, s =
x x
0
h
, na expresso do erro
E
n
(x) = (x x
0
)(x x
1
) (x x
n
)
f
(n+1)
()
(n + 1)!
para obter
E
n
(s) = s(s 1)(s 2)(s 3) (s n)h
n+1
f
(n+1)
()
(n + 1)!
,
onde (0, n).
7.7 Exemplos
Construa a tabela de diferenas ordinrias dos seguintes pontos, onde f (x) =

x .
x
k
2 2.1 2.2 2.3 2.4
f (x
k
) 1.414214 1.449138 1.483240 1.516575 1.549193
Use o polinmio interpolador na forma de Newton para aproximar

2.15 (com 6 casas
decimais) com um polinmio de:
(a) grau 1,
(b) grau 2,
(c) grau 3,
(d) grau 4.
x
k

0
f
1
f
2
f
3
f
4
f
2.0 1.414214
0.034924
2.1 1.449138 0.000822
0.034102 0.000055
2.2 1.483240 0.000767 0.000005
0.033335 0.00005
2.3 1.516575 0.000717
0.032618
2.4 1.549193
D. Andrade Clculo Numrico 123
Chamando =
x x
0
h
, da tabela temos que,
p
4
() = 1.414214 + f (x
0
) + ( 1)

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

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

4
f (x
0
)
4!
.
Dado x = 2.15 temos que =
2.152.0
0.1
= 1.5, assim temos sucessivamente:
p
1
() = 1.414214 + f (x
0
) = 1.414214 + 0.034924
= 1.414214 + 1.5 0.034924 1.4666.
p
2
() = 1.414214 + f (x
0
) + ( 1)

2
f (x
0
)
2!
1.4666
0.000822
2
1.5 0.5 1.466292.
p
3
() = 1.414214 + f (x
0
) + ( 1)

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

3
f (x
0
)
3!
= p
2
(1.5) +
1.5 0.5 (0.5) 0.000055
6
1.466288.
E nalmente,
p
4
() 1.466288.
Comparando os valores obtidos com

2.15 1.4662878 temos a seguinte tabela


grau k = 1 k = 2 k = 3 k = 4
p
k
(1.5) 1.4666 1.466292 1.466288 1.466288
[

2.15 p
k
(1.5)[ 0.3122 10
3
0.42 10
5
0.2 10
6
0.2 10
6
Agora vamos estimar os erros usando a expresso para o erro
E
4
(x)
1
(n + 1)!
max[(x x
0
)(x x
1
)(x x
2
)(x x
3
)(x x
4
) f
(5)
(x); x [a, b][
ou na varivel
E
4
()
1
(n + 1)!
max[( 1)( 2)( 3)( 4) f
(5)
(); [0, 4][,
124
onde =
x x
0
h
.
As derivadas da funo

x so dadas por
f
(1)
(x) = 1/2
1

x
, f
(2)
(x) = 1/4 x
3/2
, f
(3)
(x) = 3/8 x
5/2
f
(4)
(x) =
15
16
x
7/2
, f
(5)
(x) =
105
32
x
9/2
Para estimar os erros precisamos estudar os mximos das funes f
(2)
, f
(3)
, f
(4)
, f
(5)
, no
intervalo [2, 2.4]
Os valores mximos para os erros so (dez dgitos e arredondamento):
[E
1
(x)[ 0.11 10
3
[E
2
(x)[ 0.4 10
5
[E
3
(x)[ 0.2 10
6
[E
4
(x)[ 0.4 10
7
Uma anlise dos grcos pode ajudar nas majoraes acima.
Observao 7.7.1 Para pontos igualmente espaados, x
j
= x
0
+ jh, a expresso do erro envolve
funes do tipo

n
(x) = (x x
0
)(x x
1
)(x x
2
) (x x
n
).
No caso de n = 1, temos
1
(x) = (x x
0
)(x x
1
) cujo mximo no intervalo [x
0
, x
1
]
h
2
4
.
No caso de n = 2, temos
2
(x) = (x x
0
)(x x
1
)(x x
2
) cujo mximo no intervalo [x
0
, x
2
]
2

3 h
3
9
.
No caso de n = 3, temos
3
(x) = (x x
0
)(x x
1
)(x x
2
)(x x
3
) cujo mximo no intervalo
[x
0
, x
3
] h
4
.
Exerccio: Repita o exemplo acima com os pontos abaixo, onde f (x) = x exp(x) e estime o
erro de f (0.7) 1.409626895 (com pelo menos 6 casas decimais).
x
k
0.2 0.4 0.6 0.8 1.0
f (x
k
) 0.2442805516 0.5967298792 1.093271280 1.780432742 2.718281828
7.8 O Fenmeno Runge
Algumas observaes devem ser feitas sobre interpolao polinomial. A primeira delas
que em geral no melhoramos a preciso aumentando a quantidade de pontos ou ns e,
portanto aumentando o grau do polinmio interpolador. O que obtemos nesse caso a
melhora de preciso na regio central do intervalo, mas h perdas grandes na aproximao
na regio dos extremos do intervalo. A esse fenmeno chamamos de fenmeno Runge: o
D. Andrade Clculo Numrico 125
erro menor na zona central do intervalo e maior nos extremos. Devido a esse fenmeno
devemos escolher um intervalo em que o ponto que queremos aproximar seja central.
A segunda observao que no devemos usar o polinmio interpolador para aproximar
valores que estejam fora do intervalo de interpolao. A isso denominamos extrapolao.
Para ilustrar o fenmeno Runge, consideremos a funo tpica f (x) =
1
1 + 25x
2
e o intervalo
[1, 1].
0.2
0.4
0.6
0.8
1
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1
x
Figura 7.8.2: grco de f (x) =
1
1 + 25x
2
Tomemos, respectivamente 7 e 13 ns igualmente espaados e os respectivos polinmios
interpoladores de grau 6 e grau 12 que interpola f nos pontos (x
i
, f (x
i
)). Vemos que a
medida que aumentamos o grau do polinmio, o erro aumenta nas regies dos extremos
do intervalo. Repare o comportamento do polinomio interpolador na regio dos extremos
do intervalo.
Para evitar o fenmeno Runge podemos considerar outro enfoque como por exemplo, con-
siderar pontos no igualmente espaados juntamente com polinmios ortogonais, splines
ou aproximao por mnimos quadrados.
Exerccio 7.8.1
1. Use polinmio apropriado de Lagrange de graus 1, 2 e trs para aproximar f (8.4) se
x 8.1 8.3 8.6 8.7
f (x) 16.94410 17.56492 18.50515 18.8209
126
0
0.2
0.4
0.6
0.8
1
1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1
x
Figura 7.8.3: grau 6
3
2
1
0
1
1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1
x
Figura 7.8.4: grau 12
2. Use polinmio apropriado de Lagrange de graus 1, 2 e trs para aproximar f (0.25)
se
x 0.1 0.2 0.3 0.4
f (x) 0.62049958 -0.28398668 0.00660095 0.24842440
3. Os dados dos dois exerccios anteriores foram gerados pelas funes f (x) = x ln(x)
e f (x) = x cos(x) 2x
2
+ 3x 1, respectivamente. Use a frmula do erro para
encontrar uma limitao.
4. Use polinmio interpolador dado pelo mtodo de Newton de graus 1, 2 e trs para
aproximar f (1/3) se
x -0.75 -0.5 -0.25 0.0
f (x) -0.07181250 -0.02475000 0.33493750 1.10100000
5. Use polinmio interpolador dado pelo mtodo de Newton de graus 1, 2 e trs para
aproximar f (0.25) se
x 0.1 0.2 0.3 0.4
f (x) -0.62049958 -0.28398668 0.00660095 0.24842440
6. Construa o polinmio interpolador de grau 4 para os pontos no igualmente espaa-
dos
x 0 0.1 0.3 0.6 1.0
f (x) -6.00000 -5.89843 -5.65014 -5.17788 -4.28172
D. Andrade Clculo Numrico 127
Acrescente o par (1.1; 3.99583) na tabela e contrua o polinmio de grau 5.
7. Use o mtodo de Newton para construir o polinmio interpolador de grau 4 para os
pontos (x
k
, f (x
k
))
x 0 0.5 1.0 1.5 2.0
f (x) 1.00 1.649 2.718 4.482 7.389
Use este polinmio para estimar f (1.75).
8. Use o mtodo de Newton para construir o polinmio interpolador de grau 4 para os
pontos (x
k
, f (x
k
))
x 0 0.5 1.0 1.5 2.0
f (x) 1.320 1.65 2.34 3.47 4.56
Use este polinmio para estimar f (1.85).
9. Use o mtodo de Newton para construir o polinmio interpolador de grau 4 para os
pontos (x
k
, f (x
k
))
x 0 0.5 1.0 1.5 2.0
f (x) 1.00 1.649 2.718 4.482 7.389
Use este polinmio para estimar f (1.75).
Avalie a integral
_
2
0
f (x)dx, para isso substitua f pelo polinmio acima.
7.9 Resumo do captulo
Neste captulo provamos que dados n +1 pares de pontos (x
i
, y
i
) com distintos x
i
, ex-
iste um nico polinmio interpolador passando por esses pontos. Apresentamos o mtodo
de Lagrange e o mtodo de Newton para o determinar o polinmio interpolador. Apresen-
tamos tambm expresses para o erro na interpolao e estudamos o efeito Runge.
128
8
Aproximao por quadrados mnimos
8.1 Introduo
A ideia do mtodo de aproximao por quadrados mnimos aproximar uma funo, por
outra, cometendo o menor erro possvel.
Vimos que a interpolao polinomial pode no ser convel para pontos das regies prxi-
mas aos extremos do intervalo e para pontos fora do intervalo do ajuste realizado (extrapo-
lao). Surge assim a necessidade de uma ferramenta que permita extrapolao com algum
controle de erro.
8.2 Caso discreto
Consideremos o problema de estimar os valores de uma funo em pontos no tabelados,
sendo conhecidos dados obtidos experimentalmente.
Podemos considerar que f seja uma funo polinomial, e este caso inclui as retas, assim
devemos ajustar aos dados uma funo do tipo
(x) = a
0
+ a
1
x + a
2
x
2
+ . . . + a
n
x
n
.
Podemos tambm considerar que f tenha comportamento exponencial ou que f tem com-
portamento de polinmio trigonomtrico.
Vamos supor que desejamos ajustar aos dados (x
1
, y
1
), (x
2
, y
2
), . . . , (x
m
, y
m
), onde y
i
=
f (x
i
), uma funo do tipo
(x) =
1
g
1
(x) +
2
g
2
(x) + . . . +
n
g
n
(x), m n
129
130
Figura 8.2.1: disperso
Assim, devemos determinar os coecientes
i
= 1, 2, . . . , n da funo tais que
[ f (x
k
) (x
k
)[
2
, k = 1, 2, . . . , m
seja mnimo. Assim, devemos minimizar a funo
E(
1
,
2
, . . . ,
n
) =
m

k=1
[ f (x
k
) (x
k
)[
2
,
que uma funo de n variveis
i
, i = 1, 2, . . . , n.
Como E quadrtica o ponto de mnimo global de o ponto crtico de E. Para determinar
os pontos crticos de E necessrio determinar os pontos tais que
E

j
= 0, j = 1, 2, . . . , n.
Assim, para cada j = 1, 2, . . . , n
0 =
E

j
= 2
m

k=1
[ f (x
k
) (x
k
)] (+g
j
(x
k
)),
que um sistema de equaes lineares:
m

k=1
[ f (x
k
) (x
k
)] g
j
(x
k
) = 0, j = 1, 2, . . . , n.
Reescrevendo,
_

m
k=1
[ f (x
k
) (
1
g
1
(x
k
) +
2
g
2
(x
k
) + +
n
g
n
(x
k
))] g
1
(x
k
) = 0

m
k=1
[ f (x
k
) (
1
g
1
(x
k
) +
2
g
2
(x
k
) + +
n
g
n
(x
k
))] g
2
(x
k
) = 0
.
.
.
.
.
.
.
.
.

m
k=1
[ f (x
k
) (
1
g
1
(x
k
) +
2
g
2
(x
k
) + +
n
g
n
(x
k
))] g
n
(x
k
) = 0.
D. Andrade Clculo Numrico 131
Colocando os coecientes s em evidncia, temos
_

_
[
m
k=1
g
1
(x
k
)g
1
(x
k
)]
1
+ + [
m
k=1
g
n
(x
k
)g
1
(x
k
)]
n
=
m
k=1
f (x
k
)g
1
(x
k
)
[
m
k=1
g
1
(x
k
)g
2
(x
k
)]
1
+ + [
m
k=1
g
n
(x
k
)g
2
(x
k
)]
n
=
m
k=1
f (x
k
)g
2
(x
k
)
.
.
.
.
.
.
[
m
k=1
g
1
(x
k
)g
n
(x
k
)]
1
+ + [
m
k=1
g
n
(x
k
)g
n
(x
k
)]
n
=
m
k=1
f (x
k
)g
n
(x
k
).
Para simplicar, vamos usar a seguinte notao, por g
i
representaremos o vetor em R
m
dado por
g
i
= (g
i
(x
1
), g
i
(x
2
), . . . , g
i
(x
m
)), i = 1, 2, . . . , n.
Notao anlogo para f :
f = ( f (x
1
), f (x
2
), . . . , f (x
m
)).
Usando esta notao, observamos que as expresses entre colchetes no sistema acima so
os produtos internos g
i
g
j
.
Assim, podemos esrever na forma matricial:
_

_
g
1
g
1
g
2
g
1
g
n
g
1
g
1
g
2
g
2
g
2
g
n
g
2
.
.
.
.
.
.
.
.
.
g
1
g
n
g
2
g
n
g
n
g
n
_

_
_

2
.
.
.

n
_

_
=
_

_
f g
1
f g
2
.
.
.
f g
n
_

_
.
Observamos que a matriz dos coecientes simtrica:
a
ij
= g
i
g
j
= g
j
g
i
= a
ji
.
Note que se os vetores g
i
forem linearmente independentes, ento o sistema linear admite
uma nica soluo.
Como resolver sistemas lineares, em geral, no uma tarefa fcil, seria muito bom que os
vetores g
i
fossem tambm ortogonais, pois neste caso a matriz seria diagonal tornando a
soluo do sistema completamente trivial.
Exemplos
Exemplo 8.2.1 (Caso discreto mais comum)
Os dados (x
k
, y
k
) abaixo foram obtidos experimentalmente. O fenmeno fsico modelado
por uma funo f (x) com comportamento exponencial. Ajustar aos dados uma funo do
tipo I(x) = Be
Ax
.
x
i
1.0 1.25 1.5 1.75 2.0
f (x
i
) = y
i
5.10 5.79 6.53 7.45 8.46
132
Esta uma das mais tpicas aplicaes. Observe que se aplicarmos ln a I(x) obtemos uma
reta
(x) = ln I(x) = ln B + Ax.
Assim, devemos ajustar aos novos dados (x
i
, ln y
i
) uma reta. Segue daqui que as funes
so g
1
(x) = 1 e g
2
(x) = x e devemos determinar as constantes
0
= ln B e
1
= A. Os novos
dados so
x
i
1.0 1.25 1.5 1.75 2.0
ln y
i
1.629240540 1.756132292 1.876406943 2.008214032 2.135349174
Usando a teoria para o caso discreto, obtemos o seguinte sistema de equaes lineares
_
g
1
g
1
g
2
g
1
g
1
g
2
g
2
g
2
_ _

0

1
_
=
_
f g
1
f g
2
_
.
Calculando os produtos internos, temos
_
5 7.5
7.5 11.875
_ _

0

1
_
=
_
9.404
14.422
_
.
Usando um dos mtodos numricos de resoluo de sistema de equaes lineares, obtemos

0
= 1.122
1
= 0.5056.
Como
0
= 1.122 = ln B, segue que B = e
1.122
= 3.071. Logo, temos I(x) = 3.071e
0.5056x
.
Exerccio 8.2.2 (Emisso de CO
2
e o aquecimento global:)
O banco de dados do Carbon Dioxide Information Analysis Center (CDIAC)
1
e de Oak
Ridge National Laboratory (ORNL) fornecem os seguintes dados sobre a emiso do carbono
CO
2
.
Ano 1800 1850 1900 1950 2000
Qtdade 5.0 10
9
1.0 10
10
1.5 10
10
2.0 10
10
2.5 10
10
Ajustar aos dados uma funo do tipo y = be
ax
.
Exerccio 8.2.3 (Processo de cicatrizao)
O processo de uma cicatrizao obedece lei de Carrel
2
, que diz que o logaritmo da rea
lesionada decresce linearmente com o tempo. Suponha que temos uma rea lesionada e que
foi acompanhada ao longo do tempo como mostram os dados abaixo. Determine a curva
que melhor se ajusta aos dados.
Exerccio 8.2.4 (Disponibilidade de gua)
D. Andrade Clculo Numrico 133
Tabela 8.1: Processo de cicatrizao
Tempo(dias) 0 5 10 15 20 25 30 35 40 45 50
rea (cm
2
) 120 90 84 71 55 44 35 27 20 16 11
Tabela 8.2: Disponibilidade de gua
1950 1960 1970 1980 2000
105 80.2 61.7 48.8 28.3
A disponibilidade de gua potvel no mundo vem caindo gradualmente. A tabela, com
dados da Amrica Latina baseados na realidade
3
, apresenta a quantidade de gua por
habitante medida em 1000 m
3
. Determine a curva da forma y = be
ax
que melhor se ajusta
aos dados.
Exerccio 8.2.5 (Casos importantes em aproximao por quadrados mnimos)
Estude os casos de aproximao por quadrados mnimos em que os dados tenham os
seguintes comportamentos:
(a) Comportamento hiperblico
y =
1
a + bx
.
Nesse caso, faa z =
1
y
e ajuste uma reta A + Bx aos dados (x
i
, z
i
). Em seguida volte
problema original.
(b) Comportamento exponencial
y = ab
x
.
Veja o exemplo 8.2.1.
(c) Comportamento geomtrico
y = ax
b
.
Nesse caso, se x
i
> 0 e y
i
> 0, faa z = ln y = ln a + b ln x = A + Bt, onde A = ln a, B = b e
ln x = t, obtendo uma reta. Em seguida volte ao problema original.
Exemplo 8.2.6 (Caso discreto)
Dado os pares (x
i
, y
i
) abaixo aproxime essa funo por uma parbola,
x
i
-1 -0.75 -0.6 -0.5 -0.3 0 0.2 0.4 0.5 0.7 1
y
i
2.05 1.153 0.45 0.4 0.5 0 0.2 0.6 0.512 1.2 2.05
conveniente tabelar os dados numa tabela
1
http//cdiac.esd.ornl.gov/ftp/ndp030/global98.ems
2
Mdico francs ganhador do prmio Nobel de Medicina de 1912
3
Ayibotele,1992. The world water assessing the resource
134
i x
i
y
i
x
2
i
x
i
y
i
y
i
x
2
i
x
3
i
x
4
i
1 -1.0 2.05
2 .0.75 1.153
3 -.06 0.45
4 -0.5 0.4
5 -0.3 0.5
6 0 0
7 0.2 0.2
8 0.4 0.6
9 0.5 0.512
10 0.7 1.2
11 1.0 2.05
11 -0.35 9.115 4.2025 -0.10875 5.875562 -0.249875 2.846406
Como queremos aproximar f (x) por uma parbola
0
+
1
x +
2
x
2
, as funes so g
1
(x) =
1, g
2
(x) = x e g
3
(x) = x
2
; assim temos
_
_
g
1
g
1
g
2
g
1
g
3
g
1
g
1
g
2
g
2
g
2
g
3
g
2
g
1
g
3
g
2
g
3
g
3
g
3
_
_
_
_

2
_
_
=
_
_
f g
1
f g
2
f g
3
_
_
.
Ou seja,
_
_
11 0.35 4.2025
0.35 4.2025 0.249875
4.2025 0.249875 2.846406
_
_
_
_

2
_
_
=
_
_
9.115
0.10875
5.875562
_
_
.
Resolvendo o sistema de equaes lineares, obtemos
0
= 0.0914,
1
= 0.09696 e
2
=
1.93776. Segue que a parbola procurada
(x) = 0.0914 + 0.09696x + 1.93776x
2
.
O Maple tem rotinas para mnimos quadrados discretos. Veja exemplo.
> restart:
> with(stats):
> xvals:=[0,0.25,0.5,0.75,1];
> yvals:=[1,1.284,1.6487,2.117,2.7183];
> z:=fit[leastsquare[[x,y],y=a*x^2+b*x+c,{a,b,c}]]([xvals,yvals]);
Para obter uma aproximao para y(1.7), digite
> evalf(subs(x=1.7,z));
8.2.1 Diagrama de disperso
O comportamento dos pontos no plano que determina a escolha do tipo de funo que
devemos determinar que melhor se ajusta aos dados. Isto , como os pontos esto distribu-
dos no plano. Se os pontos esto distribudos em torno de uma reta, devemos procurar
D. Andrade Clculo Numrico 135
entre as retas aquela que melhor se ajusta aos dados. Se os pontos esto distribudos em
torno de uma parbola devemos procurar entre as parbolas aquela que melhor se ajusta
aos dados.
No primeiro diagrama de disperso, veja guras 8.2.1, vemos que o comportamento
parablico, enquanto que o segundo claramente linear.
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
3 2 1 0 1 2 3
Figura 8.2.2: dispersoparablico
4
2
0
2
4
6
8
3 2 1 1 2 3 4
Figura 8.2.3: dispersolinear
8.3 Caso contnuo
Consideremos o espao vetorial C[a, b] das funes reais contnuas em [a, b] munido do
produto interno
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 uma funo integrvel com (x) , 0 para todo subintervalo de [a, b].
Usando o produto interno acima denimos a norma de f C[a, b] por
|f | =
_
f , f .
O produto interno acima introduz no espao C[a, b] a seguinte noo de distncia
d( f , g) = |f g|,
que torna este espao vetorial um espao mtrico.
Sejam f C[a, b] e S, o subespao de C[a, b], gerado pelo conjunto das funes
1
(x),
2
(x), . . . ,
n
(x)
linearmente independentes em C[a, b].
S

-
f
f

136
Queremos determinar coecientes a
k
R, k = 0, 1, . . . , n, tais que o erro
|f
n

k=1
a
k

k
|
. .

seja mnimo. Ou equivalentemente,


|f
n

k=1
a
k

k
|
2
=
_
b
a
(x)
_
f (x)
n

k=1
a
k

k
(x)
_
2
dx
seja mnimo. Isto , os quadrados devem ser mnimos. Geometricamente, a rea abaixo de
[ f (x)
n
k=1
a
k

k
(x)]
2
deve ser mnima.
Seja
E(a
1
, a
2
, . . . , a
n
) =
_
b
a
(x)
_
f (x)
n

k=1
a
k

k
(x)
_
2
dx.
A m de minimizar esta funo devemos resolver o seguinte sistema de equaes lineares:
E
a
j
= 2
_
b
a
(x)
_
f (x)
n

k=1
a
k

k
(x)
_
(
j
(x))dx = 0, (8.3.1)
j = 1, . . . , n.
Reescrevendo o sistema:
_
b
a
(x) f (x)
j
(x)dx =
n

k=1
a
k
_
b
a
(x)
k
(x)
j
(x)dx, j = 1, . . . , n. (8.3.2)
Podemos reescrever o sistema acima na forma matricial:
_

1

1

2

1

n

1

1

2

2

2

n

2
.
.
.
.
.
.
.
.
.

1

n

2

n

n

n
_

_
_

_
a
1
a
2
.
.
.
a
n
_

_
=
_

_
f
1
f
2
.
.
.
f
n
_

_
. (8.3.3)
Se as funes
i
forem linearmente independentes, ento o sistema admite uma nica
soluo.
Exemplos
Exemplo 8.3.1 (Caso Contnuo)
D. Andrade Clculo Numrico 137
Considere o espao C[0, 1] munido do produto interno usual dado por
f , g =
_
1
0
f (x)g(x)dx.
Aproximar f (x) = sin(x) em [0, 1] por uma funo da forma (x) = a
0
+ a
1
x + a
2
x
2
.
Assim,
1
(x) 1,
2
(x) = x e
3
(x) = x
2
. Escrevendo o sistema 8.3.3
_
_

1

1

2

1

3

1

1

2

2

2

3

2

1

3

2

3

3

3
_
_
_
_
a
0
a
1
a
2
_
_
=
_
_
f
1
f
2
f
3
_
_
.
Calculando os produtos internos, obtemos
_
_
1
1
2
1
3
1
2
1
3
1
4
1
3
1
4
1
5
_
_
_
_
a
0
a
1
a
2
_
_
=
_

_
2

2
4

3
_

_
.
Resolvendo o sistema de equaes lineares, obtemos
a
0
= 0.050465, a
1
= 4.12251, a
2
= 4.12251.
Assim, a funo parablica que mais se aproxima de f
(x) = 0.050465 + 4.12251x 4.12251x
2
.
Veja o grco de sin(x) e da aproximao.
0
0.2
0.4
0.6
0.8
1
0.2 0.4 0.6 0.8 1
x
Exerccio 8.3.2 Considere o espao C[1, 1] das funes contnuas f : [1, 1] R
munido do produto interno dado por
f , g =
_
1
1
f (x)g(x)dx.
Seja S o subespao gerado pelos polinmios 1, x, x
2

1
3
, x
3

3
6
x. Verique se os polinmios
so ortogonais. Determine a funo de S que melhor representa a funo sin(x).
138
Se as funes
i
(x) forem dadas ortogonais entre si, ento o sistema acima (8.3.3) se reduz
a
_
b
a
(x) f (x)
j
(x)dx = a
j
_
b
a
(x)[
j
(x)[
2
dx, j = 1, . . . , n, (8.3.4)
e neste caso
a
j
=
1
j
_
b
a
(x) f (x)
j
(x)dx,
onde

j
=
_
b
a
(x)[
j
(x)[
2
dx.
Obtemos assim, o seguinte teorema.
Teorema 8.3.3 Seja C[a, b] munido do produto interno
f , g =
_
b
a
(x) f (x)g(x)dx.
Sejam f C[a, b] e S subespao de C[a, b] gerado pelo conjunto das funes
1
(x),
2
(x), . . . ,
n
(x)
ortogonais em C[a, b]. A aproximao de f por mnimos quadrados
f

(x) =
n

k=1
a
k

k
(x),
onde k = 1, . . . , n e
a
k
=
_
b
a
(x) f (x)
k
(x)dx
_
b
a
(x)[
k
(x)[
2
dx
. (8.3.5)
Exerccio 8.3.4 Considere o espao C[1, 1] das funes contnuas f : [1, 1] R
munido do produto interno dado por
f , g =
_
1
1
1

1 x
2
f (x)g(x)dx.
Seja S o subespao gerado pelos polinmios 1, x, 2x
2
1, 4x
3
3x. Verique se os polinmios
so ortogonais. Determine a funo de S que melhor representa a funo cos(x).
8.4 Usando Maple: O mtodo dos quadrados mnimos con-
tnuo
O procedimento em Maple a seguir calcula os coecientes do mtodo dos quadrados mni-
mos no caso contnuo e produto interno
f , g =
_
b
a
f (x)g(x)dx.
D. Andrade Clculo Numrico 139
> restart:with(linalg):
> MMQua := proc(inf, sup, f, N) local A,X, b, i, j;
A := matrix(N,N); b := vector(N);
for i to N do for j to N do
A[i,j] := evalf(int(g[i](k)*g[j](k),k=inf..sup));
od; b[i] := evalf(int(g[i](k)*f(k),k=inf..sup));
od;
print(Sistema linear);print(A = ,evalm(A));
for i to N do b[i]:=int(f(k)*g[i](k),k=inf..sup); od;
print(Soluo do sistema linear );X:=linsolve(A,b);end:
## Exemplo 1: Aproximar a funo sin(Pi x) no intervalo
##[-1..1] ## um polinmio de grau 3 .
> f := x -> sin(Pi x);
> g[1] := x -> 1; g[2] := x -> x; g[3] := x -> x^2; g[4] := x -> x^3;
> MMQua(-1,1,f,4);
> f := x -> sin(Pi*x);
> g[1] := x -> 1; g[2] := x -> x; g[3] := x -> x^2;
> MMQua(0,1,f,3);
A seguir veremos como o processo de ortogonalizao de Gram-Schmidt pode ser usado
para construir polinmios ortogonais.
8.5 Polinmios ortogonais e o mtodo dos quadrados m-
nimos
Dizemos que uma famlia de polinmios no nulos p
0
(x), p
1
(x), . . . , p
n
(x), . . . uma famlia
de polinmios ortogonais, relativamente ao produto interno , , se verica o seguinte
p
i
(x), p
j
(x) =
_
0, i ,= j
C
i
,= 0, i = j.
No estudo dos polinmios, utiliza-se produtos internos da forma
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 e (x) , 0 em cada subintervalo de [a, b] e integrvel em [a, b] chamada
de funo peso.
Os seguintes produtos internos so os mais comumente utilizados na determinao de
polinmios ortogonais.
(1i) f , g =
_
1
1
f (x)g(x)dx, isto , (x) 1 e a = 1, b = 1. Este produto interno dar
origem aos polinmios de Legendre.
140
(2i) f , g =
_
1
1
1

1 x
2
f (x)g(x)dx, isto , (x) =
1

1 x
2
e a = 1, b = 1. Este produto
interno dar origem aos polinmios de Tchebycheff.
(3i) f , g =
_

0
e
x
f (x)g(x)dx, isto , (x) = e
x
e a = 0, b = . Este produto interno
dar origem aos polinmios de Laguerre.
(4i) f , g =
_

e
x
2
f (x)g(x)dx, isto , (x) = e
x
2
e a = , b = . Este produto interno
dar origem aos polinmios de Hermite.
Teorema 8.5.1 O conjunto de funes polinomiais
0
,
1
, . . . ,
n
construdas como se segue,
ortogonal em C[a, b] munido do produto interno
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 integrvel em [a, b] e (x) , 0 em cada subintervalo de [a, b] a funo peso,

0
(x) = 1,
1
(x) = x B
1
, x [a, b]
onde
B
1
=
_
b
a
x(x)[
0
(x)[
2
dx
_
b
a
(x)[
0
(x)[
2
dx
,
e para k 2

k
(x) = (x B
k
)
k1
(x) C
k

k2
(x), x [a, b],
onde
B
k
=
_
b
a
x(x)[
k1
(x)[
2
dx
_
b
a
(x)[
k1
(x)[
2
dx
e
C
k
=
_
b
a
x(x)
k1
(x)
k2
(x)dx
_
b
a
(x)[
k2
(x)[
2
dx
.
Exemplo 8.5.2 (Polinmios de Legendre)
Tomando (x) = 1, a = 1 e b = 1, os polinmios ortogonais construdos usando o
Teorema 8.5.1 so
P
0
(x) = 1, P
1
(x) = x, P
2
(x) = x
2

1
3
, P
3
(x) = x
3

3
5
x,
D. Andrade Clculo Numrico 141
P
4
(x) = x
4

6
7
x
2
+
3
35
, P
5
(x) = x
5

10
9
x
3
+
5
21
x.
Grau Polinmios de Legendre
0 1
1 x
2 3x
2
/2 1/2
3 5x
3
/2 3x/2
4
35
8
x
4

15
4
x
2
+ 3/8
5
63
8
x
5

35
4
x
3
+
15
8
x
6
231
16
x
6

315
16
x
4
+
105
16
x
2

5
16
7
429
16
x
7

693
16
x
5
+
315
16
x
3

35
16
x
8
6435
128
x
8

3003
32
x
6
+
3465
64
x
4

315
32
x
2
+
35
128
9
12155
128
x
9

6435
32
x
7
+
9009
64
x
5

1155
32
x
3
+
315
128
x
10
46189
256
x
10

109395
256
x
8
+
45045
128
x
6

15015
128
x
4
+
3465
256
x
2

63
256
Exemplo 8.5.3 (Polinmios de Tchebycheff)
Os polinmios de Tchebycheff T
n
(x) so ortogonais em (1, 1) com relao ao produto
interno
f , g =
_
1
1
(x) f (x)g(x)dx,
onde a funo peso (x) = (1 x
2
)

1
2
.
Eles podem ser deduzidos pelo mtodo de ortogonalizao dado pelo Teorema 8.5.1, mas
esta no a maneira mais simples de obt-los.
Grau Polinmios de Tchebyceff
0 1
1 x
2 2 x
2
1
3 4 x
3
3 x
4 8 x
4
8 x
2
+ 1
5 16 x
5
20 x
3
+ 5 x
6 32 x
6
48 x
4
+ 18 x
2
1
7 64 x
7
112 x
5
+ 56 x
3
7 x
8 128 x
8
256 x
6
+ 160 x
4
32 x
2
+ 1
9 256 x
9
576 x
7
+ 432 x
5
120 x
3
+ 9 x
10 512 x
10
1280 x
8
+ 1120 x
6
400 x
4
+ 50 x
2
1
Exemplo 8.5.4 (Polinmios de Laguerre)
Os polinmios de Laguerre L
0
(x), L
1
(x), L
2
(x), . . . , so obtidos usando o Teorema 8.5.1, com
o produto interno
f , g =
_

0
e
x
f (x)g(x)dx,
142
onde a funo peso (x) = e
x
, a = 0 e b = +.
Grau Polinmios de Laguerre
0 1
1 1 x
2 1 2 x + 1/2 x
2
3 1 3 x + 3/2 x
2
1/6 x
3
4 1 4 x + 3 x
2
2/3 x
3
+ 1/24 x
4
5 1 5 x + 5 x
2
5/3 x
3
+
5
24
x
4

1
120
x
5
6 1 6 x + 15/2 x
2
10/3 x
3
+ 5/8 x
4
1/20 x
5
+
1
720
x
6
7 1 7 x + 21/2 x
2

35
6
x
3
+
35
24
x
4

7
40
x
5
+
7
720
x
6

1
5040
x
7
8 1 8 x + 14 x
2

28
3
x
3
+
35
12
x
4

7
15
x
5
+
7
180
x
6

1
630
x
7
+
1
40320
x
8
9 1 9 x + 18 x
2
14 x
3
+
21
4
x
4

21
20
x
5
+
7
60
x
6

1
140
x
7
+
1
4480
x
8

1
362880
x
9
10 1 10 x +
45
2
x
2
20 x
3
+
35
4
x
4

21
10
x
5
+
7
24
x
6
1/42 x
7
+
1
896
x
8

1
36288
x
9
+
1
3628800
x
10
Exemplo 8.5.5 (Polinmios de Hermite)
Os polinmios de Hermite so obtidos usando o Teorema 8.5.1, com o produto interno
f , g =
_

e
x
2
f (x)g(x)dx,
onde a funo peso (x) = e
x
2
, a = e b = +.
Grau Polinmios de Hermite
0 1
1 2 x
2 4 x
2
2
3 8 x
3
12 x
4 16 x
4
48 x
2
+ 12
5 32 x
5
160 x
3
+ 120 x
6 64 x
6
480 x
4
+ 720 x
2
120
7 128 x
7
1344 x
5
+ 3360 x
3
1680 x
8 256 x
8
3584 x
6
+ 13440 x
4
13440 x
2
+ 1680
9 512 x
9
9216 x
7
+ 48384 x
5
80640 x
3
+ 30240 x
10 1024 x
10
23040 x
8
+ 161280 x
6
403200 x
4
+ 302400 x
2
30240
8.5.1 Propriedades dos Polinmios Ortogonais
Propriedade 1: Se p
0
(x), p
1
(x), . . . , p
n
(x) so polinmios ortogonais segundo um produto
interno, ento qualquer polinmio de grau n pode ser escrito como combinao linear
destes polinmios. Alm disso, p
n
(x) ortogonal a todo polinmio de grau menor do que
n.
D. Andrade Clculo Numrico 143
Propriedade 2: Se p
0
(x), p
1
(x), . . . , p
n
(x) so polinmios ortogonais segundo o produto
interno
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 e (x) , 0 em cada subintervalo de [a, b] contnua em [a, b], ento p
n
(x)
possui n razes reais distintas.
As frmulas de quadratura de Gauss, que veremos mais adiante, so baseadas no seguinte
Teorema, que a propriedade mais importante dos polinmios ortogonais.
Teorema 8.5.6 Sejam p
0
(x), p
1
(x), p
2
(x), . . . , p
n
(x), p
n+1
(x) . . . polinmios no nulos e ortogo-
nais, segundo o produto interno
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 e (x) , 0 em cada subintervalo de [a, b] contnua em [a, b]. Sejam x
0
, x
1
, x
2
, . . . , x
n
as razes de p
n+1
(x). Se f (x) um polinmio de grau menor do que ou igual a 2n + 1, ento
_
b
a
(x) f (x)dx =
n

k=0

k
f (x
k
),
onde

k
=
_
b
a
(x)L
k
(x)dx
com P
n
(x) =
n
k=0
f (x
k
)L
k
(x) o polinmio interpolador de Lagrange que interpola f nos pontos
x
k
, k = 0, 1, . . . , n.
Demonstrao: Sejam x
0
, x
1
, . . . , x
n
as razes de p
n+1
(x). Segue que podemos escrever
p
n+1
(x) = a
0
(x x
0
)(x x
1
) (x x
n
).
Seja P
n
(x) o polinmio interpolador de f (x) nos pontos x
0
, x
1
, . . . , x
n
em [a, b]. Como
R
n
(x) = f (x) P
n
(x) o erro na interpolao, ento
f (x) P
n
(x) = R
n
(x) = (x x
0
)(x x
1
) (x x
n
)
f
(n+1)
()
(n + 1)!
,
onde (a, b) depende de x. Como f (x) um polinmio de grau 2n + 1, temos que o
termo
q(x) =
f
(n+1)
(x)
(n + 1)!
um polinmio de grau menor do que ou igual a n. Logo, podemos escrever
f (x) P
n
(x) = b
0
p
n+1
(x)q(x).
144
Segue que
_
b
a
(x) [ f (x) P
n
(x)] dx = b
0
_
b
a
(x)p
n+1
(x)q(x)dx.
Como p
n+1
(x) e q(x) so ortogonais, vale a igualdade
_
b
a
(x) [ f (x) P
n
(x)] dx = 0.
Isto ,
_
b
a
(x) f (x)dx =
_
b
a
(x)P
n
(x)dx
=
_
b
a
(x)
_
n

k=0
L
k
(x) f (x
k
)
_
dx
=
n

k=0
f (x
k
)
_
b
a
(x)L
k
(x)dx
=
n

k=0

k
f (x
k
).
Isto conclui a prova do teorema.
Exerccio 8.5.7 1. A tabela a seguir lista o nmero de acidentes em veculos motoriza-
dos no Brasil em alguns anos entre 1980 e 1998,
Ano Acidentes (em milhares) Acidentes por 10000 veculos
1980 8.300 1.688
1985 9.900 1.577
1990 10.400 1.397
1993 13.200 1.439
1994 13.600 1.418
1996 13.700 1.385
1998 14.600 1.415
a) Calcule a regresso linear do nmero de acidentes no tempo. Use-a para prever o
nmero de acidentes no ano 2000.
b) Calcule uma regresso quadrtica do nmero de acidentes por 10000 veculos. Use
esta para prognosticar o nmero de acidentes por 10000 veculos no ano 2000.
c) Compare os resultados, em qual deles voc est mais propenso a acreditar?
OBS: Use 0 em vez de 1980, 5 em vez de 1985 e etc... facilita.
2. A tabela a seguir lista o total de gua consumida no Estados Unidos em bilhes de
gales por dia,
D. Andrade Clculo Numrico 145
Ano 1950 1960 1970 1980 1990
gua 136.43 202.70 322.90 411.20 494.10
a) Encontre uma regresso exponencial de consumo de gua no tempo.
b) Use os resultados do item a) para prever o consumo de gua nos anos de 1995 e
2000.
3. A resistncia compresso do concreto, , decresce com o aumento da razo gua/cimento,

c
, (em gales de gua por saco de cimento). A resistncia compresso de trs
amostras de cilindros para vrias razes

c
esto disponveis na tabela:

c
4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0
7000 6125 5237 4665 4123 3810 3107 3070 2580 2287
Usando o mtodo dos mnimos quadrados, ajuste , aos dados, utilizando uma
funo do tipo k
1
exp(k
2

c
).
4. Na tabela temos os dados (t
k
, f (t
k
)) para uma funo f com comportamento expo-
nencial que modela a intensidade de uma frente de radiao. Determine a regresso
exponencial de f (t), isto , uma funo do tipo I(t) = I
0
e
t
que melhor represente f .
t 0.2 0.3 0.4 0.5 0.6 0.7
f (t) 3.16 2.38 1.75 1.34 1.00 0.74
5. Na tabela temos os dados (x
k
, f (x
k
)) para uma funo f com comportamento hiper-
blico, isto da forma, (x) =
1
a + bx
.
x
k
0 1 2 3 4
f (x
k
) 1 0.32256 0.2 0.14286 .11236
a) Encontre uma funo que melhor se ajusta aos dados.
b) Use os resultados do item a) para estimar f (1.5).
8.6 Resumo do captulo
Neste captulo estudamos o mtodo dos quadrados mnimos, tanto no caso discreto
como no caso contnuo. Vimos que uma boa alternativa para o problema de aproxi-
mao. Estudamos tambm alguns tipos de polinmios ortogonais e esuas propriedades, a
saber:
1. Polinmios de Legendre, Polinmios de Tchebycheff;
2. Polinmios de Laguerre, Polinmios de Hermite.
146
9
Integrao Numrica
9.1 Preliminares
Nestas notas o nosso interesse calcular numericamente integrais
_
b
a
f (x)dx.
A ideia da integrao numrica reside na aproximao da funo integranda f por um
polinmio. A escolha deste polinmio e dos pontos usados na sua determinao vai resultar
nos diversos mtodos numricos de integrao.
As frmulas de integrao numricas so somatrios cujas parcelas so valores de f (x)
calculados em pontos escolhidos e multiplicados por pesos convenientes:
_
b
a
f (x)dx
n

i=0

i
f (x
i
), (9.1.1)
onde a x
0
< x
1
< . . . < x
n
b so pontos de integrao e os
i
so os pesos.
9.2 Frmulas de Newton-Cotes
Nesta seco vamos considerar apenas as chamadas frmulas fechadas, isto , os extremos
de integrao coincidem com x
0
e x
n
. Nas frmulas abertas no h esta exigncia, portanto
se um dos extremos no coincide com estes pontos, a frmula de integrao chamada
aberta.
147
148
Dado f : [a, b] R, seja n um nmero natural e h =
b a
n
. Os pontos x
j
= x
0
+ jh, j =
0, 1, . . . , n so igualmente espaados.
Seja P
n
(x) o polinmio de grau n que interpola os pontos (x
i
, f (x
i
)), i = 0, 1, . . . , n. Por
Lagrange, sabemos que
P
n
(x) =
n

i=0
f (x
i
)L
i
(x),
e o erro
f (x) P
n
(x) =
f
(n+1)
()
(n + 1)!
(x x
0
)(x x
1
) . . . (x x
n
),
onde = (x) um ponto em (a, b).
Integrando em (a, b), obtemos
_
b
a
f (x)dx =
n

i=0
f (x
i
)
_
b
a
L
i
(x)dx +
_
b
a
f
(n+1)
()
(n + 1)!
(x x
0
)(x x
1
) . . . (x x
n
)dx,
onde = (x) um ponto em (a, b).
Chamando

i
=
_
b
a
L
i
(x)dx
obtemos uma expresso para
_
b
a
f (x)dx do tipo equao (9.1.1) (a menos do erro):
_
b
a
f (x)dx =
n

i=0

i
f (x
i
) +
_
b
a
f
(n+1)
()
(n + 1)!
(x x
0
)(x x
1
) . . . (x x
n
)dx.
Como caso particular, nas sees 9.3 e 9.4, obtemos as frmulas dos Trapzios e de Simp-
son, que so estabelecidas com polinmios de graus baixos, grau 1 e grau 2, respectiva-
mente.
9.3 Regra dos Trapzios
Esta frmula corresponde interpolao da funo a ser integrada por um polinmio de
grau 1.
A interpolao linear necessita de dois pontos, vamos usar os extremos do intervalo de
integrao, isto , a = x
0
e b = x
1
. Logo, o polinmio linear interpolador dado por
p
1
(x) = y
0
x x
1
x
0
x
1
+ y
1
x x
0
x
1
x
0
e os pesos so dados por

0
=
_
x
1
x
0
x x
1
x
0
x
1
dx =
h
2
,
D. Andrade Clculo Numrico 149

1
=
_
x
1
x
0
x x
0
x
1
x
0
dx =
h
2
.
Veja a gura 9.3.
Figura 9.3.1: Regra dos trapzios
Segue que
_
x
1
x
0
f (x)dx =
h
2
f (x
0
) +
h
2
f (x
1
) + erro,
onde o erro dado por
E
Trap
=
1
2
_
x
1
x
0
f

()(x x
0
)(x x
1
)dx, (9.3.1)
onde =
x
um ponto entre x
0
e x
1
.
Usamos o teorema do valor mdio para integrais, Teorema 1.1.21, para simplicar a ex-
presso do erro acima, assim existe (x
0
, x
1
) tal que
E
Trap
=
1
2
_
x
1
x
0
f

(
x
)(x x
0
)(x x
1
)dx
=
f

()
2
_
x
1
x
0
(x x
0
)(x x
1
)dx
=
f

()h
3
12
. (9.3.2)
Logo,
_
x
1
x
0
f (x)dx =
h
2
[ f (x
0
) + f (x
1
)]
f

()h
3
12
,
(9.3.3)
onde (a, b) no conhecido.
Na seco 9.5 veremos como ca a regra dos trapzios se for aplicada repetidas vezes sobre
subintervalos de um intervalo [a, b].
150
9.4 Regra de Simpson
Neste caso vamos interpolar f (x) usando um polinmio de grau 2 que coincida com esta
funo em a = x
0
, x
1
=
a + b
2
e b = x
2
. O polinnmio interpolador de grau 2 dado por
p
2
(x) = y
0
(x x
1
)(x x
2
)
(x
0
x
1
)(x
0
x
2
)
+ y
1
(x x
0
)(x x
2
)
(x
1
x
0
)(x
1
x
2
)
+ y
2
(x x
0
)(x x
1
)
(x
0
x
0
)(x
2
x
1
)
.
Veja a gura 9.4.
Figura 9.4.2: Regra de Simpson
Integrando os polinmios de Lagrange de grau 2, obtemos os pesos da frmula de Simpson,

0
=
_
x
2
x
0
(x x
1
)(x x
2
)
(x
0
x
1
)(x
0
x
2
)
dx =
h
3
,

1
=
_
x
2
x
0
(x x
0
)(x x
2
)
(x
1
x
0
)(x
1
x
2
)
dx =
4h
3
,

2
=
_
x
2
x
0
(x x
0
)(x x
1
)
(x
2
x
0
)(x
2
x
1
)
dx =
h
3
.
Segue que
_
x
2
x
0
f (x)dx =
h
3
[ f (x
0
) + 4f (x
1
) + f (x
2
)] + erro,
onde o erro dado por (aqui os argumentos no so simples)
E
Simp
=
1
3!
_
x
2
x
0
f
(3)
()(x x
0
)(x x
1
)(x x
2
)dx
=
_
h
5
90
_
f
(4)
(), (9.4.1)
D. Andrade Clculo Numrico 151
para algum (x
0
, x
2
).
Logo, a frmula de Simpson
_
x
2
x
0
f (x)dx =
h
3
[ f (x
0
) + 4f (x
1
) + f (x
2
)]
_
h
5
90
_
f
(4)
().
(9.4.2)
Na seco 9.5 veremos como ca a regra de Simpson se for aplicada repetidas vezes sobre
subintervalos de um intervalo [a, b].
Para informao, apresentamos as frmulas obtidas quando n = 3 e n = 4, obtidas usando
polinmios de grau 3 e 4, respectivamente. Observe que elas so mais precisas que as
anteriores, embora exijam mais clculos.
_
x
3
x
0
f (x)dx =
3h
8
[ f (x
0
) + 3f (x
1
) + 3f (x
2
) + f (x
3
)]
_
3h
5
80
_
f
(4)
(),
onde [x
0
, x
3
].
_
x
4
x
0
f (x)dx =
2h
45
[7f (x
0
) + 32f (x
1
) + 12f (x
2
) + 32f (x
3
) + 7f (x
4
)]
_
8h
7
945
_
f
(6)
(),
onde [x
0
, x
4
].
9.5 Frmulas compostas: Trapzios e Simpson
Quando o intervalo de integrao grande, pode no ser conveniente aumentar o grau
do polinmio interpolador para obter frmulas mais precisas. A alternativa mais usada
subdividir o intervalo de integrao e aplicar frmulas simples repetidas vezes, obtendo-se
as frmulas compostas.
No caso da REGRA DOS TRAPZIOS, dado o intervalo [a, b] dividindo-o em n subinter-
valos de comprimento h =
b a
n
e portanto x
0
= a, x
i
= x
0
+ ih, i = 0, 1, . . . , n e x
n
= b,
temos que
_
b
a
f (x)dx =
n

i=1
_
x
i
x
i1
f (x)dx
=
_
x
1
x
0
f (x)dx +
_
x
2
x
1
f (x)dx + +
_
x
n
x
n1
f (x)dx

h
2
[ f (x
0
) + f (x
1
)] +
h
2
[ f (x
1
) + f (x
2
)] + +
h
2
[ f (x
n1
) + f (x
n
)]

h
2
[ f (x
0
) + 2 [ f (x
1
) + f (x
2
) + + f (x
n1
)] + f (x
n
)]

h
2
_
f (x
0
) + 2
n1

i=1
f (x
i
) + f (x
n
)
_
.
152
O erro nal de uma frmula repetida pode ser obtido pela soma dos erros parciais. Na regra
dos trapzios, cada um dos subintervalos [x
i1
, x
i
] contribui com um erro parcial dado por

h
3
12
f
(2)
(
i
).
Somando os erros parciais obtemos
E
Trap
=
h
3
12
_
f
(2)
(
1
) + f
(2)
(
2
) + + f
(2)
(
n
)
_
.
Supondo que f possua derivada segunda contnua em [a, b], existem constantes m
2
, M
2
0
tais que
inf
x[a,b]
[ f
(2)
(x)[ = m
2
[ f
(2)
(x)[ M
2
= sup
x[a,b]
[ f
(2)
(x)[.
Assim, obtemos uma estimativa para o erro total
[E
Trap
[ n
h
3
12
M
2
= (b a)
h
2
12
M
2
.
(9.5.1)
No caso da REGRA DE SIMPSON, dado o intervalo [a, b] dividindo-o em n (par, pois
a parbola necessita de 3 pontos) subintervalos de comprimento h =
b a
n
e portanto
x
0
= a, x
i
= x
0
+ ih, i = 0, 1, . . . , n e x
n
= b, temos que
_
b
a
f (x)dx =
_
x
2
x
0
f (x)dx +
_
x
4
x
2
f (x)dx + +
_
x
n
x
n2
f (x)dx

h
3
[ f (x
0
) + 4f (x
1
) + f (x
2
)] +
h
3
[ f (x
2
) + 4f (x
3
) + f (x
4
)] + +
h
3
[ f (x
n2
) + 4f (x
n1
) + f (x
n
))]

h
3
f (x
0
) + 4 [ f (x
1
) + f (x
3
) + + f (x
n1
)] +
h
3
2 [ f (x
2
) + f (x
4
) + + f (x
n2
)] + f (x
n
)

h
3
f (x
0
) + 4 [ f (x
1
) + f (x
3
) + + f (x
n1
)] + 2 [ f (x
2
) + f (x
4
) + + f (x
n2
)] + f (x
n
)

h
3
_
_
f (x
0
) + 4
n
2

i=1
f (x
2i1
) + 2
n2
2

i=1
f (x
2i
) + f (x
n
)
_
_
.
O erro nal pode ser obtido pela soma dos erros parciais. Na regra de Simpson, cada um
dos subintervalos contribui com um erro parcial dado por (aqui usamos
n
2
parbolas e
portanto
n
2
parcelas de erro):

h
5
90
f
(4)
(
i
).
D. Andrade Clculo Numrico 153
Somando os erros parciais obtemos uma estimativa para o erro total
[E
Simp
[ (b a)
h
4
180
max[ f
(4)
(x)[; x [a, b].
(9.5.2)
Note que se f (x) um polinmio de grau 3 ento o erro [E
Simp
[ nulo, isto , a regra de
Simpson exata para polinmios de grau 3.
Exemplo 9.5.1
Quantos subintervalos devemos usar para calcular a integral
_
1
0
exp(x
2
)dx usando a Re-
gra dos Trapzios e a Regra de Simpson, com erro menor do que 10
4
?
Primeiramente, a regra dos trapzios. O erro total dado por
[E
Trap
[
b a
12
h
2
max [ f
(2)
(x)[
2
12
h
2
< 10
4
,
pois max [ f
(2)
(x)[ 2. Segue que h < 2.44 10
2
e portanto n > 40.8. Assim, tomamos 41
intervalos.
Para a regra de Simpson,
[E
Simp
[
b a
180
h
4
[ max [ f
(4)
(x)[ =
12h
4
180
< 10
4
,
pois [ max [ f
(4)
(x)[ < 12. Segue que h 1.96 10
1
e assim n =
1
h
> 5.08. Assim, tomamos
n = 6 intervalos.
9.6 Usando Maple: regras dos trapzios e Simpson
9.6.1 Regra dos trapzios
O seguinte procedimento em Maple determina uma aproximao da integral pela regra dos
trapzios. Neste procedimento voc entra com a funo f , os extremos do intervalo [a, b], e
o nmero n de subintervalos.
> restart:
> trap:=proc(f,a,b,n)
> local A,S,h,k;
> if not type(f,procedure) then ERROR(use s funcao);
> fi;
> h:=evalf((b-a)/n);
> S:=0;
154
> for k from 0 to n do
> A[k]:=evalf( (h/2)* ( f (a+h*k)+f (a+h*(k+1)) ) );#print(A[k]);
> S:=evalf(S+A[k]);
> od;
> print(S);
> end:
#Exemplo
> f:=x->exp(-x^2);
> trap(f,0,1,41);
9.6.2 Regra de Simpson
O seguinte procedimento em Maple determina uma aproximao da integral pela regra de
Simpson. Neste procedimento voc entra com a funo f , os extremos do intervalo [a, b], e
o nmero par n de subintervalos.
restart:
> Simpson:=proc(f,a,b,n)
> local A,A2,A4,S,S2,S4,h,k;
> if not type(f,procedure) then ERROR(use s funcao);
> fi;
> h:=evalf((b-a)/n);
> S4:=0;S2:=0;
> for k from 1 to n/2 do
> A4[k]:=evalf( ( (4*h)/3)*f(a+h*(2*k-1)));S4:=evalf(S4+A4[k]);od;
> for k from 1 to n/2 do
> A2[k]:=evalf( ((2*h)/3)* f(a+h*(2*k))); S2:=evalf(S2+A2[k]);od;
> S:=evalf(S4+S2+ (h/3)*(f(a)+f(b)));
> print(S);
> end:
> #Exemplo
> f:=x->x*exp(-x);
> Simpson(f,0,1,4);
Exerccio 9.6.1
1. Use a regra dos trapzios para calcular numericamente as seguinte integrais:
a)
_
2
1
sin(

x )dx com erro menor do que 10


2
.
b)
_
2
1
exp(

x )dx com erro menor do que 10


2
.
2. Use a regra de Simpson para calcular numericamente as seguinte integrais:
D. Andrade Clculo Numrico 155
a)
_
2
1
sin(

x )dx com erro menor do que 10


4
.
b)
_
2
1
exp(

x )dx com erro menor do que 10


4
.
c)
_
2
0
x
2
exp(x
2
)dx usando h = .25.
3. Determine os valores de n e de h necessrios para aproximar
_
2
0
exp(2x) sin(3x) com
erro menor do que 10
4
,
a) usando regra dos trapzios
b) usando regra de Simpson
4. Repita o exerccio acima com
_
2
0
x
2
cos(x)dx.
9.7 Quadraturas de Gauss
Os mtodos de integrao numrica estudados at aqui so baseados nas frmulas de
Newton-Cotes e considera pontos xos igualmente espaados. Gauss observou que a pre-
ciso poderia ser melhorada se as abscissas e os pesos no tiverem restrio.
Assim,
_
b
a
f (x)dx
n

i=0

i
f (x
i
),
onde agora os pesos
0
,
1
, . . . ,
n
e os ns x
0
, x
1
, . . . , x
n
so determinados para obter a
melhor preciso possvel, isto , dever ser exata para polinmios de grau at 2n + 1.
Como existem (2n + 2) parmetros: (n + 1) pesos e (n + 1) abscissas ou ns, natural
esperar que exista uma frmula que seja exata para polinmios de grau menor do que ou
igual a (2n + 1).
Para simplicar, para o caso dos limites de integrao limitados, vamos considerar apenas
integrais sobre o intervalo [1, 1]. Para calcular
_
b
a
f (x)dx fazemos a mudana de variveis
x =
(b a)
2
t +
(b + a)
2
, t [1, 1]
e portanto dx =
b a
2
dt.
Assim,
_
b
a
f (x)dx =
b a
2
_
1
1
f
_
(b a)
2
t +
(b + a)
2
_
. .
=F(t)
dt =
b a
2
_
1
1
F(t)dt.
156
Como o mtodo de quadratura de Gauss baseado em polinmios ortogonais, vamos pre-
cisar de alguma teoria sobre estes polinmios.
Como vimos no estudo dos polinmios, utiliza-se produtos internos da forma
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 integrvel em [a, b] chamada de funo peso.
Os seguintes produtos internos so os mais comumente utilizados na determinao de
polinmios ortogonais.
(1i) f , g =
_
1
1
f (x)g(x)dx, isto , (x) 1 e a = 1, b = 1. Este produto interno dar
origem aos polinmios de Legendre.
(2i) f , g =
_
1
1
1

1 x
2
f (x)g(x)dx, isto , (x) =
1

1 x
2
e a = 1, b = 1. Este produto
interno dar origem aos polinmios de Tchebycheff.
(3i) f , g =
_

0
e
x
f (x)g(x)dx, isto , (x) = e
x
e a = 0, b = . Este produto interno
dar origem aos polinmios de Laguerre.
(4i) f , g =
_

e
x
2
f (x)g(x)dx, isto , (x) = e
x
2
e a = , b = . Este produto interno
dar origem aos polinmios de Hermite
As frmulas de quadratura de Gauss, que veremos mais adiante, so baseadas no seguinte
Teorema, que a propriedade mais importante dos polinmios ortogonais.
Teorema 9.7.1 Sejam p
0
(x), p
1
(x), p
2
(x), . . . , p
n
(x), p
n+1
(x) . . . polinmios no nulos e ortogo-
nais, segundo o produto interno
f , g =
_
b
a
(x) f (x)g(x)dx,
onde (x) 0 contnua em [a, b]. Sejam x
0
, x
1
, x
2
, . . . , x
n
as razes de p
n+1
(x). Se f (x) um
polinmio de grau menor do que ou igual a 2n + 1, ento
_
b
a
(x) f (x)dx =
n

k=0

k
f (x
k
),
onde

k
=
_
b
a
(x)L
k
(x)dx
com P
n
(x) =
n
k=0
f (x
k
)L
k
(x) o polinmio interpolador de Lagrange que interpola f nos pontos
x
k
, k = 0, 1, . . . , n.
D. Andrade Clculo Numrico 157
Demonstrao: Sejam x
0
, x
1
, . . . , x
n
as razes de p
n+1
(x). Segue que podemos escrever
p
n+1
(x) = a
0
(x x
0
)(x x
1
) (x x
n
).
Seja P
n
(x) o polinmio interpolador de f (x) nos pontos x
0
, x
1
, . . . , x
n
em [a, b]. Como
R
n
(x) = f (x) P
n
(x) o erro na interpolao, ento
f (x) P
n
(x) = R
n
(x) = (x x
0
)(x x
1
) (x x
n
)
f
(n+1)
()
(n + 1)!
,
onde (a, b) depende de x. Como f (x) um polinmio de grau 2n + 1, temos que o
termo
q(x) =
f
(n+1)
(x)
(n + 1)!
um polinmio de grau menor do que ou igual a n. Logo, podemos escrever
f (x) P
n
(x) = b
0
p
n+1
(x)q(x).
Segue que
_
b
a
(x) [ f (x) P
n
(x)] dx = b
0
_
b
a
(x)p
n+1
(x)q(x)dx.
Como p
n+1
(x) e q(x) so ortogonais, vale a igualdade
_
b
a
(x) [ f (x) P
n
(x)] dx = 0.
Isto ,
_
b
a
(x) f (x)dx =
_
b
a
(x)P
n
(x)dx
=
_
b
a
(x)
_
n

k=0
L
k
(x) f (x
k
)
_
dx
=
n

k=0
f (x
k
)
_
b
a
(x)L
k
(x)dx
=
n

k=0

k
f (x
k
).
Isto conclui a prova do teorema.
158
9.7.1 Quadratura de Gauss-Legendre
Consideremos o produto interno dado por
f , g =
_
1
1
f (x)g(x)dx.
Os polinmios ortogonais relativamente a este produto interno so os polinmios de Leg-
endre.
Lembramos que os polinmios de Legendre so dados por
P
0
(x) = 1, P
1
(x) = x, P
2
(x) =
1
2
(3x
2
1), P
3
(x) =
1
2
(5x
3
3x),
em geral
P
m+1
(x) =
1
m + 1
(2m + 1)xP
m
(x) mP
m1
(x) , m = 1, 2, . . . .
Vamos calcular os pesos
0
,
1
, . . . ,
n
e os argumentos t
0
, t
1
, . . . , t
n
no intervalo [1, 1] pela
frmula
_
1
1
F(t)dt
n

i=0

i
F(t
i
).
Esta frmula exata para polinmios de grau menor do que ou igual 2n +1, veja o Teorema
9.7.1.
Se n = 1, ento a frmula exata para polinmios de grau menor do que ou igual a 3.
Assim,
_
1
1
F(t)dt =
0
F(t
0
) +
1
F(t
1
)
para os polinmios F(t) = 1, t, t
2
, t
3
, respectivamente. Obtemos o seguinte sistema

0
+
1
= 2

0
t
0
+
1
t
1
= 0

0
t
2
0
+
1
t
2
1
=
2
3

0
t
3
0
+
1
t
3
1
= 0.
Resolvendo este sistema no-linear, t
1
= t
0
e t
0
=

3
3
e
0
=
1
= 1. Logo,
_
1
1
F(t)dt = 1.F(

3
3
) + 1.F(

3
3
),
que exata para polinmios de grau menor do que ou igual a 3.
Este procedimento pode ser usado para deduzir frmulas mais gerais. Tomando F(t) =
t
k
, k = 0, 1, . . . , 2n + 1 e observando que
D. Andrade Clculo Numrico 159
Tabela 9.1: Integrao Gauss-Legendre
t
k
- Razes
k
- Pesos
t
0
= 0.0
0
= 2.0000000
t
1
= t
0
= 0.57735027
0
=
1
= 1.0
t
1
= 0,
0
=
2
= 0.555555556
t
2
= t
0
= 0.77459667
1
= 0.88888888
t
2
= t
1
= 0.33998104
2
=
1
= 0.34785496
t
3
= t
0
= 0.86113631
3
=
0
= 0.65214515
t
4
= t
0
= 0.90617985
4
=
0
=0.23692687
t
3
= t
1
=0.53846931
3
=
1
= 0.47862865
t
2
= 0.0
2
= 0.56888891
_
1
1
F(t)dt =
_
0, se k mpar,
2
k+1
, se k par,
obtemos o seguinte sistema no linear de 2n + 2 equaes:

0
+
1
+ +
n
= 2

0
t
0
+
1
t
1
+ +
n
t
n
= 0

0
t
2
0
+
1
t
2
1
+ +
n
t
2
n
=
2
3
.................................................... = .....

0
t
2n+1
0
+
1
t
2n+1
1
+ +
n
t
2n+1
n
= 0
Este sistema tem uma nica soluo. As solues t
k
, k = 0, 1, . . . , n so as razes do polinmio
P
n+1
(x) de grau (n + 1) pertencente ao conjunto de polinmios ortogonais de Legendre.
Estes polinmios do nome a esta tcnica de integrao: Quadratura de Gauss-Legendre.
Assim, para o clculo da integral usando a quadratura de Gauss-Legendre precisamos con-
hecer as razes dos polinmios de Legendre, que podem ser encontradas com qualquer
grau de preciso em tabelas e pacotes de Matemtica. Tambm, precisamos conhecer os
pesos
i
, que podem ser encontrados resolvendo um sistema de equaes lineares aps as
razes serem encontradas, ou determinamos os pesos
i
pelos polinmios de Lagrange que
interpola os pontos dados pelas razes. Existem tabelas listando as razes e os pesos para
serem utilizados na integrao de Gauss-Legendre.
A seguir uma tabela, veja a tabela 9.1, contendo as razes e os pesos dos primeiros polinmios
de Legendre. Os dados desta tabela foram calculados usando o software Maple.
Exemplo 9.7.2
160
Calcular a integral
_
1
0
exp(x
2
)dx usando quadratura de Gauss-Legendre com 5 pontos.
Antes de iniciarmos o clculo da integral devemos mudar a sua varivel para integrarmos
no intervalo [1, 1]. Fazendo x =
(b a)
2
t +
(b + a)
2
=
1
2
(t + 1), t [1, 1], obtemos
_
1
0
exp(x
2
)dx =
1
2
_
1
1
exp(
(t + 1)
2
4
)dt,
assim F(t) = exp(
(t+1)
2
4
).
Como queremos 5 pontos, esses pontos sero as razes do polinmio de Legendre de grau
5. Logo,
_
1
0
exp(x
2
)dx =
1
2
_
1
1
F(t)dt
1
2
4

k=0

k
F(t
k
),
onde
k
so os pesos e t
k
so as razes do polinmio P
5
(x) de Legendre. Veja a Tabela 9.1.
Donde,
1
2
_
1
1
F(t)dt
1
2
4

k=0

k
F(t
k
) = 0.74683019.
Exemplo 9.7.3 Calcular a integral
_
1
1
sin
2
(x)
x
dx usando quadratura de Gauss-Legendre com 4
pontos.
Os pesos
k
e as abscissas t
k
esto na tabela 9.1. As abscissas t
k
so as razes do polinmio
P
4
(x) de Legendre, assim a integral
_
1
1
sin
2
(x)
x
dx
3

k=0

k
F(t
k
) = .79482833.
9.7.2 Quadratura de Gauss-Tchebycheff
Considerando o produto interno
f , g =
_
1
1
1

1 x
2
f (x)g(x)dx,
obtemos os polinmios de Tchebycheff no nulos e ortogonais segundo este produto in-
terno. Lembramos que os polinmios de Tchebycheff so dados por
T
n
(x) = cos [n arccos(x)] , n 0. (9.7.1)
Vejamos os primeiros polinmios de Tchebycheff:
T
0
(x) = 1, T
1
(x) = x, T
2
(x) = 2x
2
1, T
3
(x) = 4x
3
3x, T
4
(x) = 8x
4
8x
2
+ 1.
D. Andrade Clculo Numrico 161
Outra forma alternativa para construir os polinmios de Tchebyscheff dada por, para
n 1
T
n+1
(x) = 2xT
n
(x) T
n1
(x),
onde T
0
(x) = 1, T
1
(x) = x.
De acordo com o Teorema 8.5.6 as abscissas para calcular numericamente a integral so
razes dos polinmios de Tchebycheff. As razes so dadas em (9.7.2). Observe mais abaixo
que os pesos sero constantes, veja equao (9.7.3). Veja a tabela 9.7.2.
Note que para o clculo do produto interno vamos precisar da funo peso, neste caso, o
fator
1

1 x
2
.
As frmulas de Gauss-Tchebycheff tambm fornecem valor exato da integral para polinmios
de grau menor do que ou igual a 2n + 1, veja Teorema 8.5.6.
As abscissas t
k
so as razes do polinmio T
n+1
(x) de Tchebycheff de grau (n + 1) e calcu-
ladas por
t
k
= cos
_
(2k + 1)
2n + 2
_
, k = 0, 1, 2, . . . , n. (9.7.2)
Para cada n os pesos so constantes e iguais a

i
=

n + 1
, i = 0, 1, 2, . . . , n. (9.7.3)
Exemplo 9.7.4 Calcule a integral
_
10
0
exp(x)dx usando quadratura de Gauss-Tchebycheff com
quatro pontos.
Primeiramente, devemos fazer uma mudana de varivel para passar a integral para o
intervalo [1, 1]. Assim,
I =
_
10
0
exp(x)dx = 5
_
1
1
exp((5t + 5))dt
Agora devemos incluir a funo peso
I =
_
10
0
exp(x)dx = 5
_
1
1
_
1 t
2
exp((5t + 5))
1

1 t
2
dt.
Note que a funo F(t) dada por
F(t) =
_
1 t
2
exp((5t + 5)).
Assim,
I 5.

4
[F(t
0
) + F(t
1
) + F(t
2
) + F(t
3
)] = 1.196440816.
Entendendo a tabela: Nesta tabela as razes so simtricas com relao a origem, assim
devemos considerar t
i
. Os pesos so iguais para cada grau do polinmio. Os dados desta
tabela foram calculados usando o software Maple.
162
Tabela 9.2: Tabela Gauss-Tchebycheff
t
i

i
0.7071067812 1.570796326
0.8660254038 1.047197551
0.0 1.047197551
0.9238795325 0.7853981634
0.3826834323 0.7853981634
0.9510565163 0.6283185308
0.5877852523 0.6283185308
0.0 0.6283185308
9.7.3 Quadratura de Gauss-Laguerre e Gauss-Hermite
Nesta seco estamos interessados em calcular numericamente integrais imprprias do tipo
_

a
e
x
f (x)dx e
_

e
x
2
f (x)dx.
Os dois tipos de integrais so aproximados por uma soma
n

k=0

k
f (x
k
).
Primeiramente vamos estudar integrais
_

a
e
x
f (x)dx. A frmula de quadratura de Gauss-
Laguerre fornece uma aproximao para as integrais
_

0
e
x
f (x)dx.
O caso geral tratado via mudana de variveis: fazendo x = t + a obtemos
_

a
e
x
f (x)dx = e
a
_

0
e
t
f (t + a)
. .
=F(t)
dt.
A ideia na quadratura de Gauss-Laguerre a mesma j empregadas na quadratura de
Gauss-Legendre e Gauss-Tchebycheff: usando os polinmios ortogonais de Laguerre, obte-
mos os valores para os pesos
k
e as abscissas x
k
.
Veja a seguir a tabela, veja a tabela 9.3, com os pesos e as abscissas, calculados usando o
Maple.
Exemplo 9.7.5 Determine uma aproximao para
_

0
exp(x) sin(x)dx usando a quadratura
de Gauss-Laguerre com 3 pontos.
D. Andrade Clculo Numrico 163
Tabela 9.3: Quadratura Gauss-Laguerre
t
k
- Razes- sempre positivos
k
- Pesos
0.5857864376 0.8535533905
0.341421356210
1
0.1464466094
0.4157745567 0.7110930099
0.229428036010
1
0.2785177335
0.628994508210
1
0.103892565010
1
0.3225476896 0.6031541043
0.174576110110
1
0.3574186924
0.453662029610
1
0.3888790851 10
1
0.939507091210
1
0.5392947055 10
3
0.2635603197 0.5217556105
0.141340305910
1
0.3986668110
0.359642577110
1
0.759424496810
1
0.708581000510
1
0.361175867910
2
0.126408008410
2
0.233699723810
4
0.2228466041 0.4589646739
0.1188932101 10
1
0.4170008307
0.2992736326 10
1
0.1133733820
0.577514356910
1
0.103991974510
1
0.983746741810
1
0.261017202810
3
0.159829739810
2
0.898547906410
6
Tomando os dados da tabela, veja a tabela 9.3, obtemos
_

0
e
x
sin(x)dx 0.7110930099 sin(.4157745567) + 0.2785177335 sin(2.294280360)
+0.01038925650 sin(6.289945082) = 0.4960298273
Exerccio 9.7.6 Determine uma aproximao para
_

1
e
x
x
2
dx usando a quadratura de Gauss-
Laguerre com 3 pontos.
A frmula de quadratura de Gauss-Hermite utilizada para calcular uma aproximao
para a integral imprpria do tipo
_

e
x
2
f (x)dx.
Os pesos e as abscissas so determinados utilizando os polinmios ortogonais de Hermite.
Veja a tabela 9.4 com os pesos e as abscissas calculados utilizando o Maple.
164
Tabela 9.4: Quadratura Gauss-Hermite
t
k
- Razes
k
- Pesos
0.7071067811 0.8862269254
0.122474487110
1
0.2954089751
0.0000000000 0.1181635900 10
1
0.165068012310
1
0.813128354410
1
0.5246476323 0.8049140900
0.202018287010
1
0.199532420510
1
0.9585724646 0.3936193231
0.0000000000 0.9453087212
0.235060497310
1
0.453000990510
2
0.133584907410
1
0.1570673203
0.4360774119 0.7246295952
Exemplo 9.7.7 Use a quadratura de Gauss-Hermite para determinar uma aproximao para a
integral
_

e
x
2
x
2
dx usando 2 pontos.
Estamos dentro das condies de integrao de Gauss-Hermite, com f (x) = x
2
. Usando a
tabela 9.4, temos x
0
= 0.7071067811, x
1
= 0.7071067811 e
0
=
1
= 0.8862269254, donde
_

e
x
2
x
2
dx
0
f (x
0
) +
1
f (x
1
) = 0.8862269253.
Exemplo 9.7.8 Use a quadratura de Gauss-Hermite para determinar uma aproximao para a
integral
_

e
x
2
cos(x)dx
usando 5 pontos.
Estamos dentro das condies de integrao de Gauss-Hermite, com f (x) = cos(x). Usando
a tabela 9.4, temos
_

e
x
2
cos(x)dx 1.380390077.
Exerccio 9.7.9 1. Use quadratura de Gauss-Legendre com 5 pontos para calcular as
seguintes integrais:
a)
_
2
1
sin(

x )dx . b)
_
2
1
exp(

x )dx .
2. Use quadratura de Gauss-Tchebycheff com 4 pontos para calcular as seguintes inte-
grais:
a)
_
2
1
sin(

x )dx . b)
_
2
1
exp(

x )dx .
D. Andrade Clculo Numrico 165
3. Use Gauss-Legendre com 3 pontos para calcular as seguintes integrais e compare
com seus valores exatos.
a)
_
1.5
1
x
2
ln(x)dx. b)
_
.35
0
2
x
2
4
dx. c)
_
3.5
3
x

x
2
4
dx.
Resumo: intervalos e pesos
Nome smbolo a b w(x)
Legendre P
n
(x) 1 1 1
Tchebycheff T
n
(x) 1 1
1

1x
2
Laguerre L
n
(x) 0 e
x
Hermite H
n
(x) e
x
2
9.8 Usando Maple: quadratura de Gauss
9.8.1 Quadratura de Gauss-Legendre
Nesse procedimento Maple calculamos a integral usando o mtodo de quadratura de Gauss-
Legendre. Aqui voc entra com a funo, o nmero de ns e os extremos do intervalo de
integrao.
> restart:
> QGaussLe:=proc(f,n,a,b) # n o nmero de ns
> local Gnos,Gpesos,g,ords,uu,k,u,q,w,ans;
> g:=t->((b-a)/2)*f(((b-a)*t+(b+a))/2); # morando agora em [-1,1]
> if nargs > 3 then
> fi;Gnos:=[fsolve(orthopoly[P](n,x),x)]; # P = Legendre
> Gpesos:=[];
> uu:=[seq(0,k=1..n)];
> for k from 1 to n do
> u:=subsop(k=1.0,uu); #n-esima entrada 1.0
> q:=interp(Gnos,u,x); # interpolao polinomial
> w:=int(q,x=-1..1); # integra para obter o peso
> Gpesos:=[op(Gpesos),w]; # lista de pesos
> od;
> evalf([Gnos,Gpesos]);
> [Gnos,Gpesos];
> ords:=map(g,Gnos);
> ans:=0;
> for k from 1 to n do
> ans:=ans + ords[k]*Gpesos[k];
> od;
> evalf(ans);
166
> end:
###
#Exemplo 1
> a:=0:b:=Pi:f:=x->sin(x):
> Int(sin(x),x=0..Pi):%= evalf(%);
> QGaussLe(sin,4,0,Pi);
#Exemplo 2
> a:=0:b:=Pi:f:=x->exp(sin(x)):
> Int(exp(sin(x)),x=0..Pi):%= evalf(%); QGaussLe(f,4,0,Pi);
9.8.2 Quadratura de Gauss-Tchebycheff
Esse procedimento em Maple calcula uma aproximao da integral no intervalo [1, 1],
usando o mtodo de quadratura de Gauss-Tchebycheff . Note que o integrando deve estar
na forma
F(x)

1 x
2
e portando voc deve entrar apenas com a funo F. O exemplo mostra
como calcular
_
1
1
exp(x)
_
x
2
dx.
> restart:
> GaussTcheb:=proc(f,n)
> # argumentos: f=funcao
> # n numero de pontos
> local t,V,F, k: # variaveis locais
> for k from 0 to n do t[k]:=evalf(cos((2*k+1)*Pi/(2*n+2)));
F[k]:=f(t[k]); od; V:=evalf(((Pi/(n+1))*sum(F[i],i=0..n))): print(
A integral por Quadratura de Gauss-Tchebycheff com,n,pontos :
); print(V);end:
#Exemplo
>g:=x-> exp(x)*(1-x^2);
> GaussTcheb(g,5);
9.8.3 Quadratura de Gauss-Laguerre
Esse procedimento em Maple calcula uma aproximao da integral no intervalo [0, ], us-
ando o mtodo de quadratura de Gauss-Laguerre . Note que o integrando deve estar na
forma F(x)exp(x) e portando voc deve entrar apenas com a funo F. O exemplo mostra
como calcular
_

0
exp(x) sin(x)dx.
> restart:
> QGaussLa:=proc(f,n) local Gnos,Gpesos,uu,k,u,q,w,ans,ords;
> Gnos:=[fsolve(orthopoly[L](n,x),x)]; # L = Laguerre
D. Andrade Clculo Numrico 167
> Gpesos:=[];
> uu:=[seq(0,k=1..n)];
> for k from 1 to n do
> u:=subsop(k=1.0,uu);
> q:=interp(Gnos,u,x); # interpolacao polinomial
> w:=int(exp(-x)*q,x=0..infinity);# integrando para obter os pesos
> Gpesos:=[op(Gpesos),w]; # escrendo a lista dos pesos
> od;
> evalf([Gnos,Gpesos]);
> [Gnos,Gpesos];
> ords:=map(f,Gnos); ans:=0; for k from 1 to n do
ans:=ans + ords[k]*Gpesos[k]; od; evalf(ans); end:
#Exemplo
> f:=x->sin(x):
> QGaussLa(sin,6,0,Pi);
9.9 Resumo do captulo
Neste captulo apresentamos diversos mtodos numricos de integrao. A regra
dos trapzios e a regra de Simpson so baseados na aproximao do integrando por um
polinmio interpolador. Os mtodos de quadratura de Gauss utilizam polinmios ortog-
onais. Vimos que quadratua de Gauss, mesmo com poucos pontos, permite uma preciso
maior na aproximao da integral.
168
10
Mtodos numricos para EDOs
10.1 Introduo s EDOs
Equaes diferenciais ordinrias so importantes em muitos problemas do mundo real
quando modelamos fenmenos mecnicos, fsicos, biolgicos ou sociais.
A ideia fundamental dos mtodos numricos para equaes diferenciais est na discretiza-
o do domnio. Essa discretizao torna possvel o tratamento numrico de problemas via
computadores. O estudo de mtodos e suas taxas de convergncias o principal objeto
de estudo da anlise numrica, aqui abordaremos as noes mais elementares; as demon-
straes mais elaboradas podem ser omitidas numa primeira leitura. Nessas notas vamos
nos limitar a aplicar os principais mtodos em exemplos simples.
Uma equao diferencial ordinria (EDO) uma equao em que a varivel dependente
uma funo de uma varivel independente e suas derivadas. A ordem de uma EDO a
ordem da mais alta derivada da funo desconhecida que aparece na equao.
Seja um aberto de R
n+1
e f : R
n
, n 1, uma funo denida e contnua em .
Uma equao diferencial ordinria de ordem 1 uma equao do tipo
d
dx
y(x) = f (x, y(x)). (10.1.1)
Dada : I R
n
denida sobre um aberto I e de classe C
1
neste intervalo, se estiver
vericada a condio (10.1.1), isto ,
d
dx
(x) = f (x, (x)), (10.1.2)
dizemos que uma soluo de (10.1.1).
169
170
Se n > 1, (10.1.1) de fato um sistema de equaes diferenciais ordinrias, pois f =
( f
1
, f
2
, . . . , f
n
) onde f
i
so funes reais e contnuas denidas em :
f
i
: R, i = 1, 2, . . . , n.
Uma equao diferencial ordinria de ordem n, ou simplesmente uma EDO de ordem n,
uma equao
F(x, y, y

, y
(2)
, . . . , y
(n)
) = 0, (10.1.3)
envolvendo derivadas de uma funo y que desejamos determinar.
A ordem de uma EDO a ordem da mais alta derivada que aparece na equao.
Muitas vezes no possvel escrever a EDO (10.1.3) da forma abaixo
a
n
(x)y
(n)
+ a
n1
(x)y
(n1)
+ + a
1
(x)y

+ a
0
(x)y = g(x).
Esta uma situao particular que merece uma denio.
A EDO (10.1.3) chamada linear se F linear na variveis y, y

, y
(2)
, . . . , y
(n)
. Deste modo
uma EDO linear geral de ordem n uma expresso do tipo
a
n
(x)y
(n)
+ + a
1
(x)y

+ a
0
(x)y = g(x). (10.1.4)
O Teorema de Existncia
Vamos dar a prova do teorema de existncia e unicidade de solues de EDOs numa situ-
ao particular.
Teorema 10.1.1 (Existncia e Unicidade) Seja R
2
um aberto e f : R funo contnua
com f
y
: R tambm contnua. Dado (x
0
, y
0
) , existe um intervalo aberto I x
0
e uma
nica funo diferencivel : I R com (x, (x)) para todo x I, que soluo do problema
de valor inicial
_
y

(x) = f (x, y),


y(x
0
) = y
0
.
(10.1.5)
Demonstrao: A funo : I R soluo de (10.1.5) se e somente se, for soluo da
equao integral
y(x) = y
0
+
_
x
x
0
f (s, y(s))ds, x I. (10.1.6)
Assim, vamos estudar detalhadamente a equao integral (10.1.6). Sejam a e b reais posi-
tivos tal que o retngulo
R = (x, y); [x x
0
[ a e [y y
0
[ b
D. Andrade Clculo Numrico 171
esteja inteiramente contido em . Como f contnua e R compacto, ento f limitada
em R, seja
M = max[ f (x, y)[; (x, y) R.
Tome
0 < a mina,
b
M

e o intervalo
J
a
= [x
0
a, x
0
+ a].
Seja
( = g; g : J
a
R contnua , g(x
0
) = y
0
e [g(x) y
0
[ b.
Munimos ( da seguinte mtrica
d(g
1
, g
2
) = max[g
1
(x) g
2
(x)[; x J
a
.
Segue que ((, d) um espao mtrico. Mais ainda, ((, d) um espao mtrico completo,
isto , toda sequncia de Cauchy em ((, d) convergente.
De (10.1.6) observamos que toda soluo deve ser ponto xo da aplicao dada por (
g (g) onde
(g)(x) = y
0
+
_
x
x
0
f (s, g(s))ds. (10.1.7)
fcil ver que (g) contnua em J
a
e (g)(x
0
) = y
0
. Alm disso,
[(g)(x) y
0
[ [
_
x
x
0
f (s, g(s))ds[ M[x x
0
[ Ma b
e portanto (g) (. Logo temos que : ( (.
Por outro lado, se g
1
e g
2
pertencem a ( temos que
[(g
1
)(t) (g
2
)(t)[
_
t
t
0
[ f (s, g
1
(s)) f (s, g
2
(s))[ds.
Como f Lipschitiziana na varivel y, existe uma constante positiva k tal que
[(g
1
)(x) (g
2
)(x)[
_
x
xt
0
k[g
1
(s) g
2
(s)[ds kad(g
1
, g
2
).
Segue que
d((g
1
), (g
2
)) kad(g
1
, g
2
).
Tomando a tal que ka < 1 conclumos que uma contrao. Pelo Teorema da contrao,
tem um nico ponto xo e o teorema ca provado com I = (x
0
a, x
0
+ a).
Um exemplo numrico:
172
Uma vez que o operador dado em 10.1.7 uma contrao podemos usar a sequncia intro-
duzida no processo iterativo de Picard para gerar aproximaes da soluo de uma EDO
de primeira ordem.
O processo iterativo de Picard consiste em construir uma sequncia (x
n
) de funes que se
aproximam cada vez mais da soluo procurada. Como exemplo, consideremos o seguinte
PVI
_
y

(x) = 2x(y + 1),


y(0) = 0.
Primeiramente, vamos escrever a equao integral equivalente
y(x) =
_
x
0
2s(y(s) + 1)ds.
Faamos y
0
(x) = 0 e para n 1 usamos a frmula
y
n+1
(x) =
_
x
0
2s(y
n
(s) + 1)ds.
Para y
1
(x) obtemos
y
1
(x) =
_
x
0
2sds = x
2
.
Substituindo na frmula geral da sequncia obtemos y
2
(x),
y
2
(x) =
_
x
0
2s(y
1
(s) + 1)ds =
_
x
0
2s(s
2
+ 1)ds = x
2
+
x
4
2
.
Continuando desta forma obtemos uma sequncia y
n
(x). Vamos determinar mais alguns
termos desta sequncia:
n y
n
(x)
n = 0 y
0
(x) = 0
n = 1 y
1
(x) = x
2
n = 2 y
2
(x) = x
2
+
x
4
2
n = 3 y
3
(x) = x
2
+
x
4
2
+
x
6
3!
n = 4 y
4
(x) = x
2
+
x
4
2
+
x
6
3!
+
x
8
4!

n = k y
k
(x) =
k
i=1
x
2i
i!
Do nosso conhecimento sobre sries de Taylor sabemos que esta sequncia converge para
y(x) = exp(x
2
) 1 que a soluo da EDO.
D. Andrade Clculo Numrico 173
10.2 O mtodo de Euler
O Mtodo de Euler o mais simples mtodo numrico, mas tambm o menos preciso.
O mtodo de Euler um mtodo de discretizao onde o domnio dividido em n partes
iguais a h, h chamado o passo de discretizao.
Se o domnio o intervalo [a, b], ento discretizamos o domnio tomando (n + 1) pontos
igualmente espaados do domnio dados por x
j
= a + jh, j = 0, 1, . . . , n, em que h =
ba
n
o
passo de discretizao. Note que x
0
= a e x
n
= b.
Consideremos o seguinte problema de valor inicial
_
y

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


y(x
0
) = y
0
.
Do desenvolvimento em srie de Taylor em torno de um ponto x
n
, para y sucientemente
diferencivel, temos
y(x) = y(x
n
) +y

(x
n
)(x x
n
) +y

(x
n
)
(x x
n
)
2
2
+ +y
(k)
(x
n
)
(x x
n
)
k
k!
+y
(k+1)
(
x
)
(x x
n
)
k+1
(k + 1)!
,
onde
x
est entre x
n
e x.
Supondo y de classe C
2
, chamando x
k+1
= x
k
+ h, temos por Taylor que
y(x
k+1
) = y(x
k
) + hy

(x
k
) +
h
2
2
y

(),
onde est entre x
k
e x
k+1
.
Se h pequeno, ento
h
2
2
y

() tambm pequeno e pode ser desprezado. Logo, obtemos


y(x
k+1
) y(x
k
) + h f (x
k
, y(x
k
)).
Se y
j
a aproximao para y(x
j
), obtemos as aproximaes dada pelo mtodo de Euler por
y
k+1
= y
k
+ h f (x
k
, y
k
)
. (10.2.1)
Note que y
k+1
usa apenas o valor de y
k
, isto , a soluo aproximada y
k+1
para ser de-
terminada necessita apenas y
k
, a aproximao imediatamente anterior. Estes mtodos so
chamados de mtodos de passo simples ou passo um.
Exemplo 10.2.1
Consideremos a seguinte EDO que queremos obter informaes sobre a soluo no intervalo
[0, 1].
_
y

+ 2xy = 4x
y(0) = 1.
174
A soluo y(x) = 2 exp(x
2
). Como exemplo, vamos dividir o intervalo em 5 partes
iguais, portanto o passo h = 0.2.
Reescrevendo a equao como y

= 4x 2xy vemos que f (x, y) = 4x 2xy, x


0
= 0 e
y(0) = 1 nos d f (0, 1) = 0.
O mtodo de Euler dado em (10.2.1) nos d
y
1
= y
0
+ h f (x
0
, y
0
) = 1 + 0 = 1.
Do mesmo modo,
y
2
= y
1
+ h f (x
1
, y
1
) = 1, 08.
Continuando, obtemos a seguinte tabela que comparamos com a soluo exata.
x
k
y
k
(aprox.) y(x) (exato) Erro [y
k
y(x)[
0.0 1.0 1.0 0.0
0.2 1.0 1.039 0.039
0.4 1.08 1.148 0.068
0.6 1.227 1.302 0.075
0.8 1.413 1.472 0.059
1.0 1.601 1.632 0.031
Soluo e aproximao
1
1.1
1.2
1.3
1.4
1.5
1.6
0 0.2 0.4 0.6 0.8 1
Exemplo 10.2.2 (Nem tudo so ores!)
Consideremos a seguinte EDO que queremos obter informaes sobre a soluo no intervalo
[1, 0].
_
y

= y
2
y(1) = 1,
cuja soluo y(x) = x
1
. Para discretizar o domnio vamos dividir o intervalo em 10
partes iguais, portanto o passo h = 0.1 e os pontos so x
j
= x
0
+ hj, onde h =
0+1
10
= 0.1,
e assim os pontos so x
0
= 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1 e 0.0.
Tabelamos os nossos clculos na tabela abaixo. Observe que o erro cresce rapidamente.
x
k
y
k
y Erro [y
k
+ x
1
[
-1.0 1.0 1.0 0.0
-0.9 1.10 1.111 0.011
-0.8 1.221 1.250 0.029
-0.7 1.375 1.429 0.054
-0.6 1.558 1.667 0.109
-0.5 1.801 2.000 0.199
-0.4 2.125 2.500 0.338
-0.3 2.577 3.333 0.756
-0.2 3.241 5.000 1.756
-0.1 4.291 10.000 5.709
Soluo e aproximao 2
0
20
40
60
80
100
1 0.8 0.6 0.4 0.2
D. Andrade Clculo Numrico 175
10.2.1 Erro na discretizao
Supondo y(x
k
) conhecido exatamente, ao aproximar
y(x
k+1
) y(x
k
) + h f (x
k
, y
k
)
introduzido um erro, chamado erro de discretizao local. Esse erro, obtido do desen-
volvimento de Taylor, dado por
h
2
2
y

(
k
)
para algum
k
entre x
k
e x
k+1
.
Observe que ao calcularmos uma aproximao y
k+1
para y(x
k+1
) pelo mtodo de Euler, o
valor de y
k
usado uma aproximao para y(x
k
). O valor y
k
foi calculado usando uma
aproximao de y
k1
e assim sucessivamente. Tem-se assim, no clculo da aproximao
y
k+1
no s o erro de discretizao introduzido nesse passo mas tambm o erro resultante
da acumulao dos erros de discretizao local introduzidos nos passos anteriores.
Vamos denotar por e
k
o erro
e
k
= y(x
k
) y
k
de discretizao global. Um majorante para esse erro dado pelo seguinte teorema:
Teorema 10.2.3 No problema de valor inicial suponha que f e f
y
sejam contnuas em D = [a, b]
[c, d]. Seja
L = sup
(x,y)D
[ f
y
(x, y)[ < .
Se a soluo exata y(x) tem derivadas contnuas at ordem 2 e
max[y

(x)[, x [a, b] = M
2
,
ento o erro global de discretizao e
k
majorado por
[e
k
[
hM
2
2L
_
e
L(x
k
x
0
)
1
_
.
Demonstrao: Como
y(x
k+1
) = y(x
k
) + h f (x
k
, y(x
k
)) +
h
2
2
y

(
k
)
e
y
k+1
= y
k
+ h f (x
k
, y
k
),
subtraindo obtemos
e
k+1
= e
k
+ h [ f (x
k
, y(x
k
)) f (x
k
, y
k
)] +
h
2
2
y

(
k
).
176
Pelo Teorema do valor mdio,
[ f (x
k
, y(x
k
)) f (x
k
, y
k
)] = [y(x
k
) y
k
] f
y
(x
k
,
k
)
para algum
k
entre y
k
e y(x
k
). Donde temos
[ f (x
k
, y(x
k
)) f (x
k
, y
k
)[ L[e
k
[.
Segue que
[e
k+1
[ (1 + Lh)[e
k
[ +
h
2
2
M
2
. (10.2.2)
Usando repetidas vezes (10.2.2), obtemos
[e
k+1
[ (1 + Lh)
k+1
[e
0
[ +
h
2
2
M
2
k

j=0
(1 + hL)
j
. (10.2.3)
Supondo e
0
= 0, ignorando erros na condio inicial, e sabendo que
k

j=0
(1 + hL)
j
=
(1 + Lh)
k+1
1
Lh
,
resulta de (10.2.3) que
[e
k+1
[
hM
2
2L
_
(1 + Lh)
k+1
1
_
.
Como para todo real x tem-se 1 + x e
x
, ento podemos armar que
(1 + Lh) e
Lh
.
Consequentemente,
(1 + Lh)
k
e
kLh
= e
L(x
k
x
0
)
e assim,
[e
k
[
hM
2
2L
_
e
L(x
k
x
0
)
1
_
.

Esse teorema arma que quando h tende a zero, o erro global de discretizao tende a zero.
Segue que
lim
h0
y
k
= y(x
k
).
Notemos ainda que a menos que coheamos alguma informao adicional sobre a soluo
y(x), impossvel obter um majorante para o erro global de discretizao.
Exemplo 10.2.4
D. Andrade Clculo Numrico 177
Determine o passo h > 0 de modo que o erro global de discretizao seja menor do que
5 10
5
no problema de valor inicial
_
y

(x) = y(x)
y(0) = 1, x [0, 1].
Devemos determinar h de modo que
[e
k
[
hM
2
2L
_
e
L(x
k
x
0
)
1
_
< 5 10
5
Como y(x) = e
x
, ento M
2
= e e como L = 1, ento temos
[e
k
[
he
2
_
e
1
1
_
< 5 10
5
desde que h 0.000064.
Um mtodo para obter uma estimativa para o erro dado a seguir. Temos que [y(x
k
) y
k
[
Ch para alguma constante independente de h. Se y
k
uma aproximao de y(x
k
) com passo
2h, ento
[y(x
k
) y
k
[ 2hC.
Segue que
[y(x
k
) y
k
[ [y(x
k
) y
k
[

1
2
[y(x
k
) y
k
[ +
1
2
[y
k
y
k
[
e assim temos
[y(x
k
) y
k
[ [y
k
y
k
[.
10.3 O mtodo de Taylor
O Mtodo de Taylor usa a srie de Taylor para obter uma aproximao para a soluo do
PVI
_
y

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


y(x
0
) = y
0
.
Se f de classe C
n+1
, ento a aproximao de Taylor em torno de x
f (x + h) = f (x) + f

(x)h +
f
(2)
(x)
2!
h
2
+ +
f
(n)
(x)
n!
h
n
+
f
(n+1)
()
(n + 1)!
h
n+1
,
onde est entre x e x + h.
178
Aplicando isto a funo y(x) de classe C
n+1
e substituindo x por x
i
, obtemos em torno de
x
i
y(x
i
+ h) = y(x
i
) + y

(x
i
)h +
y
(2)
(x
i
)
2!
h
2
+ +
y
(n)
(x
i
)
n!
h
n
+
y
(n+1)
()
(n + 1)!
h
n+1
,
onde est entre x
i
e x
i
+ h. Se y

= f , ento podemos reescrever


y(x
i
+ h) = y(x
i
) + f (x
i
, y
i
)h +
f
(1)
(x
i
, y
i
)
2!
h
2
+ +
f
(n1)
(x
i
, y
i
)
n!
h
n
+
f
(n)
(, y())
(n + 1)!
h
n+1
. .
resto
,
onde est entre x
i
e x
i
+ h.
Representando por y
i
uma aproximao para y(x
i
), podemos escrever a frmula para o
mtodo de Taylor
y
i+1
= y
i
+
n

k=1
h
k
k!
f
(k1)
(x
i
, y
i
)
. (10.3.1)
Exemplo 10.3.1
Considere o PVI que desejamos resolver numericamente no intervalo [0, 2]
_
y

(x) = y(x) x
2
+ 1,
y(0) = 0.5.
As derivadas de f (x, y) com relao a y so dadas por
f

(x, y) =
d
dx
_
y(x) x
2
+ 1
_
= y

(x) 2x = y(x) x
2
+ 1 2x
f

(x, y) =
d
dx
_
y(x) x
2
2x + 1
_
= y(x) x
2
2x 1
f

(x, y) = y(x) x
2
2x 1
f
(4)
(x, y) = y(x) x
2
2x 1.
Assim, o mtodo de Taylor de ordem 2 para o PVI :
y
0
= y(x
0
) = 0.5
y
i+1
= y
i
+ h f (x
i
, y
i
) +
h
2
2
f

(x
i
, y
i
)
y
i+1
= y
i
+ h
_
y
i
x
2
i
+ 1
_
+
h
2
2
_
y
i
x
2
i
2x
i
+ 1
_
y
i+1
=
_
1 + h +
h
2
2
_
y
i
+
_
h
h
2
2
_
x
2
i
+ h
_
1 +
h
2
_
h
2
x
i
.
D. Andrade Clculo Numrico 179
A soluo exata dada por
y(x) = x
2
+ 2 x + 1 0.5e
x
,
o que pode ser vericado facilmente. Discretizamos o domnio [0, 2] em 10 subintervalos e
obtemos os pontos x
j
= x
0
+ jh, onde h =
20
10
= 0.2.
x
k
y(x
k
) exato y
k
aprox. erro
0.0 0.5 0.5 0
0.2 0.8292986210 .8300000000 0.0007013790
0.4 1.214087651 1.215800000 0.001712349
0.6 1.648940600 1.652076000 0.003135400
0.8 2.127229536 2.132332720 0.005103184
1.0 2.640859086 2.648645918 0.007786832
1.2 3.179941538 3.191348020 0.011406482
1.4 3.732400016 3.748644584 0.016244568
1.6 4.283483788 4.306146393 0.022662605
1.8 4.815176268 4.846298600 0.031122332
2.0 5.305471950 5.347684292 0.042212342
1
2
3
4
5
0 0.5 1 1.5 2
x
Sol e aprox -Taylor
Ordem de convergncia: O mtodo de Taylor uma excelente ferramenta terica, mas com-
putacionalmente ruim, pois h a necessidade calcular vrias derivadas. Usando a preciso
do mtodo de Taylor, obtemos outros mtodos computacionalmente melhores.
Supondo que y tenha derivadas at ordem k + 1, o erro cometido ao aproximarmos y(x
i+1
)
por y
i+1

e(x
i
) =
f
(k)
(, y())h
k+1
(k + 1)!
, (10.3.2)
onde est entre x
i
e x
i+1
.
O erro de discretizao global dado por
e
k
= y(x
k
) y
k
.
Um mtodo numrico chamado de ordem p, se existe C > 0 tal que
[e(x
i
)[ Ch
p
.
Assim, a expresso 10.3.2 mostra que o mtodo de Taylor de ordem k. Como o mtodo de
Euler um caso particular do mtodo de Taylor, a ordem do mtodo de Euler 1.
Os mtodos de Runge-Kutta foram concebidos para coincidirem, em preciso, com o mtodo
da srie de Taylor. A deduo de suas frmulas trabalhoso e pouco instrutivo, assim no
faremos a sua deduo.
180
10.4 Mtodos de Runge-Kutta
O mtodo de Taylor tem o inconveniente de ser necessrio o clculo de derivadas. Os
mtodos de Runge-Kutta no tm este problema, mas necessrio avaliar f em vrios
pontos distintos, mesmo assim so computacionalmente mais aceitveis. Os mtodos de
Runge-Kutta so uma classe de mtodos e dos mais populares e mais amplamente utilizado
para a soluo de problemas de valor inicial. Na verdade o mtodo de Runge-Kutta uma
famlia de mtodos de vrias ordens.
Os mtodos de Runge-Kutta de ordem p so mtodos caracterizados por:
(a) so de passo 1,
(b) no exigem o clculo de derivadas,
(c) sua expresso coincide em preciso com o mtodo da srie de Taylor de mesma ordem
p.
Estamos ainda considerando o PVI
_
y

= f (x, y)
y(x
0
) = y
0
.
O mtodo de Runge-Kutta de ordem 2: Os mtodos de Runge-Kutta de ordem 2 tm a
forma geral dada por
y
n+1
= y
n
+ ha
1
f (x
n
, y
n
) + ha
2
f (x
n
+ b
1
h, y
n
+ b
2
hy

n
)
. (10.4.1)
Tomando a
1
= a
2
=
1
2
e b
1
= b
2
= 1, obtemos o mtodo de Euler melhorado ou Heun:
y
k+1
= y
k
+
h
2
[ f (x
k
, y
k
) + f (x
k
+ h, y
k
+ h f (x
k
, y
k
))]
. (10.4.2)
O mtodo de Heun considera os acrscimos

k
= f (x
k
, y
k
) (10.4.3)

k
= f (x
k+1
, y
k
+ h
k
), (10.4.4)
e a aproximao para y
k+1
dada por
y
k+1
= y
k
+
1
2
h (
k
+
k
) . (10.4.5)
Observe que o termo
1
2
h (
k
+
k
) a mdia aritmtica entre duas inclinaes estimadas em
x
k
e em x
k+1
.
D. Andrade Clculo Numrico 181
Tomando a
1
= 0, a
2
= 1 e b
1
= b
2
=
1
2
, obtemos o mtodo de Euler modicado:
y
k+1
= y
k
+ h f (x
k
+
h
2
, y
k
+
h
2
f (x
k
, y
k
))
. (10.4.6)
O mtodo de Runge-Kutta de ordem 4 (simplicidade + preciso + economia):
O mtodo de Runge-Kutta de quarta ordem baseado em ideias similares. Tomamos com-
binaes de f (x, y) em vrios pontos do intervalo x
k
x x
k+1
e ajustamos os parmetros
para que nossa aproximao de y
k+1
coincida com a expanso de Taylor de ordem 4.
Resumindo,
y
k+1
= y
k
+
1
6
(K
1
+ 2K
2
+ 2K
3
+ K
4
)
, (10.4.7)
onde
K
1
= h f (x
k
, y
k
),
K
2
= h f (x
k
+
1
2
h, y
k
+
1
2
K
1
),
K
3
= h f (x
k
+
1
2
h, y
k
+
1
2
K
2
),
K
4
= h f (x
k
+ h, y
k
+ K
3
).
Observao 10.4.1 O mtodo de Runge-Kutta de ordem 2 pode ser obtido da regra dos Trapzios e
o mtodo de Runge-Kutta de ordem 4 pode ser obtido pela regra de integrao de Simpson.
Teorema 10.4.2 Os mtodos de RK2 e RK4 so mtodos de ordem 2 e 4, respectivamente.
e(x
k
) RK2 (Local) RK2 (Global) RK4 (Local) RK4 (Global)
[y(x
k
) y
k
[ C
2
h
3
C

2
h
2
C

4
h
5
C

4
h
4
Exemplo 10.4.3
Vamos usar o mtodo de Runge-Kutta de quarta ordem na soluo da EDO dada por
y

+ 2xy = 4x
e y(0) = 1, no intervalo [0, 1] com passo h = 0, 2.
182
x
k
y
k
y(x) Erro [u
k
u(x)[
0.0 1.000 1.000 0
0.2 1.039 1.039 0
0.4 1.148 1.148 0
0.6 1.302 1.302 0
0.8 1.473 1.473 0
1.0 1.632 1.632 0
Solucao e Aproximacao- RK4
1
1.1
1.2
1.3
1.4
1.5
1.6
0 0.2 0.4 0.6 0.8 1
Veja a tabela com os coecientes Ks e as aproximaes.
t
k
u
k
K
1
K
2
K
3
K
4
0 1 0 0.01 0.00995 0.0198
0.1 1.00995 0.0198 .0294 0.02926 0.038432
0.2 1.0392 0.0384 0.04708 0.046863 0.054836
0.3 1.086 0.054836 0.06206 0.0618 0.06817
0.4 1.147856 0.06817 0.073625 0.0733798 0.077876
0.5 1.22120 0.07788 0.081385 0.08119 0.083713
0.6 1.3023236 0.08372 0.085256 0.085156 0.0857528
0.7 1.38737 0.0857677 0.08546 0.085484 0.0843428
0.8 1.4727 0.084367 0.082469 0.082630 0.08004
0.9 1.5551 0.08007 0.076916 0.077216 0.073529
1.0 1.63212 - - - -
Os mtodos estudados at aqui so chamados de passo 1, pois para o clculo de y
k+1
necessita-se apenas conhecermos y
k
. Observamos ainda que estes mtodos so explcitos,
pois a expresso para y
k+1
dada de modo explcito.
10.4.1 Runge-Kutta de ordem 4 para sistemas
O mtodo de Runge-Kutta pode ser estendido para sistemas de equaes. Consideremos o
caso de um sistema de duas equaes diferenciais.
Suponha que temos um sistema de EDOs dado por
_

_
y

= f (x, y, z)
z

= g(x, y, z),
y(x
0
) = y
0
,
z(x
0
) = z
0
.
D. Andrade Clculo Numrico 183
Para usar o mtodo de RK4 devemos calcular os coecientes
K
1
= h f (x
k
, y
k
, z
k
),
L
1
= hg(x
k
, y
k
, z
k
),
K
2
= h f (x
k
+
1
2
h, y
k
+
1
2
K
1
, z
k
+
1
2
L
1
),
L
2
= hg(x
k
+
1
2
h, y
k
+
1
2
K
1
, z
k
+
1
2
L
1
),
K
3
= h f (x
k
+
1
2
h, y
k
+
1
2
K
2
, z
k
+
1
2
L
2
),
L
3
= hg(x
k
+
1
2
h, y
k
+
1
2
K
2
, z
k
+
1
2
L
2
),
K
4
= h f (x
k
+ h, y
k
+ K
3
, z
k
+ L
3
),
L
4
= hg(x
k
+ h, y
k
+ K
3
, z
k
+ L
3
),
calculados nesta ordem. Em seguida calculamos y
k+1
e z
k+1
usando
y
k+1
= y
k
+
1
6
(K
1
+ 2K
2
+ 2K
3
+ K
4
)
(10.4.8)
e
z
k+1
= z
k
+
1
6
(L
1
+ 2L
2
+ 2L
3
+ L
4
)
, (10.4.9)
para obter as solues numricas, exatamente como no caso de EDO de ordem 1.
Exemplo 10.4.4 Considere o PVI dado por
_

_
y

= z
z

= y
y(0) = 1, z(0) = 1.
Utilizando o mtodo de Runge-Kutta para sistemas, obtemos os seguintes dados para o intervalo [0, 1]
e h = 0.1.
Neste exemplo temos f (x, y, z) = z e g(x, y, z) = y.
Exemplo 10.4.5 Considere o PVI dado por
_

_
y

= z(x)
z

= 4z(x) y(x) x,
y(0) = 0,
z(0) = 1.
Utilizando o mtodo de Runge-Kutta para sistemas, obtemos os seguintes dados.
184
x
k
y
k
z
k
K
1
L
1
K
2
L
2
K
3
L
3
K
4
L
4
0 1 1 -0.01628 -0.1407 -0.02332 -0.1399 -0.02328 -0.1395 -0.03023 -0.1384
0.1 1.096 0.8952 -0.01628 -0.1407 -0.02332 -0.1399 -0.02328, -0.1395 -0.03023 -0.1384
0.2 1.180 0.7813 -0.01628 -0.1407 -0.02332 -0.1399 -0.2328 -0.1395 -0.03023 -0.1384
0.3 1.252 0.6596 -0.01628 -0.1407 -0.02332 -0.1399 -0.02328 -0.1395 -0.03023 -0.1384
0.4 1.312 0.5313 -0.01628 -0.1407 -0.2332 -0.1399 -0.02328 -0.1395 -0.3023 -0.1384
0.5 1.359 0.3977 -0.1628 -0.1407 -0.2332 -0.1399 -0.2328 -0.1395 -0.03023 -0.1384
0.6 1.392 0.2600 -0.01628 -0.1407 -0.2332 -0.1399 -0.2328, -0.1395 -0.03023 -0.1384
0.7 1.410 0.1198 -0.16280 -0.1407 -0.02332 -0.1399 -0.2328 -0.1395 -0.03023 -0.1384
0.8 1.416 -0.02155 -0.01628 -0.1407 -0.02332 -0.1399, -0.02328 -0.1395 -0.03023 -0.1384
0.9 1.407 -0.1628 -0.01628 -0.1407 -0.2332 -0.1399 -0.2328 -0.1395 -0.03023 -0.1384
1.0 1.383 -0.3024 -0.01628 -0.1407 -0.02332 -0.1399 -0.02328 -0.1395 -0.03023 -0.1384
Aqui f (x, y, z) = z e g(x, y, z) = 4z y x.
x
k
y
k
z
k
0 0 1
.1 .1221595 1.46647841
.2 .29871947 2.09615840
.3 .548712491 2.9461375
.4 .897829738 4.0934895
.5 1.38075069 5.6422521
.6 2.04428775 7.732863241
.7 2.95163105 10.55489314
.8 4.188078355 14.3642351
.9 5.86876960 19.5063088
1.0 8.149127 26.44738231
Exemplo 10.4.6 (Predador-Presa) Consideremos o modelo abaixo para predador-presa
_

_
dx
dt
= 3x 1.4xy
dy
dt
= y + 0.5xy,
x(0) = 2,
y(0) = 2.
D. Andrade Clculo Numrico 185
t
k
x
k
y
k
0. 2. 2.
0.1 2.04021172177630250 2.00200958763706893
0.2 2.08005924010237652 2.00804633227391927
0.3 2.11830331387036042 2.01804786552362181
0.4 2.15365341761329754 2.03184511098841014
0.5 2.18482297262956404 2.04915233886168168
0.6 2.21058727795855425 2.06956072884697174
0.7 2.22985789248401822 2.09253558745927480
0.8 2.24175495002747782 2.11742153555191370
0.9 2.24567528503658220 2.14345461647785252
1.0 2.24134864669795464 2.16978693177832226
2
2.05
2.1
2.15
2.2
2.25
z
1.8 1.9 2 2.1 2.2
y
Plotando os pontos
(x
k
, y
k
) obtemos a
seguinte gura que
indica comporta-
mento peridico.
10.4.2 O mtodo de Runge-Kutta- Fehlberg de quarta ordem
Estamos ainda considerando o PVI
_
y

= f (x, y)
y(x
0
) = y
0
.
A frmula no mtodo de Runge-Kutta- Fehlberg de quarta ordem dada por
y
k+1
= y
n
+
_
25
216
K
1
+
1048
2565
K
3
+
2197
4104
K
4

1
5
K
5
_
onde
K
1
= h f (x
k
, y
k
)
K
2
= h f (x
k
+
1
4
h, y
k
+
1
4
K
1
)
K
3
= h f (x
k
+
3
8
h, y
k
+
3
32
K
1
+
9
32
K
2
)
K
4
= h f (x
k
+
12
13
h, y
k
+
1932
2197
K
1

7200
2197
K
2
+
7296
2197
K
3
)
K
5
= h f (x
k
+ h, y
k
+
439
216
K
1
8K
2
+
3680
513
K
3

845
4104
K
4
)
K
6
= h f (x
k
+
h
2
, y
k

8
27
K
1
+ 2K
2

3544
2565
K
3
+
1859
4104
K
4

11
40
K
5
)
186
10.5 Mtodos numricos para EDOs: Multistep
Como vimos nos mtodos anteriores, a soluo aproximada y
k+1
para ser determinada era
preciso conhecer apenas y
k
a aproximao imediatamente anterior, mesmo que para isto
tivssemos que avaliar f e suas derivadas em vrios outros pontos. Estes mtodos so
chamados de mtodos de passo simples ou passo um. Nos mtodos de passo mltiplo
(multi-step), para determinarmos y
k+1
preciso conhecer algumas aproximaes anteriores
y
k
, y
k1
, . . . , y
km
. Alguns destes mtodos sero estudados aqui nesta seo. Uma pergunta
natural a seguinte: porque no continuar usando o mtodos de passo simples e mudar
para o mtodo de passo mltiplo? simples, o esforo computacional nos mtodos de
passo simples bem maior.
Consideremos, ainda o problema de valor inicial,
_
y

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


y(x
0
) = y
0
,
tomemos os pontos a = x
0
< x
1
< x
2
< < x
n
= b igualmente espaados e h = x
i+1
x
i
.
Integrando,
_
x
i+1
x
i
y

(x)dx =
_
x
i+1
x
i
f (x, y(x))dx,
o que d
y(x
i+1
) = y(x
i
) +
_
x
i+1
x
i
f (x, y(x))dx. (10.5.10)
Os mtodos que vamos estudar agora, mtodos de passo mltiplo, so baseados na aprox-
imao da integral em (10.5.10), substituindo f por um polinmio interpolador em ns
(abscissas) equidistantes.
Mtodos Adams-Bashforth
Escolhendo os ns de interpolao x
i
, x
i1
, . . . , x
ir
[a, b] obtemos os mtodos de Adams-
Bashforth.
Para o caso do Mtodo de Adams-Bashforth de segunda ordem, usamos a frmula de
integrao
_
x
i+1
x
i
f (x, y(x))dx
h
2
[3f (x
i
) f (x
i1
)] ,
onde h = x
i
x
i1
. Esta aproximao para a integral foi obtida aproximando f por um
polinmio interpolador de grau um nos ns x
i
e x
i1
. Substituindo em (10.5.10) obtemos
y
i+1
= y
i
+
h
2
[3f (x
i
, y
i
) f (x
i1
, y
i1
)] , i 1, (10.5.11)
que a frmula do Mtodo de Adams-Bashforth.
Observe que para determinar y
2
precisamos conhecer y
0
e y
1
; como y
0
j dado precisamos
determinar apenas y
1
. Fazemos isto usando um mtodo numrico de passo simples como
Euler ou Runge-Kutta..
D. Andrade Clculo Numrico 187
O erro local no mtodo de Adams-Bashforth de ordem 2 dado por
5
12
h
3
y

(
i
)
(10.5.12)
onde
i
(x
i1
, x
i
). O erro global proporcional a h
2
.
Exemplo 10.5.1 Consideremos o seguinte exemplo
_
y

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


y(0) = 1.
A soluo obviamente y(x) = e
x
. Para aplicar o mtodo de Adams-Bashforth, precisamos
de y
1
que pode ser obtido por RK-2. Assim, tomando N = 10 segue que h =
10
10
, temos os
seguintes dados e o grco ilustrando a aproximao.
k y
k
0 1
1 1.105000
2 1.220750000
3 1.348612500
4 1.489866875
5 1.645916281
6 1.818310379
7 2.008761122
8 2.219159771
9 2.451595681
10 2.708377045
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
0 0.2 0.4 0.6 0.8 1
x
Soluo e aproximao- AB-2
O Mtodo Adams-Bashforth de quarta odem obtido aproximando f por um polinmio
de grau 3 interpolador em x
i
, x
i1
, x
i2
, x
i3
e usando a regra de integrao
_
x
i+1
x
i
f (x)dx
h
24
[55f (x
i
) 59f (x
i1
) + 37f (x
i2
) 9f (x
i3
)]
onde h = x
i+1
x
i
. Substituindo em 10.5.10 obtemos
y
i+1
= y
i
+
h
24
[55f (x
i
, y
i
) 59f (x
i1
, y
i1
) + 37f (x
i2
, y
i2
) 9f (x
i3
, y
i3
)] , i 3
(10.5.13)
188
que a frmula do Mtodo de Adams-Bashforth de quarta ordem.
Observe que para determinar y
4
precisamos conhecer y
0
, y
1
, y
2
, y
3
; como y
0
j dado pre-
cisamos determinar os demais. Fazemos isto usando um mtodo numrico de passo sim-
ples.
O erro local no MAB-4 dado por
5
12
h
5
y
(5)
(
i
)
(10.5.14)
onde
i
(x
i3
, x
i
). O erro global proporcional a h
4
.
Exemplo 10.5.2 Consideremos novamente o seguinte exemplo
_
y

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


y(0) = 1.
Para aplicar o MAB-4, precisamos das aproximaes y
1
, y
2
, y
3
que podem ser obtidas usando
RK-4.
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
0 0.2 0.4 0.6 0.8 1
x
k
y
k
0.0 1.000
0.05 1.05127
0.10 1.10517
0.15 1.16183
0.20 1.2214
0.25 1.28403
0.25 1.64872

1.0 2.71828
10.5.1 Mtodos de passo mltiplo Implcitos
Nos mtodos de Adams-Bashforth y
i+1
apresentado de forma explcita, por isto estes
mtodos so chamados de explcitos. Nos mtodos de Adams-Moulton, y
i+1
apresentado
de forma implcita e por isto estes mtodos so chamados de implcitos.
Estes mtodos tm a forma
y
i+1
= y
i
+ h [a
0
f (x
i+1
, y
i+1
) + a
1
f (x
i
, y
i
) + + a
r
f (x
ir+1
, y
ir+1
)].
(10.5.15)
O que nos interessa saber se esta equao tem soluo e como pode ser calculada. Observe
que esta equao tem a forma y = F(y) e assim, devemos procurar por pontos xos.
O seguinte resultado responde a esta pergunta.
D. Andrade Clculo Numrico 189
Teorema 10.5.3 Sejam f e
f
y
contnuas para x [a, b] e y R. Seja
L = sup
(x,y)[a,b]R
[
f
y
(x, y(x))[.
Se h <
1
[a
0
[L
a equao (10.5.15) tem uma nica soluo y
i+1
tal que
y
i+1
= lim
k
y
(k)
i+1
,
sendo y
(k)
i+1
dado por
y
(k)
i+1
= y
i
+ h
_
a
0
f (x
i+1
, y
(k1)
i+1
) + a
1
f (x
i
, y
i
) + + a
r
f (x
ir+1
, y
ir+1
)
_
,
k = 0, 1, . . . , e y
(0)
k+1
arbitrrio.
O mtodo de Adams-Moulton de 4
a
ordem, e passo 3, um mtodo implcito dado por
y
i+1
= y
i
+
h
24
[9f (x
i+1
, y
i+1
) + 19f (x
i
, y
i
) 5f (x
i1
, y
i1
) + f (x
i2
, y
i2
)]
. (10.5.16)
Para aplicar um mtodo implcito diretamente, como o mtodo dado em (10.5.16), devemos
resolver a equao implcita dada pelo mtodo em (10.5.16). Isto no bvio que possa ser
feito, a menos que usemos o Teorema acima, Teorema 10.5.3.
Usando o Teorema 10.5.3 seguimos os seguintes passos para obter y
n+1
.
(1i) Usando um mtodo explcito determinamos uma aproximao inicial y
(0)
n+1
para y
n+1
,
(2i) Calculamos f (x
i+1
, y
(0)
i+1
),
(3i) Com este valor calculamos y
(1)
i+1
usando o mtodo implcito
(4i) Voltando em (2i) e calculamos f (x
i+1
, y
(1)
i+1
). Repete-se o procedimento at que
[y
(k)
i+1
y
(k1)
i+1
)[
[y
(k)
i+1
[
< .
A combinao de um mtodo explcito e um mtodo implcito para resolver problemas de
valor inicial chamado de mtodo previsor-corretor. A frmula explcita chamada de
previsor e a frmula implcita chamada de corretor. Na prtica os mtodos implcitos de
passo mltiplo so usados para melhorar aproximaes obtidas pelos mtodos explcitos.
190
10.6 Usando Maple: mtodos para EDOS
10.6.1 Mtodo de Euler
# Exemplo para oPVI u+2tu= 4t com u(0)=1 no intervalo [0,1].
>restart:
> h:=0.01: N:=100:
for k from 0 to N do x[k]:=0+k*h od:
> for k from 0 to N do u[k]:=1 od:
> #exemplo
> f:=(x,u) -> 4*x-2*x*u:
> sol:= x-> 2-exp(-x^2):
> #achando os u[k]
> for j from 1 to N do
> u[j]:= u[j-1]+(h)*f(x[j-1],u[j-1]):
> if irem(j,5)=0 then
> lprint(u[j]);
> fi: od:
> #plotando grficos
> DD:=[seq([x[n],u[n]],n=0..N)]:
> A:=plot(DD, style=point, symbol=circle, color=blue):
> B:= plot(sol(x),x=0..1):
> plots[display]({A,B}, title=Soluo e aproximao);
10.6.2 Mtodo de Runge-Kutta de ordem 4
##Exemplo: Resolver usando RK-4 para o PVI u(t)= 4t-2tu u(0)=1
##no intervalo [0,1]
> restart:
> H:=0.1: N:=10: u[0]:=1:T[0]:=0:
for k from 0 to N do T[k]:=0+k*H od:
#exemplo
F:=(t,u) -> 4*t-2*t*u:
sol:= x-> 2- exp(-x^2):
#aplicando o metodo
for k from 0 to N-1 do
K1 := H*F(T[k],u[k]):
K2 := H*F(T[k]+H/2.0, u[k]+K1/2.0):
K3 := H*F(T[k]+H/2.0,
u[k]+K2/2.0): K4 := H*F(T[k]+H,u[k]+K3):
u[k+1]:=u[k]+(1/6)*(K1+2.0*K2+2.0*K3+K4); od;
DD:=[seq([T[k],u[k]],k=0..N)]:
A:=plot(DD, style=point,color=blue):
D. Andrade Clculo Numrico 191
B:= plot(sol(x),x=T[0]..T[N]):
plots[display]({A,B},title=Soluo e Aproximao- RK4);
10.6.3 Mtodo de Runge-Kutta para sistemas 2 2
> restart:with(plots):
> RK4S2 := proc(f,g,x0,y0,z0,h,ite)
local x,y,i,k,K,L,z,DD,EE;
for i from 1 to ite do
x[i] := x0 + (h) * i;
od;
y[0] := y0;
z[0] := z0;
for i from 1 to ite do
K[1] := h * f(x[i-1],y[i-1],z[i-1]);
L[1] := h * g(x[i-1],y[i-1],z[i-1]);
K[2] := h * f(x[i-1] + h/2, y[i-1] + K[1]/2,z[i-1] + L[1]/2);
L[2] := h * g(x[i-1] + h/2, y[i-1] + K[1]/2,z[i-1] + L[1]/2);
K[3] := h * f(x[i-1] + h/2, y[i-1] + K[2]/2,z[i-1] + L[2]/2);
L[3] := h * g(x[i-1] + h/2, y[i-1] + K[2]/2,z[i-1] + L[2]/2);
K[4] := h * f(x[i], y[i-1] + K[3],z[i-1] + L[3]);
L[4] := h * g(x[i], y[i-1] + K[3],z[i-1] + L[3]);
y[i] := y[i-1] + (K[1] + 2 * K[2] + 2 * K[3] + K[4])/6;
z[i] := z[i-1] + (L[1] + 2 * L[2] + 2 * L[3] + L[4])/6;
od;
lprint(Este o mtodo de Runge-Kutta4 para sistemas 2 X 2);
for k from 0 to ite do
lprint(iterao, k, x[k], y[k], z[k]);
od;
DD:=[seq([x[i],y[i]],i=0..ite)]:
EE:=[seq([x[i],z[i]],i=0..ite)]:plot({EE,DD}, style=point,color=[red,blue]);
end:
##Exemplo 1
> f:=(t,u,v) -> v;
> g:=(t,u,v) ->- u;
> RK4S2(f,g,0,1,1,0.1,50);
10.6.4 Mtodo de Adams-Bashforth de ordem 4
> restart:with(plots):
#Exemplo Resolve y=f(x,y) com y(x0)=y0
# Sintaxe AB4(f,x0,y0,h,N)
192
> f:=(x,y)->-y*sin(x*y)+x^3:
> AB4 := proc(f,x0,y0,h,N)
> local x,y,i,k,l,DD;
> if N < 4 then
> N := 4;
> fi;
> for i from 0 to N do
> x[i] := x0 + i * h;
> od;
> y[0] := y0;
> for i from 1 to 4 do
> k[1] := h * f(x[i-1],y[i-1]);
> k[2] := h * f(x[i-1] + h/2, y[i-1] + k[1]/2);
> k[3] := h * f(x[i-1] + h/2, y[i-1] + k[2]/2);
> k[4] := h * f(x[i], y[i-1] + k[3]);
> y[i] := y[i-1] + (k[1] + 2 * k[2] + 2 * k[3] + k[4])/6;
> od;
> for i from 4 to N do
> y[i] := y[i-1] + h * (55 * f(x[i-1],y[i-1]) - 59 * f(x[i-2],y[i-2])
> + 37 * f(x[i-3],y[i-3]) - 9 * f(x[i-4],y[i-4]))/24;
> od;
> lprint(Adams-Bashforth ordem 4);for k from 0 to N do
> if irem(k,1)=0 then
> lprint(iterao, k, x, x[k], y, y[k]);
> fi; od;
> DD:=[seq([x[k],y[k]],k=0..N)]:
> plot({DD}, style=point,color=blue);
> end:
> AB4(f,0,1,.01,200);
Exerccio 10.6.1 1. Use o mtodo de Runge-Kutta de ordem 4, para obter a soluo
numrica do PVI
_
_
_
y

=
2y
x + 1
+ x(x 1)
3
,
y(0) = 3
no intervalo [0,2]. Tome o passo h = 0.2
2. Use o mtodo de Runge-Kutta de ordem 4 para determinar numericamente a soluo
do PVI
_
_
_
dy
dx
= x 2y, x [0, 1]
y(0) = 1
.
D. Andrade Clculo Numrico 193
Tome h = 0.25, h = 0.2, h = 0.1, h = 0.01, a soluo exata dada por
y(x) = 2x 1 +
5 exp(2x)
4
e verique o erro mximo cometido.
3. Resolver usando RK-4 o PVI
_
_
_
du
dt
= 4t 2tu,
u(0) = 1
no intervalo [0,1]. Tome h = 0.25, h = 0.2, h = 0.1, h = 0.01, a soluo exata dada por
u(x) = 2 exp(x
2
) e verque o erro mximo cometido.
4. Use o mtodo de Runge-Kutta de ordem 4, para obter a soluo numrica do PVI
_
_
_
y

=
2y
x + 1
+ (x + 1)
3
,
y(0) = 3
no intervalo [0, 2]. Complete a tabela.
k x
k
y
k
K
1
K
2
K
3
K
4
0
1 0.125
2 0.250 5.126896
3 * * * *
.
.
.
.
.
.
.
.
.
15 1.875 54.8237
16 * * * *
5. Considere o sistema de equaes diferenciais ordinrias dado por
_

_
y

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

= 4z(x) y(x) x,
y(0) = 0,
z(0) = 1.
Utilize o mtodo de Runge-Kutta de ordem 4 para sistemas para determinar uma
soluo numrica com h = 0.2.
6. Queremos analisar a dinmica de duas espcies, uma presa e outra predador. Sejam
x(t) e y(t) o nmero de presas e predadores, respectivamente, no instante t. Fare-
mos algumas hipteses simplicadoras. Se as presas forem deixadas sozinhas, seu
194
crescimento populacional proporcional a x. O nmero que vezes que o predador
mata a presa depende do nmero de encontros e proporcional a xy. Combinando
essas equaes obtemos
dx
dt
= x + xy, onde > 0 e < 0.
Para o predador, supomos que ele no sobrevive sem as presas, o seu alimento.
Assim, a sua populao decai, isso contribui com um termo y, onde < 0. Alm
disso, o nmero de predadores cresce proporcionalmente ao numero de encontros
com as preas, isto contribui com o termo xy, > 0. Portanto, temos
dy
dt
= y + xy.
Assim, temos o seguinte sistema de edos:
_

_
dx
dt
= x + xy
dy
dt
= y + xy
.
Consideremos o modelo abaixo para predador-presa
_

_
dx
dt
= 3x 1.4xy, t [0, 2]
dy
dt
= y + 0.5xy,
x(0) = 2,
y(0) = 2.
Utilize o mtodo de Runge-Kutta de ordem 4 para sistemas para determinar uma
soluo numrica com h = 0.2.
7. Use o mtodo de RK4 para resolver os dois PVIs com h = 0.5:
(PVI1)
_

_
y

= y

+ y, x [0, 1]
y(0) = 1,
y

(0) = 0.
(PVI2)
_

_
y

= y

+ y, x [0, 1]
y(0) = 0,
y

(0) = 1.
8. Os PVIs no exerccio anterior so associados ao PVF
_

_
y

= y

+ y, x [0, 1]
y(0) = 1,
y(1) = 4.
Use as solues obtidas no exerccio acima para obter a soluo deste problema
usando o mtodo do shooting linear com h = 0.5.
D. Andrade Clculo Numrico 195
9. Resolva usando o PVI utilizando o mtodo de Adams-Bashforth de ordem 4:
_
_
_
dy
dx
= 2x 3xy
y(1) = 2.
no intervalo [1, 2], use h = 0.1
10.7 Resumo do captulo
Neste captulo estudamos vrios mtodos numricos numricos para tratar de prob-
lemas de valor inicial. Os mtodos estudados so:
1. o mtodo de Euler;
2. o mtodo de Taylor;
3. os mtodos Runge-Kutta;
4. o mtodo de Adamas-Bashforth.
196
11
Problemas de Fronteira
11.1 Introduo
No captulo anterior estudamos equaes diferenciais ordinrias juntamente com uma condio
inicial, isto , problemas de valor inicial. Nesse captulo vamos estudar problemas de valor
de fronteira ou problemas de contorno para equaes diferenciais ordinrias. Problemas
de contorno para EDOS so equaes diferenciais ordinrias juntamente com uma ou mais
condies em pontos xados do domnio. Vamos apresentar o mtodo das diferenas nitas
e o mtodo do shooting linear.
Nestas notas vamos considerar que as condies de contorno so impostas em apenas dois
pontos, que o usual em aplicaes, e portanto uma ferramenta terica simples pode ser
desenvolvida para muitas classes especiais de equaes ou sistemas.
11.2 Problemas de valor de fronteira de ordem 2
Antes de iniciarmos esta seo vamos apresentar alguns exemplos.
1. Consideremos o problema
_
y

+ y = 0,
y(0) = 0, y(1) = 0.
(11.2.1)
A soluo geral dada por y(x) = c
1
sin(x) + c
2
cos(x).
Como y(0) = c
2
= 0 e como y(1) = 0 = c
1
sin(1), segue que c
1
= c
2
= 0. Logo, a
nica soluo possvel a soluo trivial.
197
198
2. Consideremos o problema
_
y

+
2
y = 0,
y(0) + y(1) = 0, y

(0) + y

(1) = 0.
(11.2.2)
A soluo geral dada por y(x) = c
1
sin(x) + c
2
cos(x).
Como y(0) + y(1) = 0 e y

(0) + y

(1) = 0 so satisfeitas independetemente das


constantes c
1
e c
2
, segue que existem innitas solues dadas por y(x) = c
1
sin(x) +
c
2
cos(x), para quaisquer constantes c
1
e c
2
.
3. Consideremos o problema
_
y

+ y = 0,
y(0) = 0, y(1) = 0.
(11.2.3)
Soluo no trivial para este problema existe apenas para valores especiais de =

2
, 4
2
, 9
2
, . . . , n
2

2
, . . . . Para os demais, existe apenas soluo trivial.
Para
n
= n
2

2
tem-se a soluo
n
(x) = sin(nx).
As constantes
n
so chamadas de autorvalores e as funes
n
so chamadas de
autofunes.
Uma importante classe de problemas de valor de contorno em que a soluo y(x), de uma
equao de segunda ordem
y

= f (x, y, y

), x (a, b) (11.2.4)
deve satisfazer, em dois pontos distintos, a relao
a
0
y(a) a
1
y

(a) = , [a
0
[ +[a
1
[ ,= 0 (11.2.5)
b
0
y(b) + b
1
y

(b) = , [b
0
[ +[b
1
[ ,= 0. (11.2.6)
A soluo procurada no intervalo [a, b].
Um importante caso particular ocorre quando a funo f (x, u
1
, u
2
) linear em u
1
e u
2
, isto
, um problema de segunda ordem linear, o conhecido problema de Sturm-Louville.
Estes problemas constituem uma classe de equaes diferenciais dadas na forma geral por
_
P(x)u

Q(x)u + uR(x) = 0 (11.2.7)


no intervalo 0 < x < 1 juntamente com as condies de contorno
a
0
u(0) + a
1
u

(0) = 0, b
0
u(1) + b
1
u

(1) = 0,
em que P, P

, Q e R so contnuas com P(x) > 0.


D. Andrade Clculo Numrico 199
usual introduzir o operador diferencial L dado por
Ly =
_
P(x)y

+ Q(x)y.
Assim, o problema ca
Lu = R(x)u.
A equao diferencial de segunda ordem linear homognea geral p(x)y

+q(x)y

+r(x)y =
0 pode ser reescrita na forma de uma equao de Sturm-Liouville. De fato, tomando
(x) =
1
p(x)
exp
_
_
x
x
0
q(s)
p(s)
ds
_
podemos escrever
_
(x)p(x)y

+ (x)r(x)y = 0.
Algumas exemplos importantes relacionadas aos problemas de Sturm-Liouville:
1. (1 x
2
)y

xy

+
2
y = 0 Tchebycheff;
2. y

2xy

+ y = 0 Hermite;
3. x
2
y

+ xy

+ (x
2
y
2
)y = 0 Bessel;
4. xy

+ (1 x)y

+ y = 0 Laguerre.
Teorema 11.2.1 Sejam p(x), q(x) e r(x) funes contnuas em [a, b] com q(x) > 0, a x b.
Sejam constantes a
0
, a
1
, b
0
e b
1
satisfazendo
a
0
a
1
0, [a
0
[ +[a
1
[ ,= 0,
b
0
b
1
0, [b
0
[ +[b
1
[ ,= 0,
[a
0
[ +[b
0
[ ,= 0.
Ento, o problema de valor de fronteira
_

_
Ly = y

+ p(x)y

+ q(x)y = r(x), a < x < b,


a
0
y(a) a
1
y

(a) = ,
b
0
y(b) + b
1
y

(b) =
(11.2.8)
tem uma nica soluo para cada e .
Tendo estabelecido um resultado terico que garante a existncia de soluo para proble-
mas de valor de contorno podemos agora apresentar algumas tcnicas numricas para a
obteno da soluo.
200
11.3 O mtodo das diferenas nitas
Este um mtodo numrico para obter a soluo de problemas de valor de fronteira.
Primeiramente lembramos a expanso em srie de Taylor de uma funo f (x):
f (x + h) = f (x) + f

(x)h + f

(x)
h
2
2!
+ + f
(n)
(x)
h
n
n!
+ .
Truncando esta srie aps o segundo termo temos a aproximao
f (x + h) f (x) + f

(x)h
e assim,
f

(x)
f (x + h) f (x)
h
,
chamada de aproximao por diferena adiantada.
Trocando h por h, obtemos
f

(x)
f (x) f (x h)
h
,
chamada de aproximao por diferena atrasada.
Somando as duas, obtemos
f

(x)
1
2h
[ f (x + h) f (x h)]
aproximao por diferena central.
Este tipo de anlise pode ser estendido para chegar na diferena central da segunda derivada
f

(x):
f

(x) =
1
h
2
[ f (x + h) 2f (x) + f (x h)] .
fcil estender a aproximao por diferenas a derivadas parciais. Como
u(x + h, y) = u(x, y) + u
x
(x, y)h + u
xx
(x, y)
h
2
2!
+ . . .
e
u(x h, y) = u(x, y) u
x
(x, y)h + u
xx
(x, y)
h
2
2!
+ . . .
conclumos o seguinte
u
x
(x, y)
u(x + h, y) u(x, y)
h
u
xx
(x, y)
u(x + h, y) 2u(x, y) + u(x h, y)
h
2
u
y
(x, y)
u(x, y + k) u(x, y)
k
u
yy
(x, y)
u(x, y + k) 2u(x, y) + u(x, y k
k
2
.
D. Andrade Clculo Numrico 201
Vejamos um exemplo simples de EDO com condies de contorno.
Exemplo 11.3.1
Resolver por diferenas nitas o seguinte problema de valor de fronteira
u

+ 3u = sin x, x (0, 1) (11.3.1)


u(0) = u(1) = 0. (11.3.2)
Vamos trabalhar com n = 5 e portanto o passo h = 0, 2.
A soluo u(x) ser dada em funo da tabela
u
1
= u(x
1
), u
2
= u(x
2
), . . . , u(x
4
).
Os valores u(x
0
) e u(x
5
) so aqueles dados inicialmente no problema.
Para simplicar a notao usual representar
u
i
= u(x
i
),
u

i
=
u
i+1
u
i1
2h
,
u

i
=
u
i+1
2u
i
+ u
i1
h
2
,
a ideia aproximar as derivadas por estas aproximaes. Substituindo na EDO, obtemos

_
u
i+1
2u
i
+ u
i1
h
2
_
+ 3u
i
= sin(x
i
),
ou equivalentemente,
u
i+1
+ (3h
2
+ 2)u
i
u
i1
= h
2
sin(x
i
),
onde i = 1, 2, 3, 4.
Temos que para i = 1, 2, 3, 4
u
2
+ 2.12u
1
u
0
= 0.00795
u
3
+ 2.12u
2
u
1
= 0.01558
u
4
+ 2.12u
3
u
2
= 0.022586
u
5
+ 2.12u
4
u
3
= 0.028694.
Note que usamos que u
0
= 0 e u
5
= 0. Reescrevendo o sistema na forma matricial,
_

_
2.12 1 0 0
1 2.12 1 0
0 1 2.12 1
0 0 1 2.12
_

_
_

_
u
1
u
2
u
3
u
4
_

_
=
_

_
0.00795
0.01558
0.02258
0.02869
_

_
.
202
-0.04
-0.03
-0.02
-0.01
0 0.2 0.4 0.6 0.8 1
Figura 11.3.1: Exemplo 11.3.1
A soluo deste sistema tridiagonal dada por
X :=
_

_
0.02244
0.03962
0.04596
0.03522
_

_
A gura 11.3 ilustra a soluo obtida numericamente subdividindo o intervalo em 100
subintervalos.
Exemplo 11.3.2
Consideremos a EDO y

+ xy = exp(x)(x
2
+ 1), x (0, 1) com as seguintes condies
de fronteira y(0) = 0 e y(1) = e.
Tomemos o passo h = 0.1 e usamos a expresses para as derivadas, obtemos
y
i+1
2y
i
+ y
i1
h
2

y
i+1
y
i1
2h
+ x
i
y
i
= exp(x
i
)(x
2
i
+ 1).
Reescrevendo, temos
(2 h)y
i+1
+ (2ih
3
4)y
i
+ (2 + h)y
i1
= 2h
2
exp(ih)(i
2
h
2
+ 1).
Variando i de 1 a 9, temos um sistema tridiagonal de equaes lineares com 9 equaes e 9
incgnitas y
i
. Quando i = 1 e i = 9 as condies de contorno aparecero nas equaes com
y
0
= 0 e y
10
= e.
D. Andrade Clculo Numrico 203
O sistema encontrado o seguinte:
3.998 y
1
+ 1.9 y
2
= 0.02232445254
2.1 y
1
3.996 y
2
+ 1.9 y
3
= 0.02540517736
2.1 y
2
3.994 y
3
+ 1.9 y
4
= 0.02942692202
2.1 y
3
3.992 y
4
+ 1.9 y
5
= 0.03461033300
2.1 y
4
3.990 y
5
+ 1.9 y
6
= 0.04121803178
2.1 y
5
3.988 y
6
+ 1.9 y
7
= 0.04956163136
2.1 y
6
3.986 y
7
+ 1.9 y
8
= 0.06000983066
2.1 y
7
3.984 y
8
+ 1.9 y
9
= 0.07299774244
1.9 e + 2.1 y
8
3.982 y
9
= 0.08903763262.
Resolvendo o sistema tridiagonal, temos que a soluo dada por
y
1
= 0.1104008748, y
2
= 0.2440563947, y
3
= 0.4046382597,
y
4
= 0.5963335276, y
5
= 0.8239123315, y
6
= 1.092804119,
y
7
= 1.409183454, y
8
= 1.780066541, y
9
= 2.213419783.
A gura 11.3.2 ilustra a soluo obtida numericamente utilizando 100 subintervalos.
0
0.5
1
1.5
2
2.5
0.2 0.4 0.6 0.8 1
Figura 11.3.2: Exemplo 11.3.2
Exemplo 11.3.3 (Problema de Sturm-Liouville)
204
Consideremos o problema de valor de contorno
y

+ p(x)y

+ q(x)y = r(x), a < x < b,


y(a) = ,
y(b) = .
Tomemos h =
ba
n
, ento x
i
= a + ih. Usando diferenas centrais temos que:
y

(x
i
) =
y
i+1
2y
i
+ y
i1
h
2
,
p
i
y

(x
i
) = p
i
y
i+1
y
i1
2h
,
donde segue que
_
1 +
p
i
h
2
_
y
i+1
+
_
q
i
h
2
2
_
y
i
+
_
1
p
i
h
2
_
y
i1
= r
i
h
2
, (11.3.3)
i = 1, . . . , n 1.
Vamos denotar por

i
= 1 +
p
i
h
2
,

i
= qh
2
2,

i
= 1
p
i
h
2
.
Notemos que o sistema (11.3.3) tridiagonal de dimenso (n 1) (n 1) e pode ser
escrito da forma AX = b, onde
A = (a
ij
) =
_

_
0, se [i j[ > 1,

i
, se i = j,

i
, se j = i + 1,

i
, se j = i 1
e
b = (b
i
) =
_

_
r
1
h
2

_
1
p
1
h
2
_
, se i = 1,
r
i
h
2
, se 2 i n 2,
r
n1
h
2

_
1 +
p
n1
h
2
_
, se i = n 1.
D. Andrade Clculo Numrico 205
11.4 Mtodo do shooting linear
Nesta seo vamos estudar apenas o mtodo do shooting
1
para problemas lineares. Este
um mtodo para obter a soluo de problemas de valor de contorno.
Considere o seguinte problema linear de valor de contorno ou fronteira que desejamos
encontrar a soluo no intervalo [a, b],
(PVF)
_

_
y

= p(x)y

+ q(x)y + r(x), x (a, b)


y(a) = ,
y(b) = .
Como vimos, se p(x), q(x) e r(x) so contnuas em [a, b] e se q(x) > 0 para todo x [a, b],
ento o (PVF) acima tem uma nica soluo.
O mtodo do shooting consiste em tomar dois problemas de valor inicial (PVI) associados
ao (PVF). Os dois PVIs so dados por
(PVI 1)
_

_
y

= p(x)y

+ q(x)y + r(x), x (a, b)


y(a) = ,
y

(a) = 0,
e
(PVI 2)
_

_
y

= p(x)y

+ q(x)y, x (a, b)
y(a) = 0,
y

(a) = 1.
Note que nestes problemas, as equaes so quase as mesmas, mas as condies iniciais so
diferentes.
Os problemas (PVI-1) e (PVI-2) possuem, cada um, uma nica soluo. Sejam y
1
(x) a
soluo de (PVI-1) e y
2
(x) a soluo de (PVI-2).
Uma conta fcil mostra que
y(x) = y
1
(x) +
y
1
(b)
y
2
(b)
y
2
(x), x [a, b]
(11.4.1)
soluo do (PVF), desde que y
2
(b) ,= 0. Como a sua soluo nica, ento esta a soluo
do (PVF). A expresso (11.4.1) mostra que a soluo y(x) uma combinao linear entre as
duas solues y
1
(x) e y
2
(x).
Assim, o mtodo do shooting baseado na substituio do (PVF) por dois problemas de
valor inicial (PVI-1) e (PVI-2).
1
shooting disparo
206
Usando um mtodo numrico para obter a soluo dos (PVI-1) e (PVI-2), teremos as solues
numricas (x
k
, y
1,k
) e (x
k
, y
2,k
), respectivamente. Logo, usando (11.4.1), temos que
y
k
= y
1,k
+
y
1
(b)
y
2
(b)
y
2,k
, k = 0, . . . , n.
(11.4.2)
Exemplo 11.4.1 (Mtodo do Shooting)
Consideremos o PVF
_

_
y

= 4y

+ 3y x, x (0, 1)
y(0) = 2,
y(1) = 5.
Use o mtodo de shooting linear para obter numericamente a sua soluo.
Tomemos os dois PVIs associados
(PVI1)
_

_
y

= 4y

+ 3y x, x (0, 1)
y(0) = 2,
y

(0) = 0.
(PVI2)
_

_
y

= 4y

+ 3y, x (0, 1)
y(0) = 0,
y

(0) = 1.
Para resolver numericamente estes dois PVIs devemos transformar cada um deles em um
sistema de EDOs de primeira ordem. Note que z apenas uma varivel auxiliar.
PVI1: Fazendo y

= z teremos o seguinte sistema


_

_
y

= z,
z

= F(x, y, z) = 4z + 3y x, x (0, 1)
y(0) = 2,
z(0) = 0.
Usando o Mtodo de Runge-Kutta de ordem 4 com h = 0.1 para resolver este sistema
obtemos os seguintes dados:
x
k
y
k
z
k
0.0 2.00000000 0.000
0.10 2.03433760540538833 0.735667694862281896
0.20 2.15959912411865762 = 1.84803255922480148
0.30 2.42390266340880123 3.56349796703007104
0.40 2.90417333716616755 6.24211871928383833
0.50 3.72315673778426692 10.4566525826116816
0.60 5.07649184172859070 17.1183447548636281
0.70 7.27579887923021040 27.6771132171394712
0.80 10.8172432203556960 44.4400887070362956
0.90 16.4906446961477400 71.0785181243750230
1.00 25.5531193523306364 -113.434469030575030
D. Andrade Clculo Numrico 207
PVI2: Novamente, fazendo y

= z teremos o seguinte sistema


_

_
y

= z,
z

= F(x, y, z) = 4z + 3y, x (0, 1)


y(0) = 0,
z(0) = 1.
Usando o Mtodo de Runge-Kutta de ordem 4 com h = 0.1 para resolver este sistema
obtemos os seguintes dados:
x
k
y
k
z
k
0.0 0.0000 1.00000
0.10 0.123570239017721614 1.51154227870370983
0.20 0.312484805372823193 2.33056859314248577
0.30 0.605867619049519246 3.63859440281483382
0.40 1.06594747108753918 5.72448994458101446
0.50 1.79172360443169798 9.04796616645809770
0.60 2.94071025308004241 14.3405935524235133
0.70 4.76354051447866400 22.7665622675180722
0.80 7.65903473271118518 36.1785153833488877
.90 12.2618264177168932 57.5246363686053286
1.00 19.5818114520269404 91.4964947316431960
Das tabelas anteriores obtemos que y
1
(b) y
1,10
= 25.55311935 e y
2
(b) y
2,10
= 19.58181.
Eles esto marcados em um box. Agora usando a equao (11.4.2) e as tabelas anteriores
obtemos (novamente, z
k
apenas auxiliar), obtemos
x
k
y
k
0.000 2.00000000
0.10 1.904637966
0.200 1.831614274
0.300 1.787982462
0.400 1.785352147
0.500 1.842559064
0.600 1.989914844
0.700 2.275974580
0.800 2.778300788
0.900 3.62060035
1.000 5.00000000
Esta a soluo numrica do problema de valor de fronteira do exemplo. A gura 11.4.3
ilustra a soluo numrica obtida pelo mtodo do shooting do exemplo.
208
Figura 11.4.3: Soluo do exemplo
11.5 Usando Maple: Sturm-Liouville
#Exemplo 1 Sturm-Liouville: y+p(x)y+q(x)y=r(x) com
## y(a)= y[0] e y(b)= y[N]
## Problema de fronteira y-y+xy= e^(x)*(x^2+1)
## y(0)=0 e y(1)= e
> restart:
> with(linalg):
> wiht(plots):
> Digits:=7:
> a:=0: b:=1:
p:=x-> -1: q:=x-> x: r:=x-> exp(-x)*(x^2+1):
N:=20: h:=(b-a)/N:
x[0]:=a: x[N]:=b:
y[0]:=0: y[N]:=evalf(exp(1)):
M:=array(1..N-1,1..N-1):
b:=array(1..N-1):
for i from 1 to N do x[i]:= evalf(x[0]+i*h): od:
for i from 1 to N-1 do a[i,i-1]:=evalf(1-p(x[i])*h/2):
D. Andrade Clculo Numrico 209
a[i,i]:=evalf(q(x[i])*h^2-2): a[i,i+1]:=evalf(1+p(x[i])*h/2):
od: for i from 2 to N-2 do b[i]:= evalf(r(x[i])*h^2):od:
b[1]:=evalf(r(x[1])*h^2-(1-p(x[1])*h/2)*y[0]):
b[N-1]:=evalf(r(x[N-1])*h^2-(1+p(x[N-1])*h/2)*y[N]):
for i from 1 to N-1 do for j from 1 to N-1 do
M[i,j]:= a[i,j]:if abs(i-j)>1 then M[i,j]:=0: fi od:od;
print(M ): print( b ): y:=linsolve(M,b);
O Maple tem pacotes para tratar com problemas de valor inicial e valor de fronteira. Procure
no Help dsolve/numeric bvp solver
Exerccio 11.5.1 1. Resolver por diferenas nitas o seguinte problema de valor de fron-
teira
u

+ 3u = x sin x
u(0) = u(1) = 0.
Trabalhar com n = 5 e portanto o passo h = 0, 2.
2. Resolver por diferenas nitas o seguinte problema de valor de fronteira
y

+ 2y

(x) + y(x) = x
y(0) = 0
y(1) = 1.
Trabalhar com n = 10 e portanto o passo h = 0.1.
3. Resolver por diferenas nitas o seguinte problema de valor de fronteira
_
y

+ y

+ xy = exp(x)(x
2
+ 1), x (0, 1),
y(0) = 1, y(1) = 2.
Tome o passo h = 0.1
4. Resolver por diferenas nitas o seguinte problema de valor de fronteira
_
y

= y sin(y) + xy, x (0, 1),


y(0) = 0, y(1) = 0.
Tome o passo h = 0.1
5. Resolver por diferenas nitas o seguinte problema de valor de fronteira
_
y

+ y = 0, x (0, 1),
y(0) = 1, y(1) = 5.
Tome o passo h = 0.1
210
6. Resolver pelo mtodo do shooting linear o seguinte problema de valor de fronteira
u

+ 3u = x sin x
u(0) = u(1) = 0.
Trabalhar com n = 5 e portanto o passo h = 0, 2.
7. Resolver pelo mtodo do shooting linear o seguinte problema de valor de fronteira
y

+ 2y

(x) + y(x) = x
y(0) = 0
y(1) = 1.
Trabalhar com n = 10 e portanto o passo h = 0.1.
8. Resolver pelo mtodo do shooting linear o seguinte problema de valor de fronteira
_
y

+ y

+ xy = exp(x)(x
2
+ 1), x (0, 1),
y(0) = 1, y(1) = 2.
Tome o passo h = 0.1
9. Resolver pelo mtodo do shooting linear o seguinte problema de valor de fronteira
_
y

= y sin(x) + xy, x (0, 1),


y(0) = 0, y(1) = 0.
Tome o passo h = 0.1
10. Resolver pelo mtodo do shooting linear o seguinte problema de valor de fronteira
_
y

+ y = 0, x (0, 1),
y(0) = 1, y(1) = 5.
Tome o passo h = 0.1
11.6 Resumo do captulo
Neste captulo apresentamos os principais resultados tericos sobre problemas de
valor de fronteira:
1. Mtodo do shooting;
2. mtodo das diferenas nitas.
12
Mtodo das diferenas nitas para EDPS
12.1 Introduo
Uma equao diferencial parcial uma equao diferencial que envolve uma funo descon-
hecida juntamente com suas derivadas parciais. Nesse captulo apresentamos o mtodo das
diferenas nitas para EDPs, existem vrias formulaes para essa tcnica, apresentamos
apenas as mais amplamente utulizadas em cursos introdutrios.
O mtodo das diferenas nitas consiste em substituir as derivadas parciais por aproxi-
maes dadas por diferenas nitas. A escolha dessas diferenas que d origem s diver-
sas formulaes deste mtodo.
12.2 Exemplos de EDPs mais comuns
No estudo das edps comum trabalhar com os seguintes operadores: (nabla), (delta),
div (divergente) e rot (rotacional). Passaremos a escrever suas denies para funes
denidas em R
3
.
- Operador Gradiente: se f : R
3
R diferencivel, denimos
f = ( f
x
, f
y
, f
z
).
div- Operador Divergente: se f : R
3
R diferencivel, denimos
divf = f
x
+ f
y
+ f
z
.
- Operador Laplaciano: se f : R
3
R diferencivel, denimos
f = f
xx
+ f
yy
+ f
zz
= f .
211
212
Agora vamos aos exemplos mais comuns de EDPs.
a) Equao de Laplace: u = 0.
b) Equao de Helmholtz: u = u.
c) Equao de Liouville: u
t

n
i=1
(b
i
u)
x
i
= 0.
d) Equao do Calor: u
t
u = 0.
e) Equao de Schordinger: i u
t
+u = 0.
f) Equao da Onda: u
tt
u = 0.
g) Equao de Poisson: u = f (u).
12.3 Condies de contorno e iniciais.
Ao encontrarmos a soluo geral de uma edp, se queremos uma soluo nica natural
colocarmos certas condies sobre o valor da soluo e de suas derivadas, estaremos sem-
pre procurando solues num aberto R
n
, se impormos condies da soluo e suas
derivadas no bordo da regio(condio de contorno) teremos um problema de valores
de contorno, ou simplesmente, problema de contorno. Condies de contorno so co-
muns em problemas fsicos estacionrios (isto , independentes de tempo), no so raras as
condies do tipo:
u(x) +
u
n
(x) = f (x), x (12.3.1)
onde e so constantes dadas, f uma funo dada em e
u
n
a derivada de u
na direo normal a . No caso em que = 0, a condio denominada condio de
Dirichlet, no caso em que = 0, temos uma condio de Neumann.
J quando aplicamos condies para a soluo em determinado instante (ou seja xamos
uma determinada varivel) estaremos trabalhando com problema de valor inicial ou prob-
lema de Cauchy.
Se o problema carregar tanto condies iniciais como de contorno estaremos nos referindo
a um problema misto.
Os conceitos acima caro mais claros com o auxlio de um exemplo:
Exemplo 12.3.1 O problema:
u
y
= 0 em R
2
,
u(x, p(x)) = f (x), x R
onde p, f C
1
(R) so funes dadas, um problema de Cauchy, ou de condio inicial.
Exemplo 12.3.2 O problema:
u
y
= 0 em R
2
,
u(0, y) = f (y), y R
um problema de Cauchy, ou de condio inicial, envolvendo uma Edp linear e homognea. A curva
inicial o eixo dos y.
D. Andrade Clculo Numrico 213
Exemplo 12.3.3 O problema:
u
t
=
2
u em (0, +)
u(x, t) = 0, x , t 0
u(x, 0) = f (x), x

um problema misto: a condio u(x,t) =0 para x e t 0 uma condio de contorno,


enquanto u(x, 0) = f (x), x

uma condio inicial. Note que para que exista soluo, f tem
que obedecer uma condio de compatibilidade,
f (x) = 0, x .
Denio 12.3.4 Dizemos que a soluo depende continuamente dos dados iniciais ou de con-
torno se a soluo est intimamente ligada aos dados iniciais, ou seja, qualquer alterao nos dados
iniciais altera tambm a soluo. Um problema para o qual valem unicidade e dependncia contnua
nos dados iniciais e ou de contorno chamado de um problema bem posto, caso contrrio estaremos
nos referindo a um problema mal posto.
12.4 EDPs lineares de segunda ordem
Uma equao algbrica
Ax
2
+ Bxy + Cu
2
+ Dx + Ey + F = 0,
representa uma seo cnica. Denotando = B
2
4AC, ento podemos classic-las como
elipse < 0
parbola = 0
hiprbole > 0.
Consideremos uma equao diferencial parcial linear de segunda ordem a duas variveis.
Uma edp linear de segunda ordem uma expresso da forma
Au
xx
+ Bu
xy
+ Cu
yy
+ Du
x
+ Eu
y
+ Fu = G,
onde os coecientes so funes de x e y denidas em algum domnio do plano.
comum escrevermos da seguinte forma
(AD
2
x
+ BD
x
D
y
+ CD
2
y
+ DD
x
+ ED
y
+ F)u = Gu,
e representar (AD
2
x
+ BD
x
D
y
+ CD
2
y
+ DD
x
+ ED
y
+ F) pelo operador diferencial L.
Denotando = B
2
4AC podemos classicar as edps lineares de segunda ordem como:
Eliptica: se B
2
4AC < 0, como por exemplo a equao de Laplace u
xx
+ u
yy
= 0.
Parablica: se B
2
4AC = 0, como por exemplo a equao do calor u
x
u
yy
= 0.
Hiperblica: se B
2
4AC > 0, como por exemplo a equao da onda u
xx
u
yy
= 0.
214
B
2
4AC Tipo Exemplo
< 0 Eliptica u
xx
+ u
yy
= 0 (Laplace)
= 0 Parablica u
x
u
yy
= 0 (calor)
> 0 Hiperblica u
xx
u
yy
= 0 (onda)
Para EDPS parablicas e hiperblicas, uma das variveis digamos y, ser substituda por t
e comumente interpretada como a varivel tempo.
Vamos discutir mtodos numricos para as EDPs de segunda ordem mais representativas.
Equao de Poisson:
u
xx
+ y
yy
= f (x, y), (x, y) R
2
onde um aberto limitado e conexo do plano.
Esta equao elptica.
Um caso particular importante obtido quando tomamos f (x, y) 0. Neste caso,
obtemos a equao de Laplace.
Em ambos os casos, condies adicionais sobre a fronteira so necessrias para
garantir unicidade de soluo.
Equao do calor:
u
t
= au
xx
+ f (x, t), 0 < x < L, t > 0,
onde a e L so constantes positivas.
Tambm nesse caso, condies adicionais sobre a fronteira denida por x = 0 e x = L
e condies iniciais u(x, 0) = u
0
(x), x [0, L] so necessrias para garantir unicidade
de soluo.
Equao da onda:
u
tt
= au
xx
+ f (x, t), x (0, L), t > 0
onde a e L so constantes positivas.
Am de determinar uma nica soluo, condies adicionais sobre a fronteira denida
por x = 0 e x = L, e duas condies iniciais
u(x, 0) = u
0
(x), u
t
(x, 0) = v
0
(x), x [0, L]
so necessrias. As duas condies iniciais so necessrias pois a EDP de segunda
ordem em t.
D. Andrade Clculo Numrico 215
12.5 Equao de Poisson
Vamos considerar a equao de Poisson juntamente com a condio de fronteira de Dirichlet
u
xx
+ u
yy
= f (x, y), (x, y) ,
u(x, y) = g(x, y), (x, y) .
Outras condies de fronteira tambm so possveis e aparecem com freqncia em apli-
caes.
Vamos deduzir um esquema de diferenas nitas para resolver esse tipo problemas de valor
de fronteira em que = (0, 1) (0, 1). A idia pode ser aplicada a regies mais gerais.
Note que consiste de quatro segmentos de reta.
Primeiramente introduzimos uma malha
nita para = [0, 1] [0, 1]. Dividimos
o x-intervalo [0, 1] em n
x
partes iguais e
denotamos h
x
=
10
n
x
o x-passo. Analoga-
mente, dividimos o y-intervalo [0, 1] em n
y
partes iguais e denotamos h
y
=
10
n
y
o y-
passo.
Ento, os pontos da malha so
(x
i
, y
i
), 1 i n
x
+ 1, 1 j n
y
+ 1,
onde x
i
= (i 1)h
x
e y
j
= (j 1)h
y
.
12.5.1 O Esquema de 5 pontos
Consideremos a equao diferencial em um ponto interior (x
i
, y
j
), 2 i n
x
, 2 j n
y
.
Usamos a aproximao por diferena central para a segunda derivada:
u
xx
(x
i
, y
j
)
u(x
i
+ h
x
, y
j
) 2u(x
i
, y
j
) + u(x
i
h
x
, y
j
)
h
2
x
u
yy
(x
i
, y
j
)
u(x
i
, y
j
+ h
y
) 2u(x
i
, y
j
) + u(x
i
, y
j
h
y
)
h
2
y
.
Ou equivalentemente,
u
xx
(x
i
, y
j
)
u(x
i+1
, y
j
) 2u(x
i
, y
j
) + u(x
i1
, y
j
)
h
2
x
u
yy
(x
i
, y
j
)
u(x
i
, y
j+1
) 2u(x
i
, y
j
) + u(x
i
, y
j1
)
h
2
y
.
216
Denotamos f (x
i
, y
j
) por f
ij
e por u
ij
a aproximao por diferena nita de u(x
i
, y
j
). Ento,
temos a seguinte equao de diferenas em pontos no interior da malha:
u
i+1,j
2u
ij
+ u
i1,j
h
2
x
+
u
i,j+1
2u
ij
+ u
i,j1
h
2
y
= f
ij
, (12.5.1)
onde 2 i n
x
, 2 j n
y
.
Estas equaes so complementadas com as condies de fronteira de Dirichlet:
u
ij
= g
ij
, i = 1 ou n
x
+ 1, ou j = 1 ou n
y
+ 1. (12.5.2)
Usando as condies de fronteira (12.5.2) em (12.5.1) para obter um sistema de equaes
lineares nas incgnitas u
ij
, 2 i n
x
, 2 j n
y
. Note que cada uma dessas equaes
envolve apenas cinco pontos da o nome do mtodo.
Podemos mostrar que o mtodo tem preciso de ordem 2, isto ,
max
1 i n
x
+ 1
1 j n
y
+ 1.
[u(x
i
, y
j
) u
ij
[ = O(h
2
x
+ h
2
y
),
desde que as soluo u(x, y) tenha derivadas parciais contnuas at ordem 2.
O sistema de equaes lineares resultante do esquema de cinco pontos pode ser resolvido
por um dos mtodos de resoluo de sistemas de equaes lineares, como eliminao de
Gauss e suas variantes, ou mtodos iterativos de Gauss-Jacobi e Gauss-Seidel.
Por simplicidade, usual tomar n
x
= n
y
= n e h
x
=
h
y
= h e assim o sistema (12.5.1) pode ser reescrito como
u
i+1,j
+ u
i1,j
+ u
i,j+1
+ u
i,j1
4u
ij
= h
2
f
ij
,
onde 2 i n
x
, 2 j n
y
, ou
u
ij
=
1
4
_
u
i+1,j
+ u
i1,j
+ u
i,j+1
+ u
i,j1

h
2
f
ij
4
,(12.5.3)
onde 2 i n
x
, 2 j n
y
.
Note que u
ij
a mdia aritimtica dos quatro pontos vizinhos a ele.
Exemplo 12.5.1
D. Andrade Clculo Numrico 217
Consideremos o seguinte problema de
Poisson
_
u
xx
+ u
yy
= 2
2
sin(x) sin(y), 0 < x, y < 1
u(x, y) = 0, x = 0, 1 ou y = 0, 1.
fcil vericar que a soluo exata desse
problema u(x, y) = sin(x) sin(y) e
mostrada a seguir.
0
0.2
0.4
0.6
0.8
1
x
0
0.2
0.4
0.6
0.8
1
y
0
0.2
0.4
0.6
0.8
1
Usemos o esquema de 5 pontos para resolver esse problema. Como ilustrao vamos aplicar
o mtodo a esse exemplo com n = m = 5. Nesse caso h
x
= h
y
= h = 0.25. A malha nesse
caso dada a seguir.
[5, 5]
[5, 4]
[5, 3]
[5, 2]
[5, 1]
[4, 5]
[4, 4]
[4, 3]
[4, 2]
[4, 1]
[3, 5]
[3, 4]
[3, 3]
[3, 2]
[3, 1]
[2, 5]
[2, 4]
[2, 3]
[2, 2]
[2, 1]
[1, 5]
[1, 4]
[1, 3]
[1, 2]
[1, 1]
1
2
3
4
5
1 2 3 4 5
Figura 12.5.1: Malha do exemplo 12.5.1
Para cada par (i, j) temos uma equao correspondente:
(i, j) u
i+1,j
+ u
i,j+1
+ u
i1,j
+ u
i,j1
4.0 u
i,j
= 0.0625 f
i,j
218
Usando as condies fronteira obtemos o seguinte sistema:
u
3,2
+ u
2,3
4 u
2,2
= 0.6168484146
u
3,3
+ u
2,4
+ u
2,2
4 u
2,3
= 0.8723559725
u
3,3
+ u
2,4
+ u
2,2
4 u
2,3
= 0.8723559725
u
4,2
+ u
3,3
+ u
2,2
4 u
3,2
= 0.8723559725
u
4,3
+ u
3,4
+ u
2,3
+ u
3,2
4 u
3,3
= 1.233698466
u
4,4
+ u
2,4
+ u
3,3
4 u
3,4
= 0.8723582875
u
4,3
+ u
3,2
4 u
4,2
= 0.6168500515
u
4,4
+ u
3,3
+ u
4,2
4 u
4,3
= 0.8723582875
u
3,4
+ 1.0 u
4,3
4 u
4,4
= 0.6168516884
As incgnitas so
u
3,2
, u
2,3
, u
2,2
, u
3,3
, u
2,4
, u
3,4
, u
4,2
, u
4,3
, u
4,4
Resolvendo o sistema de equaes lineares, temos
u
4,3
= 0.7446038338, u
4,2
= 0.5265142059,
u
3,4
= 0.7446038338, u
2,4
= 0.5265142059,
u
3,3
= 1.053028003, u
2,2
= 0.5265135729,
u
2,3
= 0.7446029385, u
3,2
= 0.7446029385, u
4,4
= 0.5265148390
Assim, temos que os pontos da malha so
_

_
0 0 0 0 0
0 0.5265135729 0.7446029385 0.5265142059 0
0 0.7446029385 1.053028003 0.7446038338 0
0 0.5265142059 0.7446038338 0.5265148390 0
0 0 0 0 0
_

_
Como conhecemos a soluo exata, podemos calcular o erro absoluto mximo para vrios
valores de n. Faa isso com n = 16, 20, 30.
Resumo: Idias centrais
Discretize o domnio (assumindo um quadrado[a, b] [c, d]) subdivida [a, b] em m
partes iguais de comprimento h
x
= h e subdivida [c, d] n partes iguais de comprimento
h
y
= k.
Os valores resultantes de x e y so denotados (x
i
, y
j
) onde i = 0, 1, , m e j =
0, 1, , n, e a aproximao de u(x
i
, y
j
) denotamos como u
i,j
.
D. Andrade Clculo Numrico 219
Substitua a segunda derivada parcial da EDP com suas aproximaes discretas:

2
u
x
2

u
i+1,j
2ui, j + u
i1,j
h
2

2
u
y
2

u
i,j+1
2ui, j + u
i,j1
k
2
Para cada (x
i
, y
j
) em , use as condies de fronteira para gerar uma equao envol-
vendo os u
i,j
s. Note que so (m + 1) (n + 1) ns no domnio discretizado.
Se o vetor de incgnitas
U = [u
0,0
, u
1,0
, , u
m,0
, u
0,1
, u
1,1
, , u
m,1
, , u
0,n
, , u
m,n
]
T
,
reescrevemos o sistema de (m + 1) (n + 1) equaes e (m + 1) (n + 1) incgnitas.
Use mtodos numricos iterativos para resolver o sistema de equaes lineares resul-
tante.
[5, 5]
[5, 4]
[5, 3]
[5, 2]
[5, 1]
[4, 5]
[4, 4]
[4, 3]
[4, 2]
[4, 1]
[3, 5]
[3, 4]
[3, 3]
[3, 2]
[3, 1]
[2, 5]
[2, 4]
[2, 3]
[2, 2]
[2, 1]
[1, 5]
[1, 4]
[1, 3]
[1, 2]
[1, 1]
1
2
3
4
5
1 2 3 4 5
Figura 12.5.2: grade do exemplo
220
12.6 A equao do calor unidimensional
Consideremos a equao do calor unidimensional
u
t
= au
xx
+ f (x, t), 0 < x < L, 0 < t < T (12.6.1)
juntamente com a condio inicial
u(x, 0) = u
0
(x), 0 x L
e as condies de fronteira
u(0, t) = g
1
(t), u(L, t) = g
2
(t)0 t T.
A equao diferencial, as condies de fronteira e a condio inicial juntas formam um
problema de valor inicial e de fronteira.
12.6.1 Mtodos Numricos: explcito e implcito
Dois enfoques numricos so possveis para o problema de valor inicial e fronteira. No
primeiro enfoque, a deduo de mtodos numricos consiste de dois passos:
Passo 1: discretizamos as derivadas espaciais, obtendo um sistema semi-discreto, um sis-
tema de equaes diferenciais ordinrias na varivel tempo.
Passo 2: utilizamos um mtodo para resolver o sistema de EDOs.
No segundo enfoque, discretizamos ambas as variveis x e t simultaneamente, e obtemos
um esquema completamente discreto que em seguida so usados e resolvidos.
Nessas notas vamos preferir o segundo enfoque e apresentar os seguinte mtodos:
Discretizao completa explcita
Discretizao completa implcita
Mtodo de Crank-Nicholson
D. Andrade Clculo Numrico 221
12.6.2 Discretizao completa explcita: adiantada no tempo e centrada
no espao
Como foi dito, alm da discretizao do intervalo espacial [0, L], precisamos discretizar
o intervalo de tempo [0, T]. Seja n
t
o inteiro positivo e h
t
=
T
n
t
. Denotamos por t
k
=
(k 1)h
t
, 1 k n
t
+ 1 e por u
k
i
a aproximao por diferena nita do valor u(x
i
, t
k
).
Analogamente, discretizamos o intervalo [0, L] dividindo-o em n
x
subintervalos e h
x
=
L
n
x
e
x
i
= (i 1)h
x
, 1 i n
x
+ 1.
Se (x
i
, t
k
) um ponto interior da malha, 2 i n
x
, 2 k n
t
, temos
u
xx
(x
i
, t
k
)
1
h
2
x
_
u
k
i+1
2u
k
i
+ u
k
i1
_
u
t
(x
i
, t
k
)
1
h
t
_
u
k+1
i
u
k
i
_
(dif. adiantada),
onde 2 i n
x
, 2 k n
t
.
Ento, obtemos a seguinte frmula adiantada de Euler:
u
k+1
i
u
k
i
h
t
= a
u
k
i+1
2u
k
i
+ u
k
i1
h
2
x
+ f
k
i
.
conveniente introduzir a seguinte frao
=
ah
t
h
2
x
.
Devemos ainda incorporar a condio inicial e de fronteira:
u
1
i
= u
0
(x), 1 i n
x
+ 1,
e para k 1
u
k+1
i
= u
k
i1
+ (1 2)u
k
i
+ u
k
i+1
+ h
t
f
k
i
, 2 i n
x
u
k+1
1
= g
1
(t
k+1
), u
k+1
n
x
+1
= g
2
(t
k+1
).
Por este mtodo, uma vez conhecido a aproxi-
mao em t = t
k
, podemos calcular a soluo
no prximo nvel de tempo t = t
k+1
direta-
mente. Por isso o nome de mtodo explcito.
A principal vantagem desse mtodo que
no h a necessidade de resolver sistema
de equaes lineares, pois como foi dito a
soluo no nvel t = t
k+1
calculada dire-
tamente dos passos anteriores.
222
Pode-se provar que se (condio de estabilidade)
=
ah
t
h
2
x

1
2
,
ento a soluo exata u(x
i
, t
k
) satisfaz
max
1 i n
x
+ 1
1 k n
t
+ 1.
[u(x
i
, t
k
) u
k
i
[ = O(h
t
+ h
2
x
),
isto , um esquema de primeira ordem em preciso em h
t
e um equema de segunda ordem
em preciso em h
x
.
Exemplo 12.6.1
Consideremos o seguinte problema de
calor
_

_
u
t
= u
xx
, 0 < x < 1, 0 < t < 0.2
u(x, 0) = sin(x), x [0, 1]
u(0, t) = u(1, t) = 0, t [0, 0.2].
fcil vericar que a soluo exata desse
problema u(x, t) = e

2
t
sin(x) e
mostrada a seguir.
0
0.2
0.4
0.6
0.8
1
x
0
0.05
0.1
0.15
0.2
t
0
0.2
0.4
0.6
0.8
1
Neste exemplo temos a = 1, L = 1, T = 0.2. Ento, h
t
=
0.2
n
t
, h
x
=
1
n
x
e assim, a condio de
estabilidade
=
0.2n
2
x
n
t

1
2
deve ser satisfeita para escolhas convenientes de n
x
e n
t
.
Substituindo as aproximaes das derivadas na equao, obtemos
U (t
m+1
, x
i
) U (t
m
, x
i
)
k
=
U (t
m
, x
i+1
) 2 U (t
m
, x
i
) + U (t
m
, x
i1
)
h
2
Isolando, U (t
m+1
, x
i
), temos
U (t
m+1
, x
i
) =
kU (t
m
, x
i+1
)
h
2

_
h
2
+ 2 k
_
U (t
m
, x
i
)
h
2
+
kU (t
m
, x
i1
)
h
2
Se =
k
h
2
, ento
U (t
m+1
, x
i
) = U (t
m
, x
i+1
) + (1 2 ) U (t
m
, x
i
) + U (t
m
, x
i1
) .
D. Andrade Clculo Numrico 223
Vemos que a temperatura no nvel de tempo t
m+1
depende das temperaturas nos nvel de
tempo t
m
ao longo dos pontos x
i
, quando i varia. Fixando um nvel de tempo m e variando
i, obtemos um sistema da forma
U
m+1
= AU
m
,
onde A uma matriz tridiagonal. Indutivamente, obtemos
U
m+1
= A
m+1
U
0
,
onde A dada por
A =
_

_
0 0 0 0 0 0 0
0.072 0.856 0.072 0 0 0 0
0 0.072 0.856 0.072 0 0 0
0 0 0.072 0.856 0.072 0 0
0 0 0 0.072 0.856 0.072 0
0 0 0 0 0.072 0.856 0.072
0 0 0 0 0 0 0
_

_
A gura 12.6.3 mostra a soluo exata juntamente com alguns pontos obtidos em tempo t
i
.
0
0.2
0.4
0.6
0.8
1
0.05
0.1
0.15
0.2
t
0.5
1
x
Figura 12.6.3: Soluo exata e soluo numrica
224
12.6.3 Discretizao completa implcita: atrasada no tempo e centrada no
espao
A principal desvantagem do mtodo explcito necessidade da condio de estabilidade
=
ah
t
h
2
x

1
2
que impe uma restrio sobre o tamanho relativo de h
t
com relao a h
x
.
Se uma soluo correspondente aos valores h
t
e h
x
no tem a preciso desejada, natural
tentar diminuir os valores h
t
e h
x
. Assumindo que dobramos o nmero de pontos na malha
espacial, isto tomamos um novo valor para h
x
=
h
x
2
. Para manter a mesma razo
precisamos tomar h
t
igual a h
t
=
h
t
4
. Assim, se h
x
dividido ao meio, devemos dividir h
t
por quatro. Isto pode acarretar em muitos casos um valor para h
t
proibitivo.
Felizmente, existe um mtodo que sempre estvel. Mantendo a mesma notao, sejam
h
x
=
L
n
x
, x
i
= (i 1)h
x
, 1 i n
x
+ 1,
h
t
=
T
n
t
, t
k
= (k 1)h
t
, 1 k n
t
+ 1,
Denotamos por u
k
i
a aproximao por diferena nita do valor u(x
i
, t
k
) e usamos a diferena
central de segunda ordem
u
xx
(x
i
, t
k
)
1
h
2
x
_
u
k
i+1
2u
k
i
+ u
k
i1
_
para a derivada espacial de segunda ordem.
Para a derivada de primeira ordem no tempo usamos em seu lugar a diferena atrasada
u
t
(x
i
, t
k
)
1
h
t
_
u
k
i
u
k1
i
_
(dif. atrasada).
O resultado o mtodo de Euler atrasado
1
h
t
_
u
k
i
u
k1
i
_
= a
1
h
t
_
u
k
i
u
k1
i
_
+ f
k
i
,
onde 2 i n
x
.
Novamente denotamos por
=
ah
t
h
2
x
,
ento o esquema numrico
u
1
i
= u
0
(x), 1 i n
x
+ 1
D. Andrade Clculo Numrico 225
e para k 2,
_

_
u
k
i1
+ (1 + 2)u
k
i
u
k
i+1
= u
k1
i
+ h
t
f
k
i
, 2 i n
x
u
k
1
= g
1
(t
k
),
u
k
n
x
+1
= g
2
(t
k
)
Ao contrrio do mtodo explcito, aqui para uma soluo aproximada em t = t
k1
, pre-
cisamos resolver um sistema de equaes lineares para determinar a soluo aproximada
no prximo nvel de tempo t = t
k
. Por isso esse mtodo chamado de mtodo implcito.
Em cada nvel de tempo t = t
k
, k 2, precisamos resolver um sistema de equaes lineares
Au
k
= F
k
.
Aqui, o vetor incgnita
u
k
=
_
u
k
2
, . . . , u
k
n
x
_
T
e o vetor F
k
dado por
F
k
=
_
u
k1
2
+ h
t
f
k
2
+ g
1
(t
k
), u
k1
3
+ h
t
f
k
3
, . . . , u
k1
n
x
1
+ h
t
f
k
n
x
1
, u
k1
n
x
+ h
t
f
k
n
x
+ g
2
(t
n
x
+1
)
_
T
e a matriz dos coecientes a matriz (n
x
1) (n
x
1) dada por
A =
_

_
1 + 2
1 + 2
.
.
.
.
.
.
.
.
.
1 + 2
1 + 2
_

_
a mesma para qualquer k. Assim, precisamos apenas calcular a decomposio LU da
matriz A que deve ser armazenada e usada para resolver os sistemas lineares para todo k.
Podemos demonstrar que para quaisquer valores de h
x
e h
t
, o esquema implcito incondi-
cionalmente estvel. Alm disso,
max
1 i n
x
+ 1
1 k n
t
+ 1.
[u(x
i
, t
k
) u
k
i
[ = O(h
t
+ h
2
x
),
isto , um esquema de primeira ordem em preciso em h
t
e um equema de segunda ordem
em preciso em h
x
desde que as derivadas parciais de segunda ordem sejam contnuas.
Exemplo 12.6.2
226
Consideremos o seguinte problema de
valor inicial e fronteira para calor
_

_
u
t
= u
xx
, 0 < x < 1, 0 < t < 0.2
u(x, 0) = sin(x), x [0, 1]
u(0, t) = u(1, t) = 0, t [0, 0.2],
que j foi estudado com diferenas adi-
antadas. Lembramos que a soluo exata
desse problema u(x, t) = e

2
t
sin(x).
Resultados numricos com n
x
= n
t
= 20
so mostrados a seguir
0
0.2
0.4
0.6
0.8
0.05
0.1
0.15
0.2
t
0.2
0.4
0.6
0.8
1
x
12.6.4 O mtodo de Crank-Nicholson
O algoritimo devido a Crank-Nicholson utilizado para resolver EDPs do tipo parablico,
como a equao do calor, um mtodo implcito e portanto no apresenta problema de
instabilidade.
Consideremos a equao do calor unidimensional na forma
u
t
= cu
xx
, 0 < x < 1, 0 < t < T
o mtodo de Crank-Nicholson consiste em substituir a derivada de ordem 2 por uma mdia
de dois quocientes de diferenas centrais calculados em t e em t + k:
u
xx

1
2
_
u(x + h, t) 2u(x, t) + u(x h, t)
h
2
+
u(x + h, t + k) 2u(x, t + k) + u(x h, t + k)
h
2
_
A derivada de ordem 1 em t substituda por
u
t

u(x, t + k) u(x, t)
k
,
onde h o passo na direo x e k o passo na direo t. Dividimos o intervalo [0, 1] em n
subintervalos e o intervalo [0, T] em m subintervalos.
Reagrupando e chamando =
ck
h
2
, obtemos a seguinte equao de diferenas
u
j+1
i
+ u
j+1
i
u
j+1
i+1
= u
j
i+1
u
j
i
+ u
j
i1
, (12.6.1)
onde = 2(1 +
1

) e = 2(1
1

) e j = 0, 1, . . . , m1 e i = 1, 2, . . . , n 1.
Para cada escolha de j a equao acima (12.6.1) para i = 1, 2, . . . , n 1 d (n 1) equaes
com (n 1) incgnitas u
j+1
i
. Pelas condies de contorno, os valores u
j+1
i
para i = 0 e i = n
so conhecidos.
D. Andrade Clculo Numrico 227
Nesse mtodo em geral tomamos a seguinte disposio,
u
xx

_
u(x + h, t + k) 2u(x, t + k) + u(x h, t + k)
h
2
_
+ (1 )
_
u(x + h, t) 2u(x, t) + u(x h, t)
h
2
_
Note que no caso de = 0, recamos no mtodo das diferenas nitas explcito.
Resumo: Idias centrais
Discretize o domnio (assumindo um retngulo [0, l] [0, T]) subdivida [0, l] em m
partes iguais de comprimento h
x
=
l
m
e subdivida [0, T] n partes iguais de compri-
mento h
y
= k.
Os valores resultantes de x e t so denotados (x
i
, t
j
) onde i = 0, 1, , m e j =
0, 1, n, e a aproximao de u(x
i
, y
j
) denotamos como u
i,j
.
Mtodo diferenas adiantadas (explcito) - Substitua a segunda derivada parcial da
EDP e a primeira derivada com suas aproximaes discretas:

2
u
x
2

u
i+1,j
2ui, j + u
i1,j
h
2
u
t

u
i+1,j
ui, j
k
- Para cada (x
i
, t
0
) sobre a fronteira do nosso domnio, use as condies de fron-
teira pois conhecemos u(x
i
, t
0
). Assim, podemos determinar os valores de u no prx-
imo passo de tempo usando o valores do passo de tempo anterior. Para os ns interi-
ores, (x
i
, t
j
), a equao discretizada gera uma equao envolvendo u
i,j
s.
- Rearranjando essas equaes de modo que suas incgnitas, os valores em t
j+1
,
quem do lado esquerdo do sistema teremos algo como u
j+1
= Au
j
, onde u
j+1
=
[u
1,j+1
, u
2,j+2
, . . . , u
m1,j+1
]
t
e u
(j)
= [u
1,j
, u
2,j
, . . . , u
m1,j
]
t
. Assim, podemos escrever
na forma matricial.
- Para aproximar a soluo no prximo passo, no temos que resolver sistema de
equaes lineares algum. Apenas temos que iterar u
j+1
= Au
j
, j = 1, 2, . . . o processo
seguir at o tempo nal T.
Mtodo diferenas atrasadas (implcito)
228
- Substitua a segunda derivada parcial da EDP e a primeira derivada com suas aprox-
imaes discretas:

2
u
x
2

u
i+1,j
2ui, j + u
i1,j
h
2
u
t

u
i,j
ui, j 1
k
- Com a diferena atrasada, o vetor de incgnitas ser multiplicado por uma nova ma-
triz A, no iteramos simplesmente para encontrar o novo valor, em vez disso, devemos
resolver um sistema de equaes lineares Au
(j+1)
= u
(j)
ou equivalentemente,u
(j+1)
=
Mu
(j)
.
Mtodo de Crank-Nicholson Substitui a derivada de ordem 2 por uma mdia de dois
quocientes de diferenas centrais calculados em t e em t + k:
u
xx

1
2
_
u(x + h, t) 2u(x, t) + u(x h, t)
h
2
+
u(x + h, t + k) 2u(x, t + k) + u(x h, t + k)
h
2
_
e a derivada de ordem 1 em t substituda por
u
t

u(x, t + k) u(x, t)
k
,
onde h o passo na direo x e k o passo na direo t.
12.7 Equao da onda unidimensional: um caso simples
Consideremos a equao da onda unidimensional dada por
u
tt
= c
2
u
xx
, 0 x a, 0 t T
u(0, t) = 0
u(a, t) = 0
u(x, 0) = f (x)
u
t
(x, 0) = g(x).
Sejam naturais n, m, 2. Faa h =
a
n
e k =
T
m
, para construir os pontos da discretizao
x
i
= ih, i = 0, 1, . . . , n
t
j
= jk, j = 0, 1, . . . , m.
D. Andrade Clculo Numrico 229
Das condies de fronteira obtemos imediatamente
u
0,j
= u(0, jk) = 0,
u
n,j
= u(a, jk) = 0, j = 0, 1, . . . , m;
u
i,0
= u(x
i
, 0) = f (x
i
), i = 0, 1, . . . , n.
Aproximando as derivadas pelas suas aproximaes de segunda ordem e substituindo,
obtemos
u
i,j+1
=
2
u
i+1,j
+ 2(1
2
)u
ij
+
2
u
i1,j
u
i,j1
, (12.7.2)
onde =
ck
h
.
Vemos da equao equao (12.7.2) que para j = 1 precisamos conhecer os valores u
i,1
da primeira linha do tempo para acharmos u
i,2
. Mas com j = 0 vemos que os valores u
i,1
dependem de u
i,0
0-sima linha do tempo e dos valores u
i,1
. Para calcularmos estes ltimos
usamos g da condio inicial:
g(x
i
) = u
t
(x
i
, 0)
u(x
i
, k) u(x
i
, k)
2k
portanto,
u(x
i
, k) u(x
i
, k) 2kg(x
i
).
Logo,
u
i,1
u
i,1
2kg(x
i
). (12.7.3)
Levando equao (12.7.3) em equao (12.7.2), temos quando j = 0
u
i,1
=

2
2
(u
i+1,0
u
i1,0
) + (1
2
)u
i,0
+ kg(x
i
). (12.7.4)
Assim, para obter a soluo numrica da equao da onda iniciamos com a equao corre-
spondente a j = 0:
u
i,1
=

2
2
(u
i+1,0
u
i1,0
) + (1
2
)u
i,0
+ kg(x
i
).
e continuamos com a equao
u
i,j+1

2
u
i+1,j
+ 2(1
2
)u
ij
+
2
u
i1,j
u
i,j1
.
Vejamos um exemplo.
230
Exemplo 12.7.1
Consideremos a equao da onda unidimensional dada por
u
tt
= 4u
xx
, 0 x 1, 0 t 1
u(0, t) = 0
u(1, t) = 0
u(x, 0) = sin(x)
u
t
(x, 0) = 0.
Neste exemplo, temos c = 2, a = 1, T = 1. Tomemos n = 5 e m = 20. assim temos
h =
1
5
= 0.2 e k =
1
20
= 0.05. Veja a gura 12.7.
Figura 12.7.4: discretizao e subindo de nvel
Da equao equao (12.7.4) temos
u
i,1
= 0.125 (u
i+1,0
u
i1,0
) + 0.75u
i,0
. (12.7.5)
Da equao equao (12.7.2) temos
u
i,j+1
= 0.25u
i+1,j
+ 1.5u
ij
+ 0.25u
i1,j
u
i,j1
, (12.7.6)
A equao equao (12.7.5) nos d para i = 1, 2, 3, 4:
u
11
= 0.125 (u
20
+ u
00
) + 0.75u
10
= 0.55972
u
21
= 0.125 (u
30
+ u
10
) + 0.75u
20
= 0.90565
u
31
= 0.125 (u
40
+ u
20
) + 0.75u
30
= 0.90565
u
41
= 0.125 (u
50
+ u
30
) + 0.75u
40
= 0.55972.
D. Andrade Clculo Numrico 231
A equao equao (12.7.6) para j = 1 nos d para i = 1, 2, 3, 4:
u
1,2
= 0.25u
2,1
+ 1.5u
11
+ 0.25u
01
u
1,0
= 0.4782
u
2,2
= 0.25u
3,1
+ 1.5u
21
+ 0.25u
11
u
2,0
= 0.7738
u
3,2
= 0.25u
4,1
+ 1.5u
31
+ 0.25u
21
u
3,0
= 0.5680
u
4,2
= 0.25u
5,1
+ 1.5u
41
+ 0.25u
31
u
4,0
= 0.3510.
12.8 A equao da onda unidimensional: complicando um
pouquinho mais
O modelo para o problema de valor inicial e de fronteira consiste da EDP
u
tt
= au
xx
+ f (x, t), 0 < x < L, t > 0
e as condies de fronteira
u(0, t) = g
1
(t), u(L, t) = g
2
(t), t 0
e as condies iniciais
u(x, 0) = u
0
(x), u
t
(x, 0) = v
0
(x), 0 x L.
Vamos resolver o problema de valor inicial e fronteira em 0 t T.
Como no caso da equao do calor, podemos considerar mtodos semi-discretos ou comple-
tamente discreto. Aqui vamos trabalhar com um esquema padro completamente discreto
para o problema de valor inicial e de fronteira para a equao da onda unidimensional.
Utilizamos as mesmas notaes para as parties dos intervalos espacial e de tempo:
h
x
=
L
n
x
, x
i
= (i 1)h
x
, 1 i n
x
+ 1,
h
t
=
T
n
t
, t
k
= (k 1)h
t
, 1 k n
t
+ 1.
Usamos as seguintes aproximaes para as derivadas de segunda ordem
u
xx
(x
i
, t
k
)
1
h
2
x
_
u
k
i+1
2u
k
i
+ u
k
i1
_
u
tt
(x
i
, t
k
)
1
h
2
t
_
u
k+1
i
2u
k
i
+ u
k1
i
_
.
Ento para 2 i n
x
, 2 k n
t
obtemos a seguinte equao de diferenas
1
h
2
t
_
u
k+1
i
2u
k
i
+ u
k1
i
_
= a
1
h
2
x
_
u
k
i+1
2u
k
i
+ u
k
i1
_
+ f
k
i
.
232
Essas equaes de diferenas devem ser complementadas com aos valores numricos da
fronteira
u
k
1
= g
1
(t
k
), u
k
n
x
+1
= g
2
(t
k
)
para 1 k n
t
+ 1 e pelos valores iniciais.
A discretizao da primeira condio inicial
u(x, 0) = u
0
(x), 0 x L
imediata
u
1
i
= u
0
(x
i
), 1 i n
x
+ 1.
Para a segunda condio inicial
u
t
(x, 0) = v
0
(x), 0 x L
ambas as aproximaes por diferenas adiantada ou atrasada fornecem preciso de primeira
ordem no tempo. Assim, introduzimos novas variveis articiais u
0
i
, 1 i n
x
+ 1 como
futura aproximao de u(x
i
, h
t
) quando a verdadeira soluo estendida para valores
negativos de t. Ento usamos
u(x
i
, h
t
) u(x
i
, h
t
)
2h
t
como uma aproximao de ordem O(h
2
t
) de u
t
(x
i
, 0). Assim, a discretizao da segunda
condio inicial
u
2
i
u
0
i
2h
t
= v
0
(x
i
), 1 i n
x
+ 1.
Com o uso de derivadas articiais u
0
i
, 1 i n
x
+1, precisamos de equaes de diferenas
em (x
i
, 0) para 2 i n
x
. Assim, exigimos que a equao de diferena
1
h
2
t
_
u
k+1
i
2u
k
i
+ u
k1
i
_
= a
1
h
2
x
_
u
k
i+1
2u
k
i
+ u
k
i1
_
+ f
k
i
tambm seja vlida para k = 1 isto , t = 0.
Denotemos por
=
ah
2
t
h
2
x
.
Ento, da equao de diferenas para k = 1:
u
2
i
= u
1
i1
+ 2(1 )u
1
i
+ u
1
i+1
u
0
i
+ h
2
t
f
1
i
e da discretizao da segunda condio inicial:
u
2
i
= u
0
i
+ 2h
t
v
0
(x
i
).
D. Andrade Clculo Numrico 233
Adicionando as duas equaes, podemos eliminar u
0
i
e obter
u
2
i
=

2
u
1
i1
+ (1 )u
1
i
+

2
u
1
i+1
+ h
t
v
0
(x
i
) +
h
2
t
2
f
1
i
,
onde u
1
i
= u
0
(x
i
).
Resumindo, realizamos os seguintes passos para determinar a soluo numrica:
1. Primeiro
u
0
i
= u
0
(x
i
), 1 i n
x
+ 1
2. Segundo
u
2
1
= g
1
(h
t
), u
2
n
x
+1
= g
2
(h
t
)
u
2
i
=

2
u
0
(x
i1
) + h
t
v
0
(x
i
) +
h
2
t
2
f
1
i
, 2 i n
x
.
3. Terceiro, para k = 2, 3, . . . , n
t
u
k+1
1
= g
1
(kh
t
), u
k+1
n
x
+1
= g
2
(kh
t
)
u
k+1
i
= u
k
i1
+ 2(1 )u
k
i
+ u
k
i+1
u
k1
i
+ h
2
t
f
k
i
, 2 i n
x
.
Podemos demonstrar que a condio de estabilidade 1, isto ,
=
ah
2
t
h
2
x
.
Assim,

a h
t
h
x
.
Esta condio no to restritiva quando condio de estabilidade para a equao do
calor.
234
Sob a condio de estabilidade, quando a soluo u(x, y) tem derivadas parciais at ordem
2 contnuas, podemos provar que o erro mximo
max
1 i n
x
+ 1
1 k n
t
+ 1.
[u(x
i
, t
k
) u
k
i
[ = O(h
2
t
+ h
2
x
),
isto , o esquema de segunda ordem para h
t
e h
x
.
Exemplo 12.8.1
Consideremos o seguinte problema de
valor inicial e fronteira para onda
_

_
u
tt
= u
xx
+ 16 sin(t), 0 < x < 1, 0 < t < 1
u(x, 0) = 0, x [0, ]
u
t
(x, 0) = 0, x [0, ]
u(0, t) = u(, t) = 0, t [0, 1].
A gura ao lado mostra alguns instantes
da soluo numrica e a soluo desse
problema
6
4
2
0
2
0.5
1
1.5
2
t
0.2
0.4
0.6
0.8
1
x
Aqui tomamos n
x
= n
t
= 4, a matriz dada por
A =
_

_
0 0 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 0 1
0 0 0 0 0
_

_
Exemplo 12.8.2
Consideremos o seguinte problema de
valor inicial e fronteira para onda
_

_
u
tt
= u
xx
+ e
t
sin(x), 0 < x < , 0 < t < 1
u(x, 0) = sin(x), x [0, ]
u
t
(x, 0) = sin(x), x [0, ]
u(0, t) = u(, t) = 0, t [0, 1].
A soluo exata desse problema u(x, t) =
e
t
sin(x) e mostrada a seguir
0
0.5
1
1.5
2
2.5
3
x
0
0.2
0.4
0.6
0.8
1
t
0
0.2
0.4
0.6
0.8
1
Resolva o problema com diversos n
x
, n
t
.
D. Andrade Clculo Numrico 235
Exerccio 12.8.3 1. Resolver numericamente a equao de Poisson u
xx
+ u
yy
= 0 com
as as seguintes condies sobre uma placa quadrada de comprimento 12, veja gura.
2. Resolver numericamente a equao da onda unidimensional u
tt
= 4u
xx
com as as
seguintes condies:
u(0, t) = 0
u(1, t) = 0
u(x, 0) = cos(x) sin(x)
Tome n = 5 e m = 20 e calcule a soluo nos nveis de tempo t
0
, t
1
, t
2
.
3. Resolver numericamente pelo mtodo explicito a equao parablica
u
t
= u
xx
, 0 x 1, 0 t T
u(0, t) = 0
u(1, t) = 0
u(x, 0) = x(1 x))
Tome h =
1
3
e portanto, x
0
= 0, x
1
=
1
3
, x
2
=
2
3
e x
3
= 1. Tome t
0
= 0, t
1
=
1
54
, t
2
=
2
54
,
determine as solues para estes nves de tempo.
Resolva o mesmo problema utilizando o mtodo implcito com =
1
6
, k =
1
54
e
portanto h =
1
3
.
4. Resolver numericamente pelo mtodo explicito a equao do calor unidimensional
u
t
= u
xx
, 0 x 1, 0 t T
u(0, t) = 0
u(1, t) = 0
u(x, 0) = sin(x)
236
Tome x
i
=
i
5
, i = 0, 1, 2, 3, 4, 5 e t
j
=
1
100
, j = 0, 1, . . . , 50. Determine as solues para
estes nves de tempo t
1
e t
2
.
Notao
R nmeros reais
Q nmeros racionais
Z nmeros reais
N nmeros inteiros: 0, 1, 2, . . .
C nmeros complexos
. . . [ . . . conjunto de . . . tais que . . .
(x
1
, x
2
, . . . , x
n
, . . .) sequncia; como conjunto mas ordenados
(x
n
) sequncia
V, W, U espaos vetoriais
A, M, N, L, U matrizes
v, w vetores

0,

0
V
vetor nulo, vetor nulo de V
,

bases

n
= e
1
, . . . , e
n
base cannica para R
n

base de vetores
T
n
conjunto dos polinmios de grau n
/
m,n
conjunto das matrizes mn
[S] espao gerado pelo conjunto S
M N soma direta de subespaos
[a
i,j
] matriz de entradas de linhas i, colunas j
det T determinante da matriz T
C[a, b] espao vetorial das funes reais contnuas em [a, b]
238
Alfabeto grego
nome caracter nome caracter nome caracter
alpha iota rho
beta kappa sigma
gamma lambda tau
delta mu upsilon
epsilon nu phi
zeta xi chi
eta omicron o psi
theta pi omega
Alfabeto grego- maisculo
nome caracter nome caracter nome caracter
Gamma Lambda Phi
Delta Sigma Psi
Theta Pi Omega
Referncias Bibliogrcas
[1] 1 D. G. de Figueiredo, Anlise de Fourier e equaes diferenciais parciais. Projeto
Euclides, (1997).
[2] S. D. Conte, Elementary Numerical Analysis. MacGraw-Hill, 1965.
[3] L. Childs, A concrete introduction to higher algebra. Springer-Verlag, New York,
1979.
[4] Kahan, W. Gauss-Seidel Methods of Solving Large Systems of Linear Equations.
Ph.D. thesis. Toronto, Canada, University of Toronto, 1958.
[5] H. B. Keller. Numerical Methods for two-point boundary -value problems. Dover,
New York, 1992.
[6] Erwin Kreyszig, Introduction Functional Analysis with Applications. John Willey &
Sons, 1978.
[7] Avner Friedman, Foundations of Modern Analysis. Holt, Reinehart and Winston,
Inc., 1970.
[8] R. A. DeCarlo. Linear Systems. Prentice Hall, Inc. Englewood Cliffs, NJ, 1989.
[9] D. K. Faddeev & V. N. Faddeeva. Computational Methods of Linear Algebra. Freeman,
San Francisco, 1963.
[10] G. Golub & C. F. Van Loan. Matrix Computations. The Johns Hopkins University
Press, 1985.
[11] K. Atkinson. An Introduction to Numerical Analysis. John Willey& Sons, New York,
1983.
239

Potrebbero piacerti anche