Anda di halaman 1dari 283

Introduo aos mtodos numricos

Doherty Andrade
doherty@uem.br

2012
Indice

1 Alguns resultados bsicos 1


1.1 Revendo Clculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Revendo lgebra Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Ponto Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2 Erros 16
2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Aritmtica de ponto flutuante . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Erro absoluto e erro relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Dgitos Significativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Propagao de Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 Condicionamento e Estabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3 Equaes no lineares 28
3.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 O mtodo da bisseco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Usando Maple: o mtodo da bisseco . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Mtodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 O mtodo do ponto fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.6 Usando Maple: o mtodo do ponto fixo . . . . . . . . . . . . . . . . . . . . . . 39
3.7 O mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.8 Usando Maple: o mtodo do Newton-Raphson . . . . . . . . . . . . . . . . . . 47
3.9 O mtodo da secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.10 Usando Maple: o mtodo da secante . . . . . . . . . . . . . . . . . . . . . . . 52
3.11 Como escolher o melhor mtodo . . . . . . . . . . . . . . . . . . . . . . . . . . 53

i
D. Andrade Clculo Numrico ii

3.12 O Mtodo de Newton-Raphson para razes mltiplas . . . . . . . . . . . . . . 53


3.13 Razes de polinmios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.14 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4 Sistemas lineares: mtodos diretos 65


4.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2 O mtodo de eliminao de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3 Usando Maple: sistema triangular . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4 Estratgias de pivoteamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.5 Usando Maple: o mtodo de eliminao de Gauss . . . . . . . . . . . . . . . . 74
4.6 Decomposio LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7 Usando Maple: decomposio LU . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.8 Decomposio Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.9 O Algoritmo para a decomposio Cholesky . . . . . . . . . . . . . . . . . . . 84
4.10 Usando Maple: decomposio Cholesky . . . . . . . . . . . . . . . . . . . . . 87
4.11 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5 Sistemas lineares: mtodos iterativos 91


5.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2 O mtodo de Gauss-Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.3 O mtodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.4 Critrios de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.5 Estudo da convergncia dos mtodos iterativos . . . . . . . . . . . . . . . . . 106
5.6 Usando Maple: o mtodo de Gauss-Jacobi . . . . . . . . . . . . . . . . . . . . 109
5.7 Usando Maple: o mtodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . 110
5.8 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

6 Sistemas de equaes no lineares 113


6.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2 O mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3 Caso Particular: F = (f, g) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.4 Usando Maple: o mtodo Newton-Raphson . . . . . . . . . . . . . . . . . . . 119
6.5 O mtodo do ponto Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.6 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

7 Interpolao Polinomial 122


7.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2 Existncia do polinmio interpolador . . . . . . . . . . . . . . . . . . . . . . . 123
D. Andrade Clculo Numrico iii

7.3 Mtodos de Interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124


7.4 Usando Maple: o mtodo de Lagrange . . . . . . . . . . . . . . . . . . . . . . 129
7.5 O Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.6 Usando Maple: interpolao pelo mtodo de Newton . . . . . . . . . . . . . . 137
7.7 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.8 O Fenmeno Runge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.9 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

8 Aproximao por quadrados mnimos 147


8.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.2 Caso discreto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.3 Caso contnuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.4 Usando Maple: O mtodo dos quadrados mnimos contnuo . . . . . . . . . . 159
8.5 Polinmios ortogonais e o mtodo dos quadrados mnimos . . . . . . . . . . . 160
8.6 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

9 Integrao Numrica 168


9.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
9.2 Frmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9.3 Regra dos Trapzios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
9.4 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
9.5 Frmulas compostas: Trapzios e Simpson . . . . . . . . . . . . . . . . . . . 173
9.6 Usando Maple: regras dos trapzios e Simpson . . . . . . . . . . . . . . . . . 176
9.7 Quadraturas de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9.8 Usando Maple: quadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . 190
9.9 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

10 Mtodos numricos para EDOs 194


10.1 Introduo s EDOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
10.2 O mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
10.3 O mtodo de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10.4 Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
10.5 Mtodos numricos para EDOs: Multistep . . . . . . . . . . . . . . . . . . . . 215
10.6 Usando Maple: mtodos para EDOS . . . . . . . . . . . . . . . . . . . . . . . 220
10.7 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
D. Andrade Clculo Numrico iv

11 Problemas de Fronteira 227


11.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
11.2 Problemas de valor de fronteira de ordem 2 . . . . . . . . . . . . . . . . . . . 227
11.3 O mtodo das diferenas finitas . . . . . . . . . . . . . . . . . . . . . . . . . . 230
11.4 Mtodo do shooting linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
11.5 Usando Maple: Sturm-Liouville . . . . . . . . . . . . . . . . . . . . . . . . . . 240
11.6 Resumo do captulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

12 Mtodo das diferenas finitas para EDPS 245


12.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
12.2 Exemplos de EDPs mais comuns . . . . . . . . . . . . . . . . . . . . . . . . . 245
12.3 Condies de contorno e iniciais. . . . . . . . . . . . . . . . . . . . . . . . . . 246
12.4 EDPs lineares de segunda ordem . . . . . . . . . . . . . . . . . . . . . . . . . 247
12.5 Equao de Poisson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.6 A equao do calor unidimensional . . . . . . . . . . . . . . . . . . . . . . . . 254
12.7 Equao da onda unidimensional: um caso simples . . . . . . . . . . . . . . 265
12.8 A equao da onda unidimensional: complicando um pouquinho mais . . . . 268
D. Andrade Clculo Numrico v

c 2010, 2011, 2012 Doherty Andrade



All rights reserved.

Este texto pode ser livremente distribudo para fins educacionais, mas nunca modificado.

Este texto pode ser livremente distribudo para fins educacionais, mas nunca modificado. 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
fins didticos e para auxiliar a compreenso da teoria, estes foram testados com cuidado mas no h
garantias de utilizao para todos os fins. 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
exemplos e exerccios. Alm disso, apresentamos cdigos em Maple para os mtodos
numricos mais comuns. Esses cdigos permitem ao estudante se familiarizar com o
software e realizar novos exemplos ou experimentar os exemplos apresentados com novas
aproximaes iniciais, com outra tolerncia ou outro passo.
A nfase nesse texto a compreenso dos mtodos, isto , por que os mtodos apresen-
tados funcionam. As demonstraes explicam porque os mtodos funcionam, sem esse
entendimento o aproveitamento desse material fica prejudicado. Ao estudante que sentir
alguma dificuldade com as justificativas ou demonstraes, sugerimos passar adiante e
quando se sentir seguro e com mais maturidade deve retornar a elas.

vi
Alguns resultados bsicos
1
Neste captulo apresentamos os principais resultados necessrios para o desenvolvi-
mento do texto.

1.1 Revendo Clculo

Sequncias

Uma sequncia (infinita) de nmeros reais uma funo cujo domnio o conjunto dos
nmeros naturais:
x : N R.
usual representar a imagem x(n) por xn . Tambm usual representar uma sequncia
por (x1 , x2 , x3 , . . . , xn , . . .) ou resumidamente por (xn ).
Uma subsequncia de uma sequncia (xn ) a restrio de (xn ) a um subconjunto infinito
N de N.
Dizemos que a sequncia (xn ) :
(a) limitada superiormente se existe M R tal que xn M, n.

1
D. Andrade Clculo Numrico 2

(b) limitada inferiormente se existe m R tal que m xn , n.


(c) limitada se existe K 0 tal que |xn | K, n.
Dizemos a uma sequncia (xn ) converge para o nmero real L, se a diferena |xn L|,
a partir de algum ndice n0 , puder ser feita to pequena quanto desejado. Em termos
matemticos, dizemos isto com a seguinte definio:
Dizemos que a sequncia (xn ) converge para o nmero real L, se dado um nmero > 0
qualquer existe um nmero natural n0 tal que

|xn L| < , n n0 .

Usamos as notaes
lim xn = L ou xn L,
n

para dizer que a sequncia (xn ) converge para L.


Se a sequncia no convergente, dizemos que a sequncia divergente.
Dizemos que a sequncia (xn ) crescente se verifica xn xn+1 para todo n 1 natural.
Dizemos que a sequncia (xn ) decrescente se verifica xn xn+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 n0 os seus
termos esto to prximos, entre si, quanto desejado. Em termos matemticos, dizemos
que uma sequncia (xn ) de Cauchy se dado > 0 existe n0 natural tal que se m, n n0
ento tem-se
|xn xm | < .

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.

Definio 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| < .


D. Andrade Clculo Numrico 3

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 Rn anlogo.

Teorema 1.1.6 Seja X R e a R. So equivalentes:


a) a ponto de acumulao de X.
b) existe uma sequncia (xk ) de pontos de X, como xk 6= a, tal que lim xk = a.
c) todo intervalo aberto de centro a contm uma infinidade de pontos de X.

Limite de funes

Teorema 1.1.7 Seja f : X R R e a um ponto de acumulao de X. Ento,

lim f (x) = b
xa

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 acumulao de X. Suponha que f (x) g(x) h(x), x X. Se lim f (x) = lim h(x) = L,
xa xa
ento lim g(x) = L.
xa

Seja X R. Dizemos que a um ponto aderente a X se existe uma sequncia (xn ) 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
D. Andrade Clculo Numrico 4

1
Definio 1.1.9 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 definida em a, e
b) lim f (x) = f (a).
xa

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.

Resultado anlogo para o caso em que f (b) < 0 < f (a).

TVI

0 0.6 0.8 1 1.2 1.4 1.6 1.8 2


x

-1

Figura 1.1: Ilustrao do Teorema do valor intermedirio

Seja f : X X. Se existe c X tal que f (c) = c dizemos que c um ponto fixo para f .

Teorema 1.1.11 Toda aplicao contnua f : [a, b] [a, b] tem pelo menos um ponto fixo.
1
aqui supe-se implicitamente que a X seja um ponto de acumulao de X.
D. Andrade Clculo Numrico 5

Demonstrao: Defina 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 fixo de f um
ponto x onde g(x) = 0. Se um dos extremos do intervalo ponto fixo nada temos a provar.
Ento suponha que nenhum deles seja ponto fixo. 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
x0 [a, b] tal que g(x0 ) = 0 e portanto f (x0 ) = x0 . 

Definio 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 definio 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 + h) f (x)
f (x) = lim
h0 h
se o limite existe.
Se f (x) existe para todo x do seu domnio, dizemos que f derivvel.

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 x0 (a, b) tal que f (x0 ) = 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 x0 (a, b) tal que f (x0 ) = 0.
D. Andrade Clculo Numrico 6

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
x0 , x1 , . . . , xn pontos em [a, b] tais que f (xi ) = 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 (b) f (a)
f (c) = .
ba

Integrais

Teorema 1.1.19 (Primeiro teorema fundamental) Seja f : [a, b] R contnua e F


uma primitiva de f em [a, b]. Ento,
Z b
f (x)dx = F (b) F (a).
a

Teorema 1.1.20 (Segundo teorema fundamental) Seja f : [a, b] R contnua e x


(a, b). Ento, Z x
d
f (t)dt = f (x).
dx a

Teorema 1.1.21 (Teorema do valor Mdio para integrais) Seja f : [a, b] R con-
tnua e g : [a, b] R integrvel que no muda de sinal em (a, b). Ento, existe c (a, b) tal
que Z Z
b b
f (x)g(x)dx = f (c) g(x)dx.
a a

Teorema de Taylor

Seja f : I R uma funo n vezes derivvel. O n-simo polinmio de Taylor de f no


n
X f (k) (a)
ponto a I o polinmio p(x) = (x a)k de grau menor do que ou igual a n.
0
k!
Note que p(k) (a) = f (k) (a).
D. Andrade Clculo Numrico 7

Teorema 1.1.22 (Taylor com resto infinitesimal) Seja f : I R n vezes derivvel no


ponto a I. A funao definida por r : J R onde J o intervalo
J = {h R; a + h I}
pela igualdade
f (a) f (n) (a) n
f (a + h) = f (a) + h++ h + r(h)
1! n!
satisfaz
r(h)
= 0.
lim
h0 hn

Reciprocamente, se p(h) um polinmio de grau n tal que r(h) = f (h) p(h) cumpre
r(h)
lim = 0,
h0 hn

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 (a) f (n1) (a) f (n) (c)
f (b) = f (a) + (b a) + + (b a)n + (b a)n
1! (n 1)! n!
Teorema 1.1.24 (Taylor com resto integral) Se f : I R possui a n + 1- sima
derivada contnua no intervalo de extremos a e a + h pertencentes a I, ento
Z 1
f (a) f (n) (a) n (1 t)n (n+1)
f (a + h) = f (a) + h ++ h + f (a + th)hn+1 dt.
1! n! 0 n!

Teorema de Taylor para funes de vrias variveis

Agora vejamos o caso f : U Rn Rm . Vamos no fixar, por razes bvias a m = 1. Para


simplificar 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 (0) g (n1) (0) n1 g (n) ( ) n
g(t) = g(0) + t++ t + t .
1! (n 1)! n!
D. Andrade Clculo Numrico 8

Pela Regra da cadeia, temos


g (t) = (H ) f (P + tH).
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 Rn R definida no aberto U
e tendo derivadas parciais contnuas at ordem n. Ento, existe entre 0 e 1 tal que

(H )n1 (H )n
f (P + H) = f (P ) + (H )f (P ) + + f (P ) + f (P + H).
(n 1)! n!
No caso de duas variveis, a frmula de Taylor fica:
 

f (a + h, b + k) = f (a, b) + h +k f (a, b)
x y
 2
1
+ h +k f (a, b)
2! x y
 n1
1
+ + h +k f (a, b)
(n 1)! x y
 n
1
+ h +k f (a + h, b + k)
n! x y

Jacobiana e Hessiana

Lembramos que a derivada de F : Rn Rm dada por


F (x1 , x2 , . . . , xn ) = (f1 (x1 , x2 , . . . , xn ), f2 (x1 , x2 , . . . , xn ), . . . , fm (x1 , x2 , . . . , xn ))
a matriz Jacobiana de F

f1 f1 f1
...
x1 x2 xn
f2 f2 f2
...
JF (X) = x1 x2 xn .
... ... ... ...

fm fm fm
...
x1 x2 xn
D. Andrade Clculo Numrico 9

A matriz Hessiana de f : Rn R a matriz simtrica de ordem n dada por



2f 2f 2f
x2 ...
1 x1 x2 x1 xn

f2
2
2
f
...

Hf (X) = x2 x1 x2 xn
.
2
x2
... ... ... ...

f2 2
f f
2
...
xn x1 xn x2 x2n

Mximos e Mnimos

Definio 1.1.26 Seja f : I R e x0 I. Dizemos que x0 ponto de mximo absoluto de


f em I, se f (x) f (x0 ), para todo x I. Nesse caso, f (x0 ) o valor mximo absoluto de f .
Dizemos que x0 ponto de mnimo absoluto de f em I, se f (x0 ) f (x), para todo x I.
Nesse caso, f (x0 ) o valor mnimo absoluto de f .

Definio 1.1.27 Seja f : I R e x0 X. Dizemos que x0 ponto de mximo local de


f em I, se existe um intervalo aberto J I tal que f (x) f (x0 ), para todo x J. Nesse
caso, f (x0 ) um valor mximo local de f .
Dizemos que x0 ponto de mnimo local de f em I, se existe um intervalo aberto J I tal
que f (x0 ) f (x), para todo x J. Nesse caso, f (x0 ) 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 x0 (a, b). Ento, f (x0 ) = 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 x0 tal que f (x0 ) = 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 inflexo, a funo f (x) = x3 tem em
x = 0 um ponto de inflexo.
D. Andrade Clculo Numrico 10

Teorema 1.1.29 (Teste da derivada segunda) Seja f : [a, b] R uma funo con-
tnua 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 R2 R de classe C 2 e


(x0 , y0 ) U um ponto crtico de f .
2 f (x0 , y0 )
a) Se o determinante da matriz Hessiana H(x0 , y0 ) > 0 e > 0, ento (x0 , y0 )
x2
ponto de mnimo local.
2 f (x0 , y0 )
b) Se o determinante da matriz Hessiana H(x0 , y0 ) > 0 e < 0, ento (x0 , y0 )
x2
ponto de mximo local.
c) Se o determinante da matriz Hessiana H(x0 , y0) < 0, ento (x0 , y0 ) ponto de sela.

1.2 Revendo lgebra Linear


Vamos denotar por Rn o espao vetorial real de dimenso n cujos elementos so

v =
(x1 , x2 , . . . , xn ), onde xi R. Vamos representar

v simplemente por v.
Outros exemplos de espaos vetoriais reais (com as operaes usuais):

(a) o espao Mmn das matrizes reais de dimenso m n. Esse espao tem dimenso mn.
(b) o espao dos polinmios com coeficientes reais p(x) = an xn + an1 xn1 + + a1 x + a0
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 infinita.

Sistemas lineares

Uma equao linear nas variveis x1 , x2 , . . . , xn uma equao da forma

a1 x1 + a2 x2 + a3 x3 + + an xn = b

onde os nmeros a1 , . . . , an R so os coeficientes da equao linear e b R o termo


constante.
Uma n-upla (s1 , s2 , . . . , sn ) Rn uma soluo da equao se substituindo os nmeros s1 ,
. . . , sn nas variveis torna a igualdade verdadeira: a1 s1 + a2 s2 + . . . + an sn = b.
D. Andrade Clculo Numrico 11

Um sistema de equaes lineares um conjunto de equaes lineares

a1,1 x1 + a1,2 x2 + + a1,n xn = b1


a2,1 x1 + a2,2 x2 + + a2,n xn = b2
.. .. .. ..
. . . .
am,1 x1 + am,2 x2 + + am,n xn = bm

tem soluo (s1 , s2 , . . . , sn ) se a n-upla uma soluo de todas as equaes do sistema. Se


os elementos bi = 0, i = 1, 2, . . . , m, o sistema chamado de sistema homogneo.
O sistema de equaes lineares acima pode ser reescrito na forma matricial

a1,1 a1,2 a1,n x1 b1
a2,1 a2,2 a2,n x2 b2

.. .. .. = ..
. . . .
am,1 am,2 am,n xn bm

A matriz dada por


a1,1 a1,2 a1,n b1
a2,1 a2,2 a2,n b2

.. .. ..
. . .
am,1 am,2 am,n bm
chamada de matriz ampliada do sistema.
Determinar o conjunto de todas as solues resolver o sistema. Um dos mtodos uti-
lizados 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 Li pode ser substituda pela linha Li multiplicada por uma constante k 6= 0.
Indicamos essa operao por
Li kLi .
(b) A linha Li pode ser substituda pela soma da linha Li a com a linha Lj .
Indicamos essa operao por
Li Li + Lj .
(c) A linha Li pode ser permutada com a linha Lj .
D. Andrade Clculo Numrico 12

Indicamos essa operao por


Li Lj .
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 = (lij ) de ordem n n triangular inferior se lij = 0
para todo i = 1, 2, . . . , j 1.
Dizemos que uma matriz quadrada U = (uij ) de ordem n n triangular superior se
uij = 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
A1 .
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;
1
(b) A1 no-singular e (A1 ) = A;
(c) Se B tambm no-singular, ento (AB)1 = B 1 A1 .

A transposta de uma matriz A = (aij ) de ordem n m a matriz B = (bij ) de ordem m n


tal que bij = aji . A transposta de A denotada por A .
Uma matriz quadrada A dita simtrica se A = A .

Determinantes

O determinante de uma matriz quadrada A = (aij ) de dimenso n n definido por


X
det A = sgn()a1(1) a2(2) . . . an(n) ,

onde a soma estendida a todas as n! permutaoes no conjunto {1, 2, . . . , n} e sgn()


o sinal da permutao .
Note que da definio acima que em cada fator a1(1) a2(2) . . . an(n) h apenas um ele-
mento de cada linha e um nico elemento de cada coluna.

Matriz de Vandermonde
D. Andrade Clculo Numrico 13

Dados x1 , x2 , . . . , xn a matriz de Vandermonde uma matriz quadrada de ordem n dada


por
1 x1 x1n1
1 x2 xn1
2
V = .. ..
. .
n1
1 xn xn
O determinante de uma matriz de Vandermonde tem uma forma simples
Y
det V = (xi xj ).
i,j, i>j

Note que se os pontos x1 , x2 , . . . , xn forem distintos, ento det V 6= 0. Essa matriz aparece
no mtodo dos quadrados mnimos e em interpolao.
Dada uma matriz quadrada Ann , para cada k = 1, 2, . . . , n 1, retirando-se de A as
primeiras k linhas e colunas obtemos uma nova matriz Ak denominada submatriz prin-
cipal de A.

1.3 Ponto Fixo


Seja f : X X uma aplicao. Dizemos que f tem um ponto fixo 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 fixo 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 fixo. Alm disso, a sequncia
gerada pelo esquema iterativo dado por
x0 X, xn+1 = f (xn ), n 0
converge para o nico ponto fixo de f .
Embora esse resultado seja enunciado aqui na sua forma mais geral, para aplicaes em
disciplina da graduao, uma simplificao suficiente. o que faremos a seguir, em
que usaremos um resultado bem conhecido.
D. Andrade Clculo Numrico 14

Teorema 1.3.2 (Princpio Min-Max) uma aplicao contnua T a valores reais e definida
em um conjunto no vazio, limitado e fechado do Rn , assume o seu valor mximo e o seu
valor mnimo.

Teorema 1.3.3 (Princpio da Contrao em Rn ) Seja C subconjunto no vazio, limi-


tado e fechado do Rn e T : C C uma contrao. Ento, T tem um nico ponto fixo em C.
Isto , existe x0 C tal que T (x0 ) = x0 .

Demonstrao: Defina a plicao f : C R dada por f (x) = kx T (x)k. Note que os


zeros de f so precisamente os pontos fixos de T . Observamos que

|f (x) f (y)| (1 + k)kx yk

e assim f uniformemente contnua.


Notamos tambm que

f (T (x)) = kT (x) T (T (x))k kkx T (x)k = kf (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)) kf (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 definido por

f (x)
xn+1 = g(xn ), g(x) = x
f (x)

g uma contrao em alguma vizinhana de x.


Sugesto: Verifique que g (x) = 0 e assim existe uma vizinhana de x em que |g (x)|
k < 1.
D. Andrade Clculo Numrico 15

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:

1. Convergncia de sequncias;

2. Teorema do valor intermedirio;

3. Teorema do ponto fixo;

4. Teorema do valor mdio;

5. Teorema de Taylor;

6. Operaes elementares em matrizes.


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.

16
D. Andrade Clculo Numrico 17

2.2 Aritmtica de ponto flutuante


Um sistema de aritmtica de ponto flutuante, representado por F (, t, emin, emax ), um
subconjunto dos nmeros reais F R cujos elementos tem a forma:
 
d1 d2 d3 dt
y= + + + + t e = (.d1 d2 d3 ...dt ) e ,
1 2 3
onde 0 di < , i = 1, 2, . . . , t.
A aritmtica de ponto flutuante 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 emin e emax . Todo
computador utiliza algum sistema de aritmtica de ponto flutuante para operar com
nmeros. A fim 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 flutuante1 .

Tabela 2.1: Alguns sistemas


Sistema t emin emax
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 fim de assegurar uni-


cidade para a representao para cada y F , faz-se uma normalizao no sistema de
forma que d1 6= 0 para y 6= 0. Um nmero x representado no sistema de aritmtica de
ponto flutuante denotado por f l(x).
Com a normalizao no sistema de ponto flutuante, exige-se que d1 6= 0, para obter uni-
cidade 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 emin . A escolha de uma represen-
tao para o zero como sendo uma mantissa nula no a melhor, pois isto pode acarretar
perdas de dgitos significativos corretos em operaes.
1
O IEEE Institute of Eletrical and Eletronic Engineers, produz diversos padres em eletrnica em
especial computadores.
D. Andrade Clculo Numrico 18

Um sistema de aritmtica de ponto flutuante um conjunto finito e discreto. A quanti-


dade de nmeros normalizados em um tal sistema igual a
2( 1) t1 (emax emin + 1) + 1,
pois existem duas opes de sinal, 1 escolhas para o dgito d1 , opes de escolha
para os t 1 dgitos restantes da mantissa, emax emin + 1 valores para expoente. O 1
adicionado devido ao zero.

O epsilon da mquina o menor nmero positivo , em aritmtica de ponto flutuante


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
finito de dgitos, os nmeros representveis em uma mquina so em quantidade finita
e portanto no trabalho com mtodos numricos h a necessidade de trabalharmos com
uma quantidade finita de dgitos. H duas formas de efetuarmos o descarte de dgitos
excendentes: por arredondamento simtrico ou por truncamento (chopping).
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 6= 0 em aritmtica de ponto flutuante de base 10, ento ele
tem a forma

x = 0.a1 a2 ...at at+1 ...an 10e ,


onde a1 6= 0. Podemos enfatizar as partes usando a tabela a seguir.
Sinal Mantissa Expoente
a1 a2 . . . an e
A representao de x com apenas t dgitos pode ser feita de duas formas. Notemos que
x = 0.a1 a2 . . . at at+1 . . . an 10e (2.2.1)
= (0.a1 a2 . . . at + 0.000 . . . 0at+1 . . . an ) 10e (2.2.2)
= 0.a1 a2 . . . at 10e + 0.at+1 . . . an 10et, (2.2.3)
chamando
f = 0.a1 a2 . . . at (2.2.4)
g = 0.at+1 . . . an (2.2.5)
D. Andrade Clculo Numrico 19

temos que

x = f 10e + g 10et (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 flutuante provocam fenmenos impor-
tantes chamados de overflow e underflow. A faixa de variao dos expoentes leva
ao underflow e ao overflow, e quantidade de dgitos na mantissa ocasionam erros de
arredondamento.
Operaes que resultem em expoente superior ao expoente mximo ocasionam o fen-
meno de overflow. Analogamente, operaes que resultem em expoente inferior ao ex-
poente mnimo ocasionam o fenmeno de underflow.

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).


D. Andrade Clculo Numrico 20

2.3 Erro absoluto e erro relativo


Como pudemos observar, em qualquer das duas formas de realizar as aproximaes,
obrigatoriamente 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 definido
por
EAx = |x x|
e o erro relativo
|x x|
ERx = , x 6= 0.
|x|
Note que em geral o valor exato x no conhecido. Portanto, comum utilizarmos a
seguinte definio de erro relativo:

|x x|
ERx = , x 6= 0.
|x|

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 , EAx < 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 EAy < 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
EAx 0.1
ERx = < 0.81 104
|x| 1234.9
e
EAy 0.1
ERy = < 0.14 101 .
|y| 7.2
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 significa que o erro relativo 0.02.
Voltando representao em aritmtica de ponto flututante com t dgitos dada em (2.2.6),
podemos observar que f tem t dgitos e est na forma normalizada. Alm disso, x e =
f 10e uma aproximao para x. A essa aproximao chamamos de arredondamento
D. Andrade Clculo Numrico 21

por trucamento. claro que nesse caso o erro de arredondamento por trucamento dado
por
EAx = |x xe| = |g| 10et.
Como j vimos, o arrendodamento simtrico obtido observando-se a magnitude da parte
a ser desprezada g. Quando consideramos a aproximao x e dada por

f 10e , se 0 < |g| < 0.5
x
e=
f 10e + 10et , se 0.5 |g| < 1

o erro no arredondamento simtrico dado por



|g| 10et, se 0 < |g| < 0.5
EAx = |x x
e| = .
(1 g) 10et , 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 101t .
(b) Utilizando aritmtica com t casas decimais e arrendodamento simtrico o erro relativo
1
mximo cometido dado por 101t .
2
(a) De fato, observe que

|x xe| |g| 10et 10et 10et


ERx = = e
< e
= e1
= 101t .
|e
x| |f | 10 (0.1) 10 10

(b)


|g| 10et
, se 0 < |g| < 0.5
|x xe| |f | 10e
ERx = = .
|e
x|
(1 g) 10et
, se 0.5 |g| < 1
|f | 10e + 10et
Como 0 |g| < 21 , ento |1 g| < 21 , podemos escrever



|g| 10et 1
< 101t , se 0 < |g| < 0.5
|x xe| |f | 10 e 2
ERx = = et .
|e
x|
(1 g) 10 |g 1| 10et 1
< < 10 1t
, se 0.5 |g| < 1
|f | 10e + 10et |f | 10e 2
D. Andrade Clculo Numrico 22

2.4 Dgitos Significativos


Ao utilizarmos um mtodo numrico para obter a resposta de um problema, devemos ter
confiana 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 2002 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 podem
ser usados com segurana. H dvidas sobre o quarto valor. A esses trs primeiros
algarismos mais o quarto algarismo duvidoso chamamos de algarismos significativos.
A relao entre o erro relativo e o nmero de dgitos significativos dado pela proposio:

Proposio 2.4.1 Se o erro relativo do valor aproximado de um nmero no excede

0.5 10n ,

ento esse valor tem n dgitos significativos.

Assim, dizemos que x aproxima x com d dgitos significativos se d o maior inteiro posi-
tivo para o qual se tem

|x x| 1
< 10d .
|x| 2

Se x = 1.414214 e x = 1.414 ento


|x x| 1
= 0.1513208043 103 < 103,
|x| 2
assim x aproxima x com trs dgitos significativos.
Se x = 2000000 e x = 1999994 ento
|x x| 1
= 0.3 105 < 105 ,
|x| 2
assim x aproxima x com cinco dgitos significativos.
2
aprox. 14.14213562
D. Andrade Clculo Numrico 23

Dgitos no nulos so sempre dgitos significativos. Em 0.057 tem-se dois dgitos signi-
ficativos; em 0.507 temos trs dgitos significativos. O nmero de dgitos significativos
num clculo depender do nmero de dgitos significativos dos dados iniciais.

Perda de dgitos significativos:

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 105 contm 5 dgitos de preciso.
Essa reduo na preciso chama-se perda de dgitos significativos por cancelamento na
subtrao.
Um exemplo importante onde esse
fenmeno ocorre em funes quadrticas, como por
exemplo em f (x) = x( x + 1 x). Vemos que uma expresso algebricamente equiva-
x
lente a f (x) dada por h(x) = . Notemos que f (500) = 500( 501 500) =
x+1+ x
500
500(22.3830 22.3607) = 11.1500 e h(500) = = 11.1748, esse ltimo valor
22.3830 + 22.3607
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 fun-
damentais 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:

EAx+y EAx + EAy .

De modo anlogo,
EAxy EAx + EAy .
D. Andrade Clculo Numrico 24

Agora passamos ao erro relativo na soma.


EAx+y EAx + EAy
ERx+y =
|x + y| |x + y|
EAx EAy
ERx+y + . (2.5.7)
|x + y| |x + y|
Se x e y possuem o mesmo sinal e so no nulos, isto , xy > 0, podemos reescerver a
expresso acima (2.5.7) como
EAx EAy EAx |x| EAy |y|
ERx+y + = +
|x + y| |x + y| |x| |x + y| |y| |x + y|
|x| |y|
ERx + ERy
|x + y| |x + y|
ERx + ERy .

Note que no caso geral, vale apenas (2.5.7).


Consideremos agora o produto xy, temos que,

x y = x.y + x2 + y1 + 1 2 .

Da expresso acima vemos que se |x| > 1 ou |y| > 1, ento as parcelas x2 e y1 con-
tribuiro para o aumento do erro no produto.
Supondo xy 6= 0, rearranjando e dividindo por xy, podemos escrever,
xy x.y x2 y1 1 2
= + + .
xy xy xy xy
Se x uma boa aproximao para x e se y uma boa aproximao para y, ento
x2 2
,
xy y
y1 1
,
xy x
1 2
0.
xy
Segue que para boas aproximaes tem-se

xy x.y 1 2
ERxy = + = ERx + ERy .
xy x y
D. Andrade Clculo Numrico 25

Portanto, para boas aproximaes, o erro relativo do produto , no mximo, da mesma


ordem que a soma dos erros relativos.
No caso da diviso,
x x + 1 x + 1 1
= = .
y y + 2 y 1 + y2
 
1 2
O termo lembra a srie geomtrica de razo :
1 + y2 y
X  k
1 2
= .
1 + y2 k=0
y
Supondo que y seja uma boa aproximao para y, podemos desprezar os termos da srie
de potncia superior a 2, assim, obtemos
 
x x + 1 x + 1 2
= 1 .
y y + 2 y y
Donde, obtemos  
x x + 1 2 x 1 x2 1 2
1 = + 2 2 .
y y y y y y y
1 2
Desprezando o termo 2 , segue que
y

x x 1 x2
EA xy = 2 .
y y y y
O Erro relativo do quociente ento, para boas aproximaes,
EA xy y
x2 y 1 2
1
ER xy = = EA xy 2 + ERx + ERy .
xy x y y x x y

Segue que para boas aproximaes o erro relativo na diviso , no mximo, da mesma
ordem que 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 infinito e contnuo. Segue que uma das consequncias da represen-
tao em mquina o arredondamento, exceto para nmeros demasiadamente grandes
D. Andrade Clculo Numrico 26

ou demasiadamente pequenos para serem representados na mquina, que do origem


a situaes denominadas de overflow e underflow, respectivamente. Resumindo, toda
operao em mquina 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 (simplificao),
c) erros de truncamentos (troca de sries por soma finita).
Imagine que desejamos calcular a rea da superfcie do nosso planeta Terra. Resolve-
mos usar a frmula S = 4r 2, onde r o raio da Terra. Quando fazemos isso estamos
cometando alguns erros. Primeiramente, estamos simplificando o problema, pois esta-
mos 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 simplificamos 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.
Existem mtodos que so muito sensveis a variaes nos dados, isto , pequenas vari-
aes nos dados provocam variaes muito grandes na soluo. Esse fenmeno inde-
pendente 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
D. Andrade Clculo Numrico 27

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 signifi-
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 ax2 + bx + c = 0 esto relacionadas pela relao de Vite
b
x1 + x2 = (2.6.8)
a
c
x1 x2 = (2.6.9)
a
que podem ser utilizadas na determinao das razes. Esse mtodo estvel.

Exerccio 2.6.1

1. Considere e 2.718282, 131
0.076923, 200 14.1421 e ln 2 0.69315. Assu-

mindo que e 2.71828182846... 131
0.076923076..., 200 14.1421356... e ln 2
0.69314718... Obtenha limites superiores para os erros absolutos, erros relativos e
porcentagens de erros em cada caso.

2. Qual o nmero de dgitos significativos em cada caso acima?

3. Arredonde os seguintes nmeros reais representando-os com trs e com cinco al-
garismos:
2 1 1
, , 5, , e, e1 .
9 256 44

4. Use a sua calculadora para calcular 31 3, 2 2 usando apenas 4 dgitos.

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


x
1 .
x+1
Apresente outra forma de calcular
f (x).

2.7 Resumo do captulo


Neste captulo apresentamos o conceito de erro e sua propagao no desenvolvimento
dos clculos numricos.
Equaes no lineares
3
3.1 Introduo

N este captulo estamos interessados em resolver numericamente a equao f (x) =


0, onde f uma funo arbitrria. Por resolver numericamente" entendemos determi-
nar uma aproximao 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 ni-
cas ferramentas disponveis.
Apresentaremos os mtodos mais comumente utilizados, entre eles o mtodo da bis-
seco, o mtodo das aproximaes sucessivas (ponto fixo), 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) () 6= 0.

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

28
D. Andrade Clculo Numrico 29

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.
Nessas condies, o mtodo da bisseco consiste em dividir o intervalo [a, b] ao meio,
obtendo subintervalos [a, m] e [m, b], e considerar como intervalo de busca o subintervalo
em que f tem sinais opostos nos extremos. Em seguida repete-se o procedimento com o
subintervalo de interesse. Aps um nmero finito de subdivises ou encontramos uma
soluo ou sabemos que a raiz encontra-se em algum subintervalo [ak , bk ].

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].
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, pois [f (a)]2 >
0. Segue que f (m)f (b) < 0 e portanto, a raiz se encontra no intervalo [m, b]. No mtodo
da bisseco, esse o teste para decidir quais dos subintervalos devemos considerar no
prximo passo.
Chamando a0 = a e b0 = b e efetuando sucessivas bisseces, obtemos intervalos [ak , bk ] e
ba
pontos mdios mk . Note que |bk ak | = bk ak = k .
2
O mtodo da bisseco gera sempre uma sequncia que converge para a soluo. De fato,
o mtodo gera uma sequncia de intervalos encaixados I0 = [a0 , b0 ] I1 = [a1 , b1 ] I2 =
[a2 , b2 ] . . . Ik = [ak , bk ] . . .. Os extremos ak dos intervalos compem uma sequn-
cia montona no decrescente limitada superiormente por b; portanto convergente. Os
extremos bk dos intervalos compem uma sequncia montona no crescente limitada
inferiormente por a, portanto convergente.
ba
Afirmamos que ambas convergem para o mesmo limite l. De fato, como bk ak =
2k
temos que
0 = lim (bk ak ) = lim bk lim ak .
k k k

Segue que lim bk = lim ak = l.


k k
D. Andrade Clculo Numrico 30

Agora mostraremos que l raiz de f (x). Como em cada passo tem-se f (ak )f (bk ) < 0,
ento
0 lim f (ak )f (bk ) = lim f (ak ) lim f (ak ) = [f (l)]2 0.
k k k

Segue que f (l) = 0.


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 (mk ) que converge para a raiz c de f e satisfaz
ba
|mk c| |bk ak | , k 1. (3.2.1)
2k
Nesse ponto interessante observar que se estamos procurando por uma aproximao
ba
para a raiz da equao com erro mximo , o fator < pode ser utilizado como
2k
critrio de parada. O ponto mdio mk de [ak , bk ] um candidato a soluo e satisfaz
ba ba
|bk mk | |bk ak | k < e |ak mk | |bk ak | k < .
2 2
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 [ak , bk ], assim devemos ter

ln( ba )
k>
. (3.2.2)
ln 2
O mtodo da bisseco, por ser o mais simples dos mtodos, ele gera uma boa aproxi-
mao 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 apresen-
2
tada a seguir para a funo f (x) = x2 sin(x), x em radianos.

Exemplo 3.2.2
 x 2
Determinar uma aproximao para uma raiz positiva da funo f (x) = sin(x) no
 x 22
intervalo [1.5, 2], x em radianos. Note que f (x) = 0 se, e somente se, = sin(x). Veja
2
a tabela 3.1
Assim, uma aproximao para a raiz procurada m5 = 1.921875.
D. Andrade Clculo Numrico 31

Tabela 3.1: Tabela para bisseco

k ak bk mk f (ak )f (mk )
0 1.5 2.0 1.75 > 0 o intervalo escolhido [mk , bk ]
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 [mk , bk ]
4 1.90625 1.9375 1.921875 >0

2.5

1.5

0.5

0 0.5 1 1.5 2 2.5 3


x


x 2
Figura 3.1: Grfico de 2
e sin(x)

Para saber quantas iteraes do mtodo da bisseco so necessrias para que a raiz
c que se encontra em [1.5; 2] satisfaa |bk ak | < 105 podemos utilizar (3.2.2) obtendo
k > 15.60964047. Portanto, o nmero mnimo de iteraes k = 16. Vejamos um exemplo.

Exemplo 3.2.3
Usando a expresso (3.2.1) podemos determinar quantas iteraes do mtodo da bis-
2
seco devemos realizar para obter uma aproximao da soluo de x2 sin(x) = 0 no
intervalo [1.5, 2], com erro menor do que 103 .
De fato, como
ln( ba

) ln( 21.5
103
)
k> = 8.96.
ln 2 ln 2
Segue que devemos realizar pelo menos 9 iteraes do mtodo da bisseco.
D. Andrade Clculo Numrico 32

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], e 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
ln( ba )
dado por k >
.
ln 2

Algoritmo 1 Mtodo da bisseco


1. Dados: [a, b] e f : [a, b] R contnua tal que f (a)f (b) < 0 e tolerncia > 0
b+a
2. Defina m := .
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:
> bisse o:=pro (f::pro edure,intervalo::anything=range,
toleran ia::anything=real ons)
lo al a,b,extremos,Detalhes,E,Iterao,m;
if nargs<>3 then
ERROR(`O nmero de argumentos exigido 3. Vo forne eu `||nargs||`.`)
fi;
if rhs(toleran ia)<0.1e-14 then
ERROR(`O valor mnimo de E a eitvel 0.1e-14).`)
fi;
Digits:=10;
extremos:=lhs(rhs(intervalo)), rhs(rhs(intervalo));
a:=min(extremos);
b:=max(extremos);
D. Andrade Clculo Numrico 33

if not(evalf(f(a)*f(b))<0) then
ERROR(`A funo no muda de sinal nos extremos do intervalo onsiderado.`)
fi;
Iterao:=0;
E:=abs(rhs(toleran ia));
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 en ontrado 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 bisse o om E = `,E);
printf(`\n%s%a`,`Intervalo ini ial `,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
> bisse o(f,x=1.5..2.0,E=0.00001);

Exemplo 3.3.1
D. Andrade Clculo Numrico 34

A equao x3 +3x10 = 0 tem uma raiz real no intervalo [1, 4]. Aps 15 iteraes obtemos
a seguinte aproximao = 1.698885489.

60

1
50

0.8
40
0.6

30
0.4

20
0.2

10 0
1 0.5 0.5 1 1.5 2 2.5
x
0.2
0 1.5 2 2.5 3 3.5 4
x 0.4

0.6

Figura 3.2: x3 + 3x 10 = 0 tem uma 


x 2
raiz em [1, 2] Figura 3.3: 2
sin(x)

Observao 3.3.2

Como vimos o mtodo da bisseco gera uma sequncia infinita. Podemos usar um dos
critrios de parada para interromper os clculos. Dada uma tolernica > 0 aplicamos
o mtodo da bisseco para obter m1 , m2 , . . . , mk at que uma das condies sejam satis-
feitas:

1. |mk mk1 | < ,


|mk mk1 |
2. < ,
|mk |
3. |f (mk )| < ,
4. o mtodo pra aps N iteraes.

Exerccio 3.3.3 1. Determine uma aproximao para a soluo de f (x) = 0 nos


seguintes casos:
(a) (x2 + 1) sin(x) = 0 no intervalo [2, 4] com preciso de 103 .
(b) (x2 + 1) cos(x) = 0 no intervalo [0, 2] com preciso de 104 .
(c) x3 2x2 x + 1 = 0 no intervalo [2, 3] com preciso de 105 .
D. Andrade Clculo Numrico 35

2. Determine em que pontos do primeiro quadrante os grficos 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].


a) Utilizando seis aplicaes do mtodo da Bisseco, encontre essa raiz e deter-
mine sua preciso.
b) Quantas aplicaes do mtodo seriam necessrias para avaliar a raiz com com
preciso de 104 .?

3.4 Mtodos iterativos


Estamos ainda interessados em resolver f (x) = 0, mas agora sob outro enfoque. Dizemos
que c um ponto fixo para f se f (c) = c. Podemos sempre transformar o problema f (x) =
0 em um problema de determinar um ponto fixo. De fato, se f (x) = 0, ento x + f (x) = x
e assim, tomando (x) = x + f (x), ficamos com o problema de ponto fixo (x) = x. Por
outro lado, se temos (x) = x, ento (x) x = 0. Logo, tomando f (x) = (x) x ficamos
com o problema f (x) = 0. Portanto, os problema determinar raiz e determinar ponto fixo
so equivalentes.
Iterar uma palavra de origem grega que significa repetir. Os mtodos iterativos so
mtodos baseados na repetio de um procedimento.
Um mtodo iterativo estacionrio de passo s 1 um mtodo que gera uma sequncia
(xn ) dada por
xn+1 = (xns+1 , xns+2 , . . . , xn ).
Se muda a cada iterao, isto ,
xn+1 = n+1 (xns+1 , xns+2 , . . . , xn )
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
xn+1 = (xn ), n 0.
Vamos estudar inicialmente apenas os mtodos iterativos estacionrios de passo 1.
Os mtodos iterativos geram uma sequncia infinita (xk ) 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:
D. Andrade Clculo Numrico 36

1. |f (xk )| < ;

2. |xk+1 xk | < ;

|xk+1 xk |
3. < ;
|xk+1 |

4. o mtodo pra aps N iteraes.

3.5 O mtodo do ponto fixo


O mtodo das aproximaes sucessivas ou o mtodo do ponto fixo gera uma sequncia
(xn ) utilizando a seguinte lei
xn+1 = (xn ), n 0,
(3.5.3)
onde a aproximao inicial x0 deve ser fornecida para iniciar o procedimento.
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 x0 [a, b] tem-se:
(a) xn+1 = (xn ) pertence a [a, b], n 0.
(b) limn xn = 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)
= ().
yx

Donde segue que


|(y) (x)| = | ()||y x| M|y x|,
e uma contrao.
D. Andrade Clculo Numrico 37

Agora mostraremos que xn uma sequncia de Cauchy e portanto convergente.


Primeiramente, notemos que

|xn+1 xn | = |(xn ) (xn1 )| M|xn xn1 | M 2 |xn1 xn2 | . . . M n |x1 x0 |.

No caso geral,temos

|xn+k xn | = |xn+k xn+k1 + xn+k1 xn+k2 + xn+k2 xn |


|xn+k xn+k1 | + |xn+k1 xn+k2 | + + |xn+1 xn |
M n+k1 |x1 x0 | + M n+k2 |x1 x0 | + + M n |x1 x0 |
Mn
|x1 x0 |.
1M
Como M < 1 segue que M n 0 e portanto |xn+k xn | 0 quando n . Assim, a
sequncia de Cauchy em R, sendo convergente para algum c [a, b].
Agora vamos provar que c = lim xn soluo de x = (x). De fato,

c = lim xn+1 = lim (xn ) = ( lim xn ) = (c).


n n n

Assim, c soluo do problema de ponto fixo x = (x).


Provar que c a nica soluo fcil, pois se c e c1 so solues, ento

|c c1 | = |(c) (c1 )| M|c c1 |,

como M < 1, seque que c = c1 . 


Para responder segunda pergunta vamos precisar da seguinte definio.

Definio 3.5.2 Dado uma sequncia (xn ) convergente para seja En = xn . Se existe
um real p 1 e c 6= 0 tais que
|En+1 |
lim = c,
n |En |p

dizemos que a ordem de convergncia da sequncia p. Se p = 1 dizemos que a ordem


de convergncia 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 xn+1 =


(xn ), n 0, gerada pelo mtodo do ponto fixo, p = 1.
D. Andrade Clculo Numrico 38

Demonstrao: De fato, pelo teorema do valor mdio, existe n entre xn1 e c tais que

xn c = (xn1 ) (c) = (n )(xn1 c).

Assim,
|xn c|
= | (n )|.
|xn1 c|
Fazendo n , obtemos

|xn c|
lim = | (c)|.
n |xn1 c|

Isto responde segunda pergunta. 


Note que (x) = x tem soluo quando os grficos de y = (x) e y = x se cruzam.

0 1 2 3 4
x

Figura 3.4: Grfico de y = (x) e y = x

Exemplo 3.5.4
1
A equao x3 x 5 = 0 pode ser reescrita como x = x3 5 = 0 ou x = (x + 5) 3 ou ainda
5
x= 2 . A forma da equao a ser escolhida depende da raiz a ser localizada e se a
x 1
funo satisfaz s condies do Teorema 3.5.1.

Exemplo 3.5.5
D. Andrade Clculo Numrico 39

A equao ln xx+2 = 0 pode ser reescrita como x = ln


| x{z+ 2} ou x = exp(x 2). A equao
| {z }
=(x) =1 (x)
ln x x + 2 = 0 possui soluo nos intervalos (0, 1) e (3, 4). Observe que | (x)| = | x1 | < 1
em (3, 4) e |1 (x)| = 1 (x) < 1 em (0, 1).

Algoritmo 2 Mtodo das aproximaes sucessivas


Dado f (x) = 0 escreva como (x) = x. Seja x0 aproximao inicial, > 0 tolerncia.
1. Se |f (x0 )| < faa c = x0 e pare.
2. k = 1.
3. x1 = (x0 ).
4. Se |f (x1 )| < ou |x1 x0 | < faa c = x1 e pare.
5. x0 = x1
6. k = k + 1 e volte ao passo 3.

Interpretao Grfica: Ilustramos a seguir a convergncia da sequncia no mtodo


do ponto fixo: a partir da aproximao inicial x0 obtem-se x1 subindo at a funo e
depois paralelamente ao eixo OX at encontrar a bissetriz e descendo at o eixo OX. A
partir de x1 repete-se o procedimento. Veja os grficos para o exemplo x = exp(x 2) com
aproximao inicial x0 = 2.5 e ln(x)+3
2
= x com x0 = 1.

Mtodo Prtico: Uma maneira prtica de utilizar o mtodo das aproximaes suces-
sivas 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 grfico em 3.5. Note
que | (x)| < 1 no intervalo.

3.6 Usando Maple: o mtodo do ponto fixo


O seguinte procedimento em Maple determina uma aproximao pelo mtodo do ponto
fixo aps n iteraes.

> restart:
> pfixo1:=pro (f, hute,n)
> lo al x,k;
> x[0:=evalf( hute );
> for k from 1 to n do
> x[k:=evalf( f(x[k-1) );
D. Andrade Clculo Numrico 40

3 2

2.5
1.5
2

y
1.5 y1

1
0.5
0.5

0 0.5 1 1.5
x 2 2.5 3 0 0.5 1
x 1.5 2

Figura 3.5: Convergncia no mtodo Figura 3.6: Convergncia no mtodo


do ponto fixo do ponto fixo

> 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, `itera oes`);
> end:
Exemplo
> f:=x->exp(x-2);
> pfixo1(f,1.0,10);

Exerccio 3.6.1 1. Descubra onde y = x3 x + 1 intercepta a parbola y = 2x2 e


determine 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) =
x2 0.5 e resolvendo x = (x) = x2 +x0.5 pelo mtodo das aproximaes sucessivas
com x0 = 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,
D. Andrade Clculo Numrico 41

Tabela 3.2: Tabela para ponto fixo

k xk (xk ) |xk+1 xk |
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 105
9 .158594 .158594 .1 105
10 .158594 .158594 0

como 5 casas decimais exatas.


a) x5 x 1 = 0
b) x2 cos(x) = 0
c) exp(x2 ) x2 2x + 2 = 0

3.7 O mtodo de Newton-Raphson


O mtodo de Newton-Raphson um dos mtodos mais eficientes 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 xn (a, b), usando o desenvolvimento de Taylor, podemos escrever
1
f (x) = f (xn ) + f (xn )(x xn ) + f (n )(x xn )2 ,
2!
onde n est entre x e xn . Se a soluo, ento
1
0 = f (xn ) + f (xn )( xn ) + f (n )( xn )2 ,
2!
onde n est entre e xn .
D. Andrade Clculo Numrico 42

Supondo que xn esteja suficientemente prximo de , podemos desprezar o resto 2!1 f (n )(


xn )2 , donde obtemos uma aproximao para

f (xn )
xn ,
f (xn )

desde que f (xn ) 6= 0.


Obtemos assim o mtodo de Newton-Raphson que nos d xn+1 como uma aproximao
para a raiz por

f (xn )
xn+1 = xn , n 0.
f (xn )
(3.7.4)
Note que o mtodo de Newton-Raphson um mtodo iterativo de passo 1 e que para ser
iniciado necessitamos da aproximao inicial x0 .
A funo
f (x)
(x) = x
f (x)
(3.7.5)
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 () 6= 0. Mostre que


existe > 0 tal que o mtodo de Newton-Raphson gera uma sequncia (xn ) que converge
para para qualquer que seja a aproximao inicial x0 [ , + ].

Mtodo prtico: Uma maneira prtica para usar o mtodo de Newton-Raphson uti-
lizar uma tabela como mostrado abaixo, tabela 3.3.
Nesse exemplo, determinamos uma aproximao para a soluo da equao 4 cos(x)ex =
0 localizada em [0, 1], tomamos x0 = 0.9 como aproximao inicial.

Interpretao Grfica: A reta tangente ao grfico de f (x) no ponto (xk , f (xk )) cruza o
eixo OX no ponto xk+1 dado por

f (xk )
xk+1 = xk .
f (xk )
D. Andrade Clculo Numrico 43

Tabela 3.3: Modelo de tabela para Newton-Raphson

k xk f (xk ) f (xk ) |xk+1 xk |


0 0.9 0.02683676 -5.59291075
1 0.904798353 -0.00005693 -5.61663586 0.004798353
2 0.904788217 0 -5.61658576 0.000010136
3 0.9047882179 - - -

3 4cos(x) e exp(x)

4
2

1
3

x
-2 -1.5 -1 -0.5 0.5 1 1.5
0
2

-1

1
-2

-3 0 0.2 0.4 0.6 0.8 1 1.2 1.4


x

-4

4 cos(x) ex = 0 tem duas razes. Figura 3.7: 4 cos(x) e ex se cruzam

Isso justifica o outro nome do mtodo de Newton-Raphson: o mtodo das tangentes.

A escolha da aproximao inicial deve ser cuidadosa, pois caso contrrio o mtodo pode
no convergir ou convergir para uma soluo no desejada. Na figura da direita 3.11, x0
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.


Suponha que f seja de classe C 2 em (a, b) e que tenha raiz simples [a, b]. Usando a
expanso em Taylor em torno de algum ponto xk temos:
1
f (x) = f (xk ) + (xk )f (xk ) + (x xk )2 f (k )
2
onde k algum ponto entre xk e .
Tomando x = , reduzimos a expresso acima
1
0 = f (xk ) + ( xk )f (xk ) + ( xk )2 f (k )
2
D. Andrade Clculo Numrico 44

Figura 3.8: Interpretao grfica

onde k algum ponto entre xk e . Dividindo por f (xk ) obtemos



f (xk ) 1 2 f (k )
0= + ( xk ) + ( xk ) .
f (xk ) 2 f (xk )
f (xk )
Substituindo xk por xk+1 , tem-se
f (xk )

1 2 f (k )
0 = xk+1 + + ( xk ) .
2 f (xk )
Reagrupando,
1 f (k )
xk+1 = ( xk )2 .
2 f (xk )
Tomando o mdulo e fazendo k ,

|xk+1 | 1 f (k ) 1 f ()
lim
= lim = 6= 0.
k | xk |2 2 k f (xk ) 2 f ()

O que mostra que a convergncia no mtodo de Newton-Raphson quadrtica.

Apresentamos a seguir uma demonstrao mais simples em que supe-se que seja de
classe C 2 .
D. Andrade Clculo Numrico 45

4
y
2

0 1 1.2 1.4 1.6 1.8


x 2 2.2 2.4

-2

Figura 3.9: boa escolha para o ponto Figura 3.10: escolha ruim para o
inicial. ponto inicial

Suponha que seja de classe C 2 em (a, b) e que tenha raiz simples [a, b] e seja
f (x)
(x) = x . Usando o teorema de Taylor, temos
f (x)
1
(x) = () (x ) () + (x )2 (),
2
onde algum ponto entre x e . Sabendo que () = e () = 0, fazendo x = xn
obtemos
1
(xn ) = + (xn )2 (n ),
2
onde n algum ponto entre xn e . Segue que
1
xn+1 = + (xn )2 (n ),
2
ou seja,
xn+1 1

(xn )2 = 2 | (n )|.
Fazendo n , obtemos

xn+1
lim = lim 1 | (n )| = 1 | ()| =
6 0.
n (xn ) 2 n 2 2
D. Andrade Clculo Numrico 46

O que mostra, nesta situao particular, que a convergncia no mtodo de Newton-


Raphson tambm quadrtica.
O teorema a seguir um resultado muito til, pois apresenta uma critrio para a escolha
do chute inicial no mtodo de Newton-Raphson.

Teorema 3.7.2 Seja f : [a, b] R de classe C 2 e seja (a, b) raiz de f . Seja x0 a


aproximao inicial no mtodo de Newton-Raphson  e seja (xk ) a sequncia gerada por
f (x0 )
este mtodo. Seja o intervalo J = x0 , x0 2 e M = max{|f (x)|, x J}. Suponha
f (x0 )
que
|f (x0 )| |f (x0 )|
M < .
|f (x0 )| 2
Ento, lim xk = .
k

Exemplo 3.7.3 (Uso do mtodo de Newton-Raphson no clculo da raiz quadrada)


Seja N > 0. Queremos calcular uma aproximao para N. Para isso tomemos a funo
auxiliar f (x) = x2 N. claro que N uma soluo de f (x) = 0. Aplicando o mtodo
de Newton-Raphson funo f obtemos a seguinte funo de iterao :
N
f (x) x2 N x+ x
(x) = x = x = .
f (x) 2x 2

x + Nx
A expresso (x) = explica um dos mtodos do clculo da raiz quadrada muito
2
utilizado no no ensino fundamental. Este mtodo conhecido como o mtodo babilnio
sendo apresentado pelos seguintes passos:

1. Adivinhe a uma aproximao para N .

2. Divida N pela aproximao a e obtenha b.

3. A nova aproximao a mdia m = a+b


2
.

4. Volte ao passo 2 e troque a por m.


D. Andrade Clculo Numrico 47


Como exemplo vamos calcular 7.
Tomemos como aproximao inicial x0 = 2. Ento, temos
7
2+ 2
x1 = = 2.75.
2
Repetindo, obtemos
7
2.75 + 2.75
x2 = = 2.647727273.
2
Agora vamos determinar x3 :
7
2.647727273 + 2.647727273
x3 = = 2.645752048.
2
Assim, sucessivamente. Note que (2.645752048)2 = 7.000003899.
O que nos surpreende que este mtodo, que coincide com o mtodo de Newton-Raphson,
j era empregado pelos babilnios cerca de 2000 anos antes de Cristo.

Veja o algoritmo para o mtodo de Newton-Raphson.

Algoritmo 3 Mtodo de Newton-Raphson


f (x)
Dado f (x) = 0 faa (x) = x . Seja x0 aproximao inicial, > 0 tolerncia.
f (x)
1. Se |f (x0 )| < faa c = x0 e pare.
2. k = 1.
3. x1 = (x0 ).
4. Se |f (x1 )| < ou |x1 x0 | < faa c = x1 e pare.
5. x0 = x1
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 105 ou executa 20 iteraes do mtodo.

> mnr := pro (x0,fun,erro,itmax) lo al dfun,xa,xb, i;


dfun:= unapply(diff(fun(x),x),x); xa:=x0;
D. Andrade Clculo Numrico 48

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* os(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) (x2 + 1) sin(x) = 0 no intervalo [2, 4] com 5 dgitos significativos.
(b) (x2 + 1) cos(x) = 0 no intervalo [0, 2] com 5 dgitos significativos.
(c) x3 2x2 x + 1 = 0 no intervalo [2, 3] com 5 dgitos significativos.

2. Determine em que pontos do primeiro quadrante os grficos das funes f e g


coincidem, onde f (x) = x e g(x) = tan(x). Use o mtodo de Newton-Raphson para
determinar a menor soluo positiva.

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 (xk ) por uma aproxi-
mao:
f (xk ) f (xk1 )
f (xk ) .
xk xk1
Resulta que

f (xk )xk1 f (xk1 )xk


xk+1 = , k 1,
f (xk ) f (xk1 )
(3.9.6)
D. Andrade Clculo Numrico 49

esse o mtodo da secante.


Chamando
xf (y) f (x)y
(x, y) = ,
f (y) f (x)
vemos que o mtodo da secante estacionrio de passo 2.

A interpretao geomtrica, ilustrada na figura a seguir, que a reta secante ao grfico


de f que passa pelos pontos (xn1 , f (xn1 )) e (xn , f (xn )) cruza o eixo OX exatamente no
ponto xn+1 dado por
f (xn )xn1 f (xn1 )xn
xn+1 = .
f (xn ) f (xn1 )

xn+1 xn xn1

Figura 3.11: uma iterao do mtodo da secante

Teorema 3.9.1 Suponha que f, f , f so contnuas em todos os pontos de algum inter-


valo contendo raiz simples de f . Se as aproximaes iniciais x0 e x1 so suficientemente
prximas de , ento a sequncia gerada pelo mtodo da secante converge para . Alm
1+ 5
disso, a ordem de convergncia no mtodo da secante p = 1.618 .
2
A prova desse resultado pode ser encontrada no livro de K. E. [11].

Exemplo 3.9.2
D. Andrade Clculo Numrico 50

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 grfico, vemos
que existem infinitas solues. Tomando x0 = 0.75 e x1 = 1.0 obtemos as seguintes
aproximaes, veja tabela 3.4.

Tabela 3.4: Mtodo da secante


k xk1 xk f (xk1 ) f (xk )
1 0.75 1.0 -0.3013 .5574
2 1.0 0.8377 0.5574 -.06969
3 0.83771 0.8558 -0.06969 -0.0145
4 0.8558 0.8605 -0.0145 0.0005
5 0.8605 0.8603 -0.3312 105 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 (xk1 , yk1)
e (xk , yk ) necessrios para determinaro prximo (xk+1 , yk+1), onde yk = f (xk ). Denomi-
namos xk de a k-sima iterada do mtodo da secante. Assumimos que f pelo menos de
classe C 2 ..
Consideremos a k-sima reta secante
(x xk )
yk (x) = yk + (yk yk1) ,
(xk xk1 )

com xk xk1 6= 0. Essa reta tem zero localizado em x = xk+1 . A expresso para o zero

Algoritmo 4 Mtodo da secante


Dado f (x) = 0, seja x0 e x1 aproximaes iniciais e > 0 tolerncia.
1. n = 1
f (xn )xn1 f (xn1 )xn
2. Faa xn+1 = .
f (xn ) f (xn1 )
3. Se |f (xn+1 )| < pare, a aproximao xn+1
4. x0 = x1 , xn+1 = x1
5. n = n + 1 e volte ao passo 2.
D. Andrade Clculo Numrico 51

dessa reta secante dada por


(xk xk1 )
xk+1 = xk yk .
(yk yk1)
Agora supomos que a sequncia (xk ) gerada pelo mtodo da secante seja tal que para
xk x e yk y = 0 quando k .
Vamos precisar supor que f (x ) 6= 0. Consideremos o erro Ek = xk x . Devido a
convergncia, podemos supor que Ek 0 quando k .
Uma nova iterada do erro dada por
Ek+1 = xk+1 x
yk (xk xk1 )
= xk x
(yk yk1 )
(Ek Ek1 )
= Ek f (x + Ek )
f (x + Ek ) f (x + Ek1 )

(y + y Ek + 12 y

Ek2 + O(Ek3 ))(Ek Ek1 )
= Ek E + 1 y E 2 y y E 1 2 2 2
,
y + y k 2 k k1 2 y Ek1 + (Ek Ek1 )O(Ek + Ek1 Ek + Ek1 )

onde usamos a aproximao de Taylor, assumimos que Ek pequeno e a identidade a3


b3 = (a b)(a2 + ab + b2 ) em (Ek3 Ek1
3
).
Usando que y = 0 e que a b = (a b)(a + b) em Ek2 Ek1
2 2 2
,

Ek (y
+ 21 y Ek + O(Ek2 ))(Ek Ek1 )
Ek+1 = Ek + 1 y (E + E 2 2
(Ek Ek1 )(y 2 k k1 ) + O(Ek + Ek1 Ek + Ek1 ))
1

y Ek1 + O(Ek + Ek1 )
= Ek 2 ,
y + O(Ek + Ek1 )
aps reduzir ao denominador comum e considerar que O(x) + O(x2 ) = O(x) para x pe-
queno.
Donde obtemos a seguinte relao de recorrncia

1 y
Ek+1
Ek1 Ek C0 Ek1 Ek ,
2 y
y
quando k e C0 2y , desde que y 6= 0.


Resolvendo a recurso bilinear, obtemos
Ek+1 CEkr , (3.9.7)
D. Andrade Clculo Numrico 52

para k suficientemente grande ou Ek suficientemente pequeno, onde a taxa r e o coefi-


ciente C so constantes. Donde
r
Ek CEk1
ou   1r
Ek
Ek1 .
C
Substituindo, !
  1r 1+ 1r
Ek Ek
Ek+1 C0 Ek C0 1 . (3.9.8)
C Cr
Comparando as potncias de Ek em (3.9.7) e (3.9.8) obtemos:
1
1+ = r ou r 2 r 1 = 0.
r
Donde
1 51+ 5
r= 1.618,
2 2
r
escolhendo a raiz positiva. Tambm C = C0r+1 .
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 iter-
valo [a, b] e o nmero N de iteraes.

> restart:
> Mse ante:=pro ( f, x0, x1, N)
> lo al a , b , , n,j:
> a:=evalf(x0): b:=evalf(x1):
>print(`Aproximao ini ial`,a,b,f(a),f(b));
>for j from 1 to N do
> := ( a*f(b)-b*f(a) )/( f(b)-f(a)):
> a:=b: b:= :
D. Andrade Clculo Numrico 53

>print(`Soluo Aproximada aps `, j,`iteraes :`, )


> od: end:
##Exemplo
> f:=x-> x*tan(x)-1; # tem infinitas solu oes, a menor est em [0.5,1.
> Mse ante(f,.5,1.5,10);

3.11 Como escolher o melhor mtodo


Ao decidir-se por um dos mtodos, deve-se considerar as suas principais vantagens. As-
sim, 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 fixo 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 fixo converge desde que a funo tenha derivada satisfazendo |(x)| m < 1, x
O mtodo de Newton-Raphson, apesar de ser bastante eficiente, h casos em que ele pode
falhar. Seguem alguns casos onde o mtodo pode falhar.

3.12 O Mtodo de Newton-Raphson para razes mlti-


plas
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.
Suponha que seja raiz com multipliciadade q. Expandindo f (x) em um polinnio de
D. Andrade Clculo Numrico 54

Figura 3.12: Duas situaes ruins


no mtodo de Newton-Raphson

Taylor em torno do ponto x = at o termo de ordem q 1, temos


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

= .
f (x) q
Logo,
f (x)
= xq .
f (x)
D. Andrade Clculo Numrico 55

Segue que uma aproximao xn+1 para a raiz dada por

f (xn )
xn+1 = xn q , n 0.
f (xn )
(3.12.9)

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, en-
tretanto os polinmios so funes no lineares que possuem inmeras propriedades que
se utilizadas simplificam 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.

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
quantidade de razes que um polinmio possui em um dado intervalo.
D. Andrade Clculo Numrico 56

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.

f0 (x) = f (x)

f1 (x) = f (x)
f0 (x) = q1 (x)f1 (x) f2 (x)
f1 (x) = q2 (x)f2 (x) f3 (x)
.. ..
. = .
fr1 (x) = qr (x)fr (x) 0

os polinmios f2 , f3 , . . . , fr so os restos das divises com o sinal trocado.


Como MDC(f (x), f (x)) = 1, segue que fr (x) uma constante e o processo pra.

Consideremos a seqncia de funes

P = {f0 (x), f1 (x), . . . , fr (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) 6= 0 e
f (c) 6= 0, ento o nmero de razes distintas de f (x) entre b e c dado por (b) (c).

Exemplos
a) Seja f (x) = x3 6x2 + 11x 6. A seqncia de funes
11
P = {x3 6x2 + 11x 6, x2 4x + , x 2, 1}.
3
Tomemos b = 0 e c = 4 e o seguinte quadro de mudanas de sinais da sequncia em P :
pontos sinais de P
0 - + - +
4 + + + +
D. Andrade Clculo Numrico 57

Segue que (b) (c) = 3 0 = 3 e portanto existem trs razes nesse intervalo. Veja o
grfico 3.13.1.
b) Para o polinmio p(x) = x4 10x3 + 35x2 50x + 24 temos a seguinte sequncia
15 2 35 25 29 5
P = {x4 10x3 + 35x2 50x + 24, x3 x + x , x2 5x + , x , 1}.
2 2 2 5 2
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) = x3 + 2x2 5x 6 temos a seguinte sequncia
4 5 22
P = {x3 + 2x2 5x 6, x2 + x , x + , 1}.
3 3 9
Tomemos b = 4 e c = 4. Segue que (b) (c) = 3 e portanto existem trs razes nesse
intervalo.

O Maple tem uma rotina que determina a sequncia dos polinmios do teorema de
Sturm:

>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 coeficientes reais, no excede ao nmero de variaes de sinal dos
coeficientes de p(x). Alm disso, p um inteiro par e no negativo.
D. Andrade Clculo Numrico 58

Figura 3.13: Exemplo a Figura 3.14: Exemplo b

Para o polinmio p(x) = x4 10x3 + 35x2 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) = x4 10x3 + 35x2 50x + 24 temos que p(x) = x4 + 10x3 + 35x2 +
50x + 24 e = 0 e portanto p 0, ou seja p = 0, no existe raiz negativa.
Para o polinmio p(x) = x5 3 x4 + x3 x2 + 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) = x5 3 x4 x3 x2 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) = an xn + an1 xn1 + + a1 x + a0 um polinmio de grau n


(portanto an 6= 0) e seja
|ak |
= 1 + max .
0kn1 |an |
D. Andrade Clculo Numrico 59

Ento, as razes de p(x) pertencem ao crculo |x| .

Para o p(x) = x4 10x3 + 35x2 50x + 24 temos = 1 + max{10, 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) = x3 6x2 + 11x 6 temos = 1 + max{6, 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) = an xn + an1 xn1 + + a1 x + a0 de grau n, para calcularmos
n(n + 1)
o valor p(c) realizamos n adies e at multiplicaes. Para n grande a substi-
2
tuio direta de x por c na expresso do polinmio no computacionalmente eficiente.
Usando a forma encaixada de um polinmio calculamos o valor p(c) realizando apenas n
adies e n multiplicaes.
Calcular de forma eficiente o valor de um polinmio importante na utilizao do mtodo
de Newton-Raphson:
p(xk )
xk+1 = xk .
p (xk )
Vamos ilustrar a forma encaixada de um polinmio com alguns exemplos:
grau 2: p2 (x) = ax2 +bx+c = (ax+b)x+c. Assim, a forma encaixada p2 (x) = (ax+b)x+c.
grau 3: p3 (x) = a3 x3 + a2 x2 + a1 x+ a0 = (((a3 x+ a2 )x+ a1 )x) + a0 . Assim, a forma encaixada
p3 (x) = (((a3 x + a2 )x + a1 )x) + a0 .
grau 4: p4 (x) = a4 x4 + a3 x3 + a2 x2 + a1 x + a0 = (((a4 x + a3 )x + a2 )x + a1 )x)) + a0 . Assim, a
forma encaixada p4 (x) = ((((a4 x + a3 )x + a2 )x + a1 )x) + a0 .
Chamando b4 = a4 , b3 = b4 x + a3 , b2 = b3 x + a2 e b1 = b2 x + a1 e b0 = b1 x + a0 , podemos
calcular p4 (x) usando esses coeficientes:

b4 = a4
b3 = b4 x + a3
b2 = b3 x + a2
b1 = b2 x + a1
b0 = b1 x + a0 = p4 (x)

Essa forma encaixada pode ser colocada numa tabela conhecida como dispositivo prtico
de Briot-Ruffini-Hrner (ilustramos aqui com um polinmio de grau 4).
D. Andrade Clculo Numrico 60

a4 a3 a2 a1 a0
x b4 x b3 x b2 x b1 x
b4 b4 x + a3 b3 x + a2 b2 x + a1 b1 x + a0
| {z } | {z } | {z } | {z }
b3 b2 b1 b0

No caso geral de um polinmio p(x) = an xn + an1 xn1 + + a1 x + a0 de grau n, tem-se

p(x) = ((. . . (an x + an1 )x + + a2 )x + a1 )x + a0 ,

e portanto

bn = an
bn1 = bn x + an1
bn2 = bn1 x + an2
.. ..
. = .
b0 = b1 x + a0 = pn (x)

ou recursivamente:

bn = an
bj = bj+1 x + aj , j = n 1, . . . , 2, 1, 0.

No caso geral a tabela para o dispositivo de Briot-Ruffini-Hrner


an an1 an2 a2 a1 a0
x bn x bn1 x b3 x b2 x b1 x
bn bn x + an1 bn1 x + an2 b3 x + a2 b2 x + a1 b1 x + a0
| {z } | {z } | {z } | {z } | {z }
bn1 bn2 b2 b1 b0

Podemos utilizar os coeficientes bj para calcular p (x). Vamos fazer a demonstrao para
o caso de um polinmio de grau 4.
Seja p(x) = a4 x4 + a3 x3 + a2 x2 + a1 x + a0 . Temos que

b4 = a4 a4 = b4
b3 = b4 x + a3 a3 = b3 b4 x
b2 = b3 x + a2 a2 = b2 b3 x
b1 = b2 x + a1 a1 = b1 b2 x
b0 = b1 x + a0 a0 = b0 b1 x
D. Andrade Clculo Numrico 61

Como p (x) = 4a4 x3 + 3a3 x2 + 2a2 x + a1 , substituindo os valores de ai obtemos

p (x) = 4b4 x3 + 3(b3 b4 x)x2 + 2(b2 b3 x)x + (b1 b2 x).

Realizando as simplificaes, chega-se a

p (x) = b4 x3 + b3 x2 + b2 x + b1 .

Assim, o valor p (x) pode ser obtido utilizando os coeficientes bj .


Aplicando o esquema de Briot-Ruffini-Hrner a esse polinmio, obtemos

c4 = b4
c3 = c4 x + b3
c2 = c3 x + b2
c1 = b1 x + b1 = p (x)

Em geral, os coeficientes cj so dados recursivamente por

cn = bn
cj = cj+1 x + bj , j = n 1, . . . , 2, 1.

Podemos calcular p(x) e p (x) simultaneamente numa mesma tabela. Ilustramos no caso
geral:
an an1 an2 a2 a1 a0
x bn x bn1 x b3 x b2 x b1 x
bn b x+a b x+a b3 x + a2 b2 x + a1 b1 x + a0
|n {z n1} |n1 {z n2} | {z } | {z } | {z }
bn1 bn2 b2 b1 b0 =p(x)
x cn x cn1 x c3 x c2 x
cn cn x + bn1 cn1 x + bn2 c3 x + b2 c2 x + b1
| {z } | {z } | {z } | {z }
cn1 cn2 c2 c1 =p (x)

Exemplo 3.13.6

Vamos avaliar p(3.5) e p (3.5) onde p(x) = x3 6x2 +11x6 utilizando o dispositivo prtico.
D. Andrade Clculo Numrico 62

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) = x3 6x2 +
11x 6 com x0 = 3.5, obtemos
p(x0 ) 1.875
x1 = x0
= 3.5 3.17
p (x0 ) 5.75
p(x1 ) 0.4351
x2 = x1

= 3.17 3.030.
p (x1 ) 3.1103
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
inferior a 102 , tal que a matriz abaixo seja singular

x 31 x
1 x 0
x 9 6

2. Use o Newton-Raphson para polinmios para determinar a raiz pertencente ao


intervalo [0,1] do polinmio p(x) = x3 + 2x2 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) x5 x 1 = 0
b) x2 cos(x) = 0
c) exp(x2 ) x2 2x + 2 = 0
D. Andrade Clculo Numrico 63

0 1 2 3 4
x

Figura 3.15: grfico de p(x) = x3 6x2 + 11x 6

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 x3 2x2 + 2x 5 = 0


localizada no intervalo [2, 2.5].

6. Use o mtodo das secantes para determinar a raiz da equao x2 + x 6 = 0 com


x0 = 1.5 e x1 = 1.7.

7. A equao ( x2 sin x)2 = 0 tem uma raiz positiva com multiplicidade 2 no intervalo
[1, 2]. Use o Mtodo de Newton-Raphson modificado para determinar esta raiz com
5 casas decimais exatas.

8. Verifique que a equao x3 x + 2 9 3 = 0 tem a = 33 como raiz de multiplicidade 2.
Use o mtodo de Newton-Raphson modificado para obter uma aproximao para
a com 3 casas decimais exatas.

9. Uma raiz de x4 2x3 2x1 = 0 x = 1. Qual a multiplicidade desta raiz. Quantas


D. Andrade Clculo Numrico 64

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 fixo;

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.


Sistemas lineares: mtodos diretos
4
4.1 Introduo
Os mtodos numricos para soluo de sistemas de equaes lineares podem ser agrupa-
dos 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. Exis-
tem outros mtodos diretos que vamos estudar nesse captulo, como o mtodo de decom-
posio 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 fixo de Banach.
Estudaremos o mtodo de Gauss-Jacobi e o mtodo de Gauss-Seidel no prximo captulo.

65
D. Andrade Clculo Numrico 66

4.2 O mtodo de eliminao de Gauss


Consideremos o sistema de equaes lineares dado por

a11 x1 + a12 x2 + a13 x3 + + a1m xm = b1


a21 x1 + a22 x2 + a23 x3 + + a2m xm = b2
a31 x1 + a32 x2 + a33 x3 + + a3m xm = b3
.. .. .
. . = ..
an1 x1 + an2 x2 + an3 x3 + + anm xm = bn .

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
triangular superior. Uma vez tendo o sistema na forma triangular superior, a soluo
obtida pela substituio inversa.
Dado o sistema Bx = b,

a11 a12 ... a1n ... a1m x1 b1
a21 a22 ... a2n ... a2m x2
b2


... ... ... ... ... ... ... ...
=

an1 an2 ... ann ... anm xm bn
| {z }
=B

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



a11 a12 ... a1n ... a1m b1
a21 a22 ... a2n ... a2m b2
A= ... ... ... ... ... ... ..

an1 an2 ... ann ... anm bn


Nas operaes elementares a serem realizadas a seguir estamos supondo que sempre
possvel obter em cada coluna um elemento no nulo.
(0)
Para iniciar o processo vamos denotar A(0) = A e os seus elementos denotados por aij .
Os multiplicadores so dados por
(0)
ak1
mk1 = (0)
, k = 2, 3, .., n
a11
D. Andrade Clculo Numrico 67

(0)
A fim de eliminar os elementos ak1 , k = 2, 3, ..., n realizamos as seguintes operaes
elementares sobre as linhas

Lk Lk mk1 L1 , k = 2, 3, ..., n.
(1)
Aps essa etapa obtemos a matriz A(1) cujos elementos so denotados por aij . Note que
(1)
os elementos ak1 = 0, k = 2, 3, ..., n.
(1)
A fim de eliminar os elementos ak2 , k = 3, ..., n precisaremos nessa etapa dos multipli-
cadores
(1)
ak2
mk2 = (1)
, k = 3, .., n
a22
e realizamos as seguintes operaes

Lk Lk mk2 L2 , k = 3, ..., n.
(2)
Aps essa operao obtemos a matriz A(2) cujos elementos so denotados por aij . Note
(2)
que ak2 = 0, k = 3, ..., n.
Continuando esse procedimento, ao final da (n 1)-sima etapa obteremos uma matriz
triangular superior dada por
(n1) (n1) (n1) (n1) (n1) (n1)

a11 a12 a13 ..... a1n ...... a1m b1
(n1) (n1) (n1) (n1) (n1)
0 a22 a23 ...... a2n ...... a2m b2
(n1) (n1) (n1) (n1)

A(n1) = 0 0 a33 ...... a3n ...... a3m b3
0 0 0 ..... ... ...... ... ...

... ... ... ..... ... ...... ... ...
(n1) (n1) (n1)
0 0 0 ...... ann ...... anm bn
O sistema original equivalente ao sistema triangular superior obtido ao final desse
processo. 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
a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1
a22 x2 + a23 x3 + + a2n xn = b2
a33 x3 + + a3n xn = b3
=
ann xn = bn
D. Andrade Clculo Numrico 68

com matriz ampliada dada por



a11 a12 a13 . . . a1n | b1
0 a22 a23 . . . a2n | b2

0 0 a33 . . . a3n | b3
M =
.. .. .. . ..
. . . . . . .. | .
0 0 0 . . . ann | bn

vemos que a soluo, obtida por substituio inversa, dada por


bn
xn =
ann
bn1 an1,n xn
xn1 =
an1,n1
=
b1 a12 x2 a13 x3 a1n xn
x1 =
a11
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



10 5 2 1 1
2 8 2 1 2
A=
4 5 20 1 3

2 3 22 2 1

Vamos triangularizar a matriz ampliada A utilizando o procedimento apresentado acima.


D. Andrade Clculo Numrico 69

Os multiplicadores so
2
m21 = = 0.2,
10
4
m31 = = 0.4,
10
2
m41 = = 0.2.
10
As operaes elementares para anular as entradas de posio a21 , a31 , a41 so as seguintes:

2
L2 L2 m21 L1 = L2 L1 ,
10
4
L3 L3 m31 L1 = L3 L1 ,
10
2
L4 L4 m41 L1 = L4 L1 .
10
Aps essas operaes teremos a seguinte matriz A(1)

10 5 2 1 1
0 7 2.4 0.8 1.8
A(1) =
0 3 19.20 0.6 2.6

0 4 21.6 0.2 0.8

Para o prximo passo os multiplicadores so


3
m32 = = 0.42857,
7
4
m42 = = 0.5714
7
(1) (1)
As operaes elementares para anular as entradas de posio a32 , a42 so as seguintes:
3
L3 L3 m32 L2 = L3 L2 ,
7
4
L4 L4 m42 L2 = L4 + L2 .
7
D. Andrade Clculo Numrico 70

Aps essas operaes teremos a seguinte matriz A(2)



10 5 2 1 1
0 7 2.4 0.8 1.8
A(2) =
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


20.2286
m43 = = 1.
20.2286
(2)
As operaes elementares para anular as entradas de posio a43 so as seguintes:

L4 L4 m43 L3 = L4 L3 .

Aps essas operaes teremos a seguinte matriz A(3)



10 5 2 1 1
0 7 2.4 0.8 1.8
A(3) =
0 0 20.2286 .25714 1.82857


0 0 0 2 0
Esse um sistema triangular superior:

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
1.82857 0.25714w
z = = 0.090395
20.2286
1.8 + 2.4z 0.8w
y = = 0.288136
7
1 5y + 2z w
x = = 0.0621469
10
D. Andrade Clculo Numrico 71

Resumo:
(k)
Em cada passo k denotamos por A(k) = (aij ) a matriz obtida aps este passo.
Os passos so os seguintes:
ak1
Passo 1: eliminar ak1 , k = 2, 3, . . . , n, utilizando os multiplicadores mk1 = , k = 2, 3, . . . , n
a11
obtendo a matriz A(1)
(1)
Passo 2: eliminar na matriz A(1) , os elementos ak2 , k = 3, 4, . . . , n utilizando os multipli-
(1)
a
cadores mk2 = k2(1)
, k = 3, . . . , n.
a22
Prosseguindo at atingir o passo (n 1) cujo objetivo eliminar an,n1
(1) (2) (n1)
Os elementos a11 , a22 , a33 , . . . , ann so chamados de pivot e os nmeros
(k1)
aki
mki = (k1)
, k = 1, 2, . . . , n 1, i = k + 1, . . . , n (4.2.1)
akk
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):
> subinversa:=pro (a)
lo al 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
D. Andrade Clculo Numrico 72

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:
# Es revendo vetor soluo.
ve tor( [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
(k) (k1)
aii fossem no nulos. Se em algum passo akk = 0 deve-se ento procurar na col-
una k, dentre os elementos que ainda atuam no processo (os elementos ajk , j = k +
1, . . . , n), um elemento no nulo e efetuar a permutao entre as linhas. Os elementos
(0) (1) (n2)
a11 , a22 , . . . , an1,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 dras-
ticamente).
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 pivotea-
mento completo ou total, toma-se, em cada passo, como pivot o maior elemento (em m-
dulo) dentre 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 min-
imizam erros.
Para ilustrar essa tcnica, vejamos um exemplo em que a estratgia de pivoteamente no
D. Andrade Clculo Numrico 73

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 infinita, 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

x1 + x2 + 3x4 = 4,
x2 x3 5x4 = 7,
3x3 + 13x4 = 13,
13x4 = 13

triangular superior, use substituio inversa para obter a soluo.


D. Andrade Clculo Numrico 74

2. Use o mtodo de eliminao de Gauss para obter a soluo do sistema de equaes


lineares

x1 + x2 + 3x4 = 4,
2x1 x2 x3 + x4 = 1,
3x1 x2 x3 + 2x4 = 3,
x1 + 2x2 + 3x3 x4 = 4.

3. O sistema de equaes lineares tem soluo exata x1 = 10.000 e x2 = 1.000,

0.003000x1 + 59.14x2 = 59.17,


5.291x1 6.130x2 = 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 :=
pro (A,b)
lo al i,j,k,n,pivot,ind_pivot,ratio,x,Ab;
# i,j,k so indi es.
# n a dimenso da matriz.
# pivot o pivot.
# ind_pivot o ndi e da linha que ontm o pivot.
# ratio - usado para armazenar a razo entre dois elementos da matriz
# quando realizar a eliminao.
# Ab a matriz aumentada.
n := rowdim(A);
D. Andrade Clculo Numrico 75

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
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 tro ar as linhas.
tro a(Ab,i,ind_pivot); #tro a linhas.
fi;
# Eliminao dos elementos na oluna 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 al ular
# a soluo por substituio inversa
x := ve tor(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 `,
D. Andrade Clculo Numrico 76

`:`, Ab);
print(`A soluo :`, x);
end:
#Exemplo
> A := matrix(3,3,[[-1.414214,2,0,[1,-1.414214,1,[0,2,-1.414214);
> b := ve tor(3,[1,1,1);
> z := EGauss_pivot(A,b);

4.6 Decomposio LU
A decomposio LU uma variante do mtodo de eliminao de Gauss. Dizemos que
uma matriz Ann 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 sis-
tema (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
precisamos de alguns conceitos.
Dizemos que uma matriz Ann diagonalmente dominante se
n
X
|aii | |aij |, i = 1, 2, .., n.
j=1,j6=i

A matriz A estritamente diagonalmente dominante se


D. Andrade Clculo Numrico 77

n
X
|aii | > |aij |, i = 1, 2, .., n.
j=1,j6=i

Teorema 4.6.1 Toda matriz estritamente diagonalmente dominante tem inversa. Alm
disso, o processo de eliminao de Gauss pode ser realizado sem a necessidade de permu-
tao 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 ele-
mentar 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)


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) = En1 En2 ...E2 E1 A.


Ou seja,
A = (En1 En2 ...E2 E1 )1 A(n1) = (E11 E21 ...En1
1
)A(n1) .
Note que A(n1) triangular superior. Se evitarmos permutaes de linhas ou colunas
sobre A, a matriz dada por (E11 E21 ...En1
1
) 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 mij que voc armazena durante o processo de
eliminao de Gauss, sendo mii = 1; a matriz U a matriz triangular superior obtida ao
final 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 Ann sem
trocas de linhas ou colunas, ento A pode ser escrita como A = LU, onde L = (mij )
triangular inferior com mii = 1, e U = (uij ) em que U = A(n1) matriz triangular superior.
D. Andrade Clculo Numrico 78

Outro importante resultado o seguinte teorema.

Teorema 4.6.3 Se Ann uma matriz com todos os determinantes de suas submatrizes
principais diferentes de zero, ento, existe uma nica matriz triangular inferior L = (mij )
(estes so os multiplicadores dados em (4.2.1)) com mii = 1, e uma matriz triangular
superior U = (uij ) 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 = [a11 ] , e portanto
L = [1] , U = [u11 ] e a11 = u11 .

Suponha que a decomposio seja vlida para toda matriz at ordem k = n 1 que tenha
subdeterminantes
 principais
 no nulos, isto , An1 =Ln1 Un1 .  
An1 s Ln1 0 Un1 y
Seja A = e de modo anlogo sejam L = eU = .
r ann  x 1 0 unn
Ln1 Un1 Lk1 y
O produto LU = deve ser igual a A. Isso s possvel se,
xUn1 xy + unn

An1 = Ln1 Un1


s = Lk1 y
r = xUn1
ann = xy + unn

Como An1 = Ln1 Un1 por hiptese e Ln1 , Un1 so no-singulares, ento temos

y = L1
k1 s
1
x = rUn1
unn = ann 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 Ann 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 ne-
cessidade de permutar linhas ou colunas.
D. Andrade Clculo Numrico 79

Exemplo 4.6.4 A matriz dada por



7 1 2 2

1 4 0 1
A=



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,

1 0 0 0 7 1 2 2
27
1/7 1 0 0 0 7
2/7 5/7
A= 2/7 5

27
1 0
0 0 202
27
8
27
21 659
1/7 2/9 202
1 0 0 0 101

Exemplo 4.6.5 A matriz do exemplo 4.2.1 no estritamente diagonalmente domi-


nante, 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 1 0 0 0 10.0 5.0 2.0 1.0

2 8 2 1 0.20 1 0 0 0 7.0 2.4 0.8
=
4
5 20 1 0.4 0.428571
1 0 0 0 20.2286 0.257143

2 3 22 2 0.2 0.571429 1.0 1 0 0 0 2.0

Exerccio 4.6.6 1. Verifique se A admite decomposio LU. Em caso afirmativo, de-


termine esta decomposio, onde

7 1 2 2

1 4 0 1
A= 2 1 3 1


1 1 1 7
D. Andrade Clculo Numrico 80

2. Resolva o sistema de equaes lineares usando decomposio LU,

x1 + x2 + 3x4 = 4,
2x1 + x2 x3 5x4 = 7,
3x1 x2 x3 + 2x4 = 3,
x1 + 2x2 + 3x3 x4 = 4.

3. A matriz A abaixo tem a11 = 0, ento no tem uma decomposio LU,



0 1 1 1
1 1 1 2
A= 1 1 1 2

1 2 0 2

mas permutando as linhas E1 com E2 e E3 com E4 obtemos uma matriz A que


admite uma decomposio LU. Determine P tal que A = P A, decomponha A = LU
e finalmente escreva A = P 1 LU.

4.7 Usando Maple: decomposio LU


Exemplo de procedimento em Maple para a decomposio LU.
> restart:with(linalg):
> LU := pro (A,L,U)
lo al i,j,k,n,razao;
# i,j,k so ndi es.
# n a dimeno da matriz
# razao usado para armazenar os multipli adores
n := rowdim(A);
L := matrix(n,n,0);
U := matrix(n,n);
U := opy(A);for i from 1 to n do
if (U[i,i = 0) then RETURN(`No existe de omposio LU para A`);
fi;
L[i,i := 1;
for j from i+1 to n do
razao := U[j,i/U[i,i;
D. Andrade Clculo Numrico 81

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 = LLT , onde
L uma matriz triangular inferior com elementos da diagonal principal estritamente
positivos. Para tanto, exige-se muito mais da matriz A.
Uma matriz A dita definida positiva se A simtrica e se xT Ax > 0, para todo x 6= 0.
Por exemplo, a matriz
2 1 0

A= 1 2 1

0 1 2
simtrica e alm disso

2 1 0 x
[x y z] 1 2 1 y = x2 + z 2 + (x + y)2 + (y + z)2 > 0.
0 1 2 z
mostrando que positiva definida.
Tambm a matriz simtrica " #
2 1
A=
1 3
definida positiva, pois disso
  
2 1 x
[x y] = x2 + 2y 2 + (x + y)2 > 0.
1 3 y
D. Andrade Clculo Numrico 82

O seguinte resultado d um critrio que ajuda a decidir se uma matriz positiva definida.

Teorema 4.8.1 (a) Se Ann uma matriz simtrica, ento A possui n autovalores reais e
n autovetores ortonormais.
(b) Uma matriz simtrica A definida positiva se, e somente se, seus autovalores so reais
e positivos.
(c) Uma matriz simtrica A definida positiva se, e somente se, cada uma de suas sub-
matrizes principais tm determinante positivo.
(d) Uma matriz simtrica A definida positiva se, e somente se, o processo de elimi-
nao 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 definida positiva se, e somente
se, pode ser fatorada como LLT , 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 impo-
mos que ela se decomponha como LLt .

a11 a21 ... an1 l11 0 0 0 ... 0 l11 l21 ... lk1 ... ln1
a21 a22 ... an2 l21 l22 0 0 ... 0 0 l22 ... lk2 ... ... ln2
. .. .. ..
. . .. .. .
. .. . 0 .. 0 0 0 ... ... ... ...

. . . .
=
ak1 ak2 ... akn lk1 lk2 ... lkk ... 0 0. 0 ... lkk ... ... lnk
. .. .. .. . .. .. .. .. .. .. .. .. .. ..
.. . . . .. . . . . 0 . . . . . .
an1 an2 ... ann ln1 ln2 .. lnk ... lnn 0 0 ... 0 0 lnn
A maneira mais prtica para obter os coeficientes (lij ) comeando pela primeira coluna,
depois para a a segunda coluna e assim por diante.
Coluna 1: (aj1 ). Efetuando o produto acima obtemos:

2
a11 l11
a21 l21 l11

.. = ..
. .
an1 ln1 l11
ento

l11 = a11
aj1
lj1 = , j = 2, 3, ..., n
l11
D. Andrade Clculo Numrico 83

Coluna 2: (aj2 ). De modo anlogo.



a21 l11 l21
a22 l2 + l2
21 22
a32 l31 l21 + l32 l22
=
.. ..
. .
an2 ln1 l21 + ln2 l22
ento obtemos (j conhecemos l21 e l11 )
q
2
l22 = a22 l21
aj2 lj1 l21
lj2 = , j = 3, 4, ..., n
l22
Coluna k: (ajk ).
Note que nesse passo j so conhecidos todos os elementos lik , i = 1, 2, . . . , k1. Efetuando
o produto obtemos
ak1 l11 l1k
ak2 l21 l1k + l22 l2k

.. ..
. .
2 2 2 2
akk lk1 + lk2 + lk3 + ... + lkk
. = .
.. .
.

a l l + l l + ... + l l
kj j1 k1 j2 k2 jk kk
. ..
.. .
ank ln1 lk1 + ln2 lk2 + ... + lnk lkk
donde obtemos
2 2 2 2
akk = lk1 + lk2 + lk3 + ... + lkk
akj = lj1 lk1 + lj2 lk2 + ... + ljk lkk , j = k + 1, k + 2, . . . , n
ou ainda,
v
q u k1
u X
lkk = 2 2 2 2 t
akk (lk1 + lk2 + lk3 + ... + lk,k1) = akk 2
lki
i=1
h Pk1 i
ajk i=1 lji lki
lkj = , j = k + 1, k + 2, ...n.
lkk
D. Andrade Clculo Numrico 84

4.9 O Algoritmo para a decomposio Cholesky


Das contas efetuadas acima obtemos o algoritmo para a decomposio Cholesky. Apre-
sentamos a seguir os passos do algoritmo para a decomposio Cholesky.

Dados: dimenso n, entradas ai,j , 1 i n, 1 j n.



Passo 1: Seja l11 = a11
aj1
Passo 2: Para j = 2, . . . , n seja lj1 = l11
.

Passo 3: Para i = 2, . . . , n 1 faa passo 4 e passo 5.

Passo 4: Seja
i1
! 21
X
2
lii = aii lik
k=1

Passo 5: Para j = i + 1, . . . , n seja


 Pi1 
aji k=1 ljk lik
lji =
lii
Passo 6: Seja
n1
! 21
X
2
lnn = ann lnk .
k=1

Passo 7: Imprima lij , i = 1, . . . , n; j = 1, . . . , n.


Exemplo 4.9.1
Vejamos um exemplo com a matriz A dada abaixo. Seguiremos o algoritmo acima.

4 2 2 8 2
2 5 5 8 3

A= 2 5 6 9 2

8 8 9 30 11
2 3 2 11 23
D. Andrade Clculo Numrico 85

Primeiramente, notemos que A simtrica e definita positiva, portanto A admite decom-


posio Cholesky A = LLT .
Passo 1:

l11 = a11 = 4 = 2.
aj1
Passo 2: para j = 2, 3, 4, 5 calcule lj1 = :
l11
a21 2
j = 2, l21 = = = 1;
l11 2
a31 2
j = 3, l31 = = = 1;
l11 2
a41 8
j = 4, l41 = = = 4;
l11 2
a51 2
j = 5, l51 = = = 1.
l11 2
Passo 3: para i = 2, 3, 4 executar os passos 4 e 5.
i = 2 e passo 4:
21
! 12
X
2
l22 = a22 lik = 5 1 = 4 = 2.
k=1

i = 2 e passo 5: para j = 3, 4, 5 calcule


P21 
aji k=1 lik ljk
lji =
lii
j = 3,
(a32 l31 l21 ) 51
l32 = = =2
l22 2
j = 4,
(a42 l41 l21 ) 84
l42 = = =2
l22 2
j = 5,
(a52 l51 l21 ) 31
l52 = = =1
l22 2
Agora i = 3 executar os passos 4 e 5.
i = 3 e passo 4:
31
! 12 q
X
2 2 2
l33 = a33 lik = 6 l31 l32 = 1 = 1.
k=1
D. Andrade Clculo Numrico 86

Passo 5: para j = 4, 5 calcule P31 


aji k=1 ljk lik
lji =
lii
i = 3 e j = 4: P2 
a43 k=1 l4k l3k 944
l43 = = = 1.
l33 1
i = 3 e j = 5: P2 
a53 k=1 l5k l3k 212
l53 = = = 1.
l33 1
Agora i = 4 executar os passos 4 e 5.
i = 4 e Passo 4:
3
! 12
X
2
l44 = a44 l4k
k=1

2 2 2
 1
l44 = 30 l41 l42 l43 2
= 30 16 4 1 = 9=3
i = 4 e passo 5: para j = 5 calcule
 P 
aji i1 l l
k=1 jk ik
lji =
lii
P3 
a54 k=1 l5k l4k
l54 =
l44
(11 l51 l41 l52 l42 l53 l43 ) (11 4 2 + 1)
l54 = = =2
3 3
Passo 6: calcule
4
! 21
X
2
l55 = a55 l5k
k=1

2 2 2 2
 21
l55 = 23 l51 l52 l53 l54 = 23 7 = 16 = 4
Logo, a matriz L
D. Andrade Clculo Numrico 87


2
0 0 0 0
2 0 0 0
1

L= 2 1 0 0
1
2 1 3 0
4
1
1 1 2 4

1
2

Para resolver o sistema Ax = b, onde b =
1 utilizando a decomposio Cholesky
2
3
acima determinada, bastaria resolver os seguintes sistemas lineares Ly = b e LT x = y
para obter a soluo

x1 = 0.196614583333, x2 = 1.2734375, x3 = 0.831597222222,

x4 = 0.100694444444, x5 = 0.067708333333.

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 simplificado quando A uma matriz simtrica e positiva definida. Dizemos que uma
matriz A positiva definida se para todo vetor no nulo x de Rn tem-se xAxT > 0. Se
alm disso, A for simtrica, isto , aij = aji , ento existe uma nica matriz triangular
inferior L, com diagonal positiva, tal que A = LLt . Dessa peculiaridade podemos deduzir
um algoritmo mais simples para resolver um sistema Ax = b. O procedimento Cholesky
abaixo verifica apenas a simetria da matriz A. A sintaxe do programa : Cholesky( A
). Se A for uma matriz quadrada (simtrica positiva definida) ento o programa calcula
a matriz triangular inferior L. Se A for uma matriz ampliada de um sistema, com parte
principal simtrica positiva definida, o procedimento calcula a soluo do sistema via
decomposio Cholesky.

> restart:with(linalg):
> Cholesky:=pro (a)
lo al i, j, k, s, t, n, soma, , x, y:
n:=rowdim(a):
D. Andrade Clculo Numrico 88

# Verifi ando se simtri a


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 simtri a`) fi:
od:
od:
:=matrix(n,n):
# Determinando a oluna j
for j from 1 to n do
soma:=0:
for k from 1 to j-1 do
soma:=soma+ [j,k^2
od:
[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+ [i,k* [j,k
od:
[i,j:=(a[i,j-soma)/ [j,j
od:
od:
# De ompor A ou resolver Ax=b ?
if rowdim(a)= oldim(a) then
# Completando os zeros
for i from 1 to n do
for j from i+1 to n do
[i,j:=0:
od
od:
# Es revendo a matriz triangular inferior C.
print(`A matriz L : `,op( )):
else
# Resolvendo Cy=b por substituio direta.
y:=ve tor(n):
y[1:=a[1,n+1/ [1,1:
for s from 2 to n do
D. Andrade Clculo Numrico 89

soma:=0:
for t from 1 to s-1 do
soma:=soma+ [s,t*y[t:
od:
y[s:=(a[s,n+1-soma)/ [s,s:
od:
# Resolvendo C^Tx=y por substituio inversa.
x:=ve tor(n):
x[n:=y[n/ [n,n:
for s from 1 to n-1 do
soma:=0:
for t from n-s+1 to n do
soma:=soma+ [t,n-s*x[t:
od:
x[n-s:=(y[n-s-soma)/ [n-s,n-s:
od:
# Es revendo 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 afirmativo determine esta decomposio.

4 2 4
A = 2 10 4
4 4 9

2. Determine se a matriz admite a decomposio de Cholesky, em caso afirmativo


determine esta decomposio.

1 1 0
B = 1 2 1
0 1 3
D. Andrade Clculo Numrico 90

3. Use decomposio de Cholesky para obterassolues dos sistemas Ax = b e Bx =


1
b, onde A e B so as matrizes acima e b = 2 .

5

4. Use o mtodo de Cholesky para decompor a matriz A como um produto LLt , onde
L triangular inferior,
4 1 1
A = 1 4.25 2.75
1 2.75 3.75

5. Use o mtodo de Cholesky para decompor A, onde:



4 1 1 1 6 2 1 1
2 1 0 1 2
3 1 1 4 1 0
a) A = 1 2 1 b) A = 1 1 2 0
c) A =
1

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

6. Seja A uma matriz simtrica de ordem n. Verifique que


n X
X n n
X X
T
x Ax = aij xi xj = aii x2i + 2 aij xi xj .
i=1 j=1 i=1 i>j

4.11 Resumo do captulo


Neste captulo apresentamos os principais mtodos diretos para resoluo de sis-
temas de equaes lineares.

1. Mtodo de eliminao de Gauss;

2. Estratgia de pivoteamento;

3. Mtodo de decomposio LU;

4. Mtodo de decomposio Cholesky.


Sistemas lineares: mtodos iterativos
5
5.1 Introduo
Os mtodos iterativos para sistemas de equaes lineares so baseados no teorema do
ponto fixo de Banach. Assim, dado um sistema de equaes lineares Ax = b, a ideia
central reescrev-lo numa forma equivalente x = T x + c. Se T for uma contrao, ento
para qualquer aproximao inicial x(0) a sequncia gerada por x(k+1) = T x(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 suficientes para a convergncia desses mtodos.
Para facilidade do estudante inclumos as demonstraes dos principais resultados. Es-
sas demonstraes podem ser omitidas numa primeira leitura.

91
D. Andrade Clculo Numrico 92

5.2 O mtodo de Gauss-Jacobi


Consideremos o sistema de equaes lineares

a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1


a21 x1 + a22 x2 + a23 x3 + + a2n xn = b2
a31 x1 + a32 x2 + a33 x3 + + a3n xn = b3
.. .. .
. . = ..
an1 x1 + an2 x2 + an3 x3 + + ann xn = bn .

Vamos supor que os elementos da diagonal sejam no-nulos, aii 6= 0, i = 1, 2, . . . , n. Segue


que podemos isolar x1 na primeira equao, x2 na segunda equao e assim sucessiva-
mente, at na ltima equao podemos isolar xn ; segue que podemos escrever o sistema
acima como:
1 b1
x1 = (a12 x2 a13 x3 a1n xn ) +
a11 a11
1 b2
x2 = (a21 x1 a23 x3 a2n xn ) +
a22 a22
1 b3
x3 = (a31 x1 a32 x2 a3n xn ) +
a33 a33
.. .. ..
. = . .
1 bn
xn = (an1 x1 an2 x2 an,n1 xn1 ) + .
ann ann

Assim, o sistema pode ser escrito na forma x = T x + c, onde



a12 a13 .. a1n b1
0 . a11
a11 a11 a11 b
a21 a23 .. a2n 2

a22 0 .
a a22 a22 a22
T = 31 a32 .. a3n
b3
c=
0 . a33
a33 a33 a33
. .. .. .. .. ..
.. . . . . .
a an2 an3 an,n1 b
n1 n
0 .
ann ann ann ann ann
D. Andrade Clculo Numrico 93

(0) (0) (0)


Dado um vetor x(0) = (x1 , x2 , . . . , xn ), o mtodo de Gauss-Jacobi um mtodo iterativo
que gera uma sequncia de vetores construda iterativamente por
x(k+1) = T x(k) + c, k 0.
Numa forma geral temos para um sistema de equaes lineares, supondo que os elemen-
tos da diagonal aii 6= 0, o seguinte esquema
(k+1) 1  (k) (k)
 b1
x1 = a12 x2 a13 x3 a1n x(k) n +
a11 a11
1   b2
(k+1) (k) (k)
x2 = a21 x1 a23 x3 a2n x(k) n +
a22 a22
1   b3
(k+1) (k) (k)
x3 = a31 x1 a32 x2 a3n x(k) n +
a33 a33
.. .. ..
. = . .
1   bn
(k) (k) (k)
x(k+1)
n = an1 x 1 an2 x2 an,n1 xn1 + .
ann ann

Exemplo 5.2.1
Consideremos o sistema de equaes lineares a seguir:


10x1 + 5x2 + 3x3 + x4 = 6

2x + 10x 4x 3x = 5
1 2 3 4

x1 + 3x2 10x3 + 5x4 = 2


5x1 + x2 + 3x3 + 10x4 = 3.
Isolando cada uma das incgnitas, temos
x1 = 0.6 0.5x2 0.3x3 0.1x4
x2 = 0.5 0.2x1 + 0.4x3 + 0.3x4
x3 = 0.2 + 0.1x1 + 0.3x2 + 0.5x4
x4 = 0.3 + 0.5x1 0.1x2 0.3x3 .
Pelo mtodo de Gauss-Jacobi, podemos escrever as iteraes
(k+1) (k) (k) (k)
x1 = 0.6 0.5x2 0.3x3 0.1x4
(k+1) (k) (k) (k)
x2 = 0.5 0.2x1 + 0.4x3 + 0.3x4
(k+1) (k) (k) (k)
x3 = 0.2 + 0.1x1 + 0.3x2 + 0.5x4
(k+1) (k) (k) (k)
x4 = 0.3 + 0.5x1 0.1x2 0.3x3 .
D. Andrade Clculo Numrico 94

Tomando x(0) = (0, 0, 0, 0) como aproximaoo inicial, obtemos


(1) (0) (0) (0)
x1 = 0.6 0.5x2 0.3x3 0.1x4 = 0.6
(1) (0) (0) (0)
x2 = 0.5 0.2x1 + 0.4x3 + 0.3x4 = 0.5
(1) (0) (0) (0)
x3 = 0.2 + 0.1x1 + 0.3x2 + 0.5x4 = 0.2
(1) (0) (0) (0)
x4 = 0.3 + 0.5x1 0.1x2 0.3x3 = 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:
(2) (1) (1) (1)
x1 = 0.6 0.5x2 0.3x3 0.1x4 = 0.38
(2) (1) (1) (1)
x2 = 0.5 0.2x1 + 0.4x3 + 0.3x4 = 0.39
(2) (1) (1) (1)
x3 = 0.2 + 0.1x1 + 0.3x2 + 0.5x4 = 0.16
(2) (1) (1) (1)
x4 = 0.3 + 0.5x1 0.1x2 0.3x3 = 0.61.

Obtemos ento uma nova aproximao

x(2) = (0.38, 0.39, 0.16, 0.61).

Veja a seguir a tabela indicando as primeiras iteraes do mtodo Gauss-Jacobi do ex-


emplo 5.2.1.
Continuamos o procedimento at atingirmos a preciso desejada.

Uma condio suficiente 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
n
X ajk
j = , j = 1, 2, . . . , n. (5.2.1)
ajj
k=1, k6=j

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 in-
dependente da aproximao inicial dada x(0) .
D. Andrade Clculo Numrico 95

Tabela 5.1: Exemplo 5.2.1


(k) (k) (k) (k)
k x1 x2 x3 x4
0 0 0 0 0
1 0.6000000 0.5000000 -0.2000000 0.3000000
2 0.3800000 0.3900000 0.1600000 0.6100000
3 0.2960000 0.6710000 0.2600000 0.4030000
4 0.1462000 0.6657000 0.2324000 0.3029000
5 0.1671400 0.6545900 0.1657800 0.2368100
6 0.1992900 0.6039270 0.1314960 0.2683770
7 0.2317500 0.5932535 0.1352956 0.2998035
8 0.2328042 0.5977093 0.1510528 0.3159610
9 0.2242334 0.6086486 0.1605737 0.3113153
10 0.2163721 0.6127774 0.1606756 0.3030797

Exemplo 5.2.3 Vamos utilizar o critrio de linhas para estudar a convergncia do sis-
tema abaixo.


10 5 3 1 x1 6
2 10 4 3 x2 5
=
1 3 10 5 x3 2
5 1 3 10 x4 3
Temos que
5+3+1
1 = = 0.9
10
2+4+3
2 = = 0.9
10
1+3+5
3 = = 0.9
10
5+1+3
4 = = 0.9
10
= 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 96

Em alguns casos podemos efetuar operaes sobre as linhas ou colunas de uma matriz
de modo que assuma uma nova configurao que satisfaz ao critrio de linhas. Como
exemplo, considere a matriz abaixo, note que ela no satisfaz ao critrio de linhas.

2 1 10
A = 1 8 2
4 2 1

Mas permutando as linhas 1 e 3, obtemos a matriz



4 2 1
A1 = 1 8 2
2 1 10

que satisfaz ao critrio de linhas.

5.3 O mtodo de Gauss-Seidel


Dado um sistema de equaes lineares Ax = b, o mtodo de Gauss-Seidel tambm con-
siste em escrevermos o sistema na forma equivalente

x = T x + c.

Durante a aplicao do mtodo de Gauss-Jacobi, pudemos observar que ao calcularmos


(k+1) (k+1)
x2 j conhecamos x1 , o valor mais atualizado de x1 , mas este no foi utilizado
(k+1) (k+1) (k+1) (k+1)
para calcular x2 . Do mesmo modo, ao calcularmos x3 j conhecamos x1 e x2 ,
mas novamente estes no foram utilizados. E assim sucessivamente, at que finalmente
(k+1) (k+1) (k+1)
ao calcularmos xn j conhecamos x1 , . . . , xn1 , mas estes no foram utilizados.
O Mtodo de Gauss-Seidel, utiliza em cada aproximao, a aproximao mais atual de
(k+1) (k+1)
cada componente. Isto , ao calcularmos x2 utilizamos x1 e os demais da iterao
(k+1) (k+1) (k+1)
anterior. Ao calcularmos x3 utilizamos x1 e x2 . E assim por diante, at que ao
(k+1) (k+1) (k+1)
calcularmos xn utilizamos x1 , . . . , xn1 .
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
D. Andrade Clculo Numrico 97

Consideremos o sistema de equaes lineares.


10x1 + 2x2 + x4 = 10
5x1 + 10x2 + x3 = 2
x2 + 4x3 + x4 = 8
x3 + 6x4 = 3
Isolando cada uma das incgnitas, temos:
x1 = 1 0.2x2 0.1x4
x2 = 0.2 0.5x1 0.1x3
x3 = 2 0.25x2 0.25x4
x4 = 0.5 + 0.16667x3.
Tomemos como aproximao inicial o vetor x(0) = (0, 0, 0, 0) obtemos
(1) (0) (0) (1)
x1 = 1 0.2x2 0.1x4 = 1, usar x1 na prxima equao,
(1) (1) (0) (1) (1)
x2 = 0.2 0.5x1 0.1x3 = 0.3, usar x1 , x2 na prxima equao,
(1) (1) (0)
x3 = 2 0.25x2 0.25x4 = 2.075,
(1) (1)
x4 = 0.5 + 0.16667x3 = 0.845833.
Assim, temos um novo vetor x(1) = (1, 0.3, 2.075, 0.845833) e continuamos o processo para
calcular x(2) :
(2) (1) (1) (2)
x1 = 1 0.2x2 0.1x4 = 0.72166668, usar x1 na prxima equao,
(2) (2) (1) (2) (2)
x2 = 0.2 0.5x1 0.1x3 = 0.3683333, usar x1 , x2 na prxima equao,
(2) (2) (1)
x3 = 2 0.25x2 0.25x4 = 1.8806250,
(2) (2)
x4 = 0.5 + 0.16667x3 = 0.8134375.
Assim, temos um novo vetor x(2) = (0.7216667, 0.3683333, 1.8806250, 0.8134375). Conti-
nuamos o processo at atingirmos a preciso desejada.
Para esse exemplo, temos o seguinte esquema geral:
(k+1) (k) (k)
x1 = 1 0.2x2 0.1x4
(k+1) (k+1) (k)
x2 = 0.2 0.5x1 0.1x3
(k+1) (k+1) (k)
x3 = 2 0.25x2 0.25x4
(k+1) (k+1)
x4 = 0.5 + 0.16667x3 .
D. Andrade Clculo Numrico 98

Veja a seguir a tabela indicando as primeiras iteraes do mtodo de Gauss-Seidel do


exemplo acima 5.3.1.

Tabela 5.2: Exemplo 5.3.1


(k) (k) (k) (k)
k x1 x2 x3 x4
0 0 0 0 0
1 1.0000000 -0.3 .0750000 0.8458333
2 0.7216667 -0.3683333 1.8806250 0.8134375
3 0.7482917 -0.3622083 1.8871927 0.8145321
4 0.7466288 -0.3620337 1.8868754 0.8144792
5 0.7466150 -0.3619951 1.8868790 0.8144798
6 0.7466071 -0.3619914 1.8868779 0.8144797

Para um sistema geral de equaes lineares, supondo que os elementos da diagonal aii 6=
0, i = 1, 2, . . . , n temos o seguinte esquema (ateno para as iteraes):

(k+1) 1  (k) (k) (k)


 b1
x1 = a12 x2 a13 x3 a1n xn +
a11 a11
1   b2
(k+1) (k+1) (k)
x2 = a21 x1 a23 x3 a2n x(k) n +
a22 a22
1   b3
(k+1) (k+1) (k+1)
x3 = a31 x1 a32 x2 a3n x(k)n +
a33 a33
.. .. ..
. = . .
1   bn
(k+1) (k+1) (k+1)
x(k+1)
n = a x
n1 1 a x
n2 2 a x
n,n1 n1 + .
ann ann

Exemplo 5.3.2

No exemplo 5.2.1 consideremos o sistema de equaes lineares a seguir:




10x1 + 5x2 + 3x3 + x4 = 6

2x + 10x 4x 3x = 5
1 2 3 4

x1 + 3x2 10x3 + 5x4 = 2


5x1 + x2 + 3x3 + 10x4 = 3.
D. Andrade Clculo Numrico 99

Tabela 5.3: Exemplo 5.3.2


(k) (k) (k) (k)
k x1 x2 x3 x4
0 0 0 0 0
1 0.6000000 0.3800000 -0.0260000 0.5698000
2 0.3608200 0.5883760 0.2974948 0.3323240
3 0.1833312 0.6820289 0.1891038 0.2667316
4 0.1755813 0.6205447 0.1370873 0.2846100
5 0.2201404 0.5961898 0.1431760 0.3074984
6 0.2282024 0.6038794 0.1577333 0.3063933
7 0.2201010 0.6109911 0.1585041 0.3014001
8 0.2168132 0.6104590 0.1555191 0.3007050
9 0.2180443 0.6088103 0.1548000 0.3017011
10 0.2189848 0.6086334 0.1553390 0.3020273

Verifique que usando o mtodo de Gauss-Seidel obtemos as seguintes aproximaes.


Uma condio suficiente para a convergncia do mtodo de Gauss-Seidel:
Teorema 5.3.3 (Critrio de Sassenfeld) Seja A = (aij ) uma matriz quadrada de or-
dem n. Sejam i , i = 1, 2, . . . , n dados por
n
X |a1j |
1 = ,
j=2
|a11 |
i1
X Xn
|aij |j |aij |
i = + .
j=1
|aii | j=i+1
|aii |
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.4
Consideremos o sistema de equaes lineares.

10 2 0 1 x1 10
5 10 1 0 x2 2
=
0 1 4 1 x3 8
0 0 1 6 x4 3
D. Andrade Clculo Numrico 100

1
1 = [2 + 0 + 1] = 0.3
10
1
2 = [5 0.3 + 1 + 0] = 0.25
10
1
3 = [0 0.3 + 1 0.25 + 1] = 0.3125
4
1
4 = [0 0.3 + 0 0.25 + 1 0.3125] = 0.05283
6

segue que max = 0.3125 < 1 e portanto satisfaz ao critrio de Sassenfeld.

Consideremos a matriz

1 3 6
A= 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

7 1 2
B= 2 8 3
1 3 6
que satisfaz ao critrio de Sassenfeld. Verifique.

Para os dois prximos resultados, podemos supor que a matriz A do sistema linear Ax = b
possui elementos da diagonal no nulos e iguais a 1.
Teorema 5.3.5 (Critrio de Sassenfeld) Seja A = (aij ) uma matriz quadrada de or-
dem n. Sejam i , i = 1, 2, . . . , n dados por
n
X
1 = |a1j |,
j=2

i1
X n
X
i = |aij |j + |aij |.
j=1 j=i+1

Se = max{i } < 1, ento o mtodo de Gauss-Seidel converge.


D. Andrade Clculo Numrico 101

Demonstrao: Consideremos o sistema linear Ax = b. Podemos supor que os elemen-


tos da diagonal de A sejam no nulos e iguais a 1. Assim, o sistema pode ser reescrito
na forma x = T x + 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

n
X
(m+1) (m)
y1 = a1j yj
j=2
i1
X n
X
(m+1) (m+1) (m)
yi = aij yj + aij yj , i = 2, . . . , n.
j=1 j=i+1

Da primeira equao, temos


n
X
(m+1) (m) (m)
|y1 | max |yj | |a1j | 1 max |yj |.
2jn 2jn
j=2

Supondo que vale a


(m)
|ys(m+1) | s max |yj |,
1jn

1 s i 1, vamos provar que essa desigualdade ainda vlida para s = i.


De fato, !
i1
X n
X
(m+1) (m)
|yi | |aij |j + |aij | max |yj |, i = 2, . . . , n.
1jn
j=1 j=i+1

Donde,
(m+1) (m)
|yi | i max |yj |, i = 2, . . . , n.
1jn

Seja = max1jn j . Segue que


(m+1) (m)
max |yi | max |yi |.
1in 1in

Por induo, obtemos


(m+1) (0)
max |yi | m+1 max |yi |.
1in 1in
(k) (k)
Como 0 < 1, temos que maxiin |yi | 0 quando k . Segue que xi xi . 
D. Andrade Clculo Numrico 102

Relao entre o critrio de linhas e o critrio de Sassenfled:

Existe uma relao entre o critrio de linhas e o critrio de Sassenfeld. Essa relao
demonstrada no teorema 5.3.6 cujo enunciado dado a seguir:

Teorema 5.3.6 Se uma matriz A satisfaz ao critrio de linhas, ento ela tambm satisfaz
ao ao critrio de Sassenfeld.

Demonstrao: A prova por induo. Devemos provar que se


n
X
= max |aij | < 1
1in
j=1,j6=i

ento o critrio de Sassenfeld satisfeito. De fato, se i = 1, temos


n
X X
1 = |a1j | max |aij | < 1.
i
j=2 j=1,ji6=i

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


i1
X n
X n
X
i = |aij |j + |aij | max |aij | < 1.
i
j=1 j=i+1 j=1,j6=i

Segue que = maxj j < 1. 


Logo, podemos utilizar tambm o critrio de linhas para estudar a convergncia do
mtodo de Gauss-Seidel.

Exemplo 5.3.7

A recproca do teorema 5.3.6 no verdadeira. Tomemos a matriz



5 1 2

A= 4 6 3

1 3 6

fcil verificar que satisfaz ao critrio de Sassenfeld, mas no satisfaz ao critrio de


linhas.
D. Andrade Clculo Numrico 103

A matriz
3 0 1

A=
1 1 0
3 1 62
fcil verificar no satisfaz ao critrio de linha; mas satisfaz ao critrio de Sassenfeld.
Verifique.

5.4 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 Rn , denotada por k k uma funo que satisfaz:
(a) kxk 0 para todo x Rn ,
(b) kxk = 0 se, e somente se, x = 0,
(c) kxk = ||kxk, para todo R e x Rn ,
(d) kx + yk kxk + kyk, x, y Rn .

Exemplos de Normas em Rn
(a) Norma 2 ou norma Euclidiana: dado x = (xi ) Rn definimos
v
u n
uX
kxk2 = t x2i .
i=1

(b) Norma do mximo: dado x = (xi ) Rn definimos


kxk = max |xi |.
1in

(c) Norma da soma: dado x = (xi ) Rn definimos


n
X
kxk1 = |xi |.
i=1

Teorema 5.4.1 Em espaos Rn , valem as relaes:


(a) kxk kxk1
nkxk .
(b) kxk kxk2 nkxk .
1
(c) kxk1 kxk2 nkxk1 .
n
D. Andrade Clculo Numrico 104

Demonstrao: Exerccio.
Agora vamos introduzir a noo de norma de matriz. Seja Mn o espao vetorial de todas
as matrizes quadradas de ordem n.
Uma norma de matriz uma funo, denotada por k k, que satisfaz
(a) kAk 0 para todo A Mn ,
(b) kAk = 0 se, e somente se, A = 0,
(c) kAk = ||kAk, para todo R e A Mn ,
(d) kA + Bk kAk + kBk, A, B Mn .
(e) kABk kAk kBk.
A noo de norma induz a noo de distncia: a distncia entre as matrizes A e B dada
por kA Bk.
O seguinte resultado apresenta vrios exemplos de norma de matrizes.

Teorema 5.4.2 Seja k k uma norma de vetores em Rn . Ento,

kAk = sup kAxk


kxk=1

uma norma de matrizes em Mn .

A norma dada no teorema acima chamada de norma natural ou norma induzida.

Exemplos de Normas Matrizes

(a) Norma do mximo:

kAk = sup kAxk .


kxk =1

(b) Norma 2 ou euclidiana


kAk2 = sup kAxk2 .
kxk2 =1

Considerando uma norma de vetores k.k, os critrios de parada mais utilizados nos mto-
dos de Gauss-Jacobi e Gauss-Seidel so:

(a) kx(k+1) x(k) k < (erro absoluto),

kx(k+1) x(k) k
(b) < (erro relativo).
kx(k+1) k
D. Andrade Clculo Numrico 105

Exerccio 5.4.3

1. Escreva o sistema linear abaixo




10x1 x2 + 2x3 = 6,

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

2x1 x2 + 10x3 x4 = 11,


2x2 3x3 + 8x4 = 15.

na forma
x = Tx + c
e use o mtodo de Gauss-Jacobi para obter uma soluo aproximada, use como
critrio de parada
kxk+1 xk k
< 103 .
kxk+1 k

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.
Verifique 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) (k) (k)


k iteraes x1 x2 x3
0 0 0 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.
Verifique se o critrio de Sassenfeld satisfeito. A matriz ampliada do sistema
a do problema anterior.
D. Andrade Clculo Numrico 106

4. Encontre as duas primeiras iteraes do mtodo de Gauss-Jacobi, usando x0 = 0,


nos sistemas de equaes lineares abaixo.


3x1 x2 + x3 = 1,
10x1 x2 = 9
a) 3x1 + 6x2 + 2x3 = 0, b) x1 + 10x2 2x3 = 7



3x1 + 3x2 + 7x3 = 4 2x2 + 10x3 = 6.


4x1 + x2 + x3 + x5 = 6




x1 3x2 + x3 + x4 = 6
c) 2x1 + x2 + 5x3 x4 x5 = 6



x1 x2 x3 + 4x4 = 6


2x x + x + 4x = 6
2 3 4 5

5. Encontre as duas primeiras iteraes do mtodo de Gauss-Seidel, usando x(0) = 0,


no exerccio acima.

5.5 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 quiva-
lente na forma x = T x + c, para alguma matriz T e vetor c fixados.
Consideremos um sistema de equaes lineares Ax = b, onde A = (aij ) uma matriz
quadrada n n. Escreva o sistema na forma equivalente dada por x = T x + c. Defina a
a
seguinte aplicao F : Rn Rn dada por F x = T x + c, onde T = (cjk ) e cjk = ajk
jj
e cjj = 0.
Munindo R com a mtrica
n

d(x, y) = max |xi yi |


1in

obtemos que (Rn , d) um espao mtrico completo, onde x = (x1 , x2 , . . . , xn ) e y = (y1, y2 , . . . , yn )


so vetores do Rn .
Veremos que sob algumas condies T ser uma contrao. De fato, dados x = (x1 , x2 , . . . , xn )
D. Andrade Clculo Numrico 107

e y = (y1 , y2 , . . . , yn ) vetores do Rn , ento

d(F x, F y) = d(T x + c, T y + c) = d(T x, T y) = max |(T (x y))i |


i
n
X n
X
max |xi yi | max |cjk | = d(x, y) max |cjk |.
i j j
k=1 k=1

Seja
n
X
K = max |cjk |.
j
k=1

Se a matriz T tal que


n
X
K = max |cjk | < 1, (5.5.2)
1jn
k=1

ento T uma contrao.


A condio dada pela equao (5.5.2) chamado de critrio de linhas pois envolve soma
dos elementos de cada linha. uma condio suficiente para a convergncia da sequncia
dada pelo Teorema 1.3.1. Assim, obtemos o seguinte resultado.

Teorema 5.5.1 Dado o sistema de equaes lineares x = T x + c, onde T = (cjk ) uma


matriz quadrada n n que satisfaz
n
X
K = max |cjk | < 1.
j
k=1

Ento, o sistema admite uma nica soluo. Alm disso, dado qualquer aproximao
inicial x(0) , a sequncia gerada por

x(m+1) = T x(m) + c, m 0

converge para a soluo x do sistema.


O erro cometido na aproximao dado

(m) K (m1) (m) Km


d(x , x) d(x ,x ) d(x(0) , x(1) ).
1K 1K

Casos particulares importantes:


D. Andrade Clculo Numrico 108

(1) O Mtodo iterativo de Jacobi:


Dado o sistema de equaes lineares Ax = b, onde A = (aij ) e b = (bj ), o mtodo iterativo
de Jacobi dado por
!
(m+1) 1 X (m)
xi = bi aij xj , i = 1, 2, . . . , n. (5.5.3)
aii j=1, j6=i

Este esquema sugerido pela resoluo da i-sima equao para xi , no difcil verificar
que
X  aij  bi
xi = xj + , i = 1, 2, . . . , n.
j=1,j6=i
aii aii

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


Pn iterativo dada por C = D 1 (A D).
Como a condio maxj k=1 |cjk | < 1 relativamente simples nesse caso, podemos traduzir
essa condio em termos dos coeficientes da matriz A. Este resultado o critrio de lin-
has.

Teorema 5.5.2 (Critrio de linhas) Seja A uma matriz n n e Ax = b um sistema de


equaes lineares. Sejam
n
X ajk
j = , j = 1, 2, . . . , n. (5.5.4)
ajj
k=1, k6=j

Se
= max{1 , 2 , . . . , n } < 1,
ento para qualquer aproximao inicial x(0) o mtodo de Gauss-Jacobi gera uma sequn-
cia de aproximaes (x(k) ) que converge para a soluo do sistema.
D. Andrade Clculo Numrico 109

(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 + D U).
Assim, x = (D L)1 b + (D L)1 Ux. Note que uma condio necessria e suficiente para
a existncia de (D L)1 que os coeficientes da diagonal de A sejam no nulos, isto ,
aii 6= 0.
No Teorema 5.5.1 o nosso sistema ficou escrito como x = T x + c, onde T = (D L)1 U e
c = (D L)1 b e o mtodo iterativo de Gauss-Seidel fica expresso como

x(m+1) = T x(m) + c.

Ou de outra forma: A = D L U,

Ax = b
(D L U)x = b
(D L)x = Ux + b
1
D (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.5.1 aplicado a T suficiente para garantir a convergncia do mtodo it-


erativo de Gauss-Seidel. Obter uma condio sobre a matriz T pode ser trabalhoso, na
prtica usamos o critrio de linhas.

5.6 Usando Maple: o mtodo de Gauss-Jacobi


O procedimento em Maple a seguir determina uma aproximao para a soluo do sis-
tema Ax = b. Voc entra com a matriz Aini , o vetor bin , a aproximao inicial xin , a
dimenso da matriz n e o nmero mximo de iteraes itmax.

> restart: with(linalg):


D. Andrade Clculo Numrico 110

> GJa obi:=pro (Ain,bin,xin,n,itmax)


> lo al A,b,xant,xnew,d,it,i,k,j;
> A:=Ain; b:=bin; xant:=xin;xnew:=ve tor(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 omputada`);
> print(evalf(evalm(xnew)));
> end:
###Exemplo
> GJa obi1([[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.7 Usando Maple: o mtodo de Gauss-Seidel


O procedimento em Maple a seguir determina uma aproximao para a soluo do sis-
tema Ax = b. Voc entra com a matriz ampliada M = [A|b], a preciso desejada e o
nmero N de iteraes.
> restart:
> with(linalg):
> GSeidel:=pro (a, pre , nmax)
> lo al n, xold, xnew, i, j, k, m, erro, soma:
> n:=rowdim(a):
> # hute ini ial [0,...,0
> xold:=ve tor(n,0):
> # Comeando as iteradas
> xnew:=ve tor(n,0):
> erro:=1:
> for j from 1 to nmax do
D. Andrade Clculo Numrico 111

> if erro > pre then


> # Cal ulando 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:
> # Verifi ando a pre iso 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:
> # Es revendo 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.8 Resumo do captulo


Neste captulo apresentamos os principais mtodos iterativos para resoluo de
sistemas de equaes lineares e critrios de convergncia.

1. Mtodo de Gauss-Jacobi;

2. Mtodo de Gauss-Seidel;

3. O critrio de linhas;
D. Andrade Clculo Numrico 112

4. O critrio de Sassenfeld.
Sistemas de equaes no lineares
6
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 sistemas de duas equaes. Ao final do captulo sugerimos um procedimento em
Maple para o mtodo de Newton.

6.2 O mtodo de Newton-Raphson


Seja Rn um aberto e F : Rn 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 = (x1 , x2 , . . . , xn ).
Como F (X) Rn , ento F da forma F = (f1 , f2 , . . . , fn ), onde fi : R, i = 1, 2, . . . , n.

113
D. Andrade Clculo Numrico 114

Logo, a equao F (X) = 0 equivalente ao sistema de equaes no lineares




f1 (x1 , x2 , . . . , xn ) = 0,


f2 (x1 , x2 , . . . , xn ) = 0,
.. ..

. .

f (x , x , . . . , x ) = 0.
n 1 2 n

y2
Exemplo 6.2.1 Considere F (x, y) = (x2 + y 2 2, x2 1) definida em todo R2 . A
9
equao F (x, y) = 0 pode ser reescrita como

x2 + y 2 2 = 0,
2
x2 y 1 = 0.
9
Geometricamente, resolver esse sistema de equaes no lineares, significa determinar
onde a circunferncia e a parbola de intesectam. Veja a figura 6.2.1.

-2 -1 0 1 2
x

-2

-4

Figura 6.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
D. Andrade Clculo Numrico 115

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 : Rn Rn dada por

F (x1 , x2 , . . . , xn ) = (f1 (x1 , x2 , . . . , xn ), f2 (x1 , x2 , . . . , xn ), . . . , fn (x1 , x2 , . . . , xn ))

a matriz Jacobiana de F que



f1 f1 f1
...
x1 x2 xn
f2 f2 f2
...
JF (X) = x1 x2 xn .
... ... ... ...

fn fn fn
...
x1 x2 xn
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 suficientemente prximos, podemos desprezar o resto, obtendo
 1
X = X (k) F (X (k) ) 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
 1
X (k+1) = X (k) F (X (k) ) 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) ).
D. Andrade Clculo Numrico 116

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 modificado.

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 suficientemente 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) kF (X (k) )k < 1 ,
(2i) kX (k+1) X (k) k < 2 , onde 1 e 2 so dados.

Exemplo 6.2.2 No sistema



4x1 x31 + x2 = 0,
2 2
x1 + 4x2 x2 + 1 = 0
9 4
Veja a figura 6.3.1 com a ilustrao das curvas.
D. Andrade Clculo Numrico 117

5
4
3
y
2
1

-4 -2 0 2x 4
-1
-2
-3

Figura 6.2: A soluo est na interseo das curvas

6.3 Caso Particular: F = (f, g)


Consideremos F : R2 R2 dada por F (x, y) = (f (x, y), g(x, y)). Aplicando a expresso
(6.2.3), obtemos

f (x(k) , y (k)) f (x(k) , y (k) )  (k+1)   
x y x x (k)
f (x(k)
, y (k)
)
(6.3.4)
g(x(k) , y (k) ) g(x(k) , y (k) ) . y (k+1) y (k) = g(x(k) , y (k))
x y

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),

(gfy f gy )(x(k) , y (k))


x(k+1) x(k) = , k0 (6.3.5)
(fx gy gx fy )(x(k) , y (k) )
(f gx gfx )(x(k) , y (k) )
y (k+1) y (k) = , k0 (6.3.6)
(fx gy gx fy )(x(k) , y (k) )

Ou equivalentemente,  
f gy gfy
x (k+1)
=x (k)
, k0 (6.3.7)
fx gy gx fy
D. Andrade Clculo Numrico 118

 
gfx f gx
y (k+1)
=y (k)
, k0 (6.3.8)
fx gy gx fy
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
dimenses 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



4x1 x31 + x2 = 0,
2 2
x1 + 4x2 x2 + 1 = 0
9 4
Com aproximao inicial (1, 2) obtemos as seguintes aproximaes com 4 iteraes
(k) (k)
Iterao x1 x2
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

(7) (7)
Note que F (x1 , x2 ) = (.23 107 , .119 107 ). Veja a figura 6.3.1.

Exerccio 6.3.2

Use o mtodo de Newton-Raphson para determinar numericamente uma soluo para


cada um dos sistemas:
(
x2 + y 2 2 = 0
(a) aprox. inicial (x0 , y 0) = (1.2, 0.7)
x2 y 2 1 = 0.
D. Andrade Clculo Numrico 119

5
4
3
y
2
1

-4 -2 0 2x 4
-1
-2
-3

Figura 6.3: A soluo est na interseo das curvas

(
3x2 y y 3 = 4
(b) aprox. inicial (2.0; 2.5)
x2 + xy 3 9 = 0.
(
x2 + y 2 1 = 0
(c) 2 2 1
aprox. inicial (x0 , y 0 ) = (1.0, 3.0)
x y 2 = 0.

6.4 Usando Maple: o mtodo Newton-Raphson


O seguinte procedimento assume que f uma funo vetorial definida em um aberto do
espao n dimensional, x um vetor n dimensional. O terceiro argumento um vetor n
dimensional o dado inicial x0 . 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
(
3x2 y y 3 = 4
x2 + xy 3 = 9

e aproximao inicial x(0) = (1.5, 1.5).

> restart: with(plots):with(linalg):


D. Andrade Clculo Numrico 120

> NR_n :=
> pro (f,x,x0,n)
> lo al i,j,k,m,xn,z,fxn,Jf,Jxn;
> # i,j,k indi es
> # m numero de eqs nao lineares.
> # xn Solu ao aproximada de f(x)=0 aps m iteraes
> # om ondio in ial x0.
> # z varivel usada no mtodo.
> # fxn Este vetor ontm os valores de -f(xn).
> # Jf Ja obiano de f num ponto genri o x.
> # Jxn Ja obiano avaliado em x_n, J(x_n)
> #
> m := ve tdim(f);
> # Initializa om a ondio ini ial x0.
> xn := x0;
> # Cal ula o Ja obiano em um ponto genri o x.
> Jf := ja obian(f,x);
> # Iterao de Newton
> for j from 1 to n do
> # Cal ula o Ja obiano em xn.
> Jxn := map( a -> subs(seq(x[i=xn[i,i=1..m),a),Jf);
> # Cal ula 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 := ve tor(2):
> f := ve tor(2,[x[2-x[1^2,x[1-x[1*x[2+1);
> x0 := ve tor(2,[1.5,1.5);
> NR_n(f,x,x0,10);
D. Andrade Clculo Numrico 121

6.5 O mtodo do ponto Fixo


Dizemos que F : Rn Rn tem um ponto fixo, se existe X0 tal que F (X0 ) = X0 . O
seguinte resultado garante a existncia de ponto fixo.
Q
Teorema 6.5.1 Seja = ni=1 [ai , bi ] um compacto do Rn . Se F : de classe C 1 ,
ento F tem um ponto fixo.
Alm disso, se existe 0 K < 1 tal que as componentes fi de F satisfazem
fi (X) K
| | , X
xj n
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 fixo de F .
Demonstrao: A demonstrao pode facilmente adaptada do teorema 1.3.3. 

Exerccio 6.5.2 1. Use o mtodo de Newton-Raphson para determinar uma aproxi-


mao para a soluo do sistema
(
3x2 y y 3 4 = 0,
x2 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: (
4x2 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 fixo para sistemas no lineares.
Interpolao Polinomial
7
7.1 Introduo
Suponha que temos (n + 1) pontos distintos x0 , x1 , . . . , xn , chamados de ns, e que os
pontos y0 , y1 , . . . , yn foram obtidos por meio de alguma funo f que desconhecida ou
difcil de manusear algebricamente, isto , yi = f (xi ), i = 0, 1, . . . , n. Queremos conhecer
ou estimar f (xr ) para algum valor xr no tabelado. Podemos fazer isto interpolando f
por uma funo polinomial.
Em muitos problemas concretos, conhecemos apenas os pares de pontos (xi , f (xi )) 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 (xi , f (xi )).

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.

122
D. Andrade Clculo Numrico 123

Teorema 7.1.1 (Aproximao de Weierstrass) Seja f : [a, b] R uma funo con-


tnua 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.

7.2 Existncia do polinmio interpolador


Dados os n + 1 pontos (x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn )), onde x0 , x1 , . . . , xn so (n + 1)
pontos distintos, queremos determinar uma funo polinomial pn (x), de grau mximo n,
que satisfaa
f (xi ) = pn (xi ), i = 0, 1, . . . , n. (7.2.1)

Como pn (x) tem a forma

pn (x) = an xn + an1 xn1 + + a1 x + a0 ,

ento (7.2.1) se transforma em

an xn0 + an1 x0n1 + + a1 x0 + a0 = f (x0 )


an xn1 + an1 x1n1 + + a1 x1 + a0 = f (x1 )
.. .. .
. . = ..
n n1
an xn + an1 xn + + a1 xn + a0 = f (xn )

Escrevendo o sistema acima na forma matricial, obtemos



1 x0 x20 . . . xn0 a0 f (x0 )
1 x1 x2 . . . xn a1 f (x1 )
1 1
.. .. .. .. .. = .. . (7.2.2)
. . . . . .
1 xn x2n . . . xnn an f (xn )
| {z }
=A

Notemos que det A 6= 0, pois os pontos x0 , x1 , . . . , xn so distintos e A uma matriz de


D. Andrade Clculo Numrico 124

Vandermonde1 . Assim, o sistema linear admite uma nica soluo a0 , a1 , . . . , an . Isto ,


existe um nico polinmio pn (x) = an xn + an1 xn1 + + a1 x + a0 de grau mximo n que
interpola f .
Podemos ento enunciar o seguinte resultado:

Teorema 7.2.1 Dados x0 , x1 , . . . , xn pontos distintos existe um nico polinmio pn (x), de


grau mximo n, que interpola f nos pontos (xi , f (xi )), i = 0, . . . , n.

7.3 Mtodos de Interpolao


Como vimos na seo anterior, j temos um mtodo para determinar o polinmio inter-
polador: 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 x0 , x1 , . . . , xn e yi = f (xi ), i = 0, 1, . . . , n. Para
cada k = 0, 1, . . . , n sejam

(x x0 )(x x1 ) . . . (x xk1 )(x xk+1 ) . . . (x xn )


Lk (x) = .
(xk x0 )(xk x1 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn )

Ou resumidamente,
n
Y x xi
Lk (x) = , k = 0, 1, . . . , n. (7.3.3)
i=0,i6=k
xk xi

fcil observar que:



1 x0 x20 . . . xn0
1 x1 x21 . . . xn1

x22 . . . xn2
1
A matriz de Vandermonde de dimenso (n + 1) (n + 1) V = 1 x2 com entradas
.. .. .. .. ..
. . . . .
1 xn x2n . . . xnn
Y
i1 , i, j = 1, . . . , n + 1 tem determinante dado por det V =
Vij = xj1 (xi xj ).
0i<jn
D. Andrade Clculo Numrico 125

(1i) Lk (xk ) = 1,
(2i) Lk (xj ) = 0, se j 6= k,
(3i) Lk (x) um polinmio de grau n.

Seja pn (x) o polinmio dado por


pn (x) = y0 L0 (x) + y1 L1 (x) + + yn Ln (x). (7.3.4)
Podemos verificar que pn (x) satisfaz pn (xi ) = yi , i = 0, 1, . . . , n, isto , pn (x) um polinmio
que interpola f nos pontos xi . Como o polinmio interpolador nico, segue que este o
polinmio interpolador. Resumindo temos o seguinte teorema:
Teorema 7.3.1 (Lagrange) Sejam x0 , x1 , . . . , xn pontos distintos e yi = f (xi ), i = 0, 1, . . . , n
dados. Ento, existe um polinmio pn (x) de grau n que interpola f nesses pontos. Alm
disso, pn (x) dado por
pn (x) = y0 L0 (x) + y1 L1 (x) + + yn Ln (x),
onde n
Y x xi
Lk (x) = , k = 0, 1, . . . , n.
i=0,i6=k
xk xi

Exemplo 7.3.2
Usando o mtodo de Lagrange para determinar o polinmio que interpola os pontos
xk -1 0 1 2
yk 0 1 2 7
obtemos
(x x1 )(x x2 )(x x3 ) x(x 1)(x 2)
L0 (x) = =
(x0 x1 )(x0 x2 )(x0 x3 ) 6
(x x0 )(x x2 )(x x3 ) (x + 1)(x 1)(x 2)
L1 (x) = =
(x1 x0 )(x1 x2 )(x1 x3 ) 2
(x x0 )(x x1 )(x x3 ) (x + 1)x(x 2)
L2 (x) = =
(x2 x0 )(x2 x1 )(x2 x3 ) 2
(x x0 )(x x1 )(x x2 ) (x + 1)x(x 1)
L3 (x) = = .
(x3 x0 )(x3 x1 )(x3 x2 ) 6

Segue que o polinmio interpolador dado por p(x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) +
y3 L3 (x) = 23 x3 + 13 x + 1
D. Andrade Clculo Numrico 126

Exemplo 7.3.3

Usando o mtodo de Lagrange para determinar o polinmio que interpola os pontos,


plotamos os pontos e o polinmio interpolador p(x) = 43 x4 + 6x3 61
4
x2 + 13x.
xk 0 1 2 3 4
yk 0 3 1 3 0

3.5

2.5

1.5

0.5

0 1 2 3 4
x

Figura 7.1: Grfico do polinmio interpolador do exemplo 7.3.3

Teorema 7.3.4 (Estimativa para o erro) Sejam dados (n + 1) ns distintos x0 , x1 , x2 ,


. . . , xn 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 (n+1) (x )
f (x) = pn (x) + (x x0 )(x x1 ) (x xn ). (7.3.5)
(n + 1)!
Demonstrao: Notemos que se x = xk para algum k = 0, 1, . . . , n ento a igualdade
acima em (7.3.5) satisfeita independentemente de x .
Tomemos ento x 6= xk , k = 0, 1, . . . , n e definimos a funo
(t x0 )(t x1 ) (t xn )
g(t) = f (t) pn (t) [f (x) pn (x)] .
(x x0 )(x x1 ) (x xn )
D. Andrade Clculo Numrico 127

fcil ver que g C (n+1) [a, b], pois f tem esta propriedade, alm disso g(xk ) = 0 para
todo k = 0, 1, . . . , n. Notemos tambm que g(x) = 0 e assim, g se anula em (n + 2) pontos
distintos de [a, b]. Pelo Teorema de Rolle generalizado, existe x (a, b) para o qual
g (n+1) (x ) = 0. Logo, temos
n
(n+1) (n+1) d(n+1) Y (t xi )
g (x ) = f (x ) p(n+1)
n (x ) [f (x) pn (x)] n+1 = 0.
dt i=0
(x xi )

Como pn (x) um polinmio de grau mximo n segue que sua derivada de ordem (n + 1)
Yn
(t xi )
nula. Como um polinmio de grau (n + 1), sua derivada de ordem (n + 1)
i=0
(x xi )
constante e igual a
n
d(n+1) Y (t xi ) (n + 1)!
n+1
= Qn .
dt i=0
(x xi ) i=0 (x xi )

Assim podemos escrever,

(n + 1)!
0 = f (n+1) (x ) [f (x) pn (x)] Qn ,
i=0 (x xi )

de onde temos n
f (n+1) (x ) Y
f (x) = pn (x) + (x xi ).
(n + 1)! i=0
Isto conclui a demonstrao do teorema. 
Segue que podemos estimar o erro cometido na interpolao polinomial quando trocamos
f (x) por pn (x):
n
f (n+1) (x ) Y
En (x) = f (x) pn (x) = (x xi )
(n + 1)! i=0
(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.

Exemplo 7.3.5
D. Andrade Clculo Numrico 128

Sejam xk = 0.1k e yk = f (xk ), k = 0, 1, . . . , 10 = n, obtidos de f (x) = exp(x). Para x [0, 1],


vamos estimar o erro
f (n+1) ()
|f (x) Pn (x)| = | (x x0 )(x x1 ) . . . (x xn )|.
(n + 1)!

Notemos que maxx[0,1] f (n+1) (x) = e, assim

f (n+1) (x )
|En (x)| = | (x x0 )(x x1 ) . . . (x xn )|
(n + 1)!
e
|(x 0)(x 0.1) . . . (x 10)|.
11!
Se x = 0.55, obtemos
e
|En (x)| |(0.55 0)(0.55 0.1) . . . (0.55 1)|
11!
e
| 0.4796520993 107 | = 0.326638 1014 .
11!

7.3.2 O mtodo de Lagrange para pontos igualmente espaados


Se os pontos dados x0 < x1 < x2 < . . . < xn so igualmente espaados, isto , xi+1
xi = h, i = 0, 1, 2, . . . , n 1, o polinmio interpolador dado pelo mtodo de Lagrange pode
x x0
ser escrito de uma forma mais simples. Dado x [x0 , xn ] seja u = . Segue que
h
x = x0 + uh e portanto tem-se

x xk = (u k)h,
xr xs = (r s)h.

Substituindo estas informaes no polinmio interpolador dado pelo mtodo de Lagrange,


obtemos
Xn Yn  
ui
pn (u) = yk .
ki
k=0 i=0,i6=k
(7.3.7)
D. Andrade Clculo Numrico 129

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);.

> restart:
> interpoLa:=pro (pts) lo al i,j,k,polin,gr1,gr2,` he k arguments`;
> if type(pts,`list`) = false then
ERROR(`o argumento deve ser uma lista de pontos do R^2`) fi;
> ` he k 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(` he k arguments`,pts);
> polin:=sort(expand(sum(produ t((x-pts[j[1)/(pts[i[1-pts[j[1),j=1..i-1)
*produ t((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= ir le, olor=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 (xn+1 , yn+1) nos obriga a refazer todos os clculos dos novos polinmios Lk (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 pn (x) que interpola f
nos pontos x0 , x1 , . . . , xn precisamos do operador de diferenas divididas que passaremos
a expor agora.
D. Andrade Clculo Numrico 130

O operador diferenas divididas definido por

f [x0 ] = f (x0 ), (ordem zero)


f [x1 ] f [x0 ] f (x1 ) f (x0 )
f [x0 , x1 ] = = , (ordem 1)
x1 x0 x1 x0
f [x1 , x2 ] f [x0 , x1 ]
f [x0 , x1 , x2 ] = , (ordem 2)
x2 x0
f [x1 , x2 , x3 ] f [x0 , x1 , x2 ]
f [x0 , x1 , x2 , x3 ] = , (ordem 3)
x3 x0
.. .
. = ..
f [x1 , x2 , x3 , . . . , xn ] f [x0 , x1 , x2 , . . . , xn1 ]
f [x0 , x1 , x2 , x3 , . . . , xn ] = , (ordem n)
xn x0

Chamamos de f [x0 , x1 , x2 , . . . , xk ] de diferena dividida de ordem k entre os k + 1 pontos


x0 , x1 , x2 , . . . , xk . As diferenas divididas f [x0 , x1 , x2 , . . . , xk ] so invariantes para qualquer
permutao dos ndices, isto , so funes simtricas nos seus argumentos.
Dados x0 , x1 , x2 , . . . , xn pontos distintos, podemos assumir que esto ordenados em ordem
crescente, x0 < x1 < . . . < xn . Podemos construir a seguinte tabela de diferenas dividi-
das

xk f [xk ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ] f [xk , xk+1 , xk+2 , xk+3 ]
x0 f [x0 ]
f [x0 , x1 ]
x1 f [x1 ] f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f [x2 ] f [x1 , x2 , x3 ]
f [x2 , x3 ]
x3 f [x3 ]

No caso geral temos:


D. Andrade Clculo Numrico 131

xk Ordem 0 Ordem 1 Ordem 2 Ordem 3 ... Ordem n


x0 f [x0 ]
f [x0 , x1 ]
x1 f [x1 ] f [x0 , x1 , x2 ]
f [x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x2 f [x2 ] f [x1 , x2 , x3 ]
f [x2 , x3 ] f [x1 , x2 , x3 , x4 ]
x3 f [x3 ] f [x2 , x3 , x4 ]
..
f [x3 , x4 ] . ... f [x0 , x1 , x2 , . . . , xn ]
.. .. ..
x4 f [x4 ] . . .
f [xn2 , xn1 , xn ]
f [xn1 , xn ]
xn f [xn ]

Apresentaremos agora a construo do polinmio pn (x) que interpola f (x) nos pontos
x0 , x1 , x2 , . . . , xn segundo o mtodo de Newton. A construo feita por induo, iniciamos
com o polinmio que interpola f (x) em x = x0 e assim sucessivamente, construremos
pk (x) que interpola f (x) em x0 , x1 , x2 , . . . , xk , k = 0, 1, . . . , n.
Seja, ento p0 (x) o polinmio de grau zero, que interpola f (x) em x = x0 . Segue que
p0 (x) = f [x0 ].
Para x 6= x0 e x [a, b], temos que

f [x] f [x0 ] f (x) f (x0 )


f [x0 , x] = = ,
x x0 x x0
donde se obtm
f (x) = f (x0 ) + (x x0 )f [x0 , x] .
| {z } | {z }
p0 (x) E0 (x)

Chamamos de E0 (x) = f (x) p0 (x) de erro cometido ao se aproximar f (x) por p0 (x).
D. Andrade Clculo Numrico 132

Seja, p1 (x) o polinmio de grau 1 que interpola f (x) em x0 e x1 . Temos que

f [x, x0 ] f [x1 , x0 ] f (x) f (x0 ) (x x0 )f [x1 , x0 ]


f [x0 , x1 , x] = f [x1 , x0 , x] = = ,
x x1 (x x0 )(x x1 )

donde se obtm

f (x) = f (x0 ) + (x x0 )f [x1 , x0 ] + (x x0 )(x x1 )f [x0 , x1 , x] .


| {z } | {z }
p1 (x) E1 (x)

Assim,
p1 (x) = p0 (x) + (x x0 )f [x0 , x1 ],
e
E1 (x) = (x x0 )(x x1 )f [x0 , x1 , x].
Analogamente, obtemos

p2 (x) = p1 (x) + (x x0 )(x x1 )f [x0 , x1 , x2 ]

e
E2 (x) = (x x0 )(x x1 )(x x2 )f [x0 , x1 , x2 , x].
Repetindo sucessivamente o argumento acima, obtemos que

f (x) = f (x0 ) + (x x0 )f [x1 , x0 ] + + (x x0 )(x x1 ) (x xn1 )f [x0 , x1 , , xn ]


| {z }
pn (x)

+ (x x0 )(x x1 ) (x xn )f [x0 , x1 , . . . , xn , x] .
| {z }
En (x)

Assim,

pn (x) = f (x0 ) + (x x0 )f [x0 , x1 ] + (x x0 )(x x1 )f [x0 , x1 , x2 ] + +


(x x0 )(x x1 ) (x xn1 )f [x0 , x1 , , xn ]

e
En (x) = (x x0 )(x x1 ) (x xn )f [x0 , x1 , . . . , xn , x].
Note que o coeficiente principal do polinmio interpolador dado por f [x0 , x1 , , xn ].
Resumindo acabamos de provar o seguinte resultado.
D. Andrade Clculo Numrico 133

Teorema 7.5.1 A forma de Newton para o polinmio pn (x) que interpola f (x) em x0 , x1 ,
x2 , . . . , xn pontos distintos, dado por
pn (x) = d0 + d1 (x x0 ) + d2 (x x0 )(x x1 ) + + dn (x x0 )(x x1 ) (x xn1 ),
onde dk so as diferenas divididas de ordem k dadas por
dk = f [x0 , x1 , x2 , . . . , xk ].
Alm disso, se f (n + 1) vezes diferencivel no intervalo [a, b] que contm os pontos xi , o
erro En (x) dado por
En (x) = f (x) pn (x) = (x x0 )(x x1 ) (x xn )f [x0 , x1 , . . . , xn , x].

Algumas propriedades das diferenas divididas:


(1i) Uma propriedade importante
n
X yi
f [x0 , x1 , x2 , . . . , xn ] = Qn .
i=0 j=0,j6=i (xi xj )

(2i) Sendo f (x) uma funo n vezes diferencivel num intervalo [a, b] que contm n + 1
pontos distintos x0 , x1 , x2 , . . . , xn , ento

f (n) ()
f [x0 , x1 , x2 , . . . , xn ] = , (7.5.8)
n!
para algum (a, b).
Vamos verificar (2i). Definindo g(x) = f (x) pn (x) temos que
g(xi ) = 0, i = 0, 1, . . . , n.
Usando o Teorema generalizado de Rolle, existe um nmero (a, b) com
g (n) () = 0.
(n) (n)
Logo, f (n) () = pn (). Como pn (x) tem grau mximo n, temos que a derivada pn (x)
constante e igual a n!f [x0 , x1 , x2 , . . . , xn ]. Disto segue o resultado.

Em vista de (7.5.8) a expresso para o erro pode ser escrita como


f (n+1) ()
En (x) = (x x0 )(x x1 ) (x xn ) ,
(n + 1)!
para algum (a, b). Veja a seo 7.8 para um comentrio sobre o erro e o fenmeno
Runge.
D. Andrade Clculo Numrico 134

Exemplo 7.5.2

Usando o mtodo de Newton determine o polinmio que interpola os pontos


xk -1 0 1 2
yk 0 1 2 7

Vamos construir a tabela de diferenas divididas

xk 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

p3 (x) = d0 + d1 (x x0 ) + d2 (x x0 )(x x1 ) + d3 (x x0 )(x x1 )(x x2 )


2
= (x + 1) + (x + 1)x(x 1).
3
Exemplo 7.5.3

Usando o mtodo de Newton determine o polinmio que interpola os pontos abaixo e


estime uma aproximao para o valor f (1.75).

xk 0 0.5 1.0 1.5 2.0


f (xk ) 1 1.649 2.718 4.482 7.389

Vamos construir a tabela de diferenas divididas


D. Andrade Clculo Numrico 135

xk Ordem 0 Ordem 1 Ordem 2 Ordem 3 Ordem 4


0.0 1
1.298
0.5 1.649 0.84
2.138 0.36667
1.0 2.718 1.39 0.11533
3.5280 0.5973
1.5 4.482 2.286
5 .814
2.0 7.389

A partir da tabela, podemos escrever o polinmio interpolador

p(x) = 1 + 1.298x + 0.84x(x 0.5) + 0.36667x(x 0.5)(x 1) + 0.11533x(x 0.5)(x 1)(x 1.5).

Logo, uma aproximao para f (1.75) dada por p(1.75) = 5.757867.

7.5.1 Outra demonstrao para o polinmio de Newton


Sejam dados x0 < x1 < x2 < . . . < xn pontos distintos. O polinmio que interpola f nos
pontos (xi , f (xi )) da forma
n
X
Pn (x) = di pi (x),
i=0
D. Andrade Clculo Numrico 136

onde

p0 (x) = 1,
p1 (x) = (x x0 ),
p2 (x) = (x x0 )(x x1 ),
... = ...
i1
Y
pi (x) = (x x0 )(x 1) (x xi1 ) = (x xj ),
j=0
... = ...
n1
Y
pn (x) = (x x0 )(x 1) (x xn1 ) = (x xj ).
j=0

Notemos que se k < i, ento pi (xk ) = 0.


Substituindo os pontos no polinmio, obtemos

Pn (x0 ) = d0 p0 (x0 ) = y0 ,
Pn (x1 ) = d0 p0 (x1 ) + d1 p1 (x1 ) = y1 ,
Pn (x2 ) = d0 p0 (x2 ) + d1 p1 (x2 ) + d2 p2 (x2 ) = y2 ,
Pn (x3 ) = d0 p0 (x3 ) + d1 p1 (x3 ) + d2 p2 (x3 ) + d3 p3 (x3 ) = y3 ,
... = ...
Pn (xn ) = d0 p0 (xn ) + d1 p1 (xn ) + d2 p2 (x2 ) + dn pn (xn ) = yn ,

Num sistema de equaes lineares, temos



p0 (x0 ) 0 0 ... 0 d0 y0
p0 (x1 ) p1 (x1 ) 0 0 d1 y1

p0 (x2 ) p1 (x2 ) p2 (x2 ) 0 d2 y2
=
.. .. .. .. .. .. ..
. . . . . . .
p0 (xn ) p1 (xn ) pn (xn ) dn yn
D. Andrade Clculo Numrico 137

Por substituio direta e utilizando a definio de diferenas divididas obtemos que

d0 = y0
d1 = f [x0 , x1 ]
.. .
. = ..
di = f [x0 , x1 , . . . , xi ]
.. .
. = ..
dn = f [x0 , x1 , . . . , xn ].

Isto conclui a prova. 

7.6 Usando Maple: interpolao pelo mtodo de New-


ton
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 F Xin as duas listas, o nmero
de elementos n e a varivel de sada x.

> restart:
> Newtondd:=pro (X,FXin,n) lo al FX,i,j,pol,mult;
FX:=FXin; for i from 1 to n-1
do print(FX[i..n,` ordem`,i-1);
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);
D. Andrade Clculo Numrico 138

7.6.1 O mtodo de Newton para pontos igualmente espaados


Dados os pontos x0 < x1 < x2 < . . . < xn igualmente espaados, isto , xi+1 xi = h, i =
0, 1, 2, . . . , n1, o polinmio interpolador dado pelo mtodo de Newton assume uma forma
mais simples chamada de Newton-Gregory.
Definimos 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

k f (x0 )
f [x0 , x1 , . . . , xk ] = .
k!hk
Demonstrao: A prova por induo. Se k = 1, temos

f (x1 ) f (x0 ) f (x0 )


f [x0 , x1 ] = = .
x1 x0 h
Agora assuma que o resultado vlido para k r, vamos provar que o resultado ainda
vale para r + 1.
Assim, segue que,

f [x1 , x2 , . . . , xr+1 ] f [x0 , x1 , . . . , xr ]


f [x0 , x1 , . . . , xr+1 ] =
x x0
 r r+1 
1 f (x1 ) r f (x0 )
=
(r + 1)h r!hr r!hr
r f (x1 ) r f (x0 )
=
r!(r + 1)hhr
r+1 f (x0 )
= .
(r + 1)!hr+1
D. Andrade Clculo Numrico 139

Isso conclui a prova do lema. 


x x0
Dado x [x0 , xn ] seja s = . Segue que x x0 = sh e portanto tem-se
h
x xr = x (x0 + rh) = (x x0 ) rh = sh rh = (s r)h.
Do lema acima, podemos concluir que, para pontos igualmente espaados
d0 = f [x0 ]
f (x0 )
d1 = f [x0 , x1 ] =
h
2 f (x0 )
d2 = f [x0 , x1 , x2 ] =
2!h2
.. ..
. = .
k f (x0 )
dk = f [x0 , x1 , . . . , xk ] =
k!hk
.. ..
. = .
n f (x0 )
dn = f [x0 , x1 , . . . , xn ] =
n!hn
Substituindo no polinmio interpolador de Newton, obtemos
n
X r f (x0 )
pn (s) = s(s 1) (s (r 1)) .
r=0
r!

Usando a notao
   
s s s(s 1) (s (r 1))
= 1, = ,r 1
0 r r!
o polinmio pode ser escrito como
n 
X  n 
X 
s r s
pn (s) = f (x0 ) = f (x0 ) + r f (x0 ).
r r
r=0 r=1

Este polinmio interpolador de Newton-Gregory.


x x0
Podemos efetuar a mesma substituio, s = , na expresso do erro
h
f (n+1) ()
En (x) = (x x0 )(x x1 ) (x xn )
(n + 1)!
D. Andrade Clculo Numrico 140

para obter
f (n+1) ()
En (s) = s(s 1)(s 2)(s 3) (s n)hn+1 ,
(n + 1)!
onde (0, n).

7.7 Exemplos

Construa a tabela de diferenas ordinrias dos seguintes pontos, onde f (x) = x.

xk 2 2.1 2.2 2.3 2.4


f (xk ) 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.

xk 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 141

x x0
Chamando = , da tabela temos que,
h
2 f (x0 ) 3 f (x0 )
p4 () = 1.414214 + f (x0 ) + ( 1) + ( 1)( 2)
2! 3!
4 f (x0 )
+( 1)( 2)( 3) .
4!
Dado x = 2.15 temos que = 2.152.0
0.1
= 1.5, assim temos sucessivamente:

p1 () = 1.414214 + f (x0 ) = 1.414214 + 0.034924


= 1.414214 + 1.5 0.034924 1.4666.

2 f (x0 )
p2 () = 1.414214 + f (x0 ) + ( 1)
2!
0.000822
1.4666 1.5 0.5 1.466292.
2

2 f (x0 ) 3 f (x0 )
p3 () = 1.414214 + f (x0 ) + ( 1) + ( 1)( 2)
2! 3!
1.5 0.5 (0.5) 0.000055
= p2 (1.5) + 1.466288.
6
E finalmente,

p4 () 1.466288.

Comparando os valores obtidos com 2.15 1.4662878 temos a seguinte tabela

grau k=1 k=2 k=3 k=4


pk (1.5) 1.4666 1.466292 1.466288 1.466288

| 2.15 pk (1.5)| 0.3122 103 0.42 105 0.2 106 0.2 106

Agora vamos estimar os erros usando a expresso para o erro


1
E4 (x) max{|(x x0 )(x x1 )(x x2 )(x x3 )(x x4 )f (5) (x); x [a, b]|}
(n + 1)!
D. Andrade Clculo Numrico 142

ou na varivel
1
E4 () max{|( 1)( 2)( 3)( 4)f (5) (); [0, 4]|},
(n + 1)!
x x0
onde = .
h
As derivadas da funo x so dadas por
1
f (1) (x) = 1/2 , f (2) (x) = 1/4 x3/2 , f (3) (x) = 3/8 x5/2
x
15 7/2 (5) 105 9/2
f (4) (x) =
x , f (x) = x
16 32
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):
|E1 (x)| 0.11 103
|E2 (x)| 0.4 105
|E3 (x)| 0.2 106
|E4 (x)| 0.4 107

Uma anlise dos grficos pode ajudar nas majoraes acima.


Observao 7.7.1 Para pontos igualmente espaados, xj = x0 + jh, a expresso do erro
envolve funes do tipo
n (x) = (x x0 )(x x1 )(x x2 ) (x xn ).
2
No caso de n = 1, temos 1 (x) = (x x0 )(x x1 ) cujo mximo no intervalo [x0 , x1 ] h4 .
Nocaso de n = 2, temos 2 (x) = (x x0 )(x x1 )(x x2 ) cujo mximo no intervalo [x0 , x2 ]
3
2 93h .
No caso de n = 3, temos 3 (x) = (x x0 )(x x1 )(x x2 )(x x3 ) cujo mximo no intervalo
[x0 , x3 ] h4 .
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).
xk 0.2 0.4 0.6 0.8 1.0
f (xk ) 0.2442805516 0.5967298792 1.093271280 1.780432742 2.718281828
D. Andrade Clculo Numrico 143

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 aprox-
imao na regio dos extremos do intervalo. A esse fenmeno chamamos de fenmeno
Runge: o 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.
1
Para ilustrar o fenmeno Runge, consideremos a funo tpica f (x) = e o inter-
1 + 25x2
valo [1, 1].

0.8

0.6

0.4

0.2

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1


x

1
Figura 7.2: grfico de f (x) =
1 + 25x2

Tomemos, respectivamente 7 e 13 ns igualmente espaados e os respectivos polinmios


D. Andrade Clculo Numrico 144

interpoladores de grau 6 e grau 12 que interpola f nos pontos (xi , f (xi )). 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.

1
x
1 0.8 0.6 0.4 0.2 0.2 0.4 0.6 0.8 1
0.8 0

0.6
1

0.4

2
0.2

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1


3

Figura 7.3: grau 6 Figura 7.4: grau 12

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

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
D. Andrade Clculo Numrico 145

3. Os dados dos dois exerccios anteriores foram gerados pelas funes f (x) = x ln(x)
e f (x) = x cos(x) 2x2 + 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 es-


paados

x 0 0.1 0.3 0.6 1.0


f (x) -6.00000 -5.89843 -5.65014 -5.17788 -4.28172

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 (xk , f (xk ))

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 (xk , f (xk ))

x 0 0.5 1.0 1.5 2.0


f (x) 1.320 1.65 2.34 3.47 4.56
D. Andrade Clculo Numrico 146

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 (xk , f (xk ))

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).


Z 2
Avalie a integral f (x)dx, para isso substitua f pelo polinmio acima.
0

7.9 Resumo do captulo


Neste captulo provamos que dados n+1 pares de pontos (xi , yi ) com distintos xi , 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. Apre-
sentamos tambm expresses para o erro na interpolao e estudamos o efeito Runge.
Aproximao por quadrados mnimos
8
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 confivel para pontos das regies prx-
imas aos extremos do intervalo e para pontos fora do intervalo do ajuste realizado (ex-
trapolao). 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) = a0 + a1 x + a2 x2 + . . . + an xn .

147
D. Andrade Clculo Numrico 148

Figura 8.1: disperso

Podemos tambm considerar que f tenha comportamento exponencial ou que f tem com-
portamento de polinmio trigonomtrico.

Vamos supor que desejamos ajustar aos dados (x1 , y1 ), (x2 , y2), . . . , (xm , ym ), onde yi =
f (xi ), uma funo do tipo
(x) = 1 g1 (x) + 2 g2 (x) + . . . + n gn (x), m n,
em que as funes gi so conhecidas.
Assim, devemos determinar os coeficientes i = 1, 2, . . . , n da funo tais que
|f (xk ) (xk )|2 , k = 1, 2, . . . , m
seja mnimo. Assim, devemos minimizar a funo
m
X
E(1 , 2 , . . . , n ) = |f (xk ) (xk )|2 ,
k=1

que uma funo de n variveis i , i = 1, 2, . . . , n.


Como E quadrtica o seu ponto de mnimo global o nico ponto crtico de E. Para
E
determinar os pontos crticos de E necessrio determinar os pontos tais que =
j
0, j = 1, 2, . . . , n.
Assim, para cada j = 1, 2, . . . , n
Xm
E
0= =2 [f (xk ) (xk )] (+gj (xk )),
j k=1
D. Andrade Clculo Numrico 149

que um sistema de equaes lineares:


m
X
[f (xk ) (xk )] gj (xk ) = 0, j = 1, 2, . . . , n.
k=1

Reescrevendo,
P
m

k=1 [f (xk ) (1 g1 (xk ) + 2 g2 (xk ) + + n gn (xk ))] g1 (xk ) = 0

P
m [f (xk ) (1 g1 (xk ) + 2 g2 (xk ) + + n gn (xk ))] g2 (xk ) = 0
k=1
.
.. .. ..

. .

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

Colocando os coeficientes s em evidncia, temos


Pm P P

[ k=1 g1 (xk )g1 (xk )] 1 + + [ m gn (xk )g1 (xk )] n = m
k=1 f (xk )g1 (xk )
k=1
[Pm g1 (xk )g2 (xk )] 1 + + [Pm gn (xk )g2 (xk )] n = Pm f (xk )g2 (xk )

k=1 k=1 k=1
.
.. ..

.

[Pm g (x )g (x )] + + [Pm g (x )g (x )] = Pm f (x )g (x ).
k=1 1 k n k 1 k=1 n k n k n k=1 k n k

Para simplificar, vamos usar a seguinte notao, por gi representaremos o vetor em Rm


dado por
gi = (gi (x1 ), gi (x2 ), . . . , gi (xm )), i = 1, 2, . . . , n.
Notao anlogo para f :
f = (f (x1 ), f (x2 ), . . . , f (xm )).
Usando esta notao, observamos que as expresses entre colchetes no sistema acima
so os produtos internos gi gj .
Assim, podemos esrever na forma matricial:

g1 g1 g2 g1 gn g1 1 f g1
g1 g2 g2 g2 gn g2
2 f g 2
.. .. .. . = . .
. . . .. ..
g1 gn g2 gn gn gn n f gn

Observamos que a matriz dos coeficientes simtrica:

aij = gi gj = gj gi = aji .
D. Andrade Clculo Numrico 150

Note que se os vetores gi 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 gi fossem tambm ortogonais, pois neste caso a matriz seria diagonal tornando
a soluo do sistema completamente trivial.

Exemplos
Exemplo 8.2.1 (Caso discreto linear)

Os dados (xk , yk ) abaixo foram obtidos experimentalmente. O fenmeno modelado por


uma funo f (x) com comportamento linear. Ajustar aos dados uma funo do tipo f (x) =
ax + b. .
xi -2 -1 0 1 2
f (xi ) = yi -1 1 3 5 7

Usando a teoria para o caso discreto, obtemos o seguinte sistema de equaes lineares
    
g1 g1 g2 g1 b f g1
= .
g1 g2 g2 g2 a f g2
onde g1 (x) = 1 e g2 (x) = x.
Calculando os produtos internos, temos
    
5 0 b 15
= .
0 10 a 20

Segue que a = 2 e b = 3, donde a fuo procurada f (x) = 2x + 3.

Exemplo 8.2.2 (Caso discreto mais comum)

Os dados (xk , yk ) 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) = BeAx .

xi 1.0 1.25 1.5 1.75 2.0


f (xi ) = yi 5.10 5.79 6.53 7.45 8.46
D. Andrade Clculo Numrico 151

Usando a teoria para o caso discreto, obtemos o seguinte sistema de equaes lineares
    
g1 g1 g2 g1 0 g1
= ,
g1 g2 g2 g2 1 g2
onde dada por ln(f (x)).
Calculando os produtos internos, temos
    
5 7.5 0 9.404
= .
7.5 11.875 1 14.422

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 (xi , ln yi ) uma reta. Segue daqui que as funes
so g1 (x) = 1 e g2 (x) = x e devemos determinar as constantes 0 = ln B e 1 = A. Os
novos dados so
xi 1.0 1.25 1.5 1.75 2.0
ln yi 1.629240540 1.756132292 1.876406943 2.008214032 2.135349174

Usando a teoria para o caso discreto, obtemos o seguinte sistema de equaes lineares
    
g1 g1 g2 g1 0 g1
= ,
g1 g2 g2 g2 1 g2
onde dada por ln(f (x)).
Calculando os produtos internos, temos
    
5 7.5 0 9.404
= .
7.5 11.875 1 14.422

Usando um dos mtodos numricos de resoluo de sistema de equaes lineares, obte-


mos
0 = 1.122 1 = 0.5056.
Como 0 = 1.122 = ln B, segue que B = e1.122 = 3.071. Logo, temos I(x) = 3.071e0.5056x .

Exerccio 8.2.3 (Emisso de CO2 e o aquecimento global:)


D. Andrade Clculo Numrico 152

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 car-
bono CO2 .
Ano 1800 1850 1900 1950 2000
Qtdade 5.0 109 1.0 1010 1.5 1010 2.0 1010 2.5 1010

Ajustar aos dados uma funo do tipo y = beax .

Exerccio 8.2.4 (Processo de cicatrizao)

O processo de uma cicatrizao obedece lei de Carrel2 , 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. Veja a tabela 8.2.

Tabela 8.1: Processo de cicatrizao


Tempo(dias) 0 5 10 15 20 25 30 35 40 45 50
rea (cm2 ) 120 90 84 71 55 44 35 27 20 16 11

Exerccio 8.2.5 (Disponibilidade de gua)

A disponibilidade de gua potvel no mundo vem caindo gradualmente. A tabela, com


dados da Amrica Latina baseados na realidade3 , apresenta a quantidade de gua por
habitante medida em 1000 m3 . Determine a curva da forma y = beax que melhor se
ajusta aos dados. Veja a tabela 8.2.

Tabela 8.2: Disponibilidade de gua


1950 1960 1970 1980 2000
105 80.2 61.7 48.8 28.3

Exerccio 8.2.6 (Casos importantes em aproximao por quadrados mnimos)


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
D. Andrade Clculo Numrico 153

Estude os casos de aproximao por quadrados mnimos em que os dados tenham os


seguintes comportamentos:
(a) Comportamento hiperblico
1
y= .
a + bx
1
Nesse caso, faa z = e ajuste uma reta A + Bx aos dados (xi , zi ). Em seguida volte
y
problema original.
(b) Comportamento exponencial
y = abx .
Veja o exemplo 8.2.2.
(c) Comportamento geomtrico
y = axb .
Nesse caso, se xi > 0 e yi > 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.7 (Caso discreto)

Dado os pares (xi , yi ) abaixo aproxime essa funo por uma parbola,
xi -1 -0.75 -0.6 -0.5 -0.3 0 0.2 0.4 0.5 0.7 1
yi 2.05 1.153 0.45 0.4 0.5 0 0.2 0.6 0.512 1.2 2.05
conveniente organizar os dados numa tabela

i xi yi x2i xi yi yi x2i x3i x4i


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
P 11 1.0 2.05
11 -0.35 9.115 4.2025 -0.10875 5.875562 -0.249875 2.846406
D. Andrade Clculo Numrico 154

Como queremos aproximar f (x) por uma parbola 0 + 1 x + 2 x2 , as funes so g1 (x) =


1, g2(x) = x e g3 (x) = x2 ; assim temos

g1 g1 g2 g1 g3 g1 0 f g1
g 1 g 2 g 2 g 2 g 3 g 2 1 = f g 2 .
g1 g3 g2 g3 g3 g3 2 f g3
Ou seja,
11 0.35 4.2025 0 9.115
0.35 4.2025 0.249875 1 = 0.10875 .
4.2025 0.249875 2.846406 2 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.93776x2.

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+ ,{a,b, }([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 dis-
tribudos no plano. Se os pontos esto distribudos em torno de uma reta, devemos procu-
rar 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 figuras 8.2.1, vemos que o comportamento
parablico, enquanto que o segundo claramente linear.
D. Andrade Clculo Numrico 155

8
1.8

1.6 6

1.4
4

1.2
2
1

0.8 3 2 1 0 1 2 3 4

0.6 2

0.4
4

0.2
3 2 1 0 1 2 3

Figura 8.2: dispersoparablico Figura 8.3: dispersolinear

8.3 Caso contnuo


Consideremos o espao vetorial C[a, b] das funes reais contnuas em [a, b] munido do
produto interno Z b
hf, gi = (x)f (x)g(x)dx,
a

onde (x) 0 uma funo integrvel com (x) 6 0 para todo subintervalo de [a, b].
Usando o produto interno acima definimos a norma de f C[a, b] por
p
kf k = hf, f i.

O produto interno acima introduz no espao C[a, b] a seguinte noo de distncia

d(f, g) = kf gk,

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].
f

-
f
S
D. Andrade Clculo Numrico 156

Queremos determinar coeficientes ak R, k = 0, 1, . . . , n, tais que o erro


n
X
kf ak k k
k=1
| {z }

seja mnimo. Ou equivalentemente,


n Z " n
#2
X b X
kf ak k k2 = (x) f (x) ak k (x) dx
k=1 a k=1

seja mnimo.
Pn Isto , os quadrados devem ser mnimos. Geometricamente, a rea abaixo
2
de [f (x) k=1 ak k (x)] deve ser mnima.
Seja " #2
Z b n
X
E(a1 , a2 , . . . , an ) = (x) f (x) ak k (x) dx.
a k=1

A fim de minimizar esta funo devemos resolver o seguinte sistema de equaes lin-
eares: Z b " #
n
X
E
=2 (x) f (x) ak k (x) (j (x))dx = 0, (8.3.1)
aj a k=1

j = 1, . . . , n.
Reescrevendo o sistema:
Z b n
X Z b
(x)f (x)j (x)dx = ak (x)k (x)j (x)dx, j = 1, . . . , n. (8.3.2)
a k=1 a

Podemos reescrever o sistema acima na forma matricial:



1 1 2 1 n 1 a1 f 1
1 2 2 2 n 2 a2 f 2

.. .. .. .. = .. . (8.3.3)
. . . . .
1 n 2 n n n an f n

Se as funes i forem linearmente independentes, ento o sistema admite uma nica


soluo.
D. Andrade Clculo Numrico 157

Exemplos
Exemplo 8.3.1 (Caso Contnuo)

Considere o espao C[0, 1] munido do produto interno usual dado por


Z 1
hf, gi = f (x)g(x)dx.
0

Aproximar f (x) = sin(x) em [0, 1] por uma funo da forma (x) = a0 + a1 x + a2 x2 . Assim,
1 (x) 1, 2 (x) = x e 3 (x) = x2 . Escrevendo o sistema 8.3.3

1 1 2 1 3 1 a0 f 1
1 2 2 2 3 2 a1 = f 2 .
1 3 2 3 3 3 a2 f 3

Calculando os produtos internos, obtemos


2

1 21 13 a0
1 1 1 a1 = 1 .
2 3 4
1 1 1 2
4
3 4 5
a2 3

Resolvendo o sistema de equaes lineares, obtemos

a0 = 0.050465, a1 = 4.12251, a2 = 4.12251.

Assim, a funo parablica que mais se aproxima de f

(x) = 0.050465 + 4.12251x 4.12251x2 .

Veja o grfico de sin(x) e da aproximao.

Exerccio 8.3.2 Considere o espao C[1, 1] das funes contnuas f : [1, 1] R


munido do produto interno dado por
Z 1
hf, gi = f (x)g(x)dx.
1

Seja S o subespao gerado pelos polinmios 1, x, x2 31 , x3 35 x. Verifique se os polinmios


so ortogonais. Determine a funo de S que melhor representa a funo sin(x).
D. Andrade Clculo Numrico 158

0.8

0.6

0.4

0.2

0 0.2 0.4 0.6 0.8 1


x

Se as funes i (x) forem dadas ortogonais entre si, ento o sistema acima (8.3.3) se
reduz a Z b Z b
(x)f (x)j (x)dx = aj (x)|j (x)|2 dx, j = 1, . . . , n, (8.3.4)
a a
e neste caso Z b
1
aj = (x)f (x)j (x)dx,
j a

onde Z b
j = (x)|j (x)|2 dx.
a

Obtemos assim, o seguinte teorema.

Teorema 8.3.3 Seja C[a, b] munido do produto interno


Z b
hf, gi = (x)f (x)g(x)dx.
a

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
n
X

f (x) = ak k (x),
k=1
D. Andrade Clculo Numrico 159

onde k = 1, . . . , n e
Z b
(x)f (x)k (x)dx
ak = Z a
b
. (8.3.5)
2
(x)|k (x)| dx
a

Exerccio 8.3.4 Considere o espao C[1, 1] das funes contnuas f : [1, 1] R


munido do produto interno dado por
Z 1
1
hf, gi = f (x)g(x)dx.
1 1 x2
Seja S o subespao gerado pelos polinmios 1, x, 2x2 1, 4x3 3x. Verifique 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


contnuo
O procedimento em Maple a seguir calcula os coeficientes do mtodo dos quadrados mn-
imos no caso contnuo e produto interno
Z b
hf, gi = f (x)g(x)dx.
a

> restart:with(linalg):
> MMQua := pro (inf, sup, f, N) lo al A,X, b, i, j;
A := matrix(N,N); b := ve tor(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 .
D. Andrade Clculo Numrico 160

> 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


mnimos
Dizemos que uma famlia de polinmios no nulos p0 (x), p1 (x), . . . , pn (x), . . . uma famlia
de polinmios ortogonais, relativamente ao produto interno h, i, se verifica o seguinte
(
0, i 6= j
hpi (x), pj (x)i =
Ci 6= 0, i = j.
No estudo dos polinmios, utiliza-se produtos internos da forma
Z b
hf, gi = (x)f (x)g(x)dx,
a

onde (x) 0 e (x) 6 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.
Z 1
(1i) hf, gi = f (x)g(x)dx, isto , (x) 1 e a = 1, b = 1. Este produto interno dar
1
origem aos polinmios de Legendre.
Z 1
1 1
(2i) hf, gi = f (x)g(x)dx, isto , (x) = e a = 1, b = 1. Este produto
1x 2 1 x2
1
interno dar origem aos polinmios de Tchebycheff.
Z
(3i) hf, gi = ex f (x)g(x)dx, isto , (x) = ex e a = 0, b = . Este produto interno
0
dar origem aos polinmios de Laguerre.
D. Andrade Clculo Numrico 161

Z
2 2
(4i) hf, gi = ex f (x)g(x)dx, isto , (x) = ex 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
Z b
hf, gi = (x)f (x)g(x)dx,
a

onde (x) 0 integrvel em [a, b] e (x) 6 0 em cada subintervalo de [a, b] a funo peso,
0 (x) = 1, 1 (x) = x B1 , x [a, b]
onde Z b
x(x)|0 (x)|2 dx
B1 = Za b
,
2
(x)|0(x)| dx
a
e para k 2
k (x) = (x Bk )k1(x) Ck k2(x), x [a, b],
onde Z b
x(x)|k1 (x)|2 dx
Bk = Za b
(x)|k1(x)|2 dx
a
e Z b
x(x)k1 (x)k2 (x)dx
a
Ck = Z b .
2
(x)|k2(x)| dx
a

Exemplo 8.5.2 (Polinmios de Legendre)


Tomando (x) = 1, a = 1 e b = 1, os polinmios ortogonais construdos usando o Teo-
rema 8.5.1 so
1 3
P0 (x) = 1, P1 (x) = x, P2 (x) = x2 , P3 (x) = x3 x,
3 5
6 3 10 5
P4 (x) = x4 x2 + , P5 (x) = x5 x3 + x.
7 35 9 21
D. Andrade Clculo Numrico 162

Grau Polinmios de Legendre


0 1
1 x
2 3x2 /2 1/2
3 5x3 /2 3x/2
4 35 4
8
x 154
x2 + 3/8
5 63 5
8
x 4 x + 15
35 3
8
x
6 231 6
16
315 4 105 2
x 16 x + 16 x 16 5

7 429 7
16
693 5 315 3
x 16 x + 16 x 16 x 35

8 6435 8
128
x 3003
32
x6 + 3465
64
x4 315 32
35
x2 + 128
9 12155 9
128
x 6435
32
x7 + 9009
64
x5 115532
x3 + 315
128
x
10 46189 10
256
x 109395 8
256
x + 45045 6
128
x 15015 4
128
x + 3465 2
256
x 63
256

Exemplo 8.5.3 (Polinmios de Tchebycheff)

Os polinmios de Tchebycheff {Tn (x)} so ortogonais em (1, 1) com relao ao produto


interno Z 1
hf, gi = (x)f (x)g(x)dx,
1
1
onde a funo peso (x) = (1 x2 ) 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 x2 1
3 4 x3 3 x
4 8 x4 8 x2 + 1
5 16 x5 20 x3 + 5 x
6 32 x6 48 x4 + 18 x2 1
7 64 x7 112 x5 + 56 x3 7 x
8 128 x8 256 x6 + 160 x4 32 x2 + 1
9 256 x9 576 x7 + 432 x5 120 x3 + 9 x
10 512 x10 1280 x8 + 1120 x6 400 x4 + 50 x2 1

Exemplo 8.5.4 (Polinmios de Laguerre)


D. Andrade Clculo Numrico 163

Os polinmios de Laguerre L0 (x), L1 (x), L2 (x), . . . , so obtidos usando o Teorema 8.5.1,


com o produto interno Z
hf, gi = ex f (x)g(x)dx,
0
onde a funo peso (x) = e , a = 0 e b = +.
x

Grau Polinmios de Laguerre


0 1
1 1x
2 1 2 x + 1/2 x2
3 1 3 x + 3/2 x2 1/6 x3
4 1 4 x + 3 x2 2/3 x3 + 1/24 x4
5 1 5 x + 5 x2 5/3 x3 + 24 5 4
x 1201
x5
6 1 6 x + 15/2 x 10/3 x + 5/8 x 1/20 x5 + 720
2 3 4 1
x6
7 1 7 x + 21/2 x2 35 3 35 4 7 5 7 6
6 x + 24 x 40 x + 720 x 5040 x
1 7

8 2 28 3 35 4 7 5 7 6 1
1 8 x + 14 x 3 x + 12 x 15 x + 180 x 630 x + 40320 7 1
x8
9 1 9 x + 18 x2 14 x3 + 21 4 21 5 7 6 1 7 1 8
4 x 20 x + 60 x 140 x + 4480 x 362880 x
1 9

10 45 2 35 4 21 5 7 6 1
1 10 x + 2 x 20 x + 4 x 10 x + 24 x 1/42 x + 896 x 36288 x9 +
3 7 8 1 1
3628800 x10

Exemplo 8.5.5 (Polinmios de Hermite)

Os polinmios de Hermite so obtidos usando o Teorema 8.5.1, com o produto interno


Z
2
hf, gi = ex f (x)g(x)dx,

2
onde a funo peso (x) = ex , a = e b = +.
Grau Polinmios de Hermite
0 1
1 2x
2 4 x2 2
3 8 x3 12 x
4 16 x4 48 x2 + 12
5 32 x5 160 x3 + 120 x
6 64 x6 480 x4 + 720 x2 120
7 128 x7 1344 x5 + 3360 x3 1680 x
8 256 x8 3584 x6 + 13440 x4 13440 x2 + 1680
9 512 x9 9216 x7 + 48384 x5 80640 x3 + 30240 x
10 1024 x10 23040 x8 + 161280 x6 403200 x4 + 302400 x2 30240
D. Andrade Clculo Numrico 164

8.5.1 Propriedades dos Polinmios Ortogonais

Propriedade 1: Se p0 (x), p1 (x), . . . , pn (x) so polinmios ortogonais segundo um produto


interno, ento qualquer polinmio de grau n pode ser escrito como combinao linear
destes polinmios. Alm disso, pn (x) ortogonal a todo polinmio de grau menor do que
n.

Propriedade 2: Se p0 (x), p1 (x), . . . , pn (x) so polinmios ortogonais segundo o produto


interno Z b
hf, gi = (x)f (x)g(x)dx,
a
onde (x) 0 e (x) 6 0 em cada subintervalo de [a, b] contnua em [a, b], ento pn (x)
possui n razes reais distintas pertencentes ao intervalo (a, b). Alm disso, pn (x) e pn+1 (x)
possuem razes entrelaadas.

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 p0 (x), p1 (x), p2 (x), . . . , pn (x), pn+1 (x) . . . polinmios no nulos e or-
togonais, segundo o produto interno
Z b
hf, gi = (x)f (x)g(x)dx,
a

onde (x) 0 e (x) 6 0 em cada subintervalo de [a, b] contnua em [a, b]. Sejam
x0 , x1 , x2 , . . . , xn as razes de pn+1 (x). Se f (x) um polinmio de grau menor do que ou
igual a 2n + 1, ento
Z b Xn
(x)f (x)dx = k f (xk ),
a k=0

onde Z b
k = (x)Lk (x)dx
a
P
com Pn (x) = nk=0 f (xk )Lk (x) o polinmio interpolador de Lagrange que interpola f nos
pontos xk , k = 0, 1, . . . , n.

Demonstrao: Sejam x0 , x1 , . . . , xn as razes de pn+1 (x). Segue que podemos escrever


pn+1 (x) = a0 (x x0 )(x x1 ) (x xn ).
D. Andrade Clculo Numrico 165

Seja Pn (x) o polinmio interpolador de f (x) nos pontos x0 , x1 , . . . , xn em [a, b]. Como
Rn (x) = f (x) Pn (x) o erro na interpolao, ento

f (n+1) ()
f (x) Pn (x) = Rn (x) = (x x0 )(x x1 ) (x xn ) ,
(n + 1)!
onde (a, b) depende de x. Como f (x) um polinmio de grau 2n + 1, temos que o
termo
f (n+1) (x)
q(x) =
(n + 1)!
um polinmio de grau menor do que ou igual a n. Logo, podemos escrever

f (x) Pn (x) = b0 pn+1 (x)q(x).

Segue que Z Z
b b
(x) [f (x) Pn (x)] dx = b0 (x)pn+1 (x)q(x)dx.
a a
Como pn+1 (x) e q(x) so ortogonais, vale a igualdade
Z b
(x) [f (x) Pn (x)] dx = 0.
a

Isto ,
Z b Z b
(x)f (x)dx = (x)Pn (x)dx
a a
Z b " n #
X
= (x) Lk (x)f (xk ) dx
a k=0
n
X Z b
= f (xk ) (x)Lk (x)dx
k=0 a

Xn
= k f (xk ).
k=0

Isto conclui a prova do teorema. 

Exerccio 8.5.7 1. A tabela a seguir lista o nmero de acidentes em veculos motor-


izados no Brasil em alguns anos entre 1980 e 1998,
D. Andrade Clculo Numrico 166

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,

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 com-
presso 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 k1 exp(k2 c ).
D. Andrade Clculo Numrico 167

4. Na tabela temos os dados (tk , f (tk )) para uma funo f com comportamento ex-
ponencial que modela a intensidade de uma frente de radiao. Determine a re-
gresso exponencial de f (t), isto , uma funo do tipo I(t) = I0 et 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 (xk , f (xk )) para uma funo f com comportamento hiper-
1
blico, isto da forma, (x) = .
a + bx

xk 0 1 2 3 4
f (xk ) 1 0.32256 0.2 0.14286 0.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.


Integrao Numrica
9
9.1 Preliminares
Nestas notas o nosso interesse calcular numericamente integrais
Z b
f (x)dx.
a

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 re-
sultar 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:
Z b n
X
f (x)dx i f (xi ), (9.1.1)
a i=0

onde a x0 < x1 < . . . < xn b so pontos de integrao e os i so os pesos.

168
D. Andrade Clculo Numrico 169

9.2 Frmulas de Newton-Cotes


Nesta seco vamos considerar apenas as chamadas frmulas fechadas, isto , os ex-
tremos de integrao coincidem com x0 e xn . Nas frmulas abertas no h esta exigncia,
portanto se um dos extremos no coincide com estes pontos, a frmula de integrao
chamada aberta.
ba
Dado f : [a, b] R, seja n um nmero natural e h = . Os pontos xj = x0 + jh, j =
n
0, 1, . . . , n so igualmente espaados.
Seja Pn (x) o polinmio de grau n que interpola os pontos (xi , f (xi )), i = 0, 1, . . . , n. Por
Lagrange, sabemos que
n
X
Pn (x) = f (xi )Li (x),
i=0
e o erro
f (n+1) ()
f (x) Pn (x) = (x x0 )(x x1 ) . . . (x xn ),
(n + 1)!
onde = (x) um ponto em (a, b).
Integrando em (a, b), obtemos
Z b n
X Z b Z b
f (n+1) ()
f (x)dx = f (xi ) Li (x)dx + (x x0 )(x x1 ) . . . (x xn )dx,
a i=0 a a (n + 1)!

onde = (x) um ponto em (a, b).


Chamando Z b
i = Li (x)dx
a
Z b
obtemos uma expresso para f (x)dx do tipo equao (9.1.1) (a menos do erro):
a

Z b n
X Z b
f (n+1) ()
f (x)dx = i f (xi ) + (x x0 )(x x1 ) . . . (x xn )dx.
a i=0 a (n + 1)!

Como caso particular, nas sees 9.3 e 9.4, obtemos as frmulas dos Trapzios e de
Simpson, que so estabelecidas com polinmios de graus baixos, grau 1 e grau 2, respec-
tivamente.
D. Andrade Clculo Numrico 170

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 = x0 e b = x1 . Logo, o polinmio linear interpolador dado por
x x1 x x0
p1 (x) = y0 + y1
x0 x1 x1 x0
e os pesos so dados por Z x1
x x1 h
0 = dx = ,
x0 x0 x1 2
Z x1
x x0 h
1 = dx = .
x0 x1 x0 2
Veja a figura 9.3.

Figura 9.1: Regra dos trapzios

Segue que Z x1
h h
f (x)dx = f (x0 ) + f (x1 ) + erro,
x0 2 2
onde o erro dado por
Z x1
1
ET rap = f ()(x x0 )(x x1 )dx, (9.3.1)
2 x0
D. Andrade Clculo Numrico 171

onde = x um ponto entre x0 e x1 .


Usamos o teorema do valor mdio para integrais, Teorema 1.1.21, para simplificar a
expresso do erro acima, assim existe (x0 , x1 ) tal que
Z
1 x1
ET rap = f (x )(x x0 )(x x1 )dx
2 x0
Z
f () x1
= (x x0 )(x x1 )dx
2 x0
f ()h3
= . (9.3.2)
12
Logo,
Z x1
h f ()h3
f (x)dx = [f (x0 ) + f (x1 )] ,
x0 2 12
(9.3.3)
onde (a, b) no conhecido.
Na seco 9.5 veremos como fica a regra dos trapzios se for aplicada repetidas vezes
sobre subintervalos de um intervalo [a, b].

9.4 Regra de Simpson


Neste caso vamos interpolar f (x) usando um polinmio de grau 2 que coincida com esta
a+b
funo em a = x0 , x1 = e b = x2 . O polinnmio interpolador de grau 2 dado por
2
(x x1 )(x x2 ) (x x0 )(x x2 ) (x x0 )(x x1 )
p2 (x) = y0 + y1 + y2 .
(x0 x1 )(x0 x2 ) (x1 x0 )(x1 x2 ) (x2 x0 )(x2 x1 )

Veja a figura 9.4.


Integrando os polinmios de Lagrange de grau 2, obtemos os pesos da frmula de Simp-
son, Z x2
(x x1 )(x x2 ) h
0 = dx = ,
x0 (x0 x1 )(x0 x2 ) 3
Z x2
(x x0 )(x x2 ) 4h
1 = dx = ,
x0 (x1 x0 )(x1 x2 ) 3
D. Andrade Clculo Numrico 172

Figura 9.2: Regra de Simpson

Z x2
(x x0 )(x x1 ) h
2 = dx = .
x0 (x2 x0 )(x2 x1 ) 3
Segue que Z x2
h
f (x)dx = [f (x0 ) + 4f (x1 ) + f (x2 )] + erro,
x0 3
onde o erro dado por (aqui os argumentos no so simples)

Z x2
1
ESimp = f (3) ()(x x0 )(x x1 )(x x2 )dx
3!
 x05 
h
= f (4) (), (9.4.1)
90

para algum (x0 , x2 ).


Logo, a frmula de Simpson
Z x2  
h h5
f (x)dx = [f (x0 ) + 4f (x1 ) + f (x2 )] f (4) ().
x0 3 90
(9.4.2)

Na seco 9.5 veremos como fica a regra de Simpson se for aplicada repetidas vezes
sobre subintervalos de um intervalo [a, b].
D. Andrade Clculo Numrico 173

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.
Z x3  5
3h 3h
f (x)dx = [f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )] f (4) (),
x0 8 80
onde [x0 , x3 ].
Z x4  7
2h 8h
f (x)dx = [7f (x0 ) + 32f (x1 ) + 12f (x2 ) + 32f (x3 ) + 7f (x4 )] f (6) (),
x0 45 945
onde [x0 , x4 ].

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.

9.5.1 Frmulas compostas: Trapzios


No caso da REGRA DOS TRAPZIOS, dado o intervalo [a, b] dividindo-o em n subinter-
ba
valos de comprimento h = e portanto x0 = a, xi = x0 + ih, i = 0, 1, . . . , n e xn = b,
n
temos que

Z b n Z
X xi
f (x)dx = f (x)dx
a xi1
Zi=1x1 Z x2 Z xn
= f (x)dx + f (x)dx + + f (x)dx
x0 x1 xn1
h h h
[f (x0 ) + f (x1 )] + [f (x1 ) + f (x2 )] + + [f (xn1 ) + f (xn )]
2 2 2
h
{[f (x0 ) + 2 [f (x1 ) + f (x2 ) + + f (xn1 )] + f (xn )]}
2" #
n1
X
h
f (x0 ) + 2 f (xi ) + f (xn ) .
2 i=1
D. Andrade Clculo Numrico 174

Assim, obtemos a frmula composta para a regra dos trapzios


Z " n1
#
b
h X
f (x)dx f (x0 ) + 2 f (xi ) + f (xn ) .
a 2 i=1
(9.5.1)

O erro final de uma frmula repetida pode ser obtido pela soma dos erros parciais. Na
regra dos trapzios, cada um dos subintervalos [xi1 , xi ] contribui com um erro parcial
dado por
h3
f (2) (i ).
12
Somando os erros parciais obtemos

h3  (2) 
ET rap = f (1 ) + f (2) (2 ) + + f (2) (n ) .
12
Supondo que f possua derivada segunda contnua em [a, b], existem constantes m2 , M2
0 tais que
inf |f (2) (x)| = m2 |f (2) (x)| M2 = sup |f (2) (x)|.
x[a,b] x[a,b]

Assim, obtemos uma estimativa para o erro total

h3 h2
|ET rap | n M2 = (b a) M2 .
12 12
(9.5.2)

9.5.2 Frmulas compostas: Simpson


No caso da REGRA DE SIMPSON, dado o intervalo [a, b] dividindo-o em n (par, pois
ba
a parbola necessita de 3 pontos) subintervalos de comprimento h = e portanto
n
x0 = a, xi = x0 + ih, i = 0, 1, . . . , n e xn = b, temos que
D. Andrade Clculo Numrico 175

Z b Z x2 Z x4 Z xn
f (x)dx = f (x)dx + f (x)dx + + f (x)dx
a x0 x2 xn2
h h h
[f (x0 ) + 4f (x1 ) + f (x2 )] + [f (x2 ) + 4f (x3 ) + f (x4 )] + + [f (xn2 ) + 4f (xn1 ) + f (xn ))]
3 3 3
h h
{f (x0 ) + 4 [f (x1 ) + f (x3 ) + + f (xn1 )]} + {2 [f (x2 ) + f (x4 ) + + f (xn2 )] + f (xn )}
3 3
h
{f (x0 ) + 4 [f (x1 ) + f (x3 ) + + f (xn1 )] + 2 [f (x2 ) + f (x4 ) + + f (xn2 )] + f (xn )}
3
n n2
h X2 X 2

f (x0 ) + 4 f (x2i1 ) + 2 f (x2i ) + f (xn ) .


3
i=1 i=1

Assim, obtemos a frmula composta para a regra de Simpson



Z b X
2
n
X
2
n2

h
f (x)dx f (x0 ) + 4 f (x2i1 ) + 2 f (x2i ) + f (xn ) .
a 3 i=1 i=1
(9.5.3)

O erro final pode ser obtido pela soma dos erros parciais. Na regra de Simpson, cada um
dos subintervalos (xi , xi+2 ), i par, contribui com um erro parcial dado por (aqui usamos
n n
parbolas e portanto parcelas de erro):
2 2
h5 (4)
f (i ).
90
Somando os erros parciais obtemos uma estimativa para o erro total

h4
|ESimp | (b a) max{|f (4) (x)|; x [a, b]}.
180
(9.5.4)

Note que se f (x) um polinmio de grau 3 ento o erro |ESimp | nulo, isto , a regra de
Simpson exata para polinmios de grau 3.

Exemplo 9.5.1
D. Andrade Clculo Numrico 176

Z 1
Quantos subintervalos devemos usar para calcular a integral exp(x2 )dx usando a
0
Regra dos Trapzios e a Regra de Simpson, com erro menor do que 104 ?
Primeiramente, a regra dos trapzios. O erro total dado por
ba 2 2
|ET rap | h max |f (2) (x)| h2 < 104 ,
12 12
pois max |f (2) (x)| 2. Segue que h < 2.44 102 e portanto n > 40.8. Assim, tomamos 41
intervalos.
Para a regra de Simpson,

ba 4 12h4
|ESimp | h | max |f (4) (x)| = < 104 ,
180 180
pois | max |f (4) (x)| < 12. Segue que h 1.96 101 e assim n = h1 > 5.08. Assim, tomamos
n = 6 intervalos.
Agora deixamos para o leitor calcular as aproximaes para a integral usando 6 subin-
tervalos, pela a regra dos trapzios e pela regra de Simpson.

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:=pro (f,a,b,n)
> lo al A,S,h,k;
> if not type(f,pro edure) then ERROR(`use s fun ao`);
> fi;
> h:=evalf((b-a)/n);
> S:=0;
> for k from 0 to n-1 do
> A[k:=evalf( (h/2)* ( f (a+h*k)+f (a+h*(k+1)) ) );#print(A[k);
> S:=evalf(S+A[k);
D. Andrade Clculo Numrico 177

> 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:=pro (f,a,b,n)
> lo al A,A2,A4,S,S2,S4,h,k;
> if not type(f,pro edure) then ERROR(`use s fun ao`);
> 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)/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:
Z 2

a) sin( x)dx com erro menor do que 102 .
1
Z 2
b) exp( x)dx com erro menor do que 102 .
1
D. Andrade Clculo Numrico 178

2. Use a regra de Simpson para calcular numericamente as seguinte integrais:


Z 2

a) sin( x)dx com erro menor do que 104 .
1
Z 2
b) exp( x)dx com erro menor do que 104 .
1
Z 2
c) x2 exp(x2 )dx usando h = 0.25.
0

Z 2
3. Determine os valores de n e de h necessrios para aproximar exp(2x) sin(3x)
0
com erro menor do que 104 ,
a) usando regra dos trapzios
b) usando regra de Simpson
Como f (2) (x) = 5 e2 x sin (3 x) + 12 e2 x cos (3 x) o seu valor mximo ocorre em x = 2,
assim M2 = 705.36 Segue que
(b a) 2
ETrap h M2 < 104
12
implica que so necessrios n 2169 subintervalos se usarmos a regra dos Trapzios.
No caso de Simpson, como 119 e2 x sin (3 x) 120 e2 x cos (3 x) o seu valor mximo
ocorre em x = 2, assim M4 = 4475.41 Segue que
(b a) 4
ESimp h M4 < 104
180
implica que so necessrios n 54 subintervalos se usarmos a regra de Simpson.
Z 2
4. Repita o exerccio acima com x2 cos(x)dx.
0

9.7 Quadraturas de Gauss


Os mtodos de integrao numrica estudados at aqui so baseados nas frmulas de
Newton-Cotes e considera pontos fixos igualmente espaados. Gauss observou que a
preciso poderia ser melhorada se as abscissas e os pesos no tiverem restrio.
D. Andrade Clculo Numrico 179

Assim,
Z b n
X
f (x)dx i f (xi ),
a i=0
onde agora os pesos 0 , 1 , . . . , n e os ns x0 , x1 , . . . , xn 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 simplificar, para o caso dos limites de integraoZlimitados, vamos considerar ape-
b
nas integrais sobre o intervalo [1, 1]. Para calcular f (x)dx fazemos a mudana de
a
variveis
(b a) (b + a)
x= t+ , t [1, 1]
2 2
ba
e portanto dx = dt.
2
Assim, Z Z   Z
b 1
ba (b a) (b + a) ba 1
f (x)dx = f t+ dt = F (t)dt.
a 2 1 2 2 2 1
| {z }
=F (t)

Como o mtodo de quadratura de Gauss baseado em polinmios ortogonais, vamos


precisar de alguma teoria sobre estes polinmios.
Como vimos no estudo dos polinmios, utiliza-se produtos internos da forma
Z b
hf, gi = (x)f (x)g(x)dx,
a

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.
Z 1
(1i) hf, gi = f (x)g(x)dx, isto , (x) 1 e a = 1, b = 1. Este produto interno dar
1
origem aos polinmios de Legendre.
Z 1
1 1
(2i) hf, gi = f (x)g(x)dx, isto , (x) = e a = 1, b = 1. Este produto
1x2 1 x2
1
interno dar origem aos polinmios de Tchebycheff.
D. Andrade Clculo Numrico 180

Z
(3i) hf, gi = ex f (x)g(x)dx, isto , (x) = ex e a = 0, b = . Este produto interno
0
dar origem aos polinmios de Laguerre.
Z
2 2
(4i) hf, gi = ex f (x)g(x)dx, isto , (x) = ex 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 p0 (x), p1 (x), p2 (x), . . . , pn (x), pn+1 (x) . . . polinmios no nulos e or-
togonais, segundo o produto interno
Z b
hf, gi = (x)f (x)g(x)dx,
a

onde (x) 0 contnua em [a, b]. Sejam x0 , x1 , x2 , . . . , xn as razes de pn+1 (x). Se f (x)
um polinmio de grau menor do que ou igual a 2n + 1, ento
Z b n
X
(x)f (x)dx = k f (xk ),
a k=0

onde Z b
k = (x)Lk (x)dx
a
P
com Pn (x) = nk=0 f (xk )Lk (x) o polinmio interpolador de Lagrange que interpola f nos
pontos xk , k = 0, 1, . . . , n.

Demonstrao: Sejam x0 , x1 , . . . , xn as razes de pn+1 (x). Segue que podemos escrever

pn+1 (x) = a0 (x x0 )(x x1 ) (x xn ).

Seja Pn (x) o polinmio interpolador de f (x) nos pontos x0 , x1 , . . . , xn em [a, b]. Como
Rn (x) = f (x) Pn (x) o erro na interpolao, ento

f (n+1) ()
f (x) Pn (x) = Rn (x) = (x x0 )(x x1 ) (x xn ) ,
(n + 1)!
D. Andrade Clculo Numrico 181

onde (a, b) depende de x. Como f (x) um polinmio de grau 2n + 1, temos que o


termo
f (n+1) (x)
q(x) =
(n + 1)!
um polinmio de grau menor do que ou igual a n. Logo, podemos escrever

f (x) Pn (x) = b0 pn+1 (x)q(x).

Segue que Z Z
b b
(x) [f (x) Pn (x)] dx = b0 (x)pn+1 (x)q(x)dx.
a a

Como pn+1 (x) e q(x) so ortogonais, vale a igualdade


Z b
(x) [f (x) Pn (x)] dx = 0.
a

Isto ,
Z b Z b
(x)f (x)dx = (x)Pn (x)dx
a a
Z b " n #
X
= (x) Lk (x)f (xk ) dx
a k=0
n
X Z b
= f (xk ) (x)Lk (x)dx
k=0 a

Xn
= k f (xk ).
k=0

Isto conclui a prova do teorema. 

9.7.1 Quadratura de Gauss-Legendre


Consideremos o produto interno dado por
Z 1
hf, gi = f (x)g(x)dx.
1
D. Andrade Clculo Numrico 182

Os polinmios ortogonais relativamente a este produto interno so os polinmios de Leg-


endre.
Lembramos que os polinmios de Legendre so dados por
1 1
P0 (x) = 1, P1 (x) = x, P2 (x) = (3x2 1), P3 (x) = (5x3 3x),
2 2
em geral
1
Pm+1 (x) = {(2m + 1)xPm (x) mPm1 (x)} , m = 1, 2, . . . .
m+1
Vamos calcular os pesos 0 , 1 , . . . , n e os argumentos t0 , t1 , . . . , tn no intervalo [1, 1] pela
frmula Z 1 n
X
F (t)dt i F (ti ).
1 i=0

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, Z 1
F (t)dt = 0 F (t0 ) + 1 F (t1 )
1

para os polinmios F (t) = 1, t, t2 , t3 , respectivamente. Obtemos o seguinte sistema

0 + 1 = 2
0 t0 + 1 t1 = 0
2
0 t20 + 1 t21 =
3
0 t30 + 1 t31 = 0.

Resolvendo este sistema no-linear, t1 = t0 e t0 = 3
3
e 0 = 1 = 1. Logo,
Z 1

3 3
F (t)dt = 1.F ( ) + 1.F ( ),
1 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) =
tk , k = 0, 1, . . . , 2n + 1 e observando que
D. Andrade Clculo Numrico 183

Z (
1
0, se k mpar,
F (t)dt =
1
2
k+1
, se k par,
obtemos o seguinte sistema no linear de 2n + 2 equaes:

0 + 1 + + n = 2
0 t0 + 1 t1 + + n tn = 0
2
0 t20 + 1 t21 + + n t2n =
3
.................................................... = .....
0 t02n+1 + 1 t2n+1 1 + + n t2n+1n = 0

Este sistema tem uma nica soluo. As solues tk , k = 0, 1, . . . , n so as razes do


polinmio Pn+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


conhecer 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
Z 1
Calcular a integral exp(x2 )dx usando quadratura de Gauss-Legendre com 5 pontos.
0
Antes de iniciarmos o clculo da integral devemos mudar a sua varivel para integrar-
(b a) (b + a) 1
mos no intervalo [1, 1]. Fazendo x = t+ = (t + 1), t [1, 1], obtemos
2 2 2
Z 1 Z 1
1 (t + 1)2
exp(x2 )dx = exp( )dt,
0 2 1 4
D. Andrade Clculo Numrico 184

Tabela 9.1: Integrao Gauss-Legendre


tk - Razes k - Pesos
t0 = 0.0 0 = 2.0000000
t1 = t0 = 0.57735027 0 = 1 = 1.0
t1 = 0, 1 = 0.88888888
t2 = t0 = 0.77459667 0 = 2 = 0.555555556
t2 = t1 = 0.33998104 2 = 1 = 0.65214515
t3 = t0 = 0.86113631 3 = 0 = 0.34785496
t4 = t0 = 0.90617985 4 = 0 =0.23692687
t3 = t1 =0.53846931 3 = 1 = 0.47862865
t2 = 0.0 2 = 0.56888891

2
assim F (t) = exp( (t+1)
4
).
Como queremos 5 pontos, esses pontos sero as razes do polinmio de Legendre de grau
5. Logo,
Z 1 Z 4
2 1 1 1X
exp(x )dx = F (t)dt k F (tk ),
0 2 1 2
k=0

onde k so os pesos e tk so as razes do polinmio P5 (x) de Legendre. Veja a Tabela 9.1.


Donde,
Z 4
1 1 1X
F (t)dt k F (tk ) = 0.74683019.
2 1 2
k=0

Z 1
sin2 (x)
Exemplo 9.7.3 Calcular a integral dx usando quadratura de Gauss-Legendre
1 x
com 4 pontos.

Os pesos k e as abscissas tk esto na tabela 9.1. As abscissas tk so as razes do


polinmio P4 (x) de Legendre, assim a integral
Z 1 X 3
sin2 (x)
dx k F (tk ) = 0,
1 x k=0

como esperado.
D. Andrade Clculo Numrico 185

9.7.2 Quadratura de Gauss-Tchebycheff


Considerando o produto interno
Z 1
1
hf, gi = f (x)g(x)dx,
1 1 x2
obtemos os polinmios de Tchebycheff no nulos e ortogonais segundo este produto in-
terno. Lembramos que os polinmios de Tchebycheff so dados por
Tn (x) = cos [n arccos(x)] , n 0. (9.7.1)
Vejamos os primeiros polinmios de Tchebycheff:
T0 (x) = 1, T1 (x) = x, T2 (x) = 2x2 1, T3 (x) = 4x3 3x, T4 (x) = 8x4 8x2 + 1.
Outra forma alternativa para construir os polinmios de Tchebyscheff dada por, para
n1
Tn+1 (x) = 2xTn (x) Tn1 (x),
onde T0 (x) = 1, T1 (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,
1
o fator .
1 x2
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 tk so as razes do polinmio Tn+1 (x) de Tchebycheff de grau (n + 1) e calcu-
ladas por
 
(2k + 1)
tk = cos , k = 0, 1, 2, . . . , n. (9.7.2)
2n + 2
Para cada n os pesos so constantes e iguais a

i = , i = 0, 1, 2, . . . , n. (9.7.3)
n+1
Z 10
Exemplo 9.7.4 Calcule a integral exp(x)dx usando quadratura de Gauss-Tchebycheff
0
com quatro pontos.
D. Andrade Clculo Numrico 186

Primeiramente, devemos fazer uma mudana de varivel para passar a integral para o
intervalo [1, 1]. Assim,
Z 10 Z 1
I= exp(x)dx = 5 exp((5t + 5))dt
0 1

Agora devemos incluir a funo peso


Z 10 Z 1 1
I= exp(x)dx = 5 1 t2 exp((5t + 5)) dt.
0 1 1 t2
Note que a funo F (t) dada por

F (t) = 1 t2 exp((5t + 5)).
Assim,

I 5. [F (t0 ) + F (t1 ) + F (t2 ) + F (t3 )] = 1.196440816.
4

Entendendo a tabela: Nesta tabela as razes so simtricas com relao a origem,


assim devemos considerar ti . Os pesos so iguais para cada grau do polinmio. Os
dados desta tabela foram calculados usando o software Maple.

Tabela 9.2: Tabela Gauss-Tchebycheff


ti 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 Z Z
2
e f (x)dx e
x
ex f (x)dx.
a
D. Andrade Clculo Numrico 187

Os dois tipos de integrais so aproximados por uma soma


n
X
k f (xk ).
k=0
Z
Primeiramente vamos estudar integrais ex f (x)dx. A frmula de quadratura de Gauss-
a
Laguerre fornece uma aproximao para as integrais
Z
ex f (x)dx.
0

O caso geral tratado via mudana de variveis: fazendo x = t + a obtemos


Z Z
e f (x)dx = e
x a
et f (t + a) dt.
a 0 | {z }
=F (t)

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,
obtemos os valores para os pesos k e as abscissas xk .
Veja a seguir a tabela, veja a tabela 9.3, com os pesos e as abscissas, calculados usando o
Maple.

Exemplo 9.7.5
Z
Determine uma aproximao para exp(x) sin(x)dx usando a quadratura de Gauss-
0
Laguerre com 3 pontos.
Tomando os dados da tabela, veja a tabela 9.3, obtemos
Z
ex sin(x)dx 0.7110930099 sin(.4157745567) + 0.2785177335 sin(2.294280360)
0
+0.01038925650 sin(6.289945082) = 0.4960298273

Exerccio 9.7.6
Z
Determine uma aproximao para ex x2 dx usando a quadratura de Gauss-Laguerre
1
com 3 pontos.
D. Andrade Clculo Numrico 188

Tabela 9.3: Quadratura Gauss-Laguerre


tk - Razes- sempre positivos k - Pesos
0.5857864376 0.8535533905
0.341421356210 1
0.1464466094
0.4157745567 0.7110930099
0.2294280360101 0.2785177335
0.628994508210 1
0.1038925650101
0.3225476896 0.6031541043
0.1745761101101 0.3574186924
0.453662029610 1
0.3888790851 101
0.939507091210 1
0.5392947055 103
0.2635603197 0.5217556105
0.141340305910 1
0.3986668110
0.3596425771101 0.7594244968101
0.7085810005101 0.3611758679102
0.1264080084102 0.2336997238104
0.2228466041 0.4589646739
0.1188932101 10 1
0.4170008307
0.2992736326 10 1
0.1133733820
0.5775143569101 0.1039919745101
0.9837467418101 0.2610172028103
0.159829739810 2
0.8985479064106

A frmula de quadratura de Gauss-Hermite utilizada para calcular uma aproximao


para a integral imprpria do tipo
Z
2
ex f (x)dx.

Os pesos e as abscissas so determinados utilizando os polinmios ortogonais de Her-


mite. Veja a tabela 9.4 com os pesos e as abscissas calculados utilizando o Maple.

Exemplo 9.7.7 Use Za quadratura de Gauss-Hermite para determinar uma aproxi-



2
mao para a integral ex x2 dx usando 2 pontos.

D. Andrade Clculo Numrico 189

Tabela 9.4: Quadratura Gauss-Hermite


tk - Razes k - Pesos
0.7071067811 0.8862269254
0.122474487110 0.2954089751
1

0.0000000000 0.1181635900 101


0.165068012310 0.8131283544101
1

0.5246476323 0.8049140900
0.202018287010 0.1995324205101
1

0.9585724646 0.3936193231
0.0000000000 0.9453087212
0.235060497310 0.4530009905102
1

0.1335849074101 0.1570673203
0.4360774119 0.7246295952

Estamos dentro das condies de integrao de Gauss-Hermite, com f (x) = x2 . Usando a


tabela 9.4, temos x0 = 0.7071067811, x1 = 0.7071067811 e 0 = 1 = 0.8862269254, donde
Z
2
ex x2 dx 0 f (x0 ) + 1 f (x1 ) = 0.8862269253.

Exemplo 9.7.8 Use a quadratura de Gauss-Hermite para determinar uma aproxi-


mao para a integral Z
2
ex cos(x)dx

usando 5 pontos.

Estamos dentro das condies de integrao de Gauss-Hermite, com f (x) = cos(x). Us-
ando a tabela 9.4, temos
Z
2
ex cos(x)dx 1.380390077.

Exerccio 9.7.9 1. Use quadratura de Gauss-Legendre com 5 pontos para calcular


as seguintes integrais:
Z 2 Z 2

a) sin( x)dx . b) exp( x)dx .
1 1
D. Andrade Clculo Numrico 190

2. Use quadratura de Gauss-Tchebycheff com 4 pontos para calcular as seguintes


integrais:
Z 2 Z 2

a) sin( x)dx . b) exp( x)dx .
1 1

3. Use Gauss-Legendre com 3 pontos para calcular as seguintes integrais e compare


com seus valores exatos.
Z 1.5 Z .35 Z 3.5
2 x
a) x ln(x)dx. b)
2
2
dx. c) dx.
1 0 x 4 3 x2 4

Resumo: intervalos e pesos


Nome smbolo a b w(x)
Legendre Pn (x) 1 1 1
Tchebycheff Tn (x) 1 1 1
1x2
Laguerre Ln (x) 0 ex
2
Hermite Hn (x) ex

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 inter-
valo de integrao.

> restart:
> QGaussLe:=pro (f,n,a,b) # n o nmero de ns
> lo al 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
D. Andrade Clculo Numrico 191

> 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);
> 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
F (x)
na forma e portando voc deve entrar apenas com a funo F . O exemplo mostra
1 Zx2
1
como calcular exp(x) x2 dx.
1
> restart:
> GaussT heb:=pro (f,n)
> # argumentos: f=fun ao
> # n numero de pontos
> lo al t,V,F, k: # variaveis lo ais
> for k from 0 to n do t[k:=evalf( os((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-T heby heff om`,n,`pontos :`
D. Andrade Clculo Numrico 192

); print(V);end:

#Exemplo
>g:=x-> exp(x)*(1-x^2);
> GaussT heb(g,5);

9.8.3 Quadratura de Gauss-Laguerre


Esse procedimento em Maple calcula uma aproximao da integral no intervalo [0, ],
usando o mtodo de quadratura de Gauss-Laguerre . Note que o integrando deve estar
na forma F (x)exp (x)Z e portando voc deve entrar apenas com a funo F . O exemplo

mostra como calcular exp(x) sin(x)dx.
0

> restart:
> QGaussLa:=pro (f,n) lo al Gnos,Gpesos,uu,k,u,q,w,ans,ords;
> Gnos:=[fsolve(orthopoly[L(n,x),x); # L = Laguerre
> 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); # interpola ao polinomial
> w:=int(exp(-x)*q,x=0..infinity);# integrando para obter os pesos
> Gpesos:=[op(Gpesos),w; # es rendo 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);
D. Andrade Clculo Numrico 193

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.
Mtodos numricos para EDOs
10
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 dis-
cretizao do domnio. Essa discretizao torna possvel o tratamento numrico de pro-
blemas via computadores. O estudo de mtodos e suas taxas de convergncias o princi-
pal objeto de estudo da anlise numrica, aqui abordaremos as noes mais elementares;
as demonstraes 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 Rn+1 e f : Rn , n 1, uma funo definida e contnua em .
Uma equao diferencial ordinria de ordem 1 uma equao do tipo
d
y(x) = f (x, y(x)). (10.1.1)
dx
Dada : I Rn definida sobre um aberto I e de classe C 1 neste intervalo, se estiver

194
D. Andrade Clculo Numrico 195

verificada a condio (10.1.1), isto ,


d
(x) = f (x, (x)), (10.1.2)
dx
dizemos que uma soluo de (10.1.1).
Se n > 1, (10.1.1) de fato um sistema de equaes diferenciais ordinrias, pois f =
(f1 , f2 , . . . , fn ) onde fi so funes reais e contnuas definidas em :

fi : 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

an (x)y (n) + an1 (x)y (n1) + + a1 (x)y + a0 (x)y = g(x).

Esta uma situao particular que merece uma definio.


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

an (x)y (n) + + a1 (x)y + a0 (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


situao particular.
Teorema 10.1.1 (Existncia e Unicidade) Seja R2 um aberto e f : R funo
contnua com fy : R tambm contnua. Dado (x0 , y0) , existe um intervalo aberto
I x0 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),
(10.1.5)
y(x0 ) = y0 .
D. Andrade Clculo Numrico 196

Demonstrao: A funo : I R soluo de (10.1.5) se e somente se, for soluo da


equao integral
Z x
y(x) = y0 + f (s, y(s))ds, x I. (10.1.6)
x0

Assim, vamos estudar detalhadamente a equao integral (10.1.6). Sejam a e b reais


positivos tal que o retngulo

R = {(x, y); |x x0 | a e |y y0 | b}

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
b
0 < a min{a, }
M
e o intervalo
Ja = [x0 a, x0 + a].
Seja
C = {g; g : Ja R contnua , g(x0) = y0 e |g(x) y0 | b}.
Munimos C da seguinte mtrica

d(g1 , g2) = max{|g1 (x) g2 (x)|; x Ja }.

Segue que (C, d) um espao mtrico. Mais ainda, (C, d) um espao mtrico completo,
isto , toda sequncia de Cauchy em (C, d) convergente.
De (10.1.6) observamos que toda soluo deve ser ponto fixo da aplicao dada por C
g 7 (g) onde
Z x
(g)(x) = y0 + f (s, g(s))ds. (10.1.7)
x0

fcil ver que (g) contnua em Ja e (g)(x0 ) = y0 . Alm disso,


Z x
|(g)(x) y0 | = | f (s, g(s))ds| M|x x0 | Ma b
x0

e portanto (g) C. Logo temos que : C C.


D. Andrade Clculo Numrico 197

Por outro lado, se g1 e g2 pertencem a C temos que


Z x
|(g1 )(x) (g2 )(x)| |f (s, g1(s)) f (s, g2(s))|ds.
x0

Como f Lipschitiziana na varivel y, existe uma constante positiva k tal que


Z x
|(g1 )(x) (g2 )(x)| k|g1 (s) g2 (s)|ds kad(g1 , g2 ).
x0

Segue que
d((g1 ), (g2 )) kad(g1 , g2 ).
Tomando a tal que ka < 1 conclumos que uma contrao. Pelo Teorema da contrao,
tem um nico ponto fixo e o teorema fica provado com I = (x0 a, x0 + a). 

Um exemplo numrico:
Uma vez que o operador dado em 10.1.7 uma contrao podemos usar a sequncia
introduzida 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 (xn ) 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


Z x
y(x) = 2s(y(s) + 1)ds.
0

Faamos y0 (x) = 0 e para n 1 usamos a frmula


Z x
yn+1(x) = 2s(yn (s) + 1)ds.
0

Para y1 (x) obtemos Z x


y1 (x) = 2sds = x2 .
0
D. Andrade Clculo Numrico 198

Substituindo na frmula geral da sequncia obtemos y2 (x),


Z x Z x
x4
y2 (x) = 2s(y1 (s) + 1)ds = 2s(s2 + 1)ds = x2 + .
0 0 2

Continuando desta forma obtemos uma sequncia yn (x). Vamos determinar mais alguns
termos desta sequncia:

n yn (x)
n=0 y0 (x) = 0
n=1 y1 (x) = x2
4
n=2 y2 (x) = x2 + x2
4 6
n=3 y3 (x) = x2 + x2 + x3!
4 6 x8
n=4 y4 (x) = x2 + x2 + x3! + 4!

P x2i
n=k yk (x) = ki=1
i!

Do nosso conhecimento sobre sries de Taylor sabemos que esta sequncia converge para
y(x) = exp(x2 ) 1 que a soluo da EDO.

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 xj = a + jh, j = 0, 1, . . . , n, em que h = ba
n

o passo de discretizao. Note que x0 = a e xn = b.
Consideremos o seguinte problema de valor inicial
(
y = f (x, y(x)), x [a, b]
y(x0 ) = y0 .
D. Andrade Clculo Numrico 199

Do desenvolvimento em srie de Taylor em torno de um ponto xk , para y suficientemente


diferencivel, temos

(x xk )2 (x xk )m
y(x) = y(xk ) + y (xk )(x xk ) + y (xk ) + + y (k)(xn )
2 m!
(x xk n)m+1
+ y (m+1) (x ) ,
(m + 1)!

onde x est entre xk e x.


Supondo y de classe C 2 , chamando xk+1 = xk + h, temos por Taylor que

h2
y(xk+1) = y(xk ) + hy (xk ) + y (),
2
onde est entre xk e xk+1 .
h2
Se h pequeno, ento y () tambm pequeno e pode ser desprezado. Logo, obtemos
2
y(xk+1) y(xk ) + hf (xk , y(xk )).

Se yj a aproximao para y(xj ), obtemos as aproximaes dada pelo mtodo de Euler


por
yk+1 = yk + hf (xk , yk )
. (10.2.1)
Note que yk+1 usa apenas o valor de yk , isto , a soluo aproximada yk+1 para ser deter-
minada necessita apenas yk , 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 inter-
valo [0, 1]. (
y + 2xy = 4x
y(0) = 1.
A soluo y(x) = 2 exp(x2 ). 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, x0 = 0 e y(0) = 1
nos d f (0, 1) = 0.
D. Andrade Clculo Numrico 200

O mtodo de Euler dado em (10.2.1) nos d

y1 = y0 + hf (x0 , y0 ) = 1 + 0 = 1.

Do mesmo modo,
y2 = y1 + hf (x1 , y1 ) = 1, 08.
Continuando, obtemos a seguinte tabela que comparamos com a soluo exata.

xk yk (aprox.) y(x) (exato) Erro |yk y(x)| 1.6


Soluo e aproximao

0.0 1.0 1.0 0.0 1.5

0.2 1.0 1.039 0.039 1.4

0.4 1.08 1.148 0.068 1.3

0.6 1.227 1.302 0.075


1.2
0.8 1.413 1.472 0.059
1.0 1.601 1.632 0.031
1.1

1
0 0.2 0.4 0.6 0.8 1

Exemplo 10.2.2 (Nem tudo so flores!)

Consideremos a seguinte EDO que queremos obter informaes sobre a soluo no inter-
valo [1, 0]. (
y = y2
y(1) = 1,
cuja soluo y(x) = x1 . Para discretizar o domnio vamos dividir o intervalo em 10
partes iguais, portanto o passo h = 0.1 e os pontos so xj = x0 + hj, onde h = 0+1 10
= 0.1,
e assim os pontos so x0 = 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.
D. Andrade Clculo Numrico 201

xk yk y Erro |yk + x1 |
-1.0 1.0 1.0 0.0 Soluo e aproximao 2

-0.9 1.10 1.111 0.011 100

-0.8 1.221 1.250 0.029


80
-0.7 1.375 1.429 0.054
-0.6 1.558 1.667 0.109 60

-0.5 1.801 2.000 0.199 40

-0.4 2.125 2.500 0.338 20

-0.3 2.577 3.333 0.756


-0.2 3.241 5.000 1.756 0 1 0.8 0.6 0.4 0.2

-0.1 4.291 10.000 5.709

10.2.1 Erro na discretizao


Supondo y(xk ) conhecido exatamente, ao aproximar

y(xk+1) y(xk ) + hf (xk , yk )

introduzido um erro, chamado erro de discretizao local. Esse erro, obtido do desen-
volvimento de Taylor, dado por
h2
y (k )
2
para algum k entre xk e xk+1 .
Observe que ao calcularmos uma aproximao yk+1 para y(xk+1) pelo mtodo de Euler, o
valor de yk usado uma aproximao para y(xk ). O valor yk foi calculado usando uma
aproximao de yk1 e assim sucessivamente. Tem-se assim, no clculo da aproximao
yk+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 ek o erro
ek = y(xk ) yk
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 fy sejam contnuas em


D = [a, b] [c, d]. Seja
L = sup |fy (x, y)| < .
(x,y)D
D. Andrade Clculo Numrico 202

Se a soluo exata y(x) tem derivadas contnuas at ordem 2 e

max{|y (x)|, x [a, b]} = M2 ,

ento o erro global de discretizao ek majorado por


hM2 L(xk x0 ) 
|ek | e 1 .
2L
Demonstrao: Como
h2
y(xk+1 ) = y(xk ) + hf (xk , y(xk )) + y (k )
2
e
yk+1 = yk + hf (xk , yk ),
subtraindo obtemos
h2
ek+1 = ek + h [f (xk , y(xk )) f (xk , yk )] + y (k ).
2
Pelo Teorema do valor mdio,

[f (xk , y(xk )) f (xk , yk )] = [y(xk ) yk ] fy (xk , k )

para algum k entre yk e y(xk ). Donde temos

|f (xk , y(xk )) f (xk , yk )| L|ek |.

Segue que
h2
|ek+1 | (1 + Lh)|ek | + M2 . (10.2.2)
2
Usando repetidas vezes (10.2.2), obtemos
X k
h2
|ek+1 | (1 + Lh) k+1
|e0 | + M2 (1 + hL)j . (10.2.3)
2 j=0

Supondo e0 = 0, ignorando erros na condio inicial, e sabendo que


k
X (1 + Lh)k+1 1
j
(1 + hL) = ,
j=0
Lh
D. Andrade Clculo Numrico 203

resulta de (10.2.3) que


hM2  
|ek+1 | (1 + Lh)k+1 1 .
2L
Como para todo real x tem-se 1 + x ex , ento podemos afirmar que

(1 + Lh) eLh .

Consequentemente,
(1 + Lh)k ekLh = eL(xk x0 )
e assim,
hM2  L(xk x0 ) 
|ek | e 1 .
2L

Esse teorema afirma que quando h tende a zero, o erro global de discretizao tende a
zero. Segue que
lim yk = y(xk ).
h0

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

Determine o passo h > 0 de modo que o erro global de discretizao seja menor do que
5 105 no problema de valor inicial
(
y (x) = y(x)
y(0) = 1, x [0, 1].

Devemos determinar h de modo que


hM2  L(xk x0 ) 
|ek | e 1 < 5 105
2L
Como y(x) = ex , ento M2 = e e como L = 1, ento temos
he  1 
|ek | e 1 < 5 105
2
desde que h 0.000064.
D. Andrade Clculo Numrico 204

Um mtodo para obter uma estimativa para o erro dado a seguir. Temos que |y(xk )
yk | Ch para alguma constante independente de h. Se yek uma aproximao de y(xk )
com passo 2h, ento
|y(xk ) yek | 2hC.
Segue que

|y(xk ) yk | |y(xk ) yek |


1 1
|y(xk ) yk | + |yk yek |
2 2
e assim temos
|y(xk ) yk | |yk yek |.

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(x0 ) = y0 .
Se f de classe C n+1 , ento a aproximao de Taylor em torno de x

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


f (x + h) = f (x) + f (x)h + h ++ h + h ,
2! n! (n + 1)!

onde est entre x e x + h.


Aplicando este resultado funo y(x) de classe C n+1 e substituindo x por xi , obtemos
em torno de xi

y (2) (xi ) 2 y (n) (xi ) n y (n+1) () n+1


y(xi + h) = y(xi ) + y (xi )h + h + + h + h ,
2! n! (n + 1)!

onde est entre xi e xi + h. Se y = f , ento podemos reescrever

f (1) (xi , yi ) 2 f (n1) (xi , yi ) n f (n) (, y()) n+1


y(xi + h) = y(xi ) + f (xi , yi )h + h ++ h + h ,
2! n! (n + 1)!
| {z }
resto
D. Andrade Clculo Numrico 205

onde est entre xi e xi + h.


Representando por yi uma aproximao para y(xi ), podemos escrever a frmula para o
mtodo de Taylor
Xn
hk (k1)
yi+1 = yi + f (xi , yi )
k=1
k!
. (10.3.1)
O caso particular do mtodo de Taylor de ordem 2 dado por

h2
yi+1 = yi + hf (xi , yi ) + f (xi , yi ).
2
Exemplo 10.3.1

Considere o PVI que desejamos resolver numericamente no intervalo [0, 2]


(
y (x) = y(x) x2 + 1,
y(0) = 0.5.

As derivadas de f (x, y) com relao a x so dadas por

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

f (4) (x, y) = y(x) x2 2x 1.

Assim, o mtodo de Taylor de ordem 2 para o PVI :

y0 = y(x0 ) = 0.5
h2
yi+1 = yi + hf (xi , yi ) + f (xi , yi )
2
  h2  
yi+1 = yi + h yi x2i + 1 + yi x2i 2xi + 1
   2   
h2 h2 2 h
yi+1 = 1+h+ yi + h xi + h 1 + h2 xi .
2 2 2
D. Andrade Clculo Numrico 206

A soluo exata dada por

y(x) = x2 + 2 x + 1 0.5ex ,

o que pode ser verificado facilmente. Discretizamos o domnio [0, 2] em 10 subintervalos


e obtemos os pontos xj = x0 + jh, onde h = 20
10
= 0.2.

xk y(xk ) exato yk aprox. erro


0.0 0.5 0.5 0 Sol e aprox -Taylor

0.2 0.8292986210 .8300000000 0.0007013790 5

0.4 1.214087651 1.215800000 0.001712349


0.6 1.648940600 1.652076000 0.003135400 4

0.8 2.127229536 2.132332720 0.005103184 3

1.0 2.640859086 2.648645918 0.007786832


1.2 3.179941538 3.191348020 0.011406482 2

1.4 3.732400016 3.748644584 0.016244568 1


1.6 4.283483788 4.306146393 0.022662605
1.8 4.815176268 4.846298600 0.031122332
0 0.5 1
x 1.5 2

2.0 5.305471950 5.347684292 0.042212342

Ordem de convergncia: O mtodo de Taylor uma excelente ferramenta terica,


mas computacionalmente 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(xi+1 )
por yi+1

f (k) (, y())hk+1
e(xi ) = , (10.3.2)
(k + 1)!
onde est entre xi e xi+1 .
O erro de discretizao global dado por

ek = y(xk ) yk .

Um mtodo numrico chamado de ordem p, se existe C > 0 tal que

|e(xi )| Chp .

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.
D. Andrade Clculo Numrico 207

Os mtodos de Runge-Kutta foram concebidos para coincidirem, em preciso, com o


mtodo da srie de Taylor. A deduo de suas frmulas trabalhosa e pouco instrutiva,
assim no faremos a sua deduo.

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(x0 ) = y0 .

O mtodo de Runge-Kutta de ordem 2: Os mtodos de Runge-Kutta de ordem 2 tm


a forma geral dada por

yn+1 = yn + ha1 f (xn , yn ) + ha2 f (xn + b1 h, yn + b2 hyn )


. (10.4.1)
1
Tomando a1 = a2 = e b1 = b2 = 1, obtemos o mtodo de Euler melhorado ou Heun:
2
h
yk+1 = yk + [f (xk , yk ) + f (xk + h, yk + hf (xk , yk ))]
2
. (10.4.2)
O mtodo de Heun considera os acrscimos
k = f (xk , yk ) (10.4.3)
k = f (xk+1 , yk + hk ), (10.4.4)
D. Andrade Clculo Numrico 208

e a aproximao para yk+1 dada por


1
yk+1 = yk + h (k + k ) . (10.4.5)
2
Observe que o termo 12 h (k + k ) a mdia aritmtica entre duas inclinaes estimadas
em xk e em xk+1 .
1
Tomando a1 = 0, a2 = 1 e b1 = b2 = , obtemos o mtodo de Euler modificado:
2

h h
yk+1 = yk + hf (xk + , yk + f (xk , yk ))
2 2
. (10.4.6)

O mtodo de Runge-Kutta de Terceira Ordem O algoritmo tem a forma:

yk+1 = yk + h (a1 K1 + a2 K2 + a3 K3 ) ,

onde K1 , K2 e K3 aproximam as derivadas em pontos do intervalo [xk , xk+1 ].


Neste caso, temos:


yk+1 = yk + h6 [K1 + 4K2 + K3 ], k>0





K = f (x , y )
1 k k


K2 = f (xk + h2 , yk + hk2 1 )





K = f (x + h, y + 2hk hk ).
3 k k 2 1

O mtodo de Runge-Kutta de ordem 4 (simplicidade + preciso + economia):


O mtodo de Runge-Kutta de quarta ordem baseado em ideias similares. Tomamos
combinaes de f (x, y) em vrios pontos do intervalo xk x xk+1 e ajustamos os
parmetros para que nossa aproximao de yk+1 coincida com a expanso de Taylor de
ordem 4.
Resumindo,
1
yk+1 = yk + (K1 + 2K2 + 2K3 + K4 )
6
, (10.4.7)
D. Andrade Clculo Numrico 209

onde

K1 = hf (xk , yk ),
1 1
K2 = hf (xk + h, yk + K1 ),
2 2
1 1
K3 = hf (xk + h, yk + K2 ),
2 2
K4 = hf (xk + h, yk + K3 ).

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.
Vejamos a seguir os principais passos da deduo da frmula de Runge-Kutta de ordem
4. Considerando o problema de valor inicial y (x) = f (x, y(x)) e integrando, obtemos
Z xk+1
y(xk+1) y(xk ) = y (x)dx. (10.4.8)
xk+1

Usando a frmula de Simpson para a integral com h = h


2
, temos
 
h h
y(xk+1 ) y(xk ) = y (xk ) + 4y (xk +
) + y (xk+1 ) .
6 2
Ou ainda,
 
h h h
y(xk+1 ) y(xk ) = y (xk ) + 2y (xk + ) + 2y (xk + ) + y (xk+1 ) .
6 2 2
Os termos do lado direito sero substitudos pelas seguintes estimativas:

y (xk ) K1 = hf (xk , yk ) (10.4.9)


h h K1
y (xk + ) K2 = hf (xk + , yk + ) (10.4.10)
2 2 2
h h K2
y (xk + ) K3 = hf (xk + , yk + ) (10.4.11)
2 2 2
y (xk+1 ) K4 = hf (xk+1 , yk + K3 ). (10.4.12)
D. Andrade Clculo Numrico 210

Substituindo em (10.4.8), obtemos


1
yk+1 = yk + [K1 + 2K2 + 2K3 + K4 ] .
6
Teorema 10.4.2 Os mtodos de RK2 e RK4 so mtodos de ordem 2 e 4, respectiva-
mente.
e(xk ) RK2 (Local) RK2 (Global) RK4 (Local) RK4 (Global)
|y(xk ) yk | C2 h3 C2 h2 C4 h5 C4 h4

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.


Solucao e Aproximacao- RK4

xk yk y(x) Erro |yk y(x)| 1.6

0.0 1.000 1.000 0 1.5

0.2 1.039 1.039 0 1.4

0.4 1.148 1.148 0 1.3

0.6 1.302 1.302 0 1.2


0.8 1.473 1.473 0
1.1
1.0 1.632 1.632 0
1
0 0.2 0.4 0.6 0.8 1

Veja a tabela com os coeficientes Ks e as aproximaes tomando agora h = 0.1.

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(x0 ) = y0 ,


z(x0 ) = z0 .
D. Andrade Clculo Numrico 211

Tabela 10.1: tabela do exemplo 10.4.3

xk yk K1 K2 K3 K4
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 - - - -

Para usar o mtodo de RK4 devemos calcular os coeficientes

K1 = hf (xk , yk , zk ),
L1 = hg(xk , yk , zk ),
1 1 1
K2 = hf (xk + h, yk + K1 , zk + L1 ),
2 2 2
1 1 1
L2 = hg(xk + h, yk + K1 , zk + L1 ),
2 2 2
1 1 1
K3 = hf (xk + h, yk + K2 , zk + L2 ),
2 2 2
1 1 1
L3 = hg(xk + h, yk + K2 , zk + L2 ),
2 2 2
K4 = hf (xk + h, yk + K3 , zk + L3 ),
L4 = hg(xk + h, yk + K3 , zk + L3 ),

calculados nesta ordem. Em seguida calculamos yk+1 e zk+1 usando

1
yk+1 = yk + (K1 + 2K2 + 2K3 + K4 )
6
(10.4.13)
D. Andrade Clculo Numrico 212

e
1
zk+1 = zk + (L1 + 2L2 + 2L3 + L4 )
6
, (10.4.14)
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.2. Neste exemplo temos f (x, y, z) = z e g(x, y, z) = y.

Tabela 10.2: Exemplo 10.4.4


xk yk K1 K2 K3 K4
0.0 1.000 0.100 0.09500 0.0947500 0.0895250
0.1 1.09490 0.0895160 0.0840420 0.0838180 0.0781470
0.2 1.17870 0.0781380 0.0722440 0.0720490 0.0659900
0.3 1.25080 0.0659820 0.0597280 0.0595630 0.0531750
0.4 1.31050 0.0531650 0.033031 0.0329320 0.0260810
0.50 1.3570 - - - -

Tabela 10.3: Continuao do exemplo 10.4.4


xk zk L1 L2 L3 L4
0.0 1.00 -0.100 -0.105 -0.104750 -0.109480
0.1 0.895160 -0.109490 -0.113970 -0.113690 -0.117870
0.2 0.781380 -0.117870 -0.121780 -0.121480 -0.125070
0.3 0.659820 -0.125080 -0.128380 -0.128070 -0.13104
0.4 0.531650 -0.131050 -0.133710 -0.133380 -0.13570
0.5 0.398160 - - - -

Exemplo 10.4.5
D. Andrade Clculo Numrico 213

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. Aqui
f (x, y, z) = z e g(x, y, z) = 4z y x.

Tabela 10.4: Exemplo 10.4.5

xk yk zk
0.00 0.0 1.00
0.10 0.12255 1.479475
0.20 0.302672539 2.1642789645
0.30 0.5652384824 3.1469722929
0.40 0.9463364531 4.5619735921
0.50 1.4983459593 6.6044926599
0.60 2.2973051681 9.5580271897
0.70 3.4536112276 13.8342967197
0.80 5.127560514 20.031239413
0.90 7.5519179825 29.0172418126
1.0 11.0646950142 42.0534672115

Exemplo 10.4.6 (Predador-Presa) Consideremos o modelo abaixo para predador-presa


dx

= 3x 1.4xy

dt

dy
= y + 0.5xy,
dt

x(0) = 2,



y(0) = 2.
D. Andrade Clculo Numrico 214

Tabela 10.5: Exemplo 10.4.6

tk xk yk
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

10.4.2 O mtodo de Runge-Kutta- Fehlberg de quarta ordem


Estamos ainda considerando o PVI
(
y = f (x, y)
y(x0 ) = y0 .

A frmula no mtodo de Runge-Kutta- Fehlberg de quarta ordem dada por


 
25 1048 2197 1
yk+1 = yk + K1 + K3 + K4 K5
216 2565 4104 5
D. Andrade Clculo Numrico 215

onde

K1 = hf (xk , yk )
1 1
K2 = hf (xk + h, yk + K1 )
4 4
3 3 9
K3 = hf (xk + h, yk + K1 + K2 )
8 32 32
12 1932 7200 7296
K4 = hf (xk + h, yk + K1 K2 + K3 )
13 2197 2197 2197
439 3680 845
K5 = hf (xk + h, yk + K1 8K2 + K3 K4 )
216 513 4104
h 8 3544 1859 11
K6 = hf (xk + , yk K1 + 2K2 K3 + K4 K5 )
2 27 2565 4104 40
Os mtodos estudados at aqui so chamados de passo 1, pois para o clculo de yk+1
necessita-se apenas conhecermos yk . Observamos ainda que estes mtodos so explcitos,
pois a expresso para yk+1 dada de modo explcito. A seguir veremos mtodos multistep.

10.5 Mtodos numricos para EDOs: Multistep


Como vimos nos mtodos anteriores, a soluo aproximada yk+1 para ser determinada
era preciso conhecer apenas yk 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 yk+1 preciso conhecer algumas aproximaes ante-
riores yk , yk1, . . . , ykm. Alguns destes mtodos sero estudados aqui nesta seo. Uma
pergunta natural a seguinte: porque no continuar usando o mtodos de passo sim-
ples 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(x0 ) = y0 ,

tomemos os pontos a = x0 < x1 < x2 < < xn = b igualmente espaados e h = xi+1 xi .


Integrando, Z xi+1 Z xi+1

y (x)dx = f (x, y(x))dx,
xi xi
D. Andrade Clculo Numrico 216

o que d Z xi+1
y(xi+1 ) = y(xi ) + f (x, y(x))dx. (10.5.15)
xi

Os mtodos que vamos estudar agora, mtodos de passo mltiplo, so baseados na aprox-
imao da integral em (10.5.15), substituindo f por um polinmio interpolador em ns
(abscissas) equidistantes.

Mtodos Adams-Bashforth
Escolhendo os ns de interpolao xi , xi1 , . . . , xir [a, b] obtemos os mtodos de Adams-
Bashforth.
Para o caso do Mtodo de Adams-Bashforth de segunda ordem, usamos a frmula de
integrao Z xi+1
h
f (x, y(x))dx [3f (xi ) f (xi1 )] ,
xi 2
onde h = xi xi1 . Esta aproximao para a integral foi obtida aproximando f por um
polinmio interpolador de grau um nos ns xi e xi1 . Substituindo em (10.5.15) obtemos
h
yi+1 = yi + [3f (xi , yi ) f (xi1 , yi1)] , i 1, (10.5.16)
2
que a frmula do Mtodo de Adams-Bashforth.
Observe que para determinar y2 precisamos conhecer y0 e y1 ; como y0 j dado precisamos
determinar apenas y1 . Fazemos isto usando um mtodo numrico de passo simples como
Euler ou Runge-Kutta..
O erro local no mtodo de Adams-Bashforth de ordem 2 dado por
5 3
h y (i )
12
(10.5.17)
onde i (xi1 , xi ). O erro global proporcional a h2 .
Exemplo 10.5.1 Consideremos o seguinte exemplo
(
y (x) = y(x), x [0, 1]
y(0) = 1.

A soluo obviamente y(x) = ex . Para aplicar o mtodo de Adams-Bashforth, pre-


cisamos de y1 que pode ser obtido por RK-2. Assim, tomando N = 10 segue que h = 10
10
,
temos os seguintes dados e o grfico ilustrando a aproximao.
D. Andrade Clculo Numrico 217

k yk
0 1 Soluo e aproximao- AB-2

1 1.105000 2.6

2 1.220750000 2.4

3 1.348612500 2.2

4 1.489866875 2

5 1.645916281 1.8

6 1.818310379 1.6

7 2.008761122 1.4

8 2.219159771 1.2

9 2.451595681 1

10 2.708377045
0 0.2 0.4 0.6 0.8 1
x

O Mtodo Adams-Bashforth de quarta odem obtido aproximando f por um polinmio


de grau 3 interpolador em xi , xi1 , xi2 , xi3 e usando a regra de integrao
Z xi+1
h
f (x)dx [55f (xi ) 59f (xi1 ) + 37f (xi2 ) 9f (xi3 )]
xi 24

onde h = xi+1 xi . Substituindo em 10.5.15 obtemos

h
yi+1 = yi + [55f (xi , yi ) 59f (xi1 , yi1 ) + 37f (xi2 , yi2) 9f (xi3 , yi3 )] , i 3
24
(10.5.18)
que a frmula do Mtodo de Adams-Bashforth de quarta ordem.
Observe que para determinar y4 precisamos conhecer y0 , y1 , y2 , y3 ; como y0 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 5 (5)
h y (i )
12
(10.5.19)

onde i (xi3 , xi ). O erro global proporcional a h4 .


D. Andrade Clculo Numrico 218

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 y1 , y2 , y3 que podem ser obtidas us-
ando RK-4.
xk yk
0.0 1.000
0.05 1.05127
0.10 1.10517
2.6

2.4

2.2
0.15 1.16183
0.20 1.2214
2

1.8

1.6

1.4
0.25 1.28403
1.2
1
0 0.2 0.4 0.6 0.8 1 0.50 1.64872

1.0 2.71828

10.5.1 Mtodos de passo mltiplo Implcitos


Nos mtodos de Adams-Bashforth yi+1 apresentado de forma explcita, por isto estes
mtodos so chamados de explcitos. Nos mtodos de Adams-Moulton, yi+1 apresentado
de forma implcita e por isto estes mtodos so chamados de implcitos.
Estes mtodos tm a forma
yi+1 = yi + h [a0 f (xi+1 , yi+1 ) + a1 f (xi , yi ) + + ar f (xir+1 , yir+1)].
(10.5.20)
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
fixos.
O seguinte resultado responde a esta pergunta.
f
Teorema 10.5.3 Sejam f e contnuas para x [a, b] e y R. Seja
y
f
L= sup {| (x, y(x))|}.
(x,y)[a,b]R y
D. Andrade Clculo Numrico 219

1
Se h < a equao (10.5.20) tem uma nica soluo yi+1 tal que
|a0 |L
(k)
yi+1 = lim yi+1 ,
k

(k)
sendo yi+1 dado por
h i
(k) (k1)
yi+1 = yi + h a0 f (xi+1 , yi+1 ) + a1 f (xi , yi ) + + ar f (xir+1 , yir+1 ) ,

(0)
k = 0, 1, . . . , e yk+1 arbitrrio.

O mtodo de Adams-Moulton de 4a ordem, e passo 3, um mtodo implcito dado por

h
yi+1 = yi + [9f (xi+1 , yi+1 ) + 19f (xi , yi ) 5f (xi1 , yi1) + f (xi2 , yi2 )]
24
. (10.5.21)

Para aplicar um mtodo implcito diretamente, como o mtodo dado em (10.5.21), deve-
mos resolver a equao implcita dada pelo mtodo em (10.5.21). 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 yn+1 .
(0)
(1i) Usando um mtodo explcito determinamos uma aproximao inicial yn+1 para yn+1 ,
(0)
(2i) Calculamos f (xi+1 , yi+1),
(1)
(3i) Com este valor calculamos yi+1 usando o mtodo implcito
(1)
(4i) Voltando em (2i) e calculamos f (xi+1 , yi+1). Repete-se o procedimento at que
(k) (k1)
|yi+1 yi+1 )|
(k)
< .
|yi+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.
D. Andrade Clculo Numrico 220

10.6 Usando Maple: mtodos para EDOS


10.6.1 Mtodo de Euler
# Exemplo para oPVI u'+2tu= 4t om 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):
> #a hando 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 grfi os
> DD:=[seq([x[n,u[n,n=0..N):
> A:=plot(DD, style=point, symbol= ir le, olor=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):
#apli ando o metodo
for k from 0 to N-1 do
K1 := H*F(T[k,u[k):
D. Andrade Clculo Numrico 221

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, olor=blue):
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 := pro (f,g,x0,y0,z0,h,ite)
lo al 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, olor=[red,blue);
D. Andrade Clculo Numrico 222

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) om y(x0)=y0
# Sintaxe AB4(f,x0,y0,h,N)

> f:=(x,y)->-y*sin(x*y)+x^3:
> AB4 := pro (f,x0,y0,h,N)
> lo al 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);
D. Andrade Clculo Numrico 223

> fi; od;


> DD:=[seq([x[k,y[k,k=0..N):
> plot({DD}, style=point, olor=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(x 1)3 ,
x+1
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
= x 2y, x [0, 1]
dx .
y(0) = 1

Tome h = 0.25, h = 0.2, h = 0.1, h = 0.01, a soluo exata dada por


5 exp(2x)
y(x) = 2x 1 +
4
e verifique o erro mximo cometido.

3. Resolver usando RK-4 o PVI



du
= 4t 2tu,
dt
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(x2 ) e verfique 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)3 ,
x+1
y(0) = 3
D. Andrade Clculo Numrico 224

no intervalo [0, 2]. Complete a tabela.


k xk yk K1 K2 K3 K4
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. Se-
jam x(t) e y(t) o nmero de presas e predadores, respectivamente, no instante t.
Faremos algumas hipteses simplificadoras. Se as presas forem deixadas sozin-
has, seu crescimento populacional proporcional a x. O nmero que vezes que
o predador mata a presa depende do nmero de encontros e proporcional a xy.
dx
Combinando essas equaes obtemos = x + xy, onde > 0 e < 0.
dt
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
dy
com as preas, isto contribui com o termo xy, > 0. Portanto, temos = y + xy.
dt
Assim, temos o seguinte sistema de edos:
D. Andrade Clculo Numrico 225


dx = x + xy

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

= 3x 1.4xy, t [0, 2]

dt

dy
= y + 0.5xy,
dt

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:




y = y + y, x [0, 1] y = y + y, x [0, 1]
(P V I1) y(0) = 1, (P V I2) y(0) = 0,



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.

9. Resolva usando o PVI utilizando o mtodo de Adams-Bashforth de ordem 4:



dy
= 2x 3xy
dx
y(1) = 2.

no intervalo [1, 2], use h = 0.1


D. Andrade Clculo Numrico 226

10.7 Resumo do captulo


Neste captulo estudamos vrios mtodos numricos numricos para tratar de
problemas 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 Adams-Bashforth.
Problemas de Fronteira
11
11.1 Introduo
No captulo anterior estudamos equaes diferenciais ordinrias juntamente com uma
condio inicial, isto , problemas de valor inicial. Nesse captulo vamos estudar prob-
lemas de valor de fronteira ou problemas de contorno para equaes diferenciais or-
dinrias. Problemas de contorno para EDOS so equaes diferenciais ordinrias junta-
mente com uma ou mais condies em pontos fixados do domnio. Vamos apresentar o
mtodo das diferenas finitas 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.

227
D. Andrade Clculo Numrico 228

1. Consideremos o problema
(
y + y = 0,
(11.2.1)
y(0) = 0, y(1) = 0.

A soluo geral dada por y(x) = c1 sin(x) + c2 cos(x).


Como y(0) = c2 = 0 e como y(1) = 0 = c1 sin(1), segue que c1 = c2 = 0. Logo, a nica
soluo possvel a soluo trivial.

2. Consideremos o problema
(
y + 2 y = 0,
(11.2.2)
y(0) + y(1) = 0, y (0) + y (1) = 0.

A soluo geral dada por y(x) = c1 sin(x) + c2 cos(x).


Como y(0) + y(1) = 0 e y (0) + y (1) = 0 so satisfeitas independetemente das
constantes c1 e c2 , segue que existem infinitas solues dadas por y(x) = c1 sin(x)+
c2 cos(x), para quaisquer constantes c1 e c2 .

3. Consideremos o problema
(
y + y = 0,
(11.2.3)
y(0) = 0, y(1) = 0.

Soluo no trivial para este problema existe apenas para valores especiais de
= 2 , 4 2 , 9 2 , . . . , n2 2 , . . . . Para os demais, existe apenas soluo trivial.
Para n = n2 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
a0 y(a) a1 y (a) = , |a0 | + |a1 | =
6 0 (11.2.5)

b0 y(b) + b1 y (b) = , |b0 | + |b1 | =
6 0. (11.2.6)
D. Andrade Clculo Numrico 229

A soluo procurada no intervalo [a, b].


Um importante caso particular ocorre quando a funo f (x, u1 , u2 ) linear em u1 e u2 , 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

a0 u(0) + a1 u (0) = 0, b0 u(1) + b1 u (1) = 0,

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


usual introduzir o operador diferencial L dado por

Ly = [P (x)y ] + Q(x)y.

Assim, o problema fica


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
Z x 
1 q(s)
(x) = exp ds
p(x) x0 p(s)

podemos escrever

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

1. (1 x2 )y xy + 2 y = 0 Tchebycheff;

2. y 2xy + y = 0 Hermite;

3. x2 y + xy + (x2 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 a0 , a1 , b0 e b1 satisfazendo

a0 a1 0, |a0 | + |a1 | =
6 0,
D. Andrade Clculo Numrico 230

b0 b1 0, |b0 | + |b1 | =
6 0,
|a0 | + |b0 | =
6 0.
Ento, o problema de valor de fronteira


Ly = y + p(x)y + q(x)y + r(x), a < x < b,
a0 y(a) a1 y (a) = , (11.2.8)


b0 y(b) + b1 y (b) =

tem uma nica soluo para cada e .

Tendo estabelecido um resultado terico que garante a existncia de soluo para prob-
lemas de valor de contorno podemos agora apresentar algumas tcnicas numricas para
a obteno da soluo.

11.3 O mtodo das diferenas finitas


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):

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

f (x + h) f (x) + f (x)h

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

f (x) f (x h)
f (x) ,
h
chamada de aproximao por diferena atrasada.
D. Andrade Clculo Numrico 231

Somando as duas, obtemos


1
f (x) [f (x + h) f (x h)]
2h
aproximao por diferena central.
Este tipo de anlise pode ser estendido para chegar na diferena central da segunda
derivada f (x):
1
f (x) = 2 [f (x + h) 2f (x) + f (x h)] .
h
fcil estender a aproximao por diferenas a derivadas parciais. Como

h2
u(x + h, y) = u(x, y) + ux (x, y)h + uxx (x, y) + ...
2!
e
h2
u(x h, y) = u(x, y) ux (x, y)h + uxx (x, y) + ...
2!
conclumos o seguinte

u(x + h, y) u(x, y)
ux (x, y)
h
u(x + h, y) 2u(x, y) + u(x h, y)
uxx (x, y)
h2
u(x, y + k) u(x, y)
uy (x, y)
k
u(x, y + k) 2u(x, y) + u(x, y k
uyy (x, y) .
k2
Vejamos um exemplo simples de EDO com condies de contorno.

Exemplo 11.3.1

Resolver por diferenas finitas 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.


D. Andrade Clculo Numrico 232

A soluo u(x) ser dada em funo da tabela


u1 = u(x1 ), u2 = u(x2 ), . . . , u(x4 ).
Os valores u(x0 ) e u(x5 ) so aqueles dados inicialmente no problema.
Para simplificar a notao usual representar
ui = u(xi ),
ui+1 ui1
ui = ,
2h
ui+1 2ui + ui1
ui = ,
h2
a ideia aproximar as derivadas por estas aproximaes. Substituindo na EDO, obtemos
 
ui+1 2ui + ui1
+ 3ui = sin(xi ),
h2
ou equivalentemente,
ui+1 + (3h2 + 2)ui ui1 = h2 sin(xi ),
onde i = 1, 2, 3, 4.
Temos que para i = 1, 2, 3, 4
u2 + 2.12u1 u0 = 0.00795
u3 + 2.12u2 u1 = 0.01558
u4 + 2.12u3 u2 = 0.022586
u5 + 2.12u4 u3 = 0.028694.

Note que usamos que u0 = 0 e u5 = 0. Reescrevendo o sistema na forma matricial,



2.12 1 0 0 u1 0.00795
1 2.12 1 0
u2 = 0.01558 .
0 1 2.12 1 u3 0.02258
0 0 1 2.12 u4 0.02869
A soluo deste sistema tridiagonal dada por

0.02244
0.03962
X := 0.04596


0.03522
D. Andrade Clculo Numrico 233

Exemplo 11.3.2

Consideremos a EDO y y + xy = exp(x)(x2 + 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
yi+1 2yi + yi1 yi+1 yi1
+ xi yi = exp(xi )(x2i + 1).
h2 2h
Reescrevendo, temos

(2 h)yi+1 + (2ih3 4)yi + (2 + h)yi1 = 2h2 exp(ih)(i2 h2 + 1).

Variando i de 1 a 9, temos um sistema tridiagonal de equaes lineares com 9 equaes


e 9 incgnitas yi . Quando i = 1 e i = 9 as condies de contorno aparecero nas equaes
com y0 = 0 e y10 = e.
O sistema encontrado o seguinte:

3.998 y1 + 1.9 y2 = 0.02232445254


2.1 y1 3.996 y2 + 1.9 y3 = 0.02540517736
2.1 y2 3.994 y3 + 1.9 y4 = 0.02942692202
2.1 y3 3.992 y4 + 1.9 y5 = 0.03461033300
2.1 y4 3.990 y5 + 1.9 y6 = 0.04121803178
2.1 y5 3.988 y6 + 1.9 y7 = 0.04956163136
2.1 y6 3.986 y7 + 1.9 y8 = 0.06000983066
2.1 y7 3.984 y8 + 1.9 y9 = 0.07299774244
1.9 e + 2.1 y8 3.982 y9 = 0.08903763262.

Resolvendo o sistema tridiagonal, temos que a soluo dada por

y1 = 0.1104008748, y2 = 0.2440563947, y3 = 0.4046382597,


y4 = 0.5963335276, y5 = 0.8239123315, y6 = 1.092804119,
y7 = 1.409183454, y8 = 1.780066541, y9 = 2.213419783.
A figura 11.1 ilustra a soluo obtida numericamente utilizando 100 subintervalos.

Exemplo 11.3.3 (Problema de Sturm-Liouville)


D. Andrade Clculo Numrico 234

2.5

1.5

0.5

0 0.2 0.4 0.6 0.8 1

Figura 11.1: Exemplo 11.3.2

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 xi = a + ih. Usando diferenas centrais temos que:

yi+1 2yi + yi1


y (xi ) = ,
h2
yi+1 yi1
pi y (xi ) = pi ,
2h
donde segue que
   
pi h  pi h
1+ 2
yi+1 + qi h 2 yi + 1 yi1 = ri h2 , (11.3.3)
2 2
i = 1, . . . , n 1.
D. Andrade Clculo Numrico 235

Vamos denotar por


pi h
i = 1 + ,
2
i = qh2 2,
pi h
i = 1 .
2

Notemos que o sistema (11.3.3) tridiagonal de dimenso (n 1) (n 1) e pode ser


escrito da forma AX = b, onde


0, se |i j| > 1,

, se i = j,
i
A = (aij ) =


i , se j = i + 1,

i , se j = i 1
e  
p1 h



2
r1 h 1 , se i = 1,
2
b = (bi ) = ri h2 , se 2 i n 2,

 

pn1 h
2
rn1 h 1 + , se i = n 1.
2

11.4 Mtodo do shooting linear


Nesta seo vamos estudar apenas o mtodo do shooting1 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],


y = p(x)y + q(x)y + r(x), x (a, b)
(P V F ) 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.
1
shooting disparo
D. Andrade Clculo Numrico 236

O mtodo do shooting consiste em tomar dois problemas de valor inicial (PVI) associados
ao (PVF). Os dois PVIs so dados por


y = p(x)y + q(x)y + r(x), x (a, b)
(P V I 1) y(a) = ,


y (a) = 0,
e

y = p(x)y + q(x)y, x (a, b)
(P V I 2) 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 y1 (x) a
soluo de (PVI-1) e y2 (x) a soluo de (PVI-2).
Uma conta fcil mostra que
y1 (b)
y(x) = y1 (x) + y2 (x), x [a, b]
y2 (b)
(11.4.1)
soluo do (PVF), desde que y2 (b) 6= 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 y1 (x) e y2 (x).
Assim, o mtodo do shooting baseado na substituio do (PVF) por dois problemas de
valor inicial (PVI-1) e (PVI-2).
Usando um mtodo numrico para obter a soluo dos (PVI-1) e (PVI-2), teremos as
solues numricas (xk , y1,k ) e (xk , y2,k ), respectivamente. Logo, usando (11.4.1), temos
que
y1 (b)
yk = y1,k + y2,k , k = 0, . . . , n.
y2 (b)
(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.
D. Andrade Clculo Numrico 237

Use o mtodo de shooting linear para obter numericamente a sua soluo.


Tomemos os dois PVIs associados


y = 4y + 3y x, x (0, 1) y = 4y + 3y, x (0, 1)
(P V I1) y(0) = 2, (P V I2) y(0) = 0,



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:

k xk yk zk
0 0 2 0
1 0.1 2.0342916667 0.7354541667
2 0.2 2.1594529573 1.8473533018
3 0.3 2.4235537389 3.5618766651
4 0.4 2.9034331605 6.2386796859
5 0.5 3.7216843201 10.4498116784
6 0.6 5.0736806729 17.1052842936
7 0.7 7.2705801966 27.6528680012
8 0.8 10.8077523665 44.3959960092
9 0.9 16.4736563716 70.9995940122
10 1.0 25.5230829536 113.2949267865
| {z }
=y1 (b)
D. Andrade Clculo Numrico 238

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:

k xk yk zk
0 0 2 0
1 0.1 2.0342916667 0.7354541667
2 0.2 2.1594529573 1.8473533018
3 0.3 2.4235537389 3.5618766651
4 0.4 2.9034331605 6.2386796859
5 0.5 3.7216843201 10.4498116784
6 0.6 5.0736806729 17.1052842936
7 0.7 7.2705801966 27.6528680012
8 0.8 10.8077523665 44.3959960092
9 0.9 16.4736563716 70.9995940122
10 1.0 19.5818114520 91.4964947316432
| {z }
=y2 (b)

Das tabelas anteriores obtemos que y1 (b) y1,10 = 25.55311935 e y2 (b) y2,10 = 19.58181.
Eles esto marcados em um box. Agora usando a equao (11.4.2) e as tabelas anteriores
obtemos (novamente, zk apenas auxiliar), obtemos
D. Andrade Clculo Numrico 239

xk yk
0.0 2.00000000
0.1 1.904637966
0.2 1.831614274
0.3 1.787982462
0.4 1.785352147
0.5 1.842559064
0.6 1.989914844
0.7 2.275974580
0.8 2.778300788
0.9 3.62060035
1.0 5.00000000

Esta a soluo numrica do problema de valor de fronteira do exemplo. A figura 11.2


ilustra a soluo numrica obtida pelo mtodo do shooting do exemplo.

Figura 11.2: Soluo do exemplo


D. Andrade Clculo Numrico 240

11.5 Usando Maple: Sturm-Liouville


#Exemplo 1 Sturm-Liouville: y''+p(x)y'+q(x)y=r(x) om

## 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):
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 finitas o seguinte problema de valor de


D. Andrade Clculo Numrico 241

fronteira

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 finitas 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 finitas o seguinte problema de valor de fronteira


(
y + y + xy = exp(x)(x2 + 1), x (0, 1),
y(0) = 1, y(1) = 2.

Tome o passo h = 0.1

4. Resolver por diferenas finitas 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 finitas 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


D. Andrade Clculo Numrico 242

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)(x2 + 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


D. Andrade Clculo Numrico 243

11. Considere o seguinte problema de valor de fronteira


(
y + 8y (x) + y(x) = x
y(0) = 0, y(1) = 1.
Utilizando o mtodo das diferenas finitas com h = 0.2 escreva todas as equaes
obtidos deste mtodo.

12. Considere o PFV dado por


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

(a) Escreva os PVIs associados dados pelo mtodo do shooting linear.


(b) Escreva os sistemas de ordem 1 correspondentes aos PVIs acima.
(c) As duas primeiras tabelas abaixo correspondem, respectivamente, s solues
numricas dos PVIs escritos no item (b) utilizando o mtodo de Runge-Kutta de
ordem 4 para sistemas 2 2 com h = 0.1 no intervalo [0, 1]. Utilize o mtodo do
shooting linear para completar a terceira tabela.

k xk yk k xk yk k xk yk
0 0.0 1.0 0 0.0 0.0 0 0.0 1.0
1 0.1 1.00517 1 0.1 0.100167 1 0.1 0.85872
2 0.2 1.02140 2 0.2 0.20134 2 0.2
3 0.3 1.04986 3 0.3 0.30452 3 0.3 0.60461
4 0.4 1.091824 4 0.4 0.410752 4 0.4 0.49126
y1 y2 y
5 0.5 1.148721 5 0.5 0.52109 5 0.5 0.38682
6 0.6 1.222118 6 0.6 0.63665 6 0.6
7 0.7 1.313752 7 0.7 0.75858 7 0.7 0.20461
8 0.8 1.425540 8 0.8 0.88811 8 0.8 0.127026
9 0.9 1.559601 9 0.9 1.026516 9 0.9 0.05872
10 1.0 1.71828 10 1.0 1.17520 10 1.0

13. Use o mtodo de Runge-Kutta de ordem 4, para obter a soluo numrica do PVI
(
y = xy,
y(0) = 1
D. Andrade Clculo Numrico 244

no intervalo [0, 1]. Complete a tabela tomando h = 0.1.

k xk yk K1 K2 K3 K4
0
1
2 * * * *
.. .. .. .. .. .. ..
. . . . . . .
9 0.666977
10 * * * *

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 finitas.


Mtodo das diferenas finitas para EDPS
12
12.1 Introduo
Uma equao diferencial parcial uma equao diferencial que envolve uma funo de-
sconhecida juntamente com suas derivadas parciais. Nesse captulo apresentamos o
mtodo das diferenas finitas para EDPs, existem vrias formulaes para essa tcnica,
apresentamos apenas as mais amplamente utulizadas em cursos introdutrios.
O mtodo das diferenas finitas consiste em substituir as derivadas parciais por aprox-
imaes dadas por diferenas finitas. A escolha dessas diferenas que d origem s
diversas 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 definies para funes
definidas em R3 .
- Operador Gradiente: se f : R3 R diferencivel, definimos

f = (fx , fy , fz ).

245
D. Andrade Clculo Numrico 246

div- Operador Divergente: se f : R3 R diferencivel, definimos


divf = fx + fy + fz .
- Operador Laplaciano: se f : R3 R diferencivel, definimos
f = fxx + fyy + fzz = f.
Agora vamos aos exemplos mais comuns de EDPs.
a) Equao de Laplace: u = 0.
b) Equao de Helmholtz: u Pn= u.
c) Equao de Liouville: ut i=1 (bi u)xi = 0.
d) Equao do Calor: ut u = 0.
e) Equao de Schordinger: i ut + u = 0.
f) Equao da Onda: utt 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
sempre procurando solues num aberto Rn , se impormos condies da soluo e suas
derivadas no bordo da regio(condio de contorno) teremos um problema de valo-
res de contorno, ou simplesmente, problema de contorno. Condies de contorno
so comuns em problemas fsicos estacionrios (isto , independentes de tempo), no so
raras as condies do tipo:
u
u(x) + (x) = f (x), x (12.3.1)
n
onde e so constantes dadas, f uma funo dada em e n u
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 fixamos
uma determinada varivel) estaremos trabalhando com problema de valor inicial ou
problema de Cauchy.
Se o problema carregar tanto condies iniciais como de contorno estaremos nos referindo
a um problema misto.
Os conceitos acima ficaro mais claros com o auxlio de um exemplo:
D. Andrade Clculo Numrico 247

Exemplo 12.3.1 O problema:

uy = 0 em R2 ,
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:

uy = 0 em R2 ,
u(0, y) = f (y), y R

um problema de Cauchy, ou de condio inicial, envolvendo uma Edp linear e ho-


mognea. A curva inicial o eixo dos y.

Exemplo 12.3.3 O problema:

ut = 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 .

Definio 12.3.4 Dizemos que a soluo depende continuamente dos dados iniciais
ou de contorno se a soluo est intimamente ligada aos dados iniciais, ou seja, qual-
quer 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

Ax2 + Bxy + Cu2 + Dx + Ey + F = 0,


D. Andrade Clculo Numrico 248

representa uma seo cnica. Denotando = B 2 4AC, ento podemos classific-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

Auxx + Buxy + Cuyy + Dux + Euy + F u = G,

onde os coeficientes so funes de x e y definidas em algum domnio do plano.


comum escrevermos da seguinte forma

(ADx2 + BDx Dy + CDy2 + DDx + EDy + F )u = Gu,

e representar (ADx2 + BDx Dy + CDy2 + DDx + EDy + F ) pelo operador diferencial L.


Denotando = B 2 4AC podemos classificar as edps lineares de segunda ordem como:
Eliptica: se B 2 4AC < 0, como por exemplo a equao de Laplace uxx + uyy = 0.
Parablica: se B 2 4AC = 0, como por exemplo a equao do calor ux uyy = 0.
Hiperblica: se B 2 4AC > 0, como por exemplo a equao da onda uxx uyy = 0.

B 2 4AC Tipo Exemplo


<0 Eliptica uxx + uyy = 0 (Laplace)
=0 Parablica ux uyy = 0 (calor)
>0 Hiperblica uxx uyy = 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 representati-
vas.

Equao de Poisson:

uxx + yyy = f (x, y), (x, y) R2

onde um aberto limitado e conexo do plano.


Esta equao elptica.
D. Andrade Clculo Numrico 249

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:
ut = auxx + f (x, t), 0 < x < L, t > 0,
onde a e L so constantes positivas.
Tambm nesse caso, condies adicionais sobre a fronteira definida por x = 0 e
x = L e condies iniciais u(x, 0) = u0 (x), x [0, L] so necessrias para garantir
unicidade de soluo.
Equao da onda:
utt = auxx + f (x, t), x (0, L), t > 0
onde a e L so constantes positivas.
Afim de determinar uma nica soluo, condies adicionais sobre a fronteira definida
por x = 0 e x = L, e duas condies iniciais
u(x, 0) = u0 (x), ut (x, 0) = v0 (x), x [0, L]
so necessrias. As duas condies iniciais so necessrias pois a EDP de segunda
ordem em t.

12.5 Equao de Poisson


Vamos considerar a equao de Poisson juntamente com a condio de fronteira de Dirich-
let

uxx + uyy = 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 finitas 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.
D. Andrade Clculo Numrico 250

Primeiramente introduzimos uma malha


finita para = [0, 1][0, 1]. Dividimos o x-
intervalo [0, 1] em nx partes iguais e deno-
tamos hx = 10nx
o x-passo. Analogamente,
dividimos o y-intervalo [0, 1] em ny partes
iguais e denotamos hy = 10 ny
o y-passo.
Ento, os pontos da malha so

(xi , yi ), 1 i nx + 1, 1 j ny + 1,

onde xi = (i 1)hx e yj = (j 1)hy .

12.5.1 O Esquema de 5 pontos


Consideremos a equao diferencial em um ponto interior (xi , yj ), 2 i nx , 2 j ny .
Usamos a aproximao por diferena central para a segunda derivada:

u(xi + hx , yj ) 2u(xi , yj ) + u(xi hx , yj )


uxx (xi , yj )
h2x
u(xi , yj + hy ) 2u(xi , yj ) + u(xi , yj hy )
uyy (xi , yj ) .
h2y

Ou equivalentemente,

u(xi+1 , yj ) 2u(xi , yj ) + u(xi1 , yj )


uxx (xi , yj )
h2x
u(xi , yj+1) 2u(xi , yj ) + u(xi , yj1)
uyy (xi , yj ) .
h2y

Denotamos f (xi , yj ) por fij e por uij a aproximao por diferena finita de u(xi , yj ). Ento,
temos a seguinte equao de diferenas em pontos no interior da malha:

ui+1,j 2uij + ui1,j ui,j+1 2uij + ui,j1


+ = fij , (12.5.1)
h2x h2y

onde 2 i nx , 2 j ny .
D. Andrade Clculo Numrico 251

Estas equaes so complementadas com as condies de fronteira de Dirichlet:

uij = gij , i = 1 ou nx + 1, ou j = 1 ou ny + 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 uij , 2 i nx , 2 j ny . 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 |u(xi , yj ) uij | = O(h2x + h2y ),


1 i nx + 1
1 j ny + 1.

desde que a 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 nx = ny = n e hx =
hy = h e assim o sistema (12.5.1) pode ser reescrito
como

ui+1,j + ui1,j + ui,j+1 + ui,j1 4uij = h2 fij ,

onde 2 i nx , 2 j ny , ou

1 h2 fij
uij = [ui+1,j + ui1,j + ui,j+1 + ui,j1] (,12.5.3)
4 4
onde 2 i nx , 2 j ny .
Note que uij a mdia aritimtica dos quatro pontos vizinhos a ele.

Exemplo 12.5.1
D. Andrade Clculo Numrico 252

Consideremos o seguinte problema de


Poisson 1
( 0.8
uxx + uyy = 2 2 sin(x) sin(y), 0 < x, y < 1 0.6

u(x, y) = 0, x = 0, 1 ou y = 0, 1. 0.4
0.2
0
fcil verificar que a soluo exata desse 0
0.2 0.2
0

problema u(x, y) = sin(x) sin(y) e 0.4


y 0.6 0.6
0.4
x
mostrada a seguir. 0.8
1 1
0.8

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 hx = hy = h = 0.25. A malha
nesse caso dada a seguir.

[1, 5] [2, 5] [3, 5] [4, 5] [5, 5]


5

[1, 4] [2, 4] [3, 4] [4, 4] [5, 4]


4

[1, 3] [2, 3] [3, 3] [4, 3] [5, 3]


3

[1, 2] [2, 2] [3, 2] [4, 2] [5, 2]


2

[1, 1] [2, 1] [3, 1] [4, 1] [5, 1]


1
1 2 3 4 5

Figura 12.1: Malha do exemplo 12.5.1

Para cada par (i, j) temos uma equao correspondente:

(i, j) 7 ui+1,j + ui,j+1 + ui1,j + ui,j1 4.0 ui,j = 0.0625 fi,j


D. Andrade Clculo Numrico 253

Usando as condies fronteira obtemos o seguinte sistema:

u3,2 + u2,3 4 u2,2 = 0.6168484146


u3,3 + u2,4 + u2,2 4 u2,3 = 0.8723559725
u3,3 + u2,4 + u2,2 4 u2,3 = 0.8723559725
u4,2 + u3,3 + u2,2 4 u3,2 = 0.8723559725
u4,3 + u3,4 + u2,3 + u3,2 4 u3,3 = 1.233698466
u4,4 + u2,4 + u3,3 4 u3,4 = 0.8723582875
u4,3 + u3,2 4 u4,2 = 0.6168500515
u4,4 + u3,3 + u4,2 4 u4,3 = 0.8723582875
u3,4 + 1.0 u4,3 4 u4,4 = 0.6168516884

As incgnitas so
u3,2 , u2,3, u2,2 , u3,3, u2,4 , u3,4 , u4,2, u4,3 , u4,4
Resolvendo o sistema de equaes lineares, temos

u4,3 = 0.7446038338, u4,2 = 0.5265142059,

u3,4 = 0.7446038338, u2,4 = 0.5265142059,


u3,3 = 1.053028003, u2,2 = 0.5265135729,
u2,3 = 0.7446029385, u3,2 = 0.7446029385, u4,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


D. Andrade Clculo Numrico 254

Discretize o domnio (assumindo um retngulo [a, b] [c, d]) subdivida [a, b] em m


partes iguais de comprimento hx = h e subdivida [c, d] n partes iguais de compri-
mento hy = k.
Os valores resultantes de x e y so denotados (xi , yj ) onde i = 0, 1, , m e j =
0, 1, , n, e a aproximao de u(xi , yj ) denotamos como ui,j .
Substitua a segunda derivada parcial da EDP com suas aproximaes discretas:
2u ui+1,j 2ui, j + ui1,j
2

x h2
2u ui,j+1 2ui, j + ui,j1
2

y k2

Para cada (xi , yj ) em , use as condies de fronteira para gerar uma equao
envolvendo os ui,j s. Note que so (m + 1) (n + 1) ns no domnio discretizado.
Se o vetor de incgnitas
U = [u0,0 , u1,0, , um,0, u0,1 , u1,1, , um,1 , , u0,n , , um,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 re-
sultante.

12.6 A equao do calor unidimensional


Consideremos a equao do calor unidimensional
ut = auxx + f (x, t), 0 < x < L, 0 < t < T (12.6.1)
juntamente com a condio inicial
u(x, 0) = u0 (x), 0 x L
e as condies de fronteira
u(0, t) = g1 (t), u(L, t) = g2 (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.
D. Andrade Clculo Numrico 255

[1, 5] [2, 5] [3, 5] [4, 5] [5, 5]


5

[1, 4] [2, 4] [3, 4] [4, 4] [5, 4]


4

[1, 3] [2, 3] [3, 3] [4, 3] [5, 3]


3

[1, 2] [2, 2] [3, 2] [4, 2] [5, 2]


2

[1, 1] [2, 1] [3, 1] [4, 1] [5, 1]


1
1 2 3 4 5

Figura 12.2: grade do exemplo


D. Andrade Clculo Numrico 256

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
sistema 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

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 nt o inteiro positivo e ht = nTt . Denotamos por tk =
(k 1)ht , 1 k nt + 1 e por uki a aproximao por diferena finita do valor u(xi , tk ).
Analogamente, discretizamos o intervalo [0, L] dividindo-o em nx subintervalos e hx = nLx
e xi = (i 1)hx , 1 i nx + 1.
Se (xi , tk ) um ponto interior da malha, 2 i nx , 2 k nt , temos

1  k k k

uxx (xi , tk ) u i+1 2u i + u i1
h2x
1  k+1 
ut (xi , tk ) ui uki (dif. adiantada),
ht
onde 2 i nx , 2 k nt .
Ento, obtemos a seguinte frmula adiantada de Euler:
uk+1 uki uk 2uki + uki1
i
= a i+1 2
+ fik .
ht hx
conveniente introduzir a seguinte frao
aht
= .
h2x
D. Andrade Clculo Numrico 257

Devemos ainda incorporar a condio inicial e de fronteira:

u1i = u0 (x), 1 i nx + 1,

e para k 1
uk+1
i = uki1 + (1 2)uki + uki+1 + ht fik , 2 i nx
uk+1
1 = g1 (tk+1 ), uk+1
nx +1 = g2 (tk+1 ).

Por este mtodo, uma vez conhecido a


aproximao em t = tk , podemos calcular a
soluo no prximo nvel de tempo t = tk+1
diretamente. Por isso o nome de mtodo ex-
plcito.
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 = tk+1 calculada dire-
tamente dos passos anteriores.
Pode-se provar que se (condio de estabilidade)
aht 1
= 2
,
hx 2

ento a soluo exata u(xi , tk ) satisfaz

max |u(xi , tk ) uki | = O(ht + h2x ),


1 i nx + 1
1 k nt + 1.
isto , um esquema de primeira ordem em preciso em ht e um equema de segunda
ordem em preciso em hx .

Exemplo 12.6.1
D. Andrade Clculo Numrico 258

Consideremos o seguinte problema de


calor 1
0.8

ut = uxx , 0 < x < 1, 0 < t < 0.2 0.6
u(x, 0) = sin(x), x [0, 1] 0.4

0.2
u(0, t) = u(1, t) = 0, t [0, 0.2]. 0
0 0
0.05 0.2
fcil verificar que a soluo exata desse 0.1
t x0.4
0.6
2 0.15
problema u(x, t) = e t sin(x) e 0.2 1
0.8
mostrada a seguir.
Neste exemplo temos a = 1, L = 1, T = 0.2. Ento, ht = 0.2
nt
, hx = 1
nx
e assim, a condio de
estabilidade
0.2n2x 1
=
nt 2
deve ser satisfeita para escolhas convenientes de nx e nt .
Substituindo as aproximaes das derivadas na equao, obtemos

U (tm+1 , xi ) U (tm , xi ) U (tm , xi+1 ) 2 U (tm , xi ) + U (tm , xi1 )


=
k h2
Isolando, U (tm+1 , xi ), temos

kU (tm , xi+1 ) (h2 + 2 k) U (tm , xi ) kU (tm , xi1 )


U (tm+1 , xi ) = +
h2 h2 h2
k
Se = , ento
h2
U (tm+1 , xi ) = U (tm , xi+1 ) + (1 2 ) U (tm , xi ) + U (tm , xi1 ) .

Vemos que a temperatura no nvel de tempo tm+1 depende das temperaturas nos nvel de
tempo tm ao longo dos pontos xi , quando i varia. Fixando um nvel de tempo m e variando
i, obtemos um sistema da forma
Um+1 = AUm ,
onde A uma matriz tridiagonal. Indutivamente, obtemos

Um+1 = Am+1 U0 ,
D. Andrade Clculo Numrico 259

onde A dada por



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


A= 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 figura 12.3 mostra a soluo exata juntamente com alguns pontos obtidos em tempo ti .

0.8

0.6

0.4

0.2
0.2
0.15
0 0.1
0.05 t

0.5
x

Figura 12.3: Soluo exata e soluo numrica


D. Andrade Clculo Numrico 260

12.6.3 Discretizao completa implcita: atrasada no tempo e cen-


trada no espao
A principal desvantagem do mtodo explcito necessidade da condio de estabilidade
aht 1
= 2

hx 2

que impe uma restrio sobre o tamanho relativo de ht com relao a hx .


Se uma soluo correspondente aos valores ht e hx no tem a preciso desejada, natural
tentar diminuir os valores ht e hx . Assumindo que dobramos o nmero de pontos na
hx
malha espacial, isto tomamos um novo valor para hx = . Para manter a mesma
2
ht
razo precisamos tomar ht igual a ht = . Assim, se hx dividido ao meio, devemos
4
dividir ht por quatro. Isto pode acarretar em muitos casos um valor para ht proibitivo.
Felizmente, existe um mtodo que sempre estvel. Mantendo a mesma notao, sejam
L
hx = , xi = (i 1)hx , 1 i nx + 1,
nx
T
ht = , tk = (k 1)ht , 1 k nt + 1,
nt
Denotamos por uki a aproximao por diferena finita do valor u(xi , tk ) e usamos a difer-
ena central de segunda ordem
1  k k k

uxx (xi , tk ) u i+1 2u i + u i1
h2x

para a derivada espacial de segunda ordem.


Para a derivada de primeira ordem no tempo usamos em seu lugar a diferena atrasada
1  k 
ut (xi , tk ) ui uk1
i (dif. atrasada).
ht
O resultado o mtodo de Euler atrasado
1  k  1  k 
ui uk1
i =a ui uk1
i + fik ,
ht ht
onde 2 i nx .
D. Andrade Clculo Numrico 261

Novamente denotamos por


aht
= ,
h2x
ento o esquema numrico

u1i = u0 (x), 1 i nx + 1

e para k 2,

k k k k1 k

ui1 + (1 + 2)ui ui+1 = ui + ht fi , 2 i nx
uk1 = g1 (tk ),

k
unx +1 = g2 (tk )

Ao contrrio do mtodo explcito, aqui para uma soluo aproximada em t = tk1 , pre-
cisamos resolver um sistema de equaes lineares para determinar a soluo aproximada
no prximo nvel de tempo t = tk . Por isso esse mtodo chamado de mtodo implcito.
Em cada nvel de tempo t = tk , k 2, precisamos resolver um sistema de equaes
lineares
Auk = Fk .
Aqui, o vetor incgnita
 T
uk = uk2 , . . . , uknx
e o vetor Fk dado por
 T
Fk = uk1
2 + ht f2k + g1 (tk ), uk1
3 + ht f3k , . . . , uk1 k k1 k
nx 1 + ht fnx 1 , unx + ht fnx + g2 (tnx +1 )

e a matriz dos coeficientes a matriz (nx 1) (nx 1) dada por



1 + 2
1 + 2

.. .. ..
A=
. . .



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.
D. Andrade Clculo Numrico 262

Podemos demonstrar que para quaisquer valores de hx e ht , o esquema implcito in-


condicionalmente estvel. Alm disso,

max |u(xi , tk ) uki | = O(ht + h2x ),


1 i nx + 1
1 k nt + 1.

isto , um esquema de primeira ordem em preciso em ht e um equema de segunda


ordem em preciso em hx desde que as derivadas parciais de segunda ordem sejam con-
tnuas.

Exemplo 12.6.2
Consideremos o seguinte problema de
valor inicial e fronteira para calor
0.8

ut = uxx , 0 < x < 1, 0 < t < 0.2 0.6

u(x, 0) = sin(x), x [0, 1]




0.4

u(0, t) = u(1, t) = 0, t [0, 0.2], 0.2 0.2


0.15
0.1
que j foi estudado com diferenas adi- 0 0.05 t
0.2
antadas. Lembramos que a soluo exata 0.4
x 0.6
2
desse problema u(x, t) = e t sin(x). 0.8
1
Resultados numricos com nx = nt = 20
so mostrados a seguir

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

ut = cuxx , 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:
 
1 u(x + h, t) 2u(x, t) + u(x h, t) u(x + h, t + k) 2u(x, t + k) + u(x h, t + k)
uxx +
2 h2 h2
D. Andrade Clculo Numrico 263

A derivada de ordem 1 em t substituda por


u(x, t + k) u(x, t)
ut ,
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.
ck
Reagrupando e chamando = 2 , obtemos a seguinte equao de diferenas
h
uj+1
i + uj+1
i uj+1 j j j
i+1 = ui+1 ui + ui1 , (12.6.1)
1 1
onde = 2(1 + ) e = 2(1 ) e j = 0, 1, . . . , m 1 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 uj+1
i . Pelas condies de contorno, os valores uj+1 i para i = 0 e i = n
so conhecidos.
Nesse mtodo em geral tomamos a seguinte disposio,
 
u(x + h, t + k) 2u(x, t + k) + u(x h, t + k)
uxx
h2
 
u(x + h, t) 2u(x, t) + u(x h, t)
+ (1 )
h2
Note que no caso de = 0, recamos no mtodo das diferenas finitas explcito.

Resumo: Idias centrais


Discretize o domnio (assumindo um retngulo [0, l] [0, T ]) subdivida [0, l] em m
partes iguais de comprimento hx = ml e subdivida [0, T ] n partes iguais de compri-
mento hy = k.
Os valores resultantes de x e t so denotados (xi , tj ) onde i = 0, 1, , m e j =
0, 1, n, e a aproximao de u(xi , yj ) denotamos como ui,j .
Mtodo diferenas adiantadas (explcito) - Substitua a segunda derivada par-
cial da EDP e a primeira derivada com suas aproximaes discretas:
2u ui+1,j 2ui, j + ui1,j
2

x h2
u ui+1,j ui, j

t k
D. Andrade Clculo Numrico 264

- Para cada (xi , t0 ) sobre a fronteira do nosso domnio, use as condies de fron-
teira pois conhecemos u(xi , t0 ). Assim, podemos determinar os valores de u no prx-
imo passo de tempo usando o valores do passo de tempo anterior. Para os ns
interiores, (xi , tj ), a equao discretizada gera uma equao envolvendo ui,j s.
- Rearranjando essas equaes de modo que suas incgnitas, os valores em tj+1 ,
fiquem do lado esquerdo do sistema teremos algo como uj+1 = Auj , onde uj+1 =
[u1,j+1 , u2,j+2, . . . , um1,j+1]t e u(j) = [u1,j , u2,j , . . . , um1,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 uj+1 = Auj , j = 1, 2, . . . o processo
seguir at o tempo final T .

Mtodo diferenas atrasadas (implcito)


- Substitua a segunda derivada parcial da EDP e a primeira derivada com suas
aproximaes discretas:
2u ui+1,j 2ui, j + ui1,j
2

x h2
u ui,j ui, j 1

t k

- Com a diferena atrasada, o vetor de incgnitas ser multiplicado por uma nova
matriz A, no iteramos simplesmente para encontrar o novo valor, em vez disso, de-
vemos 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:
 
1 u(x + h, t) 2u(x, t) + u(x h, t) u(x + h, t + k) 2u(x, t + k) + u(x h, t + k)
uxx +
2 h2 h2
e a derivada de ordem 1 em t substituda por
u(x, t + k) u(x, t)
ut ,
k
onde h o passo na direo x e k o passo na direo t.
D. Andrade Clculo Numrico 265

12.7 Equao da onda unidimensional: um caso sim-


ples
Consideremos a equao da onda unidimensional dada por

utt = c2 uxx , 0 x a, 0 t T
u(0, t) = 0
u(a, t) = 0
u(x, 0) = f (x)
ut (x, 0) = g(x).

Sejam naturais n, m, 2. Faa h = a


n
ek= T
m
, para construir os pontos da discretizao

xi = ih, i = 0, 1, . . . , n
tj = jk, j = 0, 1, . . . , m.

Das condies de fronteira obtemos imediatamente

u0,j = u(0, jk) = 0,


un,j = u(a, jk) = 0, j = 0, 1, . . . , m;
ui,0 = u(xi , 0) = f (xi ), i = 0, 1, . . . , n.

Aproximando as derivadas pelas suas aproximaes de segunda ordem e substituindo,


obtemos

ui,j+1 = 2 ui+1,j + 2(1 2 )uij + 2 ui1,j ui,j1, (12.7.2)

ck
onde = .
h
Vemos da equao equao (12.7.2) que para j = 1 precisamos conhecer os valores ui,1
da primeira linha do tempo para acharmos ui,2 . Mas com j = 0 vemos que os valores
ui,1 dependem de ui,0 0-sima linha do tempo e dos valores ui,1 . Para calcularmos estes
ltimos usamos g da condio inicial:

u(xi , k) u(xi , k)
g(xi ) = ut (xi , 0)
2k
D. Andrade Clculo Numrico 266

portanto,
u(xi , k) u(xi , k) 2kg(xi ).
Logo,

ui,1 ui,1 2kg(xi ). (12.7.3)

Levando equao (12.7.3) em equao (12.7.2), temos quando j = 0


2
ui,1 = (ui+1,0 ui1,0 ) + (1 2 )ui,0 + kg(xi ). (12.7.4)
2
Assim, para obter a soluo numrica da equao da onda iniciamos com a equao
correspondente a j = 0:

2
ui,1 = (ui+1,0 ui1,0 ) + (1 2 )ui,0 + kg(xi ).
2

e continuamos com a equao

ui,j+1 = 2 ui+1,j + 2(1 2 )uij + 2 ui1,j ui,j1.

Vejamos um exemplo.
Exemplo 12.7.1
Consideremos a equao da onda unidimensional dada por

utt = 4uxx , 0 x 1, 0 t 1
u(0, t) = 0
u(1, t) = 0
u(x, 0) = sin(x)
ut (x, 0) = 0.

Neste exemplo, temos c = 2, a = 1, T = 1. Tomemos n = 5 e m = 20. assim temos


h = 51 = 0.2 e k = 20
1
= 0.05. Veja a figura 12.7.
Da equao equao (12.7.4) temos

ui,1 = 0.125 (ui+1,0 ui1,0 ) + 0.75ui,0. (12.7.5)


D. Andrade Clculo Numrico 267

Figura 12.4: discretizao e subindo de nvel

Da equao equao (12.7.2) temos

ui,j+1 = 0.25ui+1,j + 1.5uij + 0.25ui1,j ui,j1, (12.7.6)

A equao equao (12.7.5) nos d para i = 1, 2, 3, 4:

u11 = 0.125 (u20 + u00 ) + 0.75u10 = 0.55972


u21 = 0.125 (u30 + u10 ) + 0.75u20 = 0.90565
u31 = 0.125 (u40 + u20 ) + 0.75u30 = 0.90565
u41 = 0.125 (u50 + u30 ) + 0.75u40 = 0.55972.

A equao equao (12.7.6) para j = 1 nos d para i = 1, 2, 3, 4:

u1,2 = 0.25u2,1 + 1.5u11 + 0.25u01 u1,0 = 0.4782


u2,2 = 0.25u3,1 + 1.5u21 + 0.25u11 u2,0 = 0.7738
u3,2 = 0.25u4,1 + 1.5u31 + 0.25u21 u3,0 = 0.5680
u4,2 = 0.25u5,1 + 1.5u41 + 0.25u31 u4,0 = 0.3510.
D. Andrade Clculo Numrico 268

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

utt = auxx + f (x, t), 0 < x < L, t > 0

e as condies de fronteira

u(0, t) = g1 (t), u(L, t) = g2 (t), t 0

e as condies iniciais

u(x, 0) = u0 (x), ut (x, 0) = v0 (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 com-
pletamente discreto. Aqui vamos trabalhar com um esquema padro completamente
discreto para o problema de valor inicial e de fronteira para a equao da onda unidi-
mensional.
Utilizamos as mesmas notaes para as parties dos intervalos espacial e de tempo:
L
hx =
, xi = (i 1)hx , 1 i nx + 1,
nx
T
ht = , tk = (k 1)ht , 1 k nt + 1.
nt
Usamos as seguintes aproximaes para as derivadas de segunda ordem

1  k 
uxx (xi , tk ) 2
ui+1 2uki + uki1
hx
1  
utt (xi , tk ) 2 uk+1
i 2uki + uk1
i .
ht

Ento para 2 i nx , 2 k nt obtemos a seguinte equao de diferenas

1  k+1 k k1
 1  k k k
 k
u 2u + u = a u 2u + u i1 + fi .
h2t i i i
h2x i+1 i
D. Andrade Clculo Numrico 269

Essas equaes de diferenas devem ser complementadas com aos valores numricos da
fronteira
uk1 = g1 (tk ), uknx +1 = g2 (tk )
para 1 k nt + 1 e pelos valores iniciais.
A discretizao da primeira condio inicial

u(x, 0) = u0 (x), 0 x L

imediata
u1i = u0(xi ), 1 i nx + 1.
Para a segunda condio inicial

ut (x, 0) = v0 (x), 0 x L

ambas as aproximaes por diferenas adiantada ou atrasada fornecem preciso de primeira


ordem no tempo. Assim, introduzimos novas variveis artificiais u0i , 1 i nx + 1 como
futura aproximao de u(xi , ht ) quando a verdadeira soluo estendida para valores
negativos de t. Ento usamos
u(xi , ht ) u(xi , ht )
2ht
como uma aproximao de ordem O(h2t ) de ut (xi , 0). Assim, a discretizao da segunda
condio inicial
u2i u0i
= v0 (xi ), 1 i nx + 1.
2ht
Com o uso de derivadas artificiais u0i , 1 i nx +1, precisamos de equaes de diferenas
em (xi , 0) para 2 i nx . Assim, exigimos que a equao de diferena

1  k+1  1  
2
ui 2uki + uk1
i = a 2 uki+1 2uki + uki1 + fik
ht hx

tambm seja vlida para k = 1 isto , t = 0.


Denotemos por
ah2t
= .
h2x
Ento, da equao de diferenas para k = 1:
D. Andrade Clculo Numrico 270

u2i = u1i1 + 2(1 )u1i + u1i+1 u0i + h2t fi1


e da discretizao da segunda condio inicial:
u2i = u0i + 2ht v0 (xi ).
Adicionando as duas equaes, podemos eliminar u0i e obter
1 1 h2t 1
u2i 1
= ui1 + (1 )ui + ui+1 + ht v0 (xi ) + fi ,
2 2 2
onde u1i = u0 (xi ).
Resumindo, realizamos os seguintes passos para determinar a soluo numrica:
1. Primeiro
u0i = u0 (xi ), 1 i nx + 1

2. Segundo
u21 = g1 (ht ), u2nx +1 = g2 (ht )
h2
u2i = u0(xi1 ) + ht v0 (xi ) + t fi1 , 2 i nx .
2 2
3. Terceiro, para k = 2, 3, . . . , nt
u1k+1 = g1 (kht ), uk+1
nx +1 = g2 (kht )

uk+1
i = uki1 + 2(1 )uki + uki+1 uk1
i + h2t fik , 2 i nx .
D. Andrade Clculo Numrico 271

Podemos demonstrar que a condio de estabilidade 1, isto ,


ah2t
= .
h2x
Assim,
aht hx .
Esta condio no to restritiva quando condio de estabilidade para a equao do
calor.
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 |u(xi , tk ) uki | = O(h2t + h2x ),
1 i nx + 1
1 k nt + 1.
isto , o esquema de segunda ordem para ht e hx .
Exemplo 12.8.1
Consideremos o seguinte problema de
valor inicial e fronteira para onda
2

utt = uxx + 16 sin(t), 0 < x < 1, 0 < t < 1 0.2 0


0.5
1t

u(x, 0) = 0, x [0, ] x 0.4


0.6 2
1.5
2

0.8
1 4

ut (x, 0) = 0, x [0, ]

u(0, t) = u(, t) = 0, t [0, 1].

A figura ao lado mostra alguns instantes


da soluo numrica e a soluo desse
problema
Aqui tomamos nx = nt = 4, a matriz dada por

0 0 0 0 0

1 0 1 0 0


A= 0 1 0 1 0

0 0 1 0 1

0 0 0 0 0
D. Andrade Clculo Numrico 272

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

utt = uxx + et sin(x), 0 < x < , 0 < t < 1 0.6

u(x, 0) = sin(x), x [0, ] 0.4


0.2
ut (x, 0) = sin(x), x [0, ]
0

0 0
u(0, t) = u(, t) = 0, t [0, 1]. 0.2 0.5
0.4 1
t 1.5
x
0.6 2
A soluo exata desse problema u(x, t) = 0.8
1 3
2.5

et sin(x) e mostrada a seguir

Resolva o problema com diversos nx , nt .


Exerccio 12.8.3 1. Resolver numericamente a equao de Poisson uxx + uyy = 0
com as as seguintes condies sobre uma placa quadrada de comprimento 12, veja
figura.

2. Resolver numericamente a equao da onda unidimensional utt = 4uxx 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 t0 , t1 , t2 .


D. Andrade Clculo Numrico 273

3. Resolver numericamente pelo mtodo explicito a equao parablica

ut = uxx , 0 x 1, 0 t T
u(0, t) = 0
u(1, t) = 0
u(x, 0) = x(1 x))

Tome h = 31 e portanto, x0 = 0, x1 = 31 , x2 = 23 e x3 = 1. Tome t0 = 0, t1 = 1


,t
54 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 = 13 .

4. Resolver numericamente pelo mtodo explicito a equao do calor unidimensional

ut = uxx , 0 x 1, 0 t T
u(0, t) = 0
u(1, t) = 0
u(x, 0) = sin(x)

Tome xi = 5i , i = 0, 1, 2, 3, 4, 5 e tj = 1
100
,j = 0, 1, . . . , 50. Determine as solues para
estes nves de tempo t1 e t2 .
Notao

R nmeros reais
Q nmeros racionais
Z nmeros reais
N nmeros inteiros: {0, 1, 2, . . .}
C nmeros complexos
{. . . | . . .} conjunto de . . . tais que . . .
(x1 , x2 , . . . , xn , . . .) sequncia; como conjunto mas ordenados
(xn ) sequncia
V, W, U espaos vetoriais
A, M, N, L, U matrizes
~v, w~ vetores
~0, ~0V vetor nulo, vetor nulo de V
, bases
n = {~e1 , . . . , ~en } base cannica para Rn
~ ~
, base de vetores
Pn conjunto dos polinmios de grau n
Mm,n conjunto das matrizes m n
[S] espao gerado pelo conjunto S
M N soma direta de subespaos
[ai,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]
D. Andrade Clculo Numrico 275

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
Bibliografia

[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. Free-


man, 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.

276

Anda mungkin juga menyukai