You are on page 1of 171

Notas da disciplina Clculo Numrico A

Leonardo F. Guidi
30 de novembro de 2010
Instituto de Matemtica
Universidade Federal do Rio Grande do Sul
Av. Bento Gonalves, 9500
Porto Alegre - RS
3
4
Sumrio
1 Representao de nmeros em mquinas 9
1.1 Sistema de numerao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Mudana de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Aritmtica de mquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Representao de nmeros inteiros . . . . . . . . . . . . . . . . . . . . . . 13
1.2.2 Representao de nmeros com parte fracionria ponto-xo . . . . . . . 15
1.2.3 Representao de ponto utuante . . . . . . . . . . . . . . . . . . . . . . 16
1.2.4 Aritmtica de ponto utuante . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.5 Cancelamento catastrco . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.6 Padro IEEE754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.1 Origem dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.2 Conceitos iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.3 Propagao dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.4 Instabilidade numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2 Sistemas de equaes lineares 33
2.1 Mtodos diretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.1 Eliminao Gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.1.2 Estabilidade do mtodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1.3 Condicionamento em sistemas de equaes lineares . . . . . . . . . . . . . 40
2.2 Renamento iterativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3 Mtodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.1 Mtodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.2 Mtodo Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3 Equaes no lineares 53
3.1 Mtodos de quebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.1.1 Mtodo da bisseco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.1.2 Mtodo da falsa posio ou regula falsi . . . . . . . . . . . . . . . . . . . 59
3.2 Mtodos de ponto xo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2.1 Mtodo da iterao linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.2.2 Mtodo Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3 Mtodos de mltiplos pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5
Sumrio
3.3.1 Mtodo da secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4 Razes de polinmios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.5 Newton-Raphson modicado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson) . . . . . . . . . 68
3.7 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4 Derivao numrica 75
4.1 Extrapolao de Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5 Interpolao 83
5.1 Interpolao polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.1.1 Interpolao pelos polinmios de Lagrange . . . . . . . . . . . . . . . . . 85
5.1.2 Interpolao de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1.3 Erros de truncamento na interpolao por polinmios . . . . . . . . . . . . 91
5.2 Interpolao spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.1 Interpolao spline cbica . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6 Ajuste de mnimos quadrados 107
6.1 Ajuste de mnimos quadrados polinomial . . . . . . . . . . . . . . . . . . . . . . 107
6.2 Ajuste de mnimos quadrados por uma combinao linear de funes . . . . . . . . 111
6.3 Ajuste de mnimos quadrados por uma combinao linear de funes ortogonais . . 113
6.4 Ajustes no lineares redutveis ao caso linear . . . . . . . . . . . . . . . . . . . . 115
6.5 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7 Integrao numrica 119
7.1 Quadratura por interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.2 Quadraturas newtonianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.1 Regra do trapzio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.2.2 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.2.3 Regras de ordem superior . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.2.4 Regras compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.2.5 Mtodo de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.3 Quadratura gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8 Equaes Diferenciais Ordinrias 135
8.1 Mtodo da srie de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.2 Mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.3 Mtodo Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.4 Sistema de equaes diferenciais de 1 ordem . . . . . . . . . . . . . . . . . . . . 148
8.5 Mtodos de mltiplos passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.5.1 Mtodo de Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . . . . 149
6
Sumrio
8.5.2 Mtodo de Adams-Moulton . . . . . . . . . . . . . . . . . . . . . . . . . 150
8.6 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
9 Respostas de alguns exerccios 155
9.1 Captulo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.2 Captulo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.3 Captulo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
9.4 Captulo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
9.5 Captulo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9.6 Captulo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
9.7 Captulo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
9.8 Captulo 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
7
Sumrio
8
1 Representao de nmeros em mquinas
1.1 Sistema de numerao
Um sistema de numerao formado por uma coleo de smbolos e regras para representar con-
juntos de nmeros de maneira consistente. Um sistema de numerao que desempenhe satisfatori-
amente o seu propsito deve possuir as seguintes propriedades:
1. Capacidade de representar um conjunto de nmeros distintos de maneira padronizada.
2. Deve reetir as estruturas algbricas e aritmticas dos nmeros
O sistema mais utilizado o sistema de numerao posicional de base 10 ou sistema de numerao
base-10 o sistema decimal. Em um sistema de numerao posicional a posio relativa dos sm-
bolos guarda informao sobre o nmero que se quer representar. Mais especicamente, posies
adjacentes esto relacionadas entre si por uma constante multiplicativa denominada base do sistema
de numerao. Assim, cada smbolo em uma determinada posio contribui aditivamente com uma
quantidade dada pela multiplicao do valor numrico do smbolo pela base elevada ao expoente
dado pelo posio. Dessa forma, o numeral, formado por uma sequncia de smbolos, representa o
nmero calculado a partir da soma da contribuio conjunta de cada smbolo e de sua posio.
Denio (Sistemas de numerao base-b). Sistemas de numerao base-b. Dado um natural
1
b > 1, a coleo de smbolos , , e os algarismos
2
0, 1, . . . , b 1, o numeral
3
d
n
d
n1
d
1
d
0
.d
1

b
(1.1)
representa o nmero real positivo

jn
d
j
b
j
. (1.2)
Aplicando o sinal frente do numeral representamos os reais negativos.
Observao. Quando no h possibilidade de equvoco, dispensamos o subscrito 10 na represen-
tao decimal. Dessa forma, por exemplo, o numeral 1, 23
10
, ou simplesmente 1, 23, representa o
1
possvel construir sistemas de numerao cujas bases so inteiros negativos, nmeros irracionais e at com nmeros
complexos. Em particular, possvel construir sistemas de numerao binrios com base 1 + i ou 1 i (proposta
por Walter F. Penney em 1965). Esse tipo de sistema capaz de representar os nmeros complexos e pode ser
implementada em hardware, o leitor pode consultar o artigo:
Jamil, T The complex binary number system. IEEE Potentials 20: 3941 (2002).
2
Quando a base maior do que 10 utilizamos as letras maisculas A, B, C, . . . para representar os algarismos essa
a notao utilizada na base hexadecimal (base-16).
3
Por se tratar de nmeros reais, a sequncia sempre limitada esquerda e portanto n Z.
9
1 Representao de nmeros em mquinas
nmero 110
0
+210
1
+310
2
. Os algarismos 0 antes da vrgula tambm no so represen-
tados se no houver mais algum outro algarismo esquerda. O mesmo ocorre para os algarismos
zero direita aps a vrgula com exceo do uso nas cincias exatas quando faz-se necessrio re-
gistrar a preciso de alguma medida. Assim, evitamos notaes da forma 00 . . . 02, 3 para indicar
o racional
23
10
; o mesmo para notaes da forma 2, 30 . . . 00, com exceo dos casos em que se quer
indicar no o racional
23
10
mas uma medida com determinada preciso. Quando a representao de
um nmero possuir dzimas peridicas utiliza-se como notao uma barra sobre a sequncia que
se repete. Por exemplo,
1
3
representado como 0, 3 e
67
495
representado como 0, 135.
Os algarismos esquerda da vrgula formam a parte inteira do numeral, os demais formam a sua
parte fracionria. Os sistemas de numerao base-b. O sistemas de numerao base-b so capazes
de representar unicamente os nmeros inteiros, no entanto, o mesmo no verdade para nmeros
racionais. Por exemplo, o racional
11
10
possui as representaes 1, 1 e 1, 09.
1.1.1 Mudana de base
A partir das expresses (1.1) e (1.2) possvel construir o procedimento de mudana de bases. Seja,
ento, X um nmero representado na base b como d
n
d
n1
d
1
d
0
, d
1
. . .
b
. Encontrar a sua re-
presentao emuma outra base g signica encontrar a sequncia de algarismos

d
m

d
m1


d
1

d
0
,

d
1
. . .
g
tal que
X =

jm

d
j
g
j
.
A seguinte abordagem consiste em separar X nas suas as partes inteira e fracionria. Denomina-
mos a parte inteira de X como X
i
e, de acordo com (1.2), na nova base g
X
i
=
m

j=0

d
j
g
j
, (1.3)
de maneira semelhante, denominamos X
f
a parte fracionria de x:
X
f
=

j1

d
j
g
j
. (1.4)
Inicialmente vamos tratar da parte inteira. A diviso de X
i
por g d origem a dois termos:
X
i
g
=

d
0
g
+
m

j=1

d
j
g
j1
,
o primeiro termo no lado direito da expresso anterior uma frao, o segundo um nmero inteiro.
Entendendo a operao anterior como uma diviso ineira, podemos diuzer ento que a diviso de
X
i
por g (realizada na base b) possui

m
j=1

d
j
g
j1
(que estar representado na base b em que a
operao foi realizada) como quociente e

d
0
(tambm na base b) como resto. Portanto essa operao
de diviso inteira nos fornece o primeiro dgito da nova representao,

d
0
. Em seguida dividimos o
10
1.1 Sistema de numerao
segundo membro da igualdade anterior (ou seja, o quociente da diviso anterior) temos

m
j=1

d
j
g
j1
g
=

d
1
g
+
m

j=2

d
j
g
j2
.
E assim sucessivamente at encontrarmos o dgito

d
m
quando o quociente da ltima diviso for
nulo. Convm lembrar que ao iniciar o processo, conhecemos a representao de X
i
na base b, por-
tanto as operaes de diviso devem ser feitas na base b. Em resumo, iniciamos o procedimento
com a representao de X
i
na base b, em seguida devemos encontrar a representao de g na base
b. Uma vez encontrada essa representao, dividimos X
i
por g; o resto da diviso o primeiro
algarismo da representao de X
i
em base g o algarismo em si est representado na base b e o
quociente dever ser dividido novamente no passo seguinte.
Ao contrrio do que ocorre no procedimento para a mudana de base na parte inteira, a mudana
de base para a parte fracionria envolve operaes de multiplicao. A partir da expresso (1.4)
possvel observar que
g X
f
=

d
1
+

j=2

d
j
g
j+1
,
o que nos fornece o primeiro dgito da parte fracionria note que no lado direito da expresso
anterior o primeiro termo um inteiro e o segundo um fracionrio. Repetindo a operao com a
parte fracionria de g X
f
temos
g

j2

d
j
g
j+1
=

d
2
+

j3

d
j
g
j+2
.
E assim por diante recuperamos os termos da parte fracionria de X na base g. Aqui vale a mesma
observao do pargrafo anterior, as operaes de multiplicao devem ser realizadas na base b e
os dgitos obtidos esto representados na base b.
Exemplo: Vamos representar o numeral 53, 205
6
no sistema base-8. Nesse caso X
i
= 53
6
e
X
f
= 0, 205
6
. Para encontrar os dgitos da parte inteira na base 8 devemos realizar sucessivas
operaes de diviso por 8, como X
i
est representado na base 6, devemos realizar todas as
operaes nessa base
4
, ou seja vamos dividir por 12
6
(= 8
10
):
53
6
12
6
= 4
6
+
1
6
12
6
,
o resto da diviso, 1
6
o primeiro dgito (na base 6), na base 8 temos o mesmo dgito, ou seja,
4
Para facilitar as operaes conveniente utilizar uma tabela de multiplicaes em base 6 (tabuada em base 6):
1
6
2
6
3
6
4
6
5
6
1
6
1
6
2
6
3
6
4
6
5
6
2
6
2
6
4
6
10
6
12
6
14
6
3
6
3
6
10
6
13
6
20
6
23
6
4
6
4
6
12
6
20
6
24
6
32
6
5
6
5
6
14
6
23
6
32
6
41
6
11
1 Representao de nmeros em mquinas
1
8
. Em seguida, vamos dividir o quociente 4
6
:
4
6
12
6
= 0
6
+
4
6
12
6
,
aqui o resto da diviso 4
6
= 4
8
e o procedimento termina pois o quociente da diviso nulo.
Portanto a parte inteira representada pelo numeral 41
8
.
Encontramos a representao da parte fracionria atravs de operaes de multiplicao por 8
na base 6, ou seja, 12
6
:
0, 205
6
12
6
= 2, 50
6
= 2
6
+ 0, 50
6
,
a parte inteira da multiplicao 2
6
o primeiro dgito aps a vrgula, em base 8, 2
8
. Em seguida
multiplicamos a parte fracionria 0, 50
6
por 8, ou melhor, 12
6
:
0, 50
6
12
6
= 10, 50
6
= 10
6
+ 0, 50
6
,
a parte inteira que resulta da multiplicao 10
6
= 6
8
e a parte fracionria novamente assume
a mesma forma, 0, 50
6
. Isto nos permite concluir que a partir deste ponto sempre obteremos o
mesmo dgito. Portanto 0, 205
6
representa o mesmo nmero que 0, 26
8
. Combinando a parte
inteira e fracionria temos nalmente que 53, 205
6
= 41, 26
8
1.2 Aritmtica de mquina
No ocidente, a utilizao de umsistema posicional base-10 com algarismos indo-arbicos corrente
desde pelo menos o sculo XIV, no entanto, em outras culturas comum encontrarmos sistemas
ou pelo menos o seu reexo na linguagem base-5, base-8, base-12 e mesmo a utilizao ma-
temtica de sistemas posicionais base-20 (civilizao maia) e base-60 utilizada pelos sumrios e
babilnios com reexos at hoje na notao para medir ngulos em graus minutos e segundos e
nas unidades de tempo minuto e segundo
5
.
Tipicamente, um nmero inteiro armazenado em um processador como uma sequncia de d-
gitos binrios de comprimento xo denominada registro. Os processadores dispe de um ou mais
circuitos integrados denominados ALUs (plural de unidade lgica e aritmtica
6
) cujo papel reali-
zar esse tipo de operaes nos registros.
Os computadores digitais atuais, em quase sua totalidade, utilizam ALUs que representam in-
ternamente os nmeros em base-2 (base binria) e/ou base-10 e realizam operaes aritmticas
nessas bases
7
. No incio da computao eletrnica chegaram a ser construdas mquinas que re-
5
O leitor mas interessado deve ler o fascinante texto de Donald Knuth:
Knuth, D. E. The Art of Computer Programming, vol2. Seminumerical Algorithms, 3 edio. Addison-
Wesley, 1997.
em particular, o incio do captulo 4 sobre aritmtica.
6
Em lgua inglesa, arithmetic and logic unit que d origem ao acrnimo. As ALUs foram conceitualmente propostas em
1945 por John von Neumann com parte do computador EDVAC (Electronic Discrete Variable Automatic Computer),
um dos primeiros computadores eletrnicos binrios.
7
A imensa maioria dos processadores atuais possuem regsitros e realizam operaes em base binria. A exceo so
os processadores utilizados em calculadoras cientcas e os seguintes processadores fabricados pela IBM: POWER6,
12
1.2 Aritmtica de mquina
presentavam nmeros em base ternria (base-3)
8
. Apesar de sua maior ecncia e menor custo de
fabricao, o desenvolvimento foi interrompido devido crescente produo (e consequente bara-
teamento devido economia de escala) e desenvolvimento de componentes para a construo de
processadores binrios.
1.2.1 Representao de nmeros inteiros
Se todo o registro for utilizado para representar um inteiro no negativo a representao nica:
um registro de n bits da forma
d
n1
d
n2
d
n3
. . . d
2
d
1
d
0
representa o nmero (d
n1
d
n2
d
n3
. . . d
2
d
1
d
0
)
2
. Assim, possvel representar os nmeros intei-
ros entre 0 , representado por 000 . . . 000
2
at o inteiro representado por 111 . . . 111
2
:
111 . . . 111
2
= 2
n1
+ 2
n2
+ 2
n3
+ + 2
2
+ 2
1
+ 2
0
= 2
n
1.
Naturalmente, tambm necessrio representar tambm os inteiros com sinal. No entanto, exis-
tem diferentes maneiras de represent-los atravs de um registro binrio. Veremos trs das maneiras
mais comuns: representao com bit de sinal, representao complemento de um e a representao
complemento de dois.
Representao com bit de sinal
Essa forma de representao foi utilizada nas ALUs dos primeiro computadores digitais binrios
produzidos comercialmente
9
. Consiste na utilizao de um dos bits para o sinal. Geralmente, o bit
mais signicativo no registro (o primeiro esquerda) utilizado para esse m.
De acordo com essa representao, um registro de mquina formado por uma sequncia de 32
bits :
s d
30
d
29
. . . d
2
d
1
d
0
utilizado para representar o nmero binrio ((1)
s
d
30
d
29
. . . d
2
d
1
d
0
)
2
. Ou seja, a sequncia
unidades de processamento do Systemz9 e Systemz10. Esses processadores dispe de ALUs que permitemo registro
e operao em base-10.
8
O nico exemplo o computador SETUN desenvolvido em 1958 na Universidade Estatal de Moscou Lomnossov por
Sergei Sobolev e Nikolay Brusentsov. Essas mquinas foram criadas at 1965 e um novo modelo foi desenvolvido
em 1970, o SETUN-70. Detalhes podem ser obtidos em:
Klimenko, Stanislav V.: Computer science in Russia: A personal view. IEEE Annals of the history of computing,
v 21, n 3, 1999.
ogolev, Y. A.: The order code and an interpretative system for the Setun computer. USSR Comp. Math. And
Math. Physics (3), 1962, Oxford, Pergamon Press, p 563-578.
G. Trogemann, A. Y. Nitussov, W. Ernst (Hg.), Computing in Russia: The History of Computer Devices and
Information Technology revealed. Vieweg Verlag, July 2001.
Hunger, Francis: SETUN. An Inquiry into the Soviet Ternary Computer. Institut fr Buchkunst Leipzig, 2008,
ISBN 3-932865-48-0.
9
Um dos primeiros modelos de computador/maninframe fabricados pela IBM a partir de 1956, o IBM305 RAMAC
umcomputador no qual ainda eramempregadas vlvulas utilizava essa forma de representao de inteiros comsinal.
Um dos primeiros modelos transistorizados, o IBM1401 lanado em 1959, tambm utilizava essa representao.
13
1 Representao de nmeros em mquinas
binria de 32 dgitos (ou bits) s d
30
d
29
. . . d
2
d
1
d
0
capaz de representar todos os inteiros entre
2
31
+ 1 e 2
31
1 (2147483647 e 2147483647) na forma
(1)
s
_
d
0
2
0
+d
1
2
1
+. . . +d
30
2
30
_
.
Nesse caso o maior inteiro representvel dado numeral I
max
= 011 . . . 11
2
. Portanto
I
max
= (1)
0
_
1 + 2
1
+ 2
2
+. . . + 2
30
_
= 2
31
1 = 2.147.483.647.
Levando em conta os nmeros negativos e que o zero possui duas representaes possveis (como 0
e 0), essa disposio de dados no registro permite representar os 2
32
1 inteiros entre
_
2
31
1
_
e 2
31
1.
Essa tcnica de registro comn bits permite armazenar em uma mquina todos os 2
n
1 nmeros
inteiros entre
_
2
n1
1
_
e 2
n1
1.
Se em uma operao de soma ou subtrao o resultado for um nmero que no pode ser armaze-
nado nos registros ocorre um erro conhecido como overow. Nesse caso a mquina deve ser capaz
de reconhecer o evento e enviar uma mensagem de erro se no o zesse, poderia retornar um
nmero truncado que no corresponde ao resultado correto da operao programada.
Representao complemento de um
Consiste na utilizao de um registro de n bits da seguinte forma: o primeiro bit representa um
termo aditivo
_
2
n1
1
_
e o restante dos bits representam um inteiro no negativo. Assim um
registro n bits da forma
d
n1
d
n2
d
n3
. . . d
2
d
1
d
0
representa o inteiro (d
n2
d
n3
. . . d
2
d
1
d
0
)
2
d
n1
_
2
n1
1
_
.
O nome da representao advm do fato de que nessa representao, os dgitos do inverso aditivo
de um nmero so obtidos atravs do seu complemento reduzido de base
10
no sistema binrio. Essa
operao equivale tambm a tomar os complementos reduzidos de base dos dgitos separadamente.
Essa representao contm os inteiros entre
_
2
n1
1
_
e 2
n1
1. O zero possui tambm
duas representaes: 111 . . . 11
2
e 000 . . . 00
2
.
Exemplos:
O registro de 8 bits
0 1 0 0 0 1 1 0
representa o inteiro 1000110
2
0
_
2
7
1
_
= 70.
O registro de 8 bits
1 0 1 1 1 0 0 1
representa o inteiro 0111001
2
1
_
2
7
1
_
= 57 127 = 70. Comparando os dois regis-
tros, podemos notar que o segundo obtido a partir do primeiro trocando-se os dgitos 1 por 0 e
10
O complemento reduzido de base de um inteiro y com n dgitos no sistema base-b denido como (b
n
1) y.
Assim, no sistema binrio, o complemento reduzido de base de 0 1 e vice-versa.
14
1.2 Aritmtica de mquina
vice-versa
11
. Essa forma de representao tambm foi utilizada em ALUs de computadores mais
antigos
12
.
Representao complemento de dois
A representao complemento de dois a representao mais utilizada nas ALUs dos processado-
res atuais por garantir uma maior simplicidade no desenho de circuitos para operaes lgicas e
aritmticas. Consiste na utilizao de um registro de n bits da seguinte forma: o primeiro bit repre-
senta um termo aditivo 2
n1
e o restante dos bits representam um inteiro no negativo. Assim um
registro n bits da forma
d
n1
d
n2
d
n3
. . . d
2
d
1
d
0
representa o inteiro (d
n2
d
n3
. . . d
2
d
1
d
0
)
2
d
n1
2
n1
.
Nessa representao, o registro do inverso aditivo de um nmero obtido a partir do seu comple-
mento de base
13
.
Essa representao contm os inteiros entre 2
n1
e 2
n1
1 e ao contrrio das anteriores, o
zero unicamente representado por 000 . . . 00
2
.
Exemplos:
O registro de 8 bits
0 1 0 0 0 1 1 0
representa o inteiro 1000110
2
0
_
2
7
_
= 70.
O registro de 8 bits
1 0 1 1 1 0 1 0
representa o inteiro 0111010
2
1
_
2
7
_
= 58128 = 70. Comparando os dois registros, podemos
notar que o registro do inverso aditivo de um nmero obtido trocando-se os dgitos 1 por 0 e vice-
versa e adicionando 1 ao resultado.
1.2.2 Representao de nmeros com parte fracionria ponto-xo
possvel estender a tcnica utilizada na representao dos inteiros para representar com preciso
nita, nmeros que possuam parte fracionria. Dados dois inteiros positivos p e q, interpretamos
um registro de n = p + q + 1 bits como a diviso por 2
q
do inteiro de n bits na representao
complemento de dois. Vamos simbolizar tal registro como R(p, q).
Dessa forma, um registro de 32 bits R(15, 16):
d
31
d
30
d
29
. . . d
2
d
1
d
0
11
Ou seja, a operao lgica no aplicada a cada bit.
12
Entre eles o PDP-1 lanado em 1960 pela Digital Equipament Corporation, um computador muito utilizado nos depar-
tamentos de cincias exatas de vrias universidades (como o MIT, onde em 1961 Steve Russell, Martin Graetz and
Wayne Wiitanen apresentaram o primeiro game programado em um computador digital, o Spacewar!); e o modelo
160A da Control Data Corporation lanado em 1960 a partir do projeto desenvolvido por Seymor Cray (anos mais
tarde ele fundaria a Cray Corporation, famosa por seus supercomputadores).
13
O complemento de base de um inteiro y com n dgitos no sistema base-b denido como b
n
y.
15
1 Representao de nmeros em mquinas
representa o nmero
_
(d
30
d
29
. . . d
2
d
1
d
0
)
2
d
31
2
31
_
2
16

_
(d
30
d
29
. . . d
17
d
16
)
2
d
31
2
15
_
. .
parte inteira
+(0, d
15
d
14
. . . d
1
d
0
)
2
. .
parte fracionria
Esse tipo de representao de nmeros conhecido com representao de ponto-xo. De forma
geral, utilizando p + 1 bits para representar a parte inteira e q bits para a parte fracionria podemos
representar os nmeros fracionrios no intervalo [2
p1
, 2
p1
2
q
] em intervalos igualmente
espaados de 2
q
. Em mdulo, o menor nmero representvel tambm possui esse valor. Se em
alguma operao o resultado for um nmero menor em mdulo que 2
q
dizemos que ocorreu um
erro de underow, em particular a regio compreendida pelo intervalo (2
q
, 2
q
) denominada
regio de underow. Da mesma maneira, se o resultado de alguma operao for maior que 2
p1

2
q
ou menor do que 2
p1
, dizemos que ocorreu um erro de overow e a regio (, 2
p1
)
(2
p1
2
q
, +) denominada regio de overow.
A representao em ponto xo possui a vantagem de oferecer uma representao para nme-
ros com parte fracionria que podem ser trabalhados dentro de ALUs, ou seja, possvel realizar
operaes aritmticas com nmeros no inteiros atravs de circuitos integrados de fabricao sim-
ples. Por esse motivo ela utilizada em sistemas onde a simplicidade de fabricao e operao so
fundamentais.
Entretanto, os registros de ponto xo possuem a desvantagem de representar nmeros distintos
com preciso diferente. Por exemplo os nmeros 9999, 1234 e 0, 0012113 so representados em
base 10 com 4 dgitos para a parte inteira e 4 dgitos para a parte fracionria da seguinte forma:
9999, 1234 e 0, 0012. Enquanto que no primeiro caso o nmero representado com oito dgitos,
o segundo dispe de apenas dois dgitos para represent-lo. Essa assimetria na representao em
ponto xo, caracterizada pela maior preciso com que os nmeros de maior valor absoluto so
registrados, motiva a introduo da representao de ponto utuante.
1.2.3 Representao de ponto utuante
Denio (ponto utuante). A representao x de um nmero real denominada ponto utuante
normalizado na base b, b N, se forem satisfeitas as propriedades
1. x = mb
e
, onde
2. m = 0, d
1
d
2
. . . d
n
n N,
3. 1 d
1
b 1 e 0 d
i
b 1 para i = 2, 3, . . . n,
4. e
1
e
2
, onde , e
1
, e
2
Z.
m denominada signicando
14
, expoente e n o nmero de dgitos de preciso.
Exemplo: O nmero 9999, 1234 em representao de ponto utuante em base 10 com 8 dgi-
tos de preciso 0, 99991234 10
4
. Utilizando essa mesma prescrio, o nmero 0, 0012113
representado como 0, 12113131 10
2
.
14
Tambm conhecido como coeciente, ou ainda, mantissa.
16
1.2 Aritmtica de mquina
Em uma representao de ponto utuante normalizado, o primeiro algarismo aps a vrgula
necessariamente maior ou igual a 1. Portanto o nmero zero est fora dos casos cobertos pela de-
nio de ponto utuante. Usualmente o inclumos em um conjunto denominado sistema de ponto
utuante onde possui a representao 0, 00 . . . 0 b
e
. O sistema de ponto utuante F(b, n, e
1
, e
2
)
denido como o conjunto de nmeros que inclui o zero e os pontos utuantes em base b com n
dgitos de preciso e expoente que pode variar entre e
1
e e
2
inclusive.
Propriedades do conjunto F(b, n, e
1
, e
2
)
Ao contrrio do que ocorre com os nmeros representados por um esquema de ponto xo, os
elementos sucessivos do conjunto F(b, n, e
1
, e
2
) no so igualmente espaados. Para exemplicar
essa propriedade vamos considerar o sistema dado pelo conjunto F(10, 2, 10, 10). De acordo
com a denio, o elemento positivo mais prximo de zero o numeral 0, 10 10
10
, o numeral
seguinte 0, 11 10
10
e assim por diante at o numeral 0, 99 10
10
. O espaamento entre
eles
15
de 0, 01 10
10
. Aps o numeral 0, 99 10
10
, vm os numerais 0, 1 10
9
, 0, 11
10
9
, . . . , 0, 99 10
9
. Agora o espaamento j 0, 01 10
9
e assim por diante at os maiores
numerais 0, 10 10
10
, . . . , 0, 99 10
10
cujo espaamento 0, 01 10
10
. Portanto os elementos esto
mais densamente acumulados em torno do zero.
A cardinalidade de um sistema de ponto utuante F(b, n, e
1
, e
2
) dada por [F(b, n, e
1
, e
2
)[:
[F(b, n, e
1
, e
2
)[ = 1 + 2(b 1)b
n1
(e
2
e
1
+ 1). (1.5)
A cardinalidade do conjunto calculada a partir de todas as combinaes possveis para a represen-
tao de um numeral como elemento de F(b, n, e
1
, e
2
), somadas ao elemento zero que no pode
ser representado segundo a denio de ponto utuante usual. O primeiro termo do lado direito de
(1.5) deve-se ao zero. O fator 2 deve-se ao sinal. O fator (b 1) deve-se aos possveis valores que
o dgito d
1
pode assumir. O fator b
n1
deve-se combinao dos b possveis valores que os dgitos
d
2
, . . ., d
n
podem assumir. E nalmente, o fator (e
2
e
1
+ 1) deve-se aos possveis valores que o
expoente pode assumir.
Arredondamento
O operao de arredondamento consiste em encontrar um representao x para um nmero x com
uma determinada preciso. Essa operao usualmente realizada em mquinas para representar
internamente os nmeros e o resultado de operaes aritmticas realizadas sobre eles. No h uma
nica forma de realizar o arredondamento e, de acordo com a aplicao, existem algoritmos mais
convenientes. Vamos discutir os 5 mais comuns.
Seja um nmero x representado por (0, d
1
d
2
. . .)
b
b
e
que pretendemos arredondar para o
ponto utuante com k dgitos de preciso (0, d
1
d
2
. . .

d
k
)
b
b
e
. O arredondamento pode ser
entendido como uma regra que atribui um valor para

d
k
a partir dos valores de d
k1
, d
k2
, . . .
15
Note que a diferena entre esses primeiros numerais menor do que o menor numeral representvel pelo sistema, ou
seja, se for realizada uma operao de subtrao em ponto utuante entre quaisquer dois elementos consecutivos o
resultado ser nulo.
17
1 Representao de nmeros em mquinas
A partir da sequncia de numerais em base decimal
0, 45 ; 0, 44 ; 0, 36 ; 0, 35 ; 0, 34 ; 0, 34 ; 0, 35 ; 0, 36 ; 0, 44 ; 0, 45 ; 0, 46
vamos estudar a ao dos procedimentos de arredondamento.
1. Arredondamento por truncamento ou no sentido do zero: os dgitos sobressalentes so des-
cartados. O algoritmo possui esse nome pois o seu efeito aproximar os nmeros do zero.
Regra:

d
k
= d
k
Sequncia arredondada:
0, 4 ; 0, 4 ; 0, 3 ; 0, 3 ; 0, 3 ; 0, 3 ; 0, 3 ; 0, 3 ; 0, 4 ; 0, 4 ; 0, 4.
2. Arredondamento no sentido oposto ao do zero: o dgito d
k
arredondado para o algarismo
seguinte se os dgitos sobressalentes forem no nulos. O algoritmo possui esse nome pois o
seu efeito afastar os nmeros do zero.
Regra:

d
k
=
_
d
k
, se d
k1
= d
k2
= . . . = 0
d
k
+ 1, se existir um j < k tal que d
j
,= 0
Sequncia arredondada:
0, 5 ; 0, 5 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 5; 0, 5; 0, 5.
3. Arredondamento no sentido de +: o penltimo dgito arredondado para o algarismo
seguinte se o numeral for positivo e os dgitos sobressalentes forem no nulos. Se o numeral
for negativo e os dgito sobressalentes forem no nulos, o dgito d
k
mantido. O algoritmo
possui esse nome pois o seu efeito deslocar os nmeros de um valor maior ou igual a zero
(ou seja no sentido de +).
Regra:

d
k
=
_

_
d
k
, se d
k1
= d
k2
= . . . = 0
d
k
+ 1, se x > 0 e existir um j < k tal que d
j
,= 0
d
k
, se x < 0
Sequncia arredondada:
0, 4 ; 0, 4 ; 0, 3 ; 0, 3 ; 0, 3 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 5 ; 0, 5 ; 0, 5.
4. Arredondamento no sentido de : o penltimo dgito mantido se o numeral for positivo
e os dgitos sobressalentes forem no nulos. Se o numeral for negativo e os dgitos sobressa-
lentes forem no nulos, o dgito d
k
arredondado para o algarismo seguinte. O algoritmo
possui esse nome pois o seu efeito deslocar os nmeros de um valor menor ou igual a zero
(ou seja, no sentido de ).
18
1.2 Aritmtica de mquina
Regra:

d
k
=
_

_
d
k
, se d
k1
= d
k2
= . . . = 0
d
k
+ 1, se x < 0 e existir um j < k tal que d
j
,= 0
d
k
, se x > 0
Sequncia arredondada:
0, 5 ; 0, 5 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 3 ; 0, 3 ; 0, 3 ; 0, 4 ; 0, 4 ; 0, 4.
5. Arredondamento par (base par): o dgito d
k
arredondado para o algarismo seguinte se
os dgitos sobressalentes na forma (0, d
k1
d
k2
. . .)
b
representarem um nmero maior do
que
1
2
. Se representarem um nmero menor do que
1
2
o dgito d
k
mantido. Se d
k1
for exatamente igual a
b
2
e todos os seguintes forem nulos ou seja, se (0, d
k1
d
k2
. . .)
b
representar
1
2
d
k
ser arredonddado para o dgito seguinte se este for par e mantido caso
contrrio.
Regra:

d
k
=
_

_
d
k
, se d
k1
= d
k2
= . . . = 0
d
k
+ 1, se 0, d
k1
d
k2
. . . > 0, 5
d
k
, se 0, d
k1
d
k2
. . . < 0, 5
d
k
+ 1, se 0, d
k1
d
k2
. . . = 0, 5 e d
k
for mpar
d
k
, se 0, d
k1
d
k2
. . . = 0, 5 e d
k
for par
Sequncia arredondada:
0, 4 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 3 ; 0, 3 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 4 ; 0, 5
1.2.4 Aritmtica de ponto utuante
As operaes aritmticas com pontos utuantes, simbolizadas pelos termos , , e , e de-
nidas sobre elemntos de um mesmo sistema de ponto utuante, retornam sempre um elemento
desse mesmo sistema. Idealmente as operaes so realizadas como se os potnos utuantes fossem
nmeros reais e ento utilizada uma operao de arredondamento para que o resultado seja um
elemento do sistema de ponto utuante.
Um outra propriedade importante dos pontos utuantes diz respeito s propriedades algbricas
que ao contrrio dos reais, racionais e inteiros, em geral no so vlidas. Vamos representar as
operaes de adio, subtrao, multiplicao e diviso em ponto utuante, respectivamente, pelos
smbolos , , , . Dados trs numeros com representao em ponto utuante x, y e z, em
geral
x y ,= x +y,
x y ,= x y,
(x y) z ,= x (y z),
x (y z) ,= (x y) (x z).
19
1 Representao de nmeros em mquinas
Exemplo: Sejamx = 0, 110
3
e y = z = 0, 110
10
, elementos do conjunto F(10, 3, 10, 10).
Ento
x (y z) = 0, 1 10
3
(0, 1 10
10
0, 1 10
10
)
= 0, 1 10
3
0, 0 10
0
= 0, 1 10
3
,
por outro lado
(x y) z = (0, 1 10
3
0, 1 10
10
) 0, 1 10
10
= 0, 1 10
10
0, 1 10
10
= 0, 0 10
0
.
1.2.5 Cancelamento catastrco
um efeito presente nas operaes em ponto utuante, caracterizado pelo aumento signicativo do
erro relativo no resultado da operao. O cancelamento catastrco pode ser vericado principal-
mente na operao de subtrao de dois pontos utuantes muito prximos.
Exemplo: Vamos considerar a operao em ponto utuante associada subtrao dos nme-
ros racionais 0, 9876543210423456789 e 0, 9876543209. Se os registros forem de 10 dgitos,
a representao dos dois nmeros ser respectivamente
0, 9876543210 e 0, 9876543209.
A diferena exata entre os dois nmeros de
0, 1423456789 10
9
enquanto que o resultado da operao de diferena em ponto utuante
0, 100000000 10
9
.
O erro relativo aproximadamente 0, 3.
Um outro exemplo clssico o das razes de uma equao polinomial de segundo grau.
Exemplo: Seja a equao de segundo grau
x
2
+ 400x 0.00004617 = 0.
Essa equao possui duas razes reais, uma prxima a 400 e outra prxima a 0. As razes so
dadas exatamente por
400
_
400
2
+ 4 0, 00004617
2
e
400 +
_
400
2
+ 4 0, 00004617
2
.
20
1.2 Aritmtica de mquina
A sequncia de operaes em ponto utuante utilizada para calcular as razes dada por
(b sqrt ((b b) (4, 000000000 c))) 2, 000000000
e
(b sqrt ((b b) (4, 000000000 c))) 2, 000000000,
onde b = 0, 4000000000 10
3
e c = 0.4617000000 10
4
. Substituindo os valores e
realizando as operaes, obtemos
(b sqrt ((b b) (4, 000000000 c))) 2, 000000000
=
_
0, 4000000000 10
3
sqrt
_
0, 1600000000 10
6
0, 1846800000 10
3
__
0, 2000000000 10
1
=
_
0, 4000000000 10
3
sqrt
_
0, 1600000002 10
6
__
0, 2000000000 10
1
=
_
0, 4000000000 10
3
0, 4000000002 10
3
_
0, 2000000000 10
1
= 0, 4000000001 10
3
,
Realizando as operaes para a outra raiz, obtemos o valor 0, 1000000000 10
6
. O va-
lor da primeira raiz com os dezesseis primeiros dgitos exatos 400, 0000001154249 . . . e
h concordncia com os dez primeiros dgitos obtidos na operao em ponto utuante. O
mesmo no ocorre com a segunda raiz. Neste caso, o valor com dezesseis dgitos exatos
0, 1154249999666926 . . . 10
6
e, exceo do primeiro dgito, todos os seguintes diferem
o que caracteriza o cancelamento catastrco.
A inexatido no clculo da segunda raiz pode ser diminuda consideravelmente se manipu-
larmos a expresso de maneira a evitar a subtrao de dois pontos utuantes muito prximos.
Analisando a expresso para a segunda raiz, podemos vericar que a operao inexata a sub-
trao presente na soma dos termos b e

b
2
4c. Neste exemplo, em valores absolutos, b
muito maior que c, portanto a representao em ponto utuante do termo

b
2
4c partilha
muitos dgitos em comum com a representao de b.
Evitamos o cancelamento catastrco em ponto utuante realizando o cancelamento na pr-
21
1 Representao de nmeros em mquinas
pria expresso, antes de realizarmos as operaes em ponto utuante
16
:
b +
_
b
2
4c =
= b +[b[
_
1
4c
b
2
= b +[b[
_
1
2c
b
2
+. . .
_
b +[b[
_
1
2c
b
2
_
Como b > 0, a segunda raiz pode ser calculada a partir da aproximao
17
b +

b
2
4c
2

c
b
.
Substituindo os valores das constantes b, c e realizando as operaes em ponto utuante, obte-
mos a aproximao 0, 1154250000 10
6
que possui um erro muitas vezes menor.
1.2.6 Padro IEEE754
O padro IEEE754 (a sigla se refere ao Institute of Electrical and Electronics Engineers) foi desen-
volvido com o objetivo de unicar as diversas implementaes em mquina de registros e operaes
em ponto utuante. A maioria dos processadores atuais possuem unidades especializadas, deno-
minadas FPUs (Unidades de Ponto Flutuante)
18
que suportam o padro IEEE754 ou pelo menos
suportam um subconjunto obrigatrio das denies
19
.
Alm dos numerais em ponto utuante, o padro prev que o registro pode conter informao
sobre +, , +0, 0, numerais subnormais (menores do que o usualmente suportado em uma
notao F(2, n, e
2
, e
1
)) e os NaN (not a number reservado para operaes ilegais como razes
de nmeros negativos).
O padro prev quatro tipos de registros: registros de 32 bits denomindos pontos utuantes de
preciso simples, registros de 43 ou mais bits para preciso simples estendida, registros de 64 bits
para preciso dupla e registros de 79 ou mais bits para preciso dupla estendida. A implementao
de preciso simples obrigatria, as demais so opcionais.
A ttulo de ilustrao, vale a pena estudar os registros de preciso simples.
Os 32 bits do registro de um numeral em preciso simples so divididos de acordo com o dia-
16
Na passagem da segunda para a terceira linha, foi realizada um expanso em srie de potncias para o termo

1 x
em torno de x = 0. Ou seja, levamos em considerao que o termo
4c
b
2
pequeno.
17
Obtemos uma aproximao mais exata se levarmos em considerao os termos de ordem superior na expanso em
srie de potncias. Porm, como os pontos utuantes deste exemplo armazenam apenas dez dgitos, a incluso dos
termos adicionais no altera o resultado da operao (o leitor pode vericar esse fato).
18
Em lngua inglesa, Floating Point Units.
19
Ao contrrio das ALUs que tambm esto presentes nos circuitos de calculadoras cientcas, o uso de FPUs mais
comum em processadores para computador. Por exemplo, os modelos de processadores da Intel anteriores ao 486DX
no possuiam uma unidade FPU prpria (apesar de ser possvel a instalao de uma FPU independente no computa-
dor).
22
1.2 Aritmtica de mquina
grama a abaixo,
s e
07
. . . e
00
m
22
. . . m
00
o bit s responsvel pelo sinal, os bits e
07
e
06
. . .e
00
representam o expoente e nalmente os bits
m
22
m
21
. . .m
00
representam o signicando. Com os 8 bits do expoente podemos representar intei-
ros entre 0 e 255, no entanto os registros relativos ao 0 (00000000) e 255 (11111111) so reservados
para uso especial, sobram portanto os inteiros entre 1 e 254. Segundo o padro, o inteiro relativo ao
expoente est deslocado de 127, ento os 8 bits permitem representar os valores inteiros entre 126
e 127. Os 23 bits restantes so utilizados para representar o signicando com 24 dgitos binrios
(j que o primeiro dgito sempre igual a 1 em uma base binria, no h necessidade explcita de
armazen-lo no registro e com isso ganha-se um bit extra) com uma diferena: no padro IEEE754
os pontos utuantes normalizados comeam com o primeiro dgito esquerda posicionado antes
da vrgula. Portanto o registro de 32 bits capaz de armazenar os elementos no nulos do sistema
F(2, 24, 126, 127) e mais os casos especiais:
1. zeros: bits do expoente e do signicando todos nulos. O bit de sinal pode ser igual a 0 ou 1,
ou seja, h uma representao para +0 e 0.
2. subnormais: bits do expoente todos nulos e os do signicando e sinal guardam informao
sobre o subnormal.
3. innitos: bits do expoente todos iguais a 1 e os do signicando iguais a 0. O bit de sinal pode
ser igual a 0 ou 1, ou seja, h uma representao para +e .
4. NaN: bits do expoente todos iguais a 1 e os demais bits contm informao de diagnstico.
Exemplo: Vamos encontrar o registro equivalente ao numeral 1345, 875. O primeiro passo
representar o nmero na base binria:
1345, 875 = 10101000001, 111
2
.
Em seguida vamos reescrev-lo como um ponto utuante normalizado: 1, 0101000001111
2
10
. Ignoramos o 1 antes da vrgula e adicionamos tantos 0 direita quantos forem necessrios
para preencher os 23 bits, dessa forma encontramos os bits do signicando:
01010000011110000000000.
O expoente vale 10, com o deslocamento de 127, o inteiro a ser representado pelos bits do
expoente o 137 = 10001001
2
. O bit de sinal igual a 0 pois o nmero positivo. O registro
de 32 bits completo dado por
01000100101010000011110000000000.
23
1 Representao de nmeros em mquinas
1.3 Erros
O principal propsito da computao cientca a construo de mtodos que permitam obter apro-
ximaes numricas para um dado objeto cujo valor exato seja impossvel ou muito difcil de ser
obtido. fundamental que esse mtodos produzam as aproximaes do modo mais eciente e
acurado possvel(muitas vezes necessrio chegar a um balano aceitvel entre essas duas propri-
edades). Tal objetivo sp pode ser alcanado se as diferentes fontes de erro forem controladas.
1.3.1 Origem dos erros
Os resultados obtidos atravs de mtodos numricos podem ser afetados por muitos tipos de erros.
Enquanto alguns deles podem ser difceis de serem controlados, outros podem ser mitigados ou
mesmo eliminados atravs de uma conveniente modicao do mtodo.
De maneira geral, podemos classicar os erros que afetam o resultado de um procedimento com-
putacional como erros nos dados de entrada, erros de arredondamento e erros de truncamento.
Os erros nos dados de entrada so aqueles relacionados alguma medida fsica. Os aparelhos
utilizados para medio sempre possuem uma preciso nita em geral no muito grande quando
comparada preciso que possvel ser obtida na representao de nmeros em mquinas e nem
sempre possvel melhor-la consideravelmente.
Os erros de truncamento so os mais comuns em algoritmos numricos. Ocorrem quando, de
alguma maneira, necessrio aproximar um procedimento formado por uma sequncia innita de
passos atravs de um outro procedimento nito.
Os erros de arredondamento so aqueles relacionados s limitaes que existem na forma de
representar nmeros em mquinas.
Qualquer que seja a natureza do erro, o mtodo numrico utilizado em um dado problema deveria
ser capaz de estimar as suas consequncias sobre o resultado: os dados de sada. Vamos discutir
nesta seo como propagar e controlar essa incerteza presente nos valores nas diversas operaes
prprias a um procedimento computacional. Devido ao seu carter, os erros de truncamento sero
estudados em conjunto com os algoritmos que os geram.
1.3.2 Conceitos iniciais
Seja x um nmero que se conhece exatamente e x uma representao nita, ou aproximao, de x,
por exemplo x = e x = 3, 14159, ou ainda x =
1
3
e x = 0, 333. Ento denimos erro absoluto e
erro relativo como:
Denio (Erro absoluto e erro relativo). O erro absoluto na representao x denido por [x
x[. O erro relativo denido como
[x x[
[x[
.
Em uma mquina, denominamos preciso o nmero de dgitos no signicando. Por outro lado,
como o prprio nome diz, a exatido de uma aproximao uma medida de quanto ela est prxima
do valor exato. Uma maneira de estimar a exatido utiliza o conceito de dgitos exatos de uma
representao.
24
1.3 Erros
Proposio (Dgitos exatos de x)
Seja a aproximao x de um nmero x em base b. O nmero de dgitos exatos em x um nmero
natural k que satisfaz as desigualdades
log
b
_

x x
x

_
1 < k < log
b
_

x x
x

_
+ 1
Atravs dessas denies podemos apreciar a diferena entre os conceitos de preciso e exatido
de uma representao x.
Demonstrao: Seja x um nmero
20
representado pelo numeral 0, d
1
d
2
. . . b
e
e sua
aproximao x, representada por um ponto utuante normalizado com n dgitos de preciso
dos quais apenas os k iniciais so iguais oas de x: 0, d
1
d
2
. . . d
k

d
k1
. . .

d
n
b
e
, ou seja,
necessariamente d
k1
,=

d
k1
.
Podemos vericar que x e x podem ser tambm representados por
x = 0, d
1
d
2
. . . d
k
b
e
+ 0, d
k1
d
k2
. . . b
ek
e
x = 0, d
1
d
2
. . . d
k
b
e
+ 0,

d
k1

d
k2
. . .

d
n
b
ek
.
O menor valor absoluto para a diferena
21
entre eles dado pela situao em que d
k1
e

d
k1
diferem de uma unidade, todos os demais dgitos at o n-simo so iguais e d
j
= 0 para
j > n. Portanto
[x x[ 0, 1
b
b
ek
= b
ek1
.
Por outro lado, o maior valor absoluto para dado pela situao limite em que todos os dgitos

d
k1
,

d
k2
, . . .

d
n
= 0 e todos os dgitos d
k1
, d
k2
, . . . = b 1. Portanto
[x x[ < 0, (b 1)(b 1) . . .
b
b
ek
=
_
(b 1)b
1
+ (b 1)b
2
+. . .
_
b
ek
=
_
1
1
b
+
1
b

1
b
2
+. . .
_
b
ek
= b
ek
.
Essas estimativa nos permite estabelecer limites inferiores e superiores para o erro relativo:
b
ek1
[0, d
1
d
2
. . . b
e
[

[x x[
[x[
<
b
ek
[0, d
1
d
2
. . . b
e
[
.
Levando em conta que [0, d
1
d
2
. . . b
e
[ 0, 1
b
b
e
= b
e1
e que [0, d
1
d
2
. . . b
e
[ <
20
Sem perda de generalidade, consideramos x e x positivos.
21
Aqui a operao de diferena a usual para os nmeros reais.
25
1 Representao de nmeros em mquinas
0, (b 1)(b 1) . . .
b
b
e
= b
e
, temos nalmente que
b
k1
<

x x
x

< b
k+1
.
Como todas as quantias na expresso acima so positivas e a funo logaritmo montona :
k 1 < log
b

x x
x

< k + 1

Exemplo: Seja x = e x = 3, 141675 = 0, 3141675 10


1
. Nesse caso a preciso da
representao x de 7 dgitos, no entanto x possui apenas 4 dgitos exatos. Se conhecssemos
apenas o erro relativo
[x x[
x
0, 0000262117, de acordo com a proposio, teramos que
o nmero de dgitos exatos um natural k tal que 3.58151... < k < 5, 58151..., ou seja,
poderamos concluir que x possui entre 4 e 5 dgitos exatos.
1.3.3 Propagao dos erros
Vamos assumir que x uma aproximao de um nmero x, sem perda de generalidade, vamos
supor que x > x. Se quisermos encontrar o valor da funo f calculada em x mas s dispormos de
x devemos aproximar f(x) por f( x). Se a funo f for diferencivel, pelo teorema do valor mdio
existe um ( x, x):
f(x) f( x) = f

()(x x).
Porm o teorema no diz nada sobre alm de sua existncia. Para estimar o erro cometido na
aproximao f( x) devemos utilizar mais informaes sobre a funo f. Por exemplo, se soubermos
que a derivada de f limitada no intervalo ( x, x), sup
y( x,x)
[f

(y)[ = M, ento temos que


[f(x) f( x)[ = [f

()[ [x x[ M[x x[.


Mesmo que no sejamos capazes de determinar o valor mximo da derivada da funo f no in-
tervalo ( x, x), ainda podemos considerar o caso em que [ x x[
.
= x pequeno. Nesse caso, se
f

( x) ,= 0 e f

no varia muito rapidamente na vizinhana de x ento como x muito pequeno


podemos considerar M f

( x) na expresso acima, dessa forma


f( x)
.
= [f(x) f( x)[ f

( x)[x x[ = f

( x) x.
Um procedimento semelhante pode ser utilizado no caso de funes que dependam de duas ou
mais variveis. Seja o erro na i-sima varivel x
i
de umfuno f que dependa de n variveis, ento
o erro propagado na funo f resultado dos erros nas n variveis dado por f( x
1
, x
2
, . . . , x
n
):
f( x
1
, x
2
, . . . , x
n
)
n

i=1

f
x
i
( x
1
, x
2
, . . . , x
n
)

x
i
.
26
1.3 Erros
1.3.4 Instabilidade numrica
Alguns problemas matemticos e algoritmos numricos possuem a propriedade de ampliar drastica-
mente os erros presentes nos dados de entrada e assim invalidar a sada ou resposta. No contexto do
clculo numrico, esse fenmeno denominado instabilidade numrica. A instabilidade numrica
pode estar relacionada s propriedades matemticas do problema ou ento estrutura do algoritmo
utilizado para resolv-lo. De qualquer maneira, ao estudar um problema que pretendemos reescre-
ver numericamente imprescindvel a anlise de estabilidade do algoritmo ou o condicionamento
do problema matemtico.
Dizemos que um problema mal condicionado quando pequenas variaes nos dados de entrada
resultam em grandes variaes na resposta. O seguinte exemplo ilustrativo.
Exemplo: Seja o polinmio
22
P(x) = (x1)(x2) . . . (x20) = x
10
210 x
9
+. . . +20!.
Ou seja, P um polinmio em x com razes inteiras 1, 2, 3, . . . , 20.
Vamos considerar agora o polinmio

P:

P(x) = P(x) + 2
23
x
19
.
Ou seja,

P igual P a menos de um erro relativo de 5, 7 10
10
no coeciente do termo x
9
.
As razes do polinmio

P so (com cinco dgitos)
x
1
= 1, 0000 . . . x
6
= 5.9999 . . .
x
2
= 2, 0000 . . . x
7
= 7, 0003 . . .
x
3
= 3, 0000 . . . x
8
= 7, 9930 . . .
x
4
= 4, 0000 . . . x
9
= 9, 1472 . . .
x
5
= 5, 0000 . . . x
20
= 9, 5020 . . .
x
10
= 10, 8929 . . . + 1, 1493 . . . i x
11
= x
10
x
12
= 12, 8217 . . . + 2.1234 . . . i x
13
= x
12
x
14
= 15, 3059 . . . + 2, 7753 . . . i x
15
= x
14
x
16
= 18, 1813 . . . + 2, 5489 . . . i x
17
= x
16
x
18
= 20, 4767 . . . + 1, 0390 . . . i x
19
= x
18
Um erro relativo de 5, 7 10
10
no coeciente x
19
foi capaz de alterar drasticamente parte das
razes. Como entender esse fenmeno?
Vamos avaliar quanto varia cada raiz x
j
(j = 1, 2, . . . , 20) quando alteramos o coeciente
210 do termo x
19
. Para tanto vamos considerar o novo polinmio P(, x) = P(x) x
19
.
Esse novo polinmio possui vinte razes x
j
(), j = 1, 2, . . . , 20, cada uma delas depende de
. A derivada
dx
j
d

=0
contm informao sobre quanto a i-sima raz de P(, x) varia com
relao a quando = 0. Como P(0, x) P(x), essas derivadas possuem a informao que
buscamos sobre as razes de P.
Para calcular
dx
j
d

=0
no ser necessrio encontrar explicitamente a dependncia das ra-
zes em , basta lembrar que por denio P(, x
j
()) = 0 (x
j
() raiz do polinmio
P(, x)) e portanto de acordo com a regra da cadeia
d
d
(P(, x
j
())) =
P

(, x
j
()) +
P
x
(, x
j
())
dx
j
d
= 0
22
Esse polinmio conhecido como um dos polinmios de Wilkinson. Foi introduzido em 1963 por James H. Wilkinson
para ilustrar o mal-condicionamento na determinao de razes de polinmios. Veja: Wilkinson, J.H. The perdious
polynomial". em Golub, G. H. Studies in Numerical Analysis. Mathematical Association of America. pg. 3.
(1984).
27
1 Representao de nmeros em mquinas
e assim,
dx
j
d
=
P

(, x
j
())
P
x
(, x
j
())
.
O numerador da expresso acima simplesmente
P

(, x
j
()) = x
19
. Para calcular
P
x
(, x
j
()), basta notar que P(, x) = (x 1)(x 2) . . . (x 120) x
19
, portanto
P
x
(, x) =(x2) . . . (x20)+(x1)(x3) . . . (x20)+. . .+(x1) . . . (x19)19x
18
,
ou seja
P
x
(, x) = 19x
18
+
20

k=1
20

l=1,l=k
(x l).
Assim,
dx
j
d
=
x
19
j
()
19x
18
+

20
k=1

20
l=1,l=k
(x
j
() l)
.
Quando = 0, P(0, x) = P(x) ento x
j
(0) = j para j = 1, 2, . . . , 10. Ou seja,
dx
j
d

=0
=
j
19

20
k=1

20
l=1,l=k
(j l)
=
j
19

20
l=1,l=j
(j l)
.
Na expresso anterior, o somatrio foi retirado pois o nico termo que contribua era o k = j
(Por que?).
Por economia de notao, vamos denominar a derivada da j-sima raiz em = 0 por
j
:
dx
j
d

=0

j
=
j
19

20
l=1,l=j
(j l)
. (1.6)
Para determinar o valor de
j
basta utilizar a expresso (1.6):

1
8, 2 10
18

6
5, 8 10
1

2
8, 2 10
11

7
2, 5 10
3

3
1, 6 10
6

8
6, 0 10
4

4
2, 1 10
3

9
8, 4 10
5

5
6, 1 10
1

10
7, 6 10
6

11
4, 6 10
7

16
2, 4 10
9

12
2, 0 10
8

17
1, 9 10
9

13
6, 1 10
8

18
1, 0 10
9

14
1, 3 10
9

19
3, 1 10
8

15
2, 1 10
9

20
4, 3 10
7
E assim podemos notar que enquanto a variao no valor das primeiras razes pequena, o
mesmo no pode ser dito para as demais. O valor das derivadas ilustra o mal condicionamento
deste problema.
O prximo exemplo contempla a instabilidade numrica devido ao algoritmo.
Exemplo: Seja o seguinte algoritmo para calcular a integral I
n
.
=
_
1
0
dxx
n
e
x1
, onde n =
1, 2, . . . Podemos integrar por partes I
n
:
I
n
= x
n
e
x1

x=1
x=0
n
_
1
0
dxx
n1
e
x1
= 1 nI
n1
. (1.7)
28
1.3 Erros
Como I
n
= 1 nI
n1
, se conhecermos I
1
, poderemos encontrar I
2
, I
3
e assim por diante.
Antes de dar prosseguimento vamos examinar um pouco mais a integral I
n
. No intervalo de
integrao [0, 1], o integrando sempre positivo, alm disso, o termo e
x1
sempre menor ou
igual a 1, isto implica a desigualdade
0 < I
n

_
1
0
dxx
n
=
1
n + 1
. (1.8)
Portanto, devemos esperar que os termos I
n
decresam com n e sejam sempre positivos. O
primeiro termo I
1
pode ser calculado explicitamente utilizando integrao por partes,
I
1
=
_
1
0
dxxe
x1
= 1
_
1
0
dxe
x1
= e
1
.
Iremos representar I
1
aproximadamente por

I
1
com cinco casas aps a vrgula:

I
1
= 0, 367879.
Nesse caso = [I
1


I
1
[ 5, 6 10
7
. Se calcularmos os demais termos a partir da iterao
(1.7) encontraremos

I
1
= 0, 367879

I
6
= 0, 127120

I
2
= 0, 264242

I
7
= 0, 110160

I
3
= 0, 207274

I
8
= 0, 118720 (?)

I
4
= 0, 170904

I
9
= 0, 0684800 (??)

I
5
= 0, 145480

I
10
= 1, 68480 (???)
O que ocorreu aqui? Ao contrrio do observado nas ltimas igualdades acima, a estimativa
(1.8) prev o decrescimento de I
n
com n e I
n
> 0. Vamos analisar a iterao levando em
conta a aproximao inicial. Partimos portanto de

I
1
= I
1
+, ento segundo a iterao (1.7)

I
2
= 1 2(

I
1
) = 1 2(I
1
+) = I
2
2
e ento

I
3
= 1 3(

I
2
) = 1 3(I
2
2) = I
3
+ 3 2 .
Por induo temos ento que

I
n
= I
n
+ (1)
n+1
n!.
Ou seja, o erro cresce com o fatorial de n. Dessa forma

I
9
I
9
+ 9! 5, 6 10
7
I
9
+ 0, 2
e

I
10
I
10
10! 5, 6 10
7
I
10
2.
Felizmente uma pequena alterao do algoritmo permite resolver a questo da instabilidade.
29
1 Representao de nmeros em mquinas
Basta reescrever a iterao (1.7) como
I
n1
=
1
n
(1 I
n
) (1.9)
isolando I
n1
. Utilizando os mesmos critrios possvel vericar que o erro cometido no
ponto inicial mais e mais diludo a cada passo do algoritmo (verique!)
Alm dessa propriedade, a diferena da iterao (1.9) reside no fato de que o ponto inicial
deve ser um valor de n sucientemente grande para que os ndices abaixo possam ser calcu-
lados pelo algoritmo. Agora a estimativa (1.8) til, pois ela nos diz que I
n
decresce com n
e satisfaz a desigualdade I
n
<
1
n+1
. Portanto podemos utilizar um nmero n sucientemente
alto e considerar a aproximao

I
n
= 0 com erro =
1
n+1
.
30
1.4 Exerccios
1.4 Exerccios
1) Represente em base decimal os seguintes numerais:
a) 1011101, 101
2
b) 7, 7
8
c) AB, FE
16
2) Utilize no mximo dez algarismos aps a vrgula para representar o nmero 0, 11 nas bases 2,
3 e 16.
3) Quantos bits, no mnimo, so necessrios para representar os inteiros entre 3000 e 3000 em
um registro de mquina. Quais os inteiros adicionais que podem ser representados utilizando o
mesmo registro?
3) Dado o nmero 7 +
1
4
+
1
16
, determine duas bases (menores ou iguais a 9) nas quais o
nmero pode ser representado em notao posicional com um nmero nito de dgitos. Represente
o nmero nessas bases.
5) Quantas solues no negativas admite a equao 1 x = 1 em uma mquina que utilize o
sistema de ponto utuante F(10, 5, 99, 99).
6) Represente todos os elementos positivos do conjunto F(2, 3, 1, 2) na reta real.
7) Qual das seguintes maneiras de calcular o polinmio x
2
1 a mais exata no sistema
F(10, 6, 20, 20) quando x = 1, 0001?
(x x) 1
(x 1) (x 1)
(x (x 1)) (x 1)
8) O seguinte registro hexadecimal corresponde a um ponto utuante de 16 bits no padro
IEEE754: ABCD . O bits mais signicativo representa o sinal, os 5 bits seguintes subtrados
de 15 representam o expoente e os demais o signicando. Determine o nmero representado em
base decimal. Supondo o arredondamento par, qual o menor ponto utuante nesse sistema que
adicionado a 1 retorna um ponto utuante maior do que 1?
9) Realize a operao de adio dos nmeros 1, 5039062510
1
e 5, 820312610
1
no sistema
de ponto utuante de base 4, com 4 dgitos e arredondamento par. A resposta deve estar em base
10.
10) Calcule o valor da expresso
_
cos
_

2
x
_
para x = 0.490000 10
4
em um sistema de
ponto utuante com 6 dgitos de preciso (sero 3 operaes). Agora leve em considerao que
para x pequeno e positivo cos
_

2
x
_
x e recalcule o valor da expresso. Se assumirmos que
a segunda forma a mais acurada, qual o erro relativo cometido no clculo da primeira expresso?
11) A frequncia natural de ressonncia de um circuito RLC dada pela expresso
f
0
=
1
2
1

LC
.
31
1 Representao de nmeros em mquinas
Determine uma expresso para estimativa de erro no clculo de f
0
se C = 10F 10% e L =
2, 5 10
1
H 5%.
12) Como devemos reescrever a expresso seguinte
2 +x
_
x
2
+ 4
para valores pequenos de x no sistema F(10, 10, 20, 20) de modo que o erro de arredonda-
mento cometido seja pequeno. Experimente com os valores x = 1, 000000 10
6
; 1, 000000
10
7
; 1, 000000 10
8
.
13) Dados dois pontos utuantes x e y, determine em quais situaes devemos reescrever a
expresso
e
x
2
2

_
e
x
2
+ cos y
para que a mesma possa ser estimada sem grandes perdas de exatido.
14) Determine a representao do nmero 20,25 em um ponto utuante normalizado em base 3
com 8 dgitos.
15) Considere a funo de duas variveis f(x, y) = 2+cos(x) cos(y). Determine uma estimativa
para o erro relativo cometido ao calcularmos f em x = y = /4 se o erro absoluto nas variveis
for 10
6
.
16) Um registro de ponto utuante com 10 bits possui a seguinte estrutura: o 1 bit guarda
informao sobre o sinal, os trs bits seguintes guarda informao sobre o expoente (deslocado de
trs unidades) e os seis restantes guardam os dgitos do signicando (a partir do segundo dgito,
pois o primeiro sempre igual a 1). Assim, o registro 1110001000 representa o nmero (1)
1

0, 1001000
2
2
63
, ou seja, representa (
1
2
+
1
16
)8 = 4, 5. Qual seria o registro que representa
o nmero 6, 125?
32
2 Sistemas de equaes lineares
Os sistemas de equaes lineares fazem parte da descrio matemtica dos mais diversos fenme-
nos em todas as reas das cincias naturais e tambm so pea fundamental de diversos algoritmos
utilizados em computao. Por exemplo, mais adiante na disciplina, veremos que atravs da discre-
tizao dos domnios onde est denida uma equao diferencial possvel reduzi-la a um sistema
de equaes lineares. Em outras aplicaes como mecnica dos uidos e mecnica estrutural, no
incomum trabalhar com sistemas de ordem 10
5
ou mais.
Devido a sua quase onipresena , muito importante poder contar com tcnicas que encontre a
soluo para os sistemas de modo eciente e acurado. Atualmente podemos contar com software
de alta qualidade para resolver sistemas de equaes lineares e ainda hoje este assunto est sendo
ativamente pesquisado. Principalmente a resoluo de sistemas muito grandes em clusters de
computadores e computadores com processadores vetoriais. Para melhor compreender e utilizar
esses softwares essencial conhecer as propriedades dos algoritmos mais simples.
Vamos nos concentrar no estudo de sistemas de n equaes e n incgnitas x
1
, x
2
, . . . , x
n
:
_

_
a
1,1
x
1
+ a
1,2
x
2
+ . . . + a
1,n
x
n
= b
1
a
2,1
x
1
+ a
2,2
x
2
+ . . . + a
2,n
x
n
= b
2
.
.
.
a
n,1
x
1
+ a
n,2
x
2
+ . . . + a
n,n
x
n
= b
n
(2.1)
onde os coecientes a
ij
e as constantes b
i
so nmeros reais.
Denominamos o conjunto de todas as possveis solues de um sistema linear de conjunto so-
luo. Dados dois sistemas lineares, dizemos que os dois so equivalentes se possurem o mesmo
conjunto soluo.
Sob um ponto de vista geomtrico, consideramos cada varivel x
i
nas equaes como a i-sima
componente de um ponto no R
n
. Dessa forma, uma vez escolhida uma varivel x
j
, cada equao
do sistema relaciona x
j
s demais variveis. Ou seja, cada equao representa um subespao de
dimenso n 1 contido no R
n
. O conjunto soluo formado pela interseco de todos esses
subespaos.
O conjunto soluo de um sistema linear pode ser vazio, conter um nico elemento (uma nica
soluo) ou innitos elementos (innitas solues). Por exemplo, no caso de um sistema de duas
variveis e duas incgnitas, cada equao representa um reta no R
2
e o conjunto soluo ser vazio
se as retas forem paralelas, possuir apenas uma soluo se as retas se cruzarem ou ainda innitas
solues se as retas se sobreporem.
O sistema de equaes (2.1) convenientemente representado de forma matricial atravs da
equao
A x = b, (2.2)
33
2 Sistemas de equaes lineares
onde
A =
_
_
_
_
_
_
a
1,1
a
1,2
. . . a
1,n
a
2,1
a
2,2
. . . a
2,n
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
a
n,2
. . . a
n,n
_
_
_
_
_
_
, x =
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
_
e b =
_
_
_
_
_
_
b
1
b
2
.
.
.
b
n
_
_
_
_
_
_
.
Nessa forma, a matriz A e o vetor coluna b constituem os dados de entrada do problema numrico.
A soluo, ou dado de sada, dado pelo vetor coluna x cujas componentes sero aproximadas
atravs de mtodos numricos.
Um representao alternativa para o sistema (2.1) consiste na matriz completa do sistema for-
mada pela justaposio das matrizes A e b da equao (2.2):
[ A[ b]
.
=
_
_
_
_
_
_
a
1,1
a
1,2
. . . a
1,n
b
1
a
2,1
a
2,2
. . . a
2,n
b
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
n,1
a
n,2
. . . a
n,n
b
n
_
_
_
_
_
_
. (2.3)
Essa representao til pois concatena todos os dados de entrada e permite descrever o sistema de
equaes (2.1) do modo mais econmico.
Uma das propriedades mais evidentes do sistema de equaes (2.1) o fato de que sua soluo
independe da ordem em que as equaes so postas. Ou seja, se o vetor x
0
soluo de (2.2), ele
tambm ser soluo de um sistema em que as equaes so as mesmas em uma ordem diferente.
Portanto ao trocarmos duas linhas quaisquer da matriz completa (2.3) obtemos uma matriz equiva-
lente
1
. A operao de troca de linhas na matriz completa um tipo de operao conhecido como
operao elementar.
As operaes elementares so operaes realizadas em uma matriz completa que resultam em
uma matriz equivalente. Por ser linear, o sistema de equaes (2.1) possui a seguinte propriedade:
a troca de qualquer equao pela combinao linear dela com qualquer outra equao do sistema
resulta em um sistema com o mesmo conjunto soluo. Portanto, a substituio de qualquer linha
de (2.3) pela combinao linear da linha a ser substituda com qualquer outra, no altera a soluo.
Essa operao portanto uma operao elementar. Note que a simples multiplicao de uma linha
por uma constante no nula um caso especial dessa operao.
A partir das operao elementares possvel implementar uma srie de mtodos distintos para
encontrar a soluo do sistema. Os mtodos que utilizam uma sequncia nita de operaes ele-
mentares para determinar a soluo so denominados mtodos diretos.
1
Dadas duas matrizes completas C e D, dizemos que so equivalentes se representam sistemas de equaes equivalen-
tes. Notao:
C D.
34
2.1 Mtodos diretos
2.1 Mtodos diretos
Um dos mtodos diretos mais conhecidos a eliminao de Gauss-Jordan. Esse mtodo consiste
em aplicar sucessivas operaes elementares at que a matriz completa [ A[ b] assuma a forma
_
_
_
_
_
_
_
_
_
1 0 0 . . . 0 x

1
0 1 0 . . . 0 x

2
0 0 1 0 x

3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 . . . 1 x

n
_
_
_
_
_
_
_
_
_
[ A[ b] . (2.4)
Esse o mtodo comumente utilizado na soluo de pequenos sistemas de n incgnitas e n equa-
es na disciplina lgebra linear:
1. Partimos da primeira coluna esquerda em [ A[ b] e, sucessivamente, utilizamos operaes
elementares para anular as componentes abaixo da diagonal e igualar as componentes da
diagonal a 1 at chegar ltima linha. Nesse ponto teremos uma matriz triangular superior.
2. Ento retornamos a partir da ltima linha e da direita para a esquerda, realizamos operaes
elementares para anular as componentes acima da diagonal anulando elementos.
Se o sistema possuir uma nica soluo, o resultado do mtodo ser a matriz completa reduzida no
lado esquerdo da relao de equivalncia (2.4). Os termos x

1
, . . . , x

n
so a soluo do sistema.
Exemplo: Seja o sistema de equaes lineares
_

_
x
1
2x
2
+ x
3
= 0
2x
2
8x
3
= 8
4x
1
+ 5x
2
+ 9x
3
= 9
representado pela matriz completa
A
c
=
_
_
_
1 2 1 0
0 2 8 8
4 5 9 9
_
_
_
.
comum utilizar a seguinte notao
A
c
=
_
_
_
L
1
L
2
L
3
_
_
_

_
_
_
L
1
3L
1
2L
2
L
3
_
_
_
=
_
_
_
L
1

L
2
L
3
_
_
_

_
_
_
L
3

L
2
L
1
_
_
_
35
2 Sistemas de equaes lineares
para representar operaes elementares nas linhas de uma matriz. De acordo com essa notao
A
c

_
_
_
L
1
L
2
4L
1
+L
3
_
_
_
=
_
_
_
1 2 1 0
0 2 8 8
0 3 13 9
_
_
_
=
_
_
_
L
1
L
2
L
3
_
_
_

_
_
_
_
_
L
1
1
2
L
2
3
2
L
2
+L
3
_
_
_
_
_
=
_
_
_
1 2 1 0
0 1 4 4
0 0 1 3
_
_
_
=
_
_
_
L
1
L
2
L
3
_
_
_

_
_
_
L
1
L
2
L
2
+ 4L
3
L
3
_
_
_
=
_
_
_
1 2 0 3
0 1 0 16
0 0 1 3
_
_
_
=

_
_
_
L
1
+ 2L
2
L
2
L
3
_
_
_
=
_
_
_
1 0 0 29
0 1 0 16
0 0 1 3
_
_
_
. (2.5)
Portanto a matriz A
c
equivalente a matriz (2.5) que representa o sistema de equaes lineares
_

_
x
1
= 29
x
2
= 16
x
3
= 3
,
ou seja, a soluo do sistema (x
1
, x
2
, x
3
) = (29, 16, 3).
Existem outros mtodos diretos que consistem na decomposio da matriz A em produtos de
matrizes, como a decomposio LU, a decomposio de Cholesky (quando A simtrica) e a de-
composio singular (quando A no quadrada). Outras classes de mtodos diretos so construdos
quando a matriz A possui uma estrutura especial, como no caso das matrizes esparsas. No os es-
tudaremos aqui
2
mas sim uma alternativa ou mtodo de Gauss-Jordan conhecida como eliminao
gaussiana.
2.1.1 Eliminao Gaussiana
Uma alternativa ao mtodo de Gauss-Jordan consiste em parar a sequncia de operaes elementa-
res quando a matriz completa for da forma
[ U[ c] [ A[ b] ,
2
Existe muita literatura sobre esses tpicos, sugerimos ao leitor mais interessado o texto:
Stoer, J. ; Bulirsch, R. An introduction to Numerical Analysis, Springer-Verlag, 1983.
36
2.1 Mtodos diretos
onde U triangular superior:
U =
_
_
_
_
_
_
_
_
_
u
1,1
u
1,2
u
1,3
. . . u
1,n
0 u
2,2
u
2,3
. . . u
2,n
0 0 u
3,3
. . . u
3,n
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 . . . u
n,n
_
_
_
_
_
_
_
_
_
.
A matriz completa [ U[ c] representa o sistema de equaes
_

_
u
1,1
x
1
+ u
1,2
x
2
+ . . . + u
1,n
x
n
= c
1
u
2,2
x
2
+ . . . + u
2,n
x
n
= c
2
.
.
.
u
n1,n1
x
n1
+ u
n1,n
x
n
= c
n1
u
n,n
x
n
= c
n
que pode ser resolvido atravs de substituies recursivas: a partir da ltima linha, temos que
x
n
=
c
n
u
n,n
. (2.6)
Utilizamos o valor de x
n
obtido em (2.6) para determinar x
n1
atravs da equao imediatamente
superior,
x
n1
=
1
u
n1,n1
(c
n1
u
n1,n
x
n
) .
Em seguida, utilizamos os valores de x
n
e x
n1
para determinar x
n2
; e assim, sucessivamente,
teremos para a i-sima incgnita x
i
:
x
i
=
1
u
i,i
_
_
c
i

j=i+1
u
i,j
x
j
_
_
,
onde i = 1, 2, . . . , n 1.
2.1.2 Estabilidade do mtodo
Se houvesse uma mquina capaz de armazenar variveis com preciso arbitrria e realizasse ope-
raes aritmticas sem erros de arredondamento em tempo nito, atravs do mtodo de eliminao
gaussiana descrito na subseo anterior, seriamos perfeitamente capazes de encontrar a soluo
exata para um sistema de equaes lineares. No entanto, devemos nos recordar que na prtica
as variveis so representadas por pontos utuantes e consequentemente, as operaes aritmticas
esto sujeitas a erros de arredondamento.
Para ilustrar as limitaes da eliminao gaussiana simples vamos considerar o seguinte exemplo.
Exemplo: Seja um sistema de equaes lineares representado pela matriz completa [ A[ b].
Vamos supor que estamos na fase nal de um processo de eliminao gaussiana e que as ope-
raes envolvem pontos utuantes. Vamos supor tambm que, com exceo de uma particular
37
2 Sistemas de equaes lineares
componente, o resultado de todas as operaes representam exatamente a matriz completa
equivalente na forma (quase) escalonada:
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
1,1
u
1,2
u
1,3
u
1,n2
u
1,n1
u
1,n
c
1
0 u
2,2
u
2,3
u
2,n2
u
2,n1
u
2,n
c
2
0 0 u
3,3
u
3,n2
u
3,n1
u
3,n
c
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 1 1
0 0 0 2 1 3
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
n(n+1)
[ A[ b] . (2.7)
Se as operaes fossem realizadas sem erros de arredondamento, ao invs da matriz (2.7)
teramos o escalonamento exato dado por
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
1,1
u
1,2
u
1,3
u
1,n2
u
1,n1
u
1,n
c
1
0 u
2,2
u
2,3
u
2,n2
u
2,n1
u
2,n
c
2
0 0 u
3,3
u
3,n2
u
3,n1
u
3,n
c
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 1 1
0 0 0 2 1 3
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
n(n+1)
[ A[ b] . (2.8)
e as duas ltimas componentes da soluo exata so dadas por
x
n
= 1 e x
n1
= 1.
Por outro lado, o valor obtido para as duas ltimas componentes da soluo aproximada a
partir da matriz completa (2.7) so resultado das operaes
x
n
=
3
2

1
2

e x
n1
=
1 x
n

. (2.9)
Vamos supor que as variveis pertenam ao sistema de ponto utuante F(10, 10, 90, 90) e
que o erro seja pequeno, por exemplo, = 0.1 10
10
. Nesse caso,
2

= 0.2 10
12
e assim
o numerador e denominador de x
n
, 3
2

e 1
2

sero arredondados respectivamente para


0.199999999910
12
e 0.199999999910
12
ou 0.200000000010
12
e 0.2000000000
10
12
, dependendo da escolha de arredondamento. Em qualquer um dos casos, para um erro
= 0.1 10
10
teremos como solues aproximadas
x
n
= 0.1000000000 10
1
e x
n1
= 0.
38
2.1 Mtodos diretos
Uma anlise mais atenta dos termos (2.9) nos permite concluir que nesse exemplo no pos-
svel encontrar a soluo exata atravs da eliminao gaussiana simples.
Essa diculdade em encontrar a soluo exata apesar de um erro pequeno e isolado poderia
nos levar a pensar que a eliminao gaussiana seria intil na busca da soluo atravs de mtodos
numricos. Este no o caso. O problema explicitado no exemplo foi drasticamente amplicado
pelo fato de que na posio de piv da (n 1)-sima coluna da matriz completa a componente
possui um valor muito pequeno . De acordo com o algoritmo do mtodo de eliminao gaussiana
simples, o resultado a combinao linear das duas ltimas linhas com um termo multiplicativo
de valor absoluto muito grande
2

. Uma medida simples como a operao elementar de troca das


duas ltimas linhas antes da combinao linear das mesmas resultaria nas aproximaes
x
n
=
1
3
2

1
1
2

e x
n1
=
3 x
n
2
que conduzem soluo exata quando o erro for sucientemente pequeno
3
.
Essa observao induz a um aprimoramento da eliminao gaussiana denominada mtodo de
eliminao gaussiana com pivoteamento parcial (EGPP) que consiste na troca de linhas em uma
coluna piv para que a posio de piv seja ocupada pela maior componente em valor absoluto antes
de realizarmos as operaes que eliminam os termos abaixo da posio de piv na mesma coluna.
Esse mtodo atenua o tipo de problema ilustrado no exemplo, no entanto possvel vericar que a
escolha da componente de maior valor absoluto no elimina o problema por completo nem mesmo
sempre a melhor escolha possvel para a posio de piv.
Em geral, associa-se a estabilidade do mtodo EGPP demonstrao de que a soluo calculada
atravs do mtodo corresponde soluo exata do sistema original adicionado de uma pequena
perturbao que consiste emtermos adicionados aos coecientes da matriz original. Essa questo
tratada por James H. Wilkinson em um artigo clssico de 1961. Em valor absoluto, as perturbaes
possuem um crescimento que limitado por uma expresso da forma const. n
2

n
, onde n a
dimenso da matriz e
n
denominado fator de crescimento:

n
.
=
max
i,j,k

a
(k)
i,j

max
i,j,k

a
(k)
i,j

,
onde a
(k)
i,j
o valor do coeciente da matriz no k-simo passo da EGPP.
Existem exemplos nos quais
n
= 2
n1
mas em muitos dos sistemas associados aplicaes
prticas o fator de crescimento limitado emn, ou seja, no cresce mais do que uma constante. Esse
o caso das matrizes totalmente no negativas (matrizes cujas submatrizes possuem determinantes
no negativos), das matrizes simtricas positivas denidas e das diagonais dominantes (por linha ou
coluna).
3
Naturalmente, devemos levar em conta que as operaes so em ponto utuante, ou seja, a representao obtida
exata sem a necessidade de tomar o limite 0, basta que seja um valor sucientemente prximo de 0.
39
2 Sistemas de equaes lineares
2.1.3 Condicionamento em sistemas de equaes lineares
Deve-se notar que mesmo quando existe estabilidade, isso no signica necessariamente que o erro
cometido na aproximao seja pequeno. Se a matriz de coecientes for prxima de uma matriz
singular, a soluo obtida muito sensvel a alteraes nos dados.
Em vista dessas observaes, naturalmente estaremos diante da questo de decidir entre duas
ou mais aproximaes aceitveis qual delas a mais adequada, ou prxima da soluo exata.
Porm nesse caso, o objeto que chamamos de soluo no um simplesmente um nmero real e
sim um vetor do espao vetorial n-dimensional R
n
. Como comparar esses objetos? Compararemos
os vetores atravs de normas.
Denio (Norma para um espao vetorial). Dado um espao vetorial V , uma norma em V ,
simbolizada por ||, uma funo || : V R
+
com as seguintes propriedades, para quais-
quer x, y V e R(ou C)
1. |x| 0 e |x| = 0 se e somente se x = 0, o elemento nulo de V .
2. |x| = [[ |x|.
3. |x +y| |x| +|y| (desigualdade triangular)
Note que a denio nada diz sobre a forma do espao vetorial V nem fornece uma prescrio
sobre como a norma construda de fato. Basta determinar uma funo que satisfaa os critrios
da denio. No nosso caso, os sistemas de equaes lineares Ax = b envolvem apenas vetores
x R
n
, b R
m
e matrizes A M
mn
(conjunto de todas as matrizes de m linhas e n colunas
com componentes reais). Os vetores do R
n
, assim como as matrizes M
mn
so espaos vetoriais
para quaisquer m e n naturais no nulos. Vamos ento nos concentrar em trs exemplos de normas
para esses espaos.
Exemplo (Normas para o R
n
): Em geral, diferenciamos as normas entre si por algum sm-
bolo no ndice de ||. Em particular vamos considerar as normas ||
1
, ||
2
e ||

: dado um
vetor x R
n
, de componentes x
i
, denimos as normas
1. |x|
1
.
=

n
i=1
[x
i
[, (norma 1),
2. |x|
2
.
=
_

n
i=1
[x
i
[
2
, (norma 2 ou norma euclideana),
3. |x|

.
= max
i
[x
i
[, (norma sup ou norma ).
um exerccio simples vericar que essas trs normas satisfazem as propriedades da denio.
Da mesma forma vamos considerar as normas ||
1
, ||
2
e ||

para matrizes A M
mn
:
Exemplo (Normas para o M
mn
): Dada uma matriz A M
mn
, de componentes a
i,j
, de-
nimos as normas
1. |A|
1
.
= max
1jn

m
i=1
[a
i,j
[, (norma 1),
40
2.1 Mtodos diretos
2. |A|
2
.
=
_

m
i=1

n
j=1
[a
i,j
[
2
, (norma 2 ou norma euclideana),
3. |A|

.
= max
1im

n
j=1
[a
i,j
[, (norma sup ou norma ).
um exerccio simples vericar que essas trs normas satisfazem as propriedades da denio.
Utilizamos os mesmos ndices para identicar algumas das normas de vetores e matrizes pois,
nesse caso, elas possuem uma importante relao entre si, elas so normas compatveis: dado qual-
quer vetor x R
n
, qualquer matriz A M
mn
e o vetor que resulta da multiplicao matricial
Ax R
m
, vericamos que, de acordo com as denies de norma para vetores e matrizes dos
exemplos anteriores,
|Ax|

|A|

|x|

nos casos em que = 1, 2 ou . Ou melhor, essas normas para matrizes so construdas a partir
da denio da norma vetorial compatvel de acordo com a denio
|A|

.
= max
xR
n
|Ax|

|x|

= max
yR
n
:y

=1
|Ay|

.
A partir das denies de norma para vetores e matrizes, possvel comparar diferentes apro-
ximaes para a soluo de um sistema de equaes lineares. Se x
0
e x
1
so duas aproximaes
distintas do sistema no singular (possui apenas uma nica soluo)Ax = b, ento a multiplicao
matricial de A pelos vetores que representam a aproximao resultam em duas aproximaes para
o vetor das constantes b:
Ax
0
= b
0
e Ax
1
= b
1
.
Parece razovel supor que, atravs dos resduos
_
_
b b
0
_
_
e
_
_
b b
1
_
_
, os vetores b
0
e b
1
forne-
cem uma boa indicao sobre a exatido das aproximaes x
0
e x
1
. O exemplo a seguir mostra
que isso no necessariamente verdade.
Exemplo: Seja o sistema de equaes lineares representado pela seguinte matriz completa
_
0.780 0.563 0.217
0.913 0.659 0.254
_
e duas aproximaes x =
_
0.999
1.001
_
e

x =
_
0.341
0.087
_
.
A matriz formada pelas duas primeiras colunas da matriz completa no singular, portanto
o sistema possui uma nica soluo dada por x =
_
1
1
_
. Nossa questo escolher qual
das duas aproximaes a mais adequada supondo que no conheamos a soluo exata.
Os resduos associados s aproximaes so dados respectivamente por r =
_
0.1343 10
3
0.1572 10
3
_
41
2 Sistemas de equaes lineares
e

r =
_
0.1 10
6
0
_
. Note que qualquer que seja a norma utilizada, |r| >
_
_
_

r
_
_
_:
|r|
1
= 0.2915 10
3
>
_
_
_

r
_
_
_
1
= 0.1 10
6
,
|r|
2
= 0.2067 . . . 10
3
>
_
_
_

r
_
_
_
2
= 0.1 10
6
,
|r|

= 0.1572 10
3
>
_
_
_

r
_
_
_

= 0.1 10
6
.
Isto poderia nos levar a crer que a aproximao

x a mais exata, no entanto podemos constatar
facilmente que |x x|

<
_
_
_x

x
_
_
_

qualquer que seja a norma.


Esse comportamento est relacionado ao fato de que a matriz A prxima de uma matriz singular.
Matrizes com tal caracterstica so denominadas matrizes mal-condicionadas. O condicionamento
de uma matriz pode ser medido atravs de sua norma e relaciona o erro relativo do vetor b ao erro
relativo da soluo x: sejam x uma aproximao da soluo do sistema e

b = A x, atravs da
inversa de A relacionamos a soluo e sua aproximao aos respectivos vetores constantes:
x = A
1
b e x = A
1

b.
A partir das duas ltima expresses, relacionamos o erro relativo cometido em na soluo e o erro
relativo no vetor de constantes
|x x|

=
_
_
_A
1
b A
1

b
_
_
_

=
_
_
_A
1
_
b

b
__
_
_

_
_
A
1
_
_

_
_
_b

b
_
_
_

,
onde a norma para a matriz uma norma compatvel utilizada para os vetores. A desigualdade
que obtemos implica a seguinte expresso para o erro relativo na soluo
|x x|

|x|

_
_
A
1
_
_

_
_
_b

b
_
_
_

1
|x|

. (2.10)
Para reescrever o lado direito da desigualdade acima como o erro relativo do vetor das constantes
b, basta utilizar o fato de que a sua norma pode ser limitada pelo produto das normas da matriz e
do vetor soluo :
|b|

= |Ax|

|A|

|x|

,
ou seja
1
|x|

|A|

|b|

. (2.11)
Utilizando a desigualdade (2.11) no ltimo termo do lado direito de (2.10) conclumos que
|x x|

|x|

_
_
A
1
_
_

|A|

_
_
_b

b
_
_
_

|b|
. (2.12)
42
2.2 Renamento iterativo
A partir da desigualdade (2.12) denimos o condicionamento de uma matriz inversvel (ou seja, no
singular) A como o valor numrico
_
_
A
1
_
_

|A|

. No difcil vericar que o condicionamento


um nmero maior ou igual a unidade: se I = AA
1
a matriz identidade, Ix = x, ento para um
vetor x ,= 0
|x|

=
_
_
AA
1
x
_
_

|A|

_
_
A
1
x
_
_

|A|

_
_
A
1
_
_

|x|

o que implica
_
_
A
1
_
_

|A|

1.
Ento se o erro relativo no valor da norma de b for de ordem 10
p
b
, podemos esperar um erro
relativo na norma da soluo, limitado superiormente por 10
p
s
e relacionado p
b
atravs da
desigualdade
p
s
p
b
log
10
_
_
A
1
_
_

|A|

que resulta do logaritmo em base 10 da desigualdade (2.12).


Ainda assim, devemos lembrar que a desigualdade (2.12) fornece apenas uma estimativa superior
para o erro relativo. Na seo seguinte estudaremos um mtodo intermedirio entre os mtodos
diretos e os mtodos iterativos, trata-se do mtodo de renamento iterativo de uma soluo.
2.2 Renamento iterativo
O renamento iterativo de solues um mtodo intermedirio entre os mtodos diretos e os itera-
tivos. Consiste em calcular uma sequncia de correes para a soluo aproximada de um sistema
de equaes lineares.
Vamos supor ento que x
(0)
uma soluo aproximada do sistema
Ax = b, (2.13)
calculada atravs de um mtodo numrico direto como, por exemplo, a eliminao gaussiana. A
multiplicao matricial de A pela aproximao x
(0)
, realizada atravs de operaes aritmticas
em ponto utuante, resulta em um vetor b
(0)
diferente da representao em ponto utuante de b.
Para determinar a representao mais prxima exata no sistema de ponto utuante utilizado, ser
necessrio obter um vetor tal que x = x
(0)
+. Ou seja , = x x
(0)
e assim,
A = Ax Ax
(0)
= b b
(0)
= r
(0)
,
o vetor soluo do sistema A = r
(0)
, onde r
(0)
o resduo da soluo aproximada x
(0)
com
relao soluo exata.
Asoluo numrica do sistema A = r
(0)
estar sujeita s mesmas condies da equao original
(2.13), portanto podemos esperar obter diretamente um vetor
(0)
que soluo aproximada para o
vetor que corrige a soluo x
(0)
. A correo dessa soluo aproximada com o vetor
(0)
determina
a aproximao x
(1)
para a soluo de (2.13) . Esse procedimento iterado sucessivamente de modo
43
2 Sistemas de equaes lineares
que a (k + 1)-sima soluo iterada, x
(k+1)
, dada pela soma
x
(k+1)
= x
(k)
+
(k)
,
onde
(k)
o vetor soluo do sistema
A
(k)
= r
(k)
e o resduo r
(k)
.
= b b
(k)
= b Ax
(k)
, para k = 0, 1, . . .
Quanto estabilidade numrica desse mtodo, possvel demonstrar que dada uma matriz A, no
singular (e portanto, com um condicionamento nito
_
_
A
1
_
_
|A|), a sequncia
_
x
(i)
_
i
calculada
atravs de operaes em um sistema de ponto utuante, converge para a representao da soluo
exata nesse sistema se:
1. a preciso for sucientemente alta
2. os resduos forem calculados em preciso dupla, antes de serem arredondados para a preciso
em que as demais operaes so realizadas.
Exemplo: Seja o sistema de equaes lineares representado pela matriz completa
_
0.913 0.659 0.254
0.781 0.564 0.217
_
.
Vamos utilizar o mtodo da eliminao gaussiana para determinar uma aproximao para a so-
luo no sistema de ponto utuante F(10, 5, 20, 20) com arredondamento por truncamento.
De acordo com o algoritmo vamos realizar a seguinte operao elementar:
_
L
1
((0.781 0.913) L
1
) L
2
_
=
_
L
1
(0.85542 L
1
) L
2
_
=
_
0.913 0.659 0.254
0 2.8 10
4
2.7 10
4
_
,
Obtemos assim a aproximao x
(0)
=
_
0.97421
0.96428
_
. Devemos agora calcular o resduo em
preciso dupla, ou seja, no sistema F(10, 10, 20, 20) e no nal arredondamos para o sistema
original F(10, 5, 20, 20):
r
(0)
= b Ax
(0)
=
_
0.254
0.217
_

_
0.913 0.659
0.781 0.564
_

_
0.97421
0.96428
_
=
_
0.254
0.217
_

_
0.25399321
0.21700409
_
=
_
6.79 10
6
4.09 10
6
_
. (nesse caso no houve necessidade de arredondar)
44
2.2 Renamento iterativo
A primeira correo,
(0)
soluo do sistema com matriz completa
_
0.913 0.659 6.79 10
6
0.781 0.564 4.09 10
6
_
.
Antes de realizar o processo de eliminao gaussiana,lembremos que, por denio, a ma-
triz quadrada formada pelas duas primeiras colunas da matriz e a mesma do sistema ori-
ginal. Portanto j conhecemos a sua forma triangular, basta aplicar a operao elementar
_
L
1
(0.85542 L
1
) L
2
_
ltima coluna. Teremos ento
_
0.913 0.659 6.79 10
6
0 2.8 10
4
9.8983 10
6
_
que implica
(0)
=
_
2.5523 10
2
3.5351 10
2
_
e x
(1)
=
_
0.99973
0.99963
_
.
O resduo da nova aproximao dado por
r
(1)
= b Ax
(1)
=
_
0.254
0.217
_

_
0.913 0.659
0.781 0.564
_

_
0.99973
0.99963
_
=
_
2.68 10
6
2.19 10
6
_
.
A nova correo
(2)
soluo do sistema A
(2)
= r
(1)
representado pela matriz completa
_
0.913 0.659 2.68 10
6
0.781 0.564 2.19 10
6
_

_
0.913 0.659 2.68 10
6
0 2.8 10
4
1.025 10
7
_
que implica
(2)
=
_
2.6716 10
4
3.6607 10
4
_
e x
(2)
=
_
0.99999
0.99999
_
.
O resduo associado nova aproximao ainda no nulo:
r
(2)
= b Ax
(2)
=
_
0.254
0.217
_

_
0.913 0.659
0.781 0.564
_

_
0.99999
0.99999
_
=
_
2.54 10
6
2.17 10
6
_
.
45
2 Sistemas de equaes lineares
A nova correo
(3)
soluo do sistema A
(3)
= r
(2)
representado pela matriz completa
_
0.913 0.659 2.54 10
6
0.781 0.564 2.17 10
6
_

_
0.913 0.659 2.54 10
6
0 2.8 10
4
2.7 10
9
_
que implica
(2)
=
_
9.8955 10
6
9.6428 10
6
_
e x
(3)
=
_
0.99999
0.99999
_
. Note que x
(3)
= x
(2)
,
ento a partir desse ponto no conseguimos melhorar a aproximao.
De acordo com o mtodo e o sistema de ponto utuante utilizado, a soluo numrica do sis-
tema dada pelo vetor
_
0.99999
0.99999
_
. Sabemos que a soluo exata
_
1
1
_
. A pequena
discrepncia consequncia da escolha que realizamos para o arredondamento nas operaes
de ponto utuante. Note que o nmero 1 possui duas representaes no sistema posicional
de base decimal, uma dada pelo algarismo 1 e outra dada por 0.99 . . . 0.

9. A partir dessa
ltima representao, de acordo com o sistema de ponto utuante F(10, 5, 20, 20) com arre-
dondamento por truncamento, o nmero 1 seria armazenado como 0.99999 10
0
.
2.3 Mtodos iterativos
Asoluo dos sistemas lineares de n equaes e n incgnitas atravs de mtodos diretos envolve um
nmero da ordem de n
3
operaes em ponto utuante e, como estudamos, dependendo da natureza
das equaes, os erros de arredondamento nessas operaes podem ser grandes.
Nesta seo vamos estudar mtodos em que a soluo pode ser aproximada com um nmero
menor de operaes, nas quais, os erros de arredondamento estejam sob controle (numericamente
estvel) .
A estratgia consiste em desenvolver uma regra para construir a sequncia de aproximaes
x
(1)
, x
(2)
, x
(3)
, . . . a partir de uma aproximao inicial x
(0)
e garantir a convergncia dessa sequn-
cia para a soluo do sistema.
Existem inmeras maneiras de decompor a matriz no singular A no sistema
Ax = b,
sob a forma
A = B C,
onde B tambm no singular. Dada uma tal escolha, o sistema assume a forma
Bx Cx = b
ou seja,
Bx = b + Cx. (2.14)
46
2.3 Mtodos iterativos
A partir de uma aproximao inicial x
(0)
vamos construir a sequncia
_
x
(k)
_
kN
como soluo
da seguinte modicao do sistema (2.14): no lado direito da equao, utilizamos uma aproximao
conhecida para x e assumimos que a soluo do sistema resultante fornece a aproximao seguinte.
Ou seja,
Bx
(k+1)
= b + Cx
(k)
, (2.15)
para k = 0, 1, . . . Naturalmente, realizamos a escolha das matrizes n n, B e C, de modo que B
seja no singular e que o sistema (2.15) possua soluo numrica simples.
Vamos denominar
(k)
= x x
(k)
, como o erro da k-sima aproximao com relao soluo
exata. Ento, a partir de (2.15), temos que
x
(k+1)
= B
1
b + B
1
Cx
(k)
= B
1
(Ax) +B
1
Cx
(k)
= B
1
(Bx Cx) + B
1
Cx
(k)
= x B
1
C
_
x x
(k)
_
e a partir dessa ltima igualdade temos
x x
(k+1)
= B
1
C
_
x x
(k)
_
=
(k+1)
= M
(k)
, (2.16)
onde M = B
1
C.
Uma condio necessria e suciente para que lim
k

(k)
= 0 R
n
para qualquer
(0)
R
n

que M seja tal que lim


k
M
k
= 0 M
nn
. Pois, de acordo com (2.16), dada uma aproximao
inicial com erro
(0)
, aps k iteraes, o erro da (k + 1)-sima aproximao ser

(k)
= M
(k1)
= MM
(k2)
= . . . = M
k

(0)
.
Matrizes que satisfazem esse limite so denominadas matrizes convergentes. Portanto, quando
decompomos a matriz no singular A na forma A = B C, devemos realizar um escolha que
satisfaa os seguintes critrios:
1. A matriz B deve ser no singular.
2. A matriz B
1
C deve ser convergente.
O seguinte teorema permite caracterizar uma matriz como convergente ou no, a a partir dos seus
autovalores.
Teorema (matrizes convergentes)
Seja M M
nn
uma matriz quadrada. M convergente, ou seja, lim
k
M
k
= 0 M
nn
, se e
somente se o valor absoluto de todos os seus autovalores for estritamente menor do que a unidade.
47
2 Sistemas de equaes lineares
O seguinte corolrio muito til tambm:
Corolrio (matrizes convergentes - condio suciente)
Uma matriz quadrada M convergente se para uma norma matricial qualquer, |M| < 1.
A importncia do corolrio deve-se ao fato de que existem normas matriciais cujo clculo
muito simples. De acordo com o corolrio, se para qualquer uma dessas normas, a norma de B
1
C
for estritamente menor do que a unidade, ento o mtodo ser convergente, caso contrrio nada
podemos armar (a no ser que conheamos os autovalores da matriz). Duas normas que possuem
a caracterstica de serem calculadas facilmente so as normas ||
1
e ||

.
Uma escolha muito natural para a decomposio consistem em eleger B como a matriz diagonal
formada pelos elementos na diagonal de A, essa escolha determina o mtodo conhecido como
Mtodo de Jacobi.
2.3.1 Mtodo de Jacobi
Dado o sistema de equaes lineares
Ax = b,
onde A uma matriz quadrada, n n, no singular e com elementos (A)
i,j
= a
i,j
, o mtodo de
Jacobi consiste na iterao
x
(k+1)
= B
1
_
b + Cx
(k)
_
, k = 0, 1, . . . ,
onde x
(0)
uma aproximao inicial e B a matriz diagonal formada pelos elementos da diagonal
de A, portanto (B)
i,j
=
i,j
a
i,j
e C = B A. Em termos das componentes das aproximaes da
soluo, o mtodo assume a forma da iterao
x
(k+1)
i
=
1
a
i,i
_
_
_
_
b
i

j=1
j=i
a
i,j
x
(k)
j
_
_
_
_
(2.17)
para i = 1, 2, . . . n a cada k = 0, 1, . . ..
De acordo com o corolrio sobre condio suciente para convergncia, o mtodo de Jacobi ser
convergente se
_
_
B
1
C
_
_
1
< 1 ou
_
_
B
1
C
_
_

< 1. Os elementos da matriz dada pelo produto B


1
C
so
_
B
1
C
_
i,j
= (1
i,j
)
a
i,j
a
i,i
(o termo (1
i,j
) indica que os elementos da diagonal de B
1
C
so nulos). Ento podemos concluir atravs da norma matricial ||
1
que se
_
_
B
1
C
_
_
1
< 1 = max
1jn

i=1
i=j

a
i,j
a
i,i

< 1 (2.18)
o mtodo converge. Asegunda desigualdade em(2.18) equivale condio de dominncia diagonal
estrita por colunas da matriz A: se [a
i,i
[ >

i=1
i=j
[a
i,j
[ para todo i = 1, 2, . . . , n a matriz A
diagonal dominante por colunas (dado qualquer elemento da diagonal, o seu valor absoluto
estritamente maior que a soma dos valores absolutos dos demais elementos na mesma coluna) e,
nesse caso , a convergncia do mtodo de Jacobi est garantida.
48
2.3 Mtodos iterativos
De maneira semelhante, podemos concluir atravs da norma matricial ||
1
que se
_
_
B
1
C
_
_

< 1 = max
1in

j=1
j=i

a
i,j
a
i,i

< 1 (2.19)
o mtodo converge. Nesse caso, a desigualdade (2.19) equivale a condio de dominncia diagonal
estrita por linhas da matriz A: se [a
i,i
[ >

j=1
j=i
[a
i,j
[ para todo i = 1, 2, . . . , n a matriz A diago-
nal dominante por linhas (dado qualquer elemento da diagonal, o seu valor absoluto estritamente
maior que a soma dos valores absolutos dos demais elementos na mesma linha) e, nesse caso , a
convergncia do mtodo de Jacobi tambm est garantida.
2.3.2 Mtodo Gauss-Seidel
O mtodo de Gauss-Seidel consiste em uma pequena modicao do mtodo de Jacobi. Nesse
ltimo, para encontrar a aproximao x
(k+1)
, de acordo com a iterao (2.17), devemos conhecer
todos as componentes da aproximao anterior x
(k)
. No mtodo de Gauss-Seidel, levamos em
conta que durante a iterao, parte das componentes da prxima aproximao j so conhecidas e
so tambm incorporadas no clculo das demais. Assim, no mtodo Gauss-Seidel a iterao para
clculo das componentes da (k + 1)-sima aproximao dada por
x
(k+1)
1
=
1
a
1,1
_
_
b
1

j=2
a
1,j
x
(k)
j
_
_
,
x
(k+1)
i
=
1
a
i,i
_
_
b
i

i1

j=1
a
i,j
x
(k+1)
j

n

j=i+1
a
i,j
x
(k)
j
_
_
, i = 2, 3, . . . , n 1,
x
(k+1)
n
=
1
a
n,n
_
_
b
n

n1

j=1
a
n,j
x
(k+1)
j
_
_
.
Pela estrutura da iterao, podemos notar que, ao contrrio do que ocorre no mtodo de Jacobi, no
h necessidade de armazenar os dados de todas as componentes da k-sima aproximao para obter
a seguinte.
O critrio de convergncia desse mtodo utiliza exclusivamente norma matricial ||

, portanto
o mesmo relaciona-se apenas ao carter de dominncia diagonal por linhas da matriz A.
49
2 Sistemas de equaes lineares
2.4 Exerccios
1) Utilize o mtodo de Gauss compivoteamento parcial para encontrar a soluo do seguinte sistema
de equaes lineares
_
4x + 4y = 20, 5
7x + 6, 99y = 34, 97
no sistema F(10, 5, 10, 10). Verique que o sistema possui soluo exata que pode ser represen-
tada nesse sistema de ponto utuante e realize as operaes de renamento.
2) Utilize o mtodo de Gauss com pivoteamento parcial para encontrar a soluo do seguinte
sistema de equaes lineares
_
4x + 4y = 20
7x + 6, 9y = 34, 7
no sistema F(10, 5, 10, 10). Verique que o sistema possui soluo exata que pode ser represen-
tada nesse sistema de ponto utuante e realize as operaes de renamento.
3) Seja o sistema Ax = b, onde
A =
_
0, 5 0, 4
0, 3 0, 25
_
.
Considere que conheamos a aproximao

b =
_
0, 200
1, 000
_
para o lado direito da equao. Se
os coecientes da aproximao

b so exatos at o terceiro dgito aps a vrgula encontre uma
estimativa para o erro relativo na resposta x, isto , para
|x x|
1
|x|
1
.
4) Seja o sistema com matriz completa (o mesmo utilizado no exemplo da seo renamento
iterativo )
_
0.913 0.659 0.254
0.781 0.564 0.217
_
.
Encontre a soluo atravs do mtodo de eliminao gaussiana com variveis no sistema de ponto
utuante F(10, 5, 20, 20) e arredondamento par. Utilize a renao iterativa at que a aproxima-
o no mais seja modicada.
5) Utilize o mtodo de Jacobi e o mtodo de Gauss-Seidel para esse mesmo sistema. O que voc
pode dizer sobre a convergncia dos mtodos? (trabalhe com a maior preciso possvel).
6) Seja o sistema de equaes algbricas lineares cuja matriz completa dada por A:
A =
_
_
_
_
_
_
10 3 4
0 9 5
1 1 10 2
0 1 2 1
_
_
_
_
_
_
.
Determine o intervalo de valores que e podem assumir de modo que o sistema possa ser resol-
vido atravs do mtodo Gauss-Seidel com garantia de convergncia.
50
2.4 Exerccios
7) Seja A uma matriz simtrica n n de componentes [A]
i,j
:
[A]
i,j
=
_

_
, i = j
r
|ij|
, i ,= j
.
Para quais valores de o sistema
Ax = b
pode ser resolvido via Gauss-Seidel ou Jacobi com garantias de convergncia?
8) Utilize a forma discreta das derivadas para obter uma aproximao com 100 pontos para a
soluo da EDO linear
_
y

+ 0, 1y

+ 4y = sen(2t)
y(0) = 0, y(10) = 1, 3
qual o maior valor absoluto que y assume nesse intervalo?
9) Utilize a forma discreta das derivadas para obter uma aproximao com 100 pontos para a
soluo da EDO linear
_
_
_
y

+
sen (x)
1 +x
2
y

cos (x) y = 0
y(0) = 0, y() = 1
qual o maior valor absoluto que y assume nesse intervalo?
51
2 Sistemas de equaes lineares
52
3 Equaes no lineares
Vamos estudar mtodos numricos para resolver o seguinte problema. Dada uma funo f contnua,
real e de uma varivel, queremos encontrar uma soluo x

que satisfaa a equao no linear:


f(x

) = 0. (3.1)
Em geral a equao (3.1) no pode ser resolvida exatamente, isto , a soluo x

no pode ser
descrita a partir de uma combinao nita de operaes algbricas simples (+, , /, , exp, log) e
funes elementares (polinmios, razo entre polinmios, potncias racionais, e as funes trans-
cendentais: exp,log, trigonomtricas, hiperblicas). H casos em que a prpria funo f no
conhecida explicitamente: pode ser denida a partir de uma srie innita, ou a partir de uma inte-
gral ou ainda ser soluo de uma equao diferencial. nesses casos utilizamos mtodos numricos
para resolver a equao.
Idealmente, poderamos dividir o procedimento nas seguintes etapas: inicialmente devemos en-
contrar uma regio de interesse onde possam existir solues da equao; em seguida, quando
possvel, isolar os intervalos que contm apenas 1 soluo; feito isso, determinamos pelo menos 1
aproximao inicial x
0
da soluo (de acordo com o mtodo utilizado, pode ser necessrio utilizar
mais de uma aproximao inicial) para cada intervalo; nalmente, a partir das aproximaes ini-
ciais, o mtodo numrico consiste na construo de uma sequncia x
n

n=0
que converge para a
soluo , isto ,
lim
n+
x
n
= x

soluo da equao (3.1). Portanto os mtodos numricos para encontrar a soluo de equaes
no lineares so mtodos iterativos. A cada iterao, utilizamos um subconjunto das aproximaes
x
n1
, x
n2
, . . . , x
0
, obtidas anteriormente, para determinar a prxima aproximao x
n
.
Estudaremos os mtodos separados em trs classes principais:
Mtodos de quebra: o ponto de partida encontrar um intervalo que contenha pelo menos
1 soluo. Segundo o teorema de Bolzano, basta determinar um intervalo em que a funo f
muda de sinal. Os mtodos de quebra consistem na descrio de como subdividir o intervalo
inicial em intervalo cada vez menores que ainda contenham a mesma soluo. Nesse caso,
a sequncia x
0
, x
1
, x
2
, . . . , x
n
formada pelos extremos dos intervalos. A soluo num-
rica ser encontrada quando a largura do intervalo em uma m-sima iterao for pequeno o
suciente para satisfazer as exigncias de exatido.
Mtodos de ponto xo: A sequncia x
i

i=n
i=0
construda a partir da sucessiva iterao
x
n+1
= (x
n
). A convergncia do mtodo garantida pelo teorema do ponto xo, da o
nome dos mtodos.
53
3 Equaes no lineares
Mtodos de mltiplos passos: Uma generalizao do mtodo anterior onde a funo de-
pende de mais de uma aproximao anterior, i. e., x
n+1
= (x
n
, x
n1
, . . . , x
np
) para
algum p n.
3.1 Mtodos de quebra
Os mtodos de quebra utilizam como primeira aproximao um intervalo que contenha pelo menos
1 soluo da equao no linear. As iteraes consistem em seguidas subdivises dos intervalos
de maneira que o novo intervalo sempre contenha a soluo. O uso do teorema comum a todos
os mtodos de quebra, ele fornece condies para que os intervalos contenham pelo menos uma
soluo para a equao. Apresentamos o teorema sem sua prova.
Teorema (Bolzano)
Seja I = [a, b] R e uma funo f : I R contnua. Ento o conjunto imagem f(I) tambm
um intervalo e [f(a), f(b)] f(I) ou [f(b), f(a)] f(I).
Portanto, se encontrarmos um intervalo [a, b] tal que, por exemplo, f(a) < 0 e f(b) > 0, ento pelo
teorema de Bolzano existe, um ponto x

[a, b] tal que f(x

) = 0.
O que difere os mtodos de quebra entre si a maneira com que os intervalos so subdivididos.
3.1.1 Mtodo da bisseco
Opasso inicial no mtodo exige o conhecimento prvio de umintervalo [x
0
, x
1
] tal que f(x
0
)f(x
1
) <
0. De acordo com o teorema de Bolzano, h pelo menos uma soluo nesse intervalo. A sequncia
de aproximaes x
0
, x
1
, x
2
, . . . construda de acordo com os seguintes passos:
As duas aproximaes iniciais, x
0
e x
1
, so os extermos do intervalo inicial, a partir deles
escolhemos o ponto intermedirio x
m
=
x
0
+x
1
2
como a nova aproximao.
A partir de x
m
, dividimos o intervalo ao meio, ou seja, o intervalo original dividido em
duas subintervalos de mesmo comprimento: [x
0
, x
m
] e [x
m
, x
1
].
De acordo com a escolha do intervalo inicial, o sinal do valor numrico de f(x
0
) diferente
do sinal de f(x
1
), portanto ao calcular o valor de f(x
2
), h trs possibilidades: f(x
m
) = 0
e a soluo x
m
; o sinal de f(x
m
) igual ao sinal de f(x
0
) ou o sinal de f(x
m
) igual ao
sinal de f(x
1
). Caso f(x
m
) ,= 0, entre [x
0
, x
m
] e [x
m
, x
1
], o intervalo que garantidamente
possui pelo menos uma soluo aquele cujo produto de f nos extremos for menor que zero.
Os novos extremos que satisfaze essa condio so renomeados x
2
e x
3
, ou seja,
x
2
=
_
x
0
, se f(x
0
)f(x
m
) < 0
x
m
, caso contrrio
e
x
3
=
_
x
m
, se f(x
0
)f(x
m
) < 0
x
1
, caso contrrio.
54
3.1 Mtodos de quebra
O subintervalo resultante possui metade do comprimento do intervalo original, [x
0
, x
1
] e
seus extremos so indicados pelos pontos x
2
e x
3
. Esse novo subintervalo submetido a
nova diviso e o procedimento repetido e os ndices dos pontos obtidos atualizado.
Dessa forma, a partir das aproximaes iniciais x
0
e x
1
construiremos uma sequncia de intervalos
[x
0
, x
1
], [x
2
, x
3
], [x
4
, x
5
],. . ., [x
2k
, x
2k+1
], . . . cujos comprimentos decrescem com uma razo
1/2 e os pontos x
2k
e x
2k+1
so determinados a partir das regras
x
m
=
x
2k2
+x
2k1
2
,
x
2k=
_
x
2k2
, se f(x
2k2
)f(x
m
) < 0,
x
m
, caso contrrio,
e
x
2k+1
=
_
x
m
, se f(x
2k2
)f(x
m
) < 0,
x
2k1
, caso contrrio,
para k = 1, 2, . . .
Observao. Se a aproximao inicial [x
0
, x
1
] for tal que f(x
0
)f(x
1
) > 0 isto no quer dizer
que no exista soluo nesse intervalo, apenas o teorema no permite uma concluso sobre a
existncia ou no de soluo nesse intervalo. Nesse caso necessrio escolher outro intervalo
ou ento realizar um diviso adicional. Por exemplo, se f(x) = x(1 x), a equao no linear
f(x

) = 0 possui solues x

= 0 e x

= 1, porm f(1)f(3) > 0.


Devemos adotar um critrio de parada no processo de subdiviso dos intervalos. comum uti-
lizar dois parmetros: um de valor pequeno, , a partir do qual o processo interrompido se a
desigualdade [x
n
x
m
[ < for satisfeita e um parmetro inteiro, N, que representa o nmero
mximo de itertaes aceitveis.
O seguinte algoritmo descreve com maior detalhe todos os passos. A entrada do programa con-
siste nos extremos do intervalo inicial [a, b], a funo f, o parmetro de exatido e o nmero
mximo aceitvel de passos, N. A sada pode ser mensagens de erro ou a soluo x

com exatido
dada pelo parmetro . O algoritmo utiliza as variveis internas x
0
, x
1
e x
m
que guardam os
extremos do subintervalo em trabalho e o ponto intermedirio; f
0
, f
1
e f
m
que guardam os
valores da funo f nesses pontos ; a varivel booleana segue que guarda a informao sobre a
interrupo do lao e o contador cont.
1. entrada [a, b, f, , N];
2. x
0
a; x
1
b; f
0
f(x
0
); f
1
f(x
1
);segue sim;cont 1;
3. se f
0
f
1
> 0, ento: mensagem[ O intervalo inicial pode no
conter soluo];
4. enquanto segue = sim
a) x
m
0, 5 (x
0
+x
1
); f
m
f(x
m
);
55
3 Equaes no lineares
b) se f
m
f
0
< 0, ento: {x
1
x
m
; f
1
f
m
}, seno: {x
0
x
m
;
f
0
f
m
};
c) se fm = 0 ou [x
1
x
0
[ ou cont N, ento: segue n ao;
d) cont cont + 1;
5. se cont N, ento: mensagem[Foram realizados pelo menos ,N,
passos.];
6. se |x
1
x
0
[ ou f
m
[ = 0 ento: mensagem[A soluo aproximada
,N, .], seno: mensagem[No foi possvel determinar a
soluo .];
7. final: termina o programa.
Abaixo segue uma implementao do cdigo para o Scilab. O Objetivo do cdigo abaixo a
clareza, portanto, pode no ser a implementao mais eciente.
// Mtodo da bisseco
// definio da equao
deff([y]=f(x),y=x-exp(-x));
//dados de entrada
x0=0.; // extremidade inferior.
x1=1.; // extremidade superior.
Nmax=100; // limite superior para o nmero de iteraes.
e1=1e-6; // erro absoluto admissvel na soluo.
//inicialiazao das variveis
f0=f(x0); f1=f(x1); contador=1; segue=%T;
// checagem inicial
if f0
*
f1>0 then mprintf(O intervalo inicial pode no conter soluo\n)
end;
//lao principal
while segue
xm=0.5
*
(x0+x1); fm=f(xm);
if fm
*
f0<0 then
x1=xm; f1=fm;
else
x0=xm; f0=fm;
end;
if fm==0 | abs(x1-x0)<=e1 | contador>=Nmax then segue=%F; end;
contador=contador+1;
end;
// Sada de dados
if contador>=Nmax then
mprintf(A exatidao nao foi obtida em %d iteracoes,Nmax)
else
56
3.1 Mtodos de quebra
mprintf(Solucao: %.6f \n,xm);
mprintf(Foram necessarias %d iteracoes\n\n,contador);
end;
De maneira alternativa, a funo f poderia ter sido denda a partir do cdigo
function [y]=f(x)
y= x-exp(-x)
endfunction;
Como exemplo do mtodo, vamos estudar a equao no linear para f(x) = x e
x
. A soluo
dada em termos da funo especial W de Lambert
1
:
x

= W(1) = 0, 5671432904097839 . . .
A tabela seguinte ilustra o comportamento dos extremos do intervalo para a equao xe
x
= 0
com intervalo inicial (0.0 , 1.0):
iterao i x
2i
x
2i+1
1 0, 5 1,0
2 0, 5 0, 75
3 0, 5 0, 625
4 0, 5625 0, 625
5 0, 5625 0, 59375
6 0, 5625 0, 578125
Tabela 3.1: Tabela das primeiras iteraes para o mtodo da bisseco.
Aps 20 iteraes chegamos ao intervalo [0.567142 . . . , 0.567143 . . .]. O valor 0, 567143 sa-
tisfatrio como soluo com 6 dgitos exatos.
1

4
1

2
x

4
1
x
1
0.75
0.5
0.25
0.25
0.5
f x
Figura 3.1: Grco da funo f(x) = x e
x
, no intervalo x [0, 1].
1
Dado um real y >
1
e
, a funo W(y) denida como o nmero real W que satisfaz a equao y = We
W
. Ou seja,
W a inversa da funo xe
x
.
57
3 Equaes no lineares
Limitaes do mtodo
Se na soluo x

, a primeira derivada no nula da funo f for de ordem par ento existe uma
vizinhana de x

na qual f possui o mesmo sinal. Veja os grcos abaixo:


x
f x
x
f x
A funo f na gura esquerda possui uma regio extensa de valores do argumento x em que
f(x) quase nula e alm disso, a menos de sua raiz x

, f sempre positiva
2
. Nesse caso, apesar
de existir uma soluo x

, no h intervalo em que f troca de sinal.


J a funo f na gura direita possui quatro raizes distintas, porm em um intervalo extenso
de valores do argumento x, f(x) quase nula. Nesse caso, dependendo da preciso utilizada, o
mtodo pode identicar apenas algumas das solues.
Limitaes de acurcia
Quando realizamos os cculos com uma mquina, o valor de uma funo f calculado a partir de
operaes em ponto utuante. Vamos denominar

f a funo obtida atravs das operaes em ponto
utuante.
A funo

f pode no possuir o mesmo comportamemto de f, em particular, prxima origem

f
pode no ser montona mesmo que f o seja.
Assim, mesmo que para um dado x
n
o valor de

f (x
n
)

seja pequeno, no possvel armar que


x
n
est prximo de um zero x

de f sem que saibamos o comportamento de sua derivada f

.
O seguinte teorema nos ser til na situao em que x

for uma raiz simples, ou seja, quando


f

(x

) ,= 0.
Teorema
Seja f uma funo contnua e diferencivel no intervalo I = (x
n
, x
n
+) para algum > 0.
Se [f

(x)[ L para todo x I e [f (x


n
)[ L ento f possui exatamente um zero em I.
Vamos supor que em um intervalo I a funo calculada via operaes em ponto utuante

f
relaciona-se original pela expresso
f(x) =

f(x) +(x), onde [(x)[ , x I.
Ento a diferena entra a aproximao x
n
e o valor exato x

para um dos zeros de f satisfaz a


desigualdade
[x
n
x

[ , onde =
[f (x
n
)[
L

f (x
n
) +

L
.
2
Corresponde ao caso de razes de multiplicidade par nos polinmios, ou de maneira mais geral, quando existe um
natural n tal que
d
2j1
dx
2j1
f (x

) = 0 para todo 0 j n e
d
2n
dx
2n
f (x

) = 0.
58
3.1 Mtodos de quebra
Se a funo

f for nula em x
n
( o melhor que podemos esperar realizando as operaes em uma
mquina) teremos
[x
n
x

[

L

x
=

[f

(x

)[
onde
x
denominado limite de acurcia.
A partir dessa expresso podemos vericar que se [f

(x

)[ for pequeno, o problema ser mal


condicionado.
Quando x

no for uma raiz simples, o problema de condicionamento se manifesta de forma


mais evidente.
Denio. Multiplicidade de raizesSeja f uma funo p vezes continuamente diferencivel em
alguma vizinhana de x

, raiz da equao f(x) = 0. Dizemos que x

possui multiplicidade p se
0 ,= lim
xx

f(x)
(x x

)
p

< .
Atravs da srie de Taylor possvel vericar que o limite de acurcia dado por

x
=
_
p!

f
(p)
(x

_
1/p
.
Critrios de parada
O critrio de parada pode ser denido de vrias formas, noi caso de mtodso iterativos, o mais usual
para a execuo do algoritmo quando for sdatisfeita a desigualdade
[x
n
x
n1
[ + 2 %eps [x
n
[ .
Se houver informao sobre as quantidades e f

(x

), pode-se utilizar o limite de acurcia


x

como critrio de parada.


No caso de mtodos iterativos de rpida convergncia possvel utilizar como critrio de parada,
a exigncia de que as seguintes desigualdades seja satisfeitas
[x
n
x
n1
[ e [x
n+1
x
n
[ [x
n
x
n1
[ .
3.1.2 Mtodo da falsa posio ou regula falsi
A diferena bsica entre este mtodo e o mtodo da bisseo est na forma de dividir o intervalo.
O mtodo da falsa posio utiliza como ponto intermedirio para diviso do intervalo (x
0
, x
1
), o
ponto dado pela interseco entre o eixo x e a reta que une os pontos (x
0
, f(x
0
)) e (x
1
, f(x
1
)). A
reta que une esses dois pontos possui equao (x):
(x) =
f(x
0
) f(x
1
)
x
0
x
1
x +
x
0
f(x
1
) x
1
f(x
0
)
x
0
x
1
.
59
3 Equaes no lineares
Portanto, o ponto intermedirio x
m
dado por
x
m
= x
0

(x
0
x
1
)
f(x
0
) f(x
1
)
f(x
0
).
x
0
x
1
x

x
m
x
f x
Figura 3.2: A reta que une os pontos (x
0
, f(x
0
)) e (x
1
, f(x
1
)) est pontilhada. Ela cruza o eixo x
no ponto que divide o intervalo, x
m
A tabela seguinte ilustra o comportamento dos extremos do intervalo para a equao xe
x
= 0
com intervalo inicial (0.0 , 1.0):
iterao i x
2i
x
2i+1
1 0, 0 0, 612699 . . .
2 0, 0 0, 572181 . . .
3 0, 0 0, 567703 . . .
4 0, 0 0, 567206 . . .
5 0, 0 0, 567150 . . .
6 0, 0 0, 567144 . . .
Tabela 3.2: Tabela das primeiras iteraes para o mtodo da falsa posio.
Aps 7 iteraes chegamos ao resultado nas mesmas condies (6 dgitos de exatido) utilizadas
no mtodo anterior.
3.2 Mtodos de ponto xo
Os mtodos de ponto xo caracterizam-se por reescrever a equao no linear
f(x

) = 0 (3.2)
na forma
(x

) = x

e utilizar o teorema do ponto xo que veremos logo adiante para garantir a convergncia da
sequncia x
n+1
= (x
n
) para o ponto xo x

que soluo de (3.2).


Vamos considerar um intervalo [a, b] que contm uma nica soluo x

[a, b] da equao (3.2).


60
3.2 Mtodos de ponto xo
Nesse intervalo, denimos a funo : [a, b] R
(x) = x +(x)f(x),
onde (x) ,= 0 no intervalo [a, b]. Como no se anula em todo intervalo, a equao (x) = x
possui x

como nica soluo.


Asoluo x

ser ento determinada atravs da convergncia da sequncia x


n

n=0
, lim
n
x
n
=
x

, onde x
n+1
= (x
n
). A garantia da convergncia estabelecida pelo teorema do ponto xo:
Teorema (ponto xo)
Seja uma funo contnua em um intervalo I = [a, b] e diferencivel no intervalo aberto (a, b).
Se as seguintes condies forem satisfeitas:
(I) I, obs: (a notao indica x I, g(x) I)
x I, [

(x)[ L < 1 obs:(ou seja, uma contrao)


Ento dado qualquer x
0
I, existe um nico ponto x

I tal que a sequncia x


n+1
= (x
n
)
converge para x

= (x

).
Demonstrao: A demonstrao est estruturada da seguinte forma: incialmente vamos re-
lacionar os erros absolutos na n + 1-sima aproximao aos erros absolutos na aproximao
anterior e garantir que a cada iterao o erro seja menor. Em seguida trataremos da unicidade
de soluo em I, para tanto vamos supor que exsitam duas e concluir por absurdo que isso no
possvel.
Trataremos agora da questo da convergncia (existncia de ponto xo). Seja a distncia
entre a n-sima aproximao , x
n
, e a soluo exata, x

:
[x
n+1
x
n
[ = [(x
n
) (x
n1
)[.
A igualdade vlida pois, por denio, x
n+1
= (x
n
) e x

= (x

).
Segundo o teorema do valor mdio, existe um c (x
n
, x

) tal que [(x


n
) (x

)[ =
[

(c)[[x
n
x

[. De acordo com as hipteses, tal que (I) I, ento se a aproximao


inicial, x
0
, pertence a I, (x
n
) tambm pertence a esse intervalo. Como c (x
n
, x

) I,
segundo as hipteses temos que [

(c)[ L < 1, e assim:


[x
n+1
x

[ = [(x
n
) (x

)[
= [

(c)[[x
n
x

[
L[x
n
x

[. (3.3)
Utilizando recursivamente a desigualdade (3.3) vericamos que
[x
n+1
x

[ L[x
n
x

[ L
2
[x
n1
x

[ . . . L
n+1
[x
0
x

[,
61
3 Equaes no lineares
portanto
lim
n
[x
n+1
x

[ lim
n
L
n+1
[x
0
x

[ = [x
0
x

[ lim
n
L
n+1
.
Novamente segundo as hipteses, L < 1 e [x
0
x

[ um nmero nito pois x


0
e x

pertencem
ao intervalo nito [a, b]. Assim lim
n
L
n+1
= 0 e
lim
n
[x
n+1
x

[ = 0.
Ou seja, a sequncia converge para um x

= (x

). Dessa forma, existe pelo menos um ponto


x

no intervalo [a, b] que satisfaz a equao x

= (x

). A seguir, vamos vericar que esse


ponto nico.
Sejam x
1
e x
2
dois pontos distintos no intervalo I = [a, b] que satisfazem a equao
x = (x), ou seja, x
1
= (x
1
) e x
2
= (x
2
). Ento, de acordo com o teorema do valor
mdio, existe um c [x
1
, x
2
] tal que
[x
1
x
2
[ = [

(c)[[x
1
x
2
[.
Segundo as hipteses, x
1
, x
2
I, dessa forma

(c) L < 1, ou seja,


[x
1
x
2
[ < [x
1
x
2
[,
o que uma contradio.
Portanto, no intervalo I = [a, b] h um e somente um ponto x

= (x).
Observao. Note que na demonstrao do teorema do ponto xo, fundamental que a derivada
de seja estritamente menor do que 1 em alguma vizinhana I que contm a soluo. Caso
contrrio, se [

(x)[ 1 em um intervalo I, no podemos excluir a possibilidade de que as


iteradas transitem por uma sequncia cclica de pontos sem convergir para a soluo x

, ou mesmo
a possibilidade de haver mais de uma soluo nesse intervalo. Naturalmente isto no quer dizer
que esses comportamentos ocorram sempre que as hipteses do teorema no forem vlidas.
3.2.1 Mtodo da iterao linear
Trata-se de encontrar uma funo que satisfaa as hipteses do teorema do ponto xo para alguma
vizinhana em torno da soluo x

da equao f(x

) = 0.
Como a funo construda a partir de uma outra funo (x) ,= 0 em um intervalo que contem
a soluo de f(x

) = 0, encontr-la signica determinar (x) ,= 0. A condio de convergncia


garantida ento pelo teorema do ponto xo se as suas hipteses forem satisfeitas.
Vamos considerar o exemplo que j estudamos anteriormente, f(x) = x e
x
. Nesse caso
f(x) = 0 x = e
x
= (x). Portanto, como por denio, (x) = x + (x)f(x), no nosso
exemplo (x) 1. Assim (x) ,= 0 para qualquer valor de x. Como [

(x)[ = e
x
, as hipteses
do teorema do ponto xo so vlidas no intervalo
3
I = (0, +), onde (I) I e [

(x)[ < 1.
3
Na prtica, raramente procuramos garantir a hiptese (I) I pois muitas vezes, determinar esse intervalo exata-
mente equivale a resolver a equao no linear.
62
3.2 Mtodos de ponto xo
Vamos ento, escolher como aproximao inicial x
0
= 0, 5. A sequncia dada em seus primei-
ros termos por
iterao n x
n
1 0, 606531 . . .
2 0, 545239 . . .
3 0, 579703 . . .
4 0, 560065 . . .
5 0, 571172 . . .
6 0, 565863 . . .
Tabela 3.3: Tabela das primeiras iteraes para o mtodo da iterao linear com (x) = e
x
.
A soluo com 6 dgitos exatos alcanada aps 22 iteraes.
Uma outra possibilidade para a funo seria a escolha (x) = ln x que corresponde a (x) =

x + ln x
x e
x
que sempre negativa no intervalo (0, +). No entanto, [

(x)[ =
1
[x[
maior do que a
unidade no intervalo (0, 1) que contm a soluo e assim, o teorema do ponto xo no d garantias
de convergncia. Podemos perceber que logo nas primeiras iteraes, a sequncia toma valores
negativos e, dessa forma, como (x) = ln x, a sequncia no estar denida apenas nos nmeros
reais. Em particular essa sequncia no converge para nenhuma soluo de f(x) no plano complexo
(a equao possui innitas solues l).
3.2.2 Mtodo Newton-Raphson
A partir da demonstrao do teorema do ponto xo, podemos notar que quanto menor for o limite
superior L < 1 para o valor absoluto da derivada de na vizinhana da soluo x

mais rapida-
mente a sequncia converge para a soluo da equao no linear. O mtodo de Newton-Raphson
um mtodo iterativo que utiliza essa propriedade da convergncia das sequncias para garantir
uma convergncia rpida para a soluo a partir do instante que x
n+1
se aproxima de uma vizi-
nhana sucientemente prxima de x

. Portanto, a ideia determinar uma funo (x) tal que


e sua derivada sejam contnuas em algum domnio contnuo que contenha a soluo e alm disso,

(x

) = 0. Essas hipteses garantem que, em uma vizinhana prxima de x

, a funo tal que


[

[ 1.
Tomando a derivada de , por denio temos:

(x) = 1 +

(x)f(x) +(x)f

(x)
e em x = x

, soluo da equao f(x

) = 0, temos

(x

) = 1 +(x

)f

(x

).
Portanto, a escolha
(x) =
1
f

(x)
(3.4)
implica

(x

) = 0 de maneira que na vizinhana de x

, [

[ assume pequenos valores. A partir da


63
3 Equaes no lineares
escolha (3.4) para a funo , a funo dada por
(x) = x
f(x)
f

(x)
. (3.5)
Vamos novamente utilizar o exemplo f(x) = x e
x
, nesse caso a iterao dada pela funo :
(x) = x
x e
x
1 +e
x
=
(x + 1)
1 +e
x
.
Partindo da aproximao inicial x
0
= 0, 5:
iterao n x
n
1 0, 566311 . . .
2 0, 567143 . . .
Tabela 3.4: Tabela das primeiras iteraes para o mtodo Newton-Raphson com (x) =
(x+1)
1+e
x
.
a sequncia converge para a soluo exata at a 6 casa decimal em duas iteraes. Se utilizarmos
x
0
= 1, 0 como aproximao inicial obteramos o mesmo resultado aps trs iteraes.
Vamos analisar com um pouco mais de detalhe a questo da convergncia. Seja x
n+1
um ponto
dado pela relao de recorrncia (3.5) que est prximo da soluo x

, ento de acordo com a


denio, [x
n+1
x

[ = [(x
n
) (x

)[. Estudamos na subseo anterior que se for contnua


e possuir derivada contnua no intervalo aberto entre os pontos x
n
e x

, o teorema do valor mdio


garante que existe um ponto c nesse intervalo tal que
[x
n+1
x

[ = [(x
n
) (x

)[
=

(c)

[x
n
x

[ . (3.6)
Se x
n+1
estiver sucientemente prximo de x

e f

(x

) ,= 0,

(c) ser um nmero pequeno. Dito


de uma forma mais exata,
lim
n
[x
n+1
x

[
[x
n
x

[
=

(x

=
f(x

)f

(x

)
(f

(x

))
2
= 0, se f

(x

) ,= 0. (3.7)
Ou seja, nessa situao, a convergncia mais rpida que a linear.
Ainda possvel obter mais informao sobre a convergncia. Por construo

(x

) = 0,
portanto adicion-lo a

(c) no altera o seu valor, ou seja,

(c) =

(c)

(x

). Ento a partir
de (3.6) e do teorema do valor mdio, temos que se

for contnua no intervalo entre os pontos c e


x

, existe um c nesse intervalo tal que

(c) =

(c)

(x

) =

( c) (c x):
[x
n+1
x

[ =

( c)

[x
n
x

[ [c x[ .
<

( c)

[x
n
x

[
2
, (3.8)
a desigualdade se deve ao fato de que c pertence ao intervalo aberto entre os pontos x
n
e x

, logo
64
3.3 Mtodos de mltiplos pontos
[c x[ < [x
n
x[. Dessa forma a convergncia ser pelo menos quadrtica
4
:
lim
n
[x
n+1
x

[
[x
n
x

[
2
=

(x

=
f

(x

)
f

(x

)
.
Por outro lado, quando f

(x

) = 0 a convergncia deve ser analisada atravs do limite (3.7):


lim
n
[x
n+1
x

[
[x
n
x

[
= lim
xx

(x)

= lim
xx

(x)f

(x) +f(x)f

(x)
2f

(x)f

(x)
=
1
2
,
onde a passagem do segundo limite para o terceiro realizada com a ajuda da regra de LHpital; e
novamente atravs da regra de LHpital para o segundo termo do terceiro limite possvel vericar
que o mesmo no d contribuio se f

(x

) ,= 0.
3.3 Mtodos de mltiplos pontos
3.3.1 Mtodo da secante
O mtodo da secante similar ao mtodo da falsa posio, diferem entre si pelo fato de que no
mtodo da secante no h diviso e escolha de intervalos, a sequncia de aproximaes calculada
a partir das duas ltimas aproximaes e portanto, devemos iniciar com duas aproximaes para a
soluo. Ao contrrio do mtodo da falsa posio, no h necessidade de que a soluo esteja entre
as duas aproximaes iniciais.
A sequncia montada a partir da regra para iterao
5
x
n+1
= x
n

(x
n
x
n1
)
f(x
n
) f(x
n1
)
f(x
n
).
De maneira semelhante que ocorre nos mtodos de ponto xo, para que ocorra convergncia, em
geral, as duas primeiras aproximaes devem estar em uma vizinhana sucientemente prxima da
soluo.
possvel demonstrar que se f for duas vezes continuamente diferencivel e f

(x

) ,= 0, ento
existe um constante K tal que
lim
n
[x
n+1
x

[
[x
n
x

= K,
onde =
1 +

5
2
1, 618. Ou seja, apesar de ser mais lenta que no mtodo Newton-Raphson, a
convergncia mais rpida que a convergncia linear de alguns mtodos de ponto xo.
4
pode ser de ordem superior se, por exemplo, nessa situao, f

(x

) = 0.
5
comum utilizar as seguintes variaes para minimizar os efeitos de arredondamento:
x
n+1
=
8
>
>
>
>
<
>
>
>
>
:
x
n

(x
n
x
n1
)
f(x
n
)
f(x
n1
)
1
f(x
n
)
f(x
n1
)
, se |f(x
n
)| < |f(x
n1
)|
x
n

(x
n
x
n1
)
1
f(x
n1
)
f(x
n
)
, se |f(x
n1
)| < |f(x
n
)|
65
3 Equaes no lineares
iterao n x
n
1 0, 544221 . . .
2 0, 568826 . . .
3 0, 567150 . . .
4 0, 567143 . . .
Tabela 3.5: Tabela das primeiras iteraes para o mtodo da secante para f(x) = x e
x
, com
aproximaes iniciais x
0
= 0, 9 e x
1
= 1, 0.
a sequncia converge para a soluo exata at o sexto dgito em quatro iteraes. Se utilizarmos
x
0
= 0, 5 e x
1
= 1, 0 como primeiras aproximaes obteramos o mesmo resultado aps trs
iteraes.
3.4 Razes de polinmios
As equaes no lineares constitudas por polinmios de grau n N com coecientes complexos
a
n
, a
n1
, . . . a
0
:
p(x)
.
= a
n
x
n
+a
n1
x
n1
+. . . a
1
x +a
0
= 0, (3.9)
dispe de vrios mtodos para determinar aproximaes para suas razes. Esses mtodos foram
desenvolvidos a partir da prpria estrutura matemtica dos polinmios.
O teorema fundamental da lgebra garante que a equao (3.9) possui n solues (denominadas
razes de p(x)) no plano complexo, x

1
, x

2
, . . ., x

n
C. Portanto, p(x) pode ser reescrito como
p(x) (x x

1
)(x x

2
) . . . (x x

n
).
A partir dessa estrutura possvel desenvolver vrios mtodos especcos para determinar as razes.
O seguinte teorema relaciona a localizao das razes de um polinmio no plano complexo aos
seus coecientes:
Teorema
Seja x qualquer raz do polinmio
p(x) = a
n
x
n
+a
n1
x
n1
+. . . +a
1
x +a
0
.
Ento
[x [ max
_

a
0
a
n

, 1 +

a
1
a
n

, 1 +

a
2
a
n

, . . . , 1 +

a
n1
a
n

_
,
[x [ max
_
_
_
1,
n1

j=0

a
j
a
n

_
_
_
,
[x [ 2 max
_

a
n1
a
n

a
n2
a
n

1
2
,

a
n3
a
n

1
3
, . . . ,

a
0
a
n

1
n
_

_
,
[x [
n1

j=0

a
j
a
j+1

.
66
3.5 Newton-Raphson modicado
A partir desse teorema podemos determinar um disco no plano complexo, com centro na origem,
a partir do qual escolhemos aproximaes iniciais que sero as entradas de mtodos iterativos.
Por exemplo, podemos utilizar um dos ponto desse disco como aproximao inicial no mtodo de
Newton-Raphson.
3.5 Newton-Raphson modicado
Uma vez denida a regio em que as razes se encontram no plano complexo, escolhemos um ponto
nessa regio x
(0)
como aproximao inicial e utilizamos o mtodo de Newton-Raphson usual :
x
(j+1)
= x
(j)

p
_
x
(j)
_
p

_
x
(j)
_.
Uma vez determinada a aproximao para a primeira raiz x
1
, temos que as demais razes so tam-
bm soluo do novo polinmio p
1
(x) =
p(x)
x x
1
, pois de acordo com o teorema fundamental da
lgebra, se x
1
, x
2
, . . ., x
n
so razes de p(x) =

n
j=1
(x x
j
), ento, por construo o polin-
mio p
1
(x) possuir tambm razes x
2
, x
3
, . . ., x
n
. Portanto para determinar as razes seguintes
utilizamos a regra de Newton-Raphson para a equao p
1
(x) = 0:
x
(j+1)
= x
(j)

p
1
_
x
(j)
_
p

1
_
x
(j)
_.
Porm dado que
p
1
(x)
p

1
(x)
=
p
_
x
(j)
_
p

_
x
(j)
_
p
_
x
(j)
_
1
x x
1
podemos montar a regra a partir do polinmio original p(x) e da raiz conhecida x
1
:
x
(j+1)
= x
(j)

p
_
x
(j)
_
p

_
x
(j)
_
p
_
x
(j)
_
1
x x
1
e de uma outra aproximao inicial para determinar a nova raiz x
2
. Esse procedimento pode ser
repetido sucessivamente e uma vez que conheamos k razes de p(x), a k + 1-sima raz pode ser
determinada atravs da iterao
x
(j+1)
= x
(j)

p
_
x
(j)
_
p

_
x
(j)
_
p
_
x
(j)
_
k
m=1
1
x x
m
.
Naturalmente, as propriedades de convergncia desse mtodo so as mesmas do mtodo de
Newton-Raphson, ou seja, se a raiz for simples, a convergncia ser quadrtica, se for mltipla
a convergncia ser linear apenas.
67
3 Equaes no lineares
3.6 Sistemas de Equaes no lineares (mtodo de
Newton-Raphson)
Seja um domnio U R
n
e F : U R
n
um funo contnua e diferencivel. O sistema de
equaes
F(x

) = 0 R
n
, (3.10)
onde a soluo, x

R
n
, representada por um vetor de componentes x

1
, x

2
, . . . , x

n
e F possui
componentes F
1
(x), F
2
(x), . . ., F
n
(x) R, cada uma delas uma funo contnua e diferencivel
de n variveis. Cada equao F
i
(x) = 0 de (3.10) dene uma hipersuperfcie de dimenso n 1
contida em U R
n
. O conjunto soluo formado pela interseco dessas superfcies.
A natureza do problema mais complexa, pois conforme aumentamos a dimenso do sistema, o
comportamento das solues potencialmente mais rico. Como exemplo, vamos considerar o se-
guinte caso emdimenso dois. Seja F(x, y) = (F
1
(x, y), F
2
(x, y)) onde F
1
(x, y) = cos(x) cos(y)
0.1 e F
2
(x, y) = sen(x)sen(y) 0.5. Abaixo esto os grcos dessas funes:
-10
-5
0
5
10
x
-10
-5
0
5
10
y
-1
-0.5
0
0.5
F
1
( x, y)
-10
-5
0
5
x
-10
-5
0
5
10
x
-10
-5
0
5
10
y
-1.5
-1
-0.5
0
0.5
F
2
( x, y)
-10
-5
0
5
x
Figura 3.3: Grcos das funes F
1
(x, y)e F
2
(x, y)
Cada equao F
1
(x, y) = 0 e F
2
(x, y) = 0 determina um conjunto de curvas (superfcies conti-
das em um espao de dimenso dois) no plano x y. As solues de F(x) = 0 R
2
, ou dito de
outra forma, do sistema
_
F
1
(x, y) = 0
F
2
(x, y) = 0
so as interseces desses dois conjuntos de superfcies:
68
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)
-10 -5 0 5 10
x
-10
-5
0
5
10
y
-10 -5 0 5 10
x
-10
-5
0
5
10
y
-10 -5 5 10
x
-10
-5
5
10
y
Figura 3.4: Acima esquerda: curvas formadas pelos conjuntos de pontos que satisfazem
cos(x) cos(y) = 0.1. Acima direita: curvas formadas pelos conjuntos de pontos
que satisfazem sen(x)sen(y) = 0.5. Abaixo: sobreposio das curvas (superfcies); os
pontos de interseco das curvas so as solues do sistema.
Existe um nmero menor de mtodos disponveis para determinar uma soluo aproximada para
(3.10). Vamos estudar apenas a extenso do mtodo Newton-Raphson para sistemas de equaes
no lineares.
Se A(x) for uma matriz n n no singular (determinante diferente de zero) em alguma vizi-
nhana da soluo x

da equao (3.10), ento x

tambm soluo da equao


(x

) = x

,
onde (x)
.
= x+A(x)F(x). A funo permite a construo de uma sequncia de aproximaes
_
x
(j)
_

j=0
a partir da regra
x
(j+1)
=
_
x
(j)
_
e de uma aproximao inicial x
(0)
. A questo da convergncia dos elementos da sequncia para a
soluo tratada por uma forma mais geral do teorema do ponto xo que estudamos na seo 3.2.
O teorema garante que se x
(0)
for sucientemente prximo da soluo ento existe um 0 K <
lim
j
_
_
x
(j+1)
x

_
_
_
_
x
(j)
x

_
_
= K,
69
3 Equaes no lineares
onde a notao || indica uma norma (medida) para os vetores em dimenso n.
Tambm de modo anlogo ao estudado na seo 3.2, o mtodo de Newton-Raphson consiste
em determinar uma funo tal que a convergncia seja quadrtica, i. e., deve ser tal que os
elementos da sequncia
_
x
(j)
_

j=0
possuam a seguinte convergncia
6
:
lim
j
_
_
x
(j+1)
x

_
_
_
_
x
(j)
x

_
_
2
=

K
para um 0

K < . A funo que garante esse comportamento (x)
.
= x J
1
(x)F(x),
onde J
1
(x) a inversa da matriz jacobiana da transformao (ou funo) F(x). As componentes
i, j da matriz jacobiana so dadas por
(J(x))
i,j
=
F
i
x
j
(x)
para F(x) = (F
1
(x), F
12
(x), . . . , F
n
(x)), onde cada i-sima componente da forma F
i
(x) =
F
i
(x
1
, x
2
, . . . , x
n
).
O mtodo consiste na construo da sequncia de aproximaes
_
x
(j)
_

j=0
a partir de uma apro-
ximao inicial x
(0)
e da regra
x
(j+1)
= x
(j)
J
1
(x
(j)
)F(x
(j)
)
para j 0.
Exemplo: A equao z

e
z

= 0 possui apenas uma soluo real, dada pela funo W


de Lambert, z

= W(1) = 0.567143290 . . . Porm, essa mesma equao possui innitas


solues no plano complexo. possvel determinar aproximaes para as solues complexas
a partir de uma aproximao inicial complexa e do mtodo de Newton-Raphson usual.
De acordo com o mtodo, utilizamos a sequncia
z
(j+1)
=
1 +z
(j)
1 +e
z
(j)
Vamos representar as partes real e imaginria do complexo z por x e y, respectivamente, ou
seja, z = x + iy. Ento, segundo a frmula de Euler, a regra anterior implica as seguintes
regras para as partes real e imaginria das aproximaes
x
(j+1)
+iy
(j+1)
=
1 +x
(j)
+iy
(j)
1 +e
x
(j)
+iy
(j)
=
1 +x
(j)
+iy
(j)
1 +e
x
(j)
_
cos(y
(j)
) +isen(y
(j)
)
_,
6
O que necessariamente implica lim
j

x
(j+1)
x

x
(j)
x

= 0.
70
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)
nalmente
x
(j+1)
=
_
1 +x
(j)
_
_
e
(j)
+ cos(y
(j)
)
_
+y
(j)
sen(y
(j)
)
2
_
cos(y
(j)
) + cosh(x
(j)
)
_ (3.11)
e
y
(j+1)
=
y
(j)
_
e
x
(j)
+ cos(y
(j)
)
_

_
1 +x
(j)
_
sen(y
(j)
)
2
_
cos(y
(j)
) + cosh(x
(j)
)
_ . (3.12)
De maneira alternativa, poderamos considerar o problema bidimensional como uma equa-
o que leva um nmero complexo (representado por um vetor com duas componentes reais)
em outro complexo :
x

+iy

e
x

iy

= 0 = 0 + 0i.
De acordo com a frmula de Euler, termo e
iy

= cos(y

) isen(y

), portanto a equao
anterior assume a forma
x

e
x
cos(y

) +i
_
y +e
x

sen(y

)
_
= 0 + 0i.
Ou seja,
F(x

, y

) = (F
1
(x

, y

), F
2
(x

, y

)) = (0, 0),
onde
F
1
(x, y) = x e
x
cos(y)
e
F
2
(x, y) = y +e
x
sen(y).
Nesse caso a matriz jacobiana assume a forma
J(x, y) =
_
1 +e
x
cos(y) e
x
sen(y)
e
x
sen(y) 1 +e
x
cos(y)
_
,
cujo determinante
det J(x, y) = 1 + 2e
x
cos(y) +e
2x
= 2e
x
(cos(y) + cosh(x)) .
Como cos(y) 1, temos que det J(x, y) 1 + 2e
x
+e
2x
= (1 +e
x
) 0 s se anula
quando x = 0, ou seja, no eixo imaginrio. Fora dessa regio a matriz jacobiana no singular
e a o mtodo est bem denido.
A inversa de J(x, y) dada por
J
1
(x, y) =
_
_
_
_
e
x
+ cos(y)
2 (cos(y) + cosh(x))

sen(y)
2 (cos(y) + cosh(x))
sen(y)
2 (cos(y) + cosh(x))
e
x
+ cos(y)
2 (cos(y) + cosh(x))
_
_
_
_
.
71
3 Equaes no lineares
De onde podemos vericar que a regra
_
x
(j+1)
, y
(j+1)
_
=
_
x
(j)
, y
(j)
_
J
1
_
x
(j)
, y
(j)
_
F
_
x
(j)
, y
(j)
_
exatamente igual s regras (3.11) e (3.12).
O grco abaixo ilustra o comportamento da funo [F(x, y)[, as reas mais claras repre-
sentam regies de valores prximos do zero. As solues da equao correspondem ao centros
dos elipsoides.
-4 -3 -2 -1 0 1
0
5
10
15
20
25
30
x
y
Figura 3.5: Curvas de nvel da funo [x+iy e
(x+iy)
[. Regies mais claras representam valores
menores.
Apartir do grco, escolhemos como valor inicial o complexo 1, 0+4, 0i que est prxima
da soluo complexa com menor valor absoluto para a parte imaginria. Abaixo, segue a tabela
com o resultado das iteraes com as regras (3.11) e (3.12):
iterao n x
n
y
n
1 1, 70175 . . . 4, 64257 . . .
2 1, 52548 . . . 4, 42130 . . .
3 1, 53277 . . . 4, 37503 . . .
4 1, 53391 . . . 4, 37518 . . .
5 1, 53391 . . . 4, 37518 . . .
Tabela 3.6: Tabela das primeiras iteraes do mtodo de Newton-Raphson para f(x + iy) = x +
iy e
(x+iy)
, com aproximaes iniciais x
0
= 1, 0 e y
0
= 4, 0.
72
3.7 Exerccios
3.7 Exerccios
1) Seja a equao no linear
x e
x
= 0.
A soluo dada em termos da funo W de Lambert, x

= W(1) 0, 567143290 . . . Se utilizar-


mos o mtodo da bisseco e o intervalo inicial (0, 1) sero necessrias 20 iteraes para obter um
resultado com 6 casas decimais exatas. Utilizando o mesmo intervalo inicial mas com o mtodo da
falsa posio sero necessrias apenas 8 iteraes para obter um resultado com a mesma exatido.
Se no entanto, o intervalo inicial for (10, 10) sero necessrias 22029 iteraes no mtodo da
falsa posio enquanto que no mtodo da bisseco sero necessrias apenas 24 iteraes. Como
voc explicaria essa diferena?
2) Encontre as duas solues reais da equao
x +e
x
3 = 0
com seis dgitos exatos.
3) As seguintes equaes possuem uma raiz real positiva igual a
3
2
.
x
4
3, 5 x
3
+ 2, 25 x
2
+ 3, 375 x 3, 375 = 0
x
4
+ 1, 5 x
3
1, 5 x
2
3, 5 x 1, 5 = 0
Utilize o mtodo de Newton-Raphson com algumas aproximaes iniciais diferentes para encontrar
essa raiz. O que voc pode notar?
4) Utilize os mtodos de Newton-Raphson e da secante para determinar a primeira raiz real
positiva da equao
cos(x) = x.
5) Utilize os mtodos de Newton-Raphson e da secante para determinar as duas razes reais e
positivas da equao
x
x
0.8 = 0
6) Determine as trs razes reais e positivas da equao
cos(x) = 0.02 x
2
.
73
3 Equaes no lineares
7) A partir do mtodo de Newton-Raphson, desenvolva um algoritmo para calcular a raiz qua-
drada de um ponto utuante x no menor nmero de passos possvel. Sugesto: utilize a base 2,
represente x = mantissa(x) 2
expoente(x)
e trabalhe com uma escolha adequada de aproximaes
iniciais, como por exemplo retas ajustadas para cada domnio de valores de x.
8) A partir do grco abaixo, determine uma aproximao para o ponto x

em que a reta y = x
tangencia a curva y = sen(x). Utilize o mtodo de Newton-Raphson e obtenha 5 dgitos exatos.

2

3

2
2 x

3
x
1
0.5
0.5
1
y
yx
ysenx
9) Determine as solues mais prximas do eixo (0, 0) para o sistema de equaes no lineares
da gura 3.4. Apresente o resultado com 5 dgitos exatos.
10) Determine todas as razes (e suas respectivas multiplicidades) do polinmio
x
6
x
5
+x
4

3
4
x
3

1
16
x
2
+
1
4
x
1
16
com 5 dgitos exatos.
11) Utilize o mtodo da secante para determinar a melhor aproximao com 6 dgitos de preciso
para o valor x

> 0 que corresponde ao primeiro mnimo da funo


sen 3x
x
.
12) A partir do mtodo Newton-Raphson possvel montar uma relao de recorrncia para obter
a raiz de ndice k = 2, 3, . . . de um nmero y > 0,
k

y, atravs de operaes elementares (+, ,


e ). Obtenha a relao de recorrncia que aproxima
8

10. Sugesto: note que a raiz soluo de


x
8
= 10.
13)
Determine uma aproximao para o ponto (x

, y

) em que a funo
1
0
1
x
1
0
1
y
2
0
5
10
50
100
f
f : R
2
R,
f(x, y) = x
4
y
6
+ 3xy
3
x, atinge seu valor mximo.
74
4 Derivao numrica
Nesta seo vamos desenvolver mtodos para estimar a derivada de uma funo f calculada em um
ponto x

, f

(x

), a partir de valores conhecidos de f em pontos prximos ao ponto x

.
Uma possvel abordagem para encontrar a derivada em um ponto x

consiste em determinar uma


interpolao polinomial, p(x), a partir dos valores de f em pontos prximos a x

e ento estimar
f

(x

) a partir de p

(x

). Essa abordagem a mais indicada quando estamos interessados no valor


da derivada para diversos pontos ou quando os pontos utilizados para construir a interpolao p no
esto igualmente espaados.
Na situao em que a funo f conhecida em uma sequncia igualmente espaada de pontos,
dispomos de outras tcnicas como o clculo das derivadas a partir de operaes de diferena nita.
Antes de dar continuidade, a seguinte denio nos ser muito til:
Denio (Notao O()). A notao f(x) = O(g(x)) quando x x
0
signica que existem
constantes positivas e tais que
[f(x)[ [g(x)[
para todo x no intervalo [x x
0
[ .
A mesma notao utilizada na situao x (ou ) siginica que existem constantes >
0 e x > 0 (respectivamente x < 0) tal que a mesma desigualdade vlida para todo x > x
(respectivamente x < x).
A partir da denio podemos concluir, por exemplo, que sen(x) = O(x) quando x 0. Da
mesma forma 30(cos(12x) 1) = O(x
2
), e
x
cos(x) = O(1) e 10 cos(x) = O(1) quando x 0.
Alm disso, a notao tal que as seguinte propriedades so satisfeitas: dados a b 0, se
f(x) = O(x
a
) e g(x) = O(x
b
) quando x 0, ento f(x) +g(x) = O(x
b
), f(x) g(x) = O(x
b
),
f(x)/g(x) = O(x
ab
) e f(x)g(x) = O(x
a+b
) quando x 0.
Aproximao da derivada por diferenas nitas
A partir da denio da funo f

(x) atravs do limite


f

(x) = lim
h0
f(x +h) f(x)
h
,
introduzimos a operao de diferena nita
1
D
+,h
, a partir da qual obtemos uma segunda funo
g
h
(D
+,h
f):
g
h
(x) = (D
+,h
f) (x) =
f(x +h) f(x)
h
.
1
A notao |
x
para a funo deve ser entendida simplesmente como o valor da funo quando seu argumento assume
o valor x, i. e., |
x
(x).
75
4 Derivao numrica
No limite recuperamos a funo derivada de f, lim
h0
g
h
(x) = lim
h0
(D
+,h
f) (x) = f

(x).
importante notar que a denio de derivada a partir de limites no nica, podemos denir a
mesma funo derivada de f a partir de outros limites (e assim, determinar outras operaes de
diferena nita), por exemplo
f

(x) = lim
h0
f(x) f(x h)
h
ou ainda
f

(x) = lim
h0
f(x +h) f(x h)
2h
.
A cada uma dessas denies podemos associar naturalmente uma operao de diferena nita. A
partir dos dois ltimos limites, associamos as operaes D
,h
e D
0,h
:
(D
,h
f) (x)
.
=
f(x) f(x h)
h
,
(D
0,h
f) (x)
.
=
f(x +h) f(x h)
2h
.
As funes que resultam da ao das duas primeiras operaes, D
,h
e D
,h
, sobre uma funo f
podem ser prontamente identicadas, respectivamente, com a derivada da interpolao de uma reta
a partir dos pontos (x, f(x)), (x+h, f(x+h)) no primeiro caso e (x, f(x)), (xh, f(xh)), no
segundo. J a funo que resulta da operao D
0,h
sobre uma funo f, pode ser entendida como a
derivada da parbola interpolada a partir dos pontos (xh, f(xh)), (x, f(x)) e (x+h, f(x+h)).
Verique esse fato utilizando a interpolao de Lagrange ou Newton.
Erros de truncamento
Vamos analisar os erros de truncamento cometidos quando calculamos numericamente a derivada
de uma funo atravs das operaes de diferena nita.
A diferena entre (D
+,h
f) (x) e f

(x) dada por


(D
+,h
f) (x) f

(x) =
f(x +h) f(x)
h
f(x).
Atravs da expanso em srie de Taylor em torno de h = 0 para f(x+h), notamos que a diferena
assume a forma
(D
+,h
f) (x) f

(x) =
f(x) +hf

(x) +
h
2
2
f

(x) +O(h
3
) f(x)
h
f

(x)
=
h
2
f

(x) +O(h
2
) = O(h).
De modo anlogo, a diferena entre a operao D
,h
e a derivada f

(x) tambm O(h). Porm, a


76
diferena entre a operao D
0,h
f e f

(x) O(h
2
):
(D
0,h
f) (x) f

(x) =
f(x +h) f(x h)
2h
f

(x)
=
f(x) +hf

(x) +
h
2
2
f

(x) f(x) +hf

(x)
h
2
2
f

(x) +O(h
3
)
2h
f

(x)
= O(h
2
).
Exemplo: Vamos estudar a derivao numrica da funo exponencial f(x) = e
x
, em parti-
cular f(1) = e = 2.718281 . . . De acordo com a denio dos operadores de diferena nita
podemos montar a seguinte tabela:
h g
+,h
(1) g
,h
(1) g
0,h
(1) g
+,h
(1) e g
,h
(1) e g
0,h
(1) e
0.4 3.3423 2.2404 2.791352 0.624 -0.478 0.0731
0.2 3.0092 2.4637 2.736440 0.291 -0.254 0.0182
0.1 2.8588 2.5865 2.722815 0.141 -0.131 0.00453
0.05 2.7874 2.6514 2.719414 0.0691 -0.0669 0.00113
onde g
+,h
(x) = (D
+,h
f) (x) e a mesma notao utilizada nas demais aproximaes. Os
valores da tabela permitem vericar o comportamento do erro de truncamento cometido em
cada uma das operaes de diferena nita. Enquanto que nas duas primeiras operaes, D
+,h
e D
,h
o erro decresce a uma razo de aproximadamente
1
2
(a razo entre os espaamentos
decresce nessa mesma razo o que est de acordo com a previso O(h)), no caso da operao
D
0,h
, o erro decresce a uma razo de aproximadamente
1
4
, o que consistente com a previso
O(h
2
).
Erros de arredondamento
Os erros de truncamento no so os nicos fatores importantes na determinao da estimativa nu-
mrica da operao de diferenciao quando essa operao realizada por mquinas. Nesses casos
devemos levar em conta que os nmeros no podem ser armazenados com preciso indenida,
eles so armazenados como um elemento de um sistema de ponto utuante e todas as operaes
aritmticas realizadas nesse elemento esto sujeitas a erros de arredondamento.
Vamos tomar como exemplo a operao de diferena nita D
+,h
:
(D
+,h
f) (x) =
f(x +h) f(x)
h
=
f
1
f
0
h
,
onde, por economia de notao, representamos f(x + h) = f
1
e f(x) = f
0
. Se a operao for
realizada em uma mquina, tipicamente, os valores f
1
e f
0
sero representados por pontos utuan-
tes

f
1
e

f
0
respectivamente, que correspondem ao resultado das operaes realizadas utilizando a
aritmtica de mquina.
Internamente a funo (D
+,h
f) (x) representada pelo resultado das operaes em ponto utu-
77
4 Derivao numrica
ante
2
_

f
1


f
0
_
h, cuja diferena em relao ao valor exato

f
1


f
0
h
pode ser expressa atravs
da funo (x, h):
_

f
1


f
0
_
h =

f
1


f
0
h
(1 +(x, h)) .
De modo semelhante, a diferena em valor absoluto entre

f
i
e f
i
para uma escolha de x e h
representada por uma funo no negativa (x, h). Se h for sucientemente pequeno, teremos
ento
[

f
1
f
1
[ = (x, h) e [

f
0
f
0
[ = (x, 0) .
A diferena entre o valor da derivada de f em x e o ponto utuante
_

f
1


f
0
_
h dada em valor
absoluto por

(x)
_

f
1


f
0
_
h

(x)

f
1


f
0
h
(1 +(x, h))

(x)
_

f
1


f
0
h
+
f
1
f
1
h
+
f
0
f
0
h
_
(1 +(x, h))

(x) +
_

f
1
f
0
h

f
1
f
1
h
+

f
0
f
0
h
_
(1 +(x, h))

(x)
f
1
f
0
h

+
_

f
1
f
1
h

f
0
f
0
h

_
[1 +(x, h)[ +
+

f
1
f
0
h
(x, h)

(x)
f
1
f
0
h

+
((x, h) +(x, 0)) [1 +(x, h)[
h
+
+

f
1
f
0
h
(x, h)

_
c
1
h +
2
h
_
(1 +) +

(x)

(4.1)
onde c
1
=
1
2
max
xyx+h
f

(y) o erro devido ao truncamento e K um termo (que independe


de h) relacionado aos erros de arredondamento cometidos ao realizar as operaes de subtrao e
diviso no termo

f
1


f
0
h
.
Podemos notar pela estimativa (4.1) que o erro cometido ao calcularmos numericamente a deri-
vada tambm cresce quando tomamos valores de h muito pequenos. Isto um reexo direto das
limitaes da aritmtica de ponto utuante utilizadas pela mquina. Portanto, ao utilizar operaes
de diferena nita em uma mquina para calcular numericamente a derivada de uma funo, deve-
mos analisar cuidadosamente a escolha de um espaamento h timo. Sempre devemos tomar esse
cuidado em qualquer operao de diferena nita.
Na subseo seguinte vamos estudar como desenvolver aproximaes mais precisas para a deri-
2
Por simplicidade, assumimos que h idntico a sua representao em ponto utuante.
78
4.1 Extrapolao de Richardson
vada de uma funo f.
4.1 Extrapolao de Richardson
No incio deste captulo vimos que podemos estudar os erros cometidos nas operaes de diferena
nita atravs da expanso em srie de potncias de h (o espaamento entre os pontos). Vamos rever
o caso do operador de diferena nita D
0,h
com um maior nmero de termos na expanso:
(D
0,h
f) (x)
.
=
f(x +h) f(x h)
2h
=
1
2h
_
f(x) +hf

(x) +
h
2
2
f

(x) +
h
3
3!
f
(3)
(x) +O(h
5
)
_

1
2h
_
f(x) hf

(x) +
h
2
2
f

(x)
h
3
3!
f
(3)
(x) +O(h
5
)
_
= f

(x) +c
2
h
2
+O(h
4
), (4.2)
onde c
2
=
f
(3)
(x)
3!
. Portanto, o erro de truncamento at a segunda ordem em h c
2
h
2
, onde,
naturalmente a constante c
2
no depende de h. Dessa forma, a operao de diferena nita com
espaamento 2h, (D
0,2h
f) (x), tal que
(D
0,2h
f) (x)
.
=
f(x + 2h) f(x 2h)
2(2h)
= f

(x) +c
2
(2h)
2
+O(h
4
). (4.3)
E portanto a diferena entre a ao dessas duas operaes aplicadas a uma funo f pode ser descrita
na segunda ordem em h como
(D
0,2h
f) (x) (D
0,h
f) (x) = 3c
2
h
2
+O(h
4
).
Ou seja, possvel descrever o termo c
2
h
2
atravs das duas operaes de diferena nita mais
termos de ordem h
4
:
c
2
h
2
=
(D
0,2h
f) (x) (D
0,h
f) (x)
3
+O(h
4
). (4.4)
A substituio do termo (4.4) em qualquer das duas expresses (4.2) ou (4.3) permite expressar a
derivada de f em termos de operaes de diferena nita envolvendo cinco pontos : x 2h, x
79
4 Derivao numrica
h, x, x +h e x + 2h:
f

(x) = (D
0,h
f) (x)
(D
0,2h
f) (x) (D
0,h
f) (x)
3
+O(h
4
)
=
4 (D
0,h
f) (x) (D
0,2h
f) (x)
3
+O(h
4
)
.
= (D
1,h
f) (x) +O(h
4
).
Essa tcnica denominada extrapolao de Richardson, atravs dela possvel construir operaes
de diferena nita com maior preciso. No exemplo que acabamos de estudar determinamos a nova
operao de diferena nita D
1,h
a partir das operaes D
0,h
e D
0,2h
:
(D
1,h
f) (x)
.
=
4 (D
0,h
f) (x) (D
0,2h
f) (x)
3
=
f(x + 2h) + 8f(x +h) 8f(x h) +f(x 2h)
12h
.
Como acabamos de vericar, f

(x) (D
1,h
f) (x) = O(h
4
). Portanto, a diferena anterior pode
ser escrita como f

(x) (D
1,h
f) (x) = c
4
h
4
+O(h
6
), onde c
4
tambm um termo que independe
de h. E assim considerando a operao com espaamento duplo (D
1,2h
f) (x) = f

(x) +c
4
(2h)
4
+
O(h
6
) podemos dar prosseguimento a extrapolao e determinar a operao D
2,h
tal que
(D
2,h
f) (x)
.
=
16 (D
1,h
f) (x) (D
1,2h
f) (x)
15
e f

(x) (D
2,h
f) (x) = O(h
6
).
Exemplo: Voltamos a estudar o exemplo do incio do captulo: a derivao numrica da fun-
o exponencial f(x) = e
x
, emparticular f(1) = e = 2.718281 . . . De acordo coma denio
dos operadores de diferena nita podemos montar a seguinte tabela:
h (D
0,h
f) (1) (D
1,h
f) (1) (D
2,h
f) (1)
0,4 2,791352
0,2 2,736440 2,718136
0,1 2,722815 2,718273 2,718282
0,05 2,719414 2,718280 2,718281
pelo fato dos espaamentos serem mltiplos de 0.05 podemos utilizar a informao sobre as
operaes de ordem menor para calcular as de maior ordem.
De maneira geral podemos enunciar o processo de construo de uma operao de diferena nita
de ordem de truncamento mais alta: Seja a operao de diferena nita F
h
que aproxima a n-sima
derivada de uma funo sucientemente suave g at a ordem O(h
p
), ou seja,
(F
h
g) (x) = g
(n)
(x) +ch
p
+O(h
r
),
80
4.1 Extrapolao de Richardson
onde r > p. Ento, para qualquer q > 1, segundo o processo de extrapolao de Richardson,
(F
h
g) (x) +
1
q
p
1
((F
h
g) (x) (F
qh
g) (x)) = g
(n)
(x) +O(h
r
).
O que permite denir a nova operao

F
h
:
_

F
h
g
_
(x)
.
=
q
p
(F
h
g) (x) (F
qh
g) (x)
q
p
1
.
As operaes de diferena nita para as segundas derivadas e as derivadas de ordem superior po-
dem ser obtidas a a partir da combinao das operaes de diferena nita para primeira derivada,
portanto, as operaes D
2,h
, D
+,h
D
+,h
, D
,h
D
,h
, D
0,h
D
+,h
, D
1,h
D
,h
, etc., fornecem apro-
ximaes para a segunda derivada com diferentes precises. Porm a extrapolao de Richardson
pode ser utilizada para aument-la se for necessrio. Por exemplo, a ao da operao D
+,h
D
,h
sobre uma funo f dada por
(D
+,h
D
,h
f) = (D
+,h
g) ,
onde g(x) = (D
,h
g) (x), ou seja,
g(x) =
f(x) f(x h)
h
e portanto
(D
+,h
g) (x) =
1
h
(D
+,h
f) (x)
1
h
(D
+,h
f( h)) (x)
=
1
h
_
f(x +h) f(x)
h
_

1
h
_
f(x) f(x h)
h
_
=
f(x +h) 2f(x) +f(x h)
h
2
,
onde o termo f( x) uma abreviao para a nova funo q(x) = f(x h). Realizando a
expanso em srie de potncias para h podemos vericar que
(D
+,h
D
,h
f) (x) = f

(x) +O(h
2
).
Esse exemplo que acabamos de estudar apenas uma possibilidade, como acabamos de armar,
existem diversas outras possibilidades.
81
4 Derivao numrica
4.2 Exerccios
1) Seja o operador diferena nita D
+,h
, denido como
(D
+,h
f) (x) =
f(x +h) f(x)
h
.
Sabemos que (D
+,h
f) (x) f

(x) = O(h). Utilize a extrapolao de Richardson para encontrar a


expresso do operador D
+2,h
.
2) Dada uma funo f tal que
x f(x)
0.1 0.23
0.2 0.33
0.3 0.29
0.4 0.12
0.5 0.17
Tabela 4.1: valores de f
qual a melhor estimativa para a derivada de f no ponto x = 0.3 supondo que os erros de
arredondamento so nulos. E para o ponto x = 0.1?
3) Determine a ordem do erro de truncamento ao aproximar a operao de derivao de segunda
ordem pela operao de diferena nita D
+,h
D
+,h
.
4) Determine a ordem do erro de truncamento ao aproximar a operao de derivao de segunda
ordem pela operao de diferena nita D
+,h
D
1,h
.
5) Encontre a extrapolao de Richardson calculada com 5 pontos (x 2h,x h, x, x + h e
x + 2h) para a segunda derivada da funo f.
6) Desenvolva uma expresso para a operao nita que aproxima a segunda derivada de uma
funo f no ponto x a partir de f(x), f(x +h) e f(x + 2h).
7) Construa todas as possveis operaes de diferena nita associadas s derivadas de f no ponto
x a partir de combinaes lineares dos termos f(x), f(x +h) e f(x + 2h).
8) Um cilindro com paredes laterais isoladas termicamente possui uma das bases em contato com
um material de propriedades trmicas diferentes. Trs termmetros inseridos no cilindro fornecem
uma leitura da sua temperatura em pontos que distam 2cm , 4cm e 6cm da base. Dado que:
as temperaturas matm-se constantes ao longo do tempo,
a condutividade trmica do cilindro, k, de 150
W
m K
,
a temperatura medida nos pontos vale respectivamente 350K, 358K e 373K,
utilize a Lei de Fourier
q = kT
e uma operao de diferena nita para estimar o uxo trmico pela base do cilindro.
82
5 Interpolao
Neste captulo estudaremos mtodos que permitem encontrar um valor aproximado para uma fun-
o f calculada em um ponto x do intervalo I, atravs do conhecimento de uma coleo de pares
ordenados (pontos) (x
i
, f(x
i
))
N
i=1
tais que x
i
I. Seja g uma funo que aproxima f no inter-
valo I. Ento, para o conjunto de pontos x
i
, i = 1, . . . , N
g(x
i
) = f(x
i
),
dizemos que g interpola a funo f nos valores x
1
, x
2
, . . ., x
N
. Ento podemos utilizar a funo
g para encontrar uma aproximao para o valor de f no ponto
1
x [x
1
, x
n
], esse procedimento
denominado interpolao. Se x estiver fora do intervalo [x
1
, x
n
] e ainda assim utilizarmos a funo
g para encontrar o valor aproximado de f nesse ponto, o procedimento denominado extrapolao.
Exemplo: Vamos determinar uma funo interpolante para o conjunto de pontos (0.5, 5.0);(0.5, 0.81);
(1.0, 0.7);(1.5, 0.55) na forma g(x) = a
1
e
a
2
x
+a
3
e
a
4
x
. Determinar o valor dos coecientes
a
1
, a
2
, a
3
e a
4
signica determinar a interpolao.
Por denio, se g interpola o conjunto de pontos (entendido como (x
i
, f(x
i
))
4
i=1
) ento
os coecientes devem satisfazer as quatro equaes g(x
1
) = f(x
1
), . . ., g(x
4
) = f(x
4
), ou
seja, devem ser soluo do seguinte sistema de equaes no lineares:
_

_
a
1
e
a
2
0.5
+a
3
e
a
4
0.5
= 5.0
a
1
e
a
2
0.5
+a
3
e
a
4
0.5
= 0.81
a
1
e
a
2
+a
3
e
a
4
= 0.7
a
1
e
a
2
1.5
+a
3
e
a
4
1.5
= 0.55
.
Esse sistema possui soluo numrica dada por
a
1
1.20334
a
2
0.519387
a
3
0.880292
a
4
4.01704
1
Supondo que os pontos x
1
, x
2
, . . . , x
n
esto ordenados
83
5 Interpolao
0.5 0.5 1 1.5
x
5
4
3
2
1
gx
Figura 5.1: Funo interpolante g(x) e os quatro pontos de interpolao.
O sucesso em conseguir determinar a interpolao de um conjunto de pontos depende da escolha
de funo interpolante. No exemplo anterior a interpolao foi possvel pois o comportamento
dos pontos compatvel coma escolha realizada para a funo interpolante. Essa compatibilidade
se manifesta na existncia de soluo para o sistema de equaes associado interpolao. Se fosse
escolhida uma funo com comportamento muito distinto do manifestado pelos pontos, o sistema
resultante poderia no possuir soluo.
Aescolha de polinmios como funes interpolantes natural pelos seguintes motivos: possvel
aproximar uma grande variedade de funes, os polinmios so de fcil manipulao matemtica
(principalmente derivao e integrao) e o teorema de Weierstrass
Teorema (Weierstrass)
Seja f uma funo contnua denida no intervalo fechado limitado [a, b] e seja um nmero posi-
tivo. Ento existe um polinmio p, tal que para todo x [a, b],
[f(x) p(x)[ < .
No entanto, da mesma forma que o teorema de Weierstrass garante uma representao de f por
um polinmio p to prximo quanto queiramos, ele nada diz sobre o grau de p. Em algumas
situaes, o problema de encontrar p que desempenhe esse papel pode ser extraordinariamente
difcil do ponto de vista numrico.
Antes de discutirmos o procedimento de interpolao por polinmios, vale a pena mencionar um
algoritmo til no clculo do valor de p em um ponto x. Trata-se do algoritmo de Horner.
Algoritmo de Horner
Batizado com o nome do matemtico ingls Willian George Horner mas j conhecido por Isaac
Newton em 1669 e mesmo pelo matemtico chins Qin Jiunshao no sc. XIII, o algoritmo consiste
em uma maneira otimizada de calcular p(x) = a
m
x
m
+a
m1
x
m1
+. . . +a
1
x +a
0
atravs de m
multiplicaes e m adies.
Basta reescrever o polinmio na forma concatenada:
p(x) = ((. . . ((a
m
x +a
m1
)x +a
ma
)x +. . . +a
2
)x +a
1
)x +a
0
.
84
5.1 Interpolao polinomial
Assim, p(x) pode ser calculado iterativamente: se denominarmos b
m
= a
m
, a
m
x + a
m1
=
b
m
x + a
m1
= b
m1
, ento obtemos uma recurso para os b
i
de modo que p(x) = b
0
. Por
exemplo, o polinmio p(x) = 3x
3
+ 8x
2
x + 1 = ((3x + 8)x 1) + 1. Nesse caso b
3
= 3,
b
2
= b
3
x + 8 = 3x + 8, b
1
= b
2
x 1 = (3x + 8)x 1 e nalmente p(x) = b
0
= b
1
x + 1.
5.1 Interpolao polinomial
Seja f
i
, i = 1, 2, . . . , n, o valor da funo f calculada nos n pontos de interpolao x
i
. Encontrar
o polinmio de grau m que interpola f nesses pontos consiste em resolver o sistema de equaes
lineares f
i
f(x
i
) = p(x
i
), ou seja o sistema
_

_
a
m
x
m
1
+ a
m1
x
m1
1
+ . . . + a
1
x
1
+ a
0
= f
1
a
m
x
m
2
+ a
m1
x
m1
2
+ . . . + a
1
x
2
+ a
0
= f
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
m
x
m
n
+ a
m1
x
m1
n
+ + a
1
x
n
+ a
0
= f
n
(5.1)
As m+1 incgnitas so os coecientes do polinmio, a
0
, a
1
, . . . , a
m
e o sistema possui n equaes.
Portanto, tipicamente, o sistema no possui soluo se m + 1 < n, possui innitas solues se
m+ 1 > n e ser unicamente determinado se m+ 1 = n.
5.1.1 Interpolao pelos polinmios de Lagrange
Como veremos adiante, resolver o sistema (5.1) no a maneira mais simples ou menos sujeita a
erros de arredondamento quando desejamos determinar o polinmio interpolante. O seguinte teo-
rema garante a unicidade do polinmio interpolante, o que nos permite buscar maneiras alternativas
de constru-lo. Por ser nico, o resultado ser independente da construo.
Teorema (unicidade do polinmio interpolante)
Sejam x
1
, . . . , x
n
, pontos distintos. Para um conjunto arbitrrio de valores f
1
, . . . , f
n
existe um e
somente um polinmio p de grau menor ou igual a n 1 tal que
p(x
i
) = f
i
,
para i = 1, 2, . . . , n.
Demonstrao: No caso emque temos n pontos distintos e procuramos umpolinmio de grau
menor ou igual a n 1, a matriz quadrada dos coecientes do sistema de equaes lineares
(5.1) assume a forma da seguinte matriz de Vandermonde,
_
_
_
_
_
_
x
n1
1
x
n2
1
x
2
1
x
1
1
x
n1
2
x
n2
2
x
2
2
x
2
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
n1
n
x
n2
n
x
2
n
x
n
1
_
_
_
_
_
_
.
85
5 Interpolao
Por hiptese os x
i
so distintos, portanto o determinante da matriz, dado por

1i<jn
(x
j
x
i
)
no nulo, consequentemente, a soluo do sistema nica e o polinmio tambm.
Vamos supor que para cada 1 j n exista um polinmio de grau n 1, l
j
(x) tal que para
cada 1 k n, o valor de l
j
no ponto de interpolao x
k
tal que
l
j
(x
k
) =
j,k
,
onde
j,k
o delta de Kronecker
2
. Nesse caso, os polinmios l
j
permitem reescrever o polinmio
interpolante p(x):
p(x) = f
1
l
1
(x) +f
2
l
2
(x) +. . . +f
n
l
n
(x) =
n

j=1
f
j
l
j
(x),
podemos trivialmente vericar que p(x
k
) =

n
j=1
f
j
l
j
(x
k
) =

n
j=1
f
j

j,k
= f
k
. Portanto se
formos capazes de construir os polinmios l
j
a interpolao estar determinada. Vamos ento
constru-los a partir das seguintes consideraes.
Segundo a sua denio l
j
(x
k
) = 0 para todo x
k
tal que k ,= j, ento os pontos x
k
so razes de
l
j
, se j ,= k e portanto, a menos de uma constante multiplicativa, C
j
, o polinmio l
j
determinado
pelo produtrio
l
j
(x) = C
j
(x x
1
)(x x
2
) . . . (x x
j1
)(x x
j+1
) . . . (x x
n
)
= C
j
n

i=1
i=j
(x x
i
).
Por m, a constante C
j
pode ser determinada atravs da propriedade l
j
(x
j
) = 1:
l
j
(x
j
) = 1 C
j
n

i=1
i=j
(x
j
x
i
) = 1,
ou seja
C
j
=
n

i=1
i=j
1
(x
j
x
i
)
.
2
O delta de Kronecker denido pela expresso

j,k
=

0 , j = k
1 , j = k
,
onde j e k so dois nmeros inteiros.
86
5.1 Interpolao polinomial
Dessa forma, os polinmios l
j
(x), denominados polinmios de Lagrange so determinados a partir
do seguinte produtrio
l
j
(x) =
n

i=1
i=j
x x
i
x
j
x
i
e a interpolao de Lagrange
p(x) =
n

j=1
f
j
l
j
(x).
Exemplo: Seja a funo f(x) = sen(x) a partir da qual construmos a interpolao nos trs
pontos x
1
= 0, x
2
= 1 e x
3
= 2. Ser ento um polinmio de segundo grau. Os pontos de
interpolao so dados por
j x
j
f
j
= sen(x
j
)
1 0 0
2 1 sen(1)
3 2 sen(2)
os polinmios de Lagrange so ento dados por
l
1
(x) =
(x 1)(x 2)
(0 1)(0 2)
=
x
2
3x + 2
2
,
l
2
(x) =
(x 0)(x 2)
(1 0)(1 2)
= x
2
+ 2x
e
l
3
(x) =
(x 0)(x 1)
(2 0)(2 1)
=
x
2
x
2
.
A interpolao dada por
p(x) =
_
sen(2)
2
sen(1)
_
x
2
+
_
2sen(1)
sen(2)
2
_
x
5.1.2 Interpolao de Newton
De acordo com o teorema da unicidade do polinmio interpolante, toda interpolao de n pontos
por um polinmio de grau n 1 nica e pode ser obtida pelo mtodo de Lagrange. No entanto,
existem outras maneiras de construir o polinmio p(x) que podem ser mais convenientes. Uma
dessas maneiras a interpolao de Newton, que permite a insero de pontos adicionais de maneira
simples e menos suscetvel deteriorao por erros de arredondamento.
O mtodo consiste em determinar o polinmio
p(x) = a
0
+a
1
(x x
1
) +a
2
(x x
1
)(x x
2
) +. . . +a
n1
(x x
1
) . . . (x x
n1
).
Por construo, o valor de p calculado em x = x
1

p(x
1
) = a
0
.
87
5 Interpolao
Alm disso, como p(x) o polinmio interpolante, p(x
1
) = f
1
, portanto,
a
0
= f
1
.
Da mesma forma,
p(x
2
) = a
0
+a
1
(x
2
x
1
) = f
2
= f
1
+a
1
(x
2
x
1
) = f
2
,
ou seja,
a
1
=
f
2
a
0
x
2
x
1
e assim por diante, os coecientes so determinados recursivamente e o k-simo coeciente de-
terminado em funo dos pontos de interpolao e dos coecientes anteriores pela expresso
a
k
=
f
k+1
a
0

k1
j=1
a
j
(x
k+1
x
1
) . . . (x
k+1
x
j
)

k
j=1
(x
k+1
x
j
)
. (5.2)
A frmula de recorrncia (5.2) pode ser convenientemente descrita atravs da notao de diferenas
divididas. Seja a funo f[x
k
, x
k+1
, . . . , x
l+1
] denida pela relao de recorrncia
f[x
k
, x
k+1
, . . . , x
l
, x
l+1
] =
f[x
k+1
, x
k+1
, . . . , x
l+1
] f[x
k
, x
k+1
, . . . , x
l
]
x
l+1
x
k
e
f[x
k
] = f
k
.
= f(x
k
).
Assim, podemos vericar que
f[x
k
, x
k+1
] =
f[x
k+1
] f[x
k
]
x
k+1
x
k
e
f[x
k
, x
k+1
, x
k+2
] =
f[x
k+1
, x
k+2
] f[x
k
, x
k+1
]
x
k+2
x
k
.
Nessa notao, os coecientes do polinmio so dados por
a
0
= f[x
1
],
a
1
= f[x
1
, x
2
],
a
2
= f[x
1
, x
2
, x
3
],
.
.
.
.
.
.
.
.
.
a
n1
= f[x
1
, x
2
, . . . , x
n
].
Diagramaticamente, os coecientes so calculados a partir da sequncia de diferenas divididas
88
5.1 Interpolao polinomial
calculadas recursivamente:
x
1
f[x
1
] f[x
1
, x
2
] f[x
1
, x
2
, x
3
] . . . f[x
1
, . . . , x
n1
] f[x
1
, . . . , x
n
]

x
2
f[x
2
] f[x
2
, x
3
] f[x
2
, x
3
, x
4
] . . . f[x
2
, . . . , x
n
]

x
3
f[x
3
] f[x
3
, x
4
] f[x
3
, x
4
, x
5
] . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
n2
f[x
n2
] f[x
n2
, x
n1
] f[x
n2
, x
n1
, x
n
]

x
n1
f[x
n1
] f[x
n1
, x
n
]

x
n
f[x
n
]
Exemplo: Vamos realizar a interpolao da funo sen(x) no intervalo x [0, 2] atravs de
um polinmio de segundo grau nos pontos x
1
= 0, x
2
= 1 e x
3
= 2. Neste caso,
j x
j
f
j
= sen(x
j
)
1 0 0
2 1 sen(1)
3 2 sen(2)
e f[x
1
] = 0, f[x
2
] = sen(1) e f[x
3
] = sen(2). As prximas diferenas divididas so dadas
por
f[x
1
, x
2
] =
f[x
2
] f[x
1
]
x
2
x
1
=
sen(1) 0
1 0
e
f[x
2
, x
3
] =
f[x
3
] f[x
2
]
x
3
x
2
=
sen(2) sen(1)
2 1
.
Finalmente,
f[x
1
, x
2
, x
3
] =
f[x
2
, x
3
] f[x
1
, x
2
]
x
3
x
1
=
sen(2) sen(1) sen(1)
2 0
.
Portanto, o polinmio interpolante
p(x) = f[x
1
] +f[x
1
, x
2
] (x x
1
) +f[x
1
, x
2
, x
3
] (x x
1
)(x x
2
)

p(x) = sen(1) x +
sen(2) 2sen(1)
2
x(x 1)
Exerccio. 1) Inclua o ponto x
4
= 1/2 na interpolao anterior e encontre o polinmio interpo-
lante de terceiro grau.
2) Encontre o polinmio interpolante de terceiro grau nos mesmos pontos do exemplo anterior
(incluindo o ponto x
4
= 1/2) para as funes cos(x), xsen(x) e e
x
1.
Exemplo: A solubilidade do clorato de potssio em gua KClO
3
nas temperaturas de 0C,
10C, 20C, 30C e 40C de 3.3g, 5.2g, 7.3g, 10.1g e 13.9g por 100g de H
2
O, respectiva-
mente.
89
5 Interpolao
Nosso objetivo estabelecer uma boa aproximao para o valor da solubilidade a 25C.
Vamos inicialmente aproximar a solubilidade a partir de trs valores de temperatura. Seja
portanto, (x
i
, f
i
)
3
i=1
dado por (10; 5.2), (20; 7.3), (30, 10.1). De acordo com o mtodo de
Newton, devemos determinar as diferenas divididas f[x
1
], f[x
1
, x
2
], f[x
1
, x
2
, x
3
] e construir
o polinmio
p(x) = a
0
+a
1
(x 10) +a
2
(x 10)(x 20),
onde a
0
= f[x
1
], a
1
= f[x
1
, x
2
] e a
2
= f[x
1
, x
2
, x
3
].
f[x
1
] f
1
= 5.2
e a
0
= 5.2.
f[x
1
, x
2
] =
f
2
f
1
x
2
x
1
=
7.3 5.2
20 10
= 0.21
e a
1
= 2.1 10
1
.
f[x
1
, x
2
, x
3
] =
f[x
2
x
3
] f[x
1
, x
2
]
x
3
x
1
=
f[x
2
x
3
] 0.21
30 10
Para calcular essa quantia ser necessrio determinar tambm o valor de f[x
2
, x
3
].
f[x
2
, x
3
] =
f
3
f
2
x
3
x
2
=
10.1 7.3
30 20
= 0.28
Assim,
[x
1
, x
2
, x
3
] =
0.28 0.21
30 10
= 0.0035
e a
2
= 3.5 10
3
.
Portanto a interpolao dada por
p(x) = 5.2 + 2.1 10
1
(x 10) + 3.5 10
3
(x 10)(x 20).
E a aproximao dada por
p(25) = 8.6125.
Como a tabela fornece valores com 2 ou trs dgitos signicativos, a aproximao dever con-
ter esse mesmo nmero de dgitos, ou seja, a solubilidade a 25C de aproximadamente 8.6g
de KClO
3
por 100g de H
2
O. Uma maneira de estabelecer a validade dessa aproximao in-
cluir mais termos interpolao e vericar se a nova aproximao coincide. Vamos ento
incluir o valor da solubilidade a 40C como um quarto dado, ou seja, vamos incluir o ponto
(x
4
, f
4
) = (40; 13.9). Nesse caso, como (x
1
, f
1
), (x
2
, f
2
) e (x
3
, f
3
) so os mesmos do po-
linmio anterior, a
0
, a
1
e a
2
sero os mesmos no novo polinmio:
p(x) = 5.2+2.110
1
(x10)+3.510
3
(x10)(x20)+a
3
(x10)(x20)(x30),
90
5.1 Interpolao polinomial
onde a
3
= f[x
1
, x
2
, x
3
, x
4
]. Vamos ento determinar f[x
1
, x
2
, x
3
, x
4
].
f[x
1
, x
2
, x
3
, x
4
] =
f[x
2
, x
3
, x
4
] f[x
1
, x
2
, x
3
]
x
4
x
1
=
f[x
2
, x
3
, x
4
] 0.0035
40 10
,
f[x
2
, x
3
, x
4
] =
f[x
3
, x
4
] f[x
2
, x
3
]
x
4
x
2
=
f[x
3
, x
4
] 0.28
40 20
e
f[x
3
, x
4
] =
f
4
f
3
x
4
x
3
=
13.9 10.1
40 30
= 0.38.
Dessa forma, substituindo os valores
f[x
2
, x
3
, x
4
] =
0.38 0.28
20
= 0.005
e
f[x
1
, x
2
, x
3
, x
4
] =
0.005 0.0035
30
= 5 10
5
.
O novo polinmio
p(x) = 5.2+2.110
1
(x10)+3.510
3
(x10)(x20)+510
5
(x10)(x20)(x30)
e a aproximao determinada a partir de
p(25) = 8.59375 . . .
Ou seja, obtemos novamente a aproximao de dois dgitos, 8.6g de clorato por 100g de gua.
5.1.3 Erros de truncamento na interpolao por polinmios
Seja f uma funo contnua e n vezes diferencivel no intervalo (a, b) que contm os pontos
x
1
, x
2
, . . . , x
n
e seja p o polinmio de grau n 1 que interpola f nesses pontos. Ento pos-
svel mostrar
3
que para cada x (a, b), existe um (x) (a, b) tal que
f(x) p(x) =
1
n!
f
(n)
()
n

i=1
(x x
i
). (5.3)
Poderamos supor que para uma f contnua e sucientemente suave, a sequncia de polinmios
interpolantes p
n

n1
convergiria para f conforme aumentssemos o nmero de pontos de inter-
polao no intervalo (a, b). No entanto, como o exemplo a seguir ilustra, isto nem sempre ocorre.
Fenmeno de Runge
A seguinte funo, proposta por Carle D. T. Runge ao estudar o comportamento dos erros na inter-
polao polinomial,
f(x) =
1
1 + 25x
2
, x [1, 1]
3
A demonstrao pode ser encontrada nas referncias:
Eldn, L.; Wittmeyer-Koch, L. Numerical Analysis (1990),
Claudio, D. M.; Marins, J. M. Clculo Numrico Computacional - teoria e prtica 3ed. (2000).
91
5 Interpolao
tal que a sequncia de polinmios interpolantes p
n

n
construdos a partir de pontos de interpola-
o igualmente espaados no converge
4
para f(x) no intervalo de valores x (1, 0.727)

(0.727, 1).
Na realidade possvel demonstrar que
lim
n+
max
1x1
[f(x) p
n
(x)[ = +.
Podemos analisar esse comportamento no regular da interpolao a partir do termo
n

i=1
(x x
i
) (5.4)
contido na expresso (5.3). Esse produtrio possui uma utuao para os valores do argumento
prximos fronteira do intervalo (1, 1) que progressivamente ampliada conforme aumentamos
o nmero de pontos se os mesmos forem igualmente espaados. Os grco seguintes ajudam a
ilustrar o comportamento do produtrio (5.4).
-1 -0.5 0.5 1
x
-0.0003
-0.0002
-0.0001
0.0001
0.0002
0.0003
-0.6 -0.4 -0.2 0.2 0.4 0.6
x
-610
-7
-410
-7
-210
-7
210
-7
410
-7
610
-7
Figura 5.2: a) comportamento do produtrio (5.4) com 20 pontos igualmente espaados no intervalo
[1, 1]. b) recorte do mesmo produtrio no intervalo [0.7, 0.7].
Esse comportamento minimizado atravs da escolha de pontos no igualmente espaados. Na
realidade possvel demonstrar que a variao do termo (5.4) mnima em valor absoluto quando
os pontos x
i
esto espaados em um intervalo (a, b) segundo a seguinte expresso
x
i
=
a +b
2
+
a b
2
cos
_
2i 1
2n

_
para i = 1, 2, . . . , n. Esses pontos so denominados pontos de Chebyshev.
Utilizando os pontos de Chebyshev no intervalo [1, .1] podemos controlar o comportamento
dos polinmios interpolantes para a funo de Runge e garantir a convergncia p
n1
(x) f(x)
quando n +.
4
A demonstrao pode ser encontrada na referncia :
Isaacson, E. ; Keller, H. Analysis of Numerical Methods (1966).
92
5.2 Interpolao spline
-1 -0.5 0.5 1
x
-210
-6
-110
-6
110
-6
210
-6
Figura 5.3: O produtrio (5.4) com 20 pontos de Chebyshev
Ainda assim, existem funes contnuas que requerem um nmero impraticvel de pontos para
que a interpolao se aproxime da funo original. Por exemplo, a funo
_
[x[ no intervalo [1, 1]
requer um polinmio de grau maior que 10
6
para que a interpolao seja exata at 10
3
.
Em geral, quando utilizamos polinmios de grau maior ou igual a 100, a maior diculdade lidar
com os erros de arredondamento.
5.2 Interpolao spline
Splines so funes formadas por diferentes polinmios de grau menor ou igual a um m, denidos
para cada intervalo entre os pontos de interpolao de modo que em cada ponto de interpolao o
spline contnuo,assim como todas as derivadas at ordem m1.
x
1
x
2
x
3
x
n2
x
n1
x
n
x
f
s
1
x
s
2
x
s
n2
x
s
n1
x
Figura 5.4: Interpolao spline
Nas situaes em que o nmero de pontos de interpolao grande (por exemplo, em aplicaes
CAD computer-aided design), a inexatido na aproximao obtida com um polinmio de grau
elevado dominada pelos erros de arredondamento. Ou ento quando a funo que se quer inter-
polar possui derivadas de valor numrico elevado em alguma regio do intervalo de interpolao,
a aproximao prejudicada em todo o intervalo. Nessas situaes, a interpolao por spline pode
auxiliar a tarefa de interpolao.
93
5 Interpolao
O procedimento de construir splines anlogo qualquer que seja o grau dos polinmios utiliza-
dos, como o spline de maior interesse (veremos porque) aquele formado por polinmios de grau
3, nos concentraremos nesse caso apenas.
5.2.1 Interpolao spline cbica
Sejamx
1
< x
2
< . . . < x
n
os pontos e interpolao. um spline cbico uma funo s(x), denida
no intervalo [x
1
, x
n
] com as seguintes propriedades:
1. s(x), s

(x) e s

(x) so funes contnuas no intervalo (x


1
, x
n
).
2. Em cada subintervalo [x
i
, x
i+1
], s(x) um polinmio cbico tal que s(x
i
) = f
i
.
= f(x
i
)
para i = 1, 2, . . . , n.
Portanto, s composto por n 1 polinmios cbicos, cada polinmio determinado por 4 co-
ecientes (a
i
,b
i
, c
i
e d
i
) o que d um total de 4n 4 coecientes a determinar, ou seja 4n 4
incgnitas. Cada polinmio deve satisfazer a condio de continuidade nos pontos de interpolao
alm, claro, de interpolar o ponto x
i
, ou seja,
s
i
(x
i
) = f
i
(interpolao),
para i = 1, 2, . . . , n 1 e
s
n1
(x
n
) = f
n
.
A continuidade satisfeita se
s
i
(x
i+1
) = f
i+1
(continuidade de s ),
para i = 1, 2, . . . , n 2.. As condies acima implicam 2(n 1) equaes. Faltam ainda as
continuidades de s

(x) e s

(x):
s

i
(x
i+1
) = s

i+1
(x
i+1
) (continuidade de s

),
s

i
(x
i+1
) = s

i+1
(x
i+1
) (continuidade de s

),
para i = 1, 2, . . . , n2. Cada condio equivale a n2 equaes. Portanto temos at agora umtotal
de 4n6 equaes. Restam duas equaes para que seu nmero seja igual ao nmero de incgnitas.
Essas duas ltimas equaes relacionam-se com as condies de fronteira do spline. Com relao
ao comportamento de s(x) no extremo do intervalo, h duas possibilidades a se considerar:
i) spline natural,
s

1
(x
1
) = 0
s

n1
(x
n
) = 0
possui esse nome por ser a condio equivalente aproximao por rguas elsticas (uso mais
tradicional do spline).
94
5.2 Interpolao spline
ii) spline com mesmas condies de f na extremidade,
s

1
(x
1
) = f

(x
1
)
s

n1
(x
n
) = f

(x
n
)
essa escolha pressupe que a informao sobre o valor da derivada de f nos extremos do intervalo
seja conhecida. A aproximao obtida com essa escolha possui uma maior exatido do que a obtida
com o spline natural.
Nos prximos pargrafos montaremos o sistema de equaes lineares para determinarmos 4n4
os coecientes a
i
,b
i
, c
i
e d
i
dos n 1 polinmios que compe o spline:
s
i
(x) = a
i
+b
i
(x x
i
) +c
i
(x x
i
)
2
+d
i
(x x
i
)
3
. (5.5)
Por ser uma interpolao, a cada x
i
, temos que s(x
i
) = f
i
, ou seja, s
i
(x
i
) = f
i
. Portanto, em
vista da equao (5.5) a interpolao implica
f
i
= s
i
(x
i
) = a
i
para i = 1, 2, . . . , n 1. O que determina o valor dos coecientes a
i
.
Acontinuidade do spline s(x) nos pontos de interpolao implica a equao s
i
(x
i+1
) = s
i+1
(x
i+1
)
para i = 1, 2, . . . , n 2, ou seja,
a
i
+b
i
(x
i+1
x
i
) +c
i
(x
i+1
x
i
)
2
+d
i
(x
i+1
x
i
)
3
= a
i+1
,
f
i
+b
i
(x
i+1
x
i
) +c
i
(x
i+1
x
i
)
2
+d
i
(x
i+1
x
i
)
3
= f
i+1
. (5.6)
Para aliviar a notao, vamos introduzir a notao h
i
= (x
i+1
x
i
). Dessa forma, a equao
anterior (5.6) pode ser reescrita como
f
i
+b
i
h
i
+c
i
h
2
i
+d
i
h
3
i
= f
i+1
(5.7)
A continuidade na primeira e na segunda derivadas implicam
b
i
+ 2c
i
h
i
+ 3d
i
h
2
i
= b
i+1
(5.8)
e
c
i
+ 3d
i
h
i
= c
i+1
(5.9)
para i = 1, 2, . . . , n 2.
Isolando d
i
na equao (5.9) e substituindo em (5.7) e (5.8) encontramos respectivamente
f
i+1
= f
i
+b
i
h
i
+
h
2
i
3
(2c
i
+c
i+1
) (5.10)
95
5 Interpolao
e
b
i+1
= b
i
+h
i
(c
i
+c
i+1
) (5.11)
para i = 1, 2, . . . , n 2.
Isolando b
i
na equao (5.10) podemos determin-lo em termos dos valores conhecidos f
i
, h
i
e
da incgnita c
i
(o mesmo acontece com os coecientes d
i
, a partir da equao (5.9)),
b
i
=
f
i+1
f
i
h
i

h
i
3
(2c
i
+c
i+1
), (5.12)
para i = 1, 2, . . . , n 2.
A substituio de b
i
e b
i1
dados pela equao (5.12) na equao (5.11) com os ndices desloca-
dos de uma unidade, ou seja, b
i
= b
i1
+ h
i1
(c
i1
+ c
i
), permite encontrar uma equao para os
coecientes c
i
em termos dos valores conhecidos f
i
e h
i
:
h
i1
c
i1
+ 2(h
i1
+h
i
)c
i
+h
i
c
i+1
= 3
_
f
i+1
f
i
h
i
_
3
_
f
i
f
i1
h
i1
_
, (5.13)
para i = 2, 3, . . . , n 1. A equao anterior dene um sistema de equaes lineares para as
incgnitas c
i
. Note que alm dos coecientes c
1
, c
2
, . . . , c
n1
, o sistema envolve um coeciente
c
n
que no est diretamente relacionado a algum dos n 1 polinmios s
i
. Na realidade, c
n
est
relacionado s condies no extremo do intervalo de interpolao e sua determinao depende do
tipo de spline que estamos construindo, se um spline natural ou um spline que satisfaz as mesmas
condies de f nos extremos do intervalo de interpolao.
As n2 equaes (5.13) envolvemn variveis (as incgnitas c
i
), para que o sistema (tipicamente)
tenha soluo nica devemos incluir as duas ltimas equaes que descrevem o comportamento do
spline nos extremos do intervalo de interpolao. Vamos estudar inicialmente o caso do spline
natural.
Spline natural
O spline natural deve satisfazer as condies s

(x
1
) = 0 e s

(x
n
) = 0, estas duas equaes
implicam respectivamente
c
1
= 0
e
2c
n1
+ 6d
n1
h
n1
= 0. (5.14)
A equao (5.14) implica em termos da equao para os coecientes d
i
(5.9) que c
n
= 0.
Colecionando esses resultados temos ento a seguinte situao: resolvendo o sistema de equaes
_

_
c
1
= 0
h
i1
c
i1
+ 2(h
i1
+h
i
)c
i
+h
i
c
i+1
= 3
_
f
i+1
f
i
h
i
_
3
_
f
i
f
i1
h
i1
_
,
c
n
= 0
i = 2, . . . , n 1
96
5.2 Interpolao spline
encontramos o valor dos coecientes c
i
. A partir desses coecientes determinamos o valor dos
coecientes b
i
atravs das equaes (5.12)
b
i
=
f
i+1
f
i
h
i

h
i
3
(2c
i
+c
i+1
),
para i = 1, 2, . . . , n 1; e o valor dos coecientes d
i
atravs da equaes
d
i
=
c
i+1
c
i
3h
i
, (5.15)
para i = 1, 2, . . . , n 1, obtida a partir de (5.9). Os coecientes a
i
= f
i
como j havamos
determinado anteriormente.
Spline com as mesmas condies de f nos extremos
Nesse caso o spline deve satisfazer as condies s

(x
1
) = f

(x
1
) f

1
e s

(x
n
) = f

(x
n
)
f

n
.Para determinar o spline, f

1
e f

n
devem ser valores conhecidos. As condies implicam respec-
tivamente
b
1
= f

1
(5.16)
e
b
n1
+ 2c
n1
h
n1
+ 3d
n1
h
2
n1
= f

n
. (5.17)
Como os coecientes b
i
satisfazem a equao (5.12), a equao (5.16) implica
f

1
= b
1
=
f
2
f
1
h
1

h
1
3
(2c
1
+c
2
),
ou seja,
2h
1
c
1
+h
1
c
2
= 3
_
f
2
f
1
h
1
_
3f

1
. (5.18)
Da mesma forma, no caso da equao (5.17), as equaes (5.12) e (5.15) implicam
h
n1
c
n1
+ 2h
n1
c
n
= 3
_
f
n
f
n1
h
n1
_
+ 3f

n
. (5.19)
Em resumo, devemos resolver o sistema formado pelas equaes (5.13), (5.18) e (5.19)
_

_
2h
1
c
1
+h
1
c
2
= 3
_
f
2
f
1
h
1
_
3f

1
h
i1
c
i1
+ 2(h
i1
+h
i
)c
i
+h
i
c
i+1
= 3
_
f
i+1
f
i
h
i
_
3
_
f
i
f
i1
h
i1
_
,
h
n1
c
n1
+ 2h
n1
c
n
= 3
_
f
n
f
n1
h
n1
_
+ 3f

n
i = 2, . . . , n 1
e ento determinar os coecientes b
i
e d
i
atravs das equaes (5.12) e (5.15):
b
i
=
f
i+1
f
i
h
i

h
i
3
(2c
i
+c
i+1
),
97
5 Interpolao
d
i
=
c
i+1
c
i
3h
i
,
para i = 1, 2, . . . , n 1. Naturalmente, os coecientes a
i
= f
i
.
98
5.2 Interpolao spline
Exemplo: Vamos determinar a interpolao spline cbica (natural e comas mesmas condies
de f) para a funo seno, no intervalo [0, 2] a partir de 5 pontos igualmente espaados. Ou
seja,
(x
i
, f
i
)
5
i=1
=
__
(i 1)
2
, sin
_
(i 1)
2

___
5
i=1
=
_
(0, 0) ,
_

2
, 1
_
, (, 0) ,
_
3
2
, 1
_
, (2, 0)
_
Como o conjunto de pontos possui o mesmo espaamento na coordenada x, ento todos os h
i
so iguais a

2
.
O spline cbico uma funo s(x) da forma
s(x) =
_

_
s
1
(x), 0 x <

2
s
2
(x),

2
x <
s
3
(x), x <
3
2
s
4
(x),
3
2
x 2
,
onde cada s
i
(x) um polinmio cbico
s
i
(x) = a
i
+b
i
(x x
i
) +c
i
(x x
i
)
2
+d
i
(x x
i
)
3
.
Quando se tratar de um spline natural ento os coecientes c
i
so determinados atravs do
sistema
_

_
c
1
= 0
h
1
c
1
+ 2(h
1
+h
2
)c
2
+h
2
c
3
= 3
_
f
3
f
2
h
2
_
3
_
f
2
f
1
h
1
_
h
2
c
2
+ 2(h
2
+h
3
)c
3
+h
3
c
4
= 3
_
f
4
f
3
h
3
_
3
_
f
3
f
2
h
2
_
h
3
c
3
+ 2(h
3
+h
4
)c
4
+h
4
c
5
= 3
_
f
5
f
4
h
4
_
3
_
f
4
f
3
h
3
_
c
5
= 0
. (5.20)
Uma vez determinados os coecientes c
i
, os coecientes b
i
e d
i
so funes deste:
b
i
=
f
i+1
f
i
h
i

h
i
3
(2c
i
+c
i+1
) ,
d
i
=
c
i+1
c
i
3h
i
,
para i = 1, 2, 3, 4.
Neste exemplo h
i
=

2
para todo i. Substituindo os demais valores para f
i
no sistema (5.20)
99
5 Interpolao
teremos
_

_
c
1
= 0

2
c
1
+ 2c
2
+

2
c
3
=
12

2
c
2
+ 2c
3
+

2
c
4
= 0

2
c
3
+ 2c
4
+

2
c
5
=
12

c
5
= 0
cuja soluo dada por
c
1
= 0,
c
2
=
6

2
,
c
3
= 0,
c
4
=
6

2
,
c
5
= 0.
A partir dessa soluo temos tambm que
b
1
=
3

,
b
2
= 0,
b
3
=
3

,
b
4
= 0
e
d
1
=
4

3
,
d
2
=
4

3
,
d
3
=
4

3
,
d
4
=
4

3
.
Como a
i
= f
i
para i = 1, 2, 3, 4, o spline natural cbico dado ento por
s(x) =
_

_
3

x
4

3
x
3
, 0 x <

2
1
6

2
_
x

2
_
2
+
4

3
_
x

2
_
3
,

2
x <

(x ) +
4

3
(x )
3
, x <
3
2
1 +
6

2
_
x
3
2
_
2

3
_
x
3
2
_
3
,
3
2
x 2
.
100
5.2 Interpolao spline

2

3

2
2
x
1
0.5
0.5
1
sx

2

3

2
2
x
0.01
0.02
0.03
0.04

senx sx

senx

Figura 5.5: a) Interpolao spline cbica (natural) da funo seno em 5 pontos igualmente espaa-
dos no intervalo [0, 2]. b) Diferena entre a interpolao e a funo seno. Note que o
erro absoluto menor ou igual a 0.05. O leitor mais atento observar que o grco para
o erro relativo no se anula nos pontos pontos x = 0, x = e x = 2. Acontece que
nesses pontos o erro relativo no est denido pois o seno e sua diferena com relao
a s(x) se anulam. No entanto o limite existe e indicado pelo grco.
Quando se trata de um spline com mesmas condies de fronteira de f ento o sistema que
determina as constantes c
i
assume a forma
_

_
2h
1
c
1
+h
1
c
2
= 3
_
f
2
f
1
h
1
_
3f

1
h
1
c
1
+ 2(h
1
+h
2
)c
2
+h
2
c
3
= 3
_
f
3
f
2
h
2
_
3
_
f
2
f
1
h
1
_
h
2
c
2
+ 2(h
2
+h
3
)c
3
+h
3
c
4
= 3
_
f
4
f
3
h
3
_
3
_
f
3
f
2
h
2
_
h
3
c
3
+ 2(h
3
+h
4
)c
4
+h
4
c
5
= 3
_
f
5
f
4
h
4
_
3
_
f
4
f
3
h
3
_
h
4
c
4
+ 2h
4
c
5
= 3
_
f
5
f
4
h
4
_
+ 3f

5
.
Neste exemplo h
i
=

2
para todo i. Substituindo os demais valores para f
i
no sistema acima
teremos aps algumas manipulaes algbricas
_

_
2c
1
+c
2
=
12 6

2
c
1
+ 2c
2
+

2
c
3
=
12

2
c
2
+ 2c
3
+

2
c
4
= 0

2
c
3
+ 2c
4
+

2
c
5
=
12

c
4
+ 2c
5
=
_
12 6

_
101
5 Interpolao
cuja soluo dada por
c
1
=
24
7
2
(3 +) ,
c
2
=
6
7
2
(10 +) ,
c
3
= 0,
c
4
=
6
7
2
(10 +) ,
c
5
=
24
7
2
(3 +) .
A partir dessa soluo temos tambm que
b
1
= 1,
b
2
=
2
7
(3 +) ,
b
3
=
24 +
7
,
b
4
=
2
7
(3 +)
e
d
1
=
4
7
3
(22 + 5) ,
d
2
=
4
7
3
(10 +) ,
d
3
=
4
7
3
(10 +) ,
d
4
=
4
7
3
(22 + 5) .
Como a
i
= f
i
para i = 1, 2, 3, 4, o spline cbico com as mesmas condies de fronteira do
seno dado ento por
s(x) =
_

_
s
1
(x), 0 x <

2
s
2
(x),

2
x <
s
3
(x), x <
3
2
s
4
(x),
3
2
x 2
,
onde
s
1
(x) = x
24 (3 +)
7
2
x
2
+
4 (22 + 5)
7
3
x
3
s
2
(x) = 1
2 (3 +)
7
_
x

2
_
+
6 (10 +)
7
2
_
x

2
_
2

4 (10 +)
7
3
_
x

2
_
3
,
s
3
(x) =
24 +
7
(x )
4 (10 +)
7
3
(x )
3
,
s
4
(x) = 1
2 (3 +)
7
_
x
3
2
_

6 (10 +)
7
2
_
x
3
2
_
2
+
4 (22 + 5)
7
3
_
x
3
2
_
3
.
102
5.3 Exerccios

2

3

2
2
x
1
0.5
0.5
1
sx

2

3

2
2
x
0.01
0.02
0.03
0.04
0.05

senx sx

senx

Figura 5.6: a) Interpolao spline cbica (com a mesma derivada do seno na fronteira) da funo
seno em 5 pontos igualmente espaados no intervalo [0, 2]. b) Diferena entre a inter-
polao e a funo seno. Note que o erro absoluto menor ou igual a 0.052.
Note que a exigncia de que o spline possua a mesma derivada que a funo seno nos pontos
x = 0 e x = 2 diminui o erro relativo na vizinhana desses pontos em quase
1
4
do valor
original enquanto que o erro relativo na metade do intervalo sofre um aumento muito discreto.
5.3 Exerccios
1) (Aquecimento) Cheque, indiretamente, a exatido das bibliotecas de funes de seu computador
ou calculadora cientca atravs da anlise do comportamento das seguintes identidades nos valores
de x = i

20
, para i = 1, 2, . . . , 9.
1. sen
2
(x) + cos
2
(x) = 1
2. sen(2x) = 2sen(x) cos(x)
3. cos(x) = sen(x +/2)
4. exp(x) exp(x) = 1
5. ln(e
x
) = x
6.

x

x = x
2) Utilize a seguinte tabela (com valores exatos at a preciso utilizada),
x sen(x) cos(x) cot(x)
0,001 0,001000 1,000000 1000,0
0,002 0,002000 0,999998 499,999
0,003 0,003000 0,999996 333,332
0,004 0,004000 0,999992 249,999
0,005 0,00500 0,999988 199,998
para calcular cot(0, 0015) com a maior preciso possvel atravs de:
1. interpolao para cot(x).
103
5 Interpolao
2. interpolao de sen(x) e cos(x).
3. estime o erro em 2). Dica: propagao de erros.
4. Explique a diferena entre os resultados em 1) e 2).
3) Compare os erros na aproximao das funes abaixo no intervalo [0, 1] atravs de:
i) Expanso de Taylor em torno do ponto x
0
= 0, 5
ii) Interpolao de Lagrange com pontos igualmente espaados, com x
1
= 0 at x
4
= 1.
iii) Interpolao de Lagrange utilizando os pontos de Chebyshev.
Utilize sempre polinmios de 3 grau e compare os erros em x = 0; 0, 1; 0, 2; . . . ; 1, 0.
1. sen(2x)
2. e
x
3.

x
4.
1
1 + 25x
2
5. x
4
4) Seja a funo f(x) = (x 0.2)(x 0.3)e
(x+0.5)
2
. Escolha um nmero suciente de pontos
distintos e construa um polinmio interpolante de terceiro grau no intervalo [0.1, 0.4] para a funo
f. (Sugesto: utilize pontos igualmente espaados.)
5) Encontre a interpolao spline cbica (spline natural) para os dados abaixo
x f(x)
-2 0
-1 1
0 2
1 1
2 0
3 1
6) Decida se as seguintes funes so splines
1. f(x) =
_

_
x , 1 x < 0
2x , 0 x < 1
x + 1 , 1 x 2
2. f(x) =
_

_
x , 1 x < 0
2x 1 , 0 x < 1
x + 1 , 1 x 2
3. f(x) =
_

_
0 , 1 x < 0
x
2
, 0 x < 1
2x 1 , 1 x 2
104
5.3 Exerccios
7) Determine os valores de a e b de forma que a seguinte funo
f(x) =
_

_
x
3
+x , 1 x < 0
ax
2
+bx , 0 x 1
seja um spline cbico.
8) Para quais valores de b, c e d a funo s : [1, 1] R um spline? Quando ser um spline
natural? Justique suas armaes.
s(x) =
_
dx
3
9x
2
+bx , 1 x < 0
3x
3
+cx
2
+x , 0 x 1
.
105
5 Interpolao
106
6 Ajuste de mnimos quadrados
6.1 Ajuste de mnimos quadrados polinomial
No captulo anterior estudamos como encontrar um polinmio de grau mque interpola um conjunto
de n pontos x
i
, f
i

n
i=1
. Tipicamente
1
quando m < n1 esse polinmio no existe. No entanto,
ainda assim podemos encontrar uma aproximao p(x) para a funo desconhecida que dene os
n pontos. Se p(x) fosse uma interpolao, seria necessrio que p(x
i
) = f
i
. A tcnica de ajuste
de funes substitui essa exigncia pela minimizao de uma funo Q(r
i
) denida a partir dos
resduos r
i
.
= p(x
i
) f
i
.
A escolha mais comum para Q a soma quadrtica dos resduos, ou seja
Q(r
i
) =
n

i=1
r
2
i
. (6.1)
Existem outras escolhas possveis para Q, por exemplo, Q = max
i
[r
i
[ ou Q =

i
[r
i
[, a impor-
tncia de (6.1) deve-se ao teorema de Gauss-Markov para modelos lineares em estatstica.
Inicialmente vamos tratar o caso em que a funo ajuste um polinmio de grau m. Como
veremos a seguir, a condio de que (6.1) seja mnimo fornecer as equaes para determinarmos
os coecientes do polinmio. O procedimento de determinar os coecientes que minimizam (6.1)
denominado ajuste de mnimos quadrados.
Seja ento p(x) um polinmio
p(x) = a
0
+a
1
x +. . . +a
m
x
m
ento, a partir do conjunto de dados x
i
, f
i

n
i=1
, a funo Q pode ser escrita em termos dos
coecientes a
j
como
Q(a
1
, . . . , a
m
) =
n

i=1
_
_
f
i

j=0
a
j
x
j
i
_
_
2
. (6.2)
Se lembrarmos que os valores x
i
e f
i
so nmeros conhecidos, a dependncia de Qnos coecientes
a
j
quadrtica, ou seja, Q umparabolide emtermos dos a
j
. Almdisso, como podemos vericar
na expresso (6.2), Q 0. Isto garante que a funo Q sempre possui um nico mnimo global. O
ponto (a

1
, a

2
, . . . , a

m
) em que Q for mnimo determina o ajuste.
No ponto em que Q mnimo
1
claro que existem casos em que a interpolao possvel, por exemplo, poderamos ter um conjunto de trs pontos
alinhados (n = 3). Nesse caso, h a interpolao dos mesmos por uma reta (m = 2), mas se fossem trs pontos
distintos no alinhados, a interpolao por uma reta no mais seria possvel.
107
6 Ajuste de mnimos quadrados
Q
a
k
(a

1
, . . . , a

m
) = 0
para k = 0, 1, . . . , m.
Isto implica as equaes
2
n

i=1
_
_
f
i

j=0
a

j
x
j
i
_
_
x
k
i
= 0, (6.3)
para cada k = 0, 1, . . . , m, pois

a
k
_

m
j=0
a
j
x
j
i
_
=

a
k
_
a
0
+a
1
x
i
+. . . +a
k
x
k
i
+. . . +a
m
x
m
i
_
=
x
k
i
. A equao (6.3) pode ser reescrita como
n

i=1
m

j=0
a

j
x
j+k
i
=
n

i=1
f
i
x
k
i
m

j=0
_
n

i=1
x
j+k
i
_
a

j
=
n

i=1
f
i
x
k
i
(6.4)
para cada k = 0, 1, . . . , m. Ou seja, um sistema de m+1 equaes lineares cujas incgnitas so os
m+ 1 coecientes a
i
do polinmio p(x).
O sistema de equaes (6.4) pode ser convenientemente descrito em notao matricial como
X
T
Xa = X
T
f , (6.5)
onde
X =
_
_
_
_
_
_
1 x
1
x
2
1
x
m
1
1 x
2
x
2
2
x
m
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1 x
n
x
2
n
x
m
n
_
_
_
_
_
_
, (6.6)
X
T
sua transposta, a =
_
_
_
_
_
_
a
0
a
1
.
.
.
a
m
_
_
_
_
_
_
e f =
_
_
_
_
f
1
.
.
.
f
n
_
_
_
_
. As equaes dadas pelo sistema (6.5) so
denominadas equaes normais. Essa nomenclatura deve-se ao seguinte fato: o sistema (6.5) pode
ser escrito como
X
T
(Xa f ) = 0
o vetor entre parnteses, Xa f o vetor cujas componentes so dadas pelos resduos da aproxi-
mao e, segundo a equao anterior esse vetor normal (ortogonal) aos vetores formados pelos
elementos das linhas da matriz X
T
que so da forma
_
_
_
_
_
_
x
l
1
x
l
2
.
.
.
x
l
n
_
_
_
_
_
_
para l = 0, 1, 2, . . . , m.
Exemplo: Seja o conjunto de pontos x
i
, f
i

5
i=1
: 2, 0, 1, 1, 0, 2, 1, 1, 2, 0
108
6.1 Ajuste de mnimos quadrados polinomial
vamos determinar o ajuste de mnimos quadrados para um polinmio de segundo grau p(x) =
a
0
+a
1
x +a
2
x
2
.
Os coecientes do polinmio so a soluo do seguinte sistema na representao matricial
X
T
Xa = X
T
f ,
onde a matriz X dada por
X =
_
_
_
_
_
_
_
_
1 x
1
x
2
1
1 x
2
x
2
2
1 x
3
x
2
3
1 x
4
x
2
4
1 x
5
x
2
5
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
1 2 4
1 1 1
1 0 0
1 1 1
1 2 4
_
_
_
_
_
_
_
_
,
portanto
X
T
X =
_
_
_
5 0 10
0 10 0
10 0 34
_
_
_
.
O vetor de constantes f =
_
_
_
_
_
_
_
_
f
1
f
2
f
3
f
4
f
5
_
_
_
_
_
_
_
_
e o vetor de incgnitas a =
_
_
_
a
o
a
1
a
2
_
_
_
compe o sistema
que possui matriz completa
_
_
_
5 0 10
0 10 0
10 0 34
4
0
2
_
_
_
e soluo
a =
_
_
_
58/35
0
3/7
_
_
_
.
Assim, o polinmio que ajusta os dados p(x) =
58
35

3
7
x
2
.
109
6 Ajuste de mnimos quadrados
2 1 1 2
x
1
2
f x
Figura 6.1: Ajuste de mnimos quadrados ajuste polinomial
Caso particular: regresso linear
Quando o ajuste de mnimos quadrados realizado para um polinmio de 1 grau as expresses so
mais simples, em particular, possvel determinar o valor dos coecientes a
0
e a
1
exclusivamente
em termos de mdias.
Para um conjunto de n pontos x
i
, f
i

n
i=1
, a soma quadrtica dos desvios, Q, dada por
Q =
n

i=1
(f
i
a
0
a
1
x)
2
.
Da mesma forma que no caso mais geral, condies necessrias para que Q seja mnimo so dadas
pelas derivadas de Q com relao a a
0
e a
1
que devem se anular:
Q
a
0
= 2
n

i=1
(f
i
a
0
a
1
x
i
)(1) = 0 (6.7)
e
Q
a
1
= 2
n

i=1
(f
i
a
0
a
1
x
i
)(x
i
) = 0. (6.8)
A partir da equao (6.7) temos
na
0
+a
1
n

i=1
x
i
=
n

i=1
f
i
a
0
+a
1
1
n
n

i=1
x
i
=
1
n
n

i=1
f
i
.
Da mesma forma, a equao (6.8) implica
a
0
n

i=1
x
i
+a
1
n

i=1
x
2
i
=
n

i=1
f
i
x
i
a
0
1
n
n

i=1
x
i
+a
1
1
n
n

i=1
x
2
i
=
1
n
n

i=1
f
i
x
i
.
Atravs da notao x
.
=
1
n

n
i=1
x
i
, x
2
=
1
n

n
i=1
x
2
i
, f
.
=
1
n

n
i=1
f
i
e fx
.
=
1
n

n
i=1
f
i
x
i
110
6.2 Ajuste de mnimos quadrados por uma combinao linear de funes
podemos reescrever as equaes (6.7) e (6.8) como o sistema
_
a
0
+xa
1
= f
xa
0
+x
2
a
1
= fx
cuja soluo determina os coecientes a
0
e a
1
:
a
0
=
f x
2
xfx
x
2
(x)
2
,
a
1
=
fx f x
x
2
(x)
2
.
6.2 Ajuste de mnimos quadrados por uma combinao linear
de funes
A maneira atravs da qual determinamos o ajuste de mnimos quadrados por um polinmio pode
ser imediatamente generalizada para o caso da combinao linear de um conjunto de funes co-
nhecidas
i
(x)
i
. Podemos vericar prontamente que o polinmio p(x) = a
0
+a
1
x+. . . +a
m
x
m
um caso particular da combinao linear de m distintas funes
j
(x)
(x) =
m

j=1
a
j

j
(x),
no caso em que
j
(x) = x
j
.
A soma quadrtica dos resduos Q(f, ) dada por
Q(f, )
.
=
n

i=1
(f
i
(x
i
))
2
=
n

i=1
_
_
f
i

j=1
a
j

j
(x
i
)
_
_
2
.
De maneira totalmente anloga ao caso do ajuste para polinmios, o conjunto de coecientes que
minimizam Q(f, ) determinado pela soluo do sistema de equaes lineares
_

_
Q
a
0
= 0
Q
a
1
= 0
.
.
.
Q
a
m
= 0
que equivalente ao sistema de equaes normais

T
a =
T
f , (6.9)
111
6 Ajuste de mnimos quadrados
onde
=
_
_
_
_
_
_

1
(x
1
)
2
(x
1
)
m
(x
1
)

1
(x
2
)
2
(x
2
)
m
(x
2
)
.
.
.
.
.
.
.
.
.
.
.
.

1
(x
n
)
2
(x
n
)
m
(x
n
)
_
_
_
_
_
_
nm
,
a =
_
_
_
_
_
_
a
1
a
2
.
.
.
a
m
_
_
_
_
_
_
e f =
_
_
_
_
_
_
f
1
f
2
.
.
.
f
n
_
_
_
_
_
_
.
Exemplo: Seja o mesmo conjunto de pontos utilizados no exemplo de ajuste polinomial
x
i
, f
i

5
i=1
: 2, 0, 1, 1, 0, 2, 1, 1, 2, 0 vamos determinar o ajuste de mni-
mos quadrados para a seguinte combinao linear, (x) = a
1
+a
2
e
x
+a
3
e
x
, onde
1
(x)
.
= 1,

2
(x)
.
= e
x
e
3
(x) = e
x
.
Os coecientes do ajuste so soluo do seguinte sistema na representao matricial

T
a =
T
f ,
onde a matriz dada por
=
_
_
_
_
_
_
_
_

1
(x
1
)
2
(x
1
)
3
(x
1
)

1
(x
2
)
2
(x
2
)
3
(x
2
)

1
(x
3
)
2
(x
3
)
3
(x
3
)

1
(x
4
)
2
(x
4
)
3
(x
4
)

1
(x
5
)
2
(x
5
)
3
(x
5
)
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
1 e
2
e
2
1 e
1
e
1 1 1
1 e e
1
1 e
2
e
2
_
_
_
_
_
_
_
_
,
portanto

T
=
_
_
_
5, 00000 11, 6106 11, 6106
11, 6106 63, 1409 5, 00000
11, 6106 5, 0000 63, 1409
_
_
_
.
O vetor de constantes
T
f =
_
_
_
4, 00000
5, 08616
5, 08616
_
_
_
e o vetor de incgnitas a =
_
_
_
a
1
a
2
a
3
_
_
_
compe o
sistema que possui matriz completa
_
_
_
5, 00000 11, 6106 11, 6106
11, 6106 63, 1409 5, 00000
11, 6106 5, 00000 63, 1409
4, 00000
5, 08616
5, 08616
_
_
_
e soluo
a =
_
_
_
2, 17256
0, 295542
0, 295542
_
_
_
.
Assim, o ajuste toma a forma (x) = 2, 172560, 295542 (e
x
+e
x
) = 2, 172560, 591084 cosh(x).
112
6.3 Ajuste de mnimos quadrados por uma combinao linear de funes ortogonais
2 1 1 2
x
1
2
x
Figura 6.2: Ajuste de mnimos quadrados combinao linear
Problemas de condicionamento no mtodo de ajuste de funes pelo mtodo dos
mnimos quadrados
De modo geral, ao aplicarmos o mtodo de ajuste de mnimos quadrados com um polinmio de
grau maior ou igual a 8, a tarefa de resolver o sistema de equaes normais (6.5) muito dicultada
por erros de arredondamento. A diculdade est relacionada ao fato de que as matrizes da forma
X
T
X presentes no sistema (6.5) so mal condicionadas. Essa propriedade independe dos valores
f
i
no conjunto de n pontos x
i
, f
i

n
i=1
para ajuste. Note que a matriz (m+ 1) (m+ 1) X
T
X
depende apenas dos valores x
i
e do grau m do polinmio ajustado.
Como exemplo, no caso em que os n valores x
i
so igualmente espaados entre 0 e 1 possvel
demonstrar
2
que X
T
X aproximadamente igual a matriz nH, onde H a matriz de Hilbert
3
de
ordem m+ 1, uma matriz mal condicionada.
Uma maneira de contornar as diculdades introduzidas pelo condicionamento da matriz X
T
X e,
ainda assim, realizar o ajuste de mnimos quadrados para um polinmio de ordem grande, consiste
em utilizar um conjunto de polinmios
i
(x) construdo de maneira que a matriz
T
presente
no sistema de equaes normais (6.9) no possua problemas de condicionamento. Como veremos
adiante, esse objetivo alcanado se o conjunto de funes
i
(x)
i
for um conjunto de funes
ortogonais.
6.3 Ajuste de mnimos quadrados por uma combinao linear
de funes ortogonais
Denio (produto interno discreto). Seja o conjunto nito de pontos X = x
i

n
i=1
e duas fun-
es f e g denidas sobre X. O produto interno discreto entre f e g, simbolizado pela expresso
2
Veja a demonstrao na referncia:
Yakowitz, S.; Szidarovszky, F. An Introduction to Numerical Computation. Macmillan Pub. Company. (1986).
3
Amatriz de Hilbert H possui coecientes a
ij
=
1
i + j 1
. Ocondicionamento dessa matriz cresce exponencialmente
com a ordem.
113
6 Ajuste de mnimos quadrados
(f, g)
X
denido como
(f, g)
X
=
n

i=1
f(x
i
)g(x
i
)
Denio (funes ortogonais). Dadas duas funes f e g, denidas em conjunto discreto nito
X, dizemos que as mesmas so ortogonais se
(f, g)
X
= 0.
Em particular, um conjunto de funes
i
(x)
m
i=1
denidas nos pontos do conjunto X um sis-
tema ortogonal se e somente se, para quaisquer 1 i, j m,
(
i
,
j
)
X
= 0, se i ,= j,
(
i
,
j
)
X
,= 0, se i = j.
Se o ajuste de mnimos quadrados dos dados x
i
, f
i

n
i=1
realizado para uma combinao
linear
m

i=1
a
i

i
(x), (6.10)
onde as funes
i
(x) so elementos de um sistema ortogonal, ento a matriz
T
uma matriz
diagonal o que torna o problema de resolver o sistema (6.9) uma tarefa simples.
Seja s
ij
um coeciente da matriz S =
T
onde
i
(x)
m
i=1
um sistema ortogonal. A partir
da denio da matriz , temos que
s
ij
=
n

k=1

i
(x
k
)
j
(x
k
)
= (
i
,
j
)
X
,
como as funes
i
fazem parte de um sistema ortogonal, ento
s
ij
=
_
0 , se i ,= j
(
i
,
i
)
X
, se i = j
,
ou seja, S =
T
uma matriz diagonal. Nesse caso, a soluo do sistema de equaes nor-
mais pode ser obtida a um baixo custo computacional e com erros de arredondamento controlveis
atravs da inverso de S:
a =
_

_
1

T
f .
como
_

_
1
=
_
_
_
_
_
_
_
1
(
1
,
1
)
X
0 0
0
1
(
2
,
2,
)
X
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0
1
(
m
,
m
)
X
_
_
_
_
_
_
_
,
114
6.4 Ajustes no lineares redutveis ao caso linear
temos ento que os coecientes do ajuste
4
(6.10) so dados por
a
j
=
(f,
j
)
X
(
j
,
j
)
X
.
Portanto, j que x
i
e f
i
(ou f(x
i
)) so dados de entrada para o ajuste, a determinao dos coe-
cientes a
i
depende apenas da tarefa de encontrar um conjunto de funes
i
que seja um sistema
ortogonal. Se
i
forem um polinmios de grau i, ento possvel
5
construir um sistema ortogonal.
A construo realizada a partir da relao de recorrncia que os polinmios
i
devem satisfazer:

i
(x) = (x b
i
)
i1
(x) c
i

i2
(x),
onde
b
i
=
(x
i1
(x),
i1
(x))
X
(
i1
(x),
i1
(x))
X
, i = 1, 2, . . .
c
i
=
(x
i1
(x),
i2
(x))
X
(
i2
(x),
i2
(x))
X
, i = 2, 3, . . .
e c
1
= 0. Assim, construmos recursivamente os polinmios a partir da escolha
0
(x) 1 e

1
(x) 0.
6.4 Ajustes no lineares redutveis ao caso linear
Quando o ajuste de mnimos quadrados realizado para funo que no pode ser escrita como uma
combinao linear de funes conhecidas, por exemplo,
(x) = a
1
x + cos(a
2
x) +e
a
3
x
,
o mtodo de mnimos quadrados envolve a soluo de um conjunto de equaes no lineares. No
vamos estudar este tpico aqui, porm existem casos de ajuste de mnimos quadrados no linear
que, mediante uma transformao, podem ser escritos como um problema de ajuste linear.
Devido sua importncia vamos estudar o mtodo de ajuste para as funes:
(x) = a
1
e
a
2
x
, (6.11)
(x) = a
1
x
a
2
. (6.12)
e
(x) = a
1
x
a
2
e
a
3
x
. (6.13)
Qualquer um desses casos pode ser reescrito como um problema de ajuste por combinao linear
de funes conhecidas por meio de uma transformao (no linear).
4
Lembre que os dados para ajuste so {{x
i
, f
i
}}
n
i=1
, onde o conjunto X = {x
i
}
n
i=1
utilizado para denir o produto
interno (, )
X
. Como temos estudado at aqui, f
i
f(x
i
) se f for conhecida, caso contrrio f
i
um dado de
entrada no problema de ajuste.
5
Veja os detalhes em:
Ralston, A.; Rabinowitz, P. A First Course in Numerical Analysis. McGraw-Hill.(1978).
115
6 Ajuste de mnimos quadrados
Atransformao consiste emtomar o logartmo das funes e o logartmo da segunda coordenada
dos pontos de ajuste. Ento o problema original de determinar o ajuste de mnimos quadrados no
linear para o conjunto de valores x
i
, f
i

n
i=1
passa a ser o preoblema de determinar o ajuste de
mnimos quadrados por uma combinao de funes lineares.
No primeiro caso, temos
ln() = ln a
1
+a
1
x.
e a combinao linear formada pelas funes
1
(x) = 1 e
2
(x) = x.
No segundo caso,
ln() = ln a
1
+a
2
ln x.
e a combinao linear formada pelas funes
1
(x) = 1 e
2
(x) = ln x.
No terceiro caso,
ln() = ln a
1
+a
2
ln x +a
3
x.
e a combinao linear formada pelas funes
1
(x) = 1,
2
(x) = ln x e
3
(x) = x.
Exemplo: Vamos realizar o ajuste dos pontos 0, 1; 0, 01, 0, 2; 0, 063, 0, 5; 0, 59, 0, 7; 1, 5,
1, 0; 3, 6 funo (x) = a
1
x
a
2
. Vamos tomar o logartmo das duas coordenadas dos pon-
tos, o resultado o novo conjunto de pontos x
i
, ln
i
= x
i
, f
i
: 0, 1; 4, 60517,
0, 2; 2, 76462, 0, 5; 0, 527633, 0, 7; 0, 405465, 1, 0; 1, 28093.
Como
ln = ln a
1
+a
2
x
= a
1
+a
2
x,
ou seja,
1
(x) = 1 e
2
(x) = ln x. Devemos resolver o sistema

T
a =
T
f ,
onde, de acordo com a notao de produto interno,

T
=
_
(
1
,
1
) (
1
,
2
)
(
2
,
1
) (
2
,
2
)
_
=
_

5
i=1
1

5
i=1
ln x
i

5
i=1
ln x
i

5
i=1
(ln x
i
)
2
_
,

T
f =
_
(f ,
1
)
(f ,
2
)
_
=
_

5
i=1
f
i

5
i=1
f
i
ln x
i
_
e
a =
_
a
1
a
2
_
.
A soluo dada por
a
1
= 1, 28619 e a
2
= 2, 54784.
116
6.4 Ajustes no lineares redutveis ao caso linear
Como a
1
= e
a
1
, obtemos o ajuste
(x) = 3, 61897 x
2,54784
.
0.1 0.2 0.5 0.7 1.0
x
1
2
3
4
x
Figura 6.3: Ajuste de mnimos quadrados ajuste no linear
117
6 Ajuste de mnimos quadrados
6.5 Exerccios
1) Encontre as aproximaes de mnimo quadrado linear e quadrtica para os seguintes pontos:
x
i
, f
i

i
= 2, 6, 1, 4, 0, 3, 1, 3
2) Realize o ajuste de mnimos quadrados a
1

1
(x) + a
2

2
(x) com respeito aos coecientes a
1
e a
2
para as funes
1
(x),
2
(x) e o conjunto de dados x
i
, f
i

i
abaixo:
1.
1
(x) = 1,
2
(x) = x. Dados 0, 1, 1, 2, 2, 4.
2.
1
(x) = sen(x),
2
(x) = cos(x). Dados 0, 0, /4, 1, /2, 0.
3.
1
(x) = 1,
2
(x) = e
x
. Dados 0, 1, 1, 2, 2, 2.
4.
1
(x) = e
x
,
2
(x) = e
x
. Dados 0, 0, 1, 1, 2, 1, 3, 0.
3) A partir da transformao pela ao do logartmo, determine a forma linear para o ajuste no
linear da funo (x) = a
1
x
a
2
e
a
3
x
ao conjunto de pontos 1, 000; 1, 854, 1, 600; 0, 9451,
2, 200; 0, 7528, 2, 800; 0, 7890, 3, 400; 0, 9230, 4, 000; 1, 237.
4) Considere os pontos x
i
, f
i

n
i=1
da forma x
i
= (i 1)h e f
i
= sen(x
i
), onde h =
/(n 1) e n uma constante positiva. Encontre os ajustes de mnimos quadrados linear, qua-
drtico e de quinta ordem nos casos n = 7, 10 e 15. Calcule a exatido nos pontos x
j
= j

100
,
j = 1, 2, . . . , 100. Observao: no sofra desnecessariamente, construa e utilize um sistema de
polinmios ortogonais. Seria interessante utilizar um computador no clculo da exatido.
5) Estudamos em classe o mtodo do mnimos quadrados no caso em que o conjunto de dados
discreto, no entanto possvel ajustar uma funo f(x) pela combinao linear

f(x) =

i
c
i

i
(x)
para x em um intervalo contnuo [a, b]. A tcnica semelhante a que estudamos no caso linear geral
com a seguinte diferena, ao invs de utilizar um produto interno discreto, neste caso, o produto
interno de duas funes g(x) e h(x) denido como
(g, h)
w
=
_
b
a
dxw(x) g(x) h(x)
onde w(x) uma funo peso. A medida de ajuste, Q(f,

f) dada por
Q(f,

f)
.
= (f

f, f

f)
w
.
Encontre o ajuste pelo mtodo dos mnimos quadrados (assuma w(x) 1) na forma

f(x) =
a
0
+a
1
x para a funo f(x) = e
x
no intervalo [0, 1].
118
7 Integrao numrica
7.1 Quadratura por interpolao
O mtodo de quadratura por interpolao consiste em utilizar um polinmio interpolante p(x) para
aproximar o integrando f(x) no domnio de integrao [a, b]. Dessa forma a integral
_
b
a
f(x) dx
pode ser aproximada pela integral
_
b
a
p(x) dx.
Se o integrando f(x) conhecido em n pontos distintos x
1
, . . . , x
n
, podemos utilizar algum dos
mtodos desenvolvidos para encontrar um polinmio p(x) que interpole f(x
i
), i = 1, . . . , n. Dessa
forma, segundo a expresso (5.3):
_
b
a
f(x) dx =
_
b
a
p(x) dx +
_
b
a
dx
f
(n)
n!
((x))
n

i=1
(x x
i
),
onde, a cada x, = (x) o nmero que torna verdadeira a equao
f(x) = p(x) +
f
(n)
()
n!
n

i=1
(x x
i
).
De acordo com o mtodo de interpolao de Lagrange, uma vez determinados os polinmios de
Lagrange l
i
(x), (e a interpolao p(x) =

n
i=1
f(x
i
) l
i
(x) ), a aproximao seria ento dada por
_
b
a
p(x) dx =
_
b
a
n

i=1
f(x
i
) l
i
(x) dx =
n

i=1
f(x
i
)
_
b
a
l
i
(x) dx,
onde a segunda igualdade se deve ao fato de que f(x
i
) uma constante. A expresso anterior pode
ser ento reescrita na forma
_
b
a
p(x) dx =
n

i=1
C
i
f(x
i
),
onde i = 1, . . . , n e os valores f(x
i
) so conhecidos (fazem parte dos dados de entrada) e as
constantes C
i
so o resultado da integrao:
C
i
=
_
b
a
l
i
(x) dx. (7.1)
119
7 Integrao numrica
A aproximao da integral de f(x) dada ento por
_
b
a
f(x) dx
n

i=1
C
i
f(x
i
), (7.2)
onde os coecientes C
i
so dados pelas integrais (que podem ser resolvidas exatamente) (7.1). Essa
aproximao denominada frmula de quadratura, de uma maneira geral, todas as aproximaes
de operaes de integrao numrica podem ser descritas na forma (7.2) naturalmente, o coeci-
ente C
i
vai depender do mtodo utilizado.
Exemplo: Vamos aproximar a integral
_
1/2
1/2
e
x
2
dx a partir da interpolao do integrando
em trs pontos: x
1
= 1/2, x
2
= 0 e x
3
= 1/2. Segundo o mtodo de Lagrange, os
polinmios l
i
(x) so:
l
1
(x)
.
=
(x 0)(x 1/2)
(1/2 0)(1/2 1/2)
= x + 2x
2
,
l
2
(x)
.
=
(x + 1/2)(x 1/2)
(0 + 1/2)(0 1/2)
= 1 4x
2
,
l
3
(x)
.
=
(x + 1/2)(x 0)
(1/2 + 1/2)(1/2 0)
= x + 2x
2
,
portanto
C
1
=
_
1/2
1/2
l
1
(x) dx =
_
1/2
1/2
(x + 2x
2
) dx =
1
6
,
C
2
=
_
1/2
1/2
l
2
(x) dx =
_
1/2
1/2
dx(1 4x
2
) dx =
2
3
,
C
3
=
_
1/2
1/2
l
3
(x) dx =
_
1/2
1/2
dx(x + 2x
2
) dx =
1
6
.
Assim, a aproximao dada pelo somatrio
_
1/2
1/2
e
x
2
dx
3

i=1
e
x
2
i
C
i
=
1
6
_
e

1
4
+ 4e
0
+e

1
4
_
= 0.9262 . . .
O valor exato da integral calculado a partir da funo erro e vale
_
1/2
1/2
e
x
2
dx = 0.9225 . . .
Como veremos a seguir, no ser necessrio construir e integrar os polinmios de Lagrange para
obter a aproximao.
A chave para determinar os coecientes o fato de que os polinmios de Lagrange, l
i
(x), de-
pendem apenas dos pontos x
i
. Ento, qualquer que fosse o integrando f(x), uma vez xados os
pontos x
i
, os polinmios de Lagrange so sempre os mesmos. Poderamos realizar a escolha de
uma funo f(x) dada por um polinmio, nesse caso, a interpolao exata, ou seja, f(x) p(x)
120
7.1 Quadratura por interpolao
e portanto
_
b
a
f(x) dx =
_
b
a
p(x) dx =
n

i=1
f(x
i
) C
i
. (7.3)
Emparticular, vamos realizar n escolhas para a funo f na forma f
j
(x) = x
j
para j = 0, . . . , n1.
Cada uma dessas escolhas para f vai originar, em vista de (7.3), uma equao com os n coecientes
C
i
que buscamos determinar. Teremos ento um sistema linear com n equaes e n incgnitas
1
:
_

_
(x
1
)
0
C
1
+ (x
2
)
0
C
2
+. . . + (x
n
)
0
C
n
=
_
b
a
x
0
dx = b a
x
1
C
1
+x
2
C
2
+. . . +x
n
C
n
=
_
b
a
xdx =
b
2
a
2
2
.
.
.
.
.
.
.
.
.
(x
1
)
n1
C
1
+ (x
2
)
n1
C
2
+. . . + (x
n
)
n1
C
n
=
_
b
a
x
n1
dx =
b
n
a
n
n
(7.4)
Exemplo: Vamos utilizar os mesmos pontos do exemplo anterior, ou seja, x
1
= 1/2, x
2
= 0
e x
3
= 1/2. Nesse caso o sistema para os coecientes C
i
toma a seguinte forma
_

_
C
1
+ C
2
+ C
3
= 1
C
1
+ 0 + C
3
= 0
C
1
+ 0 + C
3
=
1
3
cuja soluo C
1
= C
3
=
1
6
e C
2
=
2
3
. Portanto a aproximao de uma integral
_
1/2
1/2
f(x) dx
dada por
_
1/2
1/2
f(x) dx
1
6
(f(1/2) + 4f(0) +f(1/2)) .
Quando os pontos de interpolao a = x
1
< x
2
< . . . < x
n
= b so igualmente espaados, o
mtodo de quadratura por interpolao recebe o nome de frmula de Newton-Cotes.
interessante notar que uma vez denida a frmula de integrao em um determinado inter-
valo, possvel utilizar os mesmos coecientes para aproximar a integrao em outro intervalo.
Basta realizar uma transformao de varivel. Ento se conhecemos a aproximao de uma inte-
gral
_
b
a
f(x) dx

n
i=1
f(x
i
) C
i
= I e quisermos encontrar uma aproximao para
_
d
c
f(y) dy,
devemos realizar a mudana de varivel y = x + que implica
_
d
c
f(y) dy =
_ d

f(x +) dx.
Os valores de e so determinados quando exigimos que os limites de integrao coincidam:
1
possvel demonstrar que se os n pontos x
i
forem distintos, ento o sistema possui uma nica soluo. Veja a
referncia:
Bellman, R. Introduction to Matrix Analysis, 2 ed., MacGraw-Hill (1970).
121
7 Integrao numrica
c

= a e
d

= b. Ou seja,
=
d c
b a
e =
bc ad
b a
(7.5)
e assim,
_
d
c
f(y) dy =
_
b
a
f(x +) dx
n

i=1
f(x
i
+) C
i
com e dados por (7.5)
7.2 Quadraturas newtonianas
7.2.1 Regra do trapzio
O que caracteriza as quadraturas newtonianas o espaamento constante entre os pontos. O caso
mais simples denominado regra do trapzio na qual apenas dois pontos so utilizados. De acordo
com o sistema (7.4), a quadratura com dois pontos dada pela frmula
_
b
a
f(x) dx C
1
f(a) +C
2
f(b),
onde C
1
e C
2
so soluo do sistema de equaes lineares
_

_
C
1
+C
2
= b a
a C
1
+b C
2
=
b
2
a
2
2
.
A soluo do sistema C
1
= C
2
=
b a
2
. Se representarmos a separao entre os pontos por
h = b a, a regra do trapzio para a integral
_
b
a
f(x) dx assume a forma
_
b
a
f(x) dx
h
2
(f(a) +f(b)) .
Erro de truncamento
Como j estudamos na subseo anterior, a regra do trapzio
h
2
(f(a) +f(b)) para a integral de f
no intervalo [a, b] o resultado da integrao do polinmio p(x) que interpola f nos pontos x = a e
x = b. Tambm estudamos no captulo sobre interpolao que a cada x no intervalo de interpolao
[a, b], existe um (a, b) que depende de x (ou seja, (x)) tal que
f(x) = p(x) +
f
(n)
()
n!
n

i=1
(x x
i
),
onde n o nmero de pontos de interpolao e x
i
, para i = 1, 2, . . . , n so os pontos de interpola-
o. Essa relao entre f e p permite estimar o erro de truncamento cometido ao aproximarmos a
122
7.2 Quadraturas newtonianas
integral pela regra do trapzio. Ento, como
h
2
(f(a) +f(b)) =
_
b
a
p(x) dx,
em vista da relao entre f e p temos que
_
b
a
f(x) dx
h
2
(f(a) +f(b)) =
_
b
a
(f(x) p(x)) dx
=
_
b
a
f

((x))
2
(x a)(x b) dx. (7.6)
Com o objetivo de tornar explcita a dependncia do termo (7.6) da separao entre os pontos a e
b, h = b a, vamos realizar a mudana de varivel de integrao y =
x a
h
. Nesse caso, quando
x = a, y = 0 e quando x = b, y = 1. Dessa forma o termo (7.6) pode ser reescrito como
_
b
a
f(x) dx
h
2
(f(a) +f(b)) =
_
1
0
f

((a +yh))
2
hy h(y 1) (hdy)
=
h
3
2
_
1
0
f

((a +yh)) y(y 1) dy (7.7)


Para simplicar a ltima integral acima, vamos considerar ainda a seguinte forma integral do teo-
rema do valor mdio:
Teorema (1 teorema do valor mdio para a integrao)
Se f e g so funes contnuas e g no muda de sinal no intervalo fechado [c, d], ento existe um
ponto (c, d) tal que
_
d
c
f(x)g(x) dx = f()
_
d
c
g(x) dx.
Uma vez que y(y 1) no muda de sinal no intervalo [0, 1], o teorema garante a existncia de um
(0, 1) (a, b) tal que
_
b
a
f(x) dx
h
2
(f(a) +f(b)) =
h
3
2
f

()
_
1
0
y(y 1) dy
=
h
3
12
f

().
Exemplo: Vamos estudar novamente a aproximao da integral
_
1/2
1/2
e
x
2
dx, agora porm,
a partir da frmula do trapzio para quadratura. O intervalo de integrao
_

1
2
,
1
2
_
, portanto
nesse caso, h = 1. De acordo com a frmula do trapzio
_
1/2
1/2
e
x
2
dx
1
2
_
e
1/4
+e
1/4
_
= 0.77880078 . . .
123
7 Integrao numrica
Quanto ao erro de truncamento na aproximao, sabemos que existe um
_

1
2
,
1
2
_
tal que
_
1/2
1/2
e
x
2
dx
1
2
_
e
1/4
+e
1/4
_
=
1
3
12
_
4
2
2
_
e

2
.
Afuno
1
12
_
4
2
2
_
e

2
transforma o intervalo
_

1
2
,
1
2
_
no intervalo
_
1
12
e
1/4
,
1
6
_
=
(0.06490 . . . , 0.1

6). Esse novo intervalo determina a regio de possveis valores para o erro
de truncamento. De fato, a diferena entre o valor exato e a aproximao 0.143761 . . .
(0.06490 . . . , 0.1

6).
7.2.2 Regra de Simpson
A regra de Simpson a frmula de quadratura de Newton com trs pontos. Nesse caso, o intervalo
de integrao [a, b] dividido em duas partes pelo ponto intermedirio
a +b
2
. Assim, os trs pontos
de interpolao x
1
,x
2
e x
3
so dados por x
1
= a, x
2
= a + h =
a +b
2
e x
3
= a + 2h = b, onde
h =
b a
2
a separao entre os pontos consecutivos.
A frmula de quadratura possui a forma
_
b
a
f(x) dx
3

i=1
C
i
f(x
i
),
onde C
i
, i = 1, 2e 3 so soluo do sistema de equaes lineares
_

_
C
1
+C
2
+C
3
= b a
aC
1
+
a+b
2
C
2
+bC
3
=
b
2
a
2
2
a
2
C
1
+
_
a+b
2
_
2
C
2
+b
2
C
3
=
b
3
a
3
3
.
A soluo do sistema dada por C
1
=
b a
6
, C
2
=
2
3
(b a) e C
3
=
b a
6
. Em termos da
separao entre os pontos h =
b a
2
: C
1
=
h
3
, C
2
=
4
3
h e C
3
=
h
3
. Dessa forma a regra de
Simpson dada por
_
b
a
f(x) dx =
h
3
(f(x
1
) + 4f(x
2
) +f(x
3
)) . (7.8)
Quanto ao erro de truncamento cometido na aproximao, o mesmo pode ser estimado de ma-
neira anloga a que seguimos no caso da regra do trapzio: existe um (a, b) tal que
_
b
a
f(x) dx
h
3
(f(x
1
) + 4f(x
2
) +f(x
3
)) =
h
5
90
f
(4)
(). (7.9)
124
7.2 Quadraturas newtonianas
7.2.3 Regras de ordem superior
Seguindo esse programa, podemos desenvolver quadraturas com maior nmero de pontos, por
exemplo, as quadraturas com 4 e cinco pontos possuem nome prprio. So a regra 3/8 e a regra de
Bode:
Regra 3/8
So utilizados 4 pontos, x
1
= a, x
2
= a +h, x
3
= a +2h e x
4
= b, onde h =
b a
3
. Ento existe
um (a, b) tal que
_
b
a
f(x) dx =
3
8
h(f(x
1
) + 3f(x
2
) + 3f(x
3
) +f(x
4
))
3h
5
80
f
(4)
().
Regra de Boole
2
So utilizados 5 pontos, x
1
= a e x
i
= a + (i 1)h para i = 2, 3, 4 e x
5
= b, onde h =
b a
4
.
Existe um (a, b) tal que
_
b
a
f(x) dx =
2
45
h(7f(x
1
) + 32f(x
2
) + 12f(x
3
) + 32f(x
4
) + 7f(x
5
))
8h
7
945
f
(6)
().
No entanto devemos levar em conta que no h garantias de que o aumento do nmero de pontos
implica a convergncia da quadratura para o valor exato da integral
3
. Isto um reexo direto do
fato de que as aproximaes que estudamos at aqui so desenvolvidas a partir da integrao de
um polinmio que interpola f em pontos igualmente espaados e, como j estudamos no captulo
sobre interpolao, existem exemplos de funes contnuas e com todas as derivadas contnuas em
algum intervalo cuja interpolao polinomial com pontos igualmente espaados no converge para
f quando o nmero de pontos cresce (lembre-se da funo de Runge f(x) =
1
1 + 25x
2
no intervalo
x [1, 1]).
A subseo seguinte trata de uma tcnica de quadratura que garante a convergncia para o valor
exato da integral de f quando o nmero de pontos n . A tcnica inspirada nos splines.
7.2.4 Regras compostas
Uma maneira de evitar as instabilidades relacionadas interpolao em pontos igualmente espa-
ados consiste em particionar o intervalo de integrao em diversos subintervalos e realizar a qua-
dratura em cada um desses subintervalos com uma pequena quantidade de pontos. Essa ideia se
assemelha utilizada na interpolao spline.
Regra do trapzio composta
A regra consiste em dividir o intervalo de integrao [a, b] na unio de n1 sub-intervalos [a, x
2
]

[x
2
, x
3
]

. . .

[x
n1
, b] = [a, b], de mesma extenso h =
b a
n 1
, isto , x
k+1
x
k
= h, para
2
Devido a um erro tipogrco, essa regra conhecida tambm como regra de Bode.
3
Em geral, dada a forma das quadraturas estudadas at aqui, a quadratura ser igual a integral de uma funo f, que
no seja um polinmio, apenas quando h 0, ou seja, quando o intervalo de integrao for nulo.
125
7 Integrao numrica
qualquer i = 1, 2, . . . , n 1; e aplicar a regra do trapzio em cada intervalo [x
k
, x
k+1
]. Ou seja,
_
b
a
f(x) dx =
_
x
2
a=x
1
f(x) dx +
_
x
3
x
2
f(x) dx +. . . +
_
b=x
n
x
n1
f(x) dx

h
2
(f(a) +f(x
2
)) +
h
2
(f(x
2
) +f(x
3
)) +. . . +
h
2
(f(x
n1
) +f(b))
= h
_
1
2
f(a) +f(x
2
) +f(x
3
) +. . . +f(x
n2
) +f(x
n1
) +
1
2
f(b)
_
,
onde x
1
= a, x
n
= b e x
k
= a + (k 1)h, para k = 1, . . . , n.
Erro de truncamento
A cada subintervalo [x
k
, x
k+1
] podemos estimar o erro de truncamento cometido na regra do trap-
zio: existe um
k
(x
k
, x
k+1
) tal que
_
x
k+1
x
k
f(x) dx =
h
2
(f(x
k+1
) +f(x
k
))
h
3
12
f

(
k
).
A unio de todos os intervalos implica
_
b
a
f(x) dx = h
_
1
2
f(a) +f(x
2
) +. . . +f(x
n1
) +
1
2
f(b)
_

h
3
12
n1

k=1
f

(
k
). (7.10)
Se a funo f

for contnua, ento existe um (a, b) tal que


f

() =
1
n 1
n1

k=1
f

(
k
).
Como h =
b a
n 1
podemos reescrever a igualdade (7.10) como
_
b
a
dxf(x) = h
_
1
2
f(a) +f(x
2
) +. . . +f(x
n1
) +
1
2
f(b)
_

h
2
12
(b a)f

(), (7.11)
onde (a, b). Note que nesse caso, na ausncia de erros de arredondamento, a aproximao dada
pela regra composta converge para a integral exata no limite h 0.
Regra de Simpson composta
De maneira totalmente anloga, podemos construir uma quadratura composta a partir da unio das
quadraturas realizadas nos subintervalos com trs pontos igualmente espaados. A partir de um
nmero mpar de pontos igualmente espaados de h =
b a
n 1
, a = x
1
< x
2
< . . . < x
n1
<
x
n
= b podemos aproximar a integral de f no intervalo [a, b] pela composio das quadraturas de
126
7.2 Quadraturas newtonianas
Simpson nos
n 1
2
intervalos [a, x
3
], [x
3
, x
5
], . . . , [x
n2
, b]:
_
b
a
f(x) dx =
_
x
3
a=x
1
f(x) dx +
_
x
5
x
3
f(x) dx +. . . +
_
b=x
n
x
n2
f(x) dx

h
3
(f(a) + 4f(x
2
) +f(x
3
)) +
h
3
(f(x
3
) + 4f(x
4
) +f(x
5
)) +. . .
. . . +
h
3
(f(x
n2
) + 4f(x
n1
) +f(b))
=
h
3
[f(a) + 4 (f(x
2
) +f(x
4
) +. . . +f(x
n1
)) +
+2 (f(x
3
) +f(x
5
) +. . . +f(x
n2
)) +f(b)] ,
A regra de Simpson composta pode ser representada pelo somatrio
_
b
a
f(x) dx
h
3
n

k=1
C
k
f(x
k
),
onde
C
k
=
_

_
1, se k = 1 ou k = n
4, se k for par
2, se k for mpar
.
Aanlise do erro de truncamento cometido na aproximao segue a linha j estudada na regra do tra-
pzio composta. Cada intervalo de integrao [x
k
, x
k+2
] contribui com uma parcela
h
5
90
f
(4)
(
k
),
onde
k
(x
k
, x
k+2
) e k = 1, 3, 5, . . . , n 2. Como so no total
n 1
2
intervalos de integrao,
temos que
_
b
a
f(x) dx =
h
3
n

k=1
C
k
f(x
k
)
h
5
90
n1
2

k=1
f
(4)
(
k
). (7.12)
Se a funo f
(4)
for contnua, ento existe um (a, b) tal que
1
n1
2
n1
2

k=1
f
(4)
(
k
) = f
(4)
().
A substituio dessa ltima relao em (7.12) resulta em
_
b
a
f(x) dx =
h
3
n

k=1
C
k
f(x
k
) (n 1)
h
5
180
f
(4)
(),
como (n 1)h = b a
_
b
a
f(x) dx =
h
3
n

k=1
C
k
f(x
k
)
h
4
180
(b a)f
(4)
()
127
7 Integrao numrica
7.2.5 Mtodo de Romberg
O mtodo de Romberg consiste na sucessiva aplicao da extrapolao de Richardson quadratura
do trapzio composta o que resulta em uma quadratura composta de maior exatido.
A quadratura do trapzio composta com n pontos permite aproximar a integral de uma funo f
duas vezes continuamente diferencivel atravs da expresso
_
b
a
f(x) dx = T
n

h
2
12
(b a)f

(),
onde
T
n
= h
_
1
2
f(a) +f(a +h) +f(a + 2h) +. . . +f(a + (n 2)h) +
1
2
f(b)
_
,
h =
b a
n 1
e (a, b).
Se a funo f for 2k + 2 vezes continuamente diferencivel, ento a expresso anterior assume
a forma geral
_
b
a
f(x) dx = T
n
+c
2
h
2
+c
4
h
4
+. . . +c
k
h
2k
+
2k+2
(h) h
2k+2
, (7.13)
onde os coecientes c
2
, . . . , c
2k
no dependem de h e
2k+2
um funo que representa o resto
do soma. Portanto uma quadratura no mesmo intervalo com 2n 1 pontos, corresponde a um
espaamento igual a metade do original, assim
_
b
a
f(x) dx = T
2n1
+c
2
_
h
2
_
2
+c
4
_
h
2
_
4
+. . . +c
k
_
h
2
_
2k
+
2k+2
_
h
2
_ _
h
2
_
2k+2
. (7.14)
A extrapolao consiste em combinar as equaes (7.14) e (7.13) de modo que o resultado da
combinao linear cancele o termo h
2
:
_
b
a
f(x) dx =
4 T
2n1
T
n
3
+d
4
h
4
+. . . +d
k
h
2k
.
A quadratura resultante,
4 T
2n1
T
n
3
a quadratura de Simpson composta com 2n 1 pontos.
O mesmo procedimento pode ser repetidamente iterado com o objetivo de produzir quadraturas
compostas de ordem superior.
O mtodo de Romberg prope a seguinte abordagem. Colecionamos m quadraturas compostas
pela regra do trapzio com 3, 5, 9, . . . , 2
m
+ 1 pontos. Essas quadraturas podem ser conveniente-
mente calculadas segundo a recurso:
T
2
j
+1
=
1
2
T
2
j1
+1
+h
j
2
j1

k=1
f (a + (2k 1)h
j
) , (7.15)
onde h
j
=
b a
2
j
, T
2
= h
0
_
1
2
f(a) +
1
2
f(b)
_
e j = 1, 2, . . . m. Como vericamos acima, de
acordo com a extrapolao de Richardson, podemos encontrar a quadratura de Simpson composta
128
7.2 Quadraturas newtonianas
com 2
j
+ 1 pontos atravs da combinao
4T
2
j
+1
T
2
j1
+1
3
.
Vamos simbolizar essas novas quadraturas por R
1,j
, ou seja,
R
1,j
=
4T
2
j
+1
T
2
j1
+1
3
(7.16)
para j = 1, 2, . . . , m. Uma nova sequncia de extrapolaes de Richardson cancelar os termos h
4
.
Denominamos essas novas quadraturas compostas por R
2,j
:
R
2,j
=
16R
1,j
R
1,j1
15
.
Atravs de um processo de induo, chegamos recorrncia
R
n,j
=
4
n
R
n1,j
R
n1,j1
4
n
1
, (7.17)
para n = 1, 2, . . . , j e onde R
0,j
T
2
j
+1
. A relao de recorrncia (7.17) a expresso do mtodo
de Romberg. Em resumo, calculamos as quadratura do trapzio simples e as m quadraturas do
trapzio compostas de acordo com a recorrncia (7.15), em seguida, de acordo com a relao de
recorrncia (7.17), calculamos recursivamente as quadraturas R
1,j
para j = 1, 2, . . . , m, R
2,j
para
j = 2, . . . , m, R
3,j
para j = 3, . . . , m, etc. at R
m,m
que a aproximao de ordem O
_
h
2m+2
m
_
para a integral
_
b
a
f(x) dx.
Exemplo: Vamos aproximar integral
_
1
2

1
2
e
x
2
dx pela quadratura de Romberg R
4,4
. Inici-
almente ser necessrio calcular as quadraturas do trapzio e as compostas com 3, 5, 9 e 17
pontos (respectivamente T
2
, T
2+1
, T
2
2
+1
, T
2
3
+1
e T
2
4
+1
):
T
2
0
+1
= 0.7788007830714049 . . .
T
2
1
+1
= 0.8894003915357024 . . .
T
2
2
+1
= 0.9144067271745891 . . .
T
2
3
+1
= 0.9205312369043574 . . .
T
2
4
+1
= 0.9220548158903587 . . .
A partir dessas quadraturas podemos calcular os termos R
i,j
segundo as expresses (7.16) e
(7.17):
R
1,1
= 0.9262669276904683 . . .
R
1,2
= 0.9227421723875513 . . . R
2,2
= 0.9225071887006902 . . .
R
1,3
= 0.9225727401476136 . . . R
2,3
= 0.9225614446649510 . . .
R
1,4
= 0.9225626755523591 . . . R
2,4
= 0.9225620045793421 . . .
R
3,3
= 0.9225623058707330 . . .
R
3,4
= 0.9225620134668721 . . . R
4,4
= 0.9225620123201903 . . .
129
7 Integrao numrica
E assim,
_ 1
2

1
2
e
x
2
dx R
4,4
= 0.9225620123201903 . . .
O valor exato da integral 0.9225620128255849. . . , o erro est no dcimo dgito.
7.3 Quadratura gaussiana
Por construo, os mtodos de quadratura que envolvem a interpolao polinomial em n pontos
fornecem o valor exato da integral quando o integrando um polinmio de grau menor ou igual
n 1. Portanto, uma vez escolhidos, os n pontos x
i
[a, b], utilizamos os n polinmios x
j
,
j = 0, 1, . . . , n 1 para determinar os coecientes C
i
da quadratura:
n

i=1
C
i
(x
i
)
j
=
_
b
a
x
j
dx =
b
j+1
a
j+1
j + 1
.
Cada potncia j dene uma equao, os coecientes so ento determinados pela soluo do sis-
tema de n equaes lineares resultante.
O quadratura gaussiana utiliza as mesmas equaes porm trata os pontos de interpolao x
i
como incgnitas e inclui outras n equaes relacionadas interpolao dos polinmios x
j
, j =
n, n + 1, . . . , 2n 1. A frmula de quadratura determinada pela soluo do sistema de 2n
equaes no lineares
n

i=1
C
i
(x
i
)
j
=
b
j+1
a
j+1
j + 1
(7.18)
em termos das incgnitas C
i
e x
i
, i = 1, 2, . . . , 2n.
Como j estudamos, atravs de mudanas de variveis podemos mudar o intervalo de integrao.
Desse modo no perdemos nenhuma generalidade ao estudar a soluo do sistema no linear (7.18)
dado pelo limite de integrao [1, 1]
_

_
C
1
+C
2
+. . . +C
n
=
_
b
a
x
0
dx = 1 (1) = 2
x
1
C
1
+x
2
C
2
+. . . +x
n
C
n
=
_
b
a
xdx =
1
2
(1)
2
2
= 0
(x
1
)
2
C
1
+ (x
2
)
2
C
2
+. . . + (x
n
)
2
C
n
=
_
b
a
x
2
dx =
1
3
(1)
3
3
=
2
3
.
.
.
.
.
.
.
.
.
(x
1
)
k
C
1
+ (x
2
)
k
C
2
+. . . + (x
n
)
k
C
n
=
_
b
a
x
k
dx =
_
2
k+1
, se k par
0, se k mpar
.
.
.
.
.
.
.
.
.
(x
1
)
2n1
C
1
+ (x
2
)
2n1
C
2
+. . . + (x
n
)
2n1
C
n
=
_
b
a
x
2n1
dx =
1
2n
(1)
2n
2n
= 0
(7.19)
130
7.3 Quadratura gaussiana
possvel demonstrar
4
que esse sistema possui apenas uma soluo que satisfaa os critrios, 1 <
x
i
< 1 e C
i
> 0. Apesar da aparente complexidade apresentada pelo sistema (7.19), no difcil
perceber que os pontos x
i
satisfazem uma equao polinomial (basta isolar as variveis C
i
e em
seguida as variveis x
i
a partir da primeira equao em (7.19)). Na realidade possvel demonstrar
que os pontos x
i
so as razes do polinmio de Legendre
5
de grau n, T
n
e os coecientes C
i
so
ento dados pela expresso
C
i
=
2
(1 x
2
i
) (T

n
(x
i
))
2
.
Isto permite, ao menos numericamente, construir a quadratura com um nmero arbitrrio de pontos.
Quanto ao erro de truncamento, possvel demonstrar
6
que para funes contnuas, o mtodo
da quadratura converge para o valor exato da integral quando o nmero de pontos n , alm
disso, se f for 2n vezes continuamente diferencivel, o erro cometido pela quadratura dado pela
expresso
_
1
1
f(x) dx
n

j=1
C
j
f(x
j
) =
(n!)
4
2
2n+1
f
(2n)
()
((2n)!)
3
(2n + 1)
,
onde (1, 1). Em muitas situaes, a expresso para o erro de truncamento na quadratura gaus-
siana no de grande utilidade. Ao contrrio das quadraturas compostas, conforme aumenta-se o
nmero de pontos necessrio tomar derivadas de ordem superior, o que pode dar origem a estima-
tivas de erro de truncamento grosseiras (a estimativa muito maior do que o erro de truncamento
tpico).
As trs primeiras quadraturas gaussianas no intervalo (1, 1) so dadas exatamente pelos coe-
cientes:
2-pontos C
1
= C
2
= 1 e x
1
= x
2
=
1

3
3-pontos C
1
= C
3
=
5
9
, C
2
=
8
9
, x
1
= x
3
=
_
3
5
e x
2
= 0.
4-pontos C
1
= C
4
=
1
36
_
18

30
_
, C
2
= C
3
= 1 C
1
,
x
1
= x
4
=
_
1
35
_
15 + 2

30
_
, x
2
= x
3
=
_
1
35
_
15 2

30
_
.
4
Veja a referncia:
-Davis, P. ; Rabinowitz P. Methods of Numerical Integration, Academic Press (1975)
5
O polinmio de Legendre de grau n, P
n
(x) pode ser determinado atravs da frmula de Rodrigues:
P
n
(x) =
1
2
n
(n!)
d
n
dx
n

`
x
2
1

.
De acordo com sua estrutura possvel determinar as razes exatas at, pelo menos, n = 9.
6
Veja a referncia:
-Szidarovsky, F. ; Yakowitz, S. Principles and Procedures of Numerical Analysis, Plenum Press, (1978)
131
7 Integrao numrica
7.4 Exerccios
1) Considere a seguinte frmula de quadratura
_
1
0
f(x) dx
1
4
f(0.2) +
1
2
f(0.5) +
1
4
f(0.8). (7.20)
1. Qual o grau do menor polinmio que no integrado exatamente pela regra (7.20)?
2. Essa regra uma frmula de quadratura gerada a partir de uma interpolao polinomial? Em
caso negativo construa a regra gerada a partir de uma interpolao nos pontos 0.2, 0.5 e 0.8.
3. Encontre os novos pesos para a regra (7.20) para o intervalo de integrao:
_
3
1
f(x) dx.
2) Seja a integral
_
1
0
e
x
2
dx. (7.21)
Encontre as estimativas inferior e superior para a quantidade mnima de subintervalos que devem
ser utilizados na aproximao da integral (7.21) pela regra de Simpson composta de modo que a
diferena entre o valor exato e a aproximao seja menor do que 10
6
.
3) Ao contrrio do que ocorre na interpolao com pontos igualmente espaados, a interpolao
com pontos de Chebyshev no sofre de problemas de instabilidade quando aumentamos o nmero
de pontos na interpolao. Assim, a frmula de quadratura, desenvolvida a partir da interpolao
com pontos de Chebyshev, converge para o valor exato da integral no limite em que o nmero de
pontos tende ao innito (em alguns casos, essa abordagem pode ser um alternativa interessante
quadratura de Gauss que requer a soluo de um sistema de equaes no lineares). Compare a
exatido obtida pelas frmulas de Newton-Cotes, quadratura gaussiana e quadratura com pontos de
Chebyshev ao estimar a integral, utilizando 3, 4, 5 pontos e o mtodo de Romberg.
_
1
0
1
x
2
+ 25
dx.
Observao: a quadratura gaussiana
_
1
0
f(x) dx

n
i=1
C
i
f(x
i
), nesse caso dada por:
n = 3: x
1
= 0.11270166537925831148207346002176, x
2
= 0.5 , x
3
= 1 x
1
,
C
1
= C
3
=
25
90
e C
2
=
4
9
.
n = 4: x
1
= 0.069431844202973712388026755553595,
x
2
= 0.33000947820757186759866712044838 , x
3
= 1 x
2
, x
4
= 1 x1,
C
1
= C
4
= 0.17392742256872692868653197461100 e
C
2
= C
3
= 0.32607257743127307131346802538900.
n = 5: x
1
= 0.046910077030668003601186560850304,
x
2
= 0.23076534494715845448184278964990 , x
3
=
1
2
x
4
= 1 x
2
, x
5
= 1 x
1
,
C
1
= C
5
= 0.11846344252809454375713202035996,
C
2
= C
4
= 0.23931433524968323402064575741782 e C
3
=
256
900
.
132
7.4 Exerccios
4) Um objeto movendo-se em um plano bidimensional localiza-se na origem no instante t = 0.
A tabela abaixo coleta os valores de velocidade nas direes x e y a cada 5 segundos. Utilize a regra
de Simpson composta e determine uma aproximao para a distncia total percorrida e a posio
nal do objeto.
t v
x
v
y
0 1.30 0.71
5 1.10 -0.55
10 0.93 -0.19
15 0.71 0.22
20 0.17 0.84
25 -0.62 1.20
30 0.15 -0.58
35 0.92 0.11
40 1.10 0.77
45 1.40 0.83
50 1.20 1.00
5) Construa o sistema de equaes (nas variveis C
1
, C
2
, C
3
, e ) que determina a regra de
quadratura por interpolao
_
1
1
f(x)dx
3

i=1
C
i
f (x
i
) ,
onde x
1
= , x
2
=
1
3
e x
3
= . Supondo que f um polinmio, qual o maior grau para o qual
essa regra exata? Obs: no necessrio resolver o sistema.
6) A partir da regra composta de Simpson
_
10
1
f(x)dx = S(n)
h
4
180
(ba)f
(4)
(), determine o menor
f
4
x
1 10
x
27.4
51.2
22.1
60.3
intervalo no qual a integral exata est contida, supondo n =
1001, S(n) = 1.771 e que a quarta derivada de f se comporte
de acordo com o grco ao lado.
133
7 Integrao numrica
134
8 Equaes Diferenciais Ordinrias
Vrios modelos utilizados nas cincias naturais e exatas envolvem equaes diferenciais. Essas
equaes descrevem a relao entre uma funo, o seu argumento e algumas de suas derivadas.
Como exemplo, podemos considerar o segunda lei de Newton para o movimento: o vetor momento
p R
3
de um corpo sob ao de uma fora F R
3
satisfaz a seguinte equao,
d
dt
p p

= F.
A soluo da equao uma funo que depende da varivel t, p(t), cuja derivada diretamente
proporcional funo F(t). Se conhecemos a dependncia explcita de F(t) na varivel t, ento
p(t) determinada pela integral de F. Se por outro lado F(t) depende tambm de p, por exemplo,
F(t) = f (t, p(t)), ento a lei de Newton, nesse caso, assume a forma da equao
p

= f (t, p).
Essa ltima equao uma equao diferencial ordinria de 1 ordem. O termo ordinria indica
que as derivadas presentes equao so tomadas com respeito a uma nica varivel (no nosso caso,
t). O termo 1 ordem indica que apenas p e sua primeira derivada esto presentes equao.
Neste captulo vamos estudar uma classe de equaes diferenciais ordinrias denominadas pro-
blemas de valor inicial que caracterizam-se pela informao adicional do valor da funo p(t) em
algum t = t
0
, ou seja, p(t
0
) = p
0
, em geral, essa condio suciente para garantir que a soluo
da equao
_

_
p

= f (t, p)
p(t
0
) = p
0
nica para todo t pertencente ao intervalo em que a soluo existe.
A seguir vamos estudar alguns mtodos numricos que permitem construir solues aproximadas
para as equaes diferenciais ordinrias
8.1 Mtodo da srie de Taylor
Seja a equao diferencial
_

_
y

(x) = f(x, y)
y(x
0
) = y
0
. (8.1)
135
8 Equaes Diferenciais Ordinrias
Vamos supor que a soluo y(x) possui uma expanso em srie de Taylor em alguma vizinhana
de x
0
, nesse caso, a soluo pode ser escrita como
y(x) = y(x
0
) +y

(x
0
) (x x
0
) +
1
2
y

(x
0
) (x x
0
)
2
+. . . +
1
n!
y
(n)
(x
0
) (x x
0
)
n
+. . .
De acordo com (8.1) as derivadas de y calculadas em x
0
, y
(j)
(x
0
), j = 1, 2, . . . podem ser calcula-
das pela regra da cadeia:
y

(x
0
) = y

(x)

x=x
0
= f(x, y(x))[
x=x
0
= f(x
0
, y
0
),
y

(x)

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

(x)
_

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

(x
0
),
e assim por diante para as demais derivadas. Dessa forma podemos encontrar uma aproximao
para a soluo y(x) na vizinhana de x
0
atravs do truncamento da srie de Taylor na ordem n e do
uso das derivadas y
(j)
(x
0
) calculadas atravs da equao (8.1) e da regra da cadeia.
O erro de truncamento nessa abordagem O
_
(x x
0
)
n+1
_
.
Exemplo: Seja a equao diferencial ordinria
_

_
y

= x
2
+y
2
y(0) = 0
, (8.2)
vamos aproximar a soluo da equao pela srie de Taylor em torno do ponto x = 0. Para
tanto devemos calcular o valor das derivadas de y nesse ponto:
y

(0) =
_
x
2
+y(x)
2
_

x=0
= 0
2
+y(0)
2
= 0,
pois y(0) = 0.
y

(0) =
_
2x + 2y(x)y

(x)
_

x=0
= 0,
pois y

(0) = 0.
y
(3)
(0) =
_
2 + 2y

(x)
2
+ 2y(x)y

(x)
_

x=0
= 2,
pois y

(0) = 0.
At aqui temos ento a aproximao
y(x)
2x
3
3!
=
x
3
3
,
pois y(0) = y

(0) = y

(0) = 0 e y
(3)
(0) = 2. Vamos continuar a calcular as derivadas.
y
(4)
(0) =
_
6y

(x)y

(x) + 2y(x)y
(3)
(x)
_

x=0
= 0,
136
8.1 Mtodo da srie de Taylor
y
(5)
(0) =
_
6
_
y

(x)
_
2
+ 8y

(x)y
(3)
(x) + 2y(x)y
(4)
(x)
_

x=0
= 0,
y
(6)
(0) =
_
20y

(x)y
(3)
(x) + 10y

(x)y
(4)
(x) + 2y(x)y
(5)
(x)
_

x=0
= 0,
y
(7)
(0) =
_
20
_
y
(3)
(x)
_
2
+ 30y

(x)y
(4)
(x) + 12y

(x)y
(5)
(x) + 2y(x)y
(6)
(x)
_

x=0
= 20(2)
2
= 80.
Portanto os primeiros termos da srie de Taylor para a soluo y(x) so
1
y(x) =
1
3
x
3
+
80
7!
x
7
+O(x
11
),
ou seja, na vizinhana de x = 0, a soluo pode ser aproximada at a ordem O(x
11
) por
y(x)
1
3
x
3
+
1
63
x
7
.
x
i
1
3
x
3
i
1
3
x
3
i
+
1
63
x
7
i
y(x
i
)
0 0 0 0
0.1 0.000333 0.000333 0.000333
0.2 0.002667 0.002667 0.002667
0.3 0.009000 0.009003 0.009003
0.4 0.021333 0.021359 0.021359
0.5 0.041667 0.041791 0.041791
0.6 0.072000 0.072444 0.072448
0.7 0.114333 0.115641 0.115660
0.8 0.170667 0.173995 0.174080
0.9 0.243000 0.250592 0.250907
1.0 0.333333 0.349206 0.350232
Tabela 8.1: Comparao entre as aproximaes e a soluo y(x) para a equao (8.2)
Como podemos observar pelo exemplo anterior, a aproximao se degrada conforme nos afastamos
da condio inicial. O erro de truncamento uma potncia de (x x
0
), portanto quanto mais
afastado de x
0
estiver x, maior ser o erro de truncamento cometido.
Observao. Devemos lembrar que mesmo que todos os termos da srie estivessem presentes,
isto por si s, no garante que a srie seja capaz de representar exatamente a soluo y(x) para
qualquer x. Isto s acontece se a soluo for uma funo analtica em todo plano complexo. Como
contra-exemplo, podemos considerar a expanso em srie da funo g(x) =
1
1 x
, a srie
1 +x +x
2
+. . . +x
n
+. . .
com innitos termos capaz de representar g(x) apenas no intervalo [x[ < 1.
Um modo de controlar o erro de truncamento para intervalos maiores consiste em adotar uma
srie de pontos x
i
, i = 0, 1, 2, . . . onde x
0
corresponde condio inicial em (8.1), e realizar a
1
Se continuarmos a expanso veremos que a prxima derivada no nula y
(11)
(0).
137
8 Equaes Diferenciais Ordinrias
expanso de Taylor em torno de cada ponto x
i
. Dessa forma determinamos uma aproximao para
a soluo em uma vizinhana prxima de x
i
; ao contrrio do que ocorre quando aproximamos
a soluo pela expanso em srie de Taylor em torno da origem. No entanto, para realizar as
expanses em torno de x
i
, devemos conhecer o valor da soluo y no ponto
2
x
i
, y(x
i
) . Se i = 0,
ento y(x
0
) conhecido exatamente ( a condio inicial), nos demais casos no conhecemos
exatamente y(x
i
) mas podemos utilizar a expanso em srie em torno do ponto anterior e a partir
dela determinar o valor aproximado de y(x
i
).
Vamos partir da condio inicial. No ponto x
0
, a soluo da EDO deve ser igual a y
0
, ou seja
y(x
0
) = y
0
, ento a partir da equao (8.1) e da regra da cadeia podemos calcular o valor das
derivadas y
(j)
(x
0
), isto nos permite construir uma aproximao soluo y(x),
0
(x), vlida na
vizinhana de x
0
, dada pela srie de Taylor truncada no termo da n-sima derivada:

0
(x) = y(x
0
) +y

(x
0
)(x x
0
) +. . . +
1
n!
y
(n)
(x
0
)(x x
0
)
n
y(x).
A partir dessa srie encontramos uma aproximao para y(x
1
) dada por y
1
=
0
(x
1
) y(x
1
). O
processo pode ser ento repetido construindo uma nova srie de Taylor truncada
1
(x) em torno do
ponto x
1
e repetir o procedimento para encontrar a aproximao de y(x
2
) dada por y
2
=
1
(x
2
).
Dessa forma somos capazes de construir uma iterao para que aproxima o valor da soluo nos
pontos x
i
, i = 1, 2, . . .
Por simplicidade, vamos adotar a seguinte notao, y
(j)
i
a aproximao para a jsima derivada
de y(x) no ponto x = x
i
, calculada a partir de y
i
, da EDO (8.1) e da regra da cadeia. Se os pontos
x
i
estiverem igualmente espaados de h, ento x
i
= x
0
+ ih. Dessa forma, podemos montar a
recorrncia para as aproximaes da soluo y nos pontos x
i
.
y
i+1
= y
i
+y

i
h +
1
2
y

i
h
2
+
1
3!
y
(3)
i
h
3
+. . . +
1
n!
y
(n)
i
h
n
, (8.3)
Exemplo: Vamos aplicar esse mtodo equao do exemplo anterior. Nesse caso, os pontos
x
i
= x
0
+ ih, so da forma x
i
= ih j que no nosso caso x
0
= 0. De acordo com a EDO e a
regra da cadeia, as derivadas so dadas por
y

(x) = x
2
+y(x)
2
y

i
= (ih)
2
+y
2
i
,
y

(x) = 2x + 2y(x)y

(x)
= 2x + 2y(x)(x
2
+y(x)
2
)
= 2x + 2x
2
y(x) + 2y(x)
3
y

i
= 2(ih + (ih)
2
y
i
+y
3
i
),
2
e a partir do valor da soluo em x
i
e da EDO, podemos determinar o valor das demais derivadas y

(x
i
), y

(x
i
), . . .
138
8.2 Mtodo de Euler
e
y
(3)
(x) = 2 + 2(y

(x))
2
+ 2y(x)y

(x)
= 2 + 2(x
2
+y(x)
2
)
2
+ 2y(x)(2x + 2x
2
y(x) + 2y(x)
3
)
= 2(1 +x
4
+ 2xy(x) + 4x
2
y(x)
2
+ 3y(x)
4
)
y
(3)
i
= 2(1 + (ih)
4
+ 2ihy
i
+ 4(ih)
2
y
2
i
+ 3y
4
i
).
Dessa forma podemos aproximar y(x) at a ordem O(h
4
) atravs da relao de recorrncia
y
i+1
= y
i
+
_
(ih)
2
+y
2
i
_
h+
_
ih + (ih)
2
y
i
+y
3
i
_
h
2
+
1
3
_
1 + (ih)
4
+ 2ihy
i
+ 4(ih)
2
y
2
i
+ 3y
4
i
_
h
3
.
A tabela seguinte inclui os dados obtidos pela equao de recorrncia acima com h = 0.1.
x
i
1
3
x
3
i
1
3
x
3
i
+
1
63
x
7
i
y
i
, h = 0.1 y(x
i
)
0 0 0 0 0
0.1 0.000333 0.000333 0.000333 0.000333
0.2 0.002667 0.002667 0.002667 0.002667
0.3 0.009000 0.009003 0.009003 0.009003
0.4 0.021333 0.021359 0.021357 0.021359
0.5 0.041667 0.041791 0.041784 0.041791
0.6 0.072000 0.072444 0.072433 0.072448
0.7 0.114333 0.115641 0.115630 0.115660
0.8 0.170667 0.173995 0.174025 0.174080
0.9 0.243000 0.250592 0.250810 0.250907
1.0 0.333333 0.349206 0.350064 0.350232
Tabela 8.2: Comparao entre as aproximaes e a soluo y(x) para a equao (8.2)
8.2 Mtodo de Euler
O mtodo de Euler consiste em construir a relao de recorrncia (8.3) at a a ordem h, isto ,
utilizamos a informao sobre y

(x
i
) apenas. Ou seja, y
i+1
= y
i
+ y

i
h. Como pela equao (8.1),
y

(x
i
) = f(x
i
, y(x
i
)) y

i
= f(x
i
, y
i
), o mtodo de Euler consiste na relao de recorrncia
y
i+1
= y
i
+hf(x
i
, y
i
),
para i = 0, 1, 2, . . ., onde y(x
0
) = y
0
a condio inicial. Uma das vantagens da frmula de Euler
consiste na desnecessidade de calcular as derivadas de y nos pontos x
i
, o que pode ser uma tarefa
penosa como ilustram os exemplos anteriores.
Exemplo: Vamos aplicar o mtodo de Euler para encontrar uma soluo aproximada para e
139
8 Equaes Diferenciais Ordinrias
EDO que temos estudado em exemplos at a agora
_

_
y

= x
2
+y
2
y(0) = 0
Nesse caso, os pontos x
i
= x
0
+ ih, so da forma x
i
= ih j que x
0
= 0. De acordo com
o mtodo o valor da soluo y no ponto x
i
dado por y
i
que satisfaz a seguinte relao de
recorrncia :
y
i+1
= y
i
+h
_
(ih)
2
+y
2
i
_
,
onde y
0
= 0 segundo a condio inicial.
x
i
y
i
y
i
y(x
i
)
0 0 0 0
0.1 0 0.000328 0.000333
0.2 0.001000 0.002647 0.002667
0.3 0.005000 0.008958 0.009003
0.4 0.014003 0.021279 0.021359
0.5 0.030022 0.041664 0.041791
0.6 0.055112 0.072263 0.072448
0.7 0.091416 0.115402 0.115660
0.8 0.141252 0.173730 0.174080
0.9 0.207247 0.250438 0.250907
1.0 0.292542 0.349605 0.350232
Tabela 8.3: Comparao entre as aproximaes dadas pelo mtodo de Euler com espaamento h =
0.1, h = 0.001 e a soluo y(x) para a equao (8.2)
O exemplo anterior ilustra o comportamento da aproximao conforme o espaamento entre os
pontos diminudo. Gostaramos que quando h 0 o mtodo convirja para a soluo exata (na-
turalmente, se no existisse erros de arredondamento). De fato, se a EDO satiszer algumas condi-
es gerais, isso acontece. Vamos estudar o comportamento dos erros cometidos pela aproximao
quando h ,= 0.
Erro de truncamento
O mtodo de Euler consiste em truncar, a cada ponto x
i
, a srie de Taylor para a soluo da EDO
em 1 ordem. Portanto, supondo que a soluo conhecida exatamente no ponto x
i
, a expanso da
soluo em torno desse ponto tal que existe um [x
i
, x] tal que
y(x) = y(x
i
) +hy

(x
i
) +
1
2
h
2
y

().
Ento o valor da soluo y calculada no ponto x
i+1
dado pela srie anterior calculada em x =
x
i+1
:
y(x
i+1
) = y(x
i
) +hf(x
i
, y(x
i
)) +
1
2
h
2
y

().
140
8.2 Mtodo de Euler
Essa ltima equao permite que estimemos o erro local
i+1
.
= y(x
i+1
) y
i+1
dado que y
i+1

calculado pelo mtodo de Euler:
y
i+1
= y
i
+hf(x
i
, y
i
).
Subtraindo as duas ltimas equaes temos

i+1
=
i
+h(f(x
i
, y(x
i
)) f(x
i
, y
i
)) +
1
2
h
2
y

(), (8.4)
onde [x
i
, x
i+1
]. Para continuar a anlise sero necessrias algumas hipteses sobre o compor-
tamento da soluo y e da funo f.
Vamos supor que a soluo y possua segunda derivada limitada no intervalo em que est denida.
Assim, se a soluo est denida em um intervalo I = (x
0
, x
max
), ento existe um M < tal
que [y

(x)[ M para todo x I. Uma outra hiptese que a funo f Lipschitz no segundo
argumento (na varivel y) para todo x I, ou seja, para qualquer x I, existe um L < , que
independe de x, tal que [f(x, y
1
) f(x, y
2
)[ L[y
1
y
2
[ (estamos supondo tambm que y
limitada no intervalo I).
Assumindo essas hipteses e tomando o valor absoluto na equao (8.4) temos que
[
i+1
[ [
i
[ +hL[y(x
i
) y
i
[ +
1
2
h
2
M,
como [y(x
i
) y
i
[ = [
i
[temos nalmente
[
i+1
[ (1 +hL) [
i
[ +
1
2
h
2
M. (8.5)
A condio inicial conhecida exatamente, y(x
0
) = y
0
, portanto
0
= 0 e assim, de acordo com
(8.5)
[
1
[
1
2
h
2
M,
[
2
[ (1 +hL) [
1
[ +
1
2
h
2
M [
i+1
[ (1 +hL)
1
2
h
2
M +
1
2
h
2
M,
[
3
[ (1 +hL) [
2
[ +
1
2
h
2
M (1 +hL)
2
1
2
h
2
M + (1 +hL)
1
2
h
2
M +
1
2
h
2
M,
por induo chegamos a desigualdade para o erro acumulado na n-sima iterao
[
n
[
1
2
h
2
M
n1

j=0
(1 +hL)
j
,
o somatrio uma srie geomtrica,

n1
j=0
(1 +hL)
j
=
(1 +hL)
n
1
hL
, portanto
[
n
[ hM
(1 +hL)
n
1
2L
,
considerando o fato de que (1 +x)
n
e
nx
para quaisquer n e x positivos, temos nalmente que
[
n
[ h
M
2L
(e
Lnh
1) = h
M
2L
(e
L(x
n
x
0
)
1), (8.6)
141
8 Equaes Diferenciais Ordinrias
onde na ltima igualdade, utilizamos o fato de que x
n
= x
0
+ nh. A desigualdade (8.6) nos diz
que a dependncia do erro cometido pela aproximao de y no ponto x
n
limitado por um termo
linear em h. Como M, L, x
n
e x
0
so constantes nitas, ento
lim
h0
[
n
[
M
2L
(e
L(x
n
x
0
)
1) lim
h0
h = 0.
Portanto, desconsiderando os erros de arredondamento, a aproximao construda pelo mtodo de
Euler converge para a soluo da EDO no limite em que o espaamento entre os pontos se anula.
8.3 Mtodo Runge-Kutta
A anlise de erros de truncamento no mtodo de Euler pode ser aplicada tambm ao mtodo da
srie de Taylor de modo semelhante ao que estudamos na seo anterior. Isto permite estabelecer
as hipteses que garante a convergncia desse mtodo de maneira geral.
Como vimos em exemplos, uma das diculdades na aplicao do mtodo da srie de Taylor
deve-se crescente complexidade dos termos associados as j-simas derivadas da soluo. Uma
alternativa consiste em aproximar essas derivadas pela sua derivada numrica.
Vamos considerar a seguinte EDO:
_

_
y

= f(x, y)
y(x
0
) = y
0
.
A srie de Taylor da soluo em torno de um ponto x
j
dada por
y(x) = y(x
j
) + (x x
j
)y

(x
j
) +
1
2
(x x
j
)
2
y

(x
j
) +O((x x
j
)
3
),
o termo y

(x
j
) calculado explicitamente atravs da EDO, y

(x
j
) = f(x
j
, y(x
j
)). J o termo
y

(x
j
) pode ser calculado como a derivada numrica da funo y

(x) f(x, y(x)) no ponto x


j
,
ou seja:
y

(x
j
)
y

(x
j
+

h) y

(x
j
)

h
=
f(x
j
+

h, y(x
j
+

h)) f(x
j
, y
j
)

h
,
em seguida, aproximamos y(x
j
+

h) y(x
j
) +

hy

(x
j
) = y(x
j
) +

hf(x
j
, y(x
j
)), assim
y

(x
j
)
f
_
x
j
+

h, y(x
j
) +

hf (x
j
, y(x
j
))
_
f(x
j
, y
j
)

h
.
A partir dessa aproximao, vamos desenvolver o termo y

j
da srie de Taylor (8.3) truncada na
ordem n = 2. Vamos supor ento que o espaamento

h utilizado na aproximao de y

i
um
mltiplo do espaamento entre os pontos no mtodo da srie de Taylor, ou seja,

h = h, onde h
142
8.3 Mtodo Runge-Kutta
o espaamento entre os pontos x
j
e x
j+1
. Ento
y
j+1
= y
j
+hf(x
j
, y
j
) +
1
2
h
2
_
f (x
j
+h, y(x
j
) +hf (x
j
, y(x
j
)))
h

f(x
j
, y
j
)
h
_
= y
j
+h
__
1
1
2
_
f(x
j
, y
j
) +
1
2
f (x
j
+h, y(x
j
) +hf (x
j
, y(x
j
)))
_
,
de forma simplicada temos ento
y
j+1
= y
j
+h(
1
k
1
+
2
k
2
) , (8.7)
onde
1
= 1
1
2
,
2
= 1
1
,
k
1
= f(x
j
, y
j
) (8.8)
e
k
2
= f (x
j
+h, y
j
+hk
1
) . (8.9)
as expresses dadas por (8.7), (8.8) e (8.9) constituem o mtodo de Runge-Kutta de dois estgios.
A denominao dois estgios se deve ao fato de que o valor y
j+1
calculado em dois estgios,
no primeiro calculamos o termo k
1
que utilizado no segundo estgio ao calcularmos o termo k
2
.
Quando =
1
2
, o mtodo conhecido como mtodo de Euler modicado, quando = 1, mtodo
de Heun.
Exemplo: Mtodo de Euler Modicado
Seja a EDO
_

_
y

= x
2
+y
2
y(0) = 0
.
Ento o mtodo de Euler modicado consiste na aproximao y
j
da soluo y nos pontos
x
j
= jh, denida pela relao
y
j+1
= y
j
+hk
2
,
onde y
0
= 0 (dado pela condio inicial da EDO),
k
2
=
_
x
j
+
h
2
_
2
+
_
y
j
+
h
2
k
1
_
2
e
k
1
= (x
j
)
2
+ (y
j
)
2
.
A tabela seguinte ilustra o comportamento da aproximao com h = 0.1.
143
8 Equaes Diferenciais Ordinrias
x
i
y
i
y(x
i
)
0 0 0
0.1 0.000250 0.000333
0.2 0.002500 0.002667
0.3 0.008752 0.009003
0.4 0.021020 0.021359
0.5 0.041354 0.041791
0.6 0.071895 0.072448
0.7 0.114958 0.115660
0.8 0.173171 0.174080
0.9 0.249692 0.250907
1.0 0.348545 0.350232
Tabela 8.4: Comparao entre a aproximao dada pelo mtodo de Euler modicado com espaa-
mento h = 0.1 e a soluo y(x) para a equao (8.2)
Exemplo: Mtodo de Heun
Seja a EDO
_

_
y

= x
2
+y
2
y(0) = 0
.
Ento o mtodo de Heun consiste na aproximao y
j
da soluo y nos pontos x
j
= jh, denida
pela relao
y
j+1
= y
j
+
1
2
hk
1
+
1
2
hk
2
,
onde y
0
= 0 (dado pela condio inicial da EDO),
k
1
= (x
j
)
2
+ (y
j
)
2
e
k
2
= (x
j
+h)
2
+ (y
j
+hk
1
)
2
.
A tabela seguinte ilustra o comportamento da aproximao com h = 0.1.
x
i
y
i
y(x
i
)
0 0 0
0.1 0.000500 0.000333
0.2 0.003000 0.002667
0.3 0.009503 0.009003
0.4 0.022025 0.021359
0.5 0.042621 0.041791
0.6 0.073442 0.072448
0.7 0.116817 0.115660
0.8 0.175396 0.174080
0.9 0.252374 0.250907
1.0 0.351830 0.350232
Tabela 8.5: Comparao entre a aproximao dada pelo mtodo de Heun com espaamento h = 0.1
e a soluo y(x) para a equao (8.2)
144
8.3 Mtodo Runge-Kutta
O princpio fundamental dos mtodos de Runge-Kutta consiste na combinao das estimativas de
derivadas com diversos espaamentos de modo que a equao recursiva resultante possua os mes-
mos termos que a srie de Taylor da soluo at uma determinada ordem.
A generalizao do mtodo de Runge-Kutta de n estgios dada pela seguintes expresses:
y
j+1
= y
j
+h
_
n

i=1

i
k
i
_
(8.10)
e os termos k
i
so denidos pela seguinte equao recursiva,
k
1
= f(x
j
, y
j
)
e
k
i
= f
_
x
j
+
i
h, y
j
+h
i1

l=1

i,l
k
l
_
para i = 2, 3, . . . , n. O ponto x
0
corresponde condio inicial y(x
0
) = y
0
.
Os parmetros
i,l
,
i
e
i
devem ser determinados de modo que a aproximao seja a mais exata
possvel.
Para tanto, vamos considerar a funo g(x
j
, y
j
, h), constituda pela soma de todos os termos
k
i
(x
j
, y
j
, h) no lado direito da expresso (8.10):
y
j+1
= y
j
+hg(x
j
, y
j
, h). (8.11)
Dessa forma, os parmetros so escolhidos de modo que a srie de Taylor em h para a soluo em
x = x
j+1
, y(x
j+1
) = y(x
j
+ h), seja igual serie de Taylor em h para o lado direito de (8.11) at
um grau mximo p,
p

m=0
1
m!
y
(m)
(x
j
) h
m
= y
j
+h
p1

m=0
1
m!

m
g
h
m
(x
j
, y
j
, 0) h
m
.
O caso p = 0 implica a igualdade y(x
j
) = y
j
. Nos demais casos, a exigncia de que a expresso
acima seja vlida para um h 0 qualquer, implica as seguintes equaes para m = 1, 2, . . . , p:
y
(m)
(x
j
) = m
d
m1
dh
m1
_
n

i=1

i
f
_
x
j
+
i
h, y
j
+h
i1

l=1

i,l
k
l
__

h=0
. (8.12)
Vamos estudar as situaes em que temos p = 1 e p = 2. Vamos comear com um mtodo de
Runge-Kutta de um nico estgio, ou seja
y
j+1
= y
j
+
1
hf(x
j
, y
j
).
Nesse caso a equao (8.12) com p = 1 implica
y

(x
j
) =
1
f(x
j
, y
j
),
145
8 Equaes Diferenciais Ordinrias
como y

(x
j
) = f(x
j
, y
j
) temos que a equao satisfeita com
1
= 1. Nesse caso, o mtodo de
Runge-Kutta de um nico passo idntico ao mtodo de Euler. A equao para p = 2 no poder
ser satisfeita nesse mtodo pois
d
dh
(
1
f (x
j
, y
j
))[
h=0
= 0.
Vamos analisar o mtodo de Runge-Kutta de dois estgios,
y
j+1
= y
j
+h(
1
f(x
j
, y
j
) +
2
f (x
j
+
2
h, y
j
+h
2,1
f(x
j
, y
j
))) .
Nesse caso, a equao (8.12) com p = 1 implica
y

(x
j
, y
j
) = (
1
+
2
)f(x
j
, y
j
),
como y

(x
j
, y
j
) = f(x
j
, y
j
) temos ento que

1
+
2
= 1. (8.13)
A equao (8.12) para p = 2 implica
y

(x
j
) = 2
_

2
f
x
(x
j
, y
j
) +
2

2,1
f(x
j
, y
j
)
f
y
(x
j
, y
j
)
_
,
como
y

(x
j
) =
f
x
(x
j
, y
j
) +f(x
j
, y
j
)
f
y
(x
j
, y
j
)
temos ento que
2
2

2
= 1 (8.14)
e
2
2

2,1
= 1. (8.15)
Portanto as trs equaes (8.13), (8.14) e (8.15) devem ser satisfeitas simultaneamente. No
difcil vericar que tanto o mtodo de Heun quanto o mtodo de Euler corrigido as satisfazem. Na
realidade, h uma innidade de escolhas, j que so 4 incgnitas e apenas trs equaes. Por outro
lado possvel vericar que a equao (8.12) para p = 3 nunca pode ser satisfeita por um mtodo
Runge-Kutta de dois estgios.
Atravs dessa anlise possvel vericar que a ordem do mtodo Runge-Kutta igual ao seu
nmero de estgios at o mtodo de 4 estgios, a partir desse nmero de estgios, a ordem cresce
menos rapidamente do que o nmero de estgios, por exemplo, um mtodo de 5 estgios possui
ordem 4 como o de 4 estgios. Para obter ordem 5 so necessrios 6 estgios. A ordem do mtodo
de Runge-Kutta importante pois permite obter informao sobre a taxa de convergncia do mtodo
com relao ao espaamento h. Por exemplo, sabe-se
3
que uma equao diferencial com soluo
no intervalo (x
0
, x) aproximada nos pontos x
1
= x
0
+ h, x
2
= x
0
+ 2h, . . . ,x = x
0
+ Nh por
y
1
, y
2
, . . . , y
N
que satisfazem as relaes de recorrncia de um mtodo Runge-Kutta de ordem p
tal que
max
0jN
[y(x
0
+jh) y
j
[ = O(h
p
).
3
Veja a referncia:
Henrici, P. Discrete Variable methods in Ordinary Differential Equations, J. Willey & Sons, Inc., (1962).
146
8.3 Mtodo Runge-Kutta
Mtodo Runge-Kutta Clssico (4 estgios)
O mtodo Runge-Kutta de 4 estgios clssico descrito pelo seguinte conjunto de relaes de
recorrncia:
y
j+1
= y
j
+
h
6
(k
1
+ 2k
2
+ 2k
3
+k
4
) ,
onde
k
1
= f(x
j
, y
j
),
k
2
= f
_
x
j
+
1
2
h, y
j
+
1
2
hk
1
_
,
k
3
= f
_
x
j
+
1
2
h, y
j
+
1
2
hk
2
_
e
k
4
= f (x
j
+h, y
j
+hk
3
) .
A aproximao tal que o erro absoluto no intervalo (x
0
, x) dado por
max
0lN
[y(x
0
+jh) y
j
[ = O(h
4
)
onde x = x
0
+Nh. Ou seja, o mtodo de 4 ordem.
Exemplo: Seja a EDO
_

_
y

= x
2
+y
2
y(0) = 0
.
Ento o mtodo Runge-Kutta clssico de 4 estgios consiste na aproximao y
j
da soluo y
nos pontos x
j
= jh, denida pela relao
y
j+1
= y
j
+
h
6
(k
1
+ 2k
2
+ 2k
3
+k
4
) ,
onde y
0
= 0 (dado pela condio inicial da EDO),
k
1
= (x
j
)
2
+ (y
j
)
2
,
k
2
=
_
x
j
+
1
2
h
_
2
+
_
y
j
+
1
2
hk
1
_
2
,
k
3
=
_
x
j
+
1
2
h
_
2
+
_
y
j
+
1
2
hk
2
_
2
e
k
4
= (x
j
+h)
2
+ (y
j
+hk
3
)
2
.
A tabela seguinte ilustra o comportamento da aproximao com h = 0.1.
147
8 Equaes Diferenciais Ordinrias
x
i
y
i
y(x
i
)
0 0 0
0.1 0.000333 0.000333
0.2 0.002667 0.002667
0.3 0.009003 0.009003
0.4 0.021359 0.021359
0.5 0.041791 0.041791
0.6 0.072448 0.072448
0.7 0.115660 0.115660
0.8 0.174081 0.174080
0.9 0.250908 0.250907
1.0 0.350234 0.350232
Tabela 8.6: Comparao entre a aproximao dada pelo mtodo Runge-Kutta clssico com espaa-
mento h = 0.1 e a soluo y(x) para a equao (8.2)
8.4 Sistema de equaes diferenciais de 1 ordem
A generalizao do mtodo de Euler e do mtodo da srie de Taylor para as soluo de equaes
diferenciais de 1 ordem imediato:
Dado o problema de valor inicial
_

_
y

= f (x, y)
y(x
0
) = y
0
R
n
onde x
0
R, f : R R
n
R
n
e a soluo uma funo com n componentes, y : R R
n
.
8.5 Mtodos de mltiplos passos
Os mtodos Runge-Kutta so denominados mtodos de passo nico pois a aproximao y
j+1
de-
pende explicitamente de y
j
apenas. Nesta seo vamos considerar os mtodos de mltiplos passos.
Um mtodo de n passos parar aproximar a soluo da EDO
_

_
y

= f(x, y), x > x


0
R
y(x
0
) = y
0
(8.16)
possui a forma geral
y
j+1
=
n

l=1

l
y
j+1l
+h
n

l=0

l
f(x
j+1l
, y
j+1l
), (8.17)
onde x
j
= x
0
+jh. Os coecientes
1
,
2
, . . . ,
n
e
0
,
1
, . . . ,
n
so os parmetros do mtodo.
Nos casos em que
0
,= 0, a relao de recorrncia (8.17) determina um mtodo implcito. Essa
denominao se deve ao fato de que o valor y
j+1
est implicitamente denido por (8.17) nos casos
148
8.5 Mtodos de mltiplos passos
em que
0
,= 0. Note que nesses casos temos y
j+1
no lado esquerdo da equao e um termo
h
0
f(x
j+1
, y
j+1
) no lado direito, dessa forma o valor de y
j+1
determinado geralmente atravs
da soluo numrica de uma equao no linear.
Uma classe muito grande de mtodos de mltiplos passos formada pelos mtodos de Adams.
Nessa classe de mtodos o lado direito da EDO substitudo pela aproximao construda a a partir
da interpolao polinomial em um nmero de pontos que corresponde ao nmero de passos do
mtodo. Assim , o lado direito da EDO assume a forma de um polinmio na varivel independente,
p(x), o que permite obter a aproximao no ponto seguinte a partir do teorema fundamental do
clculo. Ou seja, no domnio x > x
i
, a EDO no PVI (8.16) aproximada por
y

p(x), (8.18)
onde p(x) construdo a partir de n (que corresponde ao nmero de passos) aproximaes anterio-
res para y. Em seguida, a aproximao em x = x
i
obtida via integrao de (8.18),
y (x
i+1
) y (x
i
) =
_
x
i+1
x
i
y

(x)dx
_
x
i+1
x
i
p(x)dx =
def
y
i+1
= y
i
+
_
x
i+1
x
i
p(x)dx.
A forma da aproximao evidencia uma caracterstica comum aos mtodos dessa classe: pode-
mos notar que independente da escolha do nmero de passos, teremos sempre
1
= 1 e
l
= 0
para todo l ,= 1. Outra caracterstica importante o fato de que fora dessa classe de mtodos, os
mtodos de mltiplos passos no so estveis em geral.
Os mtodos de Adams subdividem-se em dois grandes grupos: os mtodos explcitos (
0
=
0), denominados mtodos de Adams-Bashforth e os mtodos implcitos (
0
,= 0), denominados
mtodos de Adams-Moulton.
8.5.1 Mtodo de Adams-Bashforth
O mtodo de Adams-Bashforth de n passos possui a forma
y
j+1
= y
j
+h
n

l=1

i
f(x
j+1l
, y
j+1l
),
onde os primeiros coecientes
l
so os da seguinte tabela
n
1

2

3

4
2 3/2 -1/2 0 0
3 23/12 -16/12 5/12 0
4 55/24 -55/24 37/24 -9/24
Tabela 8.7: coecientes
l
no mtodo de Adams-Bashforth de n passos.
149
8 Equaes Diferenciais Ordinrias
8.5.2 Mtodo de Adams-Moulton
O mtodo de Adams-Moulton de i passos possui a forma
y
j+1
= y
j
+h
n

l=0

i
f(x
j+1l
, y
j+1l
),
onde os primeiros coecientes
l
so os da seguinte tabela
n
0

1

2

3

4
1 1/2 1/2 0 0 0
2 5/12 8/12 -1/12 0 0
3 9/24 19/24 -5/24 1/24 0
4 251/720 646/720 -264/720 106/720 -19/720
Tabela 8.8: coecientes
l
no mtodo de Adams-Moulton de n + 1 passos.
150
8.6 Exerccios
8.6 Exerccios
1) A velocidade de um corpo em queda livre pode ser descrita pela seguinte equao
dv
dt
= 10 0.00343v
2
.
A partir da equao diferencial, encontre o valor da velocidade terminal ( valor da velocidade que
implica
dv
dt
= 0) e atravs do mtodo Runge-Kutta de 4 estgios determine uma aproximao para
o tempo que um corpo leva para alcanar 50% da velocidade terminal a partir da condio inicial
v(0) = 0.
2) Considere o movimento do pndulo simples em termos da funo (t)
q
m
l
g
x
y
cuja equao, de acordo com a 2 Lei de Newton, dada pela EDO de 2 ordem,
d
2

dt
2
+
g
l
sen() = 0,
onde g a acelerao da gravidade e l o comprimento do pndulo. Utilize o mtodo Runge-Kutta de
4 estgios para determinar uma aproximao para a soluo da equao do pndulo simples no caso
em que g = 10 e l = 1 com condio inicial (0) =

4
,
d
dt
(0) = 0 nos pontos t = 0.1, 0.2, . . . , 1.0.
A energia mecnica total,
1
2
ml
2
_
d
dt
_
2
mgl cos(),
dada pela soma da energia cintica e potencial, uma quantidade conservada ao longo do tempo.
Essa propriedade vlida para a soluo exata mas no para as aproximaes obtidas via mto-
dos da classe Runge-Kutta. Trabalhe com sucessivos valores para o espaamento h e observe o
comportamento da energia mecnica ao longo de t.
3) Se trocarmos o eixo rgido do pndulo simples por umque suporte deformao elstica teremos
a seguinte situao
151
8 Equaes Diferenciais Ordinrias
q
m
l
g
x
y
L
Agora, tanto o ngulo , quanto o comprimento l so funes do tempo. As equaes que des-
crevem o comportamento dessas funes podem ser obtidas atravs das leis de Newton mas esse
desenvolvimento no o mais prtico. Nesse caso, a forma mais simples de obter as equaes de
movimento atravs do formalismo lagrangeano ou atravs do formalismo hamiltoniano.
As equaes so dadas por
_

_
d
2

dt
2
+
2
l
d
dt
dl
dt
+
g
l
sen() = 0
d
2
l
dt
2
l
_
d
dt
_
2
+
k
m
(l L) g cos() = 0
,
onde g a acelerao da gravidade, k constante de mola do eixo e L o comprimento do eixo no
deformado. Utilize o mtodo Runge-Kutta de 4 estgios para determinar uma aproximao para
a soluo da equao do pndulo simples no caso em que g = 10 e L = 1 com condio inicial
(0) =

4
,
d
dt
(0) = 0, l(0) = L,
dl
dt
(0) = 0 nos pontos t = 0.1, 0.2, . . . , 1.0.
Para este sistema a energia mecnica total possui a expresso
m
2
_
l
2
_
d
dt
_
2
+
_
dl
dt
_
2
_
mgl cos() +
1
2
k (l L)
2
,
Trabalhe com sucessivos valores para o espaamento h e observe o comportamento da energia
mecnica ao longo de t.
4) Pndulo duplo simtrico. Neste caso, o movimento descrito pelas variveis
1
e
2
152
8.6 Exerccios
q
m
l
g
x
y
m
l
q
1
2
Neste exemplo tambm, a forma mais simples de obter as equaes de movimento atravs do
formalismo lagrangeano ou atravs do formalismo hamiltoniano.
As equaes so dadas por
_

1
+
1
1 + sen
2
()
_
sen ()
_
cos ()

1
2
+

2
2
_
+
g
2l
(3sen (
1
) + sen (
2
))
_
= 0

sen ()
1 + sen
2
()
_
cos ()

2
2
+ 2

1
2
+
2g
l
cos (
1
)
_
= 0
onde g a acelerao da gravidade, l o comprimento do pndulo e =
1

2
. Utilize o
mtodo Runge-Kutta de 4 estgios para determinar uma aproximao para a soluo da equao
do pndulo simples no caso em que g = 10 e l = 1 com condio inicial
1
(0) =
2
(0) =

2
,
d
1
dt
(0) =
d
2
dt
(0) = 0 nos pontos t = 0.1, 0.2, . . . , 1.0.
Para este sistema a energia mecnica total possui a expresso
ml
2
2
_
2

1
2
+

2
2
+ 2 cos (
1

2
)

2
_
mgl (2 cos (
1
) + cos (
2
)) ,
Trabalhe com sucessivos valores para o espaamento h e observe o comportamento da energia
mecnica ao longo de t.
5) Considere a EDO
m
d
2
x
dt
2
= k (x l) +
A
x
2
.
O caso A = 0 corresponde EDO de um oscilador harmnico com massa m e constante de mola
k (as oscilaes possuem perodo 2
_
m/k). Determine o perodo das oscilaes para A = 70,
m = 1, k = 10, l = 5 e condies iniciais x(0) = 5, x

(0) = 0.
6) A partir do PVI
_

_
u = 5 (v u)
v = (28 w) u v
w = uv 0.9w
153
8 Equaes Diferenciais Ordinrias
com condio inicial u(0) = 0, v(0) = 1, w(0) = 2, determine a melhor aproximao com cinco
dgitos para
_
10
0
u(t)v(t)dt atravs da quadratura composta de Simpson.
7) O seguinte sistema consiste em um pndulo suspenso por uma haste deslizante conforme o
diagrama ao lado.
Inicialmente o pndulo encontra-se em repouso na posio
q( ) t
g
A t sen( ) w
m
l
vertical. A equao para o ngulo
d
2

dt
2
=
g
l
sen () +

2
A
l
sen (t) cos ()
Determine o maior ngulo alcanado no intervalo de tempo li-
mitado por 10s. Trabalhe comg = 10m/s, l = 119 , A = 0.3m
e = 2.5s
1
.
8) Considere o seguinte P.V.I.
y

+
_
e
y

1
_
+y = 3 cos (t) , y(0) = y

(0) = 0.
Obtenha uma aproximao para a soluo atravs do mtodo Runge-Kutta Clssico no intervalo
t [0, 50] com espaamento h = 0.01 . A partir dos valores aproximados obtenha uma estimativa
para a amplitude da oscilao no intervalo t [43, 50] com 4 dgitos.
9) Determine a expresso explcita para a relao de recorrncia dada pelo mtodo Euler corrigido
(Euler modicado) no caso do sistema de EDOs
_
x

= t +xy
y

= y +t x
com condio inicial x(t
0
) = x
0
e y(t
0
) = y
0
.
10)
154
9 Respostas de alguns exerccios
9.1 Captulo 1
1)
1.
749
8
= 93, 625.
2.
63
8
= 7, 875.
3.
22015
128
= 171, 9921875.
2) 0, 0001110000 . . .
2
= 0, 0022220120 . . .
3
= 0, 1C28F5C28F . . .
16
.
3) So necessrios 13bits. Um registro de 13 bits capaz de representar 8191 inteiros (com
sinal):
4095, 4095, . . . , 0, . . . , 4095, 4095.
4) Base 2 e base 4. (111, 0101)
2
e (13, 11)
4
.
5) Sero 1 + 9 10
4
96 = 1 + 864 10
4
solues se o arredondamento for por truncamento e
2 + 4 10
4
+ 9 10
4
95 = 2 + 859 10
4
solues se o truncamento for par. O resultado obtido
levando-se em conta todas as combinaes operaes da forma
0, 10000 10
1
0, 00000d
1
d
2
. . . d
5
10
e
com e 1.
7) No primeiro caso, a sequncia de operaes
(x x) 1 = (0, 100010 10
1
0, 100010 10
1
) 0, 100000 10
1
= 0, 100020 10
1
0, 100000 10
1
= 0, 200000 10
3
.
155
9 Respostas de alguns exerccios
No segundo caso,
(x 1) (x 1) = (0, 200010 10
1
) (0, 100000 10
3
)
= 0, 200010 10
3
.
No terceiro caso,
(x (x 1)) (x 1) = (0, 100010 10
1
0, 100000 10
3
) 0, 100000 10
3
= 0, 100010 10
3
0, 100000 10
3
= 0, 200010 10
3
.
Portanto, para x = 0, 100010 10
1
, os dois ltimos casos so os mais exatos.
8) O registro hexadecimal ABCD
h
corresponde ao binrio guarda o registro de ponto utuante
IEEE754 de 16 bits: 1010101111001101. Por sua vez, esse registro, 1010101111001101 corres-
ponde ao ponto utuante
(1)
1
(1, 1111001101)
2
2
(01010)
2
15
cujo valor em base decimal
6.0943603515625 10
2
.
O ponto utuante que representa 1 dado por
1, 0000000000 10
0
como estamos utilizando o arredondamento par, o menor ponto utuante a ser adicionado
0, 0000000001 10
0
que corresponde a 2
10
.
9) Os dois nmeros so (0, 2121)
4
4
1
e (0, 2111)
4
4
0
. Antes de realizar o arredondamento
a soma (0, 02121)
4
+ (0, 2111)
4
= (0, 23231)
4
que arredondada para 4 dgitos de signicando
corresponde a (0, 2323)
4
= 0, 73046875.
11)
f
0
f
0
0.075 = 7.5%.
12) A expresso 2 + x

x
2
+ 4 estar sujeita a cancelamento catastrco, quando x assumir
valores muito pequenos
1
. Nesse caso o argumento da raiz ser muito prximo de 4 e o resultado da
expresso ser igual a 0.
1
Tambm h cancelamento nessa expresso quando x for um real positivo muito grande. A anlise semelhante.
156
9.1 Captulo 1
Vamos ento passar o termo 4 para fora da raiz,
2 +x 2
_
x
2
4
+ 1.
Nessa nova forma, podemos vericar que o argumento da raiz possui o comportamento

1 +z
com z pequeno se x for grande. Isso motiva a expanso em srie de potncias da raiz:

1 +z = 1 +
1
2
z
1
8
z
2
. . .
Assim, a expresso original reescrita na forma da expanso
2 +x 2
_
1 +
x
2
8

x
4
128
+. . .
_
a partir da qual construmos a aproximao, vlida para x 1,
2 +x
_
x
2
+ 4 x
x
2
4
+
x
4
64
.
No caso do sistema F(10, 10, 20, 20) e para os valores de x pedidos, basta utilizar os dois primei-
ros termos da aproximao:
x
x
2
4
.
As aproximaes sero dadas ento por
0, 9999997500 10
6
,
0, 9999999750 10
7
,
0, 9999999975 10
8
.
Attulo de curiosidade, os cemprimeiros dgitos exatos da expresso calculada comx = 0, 110
6
so
0, 99999975000000000001562499999999804
6875000000305175781249946594238281260
0135803222636580467224125089 . . . 10
6
.
13) O termo cos y limitado (pois a funo cosseno admite valores no intervalo [1, 1]). Por
outro lado, e
x
2
2
e e
x
2
pode assumir valores arbitrariamente grandes e sempre maior ou igual
unidade. Alm disso,

e
x
2
= e
x
2
2
. Assim,
e
x
2
2

_
e
x
2
+ cos y = e
x
2
2
e
x
2
2
_
1 +e
x
2
cos y
= e
x
2
2
e
x
2
2
_
1 +
1
2
e
x
2
cos y
1
8
e
2x
2
cos
2
y +. . .
_
,
157
9 Respostas de alguns exerccios
onde, na ltima linha, utilizamos uma expanso em srie de potncias na qual e
x
2
cos y conside-
rado um nmero pequeno. Dessa forma, levando em conta apenas os primeiros termos da expanso,
chegamos aproximao
e
x
2
2

_
e
x
2
+ cos y
1
2
e

x
2
2
cos y +
1
8
e

3x
2
2
cos
2
y.
14) A representao do nmero 20, 25 em base trs 202, 02
3
. Ou seja,
0, 2020202020202 . . .
3
3
3
,
onde oito primeiros dgitos da representao esto assinalados em vermelho. Se dispormos os
demais dgitos aps uma virgula teremos
0, 20202 . . .
3
>
1
2
.
Portanto, de acordo com o arredondamento par, a representao em ponto utuante com 8 dgitos
de signicando para o nmero 20, 25
0, 20202021
3
3
3
.
15) De acordo com a frmula para propagao derros, se os erros em x e y forem descorrelacio-
nados,
f [sen(x) cos(y)[ x +[cos(x)sen(y)[ y
=

2
2

2
2

x +

2
2

2
2

y
= 10
6
.
Portanto,
f
f
_

4
,

4
_

10
6
2.5
= 0.4 10
6
.
16) O nmero 6, 125 possui a representao binria 110, 001
2
. Em notao normalizada com
sete dgitos (j que seis sero armazenados no registro)
0, 1100010
2
2
3
,
os dgitos que sero armazenados esto grafados em vermelho. O expoente vale 3 o deslocamento
de trs unidades resulta no nmero 6 cuja representao binria 110
2
. Finalmente o sinal do
nmero positivo e portanto o dgito que o representa o 0. Assim, o registro de 10 bits
0110100010
158
9.2 Captulo 2
1 dgito (em azul) representa o sinal.
2 ao 4 dgito (em verde) representam o expoente deslocado de trs unidades.
5 ao 10 digito (em vermelho) representam os dgitos do signicando com exceo do mais
signicativo.
9.2 Captulo 2
3)
|x x|
1
|x|
1

_
_
A
1
_
_
1
|A|
1
_
_
_b

b
_
_
_
1
|b|
1
. Como
_
_
A
1
_
_
1
|A|
1
144 e
_
_
_b

b
_
_
_
1
|(0, 001; 0, 001)|
1
temos que
|x x|
1
|x|
1
0.24.
5) A convergncia muito lenta. Por exemplo, utilizando norma 1 e tolerncia 10
12
, o mtodo
Gauss-Seidel necessita 41829 iteraes para fornecer a resposta. Sob as mesmas condies, o
mtodo de Jacobi necessita 110819 iteraes. Se realizarmos um grco com o comportamento
das normas, poderemos perceber que a mesma possui um carter oscilante via mtodo de Jacobi,
enquanto que via mtodo Gauss-Seidel o comportamento monotnico.
6) (3, 3) e (4, 3) (3, 4).
7)
1. Se [r[ < 1 e n mpar, ento [[ > 2
r
1 r
_
1 r
n1
2
_
.
2. Se [r[ < 1 e n par, ento [[ > 2
r
1 r
_
1 r
n
2
_
+r
n
2
1
.
3. Se [r[ > 1, ento [[ >
r
r 1
_
r
n1
1
_
.
4. Se [r[ = 1, ento [[ > n 1.
8) A aproximao y
i
para y(t) nos pontos t
i
= (i 1)h, onde h = 0.1, satisfaz o sistema de
equaes
y
i1
+
_
4h
2
0, 1h 2
_
y
i
+ (0, 1h + 1) y
i+1
= h
2
sen (2(i 1)h) ,
para i = 2, 3, . . . , 99; y
1
= 0 e y
100
= 1, 3.
O maior valor absoluto que y assume aproximadamente 3, 683.
9.3 Captulo 3
2) x

= 2, 94753 . . . e x

= 1, 50524 . . .
3) A primeira equao possui razes x

= 1 (simples) e x

= 1, 5 (multiplicidade 3). A
segunda equao possui razes x

= 1 (multiplicidade 3) e x

= 1, 5 (simples).
4) x

= 0, 739085 . . .
5) x

= 0, 0946487 . . . e x

= 0, 739533 . . .
159
9 Respostas de alguns exerccios
6) x

= 1, 52430 . . .; x

= 5, 31204 . . . e x

= 6, 72423 . . .
8) No ponto x

, a reta e a funo assumem o mesmo valor, ou seja,


x

= senx

.
E nesse mesmo ponto, a reta tangente funo, ou seja,
d
dx
(x)

x=x

=
d
dx
(senx)

= cos x

.
Combinando o valor de em termos de x

com a primeira equao, temos que x

deve ser tal que


x

cos x

= senx

.
A partir dessa ltima expresso, montamos a equao no linear f (x

) = 0 e utilizamos o mtodo.
A soluo dada por
x

= 7, 7252 . . .
10) As razes so 0.5 (simples), 0.5 (multiplicidade 3),

1 e

1 (ambas simples).
11)
O grco dessa funo permite visualizar que a localizao do primeiro mnimo positivo esta
na vizinhana prxima de 1, 5. Nesse mnimo, a derivada da funo se anula, portanto estamos
interessados no zero da funo
f(x)
.
= 3
cos 3x
x

sen3x
x
2
que est prximo de 1, 5. A melhor aproximao com seis dgitos 1, 49780.
12)
O nmero que buscamos,
k

y, soluo da equao f (x) = 0, onde


f(x)
.
= x
k
y.
Assim, de acordo com o mtodo Newton-Raphson, a relao de recorrncia dada por
x
(n+1)
= x
(n)

_
x
(n)
_
k
y
k
_
x
(n)
_
k1
=
_
1
1
k
_
x
(n)
+
y
k
_
x
(n)
_
k1
,
para n = 0, 1, . . . se aproxima do nmero
k

y para uma escolha de aproximao inicial x


(0)
. No
presente caso, a relao de recorrncia para aproximar
8

10 dada por
x
(n+1)
=
7
8
x
(n)
+
10
8
1
_
x
(n)
_
7
.
160
9.3 Captulo 3
A convergncia quadrtica pois a derivada de f em seu zero k (x

)
k1
, como x

,= 0, ento
f

(x

) ,= 0.
13)
Podemos notar que o mximo global da funo f est prxima do ponto (1.2, 1.3). No
mximo (x

, y

), as derivadas parciais com relao s variveis x e y so nulas, ou seja, o ponto de


mximo uma soluo (mas no a nica) do sistema
_

_
f
x
(x, y) = 0
f
y
(x, y) = 0
=
_

_
4x
3
+ 3y
3
1 = 0
6y
5
+ 9xy
2
= 0
. (9.1)
No Scilab, podemos analisar o comportamento da funo f atravs do grco para a superfcie
formada pelo conjunto de pontos
_
(x, y, f(x, y)) R
3
[x, y R
_
e do grco para as curvas de
nvel dessa superfcie. Comeamos com a denio de uma funo que dependa de dois argumentos
escalares e retorne um escalar:
function z=f1(x,y)
z=- x^4 - y^6 + 3
*
x
*
y^3 - x;
endfunction
Utilizaremos a funo f1 como argumento das instrues que montam os grcos.
x=linspace(-1.5,1.5,50); // Definio do intervalo de valores nas
variveis x e y.
y=linspace(-1.5,1.5,50);
fplot3d(x,y,f1); // Grfico para a superfcie.
contour(x,y,f1,-5:0.2:2.4,flag=[1 0 4],zlev=-35); // Grfico para
as curvas de nvel. Sero desenhadas as curvas para os nveis -5,
-4.8, -4.6, ..., 2.2 e 2.4 no plano z=-35. O argumento flag=[1 0 4]
corresponde a uma formatao particular do grfico - Consulte a ajuda
on-line do Scilab. Pode ser necessrio alterar o ponto de vista para
melhor visualizar o grfico.
A sequncia de comandos acima desenha a superfcie e as curvas de nvel na mesma janela
grca. possvel desenh-las em janelas separadas. Nesse caso utilizamos o comando scf() e
uma forma mais simples para as curvas de nvel contour(x,y,f2,-5:0.2:2.4).
A partir da informao sobre a aproximao inicial podemos criar uma funo F : R
2
R
2
tal
que a equao
F(t) = 0 R
2
represente o sistema (9.1). Ou seja t ser representado por um vetor coluna (uma matriz 2 1) cuja
primeira componente, t(1), corresponde varivel x e a segunda, t(2), corresponde y. No Scilab,
deniremos F como a funo f2:
function z=f2(t)
161
9 Respostas de alguns exerccios
z(1)=-4
*
t(1)^3 + 3
*
t(2)^3 -1;
z(2)=-6
*
t(2)^5 + 9
*
t(1)
*
t(2)^2;
endfunction
Agora basta utiliz-la como argumento da funo zero_newraph:
zero_newraph(f2,[-1.2;-1.3],100,1);
Observao. 1. O cdigo zero_newraph deve ser carregado previamente.
2. Note que a aproximao inicial repassada como um vetor coluna.
3. A norma 1 foi escolhida arbitrariamente.
O resultado aproximado com seis dgitos (x

, y

) (1.15797, 1.20207).
9.4 Captulo 4
1) Se f admite um expanso em srie de Taylor em torno do ponto x, podemos estimar ao erro na
operao de ponto utuante:
(D
+,h
f) (x) =
f(x +h) f(x)
h
=
f(x) +hf

(x) +
h
2
2
f

(x) +O(h
3
) f(x)
h
= f

(x) +
h
2
f

(x) +O(h
2
) = f

(x) +c
0
h +O(h
2
).
Assim, ao utilizarmos espaamento 2h, a operao ser tal que
(D
+,2h
f) (x) = f

(x) +c
0
(2h) +O(h
2
).
A seguinte combinao linear anula o termo com dependncia linear em h:
(D
+,2h
f) (x) 2 (D
+,h
f) (x) = f

(x) +O(h
2
)
e a partir dela denimos a operao de diferena nita (D
+1,h
f) (x) = 2 (D
+,h
f) (x)(D
+,2h
f) (x) =
f

(x) +O(h
2
).
A nova operao (D
+1,h
f) (x) possui a seguinte dependncia em h:
(D
+1,h
f) (x) = f

(x) +c
1
h
2
+O(h
3
)
de modo que
(D
+1,2h
f) (x) = f

(x) +c
1
(2
2
+O(h
3
).
E a combinao linear
4 (D
+1,h
f) (x) (D
+1,2h
f) (x) = 3f

(x) +O(h
3
)
162
9.5 Captulo 5
remove a dependncia quadrtica em h. Denimos (D
+2,h
f) (x) como
(D
+2,h
f) (x)
.
=
4 (D
+1,h
f) (x) (D
+1,2h
f) (x)
3
,
ou seja,
(D
+2,h
f) (x) =
4
_
2
f(x +h) f(x)
h

f(x + 2h) f(x)
2h
_

_
2
f(x + 2h) f(x)
2h

f(x + 4h) f(x)
4h
_
3
=
f(x + 4h) 12f(x + 2h) 32f(x +h) 21f(x)
12h
9.5 Captulo 5
2) A partir dos dados da tabela encontramos as seguintes interpolaes. Observao: os resultados
foram obtidos a partir de operaes em ponto utuante e os primeiros sete dgitos esto represen-
tados. Se admitirmos os valores da tabela como racionais exatos, a interpolao envolver apenas
coecientes racionais. Por exemplo, a interpolao da funo seno ser simplesmente P(x) = x;
nesse caso, a diferena deve-se exclusivamente aos erros de arredondamento cometidos nas opera-
es aritmticas.
para a funo cotangente P
cot
(x) = 2283.332 . . . 1.874997 . . . 10
6
x+7.083307 . . . 10
8
x
2

1.249991 . . . 10
11
x
3
+ 8.33325 10
12
x
4
.
para a funo seno P
sen
(x) = 3.469446 . . .10
18
+x+7.275957 . . .10
12
x
2
1.862451 . . .
10
9
x
3
.
para a funo cosseno P
cos
(x) = 1.000008 . . . 0.01399999 x + 7.833333 x
2
2000 x
3
+
166666.6 x
4
.
O erro cometido na aproximao do valor de cot(0.0015) por
P
cos
(0.0015)
P
sen
(0.0015)
pode ser avaliada
atravs da propagao de erros. De acordo com ela, o erro vamos denomin-lo
P
cos
P
sen
(x) est
relacionado aos erros cometidos na aproximao do seno e do cosseno pelas respectivas interpola-
es
2
:

P
cos
P
sen
(x)

1
P
sen
(x)

P
cos
(x) +

P
cos
(x)
(P
sen
(x))
2

P
sen
(x),
onde os erros so dados por P
cos
(x) = [cos(x) P
cos
(x)[ e P
sen
(x) = [sen(x) P
sen
(x)[.
Dessa forma, P
cos
(0.0015) = 1.5625 . . . 10
7
e P
sen
(0.0015) = 5.625 . . . 10
10
que
implicam a estimativa
P
cos
P
sen
(0.0015) 0.0694449 . . .. J o erro obtido a partir da interpolao
direta da cotangente P
cot
(0.0015) = [cot(0.0015) P
cot
(0.0015)[ = 18.2292 . . ..
A diferena entre as duas estimativas se deve ao fato de que a funo cotangente varia muito
rapidamente no intervalo de pontos escolhido, o que potencialmente aumenta os erros de trunca-
mento. Por outro lado, as funes seno e cosseno variam pouco, o que permite uma interpolao
2
Calculamos a cotangente atravs de uma expresso do tipo f(z
1
, z
2
) =
z
1
z
2
, portanto, de acordo com a expresso para
propagao de erros, f(z
1
, z
2
)

f
z
1
(z
1
, z
2
)

z
1
+

f
z
2
(z
1
, z
2
)

z
2
.
163
9 Respostas de alguns exerccios
com menos erro de truncamento.
3) Devemos construir duas interpolaes polinomiais, uma com 4 pontos igualmente espaados,
x
j
=
1
3
(j 1), para j = 1, 2, 3, 4 e a outra com pontos espaados segundo a frmula de Chebishev,
x
j
=
a +b
2
+
(a b)
2
cos
_
2j 1
2n

_
, com n = 4 e j = 1, 2, 3, 4.
A funo sen(2x) possui expanso em srie de Taylor em torno de x = 0.5 dada por
sen(2x) = 0.8414709 . . .+1.080604 . . . (x0.51.682941 . . . (x0.5)
2
0.7204037 . . . (x
0.5)
3
+O((x0.5)
4
). Ainterpolao compontos igualemente espaados P(x) = 2.10091 x
0.510277 x
2
0.681331 x
3
. Ainterpolao comos pontos de Chebyshev P(x) = 0.00356134+
2.11239 x 0.519039 x
2
0.685124 x
3
.
A funo e
x
possui expanso em srie de Taylor em torno de x = 0.5 dada por e
x
=
1.64872 +1.64872(x 0.5) +0.824361(x 0.5)
2
+0.274787(x 0.5)
3
+O((x 0.5)
4
).
A interpolao com pontos igualemente espaados P(x) = 1+1.01399 x+0.425665 x
2
+
0.278626 x
3
. A interpolao com os pontos de Chebyshev P(x) = 0.999509+1.01563 x+
0.424301 x
2
0.27824 x
3
.
A funo

x possui expanso em srie de Taylor em torno de x = 0.5 dada por

x =
0.707107+0.707107(x0.5) +0.353553(x0.5)
2
+0.353553(x0.5)
3
+O((x0.5)
4
).
A interpolao com pontos igualemente espaados P(x) = 2.52192 x 2.79344 x
2
+
1.27152 x
3
. A interpolao com os pontos de Chebyshev P(x) = 0.127449 + 1.8407 x
1.69585 x
2
+ 0.732394 x
3
.
A funo
1
1 + 25x
2
possui expanso em srie de Taylor em torno de x = 0.5 dada por
1
1 + 25x
2
= 0.137931 + .475624(x 0.5) + 1.16446(x 0.5)
2
2.37529(x 0.5)
3
+
O((x0.5)
4
). A interpolao com pontos igualemente espaados P(x) = 13.45075 x+
4.35728 x
2
1.86807 x
3
. A interpolao com os pontos de Chebyshev P(x) = 1.11311
4.09332 x + 5.43048 x
2
2.42567 x
3
.
A funo x
4
possui expanso em srie de Taylor em torno de x = 0.5 dada por x
4
=
0.0625 + 0.5(x 0.5) + 1.5(x 0.5)
2
+ 2(x 0.5)
3
+ O((x 0.5)
4
). A interpola-
o com pontos igualemente espaados P(x) = 0.222222 . . . x 1.222222 . . . x
2
+ 2 x
3
.
A interpolao com os pontos de Chebyshev P(x) = 0.0078125+0.25 x1.25 x
2
+2 x
3
.
5) O spline cbico natural para o conjunto de dados formado por seis pontos construdo a
partir de cinco polinmios de grau 3: s
i
(x) = a
i
+ b
i
(x x
i
) + c
i
(x x
i
)
2
+ d
i
(x x
i
)
3
, onde
i = 1, 2, . . . , 5 mais o coeciente acessrio c
6
. Como trata-se de um spline natural c
1
= c
6
= 0, os
demais coecientes c
i
so soluo soluo do sistema
_
_
_
_
_
_
4 1 0 0
1 4 1 0
0 1 4 1
0 0 1 4
_
_
_
_
_
_

_
_
_
_
_
_
c
2
c
3
c
4
c
5
_
_
_
_
_
_
=
_
_
_
_
_
_
0
6
0
6
_
_
_
_
_
_
.
164
9.5 Captulo 5
A soluo o vetor (0.401914, 1.60766, 0.0287081, 1.49282)
T
. Os coecientes b
i
e d
i
so cal-
culados a partir de c
1
, c
2
. . . c
5
, os coecientes a
i
so calculados a partir da relao a
i
= f
i
.
6) Para que uma funo g(x) seja um spline de ordem n necessrio que as derivadas de ordem
0 k n 1 dos polinmios que a constitui, s
i
(x), se igualem nos pontos de interpolao, ou
seja s
(k)
i
(x
i+1
) = s
(k)
i+1
(x
i+1
):
1. f(x) =
_

_
x , 1 x < 0
2x , 0 x < 1
x + 1 , 1 x 2
. Os pontos de interpolao internos so x = 0 e x = 1,
de acordo com a expresso para f, os limites nesses pontos existem: lim
x0
f(x) = 0 e
lim
x1
f(x) = 2. Quanto derivada, f

(x) =
_

_
1 , 1 < x < 0
2 , 0 < x < 1
1 , 1 < x < 2
, ou seja, a derivada
no contnua. Portanto , como apenas f contnua, essa funo um spline linear.
2. f(x) =
_

_
x , 1 x < 0
2x 1 , 0 x < 1
x + 1 , 1 x 2
.Os pontos de interpolao internos so x = 0 e x = 1,
de acordo com a expresso para f, o limite no ponto x = 0 no existe, pois lim
x0
f(x) =
0 e lim
x0
+ f(x) = 1. Isto o suciente para garantir que f no um spline.
3. f(x) =
_

_
0 , 1 x < 0
x
2
, 0 x < 1
2x 1 , 1 x 2
. Os pontos de interpolao internos so x = 0 e x = 1,
de acordo com a expresso para f, os limites nesses pontos existem: lim
x0
f(x) = 0 e
lim
x1
f(x) = 1. Quanto derivada, f

(x) =
_

_
0 , 1 < x < 0
2x , 0 < x < 1
2 , 1 < x < 2
, podemos vericar
que os limites em x = 0 e x = 1 existem: lim
x0
f

(x) = 0 e lim
x1
f(x) = 2. Ento,
como f envolve apenas polinmios de grau menor ou igual a 2, segue que f um spline
quadrtico.
7) Dada a funo
f(x) =
_

_
x
3
+x , 1 x 0
ax
2
+bx , 0 x 1
, (9.2)
temos que
f

(x) =
_

_
3x
2
+ 1 , 1 < x < 0
2ax +b , 0 < x < 1
(9.3)
e
f

(x) =
_

_
6x , 1 < x < 0
2a , 0 < x < 1
. (9.4)
165
9 Respostas de alguns exerccios
Para que f seja um spline cbico, ela deve ser tal que os limites para f, f

e f

devem estar bem


denidos em x = 0. Ou seja, a partir de (9.4) , devemos ter que a = 0; a partir de (9.3), devemos
ter que b = 1. Quaisquer que sejam os valores de a e b, lim
x0
f(x) = 0. Portanto, f ser um
spline cbico se a = 0 e b = 1.
9.6 Captulo 6
3) O ajuste de um conjunto de dados funo (x) = a
1
x
a
2
e
a
3
x
pode ser realizado atravs do
mtodo dos mnimos quadrados para uma combinao linear de funes. Seja (x) = ln (x),
ento
(x) = ln a
1
+a
2
ln x +a
3
x
= a
1
+a
2
ln x +a
3
x,
onde a
1
.
= ln a
1
. A relao entre e permite que o conjunto de dados x
i
, ln f
i
seja ajustado
combinao linear das funes
1
(x) = 1,
2
(x) = ln x e
3
(x) = x:

=
_
_
_
_
_
_

1
(x
1
)
2
(x
1
)
3
(x
1
)

1
(x
2
)
2
(x
2
)
3
(x
2
)
.
.
.
.
.
.
.
.
.

1
(x
6
)
12
(x
6
)
3
(x
6
)
_
_
_
_
_
_
=
_
_
_
_
_
_
1 ln x
1
x
1
1 ln x
2
x
2
.
.
.
.
.
.
.
.
.
1 ln x
6
x
6
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
1 0 1.0
1 0.470004 . . . 1.6
1 0.788457 . . . 2.2
1 1.02962 . . . 2.8
1 1.22378 . . . 3.4
1 1.38629 . . . 4.0
_
_
_
_
_
_
_
_
_
_
_
,

T

=
_
_
_
6 4.89815 . . . 15
4.89815 . . . 5.32212 . . . 15.0756 . . .
15 15.0756 . . . 43.8
_
_
_
e

T
_
_
_
_
_
_
ln f
1
ln f
2
.
.
.
ln f
6
_
_
_
_
_
_
=

T
_
_
_
_
_
_
_
_
_
_
_
0.617345 . . .
0.564645 . . .
0.283956 . . .
0.236989 . . .
0.080126 . . .
0.212689 . . .
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
0.172499 . . .
0.297641 . . .
0.182942 . . .
_
_
_
.
As constantes so soluo do sistema
_
_
_
6 4.89815 . . . 15
4.89815 . . . 5.32212 . . . 15.0756 . . .
15 15.0756 . . . 43.8
_
_
_
_
_
_
a
1
a
2
a
3
_
_
_
=
_
_
_
0.172499 . . .
0.297641 . . .
0.182942 . . .
_
_
_
,
a
1
= e
a
1
= 0.503951 . . ., a
2
= 3.12245 . . . e a
3
= 1.30522 . . .
166
9.7 Captulo 7
1.5 2 2.5 3 3.5 4
x
0.8
1.2
1.4
1.6
1.8
x
Figura 9.1: Ajuste de dados pela funo (x) = 0.503951 x
3.12245
e
1.30522 x
.
9.7 Captulo 7
1)
1.1) Basta checar os monmios, x
n
, n = 0, 1, . . . A integrao exata apenas para n = 0 e 1.
1.2) No uma regra obtida a partir de uma interpolao polinomial. Se o fosse, seria exata para
polinmios de grau 2 e de acordo com o item anterior, ela no exata nesse caso. C
1
f(0.2) +
C
2
f(0.5) +C
3
f(0.8), onde C
1
=
25
54
, C
2
=
2
27
e C
3
=
25
54
.
1.3) Devemos realizar uma mudana de varivel, na forma de uma transformao am, para
passar do intervalo de integrao (1, 3) para o intervalo (0, 1) onde a regra est denida. A trans-
formao deve ser da forma y =
1
2
x
1
2
, ou ainda, x = 2y + 1. O Jacobiano dessa transformao
vale 2: dx = 2dy. Assim, os pesos da regra original sero multiplicados por 2.
2) De acordo com a regra composta de Simpson,
_
b
a
f(x) dx =
h
3
n

k=1
C
k
f(x
k
)
h
4
180
(b a)f
(4)
().
Dessa forma, o erro de truncamento est relacionado aos valores que assume a derivada de quarta
ordem do integrando.
d
4
dx
4
_
e
x
2
_
= 4e
x
2
_
3 + 12x
2
+ 4x
4
_
.
Neste caso, o valores mnimo e o mximo da derivada ocorrem respectivamente nos extremos infe-
rior e superior do intervalo (0, 1), portanto
12
d
4
dx
4
_
e
x
2
_

x=
76e 206.6
Dessa forma, o erro de truncamento est contido no intervalo

207h
4
180

_
1
0
e
x
2
dx
h
3
n

k=1
C
k
e
x
2
k

12h
4
180
.
167
9 Respostas de alguns exerccios
Se desejarmos que o erro de truncamento em valor absoluto seja menor ou igual a 10
6
, ento h
deve estar no intervalo
0.0305369
_
180
207
10
6
_
1
4
h
_
180
12
10
6
_
1
4
0.0622333.
3) O valor exato da integral
tg
1
5
5
0.27468.
Newton-Cotes.
3 pontos (regra de Simpson): 0.2650309
4 pontos (regra 3/8): 0.2600357
5 pontos (regra de Boole): 0.2615188
Quadratura por interpolao emn pontos de Chebishev, x
i
=
a+b
2
+
ab
2
cos
_
2i1
2n

_
, i = 1, 2, . . . , n.
3 pontos: 0.2861982
4pontos: 0.2701897
5 pontos: 0.2714549
Quadratura gaussiana.
3 pontos: 0.2855636
4 pontos: 0.2771697
5pontos: 0.2743215
Romberg.
Nesse caso, 5 pontos correspondem utilizao de duas quadraturas compostas, 5 = 2
2
+ 1.
Assim,
R(2, 2) 0.2615188
4) A distncia total percorrida dada pela integral
_
50
0
_
v
x
(t)
2
+v
y
(t)
2
dt
e a posio nal dada pelo ponto (x, y), onde
x =
_
50
0
v
x
(t)dt e y =
_
50
0
v
y
(t)dt.
As integrais devem ser calculadas de acordo com a regra composta de Simpson:
_
50
0
_
v
x
(t)
2
+v
y
(t)
2
dt
11

i=1
C
i
_
vx
2
i
+vy
2
i
,
168
9.8 Captulo 8
_
50
0
v
x
(t)dt
11

i=1
C
i
vx
i
e
_
50
0
v
y
(t)dt
11

i=1
C
i
vy
i
.
A partir das aproximaes temos que a posio nal dada por (35.4; 17.717) e o deslocamento
total de 56.75.
9.8 Captulo 8
1) Velocidade terminal, v
T
, aquela que implica
dv
dt
(v
T
) = 10 0.00343v
2
T
= 0, ou seja, v
T
=
53.9949 . . ..De acordo com o mtodo R-K de 4 estgios, aproximamos a soluo v nos pontos t
i
por v
i
v(t
i
), para i = 0, 1, 2, . . .
Inicialmente realizmos a escolha, t
i
= ih com h = 1. De acordo com o mtodo
v
i+1
= v
i
+
h
6
(k
1
+ 2k
2
+ 2k
3
+k
4
),
onde
k
1
= 10 0.00343v
2
i
,
k
2
= 10 0.00343
_
v
i
+
h
2
k
1
_
2
,
k
3
= 10 0.00343
_
v
i
+
h
2
k
2
_
2
,
k
4
= 10 0.00343 (v
i
+hk
3
)
2
e v
0
= v(0) = 0. A escolha h = 1 implica
v
1
= 9.88711 . . . ,
v
2
= 19.1326 . . . ,
v
3
= 27.2514 . . . ,
v
4
= 33.9963 . . .
Como
1
2
v
T
= 26.9975 . . . a aproximao v
3
v(t
3
) est prxima do valor exato. De acordo
com a escolha h = 1, t
3
= 3. Se as aproximaes forem refeitas com h = 0.5 notaremos que as
aproximaes obtidas com espaamento h = 1. so exatas para os primeiros dgitos.
2) Por meio da nova varivel (t) =
d
dt
(t) reescrevemos a E.D.O. de segunda ordem como o
169
9 Respostas de alguns exerccios
seguinte sistema de E.D.O de primeira ordem:
_

_
d
dt
=
g
l
sen()
d
dt
=
com condio inicial (0) = 0 e (0) =

4
. De acordo com o mtodo Runge-Kutta de 4 estgios,
a aproximao
i
(t
i
),
i
(t
i
) determinada pelo conjunto de equaes
_

i+1
=
i
+
h
6
(k
1,
+ 2k
2,
+ 2k
3,
+k
4,
)

i+1
=
i
+
h
6
(k
1,
+ 2k
2,
+ 2k
3,
+k
4,
)
,
onde
k
1,
=
g
l
sen (
i
) ,
k
2,
=
g
l
sen
_

i
+
h
2
k
1,
_
,
k
3,
=
g
l
sen
_

i
+
h
2
k
2,
_
,
k
4,
=
g
l
sen (
i
+hk
3,
) ,
k
1,
=
i
,
k
2,
=
i
+
h
2
k
1,
,
k
3,
=
i
+
h
2
k
2,
,
k
4,
=
i
+hk
3,
e
0
= 0,
0
=

4
.
170
9.8 Captulo 8
No caso em que g = 10 e l = 1, a escolha t
i
= ih com h = 0.1 determina as aproximaes

1
= 0.698664 . . . e
1
= 0.750252 . . .

2
= 1.34576 . . . e
2
= 0.647376 . . .

3
= 1.88521 . . . e
3
= 0.484690 . . .

4
= 2.25859 . . . e
4
= 0.275896 . . .

5
= 2.41690 . . . e
5
= 0.0402008 . . .

6
= 2.33686 . . . e
6
= 0.199457 . . .

7
= 2.03045 . . . e
7
= 0.419552 . . .

8
= 1.53984 . . . e
8
= 0.599362 . . .

9
= 0.922058 . . . e
9
= 0.723264 . . .

10
= 0.234664 . . . e
10
= 0.781450 . . .
171

You might also like