Sei sulla pagina 1di 224

Notas da disciplina Clculo Numrico

Leonardo F. Guidi

7 de outubro de 2014
Instituto de Matemtica
Universidade Federal do Rio Grande do Sul
Av. Bento Gonalves, 9500
Porto Alegre - RS

2
Sumrio

1 Representao de nmeros em mquinas 7


1.1 Sistema de numerao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Mudana de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2 Bits e bytes (e nibbles tambm...) . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Aritmtica de mquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Representao de nmeros inteiros . . . . . . . . . . . . . . . . . . . . . 11
1.2.2 Representao de nmeros com parte fracionria ponto-xo . . . . . . 13
1.2.3 Representao de ponto utuante . . . . . . . . . . . . . . . . . . . . . . 14
1.2.4 Aritmtica de ponto utuante . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.5 Cancelamento catastrco . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.6 Padro IEEE754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.1 Origem dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.2 Conceitos iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.3 Propagao dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.4 Instabilidade numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3 Mtodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.1 Mtodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.2 Mtodo Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.4 Exemplos comentados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3 Equaes no lineares 65
3.1 Mtodos de quebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.1.1 Mtodo da bisseco . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.1.2 Mtodo da falsa posio ou regula falsi . . . . . . . . . . . . . . . . . . . 70
3.2 Mtodos de ponto xo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2.1 Mtodo da iterao linear . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3
Sumrio

3.2.2 Mtodo Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . 74


3.3 Mtodos de mltiplos pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.3.1 Mtodo da secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.4 Razes de polinmios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.5 Newton-Raphson modicado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson) . . . . . . . . . 81
3.7 Exemplos comentados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.8 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

4 Derivao numrica 97
4.1 Extrapolao de Richardson . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

5 Interpolao 107
5.1 Interpolao polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.1.1 Interpolao pelos polinmios de Lagrange . . . . . . . . . . . . . . . . 109
5.1.2 Interpolao de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.1.3 Erros de truncamento na interpolao por polinmios . . . . . . . . . . . 115
5.2 Interpolao spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.2.1 Interpolao spline cbica . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

6 Ajuste de mnimos quadrados 135


6.1 Ajuste de mnimos quadrados linear . . . . . . . . . . . . . . . . . . . . . . . . 136
6.2 Ajustes linearizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
6.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

7 Integrao numrica 151


7.1 Quadratura por interpolao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7.2 Quadraturas newtonianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
7.2.1 Regra do trapzio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
7.2.2 Regra de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.2.3 Regras de ordem superior . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.2.4 Regras compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.2.5 Mtodo de Romberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.3 Quadratura gaussiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
7.4 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

8 Equaes Diferenciais Ordinrias 169


8.1 Mtodo da srie de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2 Mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
8.3 Mtodo Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
8.4 Sistema de equaes diferenciais de 1 ordem . . . . . . . . . . . . . . . . . . . . 182

4
Sumrio

8.5 Mtodos de mltiplos passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182


8.5.1 Mtodo Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . . . . 183
8.5.2 Mtodo Adams-Moulton . . . . . . . . . . . . . . . . . . . . . . . . . . 184
8.6 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

9 Cdigos Scilab 191


9.1 Eliminao Gaussiana com pivotamento parcial . . . . . . . . . . . . . . . . . . 191
9.2 Mtodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
9.3 Mtodo Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.4 Mtodo da Bisseco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
9.5 Mtodo da Falsa Posio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.6 Mtodo Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.7 Mtodo da Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

10 Respostas de alguns exerccios 205


10.1 Captulo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
10.2 Captulo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.3 Captulo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
10.4 Captulo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.5 Captulo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10.6 Captulo 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.7 Captulo 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.8 Captulo 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

5
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 satisfato-
riamente 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 numera-
o base-10 o sistema decimal. Em um sistema de numerao posicional a posio relativa dos
smbolos guarda informao sobre o nmero que se quer representar. Mais especicamente, posi-
es 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 1.1.1 (Sistemas de numerao base-b). Sistemas de numerao base-b. Dado um natu-
ral1 b > 1, a coleo de smbolos , , e os algarismos2 {0, 1, . . . , b 1}, o numeral 3

dn dn1 d1 d0 .d1 b (1.1)

representa o nmero real positivo



dj bj . (1.2)
jn

Aplicando o sinal frente do numeral representamos os reais negativos.

Observao 1.1.2. Quando no h possibilidade de equvoco, dispensamos o subscrito 10 na re-


presentao decimal. Dessa forma, por exemplo, o numeral 1,2310 , ou simplesmente 1,23, repre-
senta o nmero 1 100 +2 101 +3 102 . Os algarismos 0 antes da vrgula tambm no
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.

7
1 Representao de nmeros em mquinas

so representados 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 registrar a preciso de alguma medida. Assim, evitamos notaes da forma 00 . . . 02,3
23
para indicar o racional ; o mesmo para notaes da forma 2,30 . . . 00, com exceo dos casos
10
23
em que se quer indicar no o racional mas uma medida com determinada preciso. Quando a
10
representao de um nmero possuir dzimas peridicas utiliza-se como notao uma barra sobre
67
a sequncia que se repete. Por exemplo, 13 representado como 0,3 e representado como
495
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
11
nmeros racionais. Por exemplo, o racional possui as representaes 1,1 e 1,09.
10

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 dn dn1 d1 d0 , d1 . . . b . Encontrar a sua re-
presentao em uma outra base g signica encontrar a sequncia de algarismos dm dm1 d1 d0 , d1 . . . g
tal que

X= dj g j .
jm

A seguinte abordagem consiste em separar X nas suas as partes inteira e fracionria. Denomi-
namos a parte inteira de X como X i e, de acordo com (1.2), na nova base g


m
X =i
dj g j , (1.3)
j=0

de maneira semelhante, denominamos X f a parte fracionria de x:



Xf = dj g j . (1.4)
j1

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

d0 j1
m
Xi
= + dj g ,
g g
j=1

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 dj g j1 (que estar representado na base
j=1
b em que a operao foi realizada) como quociente e d0 (tambm na base b) como resto. Por-
tanto essa operao de diviso inteira nos fornece o primeiro dgito da nova representao, d0 .
Em seguida dividimos o segundo membro da igualdade anterior (ou seja, o quociente da diviso

8
1.1 Sistema de numerao

anterior) temos m d1 j2
j1 m
j=1 dj g
= + dj g .
g g
j=2

E assim sucessivamente at encontrarmos o dgito dm quando o quociente da ltima diviso for


nulo. Convm lembrar que ao iniciar o processo, conhecemos a representao de X i na base b,
portanto 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 mu-
dana de base para a parte fracionria envolve operaes de multiplicao. A partir da expresso
(1.4) possvel observar que


g X = d1 +
f
dj g j+1 ,
j=2

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 dj g j+1 = d2 + dj g j+2 .
j2 j3

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 1: Vamos representar o numeral 53,2056 no sistema base-8. Nesse caso X i = 536 e
X f = 0,2056 . 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 base4 , ou seja vamos dividir por 126 (= 810 ):

536 16
= 46 + ,
126 126

o resto da diviso, 16 o primeiro dgito (na base 6), na base 8 temos o mesmo dgito, ou
seja, 18 . Em seguida, vamos dividir o quociente 46 :

46 46
= 06 + ,
126 126
4
Para facilitar as operaes conveniente utilizar uma tabela de multiplicaes em base 6 (tabuada em base 6):

16 26 36 46 56
16 16 26 36 46 56
26 26 46 106 126 146
36 36 106 136 206 236
46 46 126 206 246 326
56 56 146 236 326 416

9
1 Representao de nmeros em mquinas

aqui o resto da diviso 46 = 48 e o procedimento termina pois o quociente da diviso


nulo. Portanto a parte inteira representada pelo numeral 418 .
Encontramos a representao da parte fracionria atravs de operaes de multiplicao por
8 na base 6, ou seja, 126 :

0,2056 126 = 2,506 = 26 + 0,506 ,

a parte inteira da multiplicao 26 o primeiro dgito aps a vrgula, em base 8, 28 . Em


seguida multiplicamos a parte fracionria 0,506 por 8, ou melhor, 126 :

0,506 126 = 10,506 = 106 + 0,506 ,

a parte inteira que resulta da multiplicao 106 = 68 e a parte fracionria novamente


assume a mesma forma, 0,506 . Isto nos permite concluir que a partir deste ponto sempre
obteremos o mesmo dgito. Portanto 0,2056 representa o mesmo nmero que 0,268 . Combi-
nando a parte inteira e fracionria temos nalmente que 53,2056 = 41,268

1.1.2 Bits e bytes (e nibbles tambm...)

O termo bit uma contrao de binary digit dgito binrio e como tal, pode assumir dois
valores distintos. Na representao posicional base-2, o bit assume os valores 0 ou 1. Nas mqui-
nas, um bit a menor unidade de informao; seus dois possveis valores podem ser interpretados
como verdadeiro ou falso o que possibilita a construo de operaes lgicas em mquina.
So as operaes lgicas que permitem a realizao das operaes aritmticas com os registros
das mquinas.

1.2 Aritmtica de mquina


No ocidente, a utilizao de um sistema posicional base-10 com algarismos indo-arbicos cor-
rente 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 uti-
lizao matemtica 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 segundo5 .
Tipicamente, um nmero inteiro armazenado em um processador como uma sequncia de
dgitos binrios de comprimento xo denominada registro. Os processadores dispe de um ou
mais circuitos integrados denominados ALUs (plural de unidade lgica e aritmtica6 ) cujo papel
realizar esse tipo de operaes nos registros.
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 propos-
tas em 1945 por John von Neumann com parte do computador EDVAC (Electronic Discrete Variable Automatic
Computer), um dos primeiros computadores eletrnicos binrios.

10
1.2 Aritmtica de mquina

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 bases7 . No incio da computao eletrnica chegaram a ser construdas mquinas que re-
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
barateamento 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

dn1 dn2 dn3 ... d2 d1 d0

representa o nmero (dn1 dn2 dn3 . . . d2 d1 d0 )2 . Assim, possvel representar os nmeros in-
teiros entre 0 , representado por 000 . . . 0002 at o inteiro representado por 111 . . . 1112 :

111 . . . 1112 = 2n1 + 2n2 + 2n3 + + 22 + 21 + 20 = 2n 1.

Naturalmente, tambm necessrio representar tambm os inteiros com sinal. No entanto,


existem 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 comercialmente9 . Consiste na utilizao de um dos bits para o sinal. Geralmente, o
bit mais signicativo no registro (o primeiro esquerda) utilizado para esse m.
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,
unidades de processamento do System z9 e System z10. Esses processadores dispe de ALUs que permitem o 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
um computador no qual ainda eram empregadas vlvulas utilizava essa forma de representao de inteiros com
sinal. Um dos primeiros modelos transistorizados, o IBM1401 lanado em 1959, tambm utilizava essa representa-
o.

11
1 Representao de nmeros em mquinas

De acordo com essa representao, um registro de mquina formado por uma sequncia de 32
bits :
s d30 d29 ... d2 d1 d0

utilizado para representar o nmero binrio ((1)s d30 d29 . . . d2 d1 d0 )2 . Ou seja, a sequncia
binria de 32 dgitos (ou bits) s d30 d29 . . . d2 d1 d0 capaz de representar todos os inteiros entre
231 + 1 e 231 1 (2147483647 e 2147483647) na forma
( )
(1)s d0 20 + d1 21 + . . . + d30 230 .

Nesse caso o maior inteiro representvel dado numeral Imax = 011 . . . 112 . Portanto
( )
Imax = (1)0 1 + 21 + 22 + . . . + 230 = 231 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 232 1 inteiros entre 231 1
e 231 1.
Essa tcnica de registro com n bits permite armazenar em uma mquina todos os 2n 1 nmeros
( )
inteiros entre 2n1 1 e 2n1 1.
Se em uma operao de soma ou subtrao o resultado for um nmero que no pode ser arma-
zenado 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 2n1 1 e o restante dos bits representam um inteiro no negativo. Assim um
registro n bits da forma

dn1 dn2 dn3


... d2 d1 d0
( )
representa o inteiro (dn2 dn3 . . . d2 d1 d0 )2 dn1 2n1 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 base10 no sistema
binrio. Essa operao equivale tambm a tomar os complementos reduzidos de base dos dgitos
separadamente.
( )
Essa representao contm os inteiros entre 2n1 1 e 2n1 1. O zero possui tambm
duas representaes: 111 . . . 112 e 000 . . . 002 .
Exemplos:
O registro de 8 bits
0 1 0 0 0 1 1 0

10
O complemento reduzido de base de um inteiro y com n dgitos no sistema base-b denido como (bn 1) y .
Assim, no sistema binrio, o complemento reduzido de base de 0 1 e vice-versa.

12
1.2 Aritmtica de mquina

( )
representa o inteiro 10001102 0 27 1 = 70.
O registro de 8 bits
1 0 1 1 1 0 0 1
(
)
representa o inteiro 01110012 1 27 1 = 57 127 = 70. Comparando os dois registros,
podemos notar que o segundo obtido a partir do primeiro trocando-se os dgitos 1 por 0 e
vice-versa11 . Essa forma de representao tambm foi utilizada em ALUs de computadores mais
antigos12 .

Representao complemento de dois

A representao complemento de dois a representao mais utilizada nas ALUs dos processa-
dores 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
representa um termo aditivo 2n1 e o restante dos bits representam um inteiro no negativo.
Assim um registro n bits da forma

dn1 dn2 dn3 ... d2 d1 d0

representa o inteiro (dn2 dn3 . . . d2 d1 d0 )2 dn1 2n1 .


Nessa representao, o registro do inverso aditivo de um nmero obtido a partir do seu com-
plemento de base13 .
Essa representao contm os inteiros entre 2n1 e 2n1 1 e ao contrrio das anteriores, o
zero unicamente representado por 000 . . . 002 .
Exemplos:
O registro de 8 bits
1 0 0 0 0 1 1 0
( )
representa o inteiro 10001102 0 27 = 70.
O registro de 8 bits
1 1 10 1 0 1 0
( 7)
representa o inteiro 01110102 1 2 = 58 128 = 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
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
departamentos 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 bn y .

13
1 Representao de nmeros em mquinas

um registro de n = p + q + 1 bits como a diviso por 2q 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):

d31 d30 d29 ... d2 d1 d0

representa o nmero
( ) ( )
(d30 d29 . . . d2 d1 d0 )2 d31 231 216 (d30 d29 . . . d17 d16 )2 d31 215 + (0, d15 d14 . . . d1 d0 )2
| {z } | {z }
parte inteira 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 [2p1 , 2p1 2q ] em intervalos igualmente
espaados de 2q . Em mdulo, o menor nmero representvel tambm possui esse valor. Se em
alguma operao o resultado for um nmero menor em mdulo que 2q dizemos que ocorreu um
erro de underow, em particular a regio compreendida pelo intervalo (2q , 2q ) denominada
regio de underow. Da mesma maneira, se o resultado de alguma operao for maior que 2p1
2q ou menor do que 2p1 , dizemos que ocorreu um erro de overow e a regio (, 2p1 )
(2p1 2q , +) 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 1.2.1 (ponto utuante). A representao x de um nmero real denominada ponto u-


tuante normalizado na base b, b N, se forem satisfeitas as propriedades

1. x = m be , onde

2. m = 0, d1 d2 . . . dn n N,

3. 1 d1 b 1 e 0 di b 1 para i = 2, 3, . . . n,

4. e1 e2 , onde , e1 , e2 Z.

14
1.2 Aritmtica de mquina

m denominada signicando14 , expoente e n o nmero de dgitos de preciso.

Exemplo 2: O nmero 9999,1234 em representao de ponto utuante em base 10 com 8 d-


gitos de preciso 0,99991234 104 . Utilizando essa mesma prescrio, o nmero 0,0012113
representado como 0,12113131 102 .

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 be . O sistema de ponto utuante F (b, n, e1 , e2 )
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 e1 e e2 inclusive.

Propriedades do conjunto F (b, n, e1 , e2 )

Ao contrrio do que ocorre com os nmeros representados por um esquema de ponto xo, os
elementos sucessivos do conjunto F (b, n, e1 , e2 ) 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 1010 , o numeral
seguinte 0,11 1010 e assim por diante at o numeral 0,99 1010 . O espaamento entre eles15
de 0,01 1010 . Aps o numeral 0,99 1010 , vm os numerais 0,1 109 , 0,11 109 , . . . , 0,99
109 . Agora o espaamento j 0,01 109 e assim por diante at os maiores numerais 0,10
1010 , . . . , 0,991010 cujo espaamento 0,011010 . Portanto os elementos esto mais densamente
acumulados em torno do zero.
A cardinalidade de um sistema de ponto utuante F (b, n, e1 , e2 ) dada por |F (b, n, e1 , e2 )|:

|F (b, n, e1 , e2 )| = 1 + 2(b 1)bn1 (e2 e1 + 1). (1.5)

A cardinalidade do conjunto calculada a partir de todas as combinaes possveis para a repre-


sentao de um numeral como elemento de F (b, n, e1 , e2 ), 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 d1 pode assumir. O fator bn1 deve-se combinao dos b possveis valores
que os dgitos d2 , . . ., dn podem assumir. E nalmente, o fator (e2 e1 + 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
14
Tambm conhecido como coeciente, ou ainda, mantissa.
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.

15
1 Representao de nmeros em mquinas

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, d1 d2 . . .)b be que pretendemos arredondar para
o ponto utuante com k dgitos de preciso x = (0, d1 d1 . . . dk )b be . O arredondamento
pode ser entendido como uma regra que atribui um valor para d1 , d2 , . . . , dk a partir dos
valores de dk , dk1 , dk2 , . . .
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


descartados. O algoritmo possui esse nome pois o seu efeito aproximar os nmeros do
zero.

Regra:
x = (0, d1 d2 . . . dk )b be .

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 dk arredondado para o alga-


rismo seguinte se os dgitos sobressalentes forem no nulos. O algoritmo possui esse nome
pois o seu efeito afastar os nmeros do zero.

Regra:


(0, d1 d2 . . . dk )b be , se dk1 = dk2 = . . . = 0



x=

((0, d1 d2 . . . dk )b be + (0, 00 . . . 1)b be ) , se existir um j < k


tal que dj = 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 dk 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 +).

16
1.2 Aritmtica de mquina

Regra:


(0, d1 d2 . . . dk )b be , se dk1 = dk2 = . . . = 0







((0, d d . . . d ) be + (0, 00 . . . 1) be ) ,
1 2 k b b se x > 0 e existir um j < k
x=

tal que dj = 0







(0, d d . . . d ) be ,
1 2 k b 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 po-


sitivo e os dgitos sobressalentes forem no nulos. Se o numeral for negativo e os dgitos
sobressalentes forem no nulos, o dgito dk 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 ).

Regra:


(0, d1 d2 . . . dk )b be , se dk1 = dk2 = . . . = 0







((0, d d . . . d ) be + (0, 00 . . . 1) be ) ,
1 2 k b b se x < 0 e existir um j < k
x=

tal que dj = 0







(0, d d . . . d ) be ,
1 2 k b 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 dk arredondado para o algarismo seguinte se os


dgitos sobressalentes na forma (0, dk1 dk2 . . .)b representarem um nmero maior do
1 1
que . Se representarem um nmero menor do que o dgito dk mantido. Se dk1 for
2 2
b
exatamente igual a e todos os seguintes forem nulos ou seja, se (0, dk1 dk2 . . .)b
2
1
representar dk ser arredondado para o dgito seguinte se este for mpar e mantido
2
caso contrrio.

17
1 Representao de nmeros em mquinas

Regra:


((0, d1 d2 . . . dk )b be + (0, 00 . . . 1)b be ) , se 0, dk1 dk2 . . . > 0, 5









(0, d1 d2 . . . dk )b be , se 0, dk1 dk2 . . . < 0, 5





x= ((0, d1 d2 . . . dk )b be + (0, 00 . . . 1)b be ) , se 0, dk1 dk2 . . . = 0, 5



e dk for mpar









(0, d1 d2 . . . dk )b be , se 0, dk1 dk2 . . . = 0, 5



e dk 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 fos-
sem 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).

Exemplo 3: Sejam x = 0, 1103 e y = z = 0, 11010 , elementos do conjunto F (10, 3, 10, 10).


Ento

x (y z) = 0,1 103 (0,1 1010 0,1 1010 )


= 0,1 103 0,0 100
= 0,1 103 ,

18
1.2 Aritmtica de mquina

por outro lado

(x y) z = (0,1 103 0,1 1010 ) 0,1 1010


= 0,1 1010 0,1 1010
= 0,0 100 .

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 prin-
cipalmente na operao de subtrao de dois pontos utuantes muito prximos.

Exemplo 4: Vamos considerar a operao em ponto utuante associada subtrao dos n-


meros racionais 0,9876543210423456789 e 0,9876543209. Se os registros forem de 10 dgi-
tos, a representao dos dois nmeros ser respectivamente

0,9876543210 e 0,9876543209.

A diferena exata entre os dois nmeros de

0,1423456789 109

enquanto que o resultado da operao de diferena em ponto utuante

0,100000000 109 .

O erro relativo aproximadamente 0,3.

Um outro exemplo clssico o das razes de uma equao polinomial de segundo grau.

Exemplo 5: Seja a equao de segundo grau

x2 + 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 4002 + 4 0,00004617 400 + 4002 + 4 0,00004617
e .
2 2

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,

19
1 Representao de nmeros em mquinas

onde b = 0, 4000000000 103 e c = 0.4617000000 104 . Substituindo os valores e


realizando as operaes, obtemos

(b sqrt ((b b) (4,000000000 c))) 2,000000000

(
= 0,4000000000 103
( ))
sqrt 0,1600000000 106 0,1846800000 103 0,2000000000 101

( ( ))
= 0,4000000000 103 sqrt 0,1600000002 106 0,2000000000 101

( )
= 0,4000000000 103 0,4000000002 103 0,2000000000 101

= 0,4000000001 103 ,

Realizando as operaes para a outra raiz, obtemos o valor 0,1000000000 106 . 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 . . . 106 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

subtrao presente na soma dos termos b e b2 4c. Neste exemplo, em valores absolu-

tos, b muito maior que c, portanto a representao em ponto utuante do termo b2 4c
partilha muitos dgitos em comum com a representao de b.
Evitamos o cancelamento catastrco em ponto utuante realizando o cancelamento na
prpria expresso, antes de realizarmos as operaes em ponto utuante16 :

b + b2 4c =


4c
= b + |b| 1
b2
( )
2c
= b + |b| 1 2 + . . .
b
( )
2c
b + |b| 1 2
b

16
Na passagem da segunda para a terceira linha, foi realizada um expanso em srie de potncias para o termo 1x
4c
em torno de x = 0. Ou seja, levamos em considerao que o termo 2 pequeno.
b

20
1.2 Aritmtica de mquina

Como b > 0, a segunda raiz pode ser calculada a partir da aproximao17



b + b2 4c c
.
2 b

Substituindo os valores das constantes b, c e realizando as operaes em ponto utuante,


obtemos a aproximao 0,1154250000 106 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 opera-
es em ponto utuante. A maioria dos processadores atuais possuem unidades especializadas,
denominadas FPUs (Unidades de Ponto Flutuante)18 que suportam o padro IEEE754 ou pelo
menos suportam um subconjunto obrigatrio das denies19 .
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, e2 , e1 )) e os N aN (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-
grama a abaixo,

s e07 ... e00 m22 ... m00

o bit s responsvel pelo sinal, os bits e07 e06 . . .e00 representam o expoente e nalmente os bits
m22 m21 . . .m00 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
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
computador).

21
1 Representao de nmeros em mquinas

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. N aN : bits do expoente todos iguais a 1 e os demais bits contm informao de diagnstico.

Exemplo 6: Vamos encontrar o registro equivalente ao numeral 1345,875. O primeiro passo


representar o nmero na base binria:

1345,875 = 10101000001,1112 .

Em seguida vamos reescrev-lo como um ponto utuante normalizado: 1,0101000001111


210 . Ignoramos o 1 antes da vrgula e adicionamos tantos 0 direita quantos forem necess-
rios 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 = 100010012 . O bit de sinal igual a 0 pois o nmero positivo. O registro
de 32 bits completo dado por

01000100101010000011110000000000.

1.3 Erros
O principal propsito da computao cientca a construo de mtodos que permitam obter
aproximaes 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 pro-
priedades). 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
computacional como erros nos dados de entrada, erros de arredondamento e erros de trunca-
mento.

22
1.3 Erros

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 diver-
sas 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,
1
por exemplo x = e x = 3, 14159, ou ainda x = e x = 0, 333. Ento denimos erro absoluto
3
e erro relativo como:
Denio 1.3.1 (Erro absoluto e erro relativo). O erro absoluto na representao x denido por
|x x|
|x x|. O erro relativo denido como .
|x|
Em uma mquina, denominamos preciso o nmero de dgitos no signicando. Por outro lado,
como o prprio nome diz, a exatido ou acurcia 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.
Proposio 1.3.2 (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
( ) ( )
x x x x
logb 1 < k < logb
x +1

x

Atravs dessas denies podemos apreciar a diferena entre os conceitos de preciso e exatido
de uma representao x.
Demonstrao: Seja x um nmero20 representado pelo numeral 0,d1 d2 . . .be e sua apro-
ximao x, representada por um ponto utuante normalizado com n dgitos de preciso dos
quais apenas os k iniciais so iguais aos de x: 0,d1 d2 . . . dk dk1 . . . dn be , ou seja,
necessariamente dk1 = dk1 .
Podemos vericar que x e x podem ser tambm representados por

x = 0,d1 d2 . . . dk be + 0,dk1 dk2 . . . bek


20
Sem perda de generalidade, consideramos x e x positivos.

23
1 Representao de nmeros em mquinas

e
x = 0,d1 d2 . . . dk be + 0,dk1 dk2 . . . dn bek .

O menor valor absoluto para a diferena21 entre eles dado pela situao em que dk1 e
dk1 diferem de uma unidade, todos os demais dgitos at o n-simo so iguais e dj = 0
para j > n. Portanto
|x x| 0,1b bek = bek1 .

Por outro lado, o maior valor absoluto para dado pela situao limite na qual todos os
dgitos dk1 ,dk2 , . . . dn = 0 e todos os dgitos dk1 , dk2 , . . . = b 1. Portanto

|x x| < 0,(b 1)(b 1) . . .b bek

( )
= (b 1)b1 + (b 1)b2 + . . . bek

( )
1 1 1
= 1 + 2 + . . . bek = bek .
b b b

Essas estimativa nos permite estabelecer limites inferiores e superiores para o erro relativo:

bek1 |x x| bek
< .
|0, d1 d2 . . . be | |x| |0, d1 d2 . . . be |

Levando em conta que |0, d1 d2 . . . be | 0,1b be = be1 e que |0,d1 d2 . . . be | <


0,(b 1)(b 1) . . .b be = be , temos nalmente que

x x
bk1
< < bk+1 .
x

Como todas as quantias na expresso acima so positivas e a funo logaritmo montona


:
x x

k 1 < logb < k + 1
x

Exemplo 7: Seja x = e x = 3,141675 = 0,3141675 101 . Nesse caso a preciso da


representao x de 7 dgitos, no entanto x possui apenas 4 dgitos exatos. Se conhecssemos
|x x|
apenas o erro relativo 0,0000262117, de acordo com a proposio, teramos que
x
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
21
Aqui a operao de diferena a usual para os nmeros reais.

24
1.3 Erros

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 sou-
bermos que a derivada de f limitada no intervalo (x, x), supy(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


.
intervalo (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 xi de um funo f que dependa de n variveis, ento
o erro propagado na funo f resultado dos erros nas n variveis dado por f (x1 , x2 , . . . , xn ):
n


f
f (x1 , x2 , . . . , xn )
xi (x1 , x2 , . . . , xn ) xi .
i=1

1.3.4 Instabilidade numrica


Alguns problemas matemticos e algoritmos numricos possuem a propriedade de ampliar dras-
ticamente os erros presentes nos dados de entrada e assim invalidar a sada ou resposta. No con-
texto 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 pre-
tendemos reescrever 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 en-
trada resultam em grandes variaes na resposta. O seguinte exemplo ilustrativo.

Exemplo 8: Seja o polinmio22 P (x) = (x1)(x2) . . . (x20) = x10 210 x9 +. . .+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) + 223 x19 .

Ou seja, P igual P a menos de um erro relativo de 5, 7 1010 no coeciente do termo x9 .


22
Esse polinmio conhecido como um dos polinmios de Wilkinson. Foi introduzido em 1963 por James H. Wil-
kinson 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).

25
1 Representao de nmeros em mquinas

As razes do polinmio P so (com cinco dgitos)

x1 = 1,0000 . . . x6 = 5,9999 . . . x10 = 10,8929 . . . + 1,1493 . . . i x11 = x10


x2 = 2,0000 . . . x7 = 7,0003 . . . x12 = 12,8217 . . . + 2,1234 . . . i x13 = x12
x3 = 3,0000 . . . x8 = 7,9930 . . . x14 = 15,3059 . . . + 2,7753 . . . i x15 = x14
x4 = 4,0000 . . . x9 = 9,1472 . . . x16 = 18,1813 . . . + 2,5489 . . . i x17 = x16
x5 = 5,0000 . . . x20 = 9,5020 . . . x18 = 20,4767 . . . + 1,0390 . . . i x19 = x18

Um erro relativo de 5,7 1010 no coeciente x19 foi capaz de alterar drasticamente parte das
razes. Como entender esse fenmeno?

Vamos avaliar quanto varia cada raiz xj (j = 1, 2, . . . , 20) quando alteramos o coeciente
210 do termo x19 . Para tanto vamos considerar o novo polinmio P(, x) = P (x) x19 .
Esse novo polinmio possui vinte razes xj (), j = 1, 2, . . . , 20, cada uma delas depende de
dxj
. A derivada contm informao sobre quanto a i-sima raz de P(, x) varia com
d =0
relao a quando = 0. Como P(0, x) P (x), essas derivadas possuem a informao
que buscamos sobre as razes de P .

dxj
Para calcular no ser necessrio encontrar explicitamente a dependncia das
d =0
razes em , basta lembrar que por denio P(, xj ()) = 0 (xj () raiz do polinmio
P(, x)) e portanto de acordo com a regra da cadeia

d P P dxj
(P(, xj ())) = (, xj ()) + (, xj ()) =0
d x d

e assim,
P
dxj (, xj ())
= P .
d (, xj ())
x
P
O numerador da expresso acima simplesmente (, xj ()) = x19 . Para calcular
P
x (, xj ()), basta notar que P(, x) = (x 1)(x 2) . . . (x 20) x , portanto
19
P 18
x (, x) =(x2) . . . (x20)+(x1)(x3) . . . (x20)+. . .+(x1) . . . (x19)19x ,
ou seja
P 20
20
(, x) = 19x18 + (x l).
x
k=1 l=1,l=k

Assim,
dxj x19
j ()
= 20 20 .
d 19x18 + k=1 l=1,l=k (xj () l)

Quando = 0, P(0, x) = P (x) ento xj (0) = j para j = 1, 2, . . . , 20. Ou seja,



dxj j 19 j 19
= = .
d =0 20
k=1
20
l=1,l=k (j l)
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?).

26
1.3 Erros

Por economia de notao, vamos denominar a derivada da j -sima raiz em = 0 por j :



dxj j 19
= . (1.6)
d =0
j 20
l=1,l=j (j l)

Para determinar o valor de j basta utilizar a expresso (1.6):

1 8,2 1018 6 5,8 101 11 4,6 107 16 2,4 109


2 8,2 1011 7 2,5 103 12 2,0 108 17 1,9 109
3 1,6 106 8 6,0 104 13 6,1 108 18 1,0 109
4 2,1 103 9 8,4 105 14 1,3 109 19 3,1 108
5 6,1 101 10 7,6 106 15 2,1 109 20 4,3 107

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 condiciona-
mento deste problema.

O prximo exemplo contempla a instabilidade numrica devido ao algoritmo.

. 1
Exemplo 9: Seja o seguinte algoritmo para calcular a integral In = 0 dx xn ex1 , onde
n = 1, 2, . . . Podemos integrar por partes In :

1
xn ex1 x=0
x=1
In = n dx xn1 ex1
0

= 1 n In1 . (1.7)

Como In = 1 nIn1 , se conhecermos I1 , poderemos encontrar I2 , I3 e assim por diante.


Antes de dar prosseguimento vamos examinar um pouco mais a integral In . No intervalo de
integrao [0, 1], o integrando sempre positivo, alm disso, o termo ex1 sempre menor
ou igual a 1, isto implica a desigualdade
1
1
0 < In dx xn = . (1.8)
0 n+1

Portanto, devemos esperar que os termos In decresam com n e sejam sempre positivos. O
primeiro termo I1 pode ser calculado explicitamente utilizando integrao por partes,
1 1
I1 = dx x ex1 = 1 dx ex1 = e1 .
0 0

Iremos representar I1 aproximadamente por I1 com cinco casas aps a vrgula:

I1 = 0,367879.

Nesse caso = |I1 I1 | 5,6 107 . Se calcularmos os demais termos a partir da iterao

27
1 Representao de nmeros em mquinas

(1.7) encontraremos

I1 = 0,367879 I6 = 0,127120
I2 = 0,264242 I7 = 0,110160
I3 = 0,207274 I8 = 0,118720 (?)
I4 = 0,170904 I9 = 0,0684800 (??)
I5 = 0,145480 I10 = 1,68480 (???)

O que ocorreu aqui? Ao contrrio do observado nas ltimas igualdades acima, a estimativa
(1.8) prev o decrescimento de In com n e In > 0. Vamos analisar a iterao levando em
conta a aproximao inicial. Partimos portanto de I1 = I1 + , ento segundo a iterao
(1.7)
I2 = 1 2(I1 ) = 1 2(I1 + ) = I2 2

e ento
I3 = 1 3(I2 ) = 1 3(I2 2) = I3 + 3 2 .

Por induo temos ento que


In = In + (1)n+1 n!.

Ou seja, o erro cresce com o fatorial de n. Dessa forma

I9 I9 + 9! 5,6 107 I9 + 0, 2

e
I10 I10 10! 5,6 107 I10 2.

Felizmente uma pequena alterao do algoritmo permite resolver a questo da instabili-


dade. Basta reescrever a iterao (1.7) como

1
In1 = (1 In ) (1.9)
n

isolando In1 . 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 In decresce com n e
1
satisfaz a desigualdade In < . Portanto podemos utilizar um nmero n sucientemente
n+1
1
alto e considerar a aproximao In = 0 ou In = .
n+1

28
1.4 Exerccios

1.4 Exerccios
1) Represente em base decimal os seguintes numerais:
a) 1011101,1012
b) 7,78
c) AB,F E16

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?
1 1
3) Dado o nmero 7+ + , determine duas bases (menores ou iguais a 9) nas quais o nmero
4 16
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 x2 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,50390625101 e 5,8203126101 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 x para x = 0,490000 104 em um sistema de
2
ponto utuante com 6 dgitos(de preciso
) (sero 3 operaes). Agora leve em considerao que

para x pequeno e positivo cos x x e recalcule o valor da expresso. Se assumirmos que a
2
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

1 1
f0 = .
2 LC

29
1 Representao de nmeros em mquinas

Determine uma expresso para estimativa de erro no clculo de f0 se C = 10F 10% e L =


2, 5 101 H 5%.

12) Como devemos reescrever a expresso seguinte



2+x x2 + 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 106 ; 1,000000
107 ; 1,000000 108 }.

13) Dados dois pontos utuantes x e y , determine em quais situaes devemos reescrever a
expresso
x2
e 2 ex2 + 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 106 .

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
1 1
0,10010002 263 , ou seja, representa ( + )8 = 4,5. Qual seria o registro que representa
2 16
o nmero 6,125?

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

18) Utilize a frmula para a propagao de erros e obtenha uma estimativa para o comporta-
.
mento do erro relativo cometido na funo f (x, y) = y 1 + x2 em termos dos erros relativos
cometidos em x e y .

19) Reescreva as expresses



e2x + 1 ex e e2x + x2 ex

de modo que seja possvel obter os seus valores para x = 100 utilizando a aritmtica de ponto
utuante da mquina (doubles no Scilab).

20) Determine a representao do nmero 20,25 em um ponto utuante normalizado em base


3 com 8 dgitos.

30
1.4 Exerccios

21) Considere uma mquina cujo registro de ponto utuante dispe de espao para a represen-
tao de 10 dgitos em base 3 para o signicando. Determine uma aproximao com trs dgitos
para o erro relativo cometido na representao do nmero 0,1 nesse registro.

22) Trabalhe no base F (10, 4, 10, 10) com arredondamento dado pela operao de trunca-
mento e a partir da expresso

ln (1 + x) x (1 (0,5 (x (1 (0,6666 x)))))

determine uma aproximao para ln (0,8). Quanto vale o erro relativo (em mdulo)?
1
23) Um setor de de disco de ngulo e raio r possui rea A(r, ) = r2 . Determine o erro
2

relativo na medida da rea de um setor de raio 2 e ngulo se o erro relativo na medida do raio
4
0,01 e no ngulo 0,01.

24) Reescreva a funo:


( ) ( )
f (x) = ln 1016 + x ln 1016 x ,

de modo que no ocorram grandes perdas de exatido quando x for um nmero pequeno. De-
termine uma aproximao para x = 13 no sistema F (10, 5, 20, 20) a partir da nova expresso
para f . (Sugesto: coloque o termo dominante em evidncia e utilize o fato de que x pequeno e
x2 x3
portanto ln (1 + x) x + ).
2 3
25) 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
1 1
0,10010002 263 , ou seja, representa ( + )8 = 4,5. Qual seria o registro que representa
2 16
o nmero 6,125?

26) Considere um registro de ponto utuante que dispe de 12 bits para o signifcando. Qual
( ) 5
o erro relativo associado representao do nmero 110,101 2 = 6 + nesse registro? (Obs.1:
7
lembre que no h necessidade de guardar o 1 dgito no registro. Obs2.: leve em considerao o
arredondamento par.)

31
2 Sistemas de equaes lineares

Os sistemas de equaes lineares fazem parte da descrio matemtica dos mais diversos fen-
menos em todas as reas das cincias naturais e tambm so pea fundamental de diversos algo-
ritmos utilizados em computao. Por exemplo, mais adiante na disciplina, veremos que atravs
da discretizao 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 105 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 x1 , x2 , . . . , xn :


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


a2,1 x1 + a2,2 x2 + . . . + a2,n xn = b2
.. (2.1)

.



an,1 x1 + an,2 x2 + . . . + an,n xn = bn

onde os coecientes aij e as constantes bi 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 xi nas equaes como a i-sima
componente de um ponto no Rn . Dessa forma, uma vez escolhida uma varivel xj , cada equao
do sistema relaciona xj s demais variveis. Ou seja, cada equao representa um subespao de
dimenso n 1 contido no Rn . 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 R2 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

a1,1 a1,2 . . . a1,n x1 b1

a2,1 a2,2 . . . a2,n x2 b2
A=
.. .. .. .. ,
x=
..
e b=
.. .

. . . . . .
an,1 an,2 . . . an,n xn bn

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

a1,1 a1,2 . . . a1,n b1

. a2,1 a2,2 . . . a2,n b2
[ A| b] =
.. .. .. .. .. .
(2.3)
. . . . .
an,1 an,2 . . . an,n bn

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 x0 soluo de (2.2),
ele tambm ser soluo de um sistema em que as equaes so as mesmas em uma ordem dife-
rente. Portanto ao trocarmos duas linhas quaisquer da matriz completa (2.3) obtemos uma matriz
equivalente1 . 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
elementares 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 equiva-
lentes. 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 x1

0 1 0 . . . 0 x2

0 x3
0 0 1 [ A| b] . (2.4)
.. .. . . .. ..
. . .
. .
0 0 0 . . . 1 xn

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 x1 , . . . , xn so a soluo do sistema.

Exemplo 10: Seja o sistema de equaes lineares




x1 2x2 + x3 = 0
2x2 8x3 = 8


4x1 + 5x2 + 9x3 = 9

representado pela matriz completa



1 2 1 0

Ac = 0 2 8 8 .
4 5 9 9

comum utilizar a seguinte notao



L1 L1
L1 L3

Ac = L2 3L1 2L2 = L2 L2
L3 L3 L3 L1

para representar operaes elementares nas linhas de uma matriz. De acordo com essa nota-

35
2 Sistemas de equaes lineares

o

L1 1 2 1 0 L1

Ac L2 = 0 2 8 8 = L2
4L1 + L3 0 3 13 9 L3

L1
1 2 1 0 L1
1
L2 = 0 1 4 4 = L2
3
2
L2 + L3 0 0 1 3 L3
2

L1 L2 1 2 0 3

L2 + 4L3 = 0 1 0 16 =
L3 0 0 1 3

L1 + 2L2 1 0 0 29

L2 = 0 1 0 16 . (2.5)
L3 0 0 1 3

Portanto a matriz Ac equivalente a matriz (2.5) que representa o sistema de equaes lineares


x1 = 29
x2 = 16 ,


x3 = 3

ou seja, a soluo do sistema (x1 , x2 , x3 )T = (29, 16, 3)T .

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
decomposio singular (quando A no quadrada). Outras classes de mtodos diretos so cons-
trudos quando a matriz A possui uma estrutura especial, como no caso das matrizes esparsas.
No os estudaremos aqui2 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 elemen-


tares 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:



u1,1 u1,2 u1,3 . . . u1,n

0 u2,2 u2,3 . . . u2,n

0 u3,3 . . . u3,n
U= 0 .
.. .. .. ..
..
. .
. . .
0 0 0 . . . un,n

A matriz completa [ U| c] representa o sistema de equaes




u1,1 x1 + u1,2 x2 + ... + u1,n xn = c1





u2,2 x2 + ... + u2,n xn = c2
..
.



un1,n1 xn1 + un1,n xn = cn1


un,n xn = cn

que pode ser resolvido atravs de substituies recursivas: a partir da ltima linha, temos que

cn
xn = . (2.6)
un,n

Utilizamos o valor de xn obtido em (2.6) para determinar xn1 atravs da equao imediatamente
superior,
1
xn1 = (cn1 un1,n xn ) .
un1,n1
Em seguida, utilizamos os valores de xn e xn1 para determinar xn2 ; e assim, sucessivamente,
teremos para a i-sima incgnita xi :

1
n
xi = ci ui,j xj ,
ui,i
j=i+1

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 opera-
es 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 exem-
plo.

Exemplo 11: 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-

37
2 Sistemas de equaes lineares

raes envolvem pontos utuantes. Vamos supor tambm que, com exceo de uma parti-
cular componente, o resultado de todas as operaes representam exatamente a matriz com-
pleta equivalente na forma (quase) escalonada:

u1,1 u1,2 u1,3 u1,n2 u1,n1 u1,n c1

0 u2,2 u2,3 u2,n2 u2,n1 u2,n c2

0 0 u3,3 u3,n2 u3,n1 u3,n c3



.. [ A| b] . (2.7)
.. .. .. .. ..
. . . . . .




0 0 0 1 1
0 0 0 2 1 3 n(n+1)

Se as operaes fossem realizadas sem erros de arredondamento, ao invs da matriz (2.7)


teramos o escalonamento exato dado por

u1,1 u1,2 u1,3 u1,n2 u1,n1 u1,n c1

0 u2,2 u2,3 u2,n2 u2,n1 u2,n c2

0 0 u3,3 u3,n2 u3,n1 u3,n c3



.. [ A| b] . (2.8)
.. .. .. .. ..
. . . . . .




0 0 0 0 1 1
0 0 0 2 1 3 n(n+1)

e as duas ltimas componentes da soluo exata so dadas por

xn = 1 e xn1 = 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

2
3 1 xn
xn = e xn1 = . (2.9)
2
1

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

2 2
o numerador e denominador de xn , 3 e 1 sero arredondados respectivamente para

0.1999999999 1012 e 0.1999999999 1012 ou 0.2000000000 1012 e 0.2000000000
1012 , dependendo da escolha de arredondamento. Em qualquer um dos casos, para um erro
= 0.1 1010 teremos como solues aproximadas

xn = 0.1000000000 101 e xn1 = 0.

38
2.1 Mtodos diretos

Uma anlise mais atenta dos termos (2.9) nos permite concluir que nesse exemplo no
possvel 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
2
de valor absoluto muito grande . Uma medida simples como a operao elementar de troca

das duas ltimas linhas antes da combinao linear das mesmas resultaria nas aproximaes

3
1 3 xn
xn = 2 e xn1 =
1 2
1
2

que conduzem soluo exata quando o erro for sucientemente pequeno3 .


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 veri-
car 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 em termos adicionados aos coecientes da matriz original. Essa ques-
to tratada por James H. Wilkinson em um artigo clssico de 1961. Em valor absoluto, as per-
turbaes possuem um crescimento que limitado por uma expresso da forma const. n2 n ,
onde n a dimenso da matriz e n denominado fator de crescimento:

(k)
. maxi,j,k ai,j

n = (k) ,
maxi,j,k ai,j

(k)
onde ai,j o valor do coeciente da matriz no k -simo passo da EGPP.
Existem exemplos nos quais n = 2n1 mas em muitos dos sistemas associados aplicaes
prticas o fator de crescimento limitado em n, ou seja, no cresce mais do que uma constante.
Esse o caso das matrizes totalmente no negativas (matrizes cujas submatrizes possuem deter-
minantes 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 Rn . Como comparar esses objetos? Compararemos
os vetores atravs de normas.

Denio 2.1.1 (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 , (positividade).

2. x = || x, (homogeneidade).

3. x + y x + y, (desigualdade triangular).

A seguinte proposio um resultado imediato da denio de norma.


Proposio 2.1.2
Dados dois elementos x,y de um espao vetorial V e uma norma qualquer , denida nesse
espao, a seguinte desigualdade vlida

x y |x y| .

Demonstrao: A demonstrao segue da desigualdade triangular e da propriedade de ho-


mogeneidade.

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

o que implica
x y x y .

Levando em conta a homogeneidade da norma e a desiguladade anterior,

x y = y x y x

o que demonstra o resultado.

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 Rn , b Rm e matrizes A Mmn (conjunto de todas as matrizes de m linhas e n colunas

40
2.1 Mtodos diretos

com componentes reais). Os vetores do Rn , assim como as matrizes Mmn so espaos vetoriais
para quaisquer m e n naturais no nulos. Vamos ento nos concentrar em trs exemplos de normas
para esses espaos.

Exemplo 12 (Normas para o Rn ): Em geral, diferenciamos as normas entre si por algum


smbolo no ndice de . Em particular vamos considerar as normas 1 , 2 e : dado
um vetor x Rn , de componentes xi , denimos as normas
.
1. x1 = ni=1 |xi |, (norma 1),

. n
2. x2 = i=1 |xi | , (norma 2 ou norma euclideana),
2

.
3. x = maxi |xi |, (norma sup ou norma ).

um exerccio simples vericar que essas trs normas satisfazem as propriedades da deni-
o.

Da mesma forma vamos considerar as normas 1 , 2 e para matrizes A Mmn :

Exemplo 13 (Normas para o Mmn ): Dada uma matriz A Mmn , de componentes ai,j ,
denimos as normas
.
1. A1 = max1jn mi=1 |ai,j |, (norma 1),


. m n
2. A2 = i=1 j=1 |ai,j | ,
2 (norma 2 ou norma euclideana),

.
3. A = max1im nj=1 |ai,j |, (norma sup ou norma ).

um exerccio simples vericar que essas trs normas satisfazem as propriedades da deni-
o.

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
qualquer vetor x Rn , qualquer matriz A Mmn e o vetor que resulta da multiplicao ma-
tricial Ax Rm , 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

. Ax
A = maxn = max Ay .
xR x yRn :y =1

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 x0 e x1 so duas aproximaes

41
2 Sistemas de equaes lineares

distintas do sistema no singular (possui apenas uma nica soluo)Ax = b, ento a multiplica-
o matricial de A pelos vetores que representam a aproximao resultam em duas aproximaes
para o vetor das constantes b:

Ax0 = b0 e Ax1 = b1 .

Parece razovel supor que, atravs dos resduos b b0 e b b1 , os vetores b0 e b1 fornecem
uma boa indicao sobre a exatido das aproximaes x0 e x1 . O exemplo a seguir mostra que
isso no necessariamente verdade.
Exemplo 14: Seja o sistema de equaes lineares representado pela seguinte matriz completa
( )
0.780 0.563 0.217
0.913 0.659 0.254

( )T ( )T
e duas aproximaes x = 0.999 1.001 =
0.341 0.087
e x .
A matriz formada pelas duas primeiras colunas da matriz completa no singular, por-
( )T
tanto 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
( ) ( )
0.1343 103 r = 0.1 106
r = e .
0.1572 103 0


Note que qualquer que seja a norma utilizada, r > r :


r1 = 0.2915 103 > r = 0.1 106 ,
1
3
r2 = 0.2067 . . . 10 > r = 0.1 106 ,
2
3
r = 0.1572 10 > r = 0.1 106 .

Isto poderia nos levar a crer que a aproximao a mais exata, no entanto podemos cons-
x


tatar facilmente que x x < x x qualquer que seja a norma.

Esse comportamento est relacionado ao fato da matriz A ser prxima de uma matriz singular.
Matrizes com tal caracterstica so denominadas matrizes mal-condicionadas. O condiciona-
mento de uma matriz contm informao sobre a degradao da soluo de um sistema Ax = b
quando o vetor b perturbado pela adio de um termo b. De maneira mais precisa, dado que
x soluo do sistema, o condicionamento de A uma constante multiplicativa que estabelece
x
um limite superior para o erro relativo na soluo , onde x + x soluo do sistema
x

A (x + x) = b + b. (2.10)

O primeiro termo resultante da multipicao no lado esquerdo de (2.10) cancelado pelo primeiro

42
2.1 Mtodos diretos

termo do lado direito de (2.10). Multiplicando a equao restante pela inversa de A teremos

x = A1 b.

Agora, a escolha de normas vetoriais e matriciais compatveis aplicadas equao anterior leva
desiguladade

x = A1 b

A1 b ,

A partir da desigualdade anterior implica a seguinte expresso para o erro relativo na soluo

x 1
A1 b . (2.11)
x x

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 A
. (2.12)
x b
Utilizando a desigualdade (2.12) no ltimo termo do lado direito de (2.11) conclumos que

x b
A1 A . (2.13)
x b

A partir da desigualdade (2.13) denimos o condicionamento de uma matriz inversvel (ou seja,
.
no singular) A como o valor numrico (A) = A1 A . No difcil vericar que o

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

x = AA1 x A A1 x A A1 x

o que implica (A) 1.

Ento se o erro relativo no valor da norma de b for de ordem 10pb , podemos esperar um
erro relativo na norma da soluo, limitado superiormente por 10ps e relacionado pb atravs
da desigualdade
ps pb log10 (A)

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

Ainda assim, devemos lembrar que a desigualdade (2.13) fornece apenas uma estimativa su-
perior 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 so-
luo.

43
2 Sistemas de equaes lineares

O desenvolvimento descrito anteriormente leva em considerao que a matriz A exata. No


entanto, os mesmos motivos que nos obrigam a considerar um vetor perturbado b + b por
exemplo, erros experimentais e erros de arredondamento decorrentes da representao em ponto
utuante tambm esto presentes na representao das componentes da matriz A. Por esse
motivo, a anlise do sistema perturbado

(A + A) (x + x) = b + b (2.14)

tambm necessria.
O desenvolvimento da equao (2.14) levar a uma desigualdade semelhante (2.13). Nela
possvel notar a presena do condicionamento, assim como a importncia da perturbao A.
Mas esse resultado depende do seguinte lema.

Lema 2.1.3
Seja N uma matriz quadrada com N < 1. Ento (I + N ) inversvel e

1
(I + N )1 . (2.15)
1 N

Demonstrao: Dado qualquer x = 0 de dimenses compatveis as de A temos que

(I + N )x = x (N x) x N x (1 N ) x ,

ou seja, se N < 1 ento (I + N )x 0 para qualquer x = 0, consequentemente (I +


N )x = 0 possui apenas soluo trivial e (I + N ) inversvel.
Como (I + N ) inversvel podemos considerar

x = (1 + N )(1 + N )1 x


= (1 + N )1 x (N )(1 + N )1 x


(1 + N )1 x N (1 + N )1 x


(1 N ) (1 + N )1 x

que implica a desigualdade (2.15).

A partir desse lema, segue o seguinte resultado para o sistema (2.14).

Teorema 2.1.4
Sejam A e A matrizes n n, A no singular, b = 0 e b vetores do Rn (representados por
matrizes n 1). Sejam tambm x e x, vetores do Rn que satisfazem as equaes

Ax = b

44
2.1 Mtodos diretos

e
(A + A) (x + x) = b + b.

Se para um norma matricial compatvel norma vetorial utilizada para os vetores, for vlida a
desigualdade
1
A A < 1

ento ( )
x 1 b
1


(A) + A A .
x 1 A1 A b
Se alm disso, tambm for vlida a desiguladade

A
(A) <1
A

ento ( )
x (A) b A
+ .
x A b A
1 (A)
A
Demonstrao: Inicialmente abrimos os produtos cancelamos os termos relativos ao sistema
original (sem as perturbaes ) e isolamos o termo associado a x.

(A + A) (x + x) = b + b

Ax + Ax + Ax = b

( )
A I + A1 A x = b Ax

( )1 ( )1 1
x = I + A1 A A1 b I + A1 A A Ax.

Em norma, seguem as desiguladades

( )1 ( )1

x I + A1 A A1 b + I + A1 A A1 A x

1 ( 1 )
A b + A1 A x
1
1 A A
( )
1 1 b 1
= A
b + A A x
1 A1 A b
( )
1 1 b 1
A A x + A A x ,
1 A1 A b

onde a passagem da primeira para segunda linha resultado do lema anterior, e da terceira
para a quarta resultado da desiguladade b A x. Em termos do condicionamento,

45
2 Sistemas de equaes lineares

chegamos desigualdade
( )
x 1 b
1


(A) + A A .
x 1 A1 A b

Por outro lado, como

1 1
A A A A = A1 A A = (A) A ,
A A

A
se (A) < 1, ento
A
( )
x (A) b A
+ .
x A b A
1 (A)
A

As desigualdades do teorema anterior contm o resultado (2.13).


Essas estimativas permitem avaliar o impacto das alteraes nos dados de entrada na soluo
do problema. No entanto, todas esto relacionadas ao condicionamento da matriz de coecientes
cuja avaliao envolve o conhecimento da inversa da matriz. Uma alternativa a estimativa pro-
posta por Prager e Oettli4 que pode ser colocada da seguinte forma. Seja x a soluo aproximada
de um sistema Ax = b, que no entanto a soluo de um outro sistema Ax = b. O teorema de-
senvolvido por esses autores permite relacionar as matrizes desses sistemas ao resduo da soluo
aproximada x.

Teorema 2.1.5 (Prager e Oettli, 1964)


Seja x uma soluo aproximada do sistema Ax = b. Ento existem matrizes A, b, A e b que
( )


satisfazem Ax = b e esto sujeitas s desigualdades A A (A )i,j e bi bi (b )i ,
i,j
se e somente se para cada componente i,

|(r (x))i | (A )i,j |xj | + (b )i (2.16)
j

.
onde r (x) = b Ax o resduo.

( )

Demonstrao: Vamos supor que existem matrizes A e b tais que A A (A )i,j ,
i,j

bi bi (b )i e Ax = b. Isto equivale a armar que existem matrizes A e b, A = A+A

4
Referncia:

Oettli,W; Prager,W. Compatibility of approximate solution of linear equations with given error bounds for
coefcients and right-hand sides. Numer. Math. 6 (1964) 405409.

46
2.1 Mtodos diretos


e b = b + b, sujeitas s desigualdades (A)i,j (A )i,j , |(b)i | (b )i . Ento,

|(r (x))i | = |bi (Ax)i |

(( ) )

= bi (b)i A A x
i

= | (b)i + (Ax)i |

|(b)i | + |(Ax)i |


(b )i + (A )i,j |xj | .
j

Vamos agora supor que a desigualdade (2.16) vlida. A partir da expresso para o resduo

(r (x))i = bi Ai,j xj (2.17)
j

(b )i + j (A )i,j |xj |

= bi Ai,j xj
(b )i + j (A )i,j |xj |
j

( |xj | )
= i (b )i + i (A )i,j xj
xj
j

= (b)i + (A)i,j xj , (2.18)
j


|xj | bi k Ai,k xk
onde (b)i = i (b )i , (A)i,j = i (A )i,j , i = e devido
xj (b )i + k (A )i,k |xk |
desigualdade (2.16),|i | 1. Compondo (2.17) e (2.18) temos

(A + A)i,j xj = (b + b)i ,
j

ou seja
Ax = b,

onde ( )

b b = |bi | = |i | (b )i (b )i
i

e ( )

A A = (A) = i |xj | (A ) (A ) .
i,j i,j xj i,j i,j

47
2 Sistemas de equaes lineares

2.2 Renamento iterativo

O renamento iterativo de solues um mtodo intermedirio entre os mtodos diretos e os


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

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.
A soluo numrica do sistema A = r(0) estar sujeita s mesmas condies da equao origi-
nal (2.19), 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) de-
termina a aproximao x(1) para a soluo de (2.19) . Esse procedimento iterado sucessivamente
de modo 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 A1 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 preci-
so em que as demais operaes so realizadas.

48
2.2 Renamento iterativo

Exemplo 15: 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 soluo no sistema de ponto utuante F (10, 5, 20, 20) com arredondamento por trunca-
mento.

De acordo com o algoritmo vamos realizar a seguinte operao elementar:


( ) ( )
L1 L1
=
((0.781 0.913) L1 ) L2 (0.85542 L1 ) L2
( )
0.913 0.659 0.254
= ,
0 2.8 104 2.7 104

( )T
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):
( ) ( ) ( )
0.254 0.913 0.659 0.97421
r (0)
= b Ax (0)
=
0.217 0.781 0.564 0.96428
( ) ( )
0.254 0.25399321
=
0.217 0.21700409
( )
6.79 106
= . (nesse caso no houve necessidade de arredondar)
4.09 106

A primeira correo, (0) soluo do sistema com matriz completa


( )
0.913 0.659 6.79 106
.
0.781 0.564 4.09 106

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
L1
ltima coluna. Teremos ento
(0.85542 L1 ) L2
( )
0.913 0.659 6.79 106
0 2.8 104 9.8983 106
( ) ( )
2.5523 102 0.99973
que implica (0) = e x(1) = .
3.5351 102 0.99963

49
2 Sistemas de equaes lineares

O resduo da nova aproximao dado por


( ) ( ) ( )
0.254 0.913 0.659 0.99973
r(1)
= b Ax (1)
=
0.217 0.781 0.564 0.99963
( )
2.68 106
= .
2.19 106

A nova correo (2) soluo do sistema A(2) = r(1) representado pela matriz completa
( )
0.913 0.659 2.68 106
0.781 0.564 2.19 106
( )
0.913 0.659 2.68 106

0 2.8 104 1.025 107
( ) ( )
2.6716 104 0.99999
que implica (2) = e x(2) = .
3.6607 104 0.99999

O resduo associado nova aproximao ainda no nulo:


( ) ( ) ( )
0.254 0.913 0.659 0.99999
r(2) = b Ax(2) =
0.217 0.781 0.564 0.99999
( )
2.54 106
= .
2.17 106

A nova correo (3) soluo do sistema A(3) = r(2) representado pela matriz completa
( )
0.913 0.659 2.54 106
0.781 0.564 2.17 106
( )
0.913 0.659 2.54 106

0 2.8 104 2.7 109
( ) ( )
9.8955 106 0.99999
que implica (2) = e = x(3)
. Note que x(3) = x(2) ,
9.6428 106 0.99999
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
)
0.99999 1
do sistema dada pelo vetor . Sabemos que a soluo exata . A
0.99999 1
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 arredondamento por truncamento, o nmero 1 seria armazenado como 0.99999 100 .

50
2.3 Mtodos iterativos

2.3 Mtodos iterativos


A soluo dos sistemas lineares de n equaes e n incgnitas atravs de mtodos diretos envolve
um nmero da ordem de n3 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.20)
{ }
A partir de uma aproximao inicial x(0) vamos construir a sequncia x(k) kN como soluo
da seguinte modicao do sistema (2.20): no lado direito da equao, utilizamos uma aproxi-
mao conhecida para x e assumimos que a soluo do sistema resultante fornece a aproximao
seguinte. Ou seja,
Bx(k+1) = b + Cx(k) , (2.21)

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.21) possua soluo numrica simples.
Vamos denominar (k) = xx(k) , como o erro da k -sima aproximao com relao soluo
exata. Ento, a partir de (2.21), temos que

x(k+1) = B1 b + B1 Cx(k)

= B1 (Ax) +B1 Cx(k)

= B1 (Bx Cx) + B1 Cx(k)

( )
= x B1 C x x(k)

51
2 Sistemas de equaes lineares

e a partir dessa ltima igualdade temos


( )
x x(k+1) = B1 C x x(k) = (k+1) = M(k) , (2.22)

onde M = B1 C.
Uma condio necessria e suciente para que limk (k) = 0 Rn para qualquer (0)
Rn que M seja tal que limk Mk = 0 Mnn . Pois, de acordo com (2.22), dada uma
aproximao inicial com erro (0) , aps k iteraes, o erro da (k + 1)-sima aproximao ser

(k) = M(k1) = MM(k2) = . . . = Mk (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 B1 C deve ser convergente.


O seguinte teorema permite caracterizar uma matriz como convergente ou no, a a partir dos seus
autovalores.
Teorema 2.3.1 (matrizes convergentes)
Seja M Mnn uma matriz quadrada. M convergente, ou seja, limk Mk = 0 Mnn ,
se e somente se o valor absoluto de todos os seus autovalores for estritamente menor do que a
unidade.

O seguinte corolrio muito til tambm:


Corolrio 2.3.2 (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
B1 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 = ai,j , o mtodo de
Jacobi consiste na iterao
( )
x(k+1) = B1 b + Cx(k) , k = 0, 1, . . . ,

52
2.3 Mtodos iterativos

onde x(0) uma aproximao inicial e B a matriz diagonal formada pelos elementos da diagonal
de A, portanto (B)i,j = i,j ai,j e C = B A. Em termos das componentes das aproximaes da
soluo, o mtodo assume a forma da iterao

1
n
(k)
xi
(k+1)
= bi ai,j xj (2.23)
ai,i
j=1
j=i

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 B1 C 1 < 1 ou B1 C < 1. Os elementos da matriz dada pelo produto
( ) ai,j
B1 C so B1 C i,j = (1 i,j ) (o termo (1 i,j ) indica que os elementos da diagonal de
ai,i
B1 C so nulos). Ento podemos concluir atravs da norma matricial 1 que se

1 ai,j
B C < 1 = max (2.24)
1 1jn ai,i < 1
i=1
i=j

o mtodo converge. A segunda desigualdade em (2.24) equivale condio de dominncia diago-



nal estrita por colunas da matriz A: se |ai,i | > i=1 |ai,j | para todo i = 1, 2, . . . , n a matriz A
i=j
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.

De maneira semelhante, podemos concluir atravs da norma matricial 1 que se

1 ai,j
B C < 1 = max (2.25)
1in ai,i < 1
j=1
j=i

o mtodo converge. Nesse caso, a desigualdade (2.25) equivale a condio de dominncia dia-

gonal estrita por linhas da matriz A: se |ai,i | > j=1 |ai,j | para todo i = 1, 2, . . . , n a matriz
j=i
A diagonal 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.23), 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

53
2 Sistemas de equaes lineares

para clculo das componentes da (k + 1)-sima aproximao dada por



1
n
a1,j xj ,
(k+1) (k)
x1 = b1
a1,1
j=2

1
i1
n
ai,j xj ,
(k+1) (k+1) (k)
xi = bi ai,j xj i = 2, 3, . . . , n 1,
ai,i
j=1 j=i+1

1
n1
(k+1)
x(k+1)
n = bn an,j xj .
an,n
j=1

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.

2.4 Exemplos comentados


Sistema massa-mola em equilbrio esttico

Desejamos obter a soluo de um sistema formado por trs corpos: m1 , m2 e m3 . Sujeitos ao


de uma fora elstica de acordo com o diagrama.

p
3

K3

K 1,3 m3

K 2,3
m1
m2
K1,2
K1 p
K2 2
p
1

Figura 2.1: Sistema massa-mola. As constantes de mola valem K1 = K2 = K3 = 2N m1 e


K1,2 = K2,3 = K1,3 = 1N m1 . As coordenadas das extremidades xas so dadas
( )T ( )T ( )T
pelos vetores p1 = 0 0 , p2 = 1 0 e p3 = 21 1 em unidades S.I.

Para minimizar a quantidade de termos nas expresses, consideraremos que todas as quantida-
des esto em unidades S.I. e no faremos referncias s mesmas.
Nosso objetivo obter os valores das componentes do vetor posio dos corpos m1 , m2 e m3 .
Simbolizaremos os vetores posio desses corpos, respectivamente por r1 , r2 , r3 R2 . Assim, as
incgnitas do problema so as componentes desses trs vetores :r1,x , r1,y , r2,x , r2,y , r3,x e r3,y .
So seis incgnitas, portanto devem haver seis equaes que as relacione.
As equaes advm da exigncia de que o sistema esteja em equilbrio esttico. Nesse caso, a

54
2.4 Exemplos comentados

resultante das foras sobre cada corpo nula. As nicas foras em jogo so as foras elsticas cuja
forma dada pela lei de Hooke.

F=-K r
ry

rx

Figura 2.2: Lei de Hooke.

A resultante das foras sobre o corpo m1 (equao vetorial)

K1 (r1 p1 ) K1,2 (r1 r2 ) K1,3 (r1 r3 ) = 0 R2 ,


( )T
onde p1 = 0 0 R2 a coordenada da extremidade xa da mola K1 . Como a equao
acima uma equao que envolve vetores, ela deve ser analisada componente a componente.
Componente x:

K1 r1,x + K1 p1,x K1,2 (r1,x r2,x ) K1,3 (r1,x r3,x ) = 0,

que equivale a5

(K1 + K1,2 + K1,3 ) r1,x K1,2 r2,x K1,3 r3,x = K1 p1,x .

Substituindo o valor das constantes de mola e da componente x da extremidade xa,

4r1,x r2,x r3,x = 0. (2.26)

5
A equao vetorial para esse sistema facilmente generalizada para o caso de um sistema com um nmero arbitrrio
de massas conectadas por molas, parte delas com extremidades xas em uma regio do Rn .
Seja N N, um conjunto de ndices para as massas. Cada massa est ligada a pelo menos uma das outras
massas e, naturalmente, no est ligada a ela mesma por uma mola. Assim, a cada i N , existe um conjunto no
vazio de ndices Ii N que guarda os ndices das outras massas ligadas massa i. Do mesmo modo, cada massa
i pode estar ligada por uma mola a uma extremidade xa. Assim, a cada i N , existe um conjunto i N que
guarda o ndice de uma extremidade xa. Vamos supor ainda, que cada massa pode estar sob a ao de uma fora
externa (por exemplo, a gravidade).
A equao para a posio de equilbrio ri Rn da massa i N dada por


Ki,l + Ki,j ri Ki,j rj = Ki,l pl + Fi ,
li jIi jIi li

onde Ki,j = Kj,i a constante de mola que liga a massa i massa j ou extremidade xa j , pl o vetor posio
da extremidade xa l e Fi fora externa sobre a massa i.

55
2 Sistemas de equaes lineares

Componente y :

K1 r1,y + K1 p1,y K1,2 (r1,y r2,y ) K1,3 (r1,y r3,y ) = 0,

que equivale a
(K1 + K1,2 + K1,3 ) r1,y K1,2 r2,y K1,3 r3,y = K1 p1,y .

Substituindo o valor das constantes de mola e da componente x da extremidade xa,

4r1,y r2,y r3,y = 0. (2.27)

Colecionando as equaes (2.26), (2.27) e as demais equaes para as componentes x e y dos


corpos m2 e m3 , obtm-se o seguinte sistema


4r1,x r2,x r3,x =0





4r1,y r2,y r3,y


=0


r + 4r r =2
1,x 2,x 3,x
.

r1,y + 4r2,y r3,y


=0



r1,x r2,x + 4r3,x


=1


r r + 4r =2
1,y 2,y 3,y

A estrutura matricial ca mais claramente evidenciada se renomearmos as variveis na forma

. . . . . .
r1,x = x1 , r1,y = x2 , r2,x = x3 , r2,y = x4 , r3,x = x5 , r3,y = x6 .

Nesse caso, o sistema assume a forma


Ax = b,

onde
4 0 1 0 1 0 0

0 4 0 1 0 1 0

1 1 2
0 4 0 0
A= e b= . (2.28)
0 1 0 4 0 1 0

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

A matriz A depende da ordem com que foram renomeadas as componentes dos vetores posio.
Por exemplo, a escolha alternativa

. . . . . .
r1,x = x1 , r1,y = x4 , r2,x = x2 , r2,y = x5 , r3,x = x3 , r3,y = x6 ,

56
2.4 Exemplos comentados

leva a uma matriz que pode ser rearranjada na forma



4 1 1 0 0 0 0

1 4 1 0 0 0 2

1 1 0 1
4 0 0
A= e b= (2.29)
0 0 0 4 1 1 0

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

que pode ser resolvida como dois sistemas independentes.


Vericamos imediatamente que a matriz A estritamente diagonal dominante (linhas e colu-
nas). Portanto, alm dos mtodos diretos, podemos utilizar tanto o mtodo de Jacobi quanto
Gauss-Seidel com garantia de convergncia.
Dada a sua estrutura, criamos no Scilab a matriz de coecientes e coluna das constantes do
sistema (2.28) com a sequncia de comandos
A=4*eye(6,6);
for i=1:4
A(i,i+2)=-1;
A(i+2,i)=-1;
end;
for i=1:2
A(i,i+4)=-1;
A(i+4,i)=-1;
end;
b=[0 0 2 0 1 2]';
O sistema representado por (2.29) possui uma matriz de coecientes que bloco diagonal. Isto
permite separar o sistema original em dois sistemas independentes. Porm, dada a estrutura de
A nesse ordenamento, a matriz de coecientes desses dois sistemas igual, portanto, para obter
a soluo numrica no Scilab, construiremos a matriz de coecientes e a matriz de constantes a
partir dos comandos
A=-ones(3,3)+5*eye(3,3);
b=[0 2 1;0 0 2]';
A soluo numrica obtida a partir de algum dos seguintes comandos:

A\b

gseidel_solv([A b],1,1d-16,1000)

gseidel_solv([A b],'fro',1d-16,1000)

gseidel_solv([A b],'inf',1d-16,1000)

gausspp([A b])

jacobi_solv([A b],1,1d-16,1000)

jacobi_solv([A b],'fro',1d-16,1000)

57
2 Sistemas de equaes lineares

jacobi_solv([A b],'inf',1d-16,1000)

A soluo dada por


( ) ( ) ( )
0.3 0.7 0.5
r1 = , r2 = e r3 =
0.2 0.2 0.6

Rede de resistores

Considere o circuito eltrico descrito pela gura seguinte

R R R
1,3 3,4 2,3

R R
1,4 2,4
1 2
4
R
1,2

Figura 2.3: Circuito eltrico. A fonte de 1V e as resistncias R2,4 = R3,4 = 1, R2,3 = R1,4 =
5 e R1,2 = R1,3 = 10.

Uma vez estabelecidos os valores das resistncias e da voltagem na fonte, as correntes e ten-
ses em cada terminal so determinados por um sistema de equaes lineares que resultado da
aplicao da Lei de Ohm e da Lei de Kirchoff para correntes.
A notao adotada para tenses e correntes seguinte, Vi simboliza a tenso no n i e Ii,j , a
corrente no sentido do n i para o n j que atravessa um resistor cujas extremidades esto ligadas
a esses ns. Note que, de acordo com a notao, Ii,j = Ij,i .
A partir dessa notao, a Lei de Ohm assume a forma

Vi Vj = RIi,j , (2.30)

onde R a resistncia do resistor.


A Lei de Kirchoff assume a forma

Ii,j = 0, (2.31)
iJ

onde J conjunto formado pelos ndices dos ns ligados ao n j .


De acordo com a estrutura do circuito, convencionalmente V1 = 0 pois o n 1 est ligado ao
V2
terra, V2 determinado pela fonte e I1,2 = . As demais tenses e correntes so incgnitas
R1,2
do problema. No difcil vericar que so sete incgnitas: V3 , V4 , I1,4 , I2,4 , I3,4 , I1,3 e I2,3 . A
partir de (2.30) e (2.31), as sete relaes entre as incgnitas so dadas pelas equaes

58
2.4 Exemplos comentados


V1 V4 = R1,4 I1,4








V2 V4 = R2,4 I2,4





I1,4 + I2,4 + I3,4 = 0
Lei de Kirchoff
V3 V4 = R3,4 I3,4 Lei de Ohm.


para os ns 4 e 3.

I1,3 + I2,3 I3,4 = 0



V1 V3 = R1,3 I1,3









V2 V3 = R2,3 I2,3

A descrio desse sistema na forma matricial

Ax = b

depende de um ordenamento das incgnitas como componentes de x. A escolha

. . .
x1 = V3 , x2 = V4 , x3 = I1,3 , x4 = I1,4 , x5 = I2,3 , x6 = I2,4 , x7 = I3,4 , (2.32)

resulta nas seguintes matrizes



0 1 0 R1,4 0 0 0 0

0 1 0 0 0 R2,4 0 V2

1 1 0 0 0 0 R3,4 0


A = 1 0 R1,3 0 0 0 0 e b= 0 .

1 0 0 0 R2,3 0 0 V2


0 0 0 1 0 1 1 0
0 0 1 0 1 0 1 0

A escolha alternativa

. . .
x1 = I1,4 , x2 = I2,4 , x3 = I2,3 , x4 = I1,3 , x5 = I3,4 , x6 = V3 , x7 = V4 , (2.33)

resulta nas seguintes matrizes



R1,4 0 0 0 0 0 1 0

0 R2,4 0 0 0 0 1 V2

0 0 R2,3 0 0 1 0 V2


A= 0 0 1 1 1 0 0 e b= 0 .

1 1 0 0 1 0 0 0


0 0 0 R1,3 0 1 0 0
0 0 0 0 R3,4 1 1 0

Esta ltima escolha produz uma matriz de coecientes sem elementos nulos na diagonal principal,

59
2 Sistemas de equaes lineares

mas isto no suciente para produzir uma matriz diagonal dominante.


A soluo numrica com seis dgitos para o sistema no ordenamento (2.32) dada por

7.74194D 01

8.06452D 01

7.74194D 02


x 1.61290D 01 .

4.51613D 02


1.93548D 01
3.22581D 02

A partir da soluo sabemos que a tenso no n 3 vale 0.774194V e no n 4 vale 0.806452V .


Alm disso, a corrente que sai da fonte dada por I2,1 + I2,3 + I2,4 = 0.1 + x5 + x6 0.338710A.
Portanto a rede de resistores possui um resistncia equivalente de 2.95238.

60
2.5 Exerccios

2.5 Exerccios

1) Utilize o mtodo de Gauss com pivotamento parcial para encontrar a soluo do seguinte sis-
tema 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 pivotamento 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 A x = b, onde


( )
0, 5 0, 4
A= .
0, 3 0, 25

( )T
Considere que conheamos a aproximao b = 0, 2 1 para o lado direito da equao.
Se os coecientes da aproximao b so exatos at o terceiro dgito aps a vrgula encontre uma
x x1
estimativa para o erro relativo na resposta x, isto , para .
x1
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 aproxi-
mao 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:

10 3 4

0 9 5
A=
1
.
1 10 2

0 1 2 1

Determine o intervalo de valores que e podem assumir de modo que o sistema possa ser
resolvido atravs do mtodo Gauss-Seidel com garantia de convergncia.

61
2 Sistemas de equaes lineares

7) Seja A uma matriz simtrica n n de componentes [A]i,j :




, i=j
[A]i,j = .


r|ij| , i = j

Para quais valores de o sistema


Ax = b

pode ser resolvido via Jacobi com garantias de convergncia?

8) Um determinado problema possui soluo na forma de um sistema de equaes lineares com


n (n 11) variveis xi , i = 1, 2, . . . , n e n equaes

Primeira equao : 8 x1 + 4 x3 + 2 x5 xn2 xn = 1 ( )


i1
Equaes de ndice i = 2, . . . , 5 : xi1 4 xi + xi+1 xni + xn = cos 3
( n1 )
i1
Equaes de ndice i = 6, . . . , n 5 : xi3 2 xi2 + 8 xi 2 xi+2 + xi+3 = cos 3
( 1 )
n
i1
Equaes de ndice i = n 4, . . . , n 1 : x1 x2 + xi1 4xi + xi+1 = cos 3
n1
ltima equao : x1 x3 + 2 xn4 + 4 xn2 + 8 xn = 1
Considere o caso n = 50 e justique se h garantia de convergncia pelo mtodo de Jacobi ou
Gauss-Seidel se a matriz for criada a partir do ordenamento indicado acima. Determine o valor
de (x1 xn )2 /2 com seis dgitos de preciso.

9) Um determinado problema possui soluo na forma de um sistema de equaes lineares com


n variveis xi , i = 1, 2, . . . , n e n equaes

Primeira equao : n x1 + (n 1) x2 + . . . + 2 xn1 + xn = b1


Equaes de ndice i = 2, . . . , n 1 : 2xi1 4 xi + 3xi+1 = bi
ltima equao : x1 + 2 x2 + . . . + (n 1) xn1 + n xn = bn
Considere o caso n = 50 e determine uma estimativa na norma 2 para o erro relativo na soluo
se o erro relativo dos coecientes bi for igual a 109 .

10) O problema de contorno


{
y + x2 y = exp(x), x (0, 2)
y(0) = 0, y(2) = 0

2
quando discretizado nos n pontos xi = (i 1)h, i = 1, 2, . . . n com h = , d origem ao
n1
sistema de n equaes lineares


y1 = 0
( )
yi+1 + h4 (i 1)2 2 yi + yi1 = h2 exp ((i 1)h) , i = 2, 3, . . . , n 1


yn = 0

Se o nmero de pontos n for igual a 2p + 1 para algum inteiro positivo p 13, os termos da

62
2.5 Exerccios

matriz de coecientes sero representados exatamente nos registros de ponto utuante de 64 bits.
A partir do condicionamento da matriz, determine uma aproximao com quatro dgitos para o
erro relativo da soluo em norma 2 considerando que o erro relativo nos termos do lado direito
so da ordem de 1016 e n = 257.

11) Um problema de contorno discretizado em n pontos ao longo do domnio (0, 1) d origem


ao seguinte sistema de n equaes lineares

y1 = 0
( )
yi+1 + h2 + h2 cos (2 (i 1)h) 2 yi + yi1 = h2 exp ((i 1)h) , i = 2, 3, . . . , n 1

yn = 0

1
onde h = . A presena do termo h2 cos (2 (i 1)h) impede que a maioria dos termos
n1
no nulos da matriz dos coecientes do sistema sejam representados exatamente por registros
de ponto utuante. Em situaes semelhantes, a relao entre os erros relativos x, A, b e o
condicionamento (A) (em norma ) no sistema de equaes Ax = b satisfaz a desigualdade
(A)
x (A + b) se (A)A < 1. Trabalhando com a norma 2, determine uma
1 (A)A
estimativa superior com quatro dgitos para o erro relativo x no caso em que n = 150, b = 1016
e o erro relativo nos termos no exatos em A igual a 1016 .
12) Considere o circuito eltrico descrito pelo diagrama abaixo. As resistncias so

dadas por R2,4 = R3,4 = 15, R2,3 = R1,4 = 10 e R1,2 = R1,3 = 30 e V4 = R1,4 I1


a voltagem V = 3V. A notao adotada para tenses e correntes seguinte, Vi
3 V4 = R2,4 I2


simboliza a tenso no n i e Ii,j , a corrente no sentido do n i para o n j que

V3 V4 = R3,4 I3
atravessa um resistor cujas extremidades esto ligadas a esses ns. Note que, de V3 = R1,3 I1


acordo com a notao, Ii,j = Ij,i . De acordo com as leis de Ohm e Kirchoff 3 V3 = R2,3 I2



para circuitos, a corrente I2,1 = V /R1,2 e as demais tenses e correntes satisfazem

I1,4 + I2,4 + I3,4 = 0


as equaes ao lado. Determine o valor absoluto da maior corrente (6 dgitos na I1,3 + I2,3 I3,4 = 0
resposta).
3

R
3,4
R R
1,3 2,3

4
R R
1,4 2,4

R
1 1,2
2

63
3 Equaes no lineares

Vamos estudar mtodos numricos para resolver o seguinte problema. Dada uma funo f con-
tnua, 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.
A partir da denio de multiplicidade para o zero de uma funo, usual denominar os zeros
de multiplicidade 1 como zeros simples.

Denio 3.0.1 (Multiplicidade dos zeros). Seja f uma funo p vezes continuamente diferenci-
vel em alguma vizinhana de x , raiz da equao f (x) = 0. Dizemos que x possui multiplicidade
p se
f (x)

0 = lim
p < .
xx (x x )

Idealmente, poderamos dividir o procedimento nas seguintes etapas: inicialmente devemos


encontrar 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 utili-
zar mais de uma aproximao inicial) para cada intervalo; nalmente, a partir das aproximaes
iniciais, o mtodo numrico consiste na construo de uma sequncia {x(0) }
n=0 que converge
para a soluo , isto ,
lim x(0) = x
n+

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 aproxima-
es x(n1) , x(n2) , . . . , x(0) , obtidas anteriormente, para determinar a prxima aproximao
x(n) .

Condicionamento

O comportamento de f prximo ao zero x e as limitaes impostas pela aritmtica de mquina


do origem aos problemas de condicionamento na determinao de aproximaes para x .

65
3 Equaes no lineares

Vamos supor que f contnua em um aberto (a, b) x e nesse aberto a derivada existe em
todos os pontos. Ento, de acordo com o teorema de Taylor1 , para cada x (a, b) existe um no
aberto limitado por x e x tal que

f (x) = f (x ) + (x x ) f ()..

Como, por denio, f (x ) = 0, ento, dado x (a, b), existe no aberto limitado por x e x
tal que
f (x)
x x = .
f ()
Por hiptese, x um zero simples, portanto existe uma constante positiva L , tal que |f | L no
aberto (a, b), portanto para qualquer x (a, b) a desigualdade

|f (x)|
|x x | (3.2)
L

vlida. Se por outro lado, a funo f calculada numericamente atravs de operaes em ponto
utuante, o resultado uma outra funo, f que podemos relacionar f por um termo aditivo
que contm os erros cometidos nas operaes necessrias para avaliar o valor de f

f(x) = f (x) + (x), (3.3)

onde2 || . Seja o elemento do sistema de ponto utuante, x(n) , uma aproximao para x
com a propriedade ( )
f x(n) = 0.

Ou seja, de acordo com a aritmtica de mquina disponvel, x(n) uma soluo da equao
f (x) = 0. De acordo com (3.2) e (3.3)

(n)
x x ,
L


ou seja, a razo fornece informao sobre a acurcia com que possvel obter a soluo da
L
equao no linear. Se a derivada em torno de um zero simples assume valores muito pequenos,
a tarefa de determinar uma aproximao com boa acurcia pode ser muito prejudicada.
No caso de um zero de multiplicidade p, para um inteiro p > 1, e sob hipteses semelhantes: f
de classe C p1 (a, b) com derivada de ordem p denida em todo (a, b), dado um x (a, b), existe

1
O teorema admite diversas formas para o termo correspondente ao erro em uma srie de Taylor. Uma referncia que
trata desse assunto

Apostol, T. M. Calculus : One-Variable Calculus with an Introduction to Linear Algebra, Vol. 1, Ed. 2,
(1967), sees 7.6 e 7.7, pgina 283.

2
A funo f assume valores em um sistema de pontos utuantes. Em geral, determinar o valor de para qualquer
funo f no uma tarefa trivial pois esse problema se relaciona ao problema conhecido como Table Makers
Dilemma. Referncia:

Muller, J.-M.;et all. Handbook of Floating-Point Arithmetic. Springer-Verlag. New York. 2009.

66
3.1 Mtodos de quebra

um contido em um aberto limitado por x e x tal que

1 (p)
f (x) = f (x) (x x )p ,
p!

j que, por hiptese, f (x ) = f (x ) = . . . = f (p) (x ) = 0. Dessa expresso segue por argu-



mentos similares que para uma aproximao x(n) , se f (p) > Lp em (a, b), ento

( )1/p
(n)
x x p! .
Lp

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 inter-
valo 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 solu-
o numrica 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
(n+1)
( (n)
)
x = x . A convergncia do mtodo garantida pelo teorema do ponto xo, da
o nome dos mtodos.

Mtodos de mltiplos passos: Uma generalizao do mtodo anterior onde a funo


depende 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 me-
nos 1 soluo da equao no linear. As iteraes consistem em seguidas subdivises dos inter-
valos 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 3.1.1 (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.

67
3 Equaes no lineares

3.1.1 Mtodo da bisseco


[ ]
O passo inicial no mtodo exige o conhecimento prvio de um intervalo x(0) , x(1) tal que o
( ) ( )
produto f x(0) f x(1) seja negativo. 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 extremos do intervalo inicial, a partir deles
x(0) + x(1)
escolhemos o ponto intermedirio xm = como a nova aproximao.
2
A partir de xm , dividimos o intervalo ao meio, ou seja, o intervalo original dividido em
[ ] [ ]
duas subintervalos de mesmo comprimento: x(0) , xm e xm , x(1) .
( )
De acordo com a escolha do intervalo inicial, o sinal do valor numrico de f x(0) dife-
( ) ( )
rente do sinal de f x(1) , portanto ao calcular o valor de f x(2) , h trs possibilidades:
( )
f (xm ) = 0 e a soluo xm ; o sinal de f (xm ) igual ao sinal de f x(0) ou o sinal de
( ) [ ] [ ]
f (xm ) igual ao sinal de f x(1) . Caso f (xm ) = 0, entre x(0) , xm e xm , x(1) , o in-
tervalo 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 renome-
ados x(2) e x(3) , ou seja,
{ ( )
(2) x(0) , se f x(0) f (xm ) < 0
x =
xm , caso contrrio

e { ( )
(3) xm , se f x(0) f (xm ) < 0
x =
x(1) , caso contrrio.
[ ]
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 inter-
[ ] [ ] [ ] [ ]
valos { x(0) , x(1) , x(2) , x(3) , x(4) , x(5) ,. . ., x(2k) , x(2k+1) , . . .} cujos comprimentos decres-
cem com uma razo 1/2 e os pontos x(2k) e x(2k+1) so determinados a partir das regras

x(2k2) + x(2k1)
xm = ,
2
{ ( )
(2k) x(2k2) , se f x(2k2) f (xm ) < 0,
x =
xm , caso contrrio,
e { ( )
(2k+1) xm , se f x(2k2) f (xm ) < 0,
x =
x(2k1) , caso contrrio,
para k = 1, 2, . . .
[ ] ( ) ( )
Observao 3.1.2. 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

68
3.1 Mtodos de quebra

sobre a existncia ou no de soluo nesse intervalo. Nesse caso necessrio escolher outro in-
tervalo 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


utilizar dois parmetros: um de valor pequeno, , a partir do qual o processo interrompido se

a desigualdade x(n) x(n1) < for satisfeita e um parmetro inteiro, N , que representa o
nmero mximo de iteraes aceitveis.
Como exemplo do mtodo, vamos estudar a equao no linear para f (x) = x ex . A
soluo dada em termos da funo especial W de Lambert3 :

x = W (1) = 0, 56714329040978387 . . .

A tabela seguinte ilustra o comportamento dos extremos do intervalo para a equao xex =
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.

f HxL

0.5
0.25
x
1 1 * 3
-0.25 x 1
4 2 4
-0.5
-0.75
-1

Figura 3.1: Grco da funo f (x) = x ex , no intervalo x [0, 1].

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:
1
3
Dado um real y > , a funo W (y) denida como o nmero real W que satisfaz a equao y = W eW . Ou
e
seja, W a inversa da funo xex .

69
3 Equaes no lineares

f HxL f HxL

x 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 positiva4 . 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 razes 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.

Critrios de parada

O critrio de parada pode ser denido de vrias formas, no caso de mtodos iterativos, o mais
usual para a execuo do algoritmo quando for satisfeita a desigualdade

|xn xn1 | + %eps |xn | .

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 pa-
rada, a exigncia de que as seguintes desigualdades seja satisfeitas

|xn xn1 | e |xn+1 xn | |xn xn1 | .

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 inter-
valo. O mtodo da falsa posio utiliza como ponto intermedirio para diviso do intervalo
( (0) (1) ) ( ( ))
x , x , 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):
( ) ( ) ( ) ( )
f x(0) f x(1) x(0) f x(1) x(1) f x(0)
(x) = x+ .
x(0) x(1) x(0) x(1)

Portanto, o ponto intermedirio xm dado por


( ) ( )
x(0) x(1)
xm = x (0)
( (0) ) ( ) f x(0) .
f x f x(1)

4
Corresponde ao caso de razes de multiplicidade par nos polinmios, ou de maneira mais geral, quando existe um
d2j1 d2n
natural n tal que 2j1 f (x ) = 0 para todo 0 j n e 2n f (x ) = 0.
dx dx

70
3.2 Mtodos de ponto xo

y
fHxL

x
x (0) x* xm x
(1)

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

A tabela seguinte ilustra o comportamento dos extremos do intervalo para a equao xex =
0 com intervalo inicial (0.0 , 1.0):

iterao i x2i x2i+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.4)

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.4).
Vamos considerar um intervalo [a, b] que contm uma nica soluo x [a, b] da equao
(3.4). 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

71
3 Equaes no lineares

possui x como nica soluo.


{ }
A soluo x ser ento determinada atravs da convergncia da sequncia x(n) n=0 , limn x
(n) =

x . A garantia da convergncia estabelecida pelo teorema do ponto xo:

Teorema 3.2.1 (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: inicialmente vamos re-


lacionar os erros absolutos na (n + 1)-sima aproximao aos erros absolutos na aproxi-
mao 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 existam 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 + 1)-sima aproximao , x(n+1) , e a soluo exata, x :
( )
(n+1)
x x
= x (n)
(x ) .

A igualdade vlida pois, por denio, xn+1 = (xn ) 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:
( )
(n+1)
x x = x(n) (x )



= | (c)| x(n) x



L x(n) x . (3.5)

Utilizando recursivamente a desigualdade (3.5) vericamos que



(n+1)
x x L x(n) x L2 x(n1) x . . . Ln+1 x(0) x ,

portanto


lim L x(n+1) x lim Ln+1 x(0) x = x(0) x lim Ln+1 .
n n n

72
3.2 Mtodos de ponto xo


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 limn Ln+1 = 0 e


lim x(n+1) x = 0.
n

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 x1 e x2 dois pontos distintos no intervalo I = [a, b] que satisfazem a equao
( ) ( )
x = (x), ou seja, x1 = x1 e x2 = x2 . Ento, de acordo com o teorema do valor
( )
mdio, existe um c x1 , x2 tal que
1
x x2 = | (c)| x1 x2 .

Segundo as hipteses, x1 , x2 I , dessa forma (c) L < 1, ou seja,


1
x x2 < x1 x2 ,

o que uma contradio.


Portanto, no intervalo I = [a, b] h um e somente um ponto x = (x).

Observao 3.2.2. 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 ex . Nesse caso
f (x) = 0 x = ex = (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)| = ex , as hipteses
do teorema do ponto xo so vlidas no intervalo5 I = (0, +), onde (I) I e | (x)| < 1.
Vamos ento, escolher como aproximao inicial x0 = 0, 5. A sequncia dada em seus pri-
meiros termos por

5
Na prtica, raramente procuramos garantir a hiptese (I) I pois muitas vezes, determinar esse intervalo exata-
mente equivale a resolver a equao no linear.

73
3 Equaes no lineares

iterao n xn
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) = ex .

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 + ln x 1
(x) = x
que sempre negativa no intervalo (0, +). No entanto, | (x)| =
xe |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
rapidamente 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 xn+1 se aproxima de
uma vizinhana 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
1
(x) = (3.6)
f (x)
implica (x ) = 0 de maneira que na vizinhana de x , | | assume pequenos valores. A partir
da escolha (3.6) para a funo , a funo dada por

f (x)
(x) = x . (3.7)
f (x)

74
3.2 Mtodos de ponto xo

Uma outra forma de se obter a frmula de Newton realizar uma expanso em srie de Taylor
em torno de uma aproximao x(n) do zero de f . Para tanto, necessrio que f pertena classe
de funes contnuas em uma vizinhana do zero x que contenha tambm a aproximao x(n) e
que a derivada f exista nessa mesma vizinhana. Por simplicidade, vamos supor que x(n) > x .
( )
Ento de acordo com o teorema de Taylor, existe um x(n) , x tal que a expanso em srie
de Taylor em torno de x(n) e calculada em x dada por
( ) ( )
f (x ) = f x(n) + f () x x(n)

como f (x ) = 0, os termos podem ser reagrupados na forma


( )
f x(n)
x =x (n)
. (3.8)
f ()

Naturalmente, o valor de no conhecido, porm se x(n) for sucientemente prximo de x ,


o lado direito da expresso (3.8), com substitudo por x(n) , pode ser utilizado como uma nova
aproximao x(n+1) para x : ( (n) )
f x
x(n+1) = x(n) ( (n) ) .
f x
Esta forma de desenvolver o mtodo de Newton-Raphson permite tambm analisar a questo do
convergncia. Mas antes de tratar dessa questo, vamos novamente determinar uma aproximao
para o zero real de f (x) = x ex . Neste caso, a iterao dada pela funo :

x ex (x + 1)
(x) = x x
= .
1+e 1 + ex

Partindo da aproximao inicial x0 = 0, 5:

iterao n xn
1 0, 566311 . . .
2 0, 567143 . . .
(x+1)
Tabela 3.4: Tabela das primeiras iteraes para o mtodo Newton-Raphson com (x) = 1+ex .

a sequncia converge para a soluo exata at a 6 casa decimal em duas iteraes. Se utilizar-
mos 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.7) que est prximo da soluo x , ento de acordo
com a denio, |xn+1 x | = |(xn ) (x )|. Estudamos na subseo anterior que se for
contnua e possuir derivada contnua no intervalo aberto entre os pontos xn e x , o teorema do
valor mdio garante que existe um ponto c nesse intervalo tal que
( )
(n+1)
x x = x(n)
(x )



= (c) x(n) x . (3.9)

75
3 Equaes no lineares

Se xn+1 estiver sucientemente prximo de x e f (x ) = 0, (c) ser um nmero pequeno. Dito


de uma forma mais exata,
(n+1)
x x f (x ) f (x )
lim = (x ) = = 0, se f (x ) = 0. (3.10)
n x(n) x (f (x )) 2

Ou seja, nessa situao, a convergncia mais rpida que a linear.

possvel analisar mais detalhadamente o comportamento da sequncia atravs do Teorema


de Taylor, em particular, com a forma de Lagrange para o erro. De acordo com o teorema, se f
uma funo com derivada contnua em um aberto que contenha os pontos x e x(n) (sem perda
de generalidade, vamos supor que x(n) > x ) e f existe nesse mesmo intervalo, ento existe um
( )
x , x(n) tal que
( ) ( ) 1 ( (n) )2
f x(n) = f (x ) + x(n) x f (x ) + x x f () .
2
( )
O ponto depende de f , x e x(n) . Sob as mesmas condies, existe um x , x(n) tal que
( ) ( )
f x(n) = f (x ) + x(n) x f () .

( ) ( )
A partir da relao de recorrncia do mtodo e substituindo f x(n) e f x(n) pelas formas
dadas pelo teorema de Taylor,

( )
x(n+1) x = x(n) (x )

( )
f x(n)
= x (n)
( (n) ) x
f x
( ) ( )2
f (x ) + x(n) x f (x ) + 21 x(n) x f ()
= x (n)
x ( )
f (x ) + x(n) x f ()
( ) ( )
(n) x f (x ) + 1 x(n) x 2 f ()
x
= x(n) x ( 2 )
f (x ) + x(n) x f ()
( ( ) )
( ) f (x ) + 12 x(n) x f ()
( )
= x x
(n)
1
f (x ) + x(n) x f ()
( )
( ) (x(n) x ) (f () 1 f ())
= x(n) x ( )2
f (x ) + x(n) x f ()
( )
( )2 f () 21 f ()
( )
= x x
(n)
, (3.11)
f (x ) + x(n) x f ()

onde foi utilizado que f (x ) = 0. A partir de (3.11), conclui-se que se f (x ) = 0, ento o limite

76
3.3 Mtodos de mltiplos pontos
(n+1)
x x
limn+ existe e vale
x(n) x 2
(n+1)
x x 1 f (x )
lim =
n+ x(n) x 2 2 f (x )

pois , x quando n +. Se no entanto, o zero for de multiplicidade maior, ou seja, se


f (x ) = 0 mas f (x ) = 0, ento o desenvolvimento dado por
( )
x(n+1) x = x(n) (x )

( )
f x(n)
= x (n)
( (n) ) x
f x
( (n) )2

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

1
ou seja, a convergncia linear com constante ,
2
(n+1)
x x 1
lim (n)
= .

n+ x x 2

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.

77
3 Equaes no lineares

A sequncia montada a partir da regra para iterao6

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

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
|x(n+1) x |
lim = K,
n |x(n) x |

1+ 5
onde = 1, 618. Ou seja, apesar de ser mais lenta que no mtodo Newton-Raphson,
2
a convergncia mais rpida que a convergncia linear de alguns mtodos de ponto xo.

iterao n xn
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 ex , 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
an , an1 , . . . a0 :
.
p(x) = an xn + an1 xn1 + . . . a1 x + a0 = 0, (3.12)

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.12) possui n solues (denomi-
nadas razes de p(x)) no plano complexo, x1 , x2 , . . ., xn C. Portanto, p(x) pode ser reescrito
6
comum utilizar as seguintes variaes para minimizar os efeitos de arredondamento:
f (x(n) )

(n) (n1)
( ) ( )
(n) (x x

) f x(n1)
( )

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

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

( ) ( )



x(n)
(x(n) x(n1) )
se f x(n1) < f x(n)


,
1
f (x(n1) )
f (x(n) )

78
3.5 Newton-Raphson modicado

como
p(x) (x x1 )(x x2 ) . . . (x xn ).

A partir dessa estrutura possvel desenvolver vrios mtodos especcos para determinar as ra-
zes.
O seguinte teorema relaciona a localizao das razes de um polinmio no plano complexo aos
seus coecientes:
Teorema 3.4.1
Seja x qualquer raiz do polinmio

p(x) = an xn + an1 xn1 + . . . + a1 x + a0 .

Ento
{ }
a0 a1 a2 an1
|x | max , 1 + , 1 + , . . . , 1 + ,
an an an an

n1 aj
|x | max 1, ,
an
j=0

a
1 1 1
n1 an2 2 an3 3 a0 n
|x | 2 max
, an , an , . . . , an ,
an


n1
aj

|x |
aj+1 .
j=0

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 : ( )
p x(j)
x (j+1)
=x (j)
( (j) ) .
p x
Uma vez determinada a aproximao para a primeira raiz x1 , temos que as demais razes so tam-
p(x)
bm soluo do novo polinmio p1 (x) = , pois de acordo com o teorema fundamental da
x x1
lgebra, se x1 , x2 , . . ., xn so razes de p(x) = nj=1 (x xj ), ento, por construo o polin-
mio p1 (x) possuir tambm razes x2 , x3 , . . ., xn . Portanto para determinar as razes seguintes
utilizamos a regra de Newton-Raphson para a equao p1 (x) = 0:
( )
p1 x(j)
x (j+1)
=x (j)
( (j) ) .
p1 x

79
3 Equaes no lineares

Porm dado que ( )


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

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

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.

80
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)

3.6 Sistemas de Equaes no lineares (mtodo de


Newton-Raphson)

Seja um domnio U Rn e F : U Rn um funo contnua e diferencivel. O sistema de


equaes
F (x ) = 0 Rn , (3.13)

onde a soluo, x Rn , representada por um vetor de componentes x1 , x2 , . . . , xn e F possui


componentes F1 (x), F2 (x), . . ., Fn (x) R, cada uma delas uma funo contnua e diferencivel
de n variveis. Cada equao Fi (x) = 0 de (3.13) dene uma hipersuperfcie de dimenso n 1
contida em U Rn . O conjunto soluo formado pela interseco dessas superfcies.

A natureza do problema mais complexa, pois conforme aumentamos a dimenso do sis-


tema, o comportamento das solues potencialmente mais rico. Como exemplo, vamos con-
siderar o seguinte caso em dimenso dois. Seja F (x, y) = (F1 (x, y), F2 (x, y)) onde F1 (x, y) =
cos(x) cos(y)0.1 e F2 (x, y) = sen(x)sen(y)0.5. A gura 3.3 contm o grco dessas funes.

0.5
0.5 0
10 10
F1 ( x,y ) 0
F2 ( x,y )
-0.5
-0.5 5 -1 5

-1 -1.5
-10 0 -10 0
y y
-5 -5

0 -5 0 -5

x 5 x 5

10 -10 10 -10

Figura 3.3: Grcos das funes F1 (x, y)e F2 (x, y)

Cada equao F1 (x, y) = 0 e F2 (x, y) = 0 determina um conjunto de curvas (superfcies


contidas em um espao de dimenso dois) no plano x y . As solues de F (x) = 0 R2 , ou
dito de outra forma, do sistema {
F1 (x, y) = 0
F2 (x, y) = 0
so as interseces desses dois conjuntos de superfcies. A gura 3.4 contm o conjunto de pontos
no plano x y que satisfazem as equaes e o sistema.

81
3 Equaes no lineares

y y
10 10

5 5

0 0

-5 -5

-10
-10 -5 0 5 10
x -10-10 -5 0 5 10
x
y
10

-10 -5 5 10
x

-5

-10

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.13). 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.13), 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
{ (j) }
x a partir da regra
j=0 ( )
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

82
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)

K< (j+1)
x x
lim = K,
j x(j) x

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 convergncia7 :
(j+1)
x x
lim = K
j x(j) x 2

.
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

Fi
(J(x))i,j = (x)
xj

para F (x) = (F1 (x), F12 (x), . . . , Fn (x)), onde cada i-sima componente da forma Fi (x) =
Fi (x1 , x2 , . . . , xn ).
{ }
O mtodo consiste na construo da sequncia de aproximaes x(j) j=0 a partir de uma
aproximao inicial x(0) e da regra

x(j+1) = x(j) J 1 (x(j) )F (x(j) )

para j 0.

Exemplo 16: A equao z ez = 0 possui apenas uma soluo real, dada pela funo W
de Lambert, z = W (1) = 0.567143290 . . . Porm, essa mesma equao possui innitas so-
lues 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

1 + z (j)
z (j+1) = (j)
1 + ez

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

1 + x(j) + iy (j)
x(j+1) + iy (j+1) = (j) (j)
1 + ex +iy

1 + x(j) + iy (j)
= (j)
( ),
1 + ex cos(y (j) ) + isen(y (j) )

(j+1)
x x
7
O que necessariamente implica limj = 0.
x(j) x

83
3 Equaes no lineares

nalmente ( )( (j)
)
1 + x(j) e+ cos(y (j) ) + y (j) sen(y (j) )
x(j+1) = ( ) (3.14)
2 cos(y (j) ) + cosh(x(j) )
e ( ) ( )
y (j) ex + cos(y (j) ) 1 + x(j) sen(y (j) )
(j)

y (j+1) = ( ) . (3.15)
2 cos(y (j) ) + cosh(x(j) )

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 :

iy
x + iy ex = 0 = 0 + 0i.

De acordo com a frmula de Euler, termo eiy = cos(y ) isen(y ), portanto a equao
anterior assume a forma
(
)
x ex cos(y ) + i y + ex sen(y ) = 0 + 0i.

Ou seja,
F (x , y ) = (F1 (x , y ), F2 (x , y )) = (0, 0),

onde
F1 (x, y) = x ex cos(y)

e
F2 (x, y) = y + ex sen(y).

Nesse caso a matriz jacobiana assume a forma


( )
1 + ex cos(y) ex sen(y)
J(x, y) = ,
ex sen(y) 1 + ex cos(y)

cujo determinante

det J(x, y) = 1 + 2ex cos(y) + e2x = 2ex (cos(y) + cosh(x)) .

Como cos(y) 1, temos que det J(x, y) 1 + 2ex + e2x = (1 + ex ) 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



ex + cos(y) sen(y)
2 (cos(y) + cosh(x))
J 1 (x, y) = 2 (cos(y) + cosh(x))
.
sen(y) ex + cos(y)
2 (cos(y) + cosh(x)) 2 (cos(y) + cosh(x))

84
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)

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.14) e (3.15).


A gura 3.5 ilustra o comportamento da funo |F (x, y)|, as reas mais claras representam
regies de valores prximos do zero. As solues da equao correspondem ao centros dos
elipsoides.
y
30

25

20

15

10

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

Figura 3.5: Curvas de nvel da funo |x + iy e(x+iy) |. Regies mais claras representam valores
menores.

A partir do grco, escolhemos como valor inicial o complexo 1, 0 + 4, 0i que est pr-
xima da soluo complexa com menor valor absoluto para a parte imaginria. Abaixo, segue
a tabela com o resultado das iteraes com as regras (3.14) e (3.15):

iterao n xn yn
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 x0 = 1, 0 e y0 = 4, 0.

85
3 Equaes no lineares

3.7 Exemplos comentados

Problema 1

Uma estao de bombeamento responsvel por um uxo (r) de uido (em l/s) , onde r a
velocidade de rotao do motor da bomba (em 103 rad/s). Para manter o motor com uma rotao
r , a estao necessita de uma potncia P (r) (em kW). O objetivo determinar o intervalo de
valores de r, (rmin , rmax ), que correspondem faixa superior a 90% do rendimento mximo (em
l/J) se
(r) = 500 tanh (0.87r) e P (r) = 2 + 3.078r .

HlsL P HkWL
500

80
400

60
300

40
200

100 20

r H10 3 radsL r H10 3 radsL


1 2 3 4 1 2 3 4

Figura 3.6: Comportamento das funes e P .

A partir dos grcos, possvel notar que conforme a rotao do motor aumentada, o gasto
energtico cresce exponencialmente enquanto que a quantidade de uido bombeado atinge um
ponto de saturao. natural esperar que exista uma situao tima, na qual h um mximo
transporte de uido por unidade de energia.

Se a velocidade de rotao mantida constante, em um intervalo de tempo t, a estao bom-


beia um volume de uido (r)t. Nesse mesmo intervalo de tempo, ela gasta uma quantidade
de energia P (r)t. Assim o rendimento em litros por joules dado por

. (r)t (r)
(r) = = ,
P (r)t P (r)

ou seja,
500 tanh (0.87r)
(r) = .
2 + 3.078r
O grco da funo permite notar que a exigncia de trabalho acima de 90% da ecincia m-
xima corresponde a um intervalo da valores (rmin , rmax ) para a velocidade de rotao do motor.

86
3.7 Exemplos comentados

HlkJL
70
max

60 0.9 max

50

40

30

20

10
rmin r*
r H10 3 radsL
rmax
0.5 1.0 1.5 2.0 2.5 3.0

Figura 3.7: Grco para o rendimento em funo da velocidade de rotao.

No valor r , onde mximo, temos (r ) = 0. A primeira tarefa consiste em determinar o


zero r de
( )
0.87 3.078r tanh (0.87r)
(r) = 500 sech 2
(0.87r) ln(3.078) .
2 + 3.078r (2 + 3.078r )2
A mxima ecincia max dada por

max = (r ) .

Assim, uma vez determinado r , os valores rmin e rmax so razes da equao

(x) 0.9max = 0.

As seguintes instrues no Scilab fornecem o resultado numrico.


// Denio da funo ni(r)
function z=ni(r)
z=500*tanh(0.87*r)/(2+3.078^r);
endfunction

// Valores de r utilizados para desenhar o grco.


rvar=linspace(0.5,1.5,100);
// Grco de ni
fplot2d(rvar,ni);
xgrid;

// Determinao de r* que corresponde ao mximo de ni'


// Denio da derivada de ni

87
3 Equaes no lineares

function z=d_ni(r)
z1=500*(0.87*sech(0.87*r)^2/(2+3.078^r);
z2=log(3.078)*3.078^r*tanh(0.87*r)/((2+3.078^r)^2));
z=z1-z2;
endfunction

// Denio da derivada aproximada de ni


// atravs da instruo derivative. (Forma alternativa)
function z=d_ni2(r)
z=derivative(ni,r);
endfunction

// Grco de ni'
scf(); // abre uma nova janela grca
fplot2d(rvar,d_ni);
xgrid;

// Determina r*
// Aproximao inicial 0.96
r_estrela=zero_newraph(d_ni,0.96,100);
// Forma alternativa, a partir da derivada numrica.
r_estrela2=zero_newraph(d_ni2,0.96,100);
ni_max=ni(r_estrela);

// Determinar r_min e r_max


// Esses valore so zeros da funo f
function z=f(x)
z=ni(x)-0.9*ni_max;
endfunction

// Aproximao inicial para r_min 0.64


r_min=zero_newraph(f,0.64,100);
// Aproximao inicial para r_max 1.38
r_max=zero_newraph(f,1.38,100);

88
3.7 Exemplos comentados

Problema 2

Considere o circuito eltrico descrito pela gura seguinte

5W 1W 5W

1W I(V)
1 3
2

1V

Figura 3.8: Circuito eltrico. O elemento no linear possui um relao entre tenso e corrente
dada pela equao (3.16).

Este circuito semelhante ao estudado na seo 2.4. A tenso no n 1 xa em 0V e a tenso


no n 3 em 1V. As variveis deste sistema so sete: V2 , V4 , I1,2 , I2,3 , I3,4 , I1,4 e I2,4 . As equaes
so dadas pelas leis de Ohm (2.30), Kirchoff para correntes (2.31) e pela equao que relaciona
tenso e corrente no elemento no linear,

I2,3 = (V2 V3 )3 2 (V2 V3 )2 + 1.04 (V2 V3 ) . (3.16)

A seguinte escolha para o ordenamento das variveis ser adotada

. . .
x1 = V3 , x2 = V4 , x3 = I1,2 , x4 = I2,3 , x5 = I3,4 , x6 = I1,4 , x7 = I2,4 .

As equaes sero ordenadas da seguinte forma:

1 equao: lei de Ohm para o resistor ligado aos ns 1 e 2.

2 equao: dada por (3.16).

3 equao: lei de Ohm para o resistor ligado aos ns 3 e 4.

4 equao: lei de Ohm para o resistor ligado aos ns 2 e 4.

5 equao: lei de Ohm para o resistor ligado aos ns 1 e 4.

6 equao: lei de Kirchoff para o n 2.

7 equao: lei de Kirchoff para o n 4.

De acordo com o ordenamento escolhido, o sistema de equaes dado por

89
3 Equaes no lineares



x1 x3 =0





(x1 1)3 2 (x1 1)2 + 1.04 (x1 1)


=0




x2 x5 + 1

=0
x1 x2 x7 =0 (3.17)




x2 5x6
=0





x3 x4 x7 =0



x + x + x
5 6 7 =0

Uma forma de se obter uma aproximao inicial, x(0) , para a soluo de (3.17) consiste em subs-
tituir a segunda equao por uma verso livre de termos no lineares

1.04 (x1 1) = 0.

Nesse caso, a aproximao inicial soluo do sistema de equaes lineares

Ax(0) = b,

onde

1 0 1 0 0 0 0 0

1.04 0 0 1 0 0 0 1.04

0 1 0 0 5 0 0 1


A= 1 1 0 0 0 0 1 e b= 0 .

0 2 0 0 0 5 0 0


0 0 1 1 0 0 1 0
0 0 0 0 1 1 1 0

As seguintes instrues no Scilab fornecem o resultado numrico.


// Voltagem da fonte
V=1
// Aproximao inicial
A=zeros(7,7);
A(1,1)=-1; A(1,3)=-1;
A(2,1)=1.04; A(2,4)=-1;
A(3,2)=-1; A(3,5)=-5;
A(4,1)=1; A(4,2)=-1; A(4,7)=-1;
A(5,2)=-1; A(5,6)=-5;
A(6,3)=1; A(6,4)=-1; A(6,7)=-1;
A(7,5)=1; A(7,6)=1; A(7,7)=1;
b=zeros(7,1);
b(2)=1.04*V;
b(3)=-V;

90
3.7 Exemplos comentados

x0=A\b;

// Denio da funo f.
function z=f(x)
z(1)=-x(1)-x(3);
z(2)=(x(1)-V)^3 -2*(x(1)-V)^2+1.04*(x(1)-V)-x(4);
z(3)=-x(2)-5*x(5)+V;
z(4)= x(1)-x(2)-x(7);
z(5)=-x(2)-5*x(6);
z(6)= x(3)-x(4)-x(7);
z(7)= x(5)+x(6)+x(7);
endfunction

// Soluo
sol=zero_newraph(f,x0,100,1);

// Corrente que deixa a fonte


I=sol(5)-sol(4);
// Corrente que deixa a fonte na aproximao inicial
// (aproximap linear)
I0=x0(5)-x0(4);

A corrente que deixa a fonte em direo ao n 3 obtida a partir da soluo do problema e da


Lei de Kirchoff,
If onte,3 + I2,3 + I4,3 = 0.

Como I4,3 = I3,4 , a equao anterior pode ser reescrita como

If one,3 = I2,3 + I3,4

= x4 + x5 .

A partir da soluo obtida numericamente temos

If onte,3 760, 07mA.

91
3 Equaes no lineares

3.8 Exerccios
1) Seja a equao no linear
x ex = 0.

A soluo dada em termos da funo W de Lambert, x = W (1) 0, 567143290 . . . Se utili-


zarmos 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 m-
todo 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 + ex 3 = 0

com seis dgitos exatos.


3
3) As seguintes equaes possuem uma raiz real positiva igual a .
2

x4 3, 5 x3 + 2, 25 x2 + 3, 375 x 3, 375 = 0

x4 + 1, 5 x3 1, 5 x2 3, 5 x 1, 5 = 0

Utilize o mtodo de Newton-Raphson com algumas aproximaes iniciais diferentes para encon-
trar 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
xx 0.8 = 0

6) Determine as trs razes reais e positivas da equao

cos(x) = 0.02 x2 .

92
3.8 Exerccios

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) 2expoente(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.

y
y=senHxL
1
y=x

0.5

x

3 2 x* 3
2
2

-0.5

-1

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

3 1 1 1
x6 x5 + x4 x3 x2 + x
4 16 4 16

com 5 dgitos exatos.

11) Utilize o mtodo da secante para determinar a melhor aproximao com 6 dgitos de pre-
sen 3x
ciso para o valor x > 0 que corresponde ao primeiro mnimo da funo .
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 x8 = 10.

13) A relao entre presso P (em unidades Pa = N/m2 ), temperatura T (K) e volume especco
v (m3 /Kg) em um gs no ideal aproximada pela equao de estado de van der Waals
( a)
P+ (v b) = RT,
v2

onde R = 461.495 J/ (Kg K), a = 1703.28 Pa m6 /Kg2 e b = 0.00169099 m3 /Kg. Construa uma
tabela com os valores da densidade desse gs (o recproco do volume especco) para valores da
temperatura entre 500K e 1000K com espaamento de 100K quando P = 105 Pa. Os valores
tabelados devem conter cinco dgitos.

93
3 Equaes no lineares

14) Considere uma bomba movida a energia eltrica para a qual a relao uxo velocidade
de rotao dada pela funo
( ) ( )
V () = 0.7 tanh 1.1 1.37 + 0.3 tanh 3.87

e a relao entre potncia dissipadavelocidade de rotao dada pela funo


( )
P () = 1.1 exp 0.8 .

V ()
A razo , determinada taxa de transporte, fornece informao sobre a quantidade de ma-
P ()
tria transportada por unidade de energia para uma velocidade de rotao . Dado que a taxa
mxima ocorre em maxtrans 0.715574, determine com uma preciso de seis dgitos o intervalo
de valores para a rotao no qual a bomba opera em uma faixa superior a 85% da taxa mxima
de transporte.

15) Considere um sinal cuja dependncia no tempo t possui a forma

1
(1 + cos (5t)) cos2 (t) .
2
Determine com preciso de seis dgitos, por quanto tempo esse sinal superior a 0.4 no intervalo
t [0, 5].

16)
Determine uma aproximao para o ponto (x , y ) no qual a fun-
2 o f : R2 R,
0
-5
f (x, y) = x4 y 6 + 3xy 3 x, atinge seu valor mximo.
-10 f

-50
-100 17) Considere um investimento nanceiro que rende mensalmente
1
-1
0 y um percentual r > 0 sobre o montante investido. Se um investidor
0
x
1
-1
aplica mensalmente uma quantia Q ao longo de n meses e nos m
meses seguintes subtrai mensalmente uma quantia R, o montante que
sobra aps o m-simo resgate ser
( )
(1 + r) ((1 + r)n 1) Q R R
(1 + r)m1 + .
r r

Supondo que um investidor realiza aplicaes mensais de de 1500 por 25 anos (300 meses), deter-
mine uma aproximao com seis dgitos para o menor valor que o percentual r deve assumir de
modo que o montante permita a realizao de resgates de 7000 por 35 anos (420 meses)?

18) Determine as 4 solues do sistema


( )

5sen x21 2 cos(x2 ) + 1 = 0



x2 + (0.75sen (x1 ) + 0.8 cos (4.41x2 )) = 0

na regio [1, 1] [1, 1].

94
3.8 Exerccios

19) O problema de se determinar os valores extremos de uma funo sujeita a vnculos em seus
argumentos pode ser resolvido com o auxlio dos multiplicadores de Lagrange. Seja a funo
. ( )( )
F (x, y, z) = (sen x) sen 2 y sen 3 z , desejamos determinar os valores (x , y , z ) no oc-
tante x > 0, y > 0, z > 0 para os quais F assume o seu maior valor, dado que x2 + y 2 + z 2 = 42 .
Uma condio necessria para que (x , y , z ) seja um ponto de mximo (ou mnimo) que seja

soluo do sistema de equaes = = = = 0, onde
x y z
.
(x, y, z, ) = F (x, y, z) + G(x, y, x) e G(x, y, z) = x2 + y 2 + z 2 42 representa o vnculo.
Nesse caso, (x , y , z ) deve ser soluo do sistema de equaes

( )( )

(cos x) sen 2 y sen 3 z + 2x = 0

2(sen x) (cos 2 y ) (sen 3 z ) + 2y

= 0
( )( )

3(sen x) sen 2 y cos 3 z + 2z = 0


x2 + y 2 + z 2 42 = 0

Atravs de um cdigo de cores (vermelho para os me-


nores valores at violeta para os maiores valores), o
grco ao lado apresenta o valor de F sobre a super-
fcie denida pelo vnculo. A partir da soluo num-
rica, determine uma aproximao de seis dgitos para
o valor mximo de F sujeito a esses vnculos. (As co-
ordenadas esto indicadas pelas setas).

20) A relao entre custo de produo (em R$/MWh) e potncia (em GW) de trs usinas eltricas
dadan pelas funes C1 , C2 e C3 , vlidas para potncias entre 0 e 5GW,

C1 (p) = 15 + 15p + 2p2 + 0.8p3


C2 (p) = 30 + 10p + p2 + 0.1p4
C3 (p) = 40 + 11p + 0.1p2 + p3

A partir da tcnica do multiplicador de Lagrange, determine o valor mnimo do custo total de


produo para uma potncia total de 10GW gerada em conjunto pelas trs usinas. De acordo
com a tcnica, devemos encontrar as potncias produzidas nas usinas 1, 2 e 3, representadas re-

pectivamente por p1 , p2 e p3 que satisfaam = 0, para i = 1, 2, 3 e = 0, onde
pi
.
(p1 , p2 , p3 , ) = C (p1 , p2 , p3 ) + (p1 + p2 + p3 10)

. 3
e C a funo do custo total de produo, C (p1 , p2 , p3 ) = i=1 Ci (pi ). Observao: uma

vez escolhidas as aproximaes para p1 , p2 e p3 , qualquer uma das equaes = 0 pode ser
pi
utilizada para produzir uma aproximao inicial para .

21) A trajetria de uma satlite orbitando a Terra descrita em coordenadas polares pela equa-

95
3 Equaes no lineares

o
1 2
r() = A ,
1 + sen ( + )
onde A o semieixo maior da rbita (em km), a sua excentricidade e uma fase. Determine
o valor aproximado (com 4 dgitos) do semieixo maior de uma rbita que passa pelos pontos in-
dicados na tabela abaixo:
/6 0 /6
.
r(km) 6870 6728 6615

96
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 interessa-
dos 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 4.0.1 (Notao O()). A notao f (x) = O (g(x)) quando x x0 signica que exis-
tem constantes positivas e tais que

|f (x)| |g(x)|

para todo x no intervalo |x x0 | .


A mesma notao utilizada na situao x (ou ) signica 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(x2 ), ex 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(xa ) e g(x) = O(xb ) quando x 0, ento f (x)+g(x) = O(xb ), f (x)g(x) = O(xb ),
f (x)/g(x) = O(xab ) e f (x)g(x) = O(xa+b ) quando x 0.

Aproximao da derivada por diferenas nitas

A partir da denio da funo f (x) atravs do limite

f (x + h) f (x)
f (x) = lim ,
h0 h

introduzimos a operao de diferena nita1 D+,h , a partir da qual obtemos uma segunda funo
gh (D+,h f ):
f (x + h) f (x)
gh (x) = (D+,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).

97
4 Derivao numrica

No limite recuperamos a funo derivada de f , limh0 gh (x) = limh0 (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) f (x h)
f (x) = lim
h0 h

ou ainda
f (x + h) f (x h)
f (x) = lim .
h0 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 D0,h :

. f (x) f (x h)
(D,h f ) (x) = ,
h

. f (x + h) f (x h)
(D0,h f ) (x) = .
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 D0,h sobre uma funo f , pode ser entendida
como a derivada da parbola interpolada a partir dos pontos (x h, f (x h)), (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

f (x + h) f (x)
(D+,h f ) (x) f (x) = f (x).
h

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

f (x) + hf (x) + h2
2 f (x) + O(h3 ) f (x)
(D+,h f ) (x) f (x) = f (x)
h

h
= f (x) + O(h2 ) = O(h).
2

De modo anlogo, a diferena entre a operao D,h e a derivada f (x) tambm O(h). Porm,

98
a diferena entre a operao D0,h f e f (x) O(h2 ):

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

f (x) + hf (x) + h2
2 f (x) f (x) + hf (x) h2
2 f (x) + O(h3 )
= f (x)
2h

= O(h2 ).

Exemplo 17: Vamos estudar a derivao numrica da funo exponencial f (x) = ex , em


particular 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) g0,h (1) g+,h (1) e g,h (1) e g0,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,
1
D+,h e D,h o erro decresce a uma razo de aproximadamente (a razo entre os espaa-
2
mentos decresce nessa mesma razo o que est de acordo com a previso O(h)), no caso da
1
operao D0,h , o erro decresce a uma razo de aproximadamente , o que consistente com
4
a previso O(h2 ).

Erros de arredondamento

Os erros de truncamento no so os nicos fatores importantes na determinao da estimativa


numrica 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 inde-
nida, 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 :

f (x + h) f (x) f1 f0
(D+,h f ) (x) = = ,
h h

onde, por economia de notao, representamos f (x + h) = f1 e f (x) = f0 . Se a operao for


realizada em uma mquina, tipicamente, os valores f1 e f0 sero representados por pontos utu-
antes f1 e f0 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 u-

99
4 Derivao numrica

( ) f1 f0
tuante2 f1 f0 h, cuja diferena em relao ao valor exato pode ser expressa atravs
h
da funo (x, h):
( ) f1 f0

f1 f0 h = (1 + (x, h)) .
h
De modo semelhante, a diferena em valor absoluto entre fi e fi para uma escolha de x e h
representada por uma funo no negativa (x, h). Se h for sucientemente pequeno, teremos
ento
|f1 f1 | = (x, h) |f0 f0 | = (x, 0) .
e
( )
A diferena entre o valor da derivada de f em x e o ponto utuante f1 f0 h dada em valor
absoluto por

( ) 1 f0
f
f (x) f1 f0 h = f (x) (1 + (x, h))
h
( )
f1 f0 f1 f1 f0 f0

= f (x) + + (1 + (x, h))
h h h
( )
f1 f0 f1 f1 f0 f0

= f (x) + + (1 + (x, h))
h h h
( )
f f f1 f1 f0 f0
f (x) +
1 0
+ |1 + (x, h)| +
h h h

f1 f0

+ (x, h)
h

f1 f0 ((x, h) + (x, 0)) |1 + (x, h)|

= f (x) + +
h h

f1 f0
+ (x, h)
h
( )
2
c1 h + (1 + ) + f (x) (4.1)
h

1
onde c1 = maxxyx+h f (y) o erro devido ao truncamento (que independe de h).
2
Podemos notar pela estimativa (4.1) que o erro cometido ao calcularmos numericamente a de-
rivada 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 opera-
es de diferena nita em uma mquina para calcular numericamente a derivada de uma funo,
devemos 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 de-
rivada de uma funo f .

2
Por simplicidade, assumimos que h idntico a sua representao em ponto utuante.

100
4.1 Extrapolao de Richardson

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 D0,h com um maior nmero de termos na expanso:

. f (x + h) f (x h)
(D0,h f ) (x) =
2h
( )
1 h2 h3 (3) 4
= f (x) + hf (x) + f (x) + f (x) + O(h )
2h 2 3!
( )
1 h2 h3 (3)
f (x) hf (x) + f (x) f (x) + O(h )
4
2h 2 3!

= f (x) + c2 h2 + O(h4 ), (4.2)

f (3) (x)
onde c2 = . Portanto, o erro de truncamento at a segunda ordem em h c2 h2 , onde,
3!
naturalmente a constante c2 no depende de h. Dessa forma, a operao de diferena nita com
espaamento 2h, (D0,2h f ) (x), tal que

. f (x + 2h) f (x 2h)
(D0,2h f ) (x) =
2(2h)

= f (x) + c2 (2h)2 + O(h4 ). (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

(D0,2h f ) (x) (D0,h f ) (x) = 3c2 h2 + O(h4 ).

Ou seja, possvel descrever o termo c2 h2 atravs das duas operaes de diferena nita mais
termos de ordem h4 :

(D0,2h f ) (x) (D0,h f ) (x)


c2 h2 = + O(h4 ). (4.4)
3

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
h, x, x + h e x + 2h:

(D0,2h f ) (x) (D0,h f ) (x)


f (x) = (D0,h f ) (x) + O(h4 )
3

4 (D0,h f ) (x) (D0,2h f ) (x)


= + O(h4 )
3

.
= (D1,h f ) (x) + O(h4 ).

101
4 Derivao numrica

Essa tcnica denominada extrapolao de Richardson, atravs dela possvel construir opera-
es de diferena nita com maior preciso. No exemplo que acabamos de estudar determinamos
a nova operao de diferena nita D1,h a partir das operaes D0,h e D0,2h :

. 4 (D0,h f ) (x) (D0,2h f ) (x)


(D1,h f ) (x) =
3

f (x + 2h) + 8f (x + h) 8f (x h) + f (x 2h)
= .
12h

Como acabamos de vericar, f (x)(D1,h f ) (x) = O(h4 ). Portanto, a diferena anterior pode
ser escrita como f (x)(D1,h f ) (x) = c4 h4 +O(h6 ), onde c4 tambm um termo que independe
de h. E assim considerando a operao com espaamento duplo (D1,2h f ) (x) = f (x)+c4 (2h)4 +
O(h6 ) podemos dar prosseguimento a extrapolao e determinar a operao D2,h tal que

. 16 (D1,h f ) (x) (D1,2h f ) (x)


(D2,h f ) (x) =
15

e f (x) (D2,h f ) (x) = O(h6 ).

Exemplo 18: Voltamos a estudar o exemplo do incio do captulo: a derivao numrica da


funo exponencial f (x) = ex , em particular f (1) = e = 2.718281 . . . De acordo com a
denio dos operadores de diferena nita podemos montar a seguinte tabela:

h (D0,h f ) (1) (D1,h f ) (1) (D2,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 Fh que aproxima a n-sima
derivada de uma funo sucientemente suave g at a ordem O(hp ), ou seja,

(Fh g) (x) = g (n) (x) + chp + O(hr ),

onde r > p. Ento, para qualquer q > 1, segundo o processo de extrapolao de Richardson,

1
(Fh g) (x) + ((Fh g) (x) (Fqh g) (x)) = g (n) (x) + O(hr ).
qp 1

O que permite denir a nova operao Fh :


( )
. q p (Fh g) (x) (Fqh g) (x)
Fh g (x) = .
qp 1

As operaes de diferena nita para as segundas derivadas e as derivadas de ordem superior

102
4.1 Extrapolao de Richardson

podem ser obtidas a a partir da combinao das operaes de diferena nita para primeira deri-
vada, portanto, as operaes D2,h , D+,h D+,h , D,h D,h , D0,h D+,h , D1,h D,h , etc., fornecem
aproximaes para a segunda derivada com diferentes precises. Porm a extrapolao de Ri-
chardson 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,

f (x) f (x h)
g(x) =
h

e portanto

1 1
(D+,h g) (x) = (D+,h f ) (x) (D+,h f ( h)) (x)
h h
( ) ( )
1 f (x + h) f (x) 1 f (x) f (x h)
=
h h h h

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

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

Esse exemplo que acabamos de estudar apenas uma possibilidade, como acabamos de armar,
existem diversas outras possibilidades.

Exemplos
Soluo estacionria para a equao do calor

103
4 Derivao numrica

4.2 Exerccios
1) Seja o operador diferena nita D+,h , denido como

f (x + h) f (x)
(D+,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 0.1 0.2 0.3 0.4 0.5


f (x) 0.23 0.33 0.29 0.12 0.17

Tabela 4.1: valores de f

determine estimativas com quatro dgitos para a derivada de f nos pontos x = 0.3 e x = 0.1 a
partir de todos os valores da tabela.

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 D1,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 mantm-se constantes ao longo do tempo,


W
a condutividade trmica do cilindro, k , de 150 ,
m K
a temperatura medida nos pontos vale respectivamente 350K, 358K e 373K,

a partir da Lei de Fourier


q = kT

e de uma operao de diferena nita, determine uma estimativa com quatro dgitos para o m-
dulo do uxo trmico pela base do cilindro.

104
4.2 Exerccios

9) Utilize a extrapolao de Richardson para construir um aproximao com erro de trunca-


( )
mento O h4 a partir da operao de diferena nita

f (x 2h) + 2f (x h) 2f (x + h) + f (x + 2h) ( )
Dh f (x) = 3
= f (x) + O h2 .
2h

10) Uma funo suave f (x) conhecida em x, x + 2h e x h para um dado h > 0. Determine
uma aproximao para f (x) a partir do valor de f nesses trs pontos.

11) O operador de diferena nita h aproxima o seguinte operador diferencial

. 1 ( )
(h f )(x) = (8f (x 2h) + 5f (x + h) + 3f (x + 3h)) = f (x) + O h2 .
30h

Utilize a extrapolao de Richardson para construir a forma explcita de um operador com erro
de truncamento de ordem superior em h.

12) A partir dos valores de uma funo y , conhecida nos pontos uniformemente distribudos
(. . ., x 2h, x h, x), construa uma operao de diferena nita que aproxime o valor de

y (x) 2y (x)
( )
com erro de truncamento O h2 .

13) Uma esfera uniforme de raio R possui a superfcie externa em contato com um material de
propriedades trmicas diferentes. Em um determinado instante, a temperatura depende apenas
5 4
da distncia r ao centro e conhecida nas distncias R, R e R. Utilize essas informaes para
6 6
dT
determinar uma aproximao para (R) a partir de uma operao de diferena nita.
dr

105
5 Interpolao

Neste captulo estudaremos mtodos que permitem encontrar um valor aproximado para uma
funo f calculada em um ponto x do intervalo I , atravs do conhecimento de uma coleo de
i=1 tais que xi I . Seja g uma funo que aproxima f no
pares ordenados (pontos) {(xi , f (xi ))}N
intervalo I . Ento, para o conjunto de pontos xi , i = 1, . . . , N

g(xi ) = f (xi ),

dizemos que g interpola a funo f nos valores x1 , x2 , . . ., xN . Ento podemos utilizar a funo
g para encontrar uma aproximao para o valor de f no ponto1 x [x1 , xn ], esse procedimento
denominado interpolao. Se x estiver fora do intervalo [x1 , xn ] e ainda assim utilizarmos a
funo g para encontrar o valor aproximado de f nesse ponto, o procedimento denominado
extrapolao.

Exemplo 19: 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) = a1 ea2 x + a3 ea4 x . Determinar o valor dos coecientes
a1 , a2 , a3 e a4 signica determinar a interpolao.

Por denio, se g interpola o conjunto de pontos (entendido como {(xi , f (xi ))}4i=1 ) ento
os coecientes devem satisfazer as quatro equaes g(x1 ) = f (x1 ), . . ., g(x4 ) = f (x4 ), ou
seja, devem ser soluo do seguinte sistema de equaes no lineares:


a1 ea2 0.5 + a3 ea4 0.5 = 5.0


a ea2 0.5 + a ea4 0.5 = 0.81
1 3
.

a 1 e + a 3 ea 4
a 2 = 0.7


a ea2 1.5 + a ea4 1.5 = 0.55
1 3

Esse sistema possui soluo numrica dada por

a1 1.20334
a2 0.519387
a3 0.880292
a4 4.01704

1
Supondo que os pontos x1 , x2 , . . . , xn esto ordenados

107
5 Interpolao

gHxL

x
-0.5 0.5 1 1.5

-1

-2

-3

-4

-5

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 es-


colha de funo interpolante. No exemplo anterior a interpolao foi possvel pois o comporta-
mento dos pontos compatvel com a escolha realizada para a funo interpolante. Essa com-
patibilidade se manifesta na existncia de soluo para o sistema de equaes associado in-
terpolao. Se fosse escolhida uma funo com comportamento muito distinto do manifestado
pelos pontos, o sistema resultante poderia no possuir soluo.
A escolha de polinmios como funes interpolantes natural pelos seguintes motivos: pos-
svel aproximar uma grande variedade de funes, os polinmios so de fcil manipulao mate-
mtica (principalmente derivao e integrao) e o teorema de Weierstrass
Teorema 5.0.1 (Weierstrass)
Seja f uma funo contnua denida no intervalo fechado limitado [a, b] e seja um nmero
positivo. 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) = am xm + am1 xm1 + . . . + a1 x + a0 atravs de
m multiplicaes e m adies.
Basta reescrever o polinmio na forma concatenada:

p(x) = ((. . . ((am x + am1 )x + ama )x + . . . + a2 )x + a1 )x + a0 .

Assim, p(x) pode ser calculado iterativamente: se denominarmos bm = am , am x + am1 =

108
5.1 Interpolao polinomial

bm x + am1 = bm1 , ento obtemos uma recurso para os bi de modo que p(x) = b0 . Por
exemplo, o polinmio p(x) = 3x3 + 8x2 x + 1 = ((3x + 8)x 1) + 1. Nesse caso b3 = 3,
b2 = b3 x + 8 = 3x + 8, b1 = b2 x 1 = (3x + 8)x 1 e nalmente p(x) = b0 = b1 x + 1.

5.1 Interpolao polinomial

Seja fi , i = 1, 2, . . . , n, o valor da funo f calculada nos n pontos de interpolao xi . Encontrar


o polinmio de grau m que interpola f nesses pontos consiste em resolver o sistema de equaes
lineares fi f (xi ) = p(xi ), ou seja o sistema


am xm + am1 xm1 + . . . + a1 x1 + a0 = f1


1 1
am x m + am1 x2m1
+ . . . + a1 x2 + a0 = f2
2
. . .. .. .. .. (5.1)

.. .. . . . .



am xmn + am1 xm1
n + + a1 xn + a0 = fn

As m+1 incgnitas so os coecientes do polinmio, a0 , a1 , . . . , am 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
teorema garante a unicidade do polinmio interpolante, o que nos permite buscar maneiras alter-
nativas de constru-lo. Por ser nico, o resultado ser independente da construo.

Teorema 5.1.1 (unicidade do polinmio interpolante)


Sejam x1 , . . . , xn , pontos distintos. Para um conjunto arbitrrio de valores f1 , . . . , fn existe um e
somente um polinmio p de grau menor ou igual a n 1 tal que

p(xi ) = fi ,

para i = 1, 2, . . . , n.

Demonstrao: No caso em que temos n pontos distintos e procuramos um polinmio 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,

xn1
1 xn2
1 x21 x1 1
n1
x2 xn2 x22 x2 1
. 2 .
. .. .. .. ..
. . . . .
n1
xn n2
xn x2n xn 1

109
5 Interpolao

Por hiptese os xi so distintos, portanto o determinante da matriz, dado por



(xj xi )
1i<jn

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, lj (x) tal que para
cada 1 k n, o valor de lj no ponto de interpolao xk tal que

lj (xk ) = j,k ,

onde j,k o delta de Kronecker2 . Nesse caso, os polinmios lj permitem reescrever o polinmio
interpolante p(x):


n
p(x) = f1 l1 (x) + f2 l2 (x) + . . . + fn ln (x) = fj lj (x),
j=1

n n
podemos trivialmente vericar que p(xk ) = j=1 fj lj (xk ) = j=1 fj j,k = fk . Portanto se
formos capazes de construir os polinmios lj a interpolao estar determinada. Vamos ento
constru-los a partir das seguintes consideraes.
Segundo a sua denio lj (xk ) = 0 para todo xk tal que k = j , ento os pontos xk so razes de
lj , se j = k e portanto, a menos de uma constante multiplicativa, Cj , o polinmio lj determinado
pelo produtrio

lj (x) = Cj (x x1 )(x x2 ) . . . (x xj1 )(x xj+1 ) . . . (x xn )


n
= Cj (x xi ).
i=1
i=j

Por m, a constante Cj pode ser determinada atravs da propriedade lj (xj ) = 1:


n
lj (xj ) = 1 Cj (xj xi ) = 1,
i=1
i=j

ou seja

n
1
Cj = .
(xj xi )
i=1
i=j

2
O delta de Kronecker denido pela expresso
{
0 , k
j=
j,k = ,
1 , j=k

onde j e k so dois nmeros inteiros.

110
5.1 Interpolao polinomial

Dessa forma, os polinmios lj (x), denominados polinmios de Lagrange so determinados a


partir do seguinte produtrio

n
x xi
lj (x) =
xj xi
i=1
i=j

e a interpolao de Lagrange

n
p(x) = fj lj (x).
j=1

Exemplo 20: Seja a funo f (x) = sen(x) a partir da qual construmos a interpolao nos
trs pontos x1 = 0, x2 = 1 e x3 = 2. Ser ento um polinmio de segundo grau. Os pontos
de interpolao so dados por

j xj fj = sen(xj )
1 0 0
2 1 sen(1)
3 2 sen(2)

os polinmios de Lagrange so ento dados por

(x 1)(x 2) x2 3x + 2
l1 (x) = = ,
(0 1)(0 2) 2

(x 0)(x 2)
l2 (x) = = x2 + 2x
(1 0)(1 2)
e
(x 0)(x 1) x2 x
l3 (x) = = .
(2 0)(2 1) 2
A interpolao dada por
( ) ( )
sen(2) sen(2)
p(x) = sen(1) x2 + 2sen(1) x
2 2

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) = a0 + a1 (x x1 ) + a2 (x x1 )(x x2 ) + . . . + an1 (x x1 ) . . . (x xn1 ).

Por construo, o valor de p calculado em x = x1

p(x1 ) = a0 .

111
5 Interpolao

Alm disso, como p(x) o polinmio interpolante, p(x1 ) = f1 , portanto,

a0 = f1 .

Da mesma forma,

p(x2 ) = a0 + a1 (x2 x1 ) = f2

= f1 + a1 (x2 x1 ) = f2 ,

ou seja,
f2 a0
a1 =
x2 x1
e assim por diante, os coecientes so determinados recursivamente e o k -simo coeciente
determinado em funo dos pontos de interpolao e dos coecientes anteriores pela expresso
k1
fk+1 a0 j=1 aj (xk+1 x1 ) . . . (xk+1 xj )
ak = k . (5.2)
j=1 (xk+1 xj )

A frmula de recorrncia (5.2) pode ser convenientemente descrita atravs da notao de diferen-
as divididas. Seja a funo f [xk , xk+1 , . . . , xl+1 ] denida pela relao de recorrncia

f [xk+1 , xk+1 , . . . , xl+1 ] f [xk , xk+1 , . . . , xl ]


f [xk , xk+1 , . . . , xl , xl+1 ] =
xl+1 xk

e
.
f [xk ] = fk = f (xk ).

Assim, podemos vericar que

f [xk+1 ] f [xk ]
f [xk , xk+1 ] =
xk+1 xk

e
f [xk+1 , xk+2 ] f [xk , xk+1 ]
f [xk , xk+1 , xk+2 ] = .
xk+2 xk
Nessa notao, os coecientes do polinmio so dados por

a0 = f [x1 ],
a1 = f [x1 , x2 ],
a2 = f [x1 , x2 , x3 ],
.. .. ..
. . .
an1 = f [x1 , x2 , . . . , xn ].

Diagramaticamente, os coecientes so calculados a partir da sequncia de diferenas divididas

112
5.1 Interpolao polinomial

calculadas recursivamente:

x1 f [x1 ] f [x1 , x2 ] f [x1 , x2 , x3 ] ... f [x1 , . . . , xn1 ] f [x1 , . . . , xn ]



x2 f [x2 ] f [x2 , x3 ] f [x2 , x3 , x4 ] ... f [x2 , . . . , xn ]

x3 f [x3 ] f [x3 , x4 ] f [x3 , x4 , x5 ] ...
... ..
.
..
.
..
.
..
.
..
.
..
.
xn2 f [xn2 ] f [xn2 , xn1 ] f [xn2 , xn1 , xn ]

xn1 f [xn1 ] f [xn1 , xn ]

xn f [xn ]

Exemplo 21: Vamos realizar a interpolao da funo sen(x) no intervalo x [0, 2] atravs
de um polinmio de segundo grau nos pontos x1 = 0, x2 = 1 e x3 = 2. Neste caso,

j xj fj = sen(xj )
1 0 0
2 1 sen(1)
3 2 sen(2)

e f [x1 ] = 0, f [x2 ] = sen(1) e f [x3 ] = sen(2). As prximas diferenas divididas so dadas


por
f [x2 ] f [x1 ] sen(1) 0
f [x1 , x2 ] = =
x2 x1 10
e
f [x3 ] f [x2 ] sen(2) sen(1)
f [x2 , x3 ] = = .
x3 x2 21
Finalmente,

f [x2 , x3 ] f [x1 , x2 ] sen(2) sen(1) sen(1)


f [x1 , x2 , x3 ] = = .
x3 x1 20

Portanto, o polinmio interpolante

p(x) = f [x1 ] + f [x1 , x2 ] (x x1 ) + f [x1 , x2 , x3 ] (x x1 )(x x2 )


sen(2) 2sen(1)
p(x) = sen(1) x + x(x 1)
2
Exerccio 5.1.2. 1) Inclua o ponto x4 = 1/2 na interpolao anterior e encontre o polinmio
interpolante de terceiro grau.
2) Encontre o polinmio interpolante de terceiro grau nos mesmos pontos do exemplo anterior
(incluindo o ponto x4 = 1/2) para as funes cos(x), xsen(x) e ex 1.

Exemplo 22: A solubilidade do clorato de potssio em gua KClO3 nas temperaturas de 0 C ,


10 C , 20 C , 30 C e 40 C de 3.3g , 5.2g , 7.3g , 10.1g e 13.9g por 100g de H2 O, respectiva-
mente.

113
5 Interpolao

Nosso objetivo estabelecer uma boa aproximao para o valor da solubilidade a 25 C .


Vamos inicialmente aproximar a solubilidade a partir de trs valores de temperatura. Seja
portanto, {(xi , fi )}3i=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 [x1 ], f [x1 , x2 ], f [x1 , x2 , x3 ] e cons-
truir o polinmio

p(x) = a0 + a1 (x 10) + a2 (x 10)(x 20),

onde a0 = f [x1 ], a1 = f [x1 , x2 ] e a2 = f [x1 , x2 , x3 ].

f [x1 ] f1 = 5.2

e a0 = 5.2.
f2 f1 7.3 5.2
f [x1 , x2 ] = = = 0.21
x2 x1 20 10
e a1 = 2.1 101 .

f [x2 x3 ] f [x1 , x2 ] f [x2 x3 ] 0.21


f [x1 , x2 , x3 ] = =
x3 x1 30 10

Para calcular essa quantia ser necessrio determinar tambm o valor de f [x2 , x3 ].

f3 f2 10.1 7.3
f [x2 , x3 ] = = = 0.28
x3 x2 30 20

Assim,
0.28 0.21
[x1 , x2 , x3 ] = = 0.0035
30 10
e a2 = 3.5 103 .

Portanto a interpolao dada por

p(x) = 5.2 + 2.1 101 (x 10) + 3.5 103 (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
conter esse mesmo nmero de dgitos, ou seja, a solubilidade a 25 C de aproximadamente
8.6g de KClO3 por 100g de H2 O. Uma maneira de estabelecer a validade dessa aproximao
incluir mais termos interpolao e vericar se a nova aproximao coincide. Vamos en-
to incluir o valor da solubilidade a 40 C como um quarto dado, ou seja, vamos incluir o
ponto (x4 , f4 ) = (40; 13.9). Nesse caso, como (x1 , f1 ), (x2 , f2 ) e (x3 , f3 ) so os mesmos do
polinmio anterior, a0 , a1 e a2 sero os mesmos no novo polinmio:

p(x) = 5.2 + 2.1 101 (x 10) + 3.5 103 (x 10)(x 20) + a3 (x 10)(x 20)(x 30),

114
5.1 Interpolao polinomial

onde a3 = f [x1 , x2 , x3 , x4 ]. Vamos ento determinar f [x1 , x2 , x3 , x4 ].

f [x2 , x3 , x4 ] f [x1 , x2 , x3 ] f [x2 , x3 , x4 ] 0.0035


f [x1 , x2 , x3 , x4 ] = = ,
x4 x1 40 10

f [x3 , x4 ] f [x2 , x3 ] f [x3 , x4 ] 0.28


f [x2 , x3 , x4 ] = =
x4 x2 40 20
e
f4 f3 13.9 10.1
f [x3 , x4 ] = = = 0.38.
x4 x3 40 30
Dessa forma, substituindo os valores

0.38 0.28
f [x2 , x3 , x4 ] = = 0.005
20

e
0.005 0.0035
f [x1 , x2 , x3 , x4 ] = = 5 105 .
30
O novo polinmio

p(x) = 5.2+2.1101 (x10)+3.5103 (x10)(x20)+5105 (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
x1 , x2 , . . . , xn e seja p o polinmio de grau n 1 que interpola f nesses pontos. Ento pos-
svel mostrar3 que para cada x (a, b), existe um (x) (a, b) tal que

1 n
f (x) p(x) = f (n) () (x xi ). (5.3)
n!
i=1

Poderamos supor que para uma f contnua e sucientemente suave, a sequncia de polinmios
interpolantes {pn }n1 convergiria para f conforme aumentssemos o nmero de pontos de in-
terpolao no intervalo (a, b). No entanto, como o exemplo a seguir ilustra, isto nem sempre
ocorre.

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

115
5 Interpolao

Fenmeno de Runge

A seguinte funo, proposta por Carle D. T. Runge ao estudar o comportamento dos erros na
interpolao polinomial,
1
f (x) = , x [1, 1]
1 + 25x2
tal que a sequncia de polinmios interpolantes {pn }n construdos a partir de pontos de interpo-

lao igualmente espaados no converge4 para f (x) no intervalo de valores x (1, 0.727) (0.727, 1).
Na realidade possvel demonstrar que

lim max |f (x) pn (x)| = +.


n+ 1x1

Podemos analisar esse comportamento no regular da interpolao a partir do termo


n
(x xi ) (5.4)
i=1

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 aumenta-
mos o nmero de pontos se os mesmos forem igualmente espaados. Os grco seguintes ajudam
a ilustrar o comportamento do produtrio (5.4).
-7
610
0.0003
-7
410
0.0002
-7
210
0.0001

x
x -0.6 -0.4 -0.2 0.2 0.4 0.6
-1 -0.5 0.5 1
-7
-0.0001 -210

-0.0002 -7
-410

-0.0003 -7
-610

Figura 5.2: a) comportamento do produtrio (5.4) com 20 pontos igualmente espaados no inter-
valo [1, 1]. b) recorte do mesmo produtrio no intervalo [0.7, 0.7].

A amplitude das oscilaes pode ser minimizada atravs de uma escolha adequada de pontos
no uniformemente espaados. Na realidade, possvel demonstrar que a amplitude de oscilao
do termo (5.4) mnima quando os pontos xi esto espaados em um intervalo (a, b) segundo a
seguinte expresso ( )
a+b ab 2i 1
xi = + cos
2 2 2n
para i = 1, 2, . . . , n. Esses pontos so denominados ns de Chebyshev e consistem em uma trans-
formao am dos zeros do polinmio de Chebyshev de primeira espcie5 e grau n no intervalo
(1, 1).
4
A demonstrao pode ser encontrada na referncia :
Isaacson, E. ; Keller, H. Analysis of Numerical Methods (1966).
5
O polinmio de Chebyshev de primeira espcie e grau n, simbolizado por Tn (x) uma das duas solues linearmente

116
5.2 Interpolao spline

Utilizando os ns de Chebyshev no intervalo [1, .1] podemos controlar o comportamento dos


polinmios interpolantes para a funo de Runge e garantir a convergncia pn1 (x) f (x)
n
quando n +. De fato, o mximo para o valor absoluto de (x xi ) no intervalo
i=1
[1, 1] 21n quando xi so ns de Chebyshev.

-6
210

-6
110

x
-1 -0.5 0.5 1

-6
-110

-6
-210

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 106 para que a interpolao seja exata at 103 .
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 m 1.

independentes da equao diferencial de Chebyshev,


( )
1 x2 y xy + 2 y = 0

quando = n {0, 1, 2 . . .}. O polinmio pode ser construdo a partir das relaes de recorrncia

T0 (x) = 1, T1 (x) = x, Tn+1 (x) = 2xTn (x) Tn1 (x) para n = 1, 2, . . . ;

ou ainda, a partir da frmula explcita


( )
Tn (x) = cos n cos1 (x) , x [1, 1].

A partir dessa ltima frmula, no difcil demonstrar que os zeros pertencem ao intervalo (1, 1) e so da forma
( )
2i 1
xi = cos , i = 1, 2, . . . , n.
2n

117
5 Interpolao

sn-1 HxL
s1 HxL
s2 HxL
sn-2 HxL

x
x1 x2 x3 xn-2 xn-1 xn

Figura 5.4: Interpolao spline

Nas situaes em que o nmero de pontos de interpolao grande (por exemplo, em aplica-
es 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
interpolar possui derivadas de valor numrico elevado em alguma regio do intervalo de interpo-
lao, a aproximao prejudicada em todo o intervalo. Nessas situaes, a interpolao por
spline pode auxiliar a tarefa de interpolao.
O procedimento de construir splines anlogo qualquer que seja o grau dos polinmios utili-
zados, 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


Sejam x1 < x2 < . . . < xn os pontos e interpolao. um spline cbico uma funo s(x),
denida no intervalo [x1 , xn ] com as seguintes propriedades:

1. s(x), s (x) e s (x) so funes contnuas no intervalo (x1 , xn ).


.
2. Em cada subintervalo [xi , xi+1 ], s(x) um polinmio cbico tal que s(xi ) = fi = f (xi )
para i = 1, 2, . . . , n.

Portanto, s composto por n1 polinmios cbicos, cada polinmio determinado por 4 coeci-
entes (ai ,bi , ci e di ) o que d um total de 4n4 coecientes a determinar, ou seja 4n4 incgnitas.
Cada polinmio deve satisfazer a condio de continuidade nos pontos de interpolao alm,
claro, de interpolar o ponto xi , ou seja,

si (xi ) = fi (interpolao),

para i = 1, 2, . . . , n 1 e
sn1 (xn ) = fn .

A continuidade satisfeita se

si (xi+1 ) = fi+1 (continuidade de s ),

118
5.2 Interpolao spline

para i = 1, 2, . . . , n 2.. As condies acima implicam 2(n 1) equaes. Faltam ainda as


continuidades de s (x) e s (x):

si (xi+1 ) = si+1 (xi+1 ) (continuidade de s ),

si (xi+1 ) = si+1 (xi+1 ) (continuidade de s ),

para i = 1, 2, . . . , n 2. Cada condio equivale a n 2 equaes. Portanto temos at agora um


total de 4n 6 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,

s1 (x1 ) = 0

sn1 (xn ) = 0

possui esse nome por ser a condio equivalente aproximao por rguas elsticas (uso mais
tradicional do spline).

ii) spline com mesmas condies de f na extremidade,

s1 (x1 ) = f (x1 )

sn1 (xn ) = f (xn )

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


4 os coecientes ai ,bi , ci e di dos n 1 polinmios que compe o spline:

si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 . (5.5)

Por ser uma interpolao, a cada xi , temos que s(xi ) = fi , ou seja, si (xi ) = fi . Portanto, em
vista da equao (5.5) a interpolao implica

fi = si (xi ) = ai

para i = 1, 2, . . . , n 1. O que determina o valor dos coecientes ai .

119
5 Interpolao

A continuidade do spline s(x) nos pontos de interpolao implica a equao si (xi+1 ) = si+1 (xi+1 )
para i = 1, 2, . . . , n 2, ou seja,

ai + bi (xi+1 xi ) + ci (xi+1 xi )2 + di (xi+1 xi )3 = ai+1 ,

fi + bi (xi+1 xi ) + ci (xi+1 xi )2 + di (xi+1 xi )3 = fi+1 . (5.6)

Para aliviar a notao, vamos introduzir a notao hi = (xi+1 xi ). Dessa forma, a equao
anterior (5.6) pode ser reescrita como

fi + bi hi + ci h2i + di h3i = fi+1 (5.7)

A continuidade na primeira e na segunda derivadas implicam

bi + 2ci hi + 3di h2i = bi+1 (5.8)

e
ci + 3di hi = ci+1 (5.9)

para i = 1, 2, . . . , n 2.
Isolando di na equao (5.9) e substituindo em (5.7) e (5.8) encontramos respectivamente

h2i
fi+1 = fi + bi hi + (2ci + ci+1 ) (5.10)
3

e
bi+1 = bi + hi (ci + ci+1 ) (5.11)

para i = 1, 2, . . . , n 2.
Isolando bi na equao (5.10) podemos determin-lo em termos dos valores conhecidos fi , hi
e da incgnita ci (o mesmo acontece com os coecientes di , a partir da equao (5.9)),

fi+1 fi hi
bi = (2ci + ci+1 ), (5.12)
hi 3

para i = 1, 2, . . . , n 2.
A substituio de bi e bi1 dados pela equao (5.12) na equao (5.11) com os ndices desloca-
dos de uma unidade, ou seja, bi = bi1 + hi1 (ci1 + ci ), permite encontrar uma equao para
os coecientes ci em termos dos valores conhecidos fi e hi :
( ) ( )
fi+1 fi fi fi1
hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 = 3 3 , (5.13)
hi hi1

para i = 2, 3, . . . , n 1. A equao anterior dene um sistema de equaes lineares para as


incgnitas ci . Note que alm dos coecientes c1 , c2 , . . . , cn1 , o sistema envolve um coeciente
cn que no est diretamente relacionado a algum dos n 1 polinmios si . Na realidade, cn 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 completo (ou quase

120
5.2 Interpolao spline

completo).
As n2 equaes (5.13) envolvem n variveis (as incgnitas ci ), 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 (x1 ) = 0 e s (xn ) = 0, estas duas equaes
implicam respectivamente
c1 = 0

e
2cn1 + 6dn1 hn1 = 0. (5.14)

A equao (5.14) implica em termos da equao para os coecientes di (5.9) que cn = 0.


Colecionando esses resultados temos ento a seguinte situao: resolvendo o sistema de equa-
es


c1 = 0





( ) ( )
hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 = 3 fi+1hifi 3 fihf i1
, i = 2, . . . , n 1

i1





c
n = 0

encontramos o valor dos coecientes ci . A partir desses coecientes determinamos o valor dos
coecientes bi atravs das equaes (5.12)

fi+1 fi hi
bi = (2ci + ci+1 ),
hi 3

para i = 1, 2, . . . , n 1; e o valor dos coecientes di atravs da equaes

ci+1 ci
di = , (5.15)
3hi

para i = 1, 2, . . . , n 1, obtida a partir de (5.9). Os coecientes ai = fi como j havamos


determinado anteriormente.

Spline completo ou quase completo

Nesse caso o spline deve satisfazer as condies s (x1 ) = f (x1 ) f1 e s (xn ) = f (xn )
fn .Para determinar o spline, f1 e fn devem ser valores conhecidos. As condies implicam res-
pectivamente
b1 = f1 (5.16)

e
bn1 + 2cn1 hn1 + 3dn1 h2n1 = fn . (5.17)

121
5 Interpolao

Como os coecientes bi satisfazem a equao (5.12), a equao (5.16) implica

f2 f1 h1
f1 = b1 = (2c1 + c2 ),
h1 3

ou seja, ( )
f2 f1
2h1 c1 + h1 c2 = 3 3f1 . (5.18)
h1
Da mesma forma, no caso da equao (5.17), as equaes (5.12) e (5.15) implicam
( )
fn fn1
hn1 cn1 + 2hn1 cn = 3 + 3fn . (5.19)
hn1

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

2h c + h c = 3 f2 f1
3f1


1 1 1 2 h1




( ) ( )
hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 = 3 fi+1hifi 3 fihf i1
, i = 2, . . . , n 1

i1



( )


hn1 cn1 + 2hn1 cn = 3 fnhf n1
+ 3fn
n1

e ento determinar os coecientes bi e di atravs das equaes (5.12) e (5.15):

fi+1 fi hi
bi = (2ci + ci+1 ),
hi 3

ci+1 ci
di = ,
3hi
para i = 1, 2, . . . , n 1. Naturalmente, os coecientes ai = fi .

122
5.2 Interpolao spline

Exemplo 23: Vamos determinar a interpolao spline cbica (natural e completo) para a
funo seno, no intervalo [0, 2] a partir de 5 pontos igualmente espaados. Ou seja,
{( ( ))}5
(i 1) (i 1)
{(xi , fi )}5i=1 = , sin
2 2
{ ( ) ( )
i=1
}
3
= (0, 0) , , 1 , (, 0) , , 1 , (2, 0)
2 2

Como o conjunto de pontos possui o mesmo espaamento na coordenada x, ento todos os



hi so iguais a .
2
O spline cbico uma funo s(x) da forma


s1 (x), 0x<

2


s2 (x), x<
s(x) = 2
3 ,

s3 (x), x<

2

s (x), 3
4 x 2
2

onde cada si (x) um polinmio cbico

si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 .

Quando se tratar de um spline natural ento os coecientes ci so determinados atravs do


sistema

c1 = 0(

) ( )



h c + 2(h1 + h2 )c2 + h2 c3 = 3 f3hf 2
3 f2 f1
1 1 ( 2 ) ( h1 )
f4 f3
h2 c2 + 2(h2 + h3 )c3 + h3 c4 = 3 3 f3hf 2
. (5.20)

( h3 ) ( 2 )



h3 c3 + 2(h3 + h4 )c4 + h4 c5 = 3 f5hf 4
3 f4hf 3


4 3
c = 0
5

Uma vez determinados os coecientes ci , os coecientes bi e di so funes deste:

fi+1 fi hi
bi = (2ci + ci+1 ) ,
hi 3

ci+1 ci
di = ,
3hi
para i = 1, 2, 3, 4.

Neste exemplo hi = para todo i. Substituindo os demais valores para fi no sistema
2
(5.20) teremos

c1 = 0



12

c1 + 2c2 + c3 =
2 2

c2 + 2c3 + c4 = 0

2 2

12

c3 + 2c4 + c5 =


2 2
c5 = 0

123
5 Interpolao

cuja soluo dada por

c1 = 0,
6
c2 = ,
2
c3 = 0,
6
c4 = ,
2
c5 = 0.

A partir dessa soluo temos tambm que

3
b1 = ,

b2 = 0,
3
b3 = ,

b4 = 0

4
d1 = ,
3
4
d2 = ,
3
4
d3 = ,
3
4
d4 = 3.

Como ai = fi para i = 1, 2, 3, 4, o spline natural cbico dado ento por



3 4

x 3 x3 , 0x<

6 ( )2 4 (
)3 2


1 2 x + 3 x , x<
2 2 2
s(x) = 3 4 3 .

(x ) + 3 (x )3 , x<

( )2 ( ) 2



6 3 4 3 3 3
1 + 2 x 3 x , x 2
2 2 2

124
5.2 Interpolao spline

sHxL sen HxL - s HxL



sen HxL
1

0.04

0.5
0.03

x 0.02

3 2
2
2
0.01
-0.5

x

3 2
2
-1 2

Figura 5.5: a) Interpolao spline cbica (natural) da funo seno em 5 pontos igualmente espa-
ados 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.

O sistema para as constantes ci no caso de um spline completo assume a forma


( )

2h1 c1 + h1 c2 = 3 f2 f1
3f1

( h1 ) ( )



h1 c1 + 2(h1 + h2 )c2 + h2 c3 = 3 f3hf 2
3 f2 f1

( 2 ) ( h1 )
f4 f3
h2 c2 + 2(h2 + h3 )c3 + h3 c4 = 3 3 f3hf 2
.

( h 3 ) ( 2 )



h3 c3 + 2(h3 + h4 )c4 + h4 c5 = 3 f5hf 4
3 f4hf 3

( 4 ) 3

h4 c4 + 2h4 c5 = 3 f5hf 4
4
+ 3f5


Neste exemplo hi = para todo i. Substituindo os demais valores para fi no sistema acima
2
teremos aps algumas manipulaes algbricas

12 6

2c1 + c2 =



12

c1 + 2c2 + c3 =



2 2

c2 + 2c3 + c4 = 0


2 2

12

c3 + 2c4 + c5 =

2 2 ( )

12 6

c4 + 2c5 =

cuja soluo dada por

24
c1 = (3 + ) ,
7 2
6
c2 = (10 + ) ,
7 2
c3 = 0,
6
c4 = 2 (10 + ) ,
7
24
c5 = (3 + ) .
7 2

125
5 Interpolao

A partir dessa soluo temos tambm que

b1 = 1,
2
b2 = (3 + ) ,
7
24 +
b3 = ,
7
2
b4 = (3 + )
7

4
d1 = (22 + 5) ,
7 3
4
d2 = 3 (10 + ) ,
7
4
d3 = (10 + ) ,
7 3
4
d4 = (22 + 5) .
7 3

Como ai = fi para i = 1, 2, 3, 4, o spline cbico completo dado ento por




s1 (x), 0x<

2


s2 (x), x<
s(x) = 2
3 ,

s3 (x), x<

2

s (x), 3
4 x 2
2

onde

24 (3 + ) 2 4 (22 + 5) 3
s1 (x) = x x + x
7 2 7 3
2 (3 + ) ( ) 6 (10 + ) ( )2 4 (10 + ) ( )3
s2 (x) = 1 x + x x ,
7 2 7 2 2 7 3 2
24 + 4 (10 + )
s3 (x) = (x ) (x )3 ,
7 7 3
( ) ( ) ( )
2 (3 + ) 3 6 (10 + ) 3 2 4 (22 + 5) 3 3
s4 (x) = 1 x x + x .
7 2 7 2 2 7 3 2

126
5.2 Interpolao spline

sHxL sen HxL - s HxL



sen HxL
1
0.05

0.5 0.04

0.03

x
3 2

2 0.02
2

-0.5 0.01

x

3 2
2
-1 2

Figura 5.6: a) Interpolao por spline cbico completo da funo seno em 5 pontos igualmente
espaados no intervalo [0, 2]. b) Diferena entre a interpolao 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
1
pontos x = 0 e x = 2 diminui o erro relativo na vizinhana desses pontos em quase do
4
valor original enquanto que o erro relativo na metade do intervalo sofre um aumento muito
discreto.

Exemplos
1) Construa o spline quase completo para o conjunto de pontos dado pela tabela abaixo e deter-
|y (x)|
mine o intervalo no qual a curvatura, , do spline assume o maior valor.
(1 + y (x)2 )3/2

x 0 1 2 3 3.1 3.2 3.8 4.5


y 0 1.5 1.8 1.5 1.5 1 0.2 0.3

(Sugesto: trabalhe com os coecientes do spline e a funo sp_val e determine o intervalo a


partir do grco para a curvatura).

// Coordenadas dos pontos de interpolao


xi=[0 1.0 2.0 3.0 3.1 3.2 3.8 4.5];
yi=[0 1.5 1.8 1.5 1.5 1.0 0.2 0.3];

// Derivadas numricas nas extremidades


dy_e=(yi(2)-yi(1))/(xi(2)-xi(1)); // esquerda.
dy_d=(yi(8)-yi(7))/(xi(8)-xi(7)); // direita.

// Coecientes dos polinmios no spline cbico quase completo.


spl_y=spline3_interp([xi;yi],dy_e,dy_d);

// Grco do spline cbico no intervalo [0,4.5]


// Vamos utilizar 300 pontos nos grcos:
xvar=linspace(0,4.5,300);
y=sp_val(spl_y,xi,xvar); // valores de y(x) nos pontos xvar.
plot(xvar,y);

127
5 Interpolao

xgrid;

// Coecientes dos polinmios no spline quadrtico para y'


spl_dy=[spl_y(:,2) 2*spl_y(:,3) 3*spl_y(:,4) zeros(7,1)];
dy=sp_val(spl_dy,xi,xvar); // valores de y'(x) nos pontos xvar.

// Grco do spline quadrtico para y'


scf(); // abre nova janela grca.
plot(xvar,dy);
xgrid;

// Coecientes dos polinmios no spline linear para y''


spl_d2y=[2*spl_y(:,3) 6*spl_y(:,4) zeros(7,2)];
d2y=sp_val(spl_d2y,xi,xvar); // valores de y''(x) nos pontos xvar.

// Grco do spline linear para y''


scf(); // abre nova janela grca.
plot(xvar,d2y);
xgrid;

// Abre nova janela grca


scf();
// Grco da curvatura local, |y''|/((1+y'^2)^1.5)
plot(xvar,abs(d2y)./((1+dy^2)^1.5));
xgrid;
A partir do grco da curvatura, podemos vericar que a regio de maior curvatura est no
intervalo (3, 3.1).

2) As matrizes marcha1 e marcha2 contm valores da relao entre velocidade e acelerao


de um veculo para duas diferentes marchas em unidades SI. A velocidade tima para a troca
de marchas dada pelo ponto no qual as curvas se cruzam. Neste caso, entre 22m/s e 26m/s.
Construa um spline cbico quase completo para as duas relaes de marcha e determine uma
aproximao para a velocidade tima com quatro dgitos.

// relao vel. X acel. na 1 marcha.


marcha1=[5 10 14 20 22 26;6.5 7.4 7.9 7 6.6 5.1];
// Derivadas numricas nas extremidades
da1_e=(7.4-6.5)/(10-5); // esquerda.
da1_d=(5.1-6.6)/(26-22); // direita.

// relao vel. X acel. na 2 marcha.


marcha2=[5 10 14 18 22 26; 4.5 5.7 6.2 6.4 6.0 5.5];
// Derivadas numricas nas extremidades
da2_e=(5.7-4.5)/(10-5); // esquerda.
da2_d=(5.5-6.0)/(26-22); // direita.

// Coecientes dos polonmios nos splines cbicos


spl_a1=spline3_interp(marcha1,da1_e,da1_d);

128
5.2 Interpolao spline

spl_a2=spline3_interp(marcha2,da2_e,da2_d);

// Grco dos splines cbicos para marcha1 e marcha2


// Inicialmente desenharemos apenas os pontos de
// interpolao para marcha1 e marcha2
scf(); \\ abre nova janela grca.
plot(marcha1(1,:),marcha1(2,:),'.r');
plot(marcha2(1,:),marcha2(2,:),'.r');
// Vamos utilizar 300 pontos no intervalo [5,26] para
// desenhar as curvas dos splines.
v_var=linspace(5,26,300);
plot(v_var,sp_val(spl_a1,marcha(1,:),v_var),'-g');
plot(v_var,sp_val(spl_a2,marcha(2,:),v_var),'-g');
xgrid;

// As duas curvas se encontram em um ponto no intervalo


// (22,26). A velocidade de troca corresponde ao zero
// da funo
function z=f(x)
z=spl_a1(5,1)-spl_a2(5,1)..
+(spl_a1(5,2)-spl_a2(5,2))*(x-22)..
+(spl_a1(5,3)-spl_a2(5,3))*(x-22)^2 ..
+(spl_a1(5,4)-spl_a2(5,4))*(x-22)^3
endfunction

v=zero_newraph(f,23.5,100);
A velocidade de troca tima vale aproximadamente 24,56m/s.

129
5 Interpolao

5.3 Exerccios
1) (Aquecimento) Cheque, indiretamente, a exatido das bibliotecas de funes de seu computa-
dor ou calculadora cientca atravs da anlise do comportamento das seguintes identidades nos

valores de x = i , para i = 1, 2, . . . , 9.
20
1. sen2 (x) + cos2 (x) = 1

2. sen(2x) = 2sen(x) cos(x)

3. cos(x) = sen(x + /2)

4. exp(x) exp(x) = 1

5. ln(ex ) = 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).

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 x0 = 0, 5
ii) Interpolao de Lagrange com pontos igualmente espaados, com x1 = 0 at x4 = 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. ex

3. x
1
4.
1 + 25x2

130
5.3 Exerccios

5. x4

4) Seja a funo f (x) = (x 0.2)(x 0.3)e(x+0.5) . Escolha um nmero suciente de pon-


2

tos 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) Verique se as seguintes funes so splines




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


x+1 , 1x2


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


x+1 , 1x2


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


2x 1 , 1 x 2

7) Determine os valores de a e b de forma que a seguinte funo



3
x +x , 1 x < 0
f (x) =


ax2 + bx , 0x1

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.
{
dx3 9x2 + bx , 1 x < 0
s(x) = .
3x3 + cx2 + x , 0x1

9) Considere os dados da tabela abaixo.


xi 1.0 1.1 1.3 1.5 1.9 2.3 2.4 2.7 2.9 3.0
f (xi ) -0.9 -0.5 -0.1 0.3 0.4 0.5 1.0 1.3 1.5 1.9
g (xi ) 1.6 1.5 1.5 1.4 1.3 1.0 0.5 -0.1 -0.3 -0.5

131
5 Interpolao

Construa um polinmio interpolante para cada conjunto de dados e determine o valor de x


[1, 3] (arredondado para seis dgitos) no qual as curvas se encontram.

10) A relao entre ponto de congelamento e proporo (em peso) da mistura de gua e glice-
rina dada pela tabela abaixo
%glicerina (em peso) 10 20 30 40 50 60 70 80 90 100
temp. de congel. (C) 1.6 4.8 9.5 15.5 22.0 33.6 37.8 19.2 1.6 17
Determine uma estimativa com trs dgitos para a temperatura de congelamento de uma soluo
com 27% de glicerina (em peso) a partir da interpolao polinomial de quatro valores da tabela
no intervalo de concentrao de glicerina entre 10% e 40%.

11) Utilize os dados da tabela anterior e determine uma aproximao com trs dgitos para o
valor mnimo da temperatura de congelamento de uma mistura de gua e glicerina. (Sugesto:
construa o polinmio interpolante p e encontre a raiz real de p no intervalo dado pela tabela).

12) A partir dos dados da tabela abaixo,


temperatura (C) 0 4 5 10 15
densidade (g/cm3 )
0.99984 0.99997 0.99996 0.99970 0.99910
construa dois polinmios interpolantes de grau 3, um adequado temperatura de 3.5C e outro
12C e os utilize para encontrar uma aproximao com cinco dgitos para o volume ocupado por
uma determinada massa de gua a 3.5C se a 12C a mesma massa ocupa um volume de 1L.

13) A expanso/contrao linear de um objeto obtida a partir da expresso


T
l(T ) = l0 + l0 T0 ( )d,
onde l(T ) o comprimento linear do objeto a uma temperatura T , l0 o comprimento desse
mesmo objeto a uma temperatura T0 e ( ) o coeciente de expanso trmica linear do objeto
a uma temperatura . A tabela abaixo contm os valores para o coeciente de expanso trmica
linear de duas substncias; um material cermico e o uoreto de escndio (ScF6 ):
T (K) 200 400 600 800 1000 1200 1400
cer (10-6 K-1 ) 5.04 7.88 7.99 9.48 9.92 10.1 10.2
ScF6 (10-6 K-1 )
-9.69 -5.44 -2.82 -1.26 -0.238 0.578 1.87
Um determinado material, composto por uma frao r de material cermico e (1 r) do uoreto
de escndio, possui a seguinte expresso
( para expanso linear em funo da)temperatura
T T
l(T ) = l0 + l0 r T0 cer ( )d + (1 r) T0 ScF6 ( )d .
Determine o valor mnimo e mximo para a razo l(T )/l0 quando r = 0.3, T0 = 350 e T pertence
ao intervalo [200, 500]. (Observao: utilize todos os dados no seus clculos).
medskip
14) Os dados da tabela abaixo contm as posies de um corpo ao longo do tempo (em unidades
SI).
ti 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
xi 0 4.97e-3 1.15e-2 1.59e-2 1.90e-2 2.24e-2 2.18e-2 1.48e-2 6.15e-3 1.45e-4 -7.46e-3
yi 0 7.28e-5 4.52e-3 1.27e-2 2.25e-2 2.59e-2 2.30e-2 1.55e-2 2.15e-3 -1.40e-2 -2.74e-2
A partir das expresses dos splines cbicos para cada coordenada, determine o maior valor (com
trs dgitos) que o mdulo da velocidade

(x (t))2 + (y (t))2
assume ao longo da trajetria.

132
5.3 Exerccios

15) A partir dos dados abaixo, construa um spline cbico quase completo e determine uma
aproximao com trs dgitos para o valor t no qual o spline se anula.
t 0 0.1 0.18 0.27 0.36 0.44 0.53 0.62 0.71 0.8
f (t) 1 0.986 0.946 0.879 0.788 0.676 0.545 0.399 0.242 0.0785
16) Os dados da tabela abaixo contm as coordenadas de dois corpos ao longo do tempo.
t 0 0.1 0.18 0.27 0.36 0.44 0.53 0.62 0.71 0.8
x1 0 0.174 0.342 0.5 0.643 0.766 0.866 0.94 0.985 1
y1 1 0.98 0.921 0.824 0.695 0.537 0.358 0.165 -0.0349 -0.233
x2 1.5 1.32 1.14 0.978 0.831 0.707 0.609 0.541 0.505 0.503
y2 10.986 0.946 0.879 0.788 0.676 0.545 0.399 0.242 0.0785
dx1 dy1 dx1 dy1 dx2
Dado ainda que (0) = 2, (0) = 0, (0.8) = 0.0584, (0.8) = 2.22, (0) =
dt dt dt dt dt
dy2 dx2 dy2
2.1, (0) = 0, (0.8) = 0.229 e (0.8) = 1.9; utilize a tcnica de interpolao
dt dt dt
segmentada (splines cbicos) para determinar uma aproximao com quatro dgitos para a menor
distncia entre os corpos ao longo das suas trajetrias.

133
6 Ajuste de mnimos quadrados

No captulo anterior, foram desenvolvidas tcnicas para fornecer uma expresso matemtica para
o comportamento de um conjunto de pontos (pares ordenados) {(xi , fi )}ni=1 . A idia consistia em
prescrever uma funo modelo dependente de uma quantidade de parmetros e ento determinar
o valor dos mesmos exigindo que a funo assuma os valores fi em cada xi . Essa exigncia deter-
mina equaes que os parmetros devem satisfazer. Uma vez resolvidas as equaes, a expresso
matemtica para o comportamento dos pontos estar denida.
A exigncia de que a funo modelo se iguale a fi nos pontos xi pode ser substituda por uma
outra exigncia menos estrita. Por exemplo, poderamos estar interresados em limitar de alguma
forma os erros cometidos na representao do comportamento dos pontos pelo modelo.
Seja ento (x), uma funo candidata a modelar o comportamento dos dados. Se relaxarmos
a exigncia de que uma interpolao, em cada ponto xi , a funo pode no valer exatamente
fi . Nesse caso, haver um resduo ri = fi (xi ). Agora, o objetivo controlar o total desses
resduos. Para tanto, os parmetros que denem devem ser tais que a totalidade desses resduos
seja a menor possvel (mas sem que sejam todos iguais a zero necessariamente).
O coleo dos resduos pode ser controlada a partir de uma sria de medidas. Por exemplo,
2
i |ri |, i ri ou ainda maxi |ri |. No entanto, se os erros que impedem uma el reproduo
do comportamento dos pontos pela funo possuirem a natureza de variveis aleatrias des-
correlacionadas, de mdia nula e mesma varincia, possvel demonstrar1 que a melhor escolha

de parmetros para dada pelo mnimo valor que i ri2 assumir. Por essa razo, a tarefa de
determinar a funo que satisfaa esse critrio determinada ajuste de mnimos quadrados.
Assim, seja uma ( funo de ) uma varivel, denida a menos de um conjunto de m par-
m m
metros {aj }j=1 , x; {aj }j=1 . O ajuste de mnimos quadrados de ao conjunto de pontos
{ }m
P = {(xi , fi )}i=1 , consiste em determinar os valores aj
n
que correspondam ao mnimo da
j=1
funo Q

.
n
QP (a1 , a2 , . . . , am ) = (fi (xi ; a1 , a2 , . . . , am ))2 .
i=1

Se a dependncia de nos parmetros aj no for linear, a tarefa de detreminar o mnimo de


QP pode ser consideravelmente complexa. Nos mnimos locais, as derivadas parciais de QP se
anulam, portanto, o ponto de partida consiste em montar as equaes a partir dessa exigncia. No
entanto, os mnimos locais so um dos tipos de ponto crtico associados soluo dessas equaes.
Os outros so os pontos de mximo e os pontos de sela. Assim, alm de resolver essas equaes
necessrio conhecer o comportamento da matriz hessiana (nesse caso, necessrio conhecer seus
autovalores) no ponto crtico para ento conrmar se esse ponto crtico se trata de um mnimo
1
Esse resultado um teorema em estatstica, conhecido como teorema de Gauss-Markov.

135
6 Ajuste de mnimos quadrados

local. A tarefa seguinte escolher o menor dos mnimos. Se for levado em considerao que
podem existir innitas solues, o quadro j no to animador.

Felizmente, de maneira anloga que ocorre nos problemas de interpolao, se a dependncia


de nos parmetros for linear, essas diculdades so prontamente eliminadas. Esse o caso do
ajuste de mnimos quadrados linear.

6.1 Ajuste de mnimos quadrados linear

Se a funo que se deseja ajustar for uma combinao linear de m funes conhecidas e linear-
mente independentes, a tarefa de se determinar um conjunto de parmetros que minimize a soma
do quadrado dos resduos consiste em resolver um sistema de equaes lineares.

Seja portanto, a combinao linear formada por um conjunto linearmente independente for-
mado por m funes conhecidas {j (x)}m
j=1 :


m
(x) = aj j (x).
j=1

Uma vez xados os dados e o conjunto de funes, a soma quadrtica dos resduos2 depende
apenas dos coecientes da combinao linear,
2
.
n
n
m
Q (a1 , a2 , . . . , am ) = (fi (xi ))2 = fi aj j (xi ) . (6.1)
i=1 i=1 j=1

Nesse caso, podemos notar que em termos dos coecientes aj , Q representa um parabolide
imerso no Rm+1 . Basta agora vericar a natureza do ponto crtico dessa superfcie. Seria de-
sejvel que o ponto crtico correspondesse ao mnimo de Q, mas antes disso necessrio excluir
a possibilidade de que ele seja um ponto de sela.

O ponto crtico corresponde soluo do sistema de equaes




Q

= 0

a 1


Q = 0
a2

..

.


Q

= 0
am

2
Daqui em diante, deixar de ser utilizado o subescrito P na denio da funo Q.

136
6.1 Ajuste de mnimos quadrados linear

A forma da derivada parcial de Q com respeito ao coeciente ak corresponde a


2
Q
n
m
= fi aj j (xi )
ak ak
i=1 j=1
2

n

m
= fi aj j (xi )
ak
i=1 j=1


n
m

m
= 2 fi aj j (xi ) fi aj j (xi )
ak
i=1 j=1 j=1


n
m
= 2 fi aj j (xi ) k (xi )
i=1 j=1

n
n
m
= 2 fi k (xi ) aj j (xi ) k (xi ) , (6.2)
i=1 i=1 j=1

onde na passagem da primeira para a segunda linha, foi utilizado o fato de que a derivao uma
operao linear (ou seja, a derivada da soma de vrias funes igual a soma de suas derivadas).
Assim a k -sima equao do sistema pode ser escrita como
n
m
n
aj j (xi ) k (xi ) = fi k (xi ) . (6.3)
i=1 j=1 i=1

Nesse ponto j podemos identicar claramente que o sistema de equaes linear nos coecientes
aj . No entanto til exprimir o sistema de equaes na forma matricial. Antes de faz-lo, vale
relembrar

Observao 6.1.1 (Multiplicao matricial). Sejam duas matrizes Apq e Bqr de componentes
ai,j = (A)i,j e bi,j = (B)i,j . Ento, o elemento de ndices i, j do produto A B dado pelo
somatrio (note que a ordem importante)


q
(A B)i,j = ai,k bk,j ,
k=1

para i = 1, 2, . . . , p e j = 1, 2, . . . , r.

A partir dessa observao, possvel vericar que o lado esquerdo de (6.3) corresponde a dois
produtos matriciais e o lado direito a um produto matricial. Sejam as matrizes , a e f , cujas
componentes so dadas por

.
()i,j = j (xi ) , (a)j,1 = aj e (f )i,1 = fi .

137
6 Ajuste de mnimos quadrados

O lado direito de (6.3) pode ser reescrito como


n
fi k (xi ) =
i=1


n
= (f )i,1 ()i,k
i=1


n
( )
= (f )i,1 T k,i
i=1

( )
= T f k,1
,

seguindo o mesmo desenvolvimento, o lado direito pode ser reescrito como


n
m
aj j (xi ) k (xi ) =
i=1 j=1


n
m
= (a)j,1 ()i,j ()i,k
i=1 j=1


n
= (a)i,1 ()i,k
i=1

( )
= T a k,1
.

Ou seja, a equao (6.3) corresponde k -sima linha da equao matricial

T a = T f , (6.4)

onde
1 (x1 ) 2 (x1 ) m (x1 )

1 (x2 ) 2 (x2 ) m (x2 )
=
.. .. .. ..
,
. . . .
1 (xn ) 2 (xn ) m (xn ) nm

a = (a1 a2 . . . am )T e f = (f1 f2 . . . fn )T .

Agora falta apenas garantir que o ponto crtico, soluo do sistema (6.4), corresponde a um m-
nimo de Q. Para tanto, ser necessrio obter as componentes da matriz hessiana de Q. Tomando
a derivada parcial de (6.2) com relao ao coeciente al

2Q n n ( ) ( n
)
=2 l (xi ) k (xi ) = 2 ()i,l ()i,k = 2 T l,i ()i,k = 2 T l,k .
al ak
i=1 i=1 i=1

Isto permite concluir que a matriz hessiana igual 2T . Neste caso, por ser igual ao produto da
transposta de uma matriz por ela mesma, 2T uma matriz positiva denida. Isto equivale a
dizer que os autovalores da matriz hessiana de Q so reais positivos. Consequentemente, o ponto

138
6.1 Ajuste de mnimos quadrados linear

crtico um ponto de mnimo.

As equaes dadas pelo sistema (6.4) so denominadas equaes normais. Essa nomenclatura
se deve ao fato do sistema admitir a forma

T (a f ) = 0m,1 .

O vetor entre parnteses, a f o vetor cujas componentes so dadas pelos resduos da apro-
ximao e, segundo a equao anterior esse vetor normal (ortogonal) aos vetores formados
pelos elementos das linhas da matriz T que so da forma (j (x1 ) j (x2 ) . . . j (xn )), para
j = 1, 2, . . . , m.

Exemplo 24: Seja o conjunto de pontos {(xi , fi )}5i=1 :

{(2, 0) , (1, 1) , (0, 2) , (1, 1) , (2, 0)}

vamos determinar o ajuste de mnimos quadrados para a seguinte combinao linear, (x) =
. .
a1 + a2 ex + a3 ex , onde 1 (x) = 1, 2 (x) = ex e 3 (x) = ex .

Os coecientes do ajuste so soluo do seguinte sistema na representao matricial

T a = T f ,

onde a matriz dada por



1 (x1 ) 2 (x1 ) 3 (x1 ) 1 e2 e2

1 (x2 ) 2 (x2 ) 3 (x2 ) 1 e1 e

=
1 (x3 ) 2 (x3 ) 3 (x3 )
= 1 1 1 ,


1 (x4 ) 2 (x4 ) 3 (x4 ) 1 e e1
1 (x5 ) 2 (x5 ) 3 (x5 ) 1 e2 e2

portanto

5, 00000 11, 6106 11, 6106

T = 11, 6106 63, 1409 5, 00000 .
11, 6106 5, 0000 63, 1409

4, 00000 a1

O vetor de constantes T f = 5, 08616 e o vetor de incgnitas a = a2 compe
5, 08616 a3
o sistema que possui matriz completa

5, 00000 11, 6106 11, 6106 4, 00000

11, 6106 63, 1409 5, 00000 5, 08616
11, 6106 5, 00000 63, 1409 5, 08616

139
6 Ajuste de mnimos quadrados

e soluo

2, 17256

a = 0, 295542 .
0, 295542

Assim, o ajuste toma a forma (x) = 2, 17256 0, 295542 (ex + ex ).

j HxL
2

x
-2 -1 1 2

Figura 6.1: Ajuste de mnimos quadrados combinao linear

Exemplo 25: (Resolvendo um ajuste no Scilab)


// Criao de um conjunto de dados para ajuste
// de mnimos quadrados. Esta primeira parte
// possui a funo de criar os dados para o ajuste.

// inicializao do gerador de variveis aleatrias.


rand('seed',1);
// funo modelo
function y=f(x)
y=1.34+3.2*sin(%pi*x)+1.5*x^2;
endfunction
// Os dados deve estar na forma matriz coluna.
xp=linspace(0,5)';
// Adio de um termo aleatrio entre -1.5 e 1.5
// ao valor da funo modelo.
yp=f(xp)+1.5*(2*rand(xp)-1);
// Grco dos pontos para o ajuste.
plot(xp,yp,'.r');
xgrid
// Final do cdigo que cria o conjunto de dados.
//////////////////////////////////////////////////////////////////

// Ajuste de mnimos quadrados.

140
6.1 Ajuste de mnimos quadrados linear

// Desejamos determinar a combinao linear das funes


// 1, sin(%pi*x) e x^2 que corresponde ao ajuste pelos
// dados (xp,yp). Ou seja, phi1=1, phi2=sin(%pi*x) e
// phi3=x^2.

// Criao da matriz Phi


Phi=[ones(xp) sin(%pi*xp) xp^2];
// Soluo do sistema
a=(Phi'*Phi)\(Phi'*yp);

// Grco do ajuste que acabamos de determinar.


// Vamos trabalhar com 300 pontos entre 0 e 5
x_var=linspace(0,5,300);
// Denio da funo ajustada
// Note que a varivel ``a'' contm os coecientes
// do ajuste.
function z=f_aj(x)
z=a(1)+a(2)*sin(%pi*x)+a(3)*x^2;
endfunction

plot(x_var,f_aj(x_var));

Ajuste de polinmios

Um caso particular de importncia prtica o ajuste de mnimos quadrados de um polinmio de


grau m. Como qualquer polinmio pode ser escrito como uma combinao linear de monmios
linearmente independentes, a estrutura matricial que j estudamos mantida.
Seja ento p(x) um polinmio

p(x) = a0 + a1 x + . . . + am xm

e o conjunto de dados {(xi , fi )}ni=1 . Os coecientes do ajuste de mnimos quadrados desse po-
linmio pelos dados so soluo do sistema de equaes lineares

X T Xa = X T f , (6.5)

onde
1 x1 x21 xm
1

1 x2 x22 xm
X= ,
2
.. .. .. .. .. (6.6)
. . . . .
1 xn x2n xm
n

a = (a0 a1 . . . am )T e f = (f0 f1 . . . fn )T .

Exemplo 26: Seja o conjunto de pontos {(xi , fi )}5i=1 :

{(2, 0) , (1, 1) , (0, 2) , (1, 1) , (2, 0)} .

141
6 Ajuste de mnimos quadrados

Vamos determinar o ajuste de mnimos quadrados para um polinmio de segundo grau


p(x) = a0 + a1 x + a2 x2 a esses dados.
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



1 x1 x21 1 2 4

1 x2 x22 1 1 1

X=
1 x3 x23
= 1 0 0 ,

1 x4 x24 1 1 1
1 x5 x25 1 2 4

portanto

5 0 10

XT X = 0 10 0 .
10 0 34

O vetor de constantes f = (f1 f2 f3 f4 f5 )T e o vetor de incgnitas a = (a0 a1 a2 )T compe


o sistema que possui matriz completa

5 0 10 4

0 10 0 0
10 0 34 2

e soluo

58/35

a= 0 .
3/7
58 3 2
Assim, o polinmio que ajusta os dados p(x) = x .
35 7

f HxL
2

x
-2 -1 1 2

Figura 6.2: Ajuste de mnimos quadrados ajuste polinomial

142
6.1 Ajuste de mnimos quadrados 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 elevado (a partir de grau 7 nos sistemas que trabalham com aritmtica de ponto utuante
de 64bits), 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 fi no
conjunto de n pontos {(xi , fi )}ni=1 utilizados no ajuste. Note que a matriz X T X depende apenas
dos valores xi e do grau m do polinmio ajustado.
Como exemplo, no caso em que os n valores xi so igualmente espaados entre 0 e 1 possvel
demonstrar3 que X T X aproximadamente igual a matriz nH, onde H a matriz de Hilbert4 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.4) 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.

Ajuste de funes ortogonais

Antes de mais nada, ser necessrio denir o conceito de produto interno para funes denidas
em um conjunto discreto de pontos.

Denio 6.1.2 (produto interno discreto). Seja o conjunto nito de pontos X = {xi }ni=1 e duas
funes f e g denidas sobre X . O produto interno discreto entre f e g , simbolizado pela expres-
so (f, g)X denido como

n
(f, g)X = f (xi )g(xi )
i=1

Denio 6.1.3 (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
sistema 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.
3
Veja a demonstrao na referncia:
Yakowitz, S.; Szidarovszky, F. An Introduction to Numerical Computation. Macmillan Pub. Company. (1986).
4 1
A matriz de Hilbert H possui coecientes (H)i,j = . O condicionamento dessa matriz cresce exponenci-
i+j1
almente com a ordem.

143
6 Ajuste de mnimos quadrados

Se o ajuste de mnimos quadrados a partir dados {(xi , fi )}ni=1 realizado para uma combinao
linear

m
ai i (x), (6.7)
i=1

onde as funes i (x) so elementos de um sistema ortogonal, ento a matriz T uma matriz
diagonal. Isto simplica a tarefa de resolver numericamente o sistema (6.4).
Seja sij um coeciente da matriz S = T onde {i (x)}m
i=1 um sistema ortogonal. A partir
da denio da matriz , temos que


n
sij = i (xk )j (xk )
k=1

= (i , j )X ,

como as funes i fazem parte de um sistema ortogonal, ento


{
0 , se i = j
sij = ,
(i , i )X , se i = j

ou seja, S = T uma matriz diagonal. Nesse caso, a soluo do sistema de equaes normais
pode ser obtida a um baixo custo computacional e com erros de arredondamento controlveis
atravs da inverso de S :
( )1 T
a = T f.

como
1
0 0
(1 ,1 )X

( )1 0 1
0
(2 ,2, )X
T = .. .. .. .. ,
. . . .

0 0 1
(m ,m )X

temos ento que os coecientes do ajuste5 (6.7) so dados por

(f, j )X
aj = .
(j , j )X

Portanto, j que xi e fi (ou f (xi )) so dados de entrada para o ajuste, a determinao dos
coecientes ai depende apenas da tarefa de encontrar um conjunto de funes i que seja um sis-
tema ortogonal. Ou seja, dado um conjunto linearmente independente de funes, basta realizar
o processo de ortonormalizao de Gram-Schmidt para construir a base de funes ortonormais.
Se i forem um polinmios de grau i, ento um sistema de bases ortogonais construdo6
a partir de relaes de recorrncia . De acordo com essa construo, os polinmios i devem

5
Lembre que os dados para ajuste so {(xi , fi )}n
i=1 , onde o conjunto X = {xi }i=1 utilizado para denir o produto
n

interno (, )X . Como temos estudado at aqui, fi f (xi ) se f for conhecida, caso contrrio fi um dado de
entrada no problema de ajuste.
6
Veja os detalhes em:
Ralston, A.; Rabinowitz, P. A First Course in Numerical Analysis. McGraw-Hill.(1978).

144
6.2 Ajustes linearizados

satisfazer:

i (x) = (x bi )i1 (x) ci i2 (x),

onde

(xi1 (x), i1 (x))X


bi = , i = 1, 2, . . .
(i1 (x), i1 (x))X

(xi1 (x), i2 (x))X


ci = , i = 2, 3, . . .
(i2 (x), i2 (x))X

e c1 = 0. Assim, construmos recursivamente os polinmios a partir da escolha 0 (x) 1 e


1 (x) 0.

6.2 Ajustes linearizados

Existem situaes nas quais o comportamento dos dados que se deseja modelar no pode ser con-
venientemente descrito a partir de uma funo modelo na forma de uma combinao linear mas
sim por uma funo como por exemplo, a exponencial, a lei de potncia, a funo gaussiana ou
por produtos entre quaisquer uma dessas funes. Os parmetros de ajuste que minimizam a
soma do quadrado dos resduos nessas funes fazem parte da soluo de sistemas de equaes
no lineares. Ainda assim, funes modelo com essa caracterstica possuem grande importn-
cia em problemas aplicados e naturalmente seria desejvel que houvesse ao menos uma forma
aproximada de ajuste que pudesse ser obtida sem a necessidade de resolver sistemas no lineares.
No caso dos exemplos supracitados, existe uma transformao que os leva em uma combinao
linear, a transformao pelo logaritmo.

Sejam as funes
exp (x) = a1 ea2 x ,

exp (x) = a1 xa2 ,

pot.exp (x) = a1 xa2 ea3 x ,

2
g (x) = a1 ea3 (xa2 ) .
Ao aplicar o logaritmo nos dois lados das expresses, o resultado direita so combinaes li-
neares de funes na varivel x. Para diferenci-las das funes originais, adicionamos o sinal

145
6 Ajuste de mnimos quadrados

tipogrco ~,

exp (x) = a1 + a2 x. Onde a1 = ln a1 e a2 = a2 .

exp (x) = a1 + a2 ln x. Onde a1 = ln a1 e a2 = a2 .

pot.exp (x) = a1 + a2 ln x + a3 x. Onde a1 = ln a1 , a2 = a2 e a3 = a3 .

g (x) = a1 + a2 x + a3 x2 . Onde a1 = a3 a22 + ln a1 , a2 = 2a2 a3 e a3 = a3 .

.
Se desejamos ajustar uma combinao linear = ln ao conjunto de dados {(xi , fi )}ni=1 cujo
comportamento prximo ao da funo , ento, a soluo obtida como um problema de ajuste
linear da funo ao conjunto de dados{(xi , ln fi )}ni=1 . Assim, o problema original substitudo
por um outro mais elementar, o problema de determinar o ajuste de mnimos quadrados de uma
combinao linear de funes ao conjunto de dados {(xi , ln fi )}ni=1 .

Observao 6.2.1. Os coecientes ajustados a partir do problema linearizado no so iguais aos


obtidos atravs do ajuste de mnimos quadrados no linear. Porm, se o comportamento dos dados
for prximo ao da funo que desejamos ajustar, os coecientes obtidos a partir da linearizao
so prximos dos coecientes para o ajuste no linear.

Exemplo 27: 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) = a1 xa2 . Vamos tomar o logaritmo das duas coorde-
nadas dos pontos, o resultado o novo conjunto de pontos {(xi , ln i )}ni=1 = {(xi , fi )}ni=1 :
{(0, 1; 4, 60517), (0, 2; 2, 76462), (0, 5; 0, 527633), (0, 7; 0, 405465), (1, 0; 1, 28093)}.
Como

ln = ln a1 + a2 x
= a1 + a2 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,


( ) ( 5 5 )
(1 , 1 ) (1 , 2 ) i=1 1 i=1 ln xi
T = = 5 5 2 ,
(2 , 1 ) (2 , 2 ) i=1 ln xi i=1 (ln xi )

( ) ( 5 )
T (f , 1 ) i=1 fi
f= = 5
(f , 2 ) i=1 fi ln xi
e ( )
a1
a= .
a2
A soluo dada por

146
6.2 Ajustes linearizados

a1 = 1, 28619 e a2 = 2, 54784.

Como a1 = ea1 , obtemos o ajuste

(x) = 3, 61897 x2,54784 .

HxL

x
0.1 0.2 0.5 0.7 1.0

Figura 6.3: Ajuste de mnimos quadrados ajuste no linear

147
6 Ajuste de mnimos quadrados

6.3 Exerccios

1) Os dados da tabela abaixo contm as magnitudes em escala Richter e o nmero de ocorrncias


de terremotos de magnitude maior ou igual a m em uma dada regio e em um dado intervalo de
tempo. Realize um ajuste de mnimos quadrados para determinar os coecientes (com trs dgitos)
a e b da lei de Gutenberg-Richter,
N (m) = 10abm
para a regio onde os dados foram colhidos. (Sugesto: lembre que log10 N (m) = a b m uma
combinao linear das funes 1 e m).

m 4.0 4.2 4.4 4.6 4.8 5.0 5.2 5.4 5.6 5.8 6
N (m) 375 219 166 106 69 39 23 18 11 7 5

2) Os dados da tabela abaixo


t(h) 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3
c(g/ml) 6.28e-3 4.74e-3 3.29e-3 2.57e-3 1.88e-3 1.56e-3 8.89e-4 5.25e-4 3.75e-4
contm a concentrao plasmtica (em uma unidade padro) de uma determinada substncia no
organismo de um ser vivo horas aps sua ingesto. Utilize esses dados para ajustar a funo c(t) =
a1 ea2 t e determinar uma aproximao com quatro dgitos para o tempo no qual a concentrao
corresponda a 25% da concentrao inicial.

3) Encontre o valor dos parmetros a1 , a2 e a3 que correspondem ao ajuste de mnimos qua-


drados (linearizado) da funo f (x) = a1 xa2 ea3 x aos dados da tabela abaixo
xi 0.5 0.6875 0.875 1.0625 1.25 1.4375 1.625 1.8125 2
fi 0.249 0.348 0.450 0.508 0.501 0.482 0.454 0.417 0.355
a2
Dado que o mximo da funo ajustada ocorre em x = , determine seu o valor mximo
a3
(arredondamento com quatro dgitos).

4) Considere os dados da tabela abaixo.


xi 1 1.22 1.44 1.66 1.89 2.11 2.33 2.56 2.78 3
yi 1.33 0.817 0.693 0.568 0.416 0.333 0.283 0.249 0.195 0.186

Utilize-os para realizar o ajuste linearizado da funo

(x) = a1 xa2 .

O ajuste de mnimos quadrados no linear dessa mesma funo soluo do sistema no linear
n a2 n 2a2

i=1 yi xi i=1 a1 xi = 0
.

n a2 n 2a2
i=1 yi xi ln (xi ) i=1 a1 xi ln (xi ) = 0

Utilize o ajuste linearizado como aproximao inicial e obtenha o ajuste no linear. Determine o
erro relativo cometido em cada coeciente obtido a partir do ajuste linearizado (resposta com 4
dgitos de preciso).

148
6.3 Exerccios

5) A partir do ajuste de mnimos quadrados da funo


x 3x
(x) = a1 cos + a2 cos x + a3 cos
2 2
e do ajuste de mnimos quadrados linearizado da funo
( )
(x) = b1 xb2 exp b3 x2
ao conjunto de dados abaixo, determine qual das funes resulta em um melhor ajuste sob o ponto
de vista do mtodo (ou seja, para qual funo, o ajuste produz a menor soma do quadrado dos
resduos).
xi 0.1 0.267 0.433 0.6 0.767 0.933 1.1 1.27 1.43 1.6
yi 0.00973 0.0762 0.159 0.294 0.489 0.661 0.832 0.999 0.982 0.960
6) Utilize os dados da tabela abaixo
x 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5
1.043 2.552 7.224 13.18 18.54 22.33 22.94 20.24 14.83 10.02 6.071 2.358 1.607
para ajustar a funo
(x) = Axk exp(bx + cx2 )

atravs do mtodo dos mnimos quadrados (verso linearizada). Determine o valor das constantes
com 4 dgitos.

7) Utilize os dados da tabela abaixo


x 5.5 5.72 5.94 6.17 6.39 6.61 6.83 7.06 7.28 7.5
0.1692 0.5004 1.918 4.673 6.5 7.648 7.374 5.537 2.423 1.151
para ajustar a funo ( )
1
(x) = A exp 2 (x b)2
2c
atravs do mtodo dos mnimos quadrados (verso linearizada). Determine o valor das constantes
com 4 dgitos.

8) A trajetria de um satlite orbitando a Terra descrita em coordenadas polares pela equao

1 2
r() = A ,
1 + sen ( + )

onde A o semieixo maior da rbita (em km), a sua excentricidade e uma fase. A partir
do ajuste de mnimos quadrados linearizado, determine o valor aproximado (com 4 dgitos) do
semieixo maior de uma rbita que passa pelos pontos indicados na tabela abaixo:
-2 - 1.5556 - 1.1111 - 0.66667 - 0.22222 0.22222 0.66667 1.1111 2 1.5556
.
r(km) 6758.3 6445.2 5386.0 4980.7 4728.1 4601.5 4819.2 5052.7 5430.2 6208.5
(Sugesto: a partir da identidade trigonomtrica sen( + ) = sen() cos() + cos()sen(),
1
possvel vericar que um combinao linear de funes de ).
r()

149
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
f (x) dx
a

pode ser aproximada pela integral


b
p(x) dx.
a

Se o integrando f (x) conhecido em n pontos distintos x1 , . . . , xn , podemos utilizar algum dos


mtodos desenvolvidos para encontrar um polinmio p(x) que interpole f (xi ), i = 1, . . . , n.
Dessa forma, segundo a expresso (5.3):
b b b n
f (n)
f (x) dx = p(x) dx + dx ((x)) (x xi ),
a a a n!
i=1

onde, a cada x, = (x) o nmero que torna verdadeira a equao

f (n) ()
n
f (x) = p(x) + (x xi ).
n!
i=1

De acordo com o mtodo de interpolao de Lagrange, uma vez determinados os polinmios



de Lagrange li (x), (e a interpolao p(x) = ni=1 f (xi ) li (x) ), a aproximao seria ento dada
por
b b
n
n b
p(x) dx = f (xi ) li (x) dx = f (xi ) li (x) dx,
a a i=1 i=1 a

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

onde i = 1, . . . , n e os valores f (xi ) so conhecidos (fazem parte dos dados de entrada) e as


constantes Ci so o resultado da integrao:
b
Ci = li (x) dx. (7.1)
a

151
7 Integrao numrica

A aproximao da integral de f (x) dada ento por


b
n
f (x) dx Ci f (xi ), (7.2)
a i=1

onde os coecientes Ci so dados pelas integrais (que podem ser resolvidas exatamente) (7.1).
Essa aproximao denominada frmula de quadratura, de uma maneira geral, todas as aproxi-
maes de operaes de integrao numrica podem ser descritas na forma (7.2) naturalmente,
o coeciente Ci vai depender do mtodo utilizado.

1/2 x2 dx
Exemplo 28: Vamos aproximar a integral 1/2 e a partir da interpolao do inte-
grando em trs pontos: x1 = 1/2, x2 = 0 e x3 = 1/2. Segundo o mtodo de Lagrange, os
polinmios li (x) so:

. (x 0)(x 1/2)
l1 (x) = = x + 2x2 ,
(1/2 0)(1/2 1/2)

. (x + 1/2)(x 1/2)
l2 (x) = = 1 4x2 ,
(0 + 1/2)(0 1/2)
. (x + 1/2)(x 0)
l3 (x) = = x + 2x2 ,
(1/2 + 1/2)(1/2 0)
portanto
1/2 1/2
1
C1 = l1 (x) dx = (x + 2x2 ) dx = ,
1/2 1/2 6

1/2 1/2
2
C2 = l2 (x) dx = dx (1 4x2 ) dx = ,
1/2 1/2 3
1/2 1/2
1
C3 = l3 (x) dx = dx (x + 2x2 ) dx = .
1/2 1/2 6
Assim, a aproximao dada pelo somatrio
1 ( 1 )
1/2 3
ex dx exi Ci = e 4 + 4e0 + e 4 = 0.9262 . . .
2 2 1

1/2 6
i=1

O valor exato da integral calculado a partir da funo erro e vale


1/2
ex dx = 0.9225 . . .
2

1/2

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, li (x), de-
pendem apenas dos pontos xi . Ento, qualquer que fosse o integrando f (x), uma vez xados os
pontos xi , 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)

152
7.1 Quadratura por interpolao

e portanto
b b
n
f (x) dx = p(x) dx = f (xi ) Ci . (7.3)
a a i=1

Em particular, vamos realizar n escolhas para a funo f na forma fj (x) = xj para j = 0, . . . , n


1. Cada uma dessas escolhas para f vai originar, em vista de (7.3), uma equao com os n co-
ecientes Ci que buscamos determinar. Teremos ento um sistema linear com n equaes e n
incgnitas1 :
b

(x1 )0 C1 + (x2 )0 C2 + . . . + (xn )0 Cn = x0 dx = ba

a





b b2 a2

x1 C1 + x2 C2 + . . . + xn Cn = x dx =
a 2
(7.4)

.. .. ..



. . .





(x )n1 C + (x )n1 C + . . . + (x )n1 C = b xn1 dx =
bn an
1 1 2 2 n n a n

Exemplo 29: Vamos utilizar os mesmos pontos do exemplo anterior, ou seja, x1 = 1/2,
x2 = 0 e x3 = 1/2. Nesse caso o sistema para os coecientes Ci toma a seguinte forma


C1 + C2 + C3 = 1
C1 + 0 + C3 = 0

1
C1 + 0 + C3 = 3

1 2 1/2
cuja soluo C1 = C3 = e C2 = . Portanto a aproximao de uma integral 1/2 f (x) dx
6 3
dada por
1/2
1
f (x) dx (f (1/2) + 4f (0) + f (1/2)) .
1/2 6

Quando os pontos de interpolao a = x1 < x2 < . . . < xn = 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-
b d
gral a f (x) dx ni=1 f (xi ) Ci = I e quisermos encontrar uma aproximao para c f (y) dy ,
devemos realizar a mudana de varivel y = x + que implica
d d

f (y) dy = f (x + ) dx.
c
c

Os valores de e so determinados quando exigimos que os limites de integrao coincidam:

1
possvel demonstrar que se os n pontos xi forem distintos, ento o sistema possui uma nica soluo. Veja a
referncia:
Bellman, R. Introduction to Matrix Analysis, 2 ed., MacGraw-Hill (1970).

153
7 Integrao numrica

c d
=ae = b. Ou seja,

dc bc ad
= e = (7.5)
ba ba

e assim,
d b
n
f (y) dy = f (x + ) dx f (xi + ) Ci
c a i=1

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
f (x) dx C1 f (a) + C2 f (b),
a

onde C1 e C2 so soluo do sistema de equaes lineares




C1 + C2 = b a
.

b2 a2
a C1 + b C 2 = 2

ba
A soluo do sistema C1 = C2 = . Se representarmos a separao entre os pontos por
2 b
h = b a, a regra do trapzio para a integral a f (x) dx assume a forma
b
h
f (x) dx (f (a) + f (b)) .
a 2

Erro de truncamento

h
Como j estudamos na subseo anterior, a regra do trapzio 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 (n) ()
n
f (x) = p(x) + (x xi ),
n!
i=1

onde n o nmero de pontos de interpolao e xi , para i = 1, 2, . . . , n so os pontos de interpo-


lao. Essa relao entre f e p permite estimar o erro de truncamento cometido ao aproximarmos

154
7.2 Quadraturas newtonianas

a integral pela regra do trapzio. Ento, como


b
h
(f (a) + f (b)) = p(x) dx,
2 a

em vista da relao entre f e p temos que


b b
h
f (x) dx (f (a) + f (b)) = (f (x) p(x)) dx
a 2 a

b
f ((x))
= (x a)(x b) dx. (7.6)
a 2

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

b
h 1
f ((a + yh))
f (x) dx (f (a) + f (b)) = h y h(y 1) (h dy)
a 2 0 2
1
h3
= f ((a + yh)) y(y 1) dy (7.7)
2 0

Para simplicar a ltima integral acima, vamos considerar ainda a seguinte forma integral do
teorema do valor mdio:
Teorema 7.2.1 (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 d
f (x)g(x) dx = f () g(x) dx.
c c

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 1
h h3
f (x) dx (f (a) + f (b)) = f () y(y 1) dy
a 2 2 0

h3
= f ().
12
1/2 x2 dx,
Exemplo 30: Vamos estudar novamente a aproximao da integral agora po- 1/2 e
[ ]
1 1
rm, a partir da frmula do trapzio para quadratura. O intervalo de integrao , ,
2 2
portanto nesse caso, h = 1. De acordo com a frmula do trapzio
1/2
1 ( 1/4 )
ex dx + e1/4 = 0.77880078 . . .
2
e
1/2 2
( )
1 1
Quanto ao erro de truncamento na aproximao, sabemos que existe um , tal
2 2

155
7 Integrao numrica

que
1/2
1 ( 1/4 ) 13 ( 2 )
ex dx + e1/4 = 4 2 e .
2 2
e
1/2 2 12
( ) ( )
1 ( 2 ) 2 1 1 1 1/4 1
A funo 4 2 e transforma o intervalo , no intervalo e , =
12 2 2 12 6
(0.06490 . . . , 0.16). 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.16).

7.2.2 Regra de Simpson

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

onde Ci , i = 1, 2e 3 so soluo do sistema de equaes lineares




C1 + C2 + C3 = b a





a+b b2 a2 .
aC1 + 2 C2 + bC3 =


2



( a+b )2
b3 a3
a2 C1 + 2 C2 + b2 C3 = 3

ba 2 ba
A soluo do sistema dada por C1 = , C2 = (b a) e C3 = . Em termos da
6 3 6
ba h 4 h
separao entre os pontos h = : C1 = , C2 = h e C3 = . Dessa forma a regra de
2 3 3 3
Simpson dada por
b
h
f (x) dx (f (x1 ) + 4f (x2 ) + f (x3 )) . (7.8)
a 3
Quanto ao erro de truncamento cometido na aproximao, o mesmo pode ser estimado de
maneira anloga a que seguimos no caso da regra do trapzio: existe um (a, b) tal que
b
h h5
f (x) dx (f (x1 ) + 4f (x2 ) + f (x3 )) = f (4) (). (7.9)
a 3 90

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 Boole:

156
7.2 Quadraturas newtonianas

Regra 3/8

ba
So utilizados 4 pontos, x1 = a, x2 = a + h, x3 = a + 2h e x4 = b, onde h = . Ento existe
3
um (a, b) tal que
b
3 3h5 (4)
f (x) dx = h (f (x1 ) + 3f (x2 ) + 3f (x3 ) + f (x4 )) f ().
a 8 80

Regra de Boole2

ba
So utilizados 5 pontos, x1 = a e xi = a + (i 1)h para i = 2, 3, 4 e x5 = b, onde h = .
4
Existe um (a, b) tal que
b
2 8h7 (6)
f (x) dx = h (7f (x1 ) + 32f (x2 ) + 12f (x3 ) + 32f (x4 ) + 7f (x5 )) f ().
a 45 945

No entanto devemos levar em conta que no h garantias de que o aumento do nmero de pon-
tos implica a convergncia da quadratura para o valor exato da integral3 . 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
1
para f quando o nmero de pontos cresce (lembre-se da funo de Runge f (x) = no
1 + 25x2
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 .

7.2.4 Regras compostas

Uma maneira de evitar as instabilidades relacionadas interpolao em pontos igualmente es-


paados consiste em particionar o intervalo de integrao em diversos subintervalos e realizar a
quadratura 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] em n 1 sub-intervalos [a, x2 ]
ba
[x2 , x3 ] . . . [xn1 , b] = [a, b], de mesma extenso h = , isto , xk+1 xk = h, para
n1

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.

157
7 Integrao numrica

qualquer i = 1, 2, . . . , n 1; e aplicar a regra do trapzio em cada intervalo [xk , xk+1 ]. Ou seja,


b x2 x3 b=xn
f (x) dx = f (x) dx + f (x) dx + . . . + f (x) dx
a a=x1 x2 xn1

h h h
(f (a) + f (x2 )) + (f (x2 ) + f (x3 )) + . . . + (f (xn1 ) + f (b))
2 2 2
( )
1 1
= h f (a) + f (x2 ) + f (x3 ) + . . . + f (xn2 ) + f (xn1 ) + f (b) ,
2 2

onde x1 = a, xn = b e xk = a + (k 1)h, para k = 1, . . . , n.

Erro de truncamento

A cada subintervalo [xk , xk+1 ] podemos estimar o erro de truncamento cometido na regra do
trapzio: existe um k (xk , xk+1 ) tal que
xk+1
h h3
f (x) dx = (f (xk+1 ) + f (xk )) f (k ).
xk 2 12

A unio de todos os intervalos implica


( )
h3
b n1
1 1
f (x) dx = h f (a) + f (x2 ) + . . . + f (xn1 ) + f (b) f (k ). (7.10)
a 2 2 12
k=1

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

1
n1

f () = f (k ).
n1
k=1

ba
Como h = podemos reescrever a igualdade (7.10) como
n1
b ( )
1 1 h2
dx f (x) = h f (a) + f (x2 ) + . . . + f (xn1 ) + f (b) (b a)f (), (7.11)
a 2 2 12

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
ba
um nmero mpar de pontos igualmente espaados de h = , a = x1 < x2 < . . . < xn1 <
n1
xn = b podemos aproximar a integral de f no intervalo [a, b] pela composio das quadraturas

158
7.2 Quadraturas newtonianas

n1
de Simpson nos intervalos [a, x3 ], [x3 , x5 ], . . . , [xn2 , b]:
2
b x3 x5 b=xn
f (x) dx = f (x) dx + f (x) dx + . . . + f (x) dx
a a=x1 x3 xn2

h h
(f (a) + 4f (x2 ) + f (x3 )) + (f (x3 ) + 4f (x4 ) + f (x5 )) + . . .
3 3

h
... + (f (xn2 ) + 4f (xn1 ) + f (b))
3

h
= [f (a) + 4 (f (x2 ) + f (x4 ) + . . . + f (xn1 )) +
3

+2 (f (x3 ) + f (x5 ) + . . . + f (xn2 )) + f (b)] ,

A regra de Simpson composta pode ser representada pelo somatrio



h
b n
f (x) dx Ck f (xk ),
a 3
k=1

onde

1, se k = 1 ou k = n
Ck = 4, se k for par .


2, se k for mpar
A anlise do erro de truncamento cometido na aproximao segue a linha j estudada na re-
gra do trapzio composta. Cada intervalo de integrao [xk , xk+2 ] contribui com uma parcela
h5 n1
f (4) (k ), onde k (xk , xk+2 ) e k = 1, 3, 5, . . . , n 2. Como so no total intervalos
90 2
de integrao, temos que

n1
h h5
b n 2

f (x) dx = Ck f (xk ) f (4) (k ). (7.12)


a 3 90
k=1 k=1

Se a funo f (4) for contnua, ento existe um (a, b) tal que

n1
1
2
(4)
n1 f (k ) = f (4) ().
2 k=1

A substituio dessa ltima relao em (7.12) resulta em



h
b n
h5 (4)
f (x) dx = Ck f (xk ) (n 1) f (),
a 3 180
k=1

159
7 Integrao numrica

como (n 1)h = b a

h
b n
h4
f (x) dx = Ck f (xk ) (b a)f (4) ()
a 3 180
k=1

7.2.5 Mtodo de Romberg

O mtodo de Romberg consiste na sucessiva aplicao da extrapolao de Richardson quadra-


tura 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
h2
f (x) dx = Tn (b a)f (),
a 12

onde
( )
1 1
Tn = h f (a) + f (a + h) + f (a + 2h) + . . . + f (a + (n 2)h) + f (b) ,
2 2

ba
h= e (a, b).
n1
Se f for uma funo de classe C 2k+2 em um intervalo [a, b], ento de acordo com a frmula de
Euler-MacLaurin a sua integral denida nesse intervalo satisfaz a expresso
b
f (x) dx = Tn + c2 h2 + c4 h4 + . . . + c2k h2k + c2k+2 h2k+2 f (2k+2) (), (7.13)
a

onde Tn a regra composta do trapzio com n pontos e espaamento h, os coecientes c2 , . . . , c2k


no dependem de h e (a, b).
Portanto, de acordo com a frmula, uma quadratura no mesmo intervalo com 2n 1 pontos,
corresponde a um espaamento igual a metade do original, assim
b ( )2 ( )4 ( )2k ( )2k+2
h h h h
f (x) dx = T2n1 + c2 + c4 + . . . + c2k + c2k+2 f (2k+2) ().
a 2 2 2 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 h2 :
b
4 T2n1 Tn
f (x) dx = + d4 h4 + . . . + dk h2k + 2k+2 (h) h2k+2 .
a 3

4 T2n1 Tn
A quadratura resultante, a quadratura de Simpson composta com 2n 1 pontos.
3
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, . . . , 2m + 1 pontos. Essas quadraturas podem ser conveniente-

160
7.2 Quadraturas newtonianas

mente calculadas segundo a recurso:

2 j1
1
T2j +1 = T2j1 +1 + hj f (a + (2k 1)hj ) , (7.15)
2
k=1
( )
ba 1 1
onde hj = , T2 = h0 f (a) + f (b) e j = 1, 2, . . . m. Como vericamos acima, de
2j 2 2
acordo com a extrapolao de Richardson, podemos encontrar a quadratura de Simpson com-
posta com 2j + 1 pontos atravs da combinao

4T2j +1 T2j1 +1
.
3

Vamos simbolizar essas novas quadraturas por Rj,1 , ou seja,

4T2j +1 T2j1 +1
Rj,1 = (7.16)
3

para j = 1, 2, . . . , m. Uma nova sequncia de extrapolaes de Richardson cancelar os termos


h4 . Denominamos essas novas quadraturas compostas por Rj,2 :

16Rj,1 Rj1,1
Rj,2 = .
15

Atravs de um processo de induo, chegamos recorrncia

4n Rj,n1 Rj1,n1
Rj,n = , (7.17)
4n 1

para n = 1, 2, . . . , j e onde Rj,0 T2j +1 . A relao de recorrncia (7.17) a expresso do mtodo


de Romberg. Em resumo, calculamos a 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 Rj,1 para j = 1, 2, . . . , m, Rj,2 para
( )
j = 2, . . . , m, Rj,3 para j = 3, . . . , m, etc. at Rm,m que a aproximao de ordem O h2m+2
m
b
para a integral a f (x) dx.

1
ex dx pela quadratura de Romberg R4,4 . Ini-
2
Exemplo 31: Vamos aproximar integral 2
12
cialmente ser necessrio calcular as quadraturas do trapzio e as compostas com 3, 5, 9 e 17
pontos (respectivamente T2 , T2+1 , T22 +1 , T23 +1 e T24 +1 ):

T20 +1 = 0.7788007830714049 . . .
T21 +1 = 0.8894003915357024 . . .
T22 +1 = 0.9144067271745891 . . .
T23 +1 = 0.9205312369043574 . . .
T24 +1 = 0.9220548158903587 . . .

A partir dessas quadraturas podemos calcular os termos Rj,i segundo as expresses (7.16) e

161
7 Integrao numrica

(7.17):

R1,1 = 0.9262669276904683 . . .
R2,1 = 0.9227421723875513 . . . R2,2 = 0.9225071887006902 . . .
R3,1 = 0.9225727401476136 . . . R3,2 = 0.9225614446649510 . . .
R4,1 = 0.9225626755523591 . . . R4,2 = 0.9225620045793421 . . .

R3,3 = 0.9225623058707330 . . .
R4,3 = 0.9225620134668721 . . . R4,4 = 0.9225620123201903 . . .
E assim,
1
2
ex dx R4,4 = 0.9225620123201903 . . .
2

12

O valor exato da integral 0.9225620128255849, o erro est no dcimo dgito.

7.3 Quadratura gaussiana

Os mtodos de quadratura que envolvem a interpolao polinomial em n pontos fornecem, por


construo, o valor exato da integral quando o integrando um polinmio de grau menor ou
igual n 1. Uma vez escolhidos os n pontos xi [a, b], utilizamos os n polinmios xj , j =
0, 1, . . . , n 1 para determinar os coecientes Ci da quadratura atravs da soluo do sistema de
equaes lineares

n b
bj+1 aj+1
Ci (xi )j = xj dx = .
a j+1
i=1

A quadratura gaussiana utiliza as mesmas equaes porm trata os pontos de interpolao


xi como incgnitas e inclui outras n equaes relacionadas interpolao dos polinmios xj ,
j = n, n + 1, . . . , 2n 1. A frmula de quadratura determinada pela soluo do sistema de 2n
equaes no lineares

n
bj+1 aj+1
Ci (xi )j = (7.18)
j+1
i=1

em termos das incgnitas Ci e xi , i = 1, 2, . . . , 2n.

Como j estudamos, atravs de mudanas de variveis podemos mudar o intervalo de integra-


o. Desse modo no perdemos nenhuma generalidade ao estudar a soluo do sistema no linear

162
7.3 Quadratura gaussiana

(7.18) dado pelo limite de integrao [1, 1]


1

C1 + C2 + . . . + Cn = 1 x
0 dx = 1 (1) = 2

12 (1)2

x1 C1 + x2 C2 + . . . + xn Cn = 1 x dx = =0

1 13 (1)3

(x1 )2 C1 + (x2 )2 C2 + . . . + (xn )2 Cn = 1 x


2 dx = = 2

3 3

.. .. ..
. . .

1 2

k+1 , se k par

(x1 )k C1 + (x2 )k C 2 + . . . + (xn )k C n = 1 xk dx =

0, se k mpar

.. .. ..

. . .

1
12n (1)2n
(x1 )2n1 C1 + (x2 )2n1 C2 + . . . + (xn )2n1 Cn = 1 x
2n1 dx = 2n =0
(7.19)
possvel demonstrar4 que esse sistema possui apenas uma soluo que satisfaa os critrios,
1 < xi < 1 e Ci > 0. Apesar da aparente complexidade apresentada pelo sistema (7.19), no
difcil perceber que os pontos xi satisfazem uma equao polinomial (basta isolar as variveis Ci
e em seguida as variveis xi a partir da primeira equao em (7.19)). Na realidade, possvel de-
monstrar que os pontos xi so as razes do polinmio de Legendre5 de grau n, Pn e os coecientes
Ci so ento dados pela expresso

2
Ci = .
(1 x2i ) (Pn (xi ))2

Isto permite, ao menos numericamente, construir a quadratura com um nmero arbitrrio de


pontos.
Quanto ao erro de truncamento, possvel demonstrar6 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
n
(n!)4 22n+1 f (2n) ()
f (x) dx Cj f (xj ) = ,
1 ((2n)!)3 (2n + 1)
j=1

onde (1, 1). Em muitas situaes, a expresso para o erro de truncamento na quadra-

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

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)

163
7 Integrao numrica

tura gaussiana 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 estimativas 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 co-
ecientes:
1
2 pontos C1 = C2 = 1 e x1 = x2 =
3

5 8 3
3 pontos C1 = C3 = , C2 = , x1 = x3 = e x2 = 0 .
9 9 5
1 ( )
4 pontos C1 = C4 = 18 30 , C2 = C3 = 1 C1 ,
36
1 ( ) 1 ( )
x1 = x4 = 15 + 2 30 , x2 = x3 = 15 2 30 .
35 35
1 ( ) 1 ( ) 128
5 pontos C1 = C5 = 322 13 70 , C2 = C4 = 322 + 13 70 , C3 = ,
900 900 225
1 ( ) 1 ( )
x1 = x5 = 35 + 2 70 , x2 = x4 = 35 2 70 e x3 = 0.
63 63

164
7.4 Exerccios

7.4 Exerccios
1) Considere a seguinte frmula de quadratura
1
1 1 1
f (x) dx f (0.2) + f (0.5) + f (0.8). (7.20)
0 4 2 4

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
3. Encontre os novos pesos para a regra (7.20) para o intervalo de integrao: 1 f (x) dx.

2) Seja a integral 1
2
ex dx. (7.21)
0

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

3) Ao contrrio do que ocorre na interpolao com pontos igualmente espaados, a interpo-


lao 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
1
dx.
0 25x2 +1
1 n
Observao: a quadratura gaussiana 0 f (x) dx i=1 Ci f (xi ), nesse caso dada por:

n = 3: x1 = 0.11270166537925831148207346002176, x2 = 0.5 , x3 = 1 x1 ,
5 4
C1 = C3 = e C2 = .
18 9
n = 4: x1 = 0.069431844202973712388026755553595,
x2 = 0.33000947820757186759866712044838 , x3 = 1 x2 , x4 = 1 x1,
C1 = C4 = 0.17392742256872692868653197461100 e
C2 = C3 = 0.32607257743127307131346802538900.

n = 5: x1 = 0.046910077030668003601186560850304,
1
x2 = 0.23076534494715845448184278964990 , x3 = x4 = 1 x2 , x5 = 1 x1 ,
2
C1 = C5 = 0.11846344252809454375713202035996,
64
C2 = C4 = 0.23931433524968323402064575741782 e C3 = .
225

165
7 Integrao numrica

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 0 5 10 15 20 25 30 35 40 45 50
vx 1.30 1.10 0.93 0.71 0.17 -0.62 0.15 0.92 1.10 1.40 1.20
vy 0.71 -0.55 -0.19 0.22 0.84 1.20 -0.58 0.11 0.77 0.83 1.00

5) Construa o sistema de equaes (nas variveis C1 , C2 , C3 , e ) que determina a regra de


quadratura por interpolao 1
3
f (x)dx Ci f (xi ) ,
1 i=1

1
onde x1 = , x2 = e x3 = . Supondo que f um polinmio, qual o maior grau para o qual
3
essa regra exata? Obs: no necessrio resolver o sistema.

6) A partir da regra composta de Simpson 60.3


10 h4 51.2
1 f (x)dx = S(n) (10 1)f (4) (), determine o me- f H4LHxL
180
nor intervalo no qual a integral exata est contida, supondo 27.4

n = 1001, S(n) = 1.771 e que a quarta derivada de f se com-


x
1 10
porte de acordo com o grco ao lado. - 22.1

1 n
7) Utilize a quadratura de Gauss-Legendre 1 f (x)dx i=1 Ci f (xi ) com oito ns (n = 8)

i 4 3 2 1
xi -0.1834346424956498 -0.5255324099163290 -0.7966664774136267 -0.9602898564975362
Ci 0.3626837833783620 0.3137066458778873 0.2223810344533745 0.1012285362903763
x5 = x4 , x6 = x3 , x7 = x2 , x8 = x1 ,
C5 = C4 , C6 = C3 , C7 = C2 , C8 = C1 .
e calcule um aproximao com seis dgitos para a integral
2( )1.3
I= 1 + 25x2 dx.
1

8) Utilize duas ou mais estimativas que permitam obter uma aproximao de seis dgitos para
a integral denida 5
cos (x)
I= dx
1 2 + (sen (x))2

9) A tabela abaixo contm as medidas da profundidade ao longo da seo transversal do leito


de um rio com 57.3m de largura. As medidas de profundidade foram efetuadas em pontos uni-
formemente espaados.

ponto 1 2 3 4 5 6 7 8 9 10 11
prof.(m) 4.4 8.1 10.7 12.4 13.3 13.9 14.3 13.8 11.8 8.1 3.7

166
7.4 Exerccios

-2 10 20 30 40 50 60
-4
-6
-8
-10
-12
-14

Se considerarmos que a velocidade da correnteza constante ao longo de toda a seo trans-


versal do rio, teremos uma estimativa para o uxo ,

= vA,

onde v a velocidade da correnteza e A a rea da seo transversal do rio. Determine o uxo


desse rio a partir de uma aproximao para a integral via quadratura composta de Simpson, se
v = 0.73m/s. (Resposta com trs dgitos).

10) Os dados nas tabelas abaixa relacionam a altura, alt, ao raio, r, em uma pilha de sedimentos
com simetria axial (ou seja, na forma de um slido de revoluo).

r (m) 0.00 0.75 1.50 2.25 3.00 3.75 4.50 5.25 6.00 6.75 7.50
alt(m) 25.75 25.48 24.80 23.98 23.29 22.86 22.61 22.27 21.60 20.47 18.94

r (m) 8.25 9.00 9.75 10.50 11.25 12.00 12.75 13.50 14.25 15.00
alt(m) 17.24 15.56 14.03 12.57 11.02 9.23 7.14 4.84 2.43 0.00

Utilize o mtodo da quadratura composta de Simpson com espaamentos h = 0.75 e h = 1.5


para determinar uma estimativa para o volume dessa pilha
15
V = 2 r alt(r)dr.
0

167
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 mo-
mento p R3 de um corpo sob ao de uma fora F R3 satisfaz a seguinte equao,

d
p p = F.
dt

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 = t0 , ou seja, p(t0 ) = p0 , em geral, essa condio suciente para garantir que a soluo
da equao


p = f (t, p)


p(t0 ) = p0
nica para todo t pertencente ao intervalo em que a soluo existe.
A seguir vamos estudar alguns mtodos numricos que permitem construir solues aproxima-
das para as equaes diferenciais ordinrias

8.1 Mtodo da srie de Taylor

Seja a equao diferencial




y (x) = f (x, y)
. (8.1)


y(x0 ) = y0

169
8 Equaes Diferenciais Ordinrias

Vamos supor que a soluo y(x) possui uma expanso em srie de Taylor em alguma vizinhana
de x0 , nesse caso, a soluo pode ser escrita como

1 1
y(x) = y(x0 ) + y (x0 ) (x x0 ) + y (x0 ) (x x0 )2 + . . . + y (n) (x0 ) (x x0 )n + . . .
2 n!

De acordo com (8.1) as derivadas de y calculadas em x0 , y (j) (x0 ), j = 1, 2, . . . podem ser calcu-
ladas pela regra da cadeia:

y (x0 ) = y (x) x=x0 = f (x, y(x))|x=x0 = f (x0 , y0 ),

( )
f f
y (x) x=x0

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

x y x=x0

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

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

Exemplo 32: Seja a equao diferencial ordinria




2
y =x +y
2

, (8.2)


y(0) = 0

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) = x2 + y(x)2 x=0 = 02 + 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

2x3 x3
y(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) = 0,
x=0

170
8.1 Mtodo da srie de Taylor
( ( )2 )

y (5) (0) = 6 y (x) + 8y (x)y (3) (x) + 2y(x)y (4) (x) = 0,
x=0
( )

y (6) (0) = 20y (x)y (3) (x) + 10y (x)y (4) (x) + 2y(x)y (5) (x) = 0,
x=0
( ( )2 )

y (7)
(0) = 20 y (x) + 30y (x)y (x) + 12y (x)y (x) + 2y(x)y (x)
(3) (4) (5) (6)
= 20(2)2 = 80.
x=0

Portanto os primeiros termos da srie de Taylor para a soluo y(x) so1

1 80
y(x) = x3 + x7 + O(x11 ),
3 7!

ou seja, na vizinhana de x = 0, a soluo pode ser aproximada at a ordem O(x11 ) por

1 1
y(x) x3 + x7 .
3 63

1 3 1 3 1 7
xi 3 xi 3 xi+ 63 xi y(xi )
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 afas-
tamos da condio inicial. O erro de truncamento uma potncia de (x x0 ), portanto quanto
mais afastado de x0 estiver x, maior ser o erro de truncamento cometido.

Observao 8.1.1. Devemos lembrar que mesmo que todos os termos da srie estivessem presen-
tes, 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.
1
Como contra-exemplo, podemos considerar a expanso em srie da funo g(x) = , a srie
1x

1 + x + x2 + . . . + xn + . . .

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 xi , i = 0, 1, 2, . . . onde x0 corresponde condio inicial em (8.1), e realizar a
1
Se continuarmos a expanso veremos que a prxima derivada no nula y (11) (0).

171
8 Equaes Diferenciais Ordinrias

expanso de Taylor em torno de cada ponto xi . Dessa forma determinamos uma aproximao
para a soluo em uma vizinhana prxima de xi ; ao contrrio do que ocorre quando aproxima-
mos a soluo pela expanso em srie de Taylor em torno da origem. No entanto, para realizar
as expanses em torno de xi , devemos conhecer o valor da soluo y no ponto2 xi , y(xi ) . Se
i = 0, ento y(x0 ) conhecido exatamente ( a condio inicial), nos demais casos no conhece-
mos exatamente y(xi ) mas podemos utilizar a expanso em srie em torno do ponto anterior e a
partir dela determinar o valor aproximado de y(xi ).

Vamos partir da condio inicial. No ponto x0 , a soluo da EDO deve ser igual a y0 , ou seja
y(x0 ) = y0 , ento a partir da equao (8.1) e da regra da cadeia podemos calcular o valor das
derivadas y (j) (x0 ), isto nos permite construir uma aproximao soluo y(x), 0 (x), vlida na
vizinhana de x0 , dada pela srie de Taylor truncada no termo da n-sima derivada:

1 (n)
0 (x) = y(x0 ) + y (x0 )(x x0 ) + . . . + y (x0 )(x x0 )n y(x).
n!

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

1 1 (3) 1 (n)
yi+1 = yi + yi h + yi h2 + yi h3 + . . . + yi hn , (8.3)
2 3! n!

Exemplo 33: Vamos aplicar esse mtodo equao do exemplo anterior. Nesse caso, os
pontos xi = x0 + ih, so da forma xi = ih j que no nosso caso x0 = 0. De acordo com a
EDO e a regra da cadeia, as derivadas so dadas por

y (x) = x2 + y(x)2 yi = (ih)2 + yi2 ,

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

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

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


yi = 2(ih + (ih)2 yi + yi3 ),

2
e a partir do valor da soluo em xi e da EDO, podemos determinar o valor das demais derivadas y (xi ), y (xi ), . . .

172
8.2 Mtodo de Euler

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

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

= 2(1 + x4 + 2xy(x) + 4x2 y(x)2 + 3y(x)4 )

(3)
yi = 2(1 + (ih)4 + 2ihyi + 4(ih)2 yi2 + 3yi4 ).

Dessa forma podemos aproximar y(x) at a ordem O(h4 ) atravs da relao de recorrncia

( ) ( ) 1( )
yi+1 = yi + (ih)2 + yi2 h+ ih + (ih)2 yi + yi3 h2 + 1 + (ih)4 + 2ihyi + 4(ih)2 yi2 + 3yi4 h3 .
3

A tabela seguinte inclui os dados obtidos pela equao de recorrncia acima com h = 0.1.

1 3 1 3 1 7
xi 3 xi 3 xi+ 63 xi yi , h = 0.1 y(xi )
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 (xi ) apenas. Ou seja, yi+1 = yi + yi h. Como pela equao (8.1),
y (xi ) = f (xi , y(xi )) yi = f (xi , yi ), o Mtodo de Euler consiste na relao de recorrncia

yi+1 = yi + hf (xi , yi ),

para i = 0, 1, 2, . . ., onde y(x0 ) = y0 a condio inicial. Uma das vantagens da frmula de Euler
consiste na desnecessidade de calcular as derivadas de y nos pontos xi , o que pode ser uma tarefa
penosa como ilustram os exemplos anteriores.

Exemplo 34: Vamos aplicar o Mtodo de Euler para encontrar uma soluo aproximada

173
8 Equaes Diferenciais Ordinrias

para e EDO que temos estudado em exemplos at a agora




2
y =x +y
2



y(0) = 0

Nesse caso, os pontos xi = x0 + ih, so da forma xi = ih j que x0 = 0. De acordo com


o mtodo o valor da soluo y no ponto xi dado por yi que satisfaz a seguinte relao de
recorrncia :
( )
yi+1 = yi + h (ih)2 + yi2 ,

onde y0 = 0 segundo a condio inicial.

xi yi yi y(xi )
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
(naturalmente, se no existissem erros de arredondamento). De fato, se a EDO satiszer algu-
mas condies 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 xi , a srie de Taylor para a soluo da EDO
em 1 ordem. Portanto, supondo que a soluo conhecida exatamente no ponto xi , a expanso
da soluo em torno desse ponto tal que existe um [xi , x] tal que

1
y(x) = y(xi ) + hy (xi ) + h2 y ().
2

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

174
8.2 Mtodo de Euler

.
Essa ltima equao permite que estimemos o erro local i+1 = y(xi+1 ) yi+1 dado que yi+1
calculado pelo Mtodo de Euler:

yi+1 = yi + hf (xi , yi ).

Subtraindo as duas ltimas equaes temos

1
i+1 = i + h (f (xi , y(xi )) f (xi , yi )) + h2 y (), (8.4)
2

onde [xi , xi+1 ]. Para continuar a anlise sero necessrias algumas hipteses sobre o com-
portamento da soluo y e da funo f .

Vamos supor que a soluo y possua segunda derivada limitada no intervalo em que est de-
nida. Assim, se a soluo est denida em um intervalo I = (x0 , xmax ), 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, y1 ) f (x, y2 )| L|y1 y2 | (estamos supondo tambm que y
limitada no intervalo I ).

Assumindo essas hipteses e tomando o valor absoluto na equao (8.4) temos que

1
|i+1 | |i | + hL|y(xi ) yi | + h2 M,
2

como |y(xi ) yi | = |i |temos nalmente

1
|i+1 | (1 + hL) |i | + h2 M. (8.5)
2

A condio inicial conhecida exatamente, y(x0 ) = y0 , portanto 0 = 0 e assim, de acordo com


(8.5)
1
|1 | h2 M,
2
1 1 1
|2 | (1 + hL) |1 | + h2 M (1 + hL) h2 M + h2 M,
2 2 2
1 1 1 1
|3 | (1 + hL) |2 | + h2 M (1 + hL)2 h2 M + (1 + hL) h2 M + h2 M,
2 2 2 2
por induo chegamos a desigualdade para o erro acumulado na n-sima iterao

1
n1
|n | h2 M (1 + hL)j ,
2
j=0

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

(1 + hL)n 1
|n | hM ,
2L

175
8 Equaes Diferenciais Ordinrias

considerando o fato de que (1 + x)n enx para quaisquer n e x positivos, temos nalmente que

M Lnh M
|n | h (e 1) = h (eL(xn x0 ) 1), (8.6)
2L 2L

onde na ltima igualdade, utilizamos o fato de que xn = x0 + nh. A desigualdade (8.6) nos diz
que a dependncia do erro cometido pela aproximao de y no ponto xn limitado por um termo
linear em h. Como M , L, xn e x0 so constantes nitas, ento

M L(xn x0 )
lim |n | (e 1) lim h = 0.
h0 2L h0

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 garantem a convergncia desse mtodo de maneira geral.
Como vimos em exemplos, uma das diculdades na aplicao do mtodo da srie de Taylor
se deve crescente complexidade dos termos associados as j -simas derivadas da soluo. Uma
alternativa consiste em aproximar essas derivadas pelas suas derivadas numricas.
Vamos considerar a seguinte EDO:



y = f (x, y)


y(x0 ) = y0 .

A srie de Taylor da soluo em torno de um ponto xj dada por

1
y(x) = y(xj ) + (x xj )y (xj ) + (x xj )2 y (xj ) + O((x xj )3 ).
2

O termo y (xj ) calculado explicitamente atravs da EDO, y (xj ) = f (xj , y(xj )). J o termo
y (xj ) pode ser calculado como a derivada numrica da funo y (x) f (x, y(x)) no ponto xj ,
ou seja:
y (xj + h) y (xj ) f (xj + h, y(xj + h)) f (xj , yj )
y (xj ) = ,
h h
em seguida, aproximamos y(xj + h) y(xj ) + hy (xj ) = y(xj ) + hf (xj , y(xj )), assim
( )
f xj + h, y(xj ) + hf (xj , y(xj )) f (xj , yj )
y (xj ) .
h

A partir dessa aproximao, vamos desenvolver o termo yj da srie de Taylor (8.3) truncada na
ordem n = 2. Vamos supor ento que o espaamento h utilizado na aproximao de yi um
mltiplo do espaamento entre os pontos no mtodo da srie de Taylor, ou seja, h = h, onde h

176
8.3 Mtodo Runge-Kutta

o espaamento entre os pontos xj e xj+1 . Ento


( )
1 2 f (xj + h, y(xj ) + hf (xj , y(xj ))) f (xj , yj )
yj+1 = yj + hf (xj , yj ) + h
2 h h
(( ) )
1 1
= yj + h 1 f (xj , yj ) + f (xj + h, y(xj ) + hf (xj , y(xj ))) ,
2 2

de forma simplicada temos ento

yj+1 = yj + h (b1 k1 + b2 k2 ) , (8.7)

1
onde b1 = 1 , b2 = 1 b1 ,
2
k1 = f (xj , yj ) (8.8)

e
k2 = f (xj + h, yj + hk1 ) . (8.9)

as expresses dadas por (8.7), (8.8) e (8.9) constituem o Mtodo Runge-Kutta de dois estgios. A
denominao dois estgios se deve ao fato de que o valor yj+1 calculado em dois estgios, no
primeiro calculamos o termo k1 que utilizado no segundo estgio ao calcularmos o termo k2 .

2
Quando = 1, o mtodo conhecido como Mtodo Aperfeioado de Euler, quando = ,
3
Mtodo de Heun.

Exemplo 35: Mtodo Aperfeioado de Euler

Seja a EDO

2
y =x +y
2

.


y(0) = 0
Ento o Mtodo Aperfeioado de Euler consiste na aproximao yj da soluo y nos pontos
xj = jh, denida pela relao

h
yj+1 = yj + (k1 + k2 ) ,
2

onde y0 = 0 (dado pela condio inicial da EDO),

k1 = (xj )2 + (yj )2

e
k2 = (xj + h)2 + (yj + h k1 )2 .

A tabela seguinte ilustra o comportamento da aproximao com h = 0.1.

177
8 Equaes Diferenciais Ordinrias

xi yi y(xi )
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.4: Comparao entre a aproximao dada pelo Mtodo Aperfeioado de Euler com es-
paamento h = 0.1 e a soluo y(x) para a equao (8.2)

Exemplo 36: Mtodo de Heun

Seja a EDO

2
y =x +y
2

.


y(0) = 0
Ento o Mtodo de Heun consiste na aproximao yj da soluo y nos pontos xj = jh,
denida pela relao
1 3
yj+1 = yj + hk1 + hk2 ,
4 4
onde y0 = 0 (dado pela condio inicial da EDO),

k1 = (xj )2 + (yj )2

e ( ) ( )2
2 2 2
k2 = xj + h + yj + hk1 .
3 3
A tabela seguinte ilustra o comportamento da aproximao com h = 0.1.

178
8.3 Mtodo Runge-Kutta

xi yi y(xi )
0 0 0
0.1 0.000333 0.000333
0.2 0.002667 0.002667
0.3 0.009002 0.009003
0.4 0.021355 0.021359
0.5 0.041776 0.041791
0.6 0.072411 0.072448
0.7 0.115577 0.115660
0.8 0.173913 0.174080
0.9 0.250586 0.250907
1.0 0.349640 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)

O princpio fundamental dos mtodos 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 mtodos Runge-Kutta de n estgios dada pela seguintes expresses:
( )

n
yj+1 = yj + h b i ki (8.10)
i=1

e os termos ki so denidos pela seguinte equao recursiva,

k1 = f (xj , yj )

e ( )

i1
ki = f xj + ci h, yj + h ai,l kl
l=1

para i = 2, 3, . . . , n. O ponto x0 corresponde condio inicial y(x0 ) = y0 .


Os parmetros ai,l ,ci e bi devem ser determinados de modo que a aproximao seja a mais exata
possvel.
Para tanto, vamos considerar a funo g(xj , yj , h), constituda pela soma de todos os termos
ki (xj , yj , h) no lado direito da expresso (8.10):

yj+1 = yj + h g(xj , yj , h). (8.11)

Dessa forma, os parmetros so escolhidos de modo que a srie de Taylor em h para a soluo
em x = xj+1 , y(xj+1 ) = y(xj + h), seja igual serie de Taylor em h para o lado direito de (8.11)
at um grau mximo p,


p
1 (m)
p1
1 mg
m
y (xj ) h = yj + h (xj , yj , 0) hm .
m! m! hm
m=0 m=0

179
8 Equaes Diferenciais Ordinrias

O caso p = 0 implica a igualdade y(xj ) = yj . 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:
( ( ))
dm1
n
i1
(m)
y (xj ) = m m1 bi f xj + ci h, yj + h ai,l kl . (8.12)
dh
i=1 l=1 h=0

Vamos estudar as situaes em que temos p = 1 e p = 2. Vamos comear com um mtodo


Runge-Kutta de um nico estgio, ou seja

yj+1 = yj + 1 h f (xj , yj ).

Nesse caso a equao (8.12) com p = 1 implica

y (xj ) = b1 f (xj , yj ),

como y (xj ) = f (xj , yj ) temos que a equao satisfeita com b1 = 1. Nesse caso, o mtodo
Runge-Kutta de um nico passo idntico ao Mtodo de Euler. A equao para p = 2 no poder
d
ser satisfeita nesse mtodo pois (b1 f (xj , yj ))|h=0 = 0.
dh
Vamos analisar o mtodo Runge-Kutta de dois estgios,

yj+1 = yj + h (b1 f (xj , yj ) + b2 f (xj + c2 h, yj + ha2,1 f (xj , yj ))) .

Nesse caso, a equao (8.12) com p = 1 implica

y (xj , yj ) = (b1 + b2 )f (xj , yj ),

como y (xj , yj ) = f (xj , yj ) temos ento que

b1 + b2 = 1. (8.13)

A equao (8.12) para p = 2 implica


( )
f f
y (xj ) = 2 b2 c2 (xj , yj ) + b2 a2,1 f (xj , yj ) (xj , yj ) ,
x y

como
f f
y (xj ) = (xj , yj ) + f (xj , yj ) (xj , yj )
x y
temos ento que
2b2 c2 = 1 (8.14)

e
2b2 a2,1 = 1. (8.15)

Portanto as trs equaes (8.13), (8.14) e (8.15) devem ser satisfeitas simultaneamente. No dif-
cil vericar que tanto o Mtodo de Heun quanto o Mtodo Aperfeioado de Euler as satisfazem.
Na realidade, h uma innidade de escolhas, j que so 4 incgnitas e apenas trs equaes. Por

180
8.3 Mtodo Runge-Kutta

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
Runge-Kutta importante pois permite obter informao sobre a taxa de convergncia do mtodo
com relao ao espaamento h. Por exemplo, sabe-se3 que uma equao diferencial com soluo
no intervalo (x0 , x) aproximada nos pontos x1 = x0 + h, x2 = x0 + 2h, . . . ,x = x0 + N h por
y1 , y2 , . . . , yN que satisfazem as relaes de recorrncia de um mtodo Runge-Kutta de ordem p
tal que
max |y(x0 + jh) yj | = O(hp ).
0jN

Mtodo Runge-Kutta Clssico (4 estgios)

O Mtodo Runge-Kutta Clssico de 4 estgios descrito pelo seguinte conjunto de relaes de


recorrncia:
h
yj+1 = yj + (k1 + 2k2 + 2k3 + k4 ) ,
6
onde
k1 = f (xj , yj ),
( )
1 1
k2 = f xj + h, yj + hk1 ,
2 2
( )
1 1
k3 = f xj + h, yj + hk2
2 2
e
k4 = f (xj + h, yj + hk3 ) .

A aproximao tal que o erro absoluto no intervalo (x0 , x) dado por

max |y(x0 + jh) yj | = O(h4 )


0lN

onde x = x0 + N h. Ou seja, o mtodo de 4 ordem.

Exemplo 37: Seja a EDO



2
y =x +y
2

.


y(0) = 0
Ento o Mtodo Runge-Kutta Clssico de 4 estgios consiste na aproximao yj da soluo
y nos pontos xj = jh, denida pela relao

h
yj+1 = yj + (k1 + 2k2 + 2k3 + k4 ) ,
6
3
Veja a referncia:
Henrici, P. Discrete Variable methods in Ordinary Differential Equations, J. Willey & Sons, Inc., (1962).

181
8 Equaes Diferenciais Ordinrias

onde y0 = 0 (dado pela condio inicial da EDO),

k1 = (xj )2 + (yj )2 ,
( ) ( )2
1 2 1
k2 = xj + h + yj + hk1 ,
2 2
( ) ( )2
1 2 1
k3 = xj + h + yj + hk2
2 2
e
k4 = (xj + h)2 + (yj + hk3 )2 .

A tabela seguinte ilustra o comportamento da aproximao com h = 0.1.

xi yi y(xi )
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 es-
paamento 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(x0 ) = y0 Rn

onde x0 R, f : R Rn Rn e a soluo uma funo com n componentes, y : R Rn .

8.5 Mtodos de mltiplos passos

Os mtodos Runge-Kutta so denominados mtodos de passo nico pois a aproximao yj+1


depende explicitamente de yj apenas. Nesta seo vamos considerar os mtodos de mltiplos

182
8.5 Mtodos de mltiplos passos

passos. Um mtodo de n passos parar aproximar a soluo da EDO




y = f (x, y), x > x0 R

(8.16)


y(x0 ) = y0

possui a forma geral


n
n
yj+1 = l yj+1l + h l f (xj+1l , yj+1l ), (8.17)
l=1 l=0

onde xj = x0 + 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 yj+1 est implicitamente denido por (8.17) nos
casos em que 0 = 0. Note que nesses casos temos yj+1 no lado esquerdo da equao e um termo
h0 f (xj+1 , yj+1 ) no lado direito, dessa forma o valor de yj+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 pas-
sos 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 > xi , 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 ante-
riores para y . Em seguida, a aproximao em x = xi obtida via integrao de (8.18),
xi+1 xi+1 xi+1

y (xi+1 ) y (xi ) = y (x)dx p(x)dx = yi+1 = yi + p(x)dx.
xi xi def xi

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 Adams-Bashforth

O mtodo Adams-Bashforth de n passos possui a forma


n
yj+1 = yj + h i f (xj+1l , yj+1l ),
l=1

183
8 Equaes Diferenciais Ordinrias

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 Adams-Bashforth de n passos.

8.5.2 Mtodo Adams-Moulton


O mtodo Adams-Moulton de i passos possui a forma


n
yj+1 = yj + h i f (xj+1l , yj+1l ),
l=0

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 Adams-Moulton de n + 1 passos.

184
8.6 Exerccios

8.6 Exerccios
1) A velocidade de um corpo em queda livre pode ser descrita pela seguinte equao

dv
= 10 0.00343v 2 .
dt

A partir da equao diferencial, encontre o valor da velocidade terminal ( valor da velocidade


dv
que implica = 0) e atravs do Mtodo Runge-Kutta Clssico de 4 estgios determine uma
dt
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)


y

q
l
g

cuja equao, de acordo com a 2 Lei de Newton, dada pela EDO de 2 ordem,

d2 g
+ sen() = 0,
dt2 l

onde g a acelerao da gravidade e l o comprimento do pndulo. Utilize o Mtodo Runge-Kutta


Clssico de 4 estgios para determinar uma aproximao para a soluo da equao do pndulo
simples nos instantes t = 0.1, 0.2, . . . , 1.0, no caso em que g = 10 e l = 1 com condio inicial
d
(0) = , (0) = 0.
4 dt
A energia mecnica total,
( )2
1 2 d
ml mgl cos(),
2 dt
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 um que suporte deformao elstica
apenas na direo longitudinal teremos a seguinte situao

185
8 Equaes Diferenciais Ordinrias

x
L
q
g
l

Agora, tanto o ngulo , quanto o comprimento l so funes do tempo. As equaes que


descrevem 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 lagrangiano ou atravs do formalismo hamiltoniano.

As equaes so dadas por


2


d 2 d dl g

+ + sen() = 0
dt2 l dt dt l
,

( )2

d2 l d k
2 l + (l L) g cos() = 0
dt dt m

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 Clssico de 4 estgios para determinar uma aproxi-
mao para a soluo da equao do pndulo simples nos instantes t = 0.1, 0.2, . . . , 1.0, no caso
d
em que g = 10, L = 1, k = 2 e m = 0.2, com condio inicial (0) = , (0) = 0, l(0) = L,
4 dt
dl
(0) = 0.
dt
Para este sistema a energia mecnica total possui a expresso

( ( ) ( )2 )
2
m 2 d dl 1
l + mgl cos() + k (l L)2 ,
2 dt dt 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

186
8.6 Exerccios

q1
l
g

m
l
q2
m

Neste exemplo tambm, a forma mais simples de obter as equaes de movimento atravs do
formalismo lagrangiano ou atravs do formalismo hamiltoniano.
As equaes so dadas por
( ( ) )
1 1 2 + 2 2 + g (3sen (1 ) + sen ( 2 ))

1 +
sen () cos () = 0

1 + sen2 () 2l

( )

sen () 2 2 2g
2 cos () 2 + 21 + cos (1 ) = 0
1 + sen2 () l

onde g a acelerao da gravidade, l o comprimento do pndulo e = 1 2 . Utilize o


Mtodo Runge-Kutta Clssico de 4 estgios para determinar uma aproximao para a soluo da
equao do pndulo simples nos instantes t = 0.1, 0.2, . . . , 1.0, no caso em que g = 10 e l = 1
d1 d2
com condio inicial 1 (0) = 2 (0) = , (0) = (0) = 0.
4 dt dt
Para este sistema a energia mecnica total possui a expresso

ml2 ( 2 2
)
21 + 2 + 2 cos (1 2 ) 1 2 mgl (2 cos (1 ) + cos (2 )) ,
2
Trabalhe com sucessivos valores para o espaamento h e observe o comportamento da energia
mecnica ao longo de t.

5) Considere a EDO
d2 x A
m 2
= k (x l) + 2 .
dt x
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 = u v 0.9w

187
8 Equaes Diferenciais Ordinrias

com condio inicial u(0) = 0, v(0) = 1, w(0) = 2, determine a melhor aproximao com cinco
10
dgitos para 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. A sen(wt)

Inicialmente o pndulo encontra-se em repouso na posio


vertical. A equao para o ngulo
q(t)
l
d2 g 2A
2
= sen () + sen (t) cos ()
dt l l
m
Determine o maior ngulo alcanado no intervalo de tempo g

limitado por 10s. Trabalhe com g = 10m/s, l = 119 , A =


0.3m e = 2.5s1 .

8) Considere o seguinte P.V.I.


( )
y + ey 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 Aperfeio-
ado de Euler no caso do sistema de EDOs
{
x = t + x y
y = y + t x

com condio inicial x (t0 ) = x0 e y(t0 ) = y0 .

10) O sistema de equaes abaixo um modelo simplicado para propagao de sinais eltricos
por axnios.


v = I + (1 v(t)) (0.139 + v(t)) v(t) w(t),
t>0
w = 0.008 (v(t) 2.54w(t)) , t>0


v(0) = 0 e w(0) = 0.
O termo I representa uma corrente externa. Atravs da aproximao obtida pelo Mtodo Runge-
Kutta Clssico com espaamento h = 0.01 e excitao I = 0.05, determine se a soluo evolui
para a um potencial ao (v e w peridicas), ou para a situao de repouso (v e w nulas) ou ainda
para a saturao (v e w constantes e no nulas).

11) Considere o seguinte P.V.I para a reentrada de um corpo na atmosfera de um planeta




4 105
y =
0.12 y |y | exp (0.12y) , t > 0, y > 0
(6400 + y)2




y(0) = 100 e y (0) = 0.

188
8.6 Exerccios

A soluo, y(t), representa a altura no instante t dado que no instante t = 0 o corpo se encontra
em repouso a uma altura de 100 unidades de comprimento.
As equaes supem que a fora de arrasto newtoniana (quadrtica na velocidade) e que a den-
sidade de massa da atmosfera se comporta de maneira exponencial. A partir do Mtodo Runge-
Kutta Clssico, determine o instante do impacto na superfcie (ou seja, para qual t , y (t ) = 0)
com quatro dgitos de preciso.

12) O sistema de equaes abaixo um modelo simplicado para a evoluo populacional de


duas espcies interagentes


x = 2 x (1 y) ,
t>0
y = 4 y (x 1) , t>0


x(0) = 0.6 e y(0) = 1.1

Se x(0) > 0 e y(0) > 0 a soluo peridica. Determine a melhor aproximao com quatro
dgitos para os valores mnimos de x e y .

13) Sejam x(t) e y(t) solues do P.V.I. abaixo no domnio (0, 5] t




x = 2 x (1 y) ,
t>0
y = 4 y (x 1) , t>0


x(0) = 0.8 e y(0) = 1.3

Considerando as aproximaes para o P.V.I. obtidas a partir do Mtodo Runge-Kutta Clssico


com 100, 200 e 400 pontos, determine a melhor aproximao que pode ser obtida para
5
t x(t) y(t) dt
0

atravs da quadratura composta de Simpson.

14) A equao para a deformao de uma viga homognea com seo transversal constante,
sujeita a uma carga com distribuio uniforme q ao longo do seu comprimento e suportada sim-
plesmente nas extremidades (y(0) = y(L) = 0) dada por


EI 2
= qLx + q x ,

( ) y 0 < x < L,

1 + (y )2 3/2 2 2





y(0) = y(L) = 0.

Considere a situao na qual E = 2 1011 N/m, I = 2.083 106 m4 e q = 2500N/m. Utilize


o Mtodo Runge-Kutta Clssico de 4 estgios com espaamento h = 0.001m e determine uma
aproximao com quatro dgitos para o ngulo de inclinao nas extremidades da viga sob essas
condies se o seu comprimento de L = 7.5m.

189
9 Cdigos Scilab

9.1 Eliminao Gaussiana com pivotamento parcial

function x=egpp(A)
// A matriz "A" deve ser a matriz completa
// de um sistema de equaes lineares.
// O programa possui duas partes:
// o escalonamento da matriz e o processo de substituio.
//
// Variveis auxiliares
//
// n -> nmero de linhas da matriz completa.
// m -> nmero de colunas da matriz completa.
// i -> indexador de linha.
// j -> indexador de coluna.
//
// pivot -> guarda o elemento piv.
//
// pivot_line -> guarda o ndice de linha de um elemento
// piv.
//
// per_line -> booleana que indica a necessidade de troca
// de linha.
//
// aux_line -> guarda uma das linhas a ser trocada.
//
// fator1 -> fator utilizado no escalonamento.
//
// fator2 -> fator utilizado no escalonamento.

n=size(A,1); // Nmero de linhas de A.


m=size(A,2); // Nmero de colunas de A.

//
// Escalonamento da matriz de coecientes
//

191
9 Cdigos Scilab

for j=1:(n-1)
pivot=A(j,j);
per_line=%F; // Inicializao da varivel booleana.
// Vericao da necessidade de troca de linhas
for i=j+1:n
if abs(A(i,j))>2*abs(pivot) then
pivot_line=i; // ndice da linha para troca.
pivot=A(i,j); // Atualizao do piv.
per_line=%T; // Deve-se realizar a troca de linhas.
end;
end;

// Troca de linhas
if per_line then
aux_line=A(j,:);
A(j,:)=A(pivot_line,:);
A(pivot_line,:)=aux_line;
end;

// Eliminao dos elementos na coluna, abaixo do piv.


fator1=pivot;
for i=j+1:n
fator2=A(i,j);
A(i,j)=0.;
A(i,j+1:m)=(fator2/fator1)*A(j,j+1:m)-A(i,j+1:m);
end;
end;

//
// substituio
//
x(n,1:m-n)=A(n,n+1:m)/A(n,n);
for j=n-1:-1:1
x(j,1:m-n)=(A(j,n+1:m)-A(j,j+1:n)*x(j+1:n,1:m-n))/A(j,j);
end;
endfunction;

9.2 Mtodo de Jacobi

function [x]=jacobi_solv(A,norma,tol_aprox,max_iter)
// A matriz "A" deve ser a matriz completa

192
9.2 Mtodo de Jacobi

// de um sistema de equaes lineares.


// como o prprio nome diz, ``norma'' deve ser
// a norma matricial.
// Pode ser "1", "inf" ou "fro" que corresponde norma 2
// que estudamos.
// tol_aprox a tolerncia na diferena entre
// duas aproximaes sucessiva e max_iter,
// o nmero mximo de iteraes.
//
// Variveis locais
// x0 -> aproximao anterior.
// segue -> booleana. Controla a iterao.
// contador -> contador de iteradas.
// InvB -> inversa de B.
// InvB_b -> o resultado do produto InvB*b.
// C -> A=B-C, onde A*x=b.
// InvB_C -> o resultado do produto invB*C.

n=size(A,1); // Nmero de linhas.


m=size(A,2); // Nmero de colunas.

// Construo das matrizes utilizadas na iterao.

// Inv_B
invB=zeros(n,n);
for i=1:n
invB(i,i)=1/A(i,i);
end;

// Matriz C
C=-A(:,1:n);
for i=1:n
C(i,i)=0;
end;

// InvB_b
invB_b=zeros(n,m-n);
for i=1:n
invB_b(i,1:m-n)=invB(i,i)*A(i,n+1:m);
end;

//invB_C
invB_C=zeros(n,n);
for i=1:n
invB_C(i,1:n)=invB(i,i)*C(i,1:n);

193
9 Cdigos Scilab

end;

// Inicializao das variveis.


x0=zeros(n,m-n);
segue=%T;
contador=0;

// iterao
while segue
x=invB_b+invB_C*x0;
if norm(x-x0,norma)<=tol_aprox | contador>=max_iter then
segue=%F;
end;
x0=x;
contador=contador+1;
end;

// Aviso cautelar
if contador>max_iter then
warning('No houve convergncia.');
end;
endfunction;

9.3 Mtodo Gauss-Seidel

function [x]=gseidel_solv(A,norma,tol_aprox,max_iter)
// A matriz "A" deve ser a matriz completa
// de um sistema de equaes lineares.
// como o prprio nome diz, ``norma'' deve ser
// a norma matricial.
// Pode ser "1", "inf" ou "fro" que corresponde norma 2
// que estudamos.
// tol_aprox a tolerncia na diferena entre
// duas aproximaes sucessiva e max_iter,
// o nmero mximo de iteraes.
//
// Variveis locais
// x0 -> aproximao anterior.
// segue -> booleana. Controla a iterao.
// contador -> contador de iteradas.
// InvB -> inversa de B.

194
9.3 Mtodo Gauss-Seidel

// InvB_b -> o resultado do produto InvB*b.


// C -> A=B-C, onde A*x=b.
// InvB_C -> o resultado do produto invB*C.

n=size(A,1); // Nmero de linhas.


m=size(A,2); // Nmero de colunas.

// Construo das matrizes utilizadas na iterao.

// Inv_B
invB=zeros(n,n);
for i=1:n
invB(i,i)=1/A(i,i);
end;

// Matriz C
C=-A(:,1:n);
for i=1:n
C(i,i)=0;
end;

// InvB_b
invB_b=zeros(n,m-n);
for i=1:n
invB_b(i,1:m-n)=invB(i,i)*A(i,n+1:m);
end;

//invB_C
invB_C=zeros(n,n);
for i=1:n
invB_C(i,1:n)=invB(i,i)*C(i,1:n);
end;

// Inicializao das variveis.


x0=zeros(n,m-n);
segue=%T;
contador=0;

// iterao
while segue
for i=1:n
x(i)=invB_b(i)+invB_C(i,:)*x;
end;
if norm(x-x0,norma)<=tol_aprox | contador>=max_iter then
segue=%F;
end;

195
9 Cdigos Scilab

x0=x;
contador=contador+1;
end;

// Aviso cautelar
if contador>max_iter then
warning('No houve convergncia.');
end;
endfunction;

9.4 Mtodo da Bisseco

function [z,fz,niter]=fsolve_b(x0,x1,%fun,tol); // Mtodo da


bisseco
//dados de entrada
// x0 -> extremidade inferior.
// x1 -> extremidade superior.
// %fun -> funo
// tol -> tolerncia na diferena relativa entre duas aproxi-
maes sucessivas.

//variveis auxiliares
// segue -> varivel booleana que controla a parada.
// contador -> conta o nmero da vezes que o lao principal
executado.
// xm -> ponto intermedirio.
// fm -> valor da funo f em x=xm.
// f0 -> valor da funo e em x=x0.
// f1 -> valor da funo e em x=x1.
// Nmax -> nmero mximo de iteradas.

//inicialiazao das variveis


f0=%fun(x0); f1=%fun(x1); contador=0; segue=%T; Nmax=100;
if ~isdef('tol','local') then
tol=1e-10
end

// checagem inicial
if f0*f1>0 then
warning('O intervalo inicial pode no conter soluo.')
segue=%F
end;

196
9.5 Mtodo da Falsa Posio

//lao principal
while segue
contador=contador+1
xm=0.5*(x0+x1)
fm=%fun(xm)
// escolha das novas extremidades
if fm*f0<0 then
x1=xm; f1=fm
else
x0=xm; f0=fm
end
// teste para o prosseguimento do lao
if fm==0 | abs(x1-x0)< tol*abs(xm) | contador==Nmax then
segue=%F
end
// descomente a linha abaixo se quiseres a sequncia de
iteraes no console
//mprintf('Iterao %d \t aproximao:
%.17e\n',contador,xm)
end

// Sada de dados
if contador==Nmax then
warning(msprintf('A exatidao nao foi obtida em %d itera-
coes',Nmax))
end
z=xm; fz=fm; niter=contador
endfunction

9.5 Mtodo da Falsa Posio

function z=zero_rfalsi(f,x0,x1,Nmax);// Mtodo da Falsa Posi-


o ("Regula Falsi")
//dados de entrada
// x0 -> extremidade inferior.
// x1 -> extremidade superior.
// Nmax -> limite superior para o nmero de iteraes.
// variveis auxiliares
// f0 -> valor da funo f em x0.
// f1 -> valor da funo f em x1.
// fm -> valor da funo f em xm.

197
9 Cdigos Scilab

// abs_diff -> diferena absoluta entre duas aproximaes.


// old_abs_diff -> diferena absoluta na iterao anterior.
// contador -> guarda o nmero de iteradas realizadas.
// segue -> varivel booleana. Controla o uxo de execuo
das iteradas.
// convergiu -> varivel booleana. Guarda informao sobre a
convergncia.
//inicialiazao das variveis
f0=f(x0);
f1=f(x1);
if x0<>x1 & f0==f1 then
warning('Verique o condicionamento do problema\n');
segue=%F;
else
xm=x1-((x1-x0)/(f1-f0))*f1;
fm=f(xm);
end;
if xm==x1 | xm==x0 then
segue=%F;
else
segue=%T;
end;
convergiu=%F;
old_abs_diff=max(abs(xm-x1),abs(xm-x0));
abs_diff=0;
if fm*f0<0 then
x1=xm
f1=fm;
else
x0=xm;
f0=fm;
end;
contador=1;
//lao principal
while segue
contador=contador+1;
if abs(f1)>abs(f0) then
xm=x1-((x1-x0)/(1-f0/f1));
else
xm=x1-(x0-x1)/(1-f1/f0)*(f1/f0);
end;

198
9.5 Mtodo da Falsa Posio

fm=f(xm)
if fm*f0<0 then
x1=xm;
f1=fm;
//f0=f0/2; // linha presente na verso modicada do m-
todo.
else
x0=xm;
f0=fm;
// f1=f1/2; // linha presente na verso modicada do m-
todo.
end;
abs_diff=abs(x1-x0);
// descomente a linha abaixo se quiseres a sequncia de
iteraes no console
//mprintf('Iterao %d \t aproximao:
%.16e\n',contador,x1);
if abs_diff>=old_abs_diff then
convergiu=%T;
end;
old_abs_diff=abs_diff;
if convergiu | f0==0 | f1==0 | f0/f1==1 | f1/f0==1 | conta-
dor>=Nmax then
segue=%F; // teste para o prosseguimento do lao princi-
pal.
end;
end;
// Sada de dados
// mensagens de aviso
if contador>=Nmax then
warning(msprintf('\nA exatido no foi obtida em %d itera-
coes.\n',contador));
if f1==0 | f0==f1 then
warning(msprintf('Verique o condicionamento do pro-
blema.'));
end;
else
warning(msprintf('Foram necessrias %d itera-
es.',contador));
end;
z=xm;

199
9 Cdigos Scilab

endfunction

9.6 Mtodo Newton-Raphson

function z=zero_newraph(f,x0,Nmax); // Mtodo Newton-Raphson


// dados de entrada
// x0 -> aproximao inicial.
// Nmax -> limite superior para o nmero de iteraes.
// variveis auxiliares
// x1 -> aproximao na iterada seguinte.
// abs_diff -> diferena absoluta entre duas aproximaes.
// old_abs_diff -> diferena absoluta na iterao anterior.
// contador -> guarda o nmero de iteradas realizadas.
// segue -> varivel booleana. Controla o uxo de execuo
das iteradas.
//inicialiazao das variveis
x1=x0-f(x0)/derivative(f,x0); // A primeira iterada calcu-
lada fora do
old_abs_diff=abs(x0-x1); // lao principal. Isto necessrio
para
x0=x1; // avaliar a evoluo do resduo j
contador=1; // na 1 iterao.
segue=%T;
//lao principal
while segue
contador=contador+1;
x1=x0-f(x0)/derivative(f,x0); // A funo derivative cal-
cula a
abs_diff=abs(x0-x1); // derivada numrica de f.
// Descomente a linha abaixo se quiseres a sequncia de
iteraes no console
//mprintf('Iterao %d \t aproximao:
%.16e\n',contador,x1);
if abs_diff>=old_abs_diff| contador>=Nmax then
segue=%F; // Teste para o prosseguimento do lao
end; // principal.
x0=x1; // atualizao.
old_abs_diff=abs_diff;
end;
// Sada de dados

200
9.7 Mtodo da Secante

// mensagens de aviso
if contador>=Nmax then
warning(msprintf('\n A exatido no foi obtida em %d itera-
coes',Nmax));
else
warning(msprintf('Foram necessrias %d iteraes
\n',contador));
end;
z=x1;
endfunction

9.7 Mtodo da Secante

function z=zero_sec(f,x0,x1,Nmax);// Mtodo da Secante


//dados de entrada
// x0 -> extremidade inferior.
// x1 -> extremidade superior.
// Nmax -> limite superior para o nmero de iteraes.
// variveis auxiliares
// f0 -> valor da funo f em x0.
// f1 -> valor da funo f em x1.
// abs_diff -> diferena absoluta entre duas aproximaes.
// old_abs_diff -> diferena absoluta na iterao anterior.
// contador -> guarda o nmero de iteradas realizadas.
// segue -> varivel booleana. Controla o uxo de execuo
das iteradas.
// convergiu -> varivel booleana. Guarda informao sobre a
convergncia.
//inicialiazao das variveis
f0=f(x0);
f1=f(x1);
if x0<>x1 && f0==f1 then
warning('Verique o condicionamento do problema\n');
segue=%F;
else
x2=x1-((x1-x0)/(f1-f0))*f1;
end;
if x2==x1 | x2==x0 then
segue=%F;
else

201
9 Cdigos Scilab

segue=%T;
end;
convergiu=%F;
old_abs_diff=abs(x2-x1);
x0=x1;
f0=f1;
x1=x2;
f1=f(x1);
contador=1;
//lao principal
while segue
contador=contador+1;
if abs(f1)>abs(f0) then
x2=x1-((x1-x0)/(1-f0/f1));
else
x2=x1-(x0-x1)/(1-f1/f0)*(f1/f0);
end;
abs_diff=abs(x2-x1);
x0=x1;
f0=f1;
x1=x2;
f1=f(x1);
// descomente a linha abaixo se quiseres a sequncia de
iteraes no console
//mprintf('Iterao %d \t aproximao:
%.16e\n',contador,x1);
if abs_diff>=old_abs_diff then
convergiu=%T;
end;
if convergiu | f1==0 | f0/f1==1 | f1/f0==1 | contador>=Nmax
then
segue=%F; // teste para o prosseguimento do lao princi-
pal.
end;
end;
// Sada de dados
// mensagens de aviso
if contador>=Nmax then
warning(msprintf('\nA exatido no foi obtida em %d itera-
coes\n',contador));
if f1==0 | f0==f1 then

202
9.7 Mtodo da Secante

warning(msprintf('Verique o condicionamento do pro-


blema.'));
end;
else,
warning(msprintf('Foram necessrias %d iteraes
\n',contador)),
end;
z=x1;
endfunction

203
10 Respostas de alguns exerccios

10.1 Captulo 1

1)

749
1. = 93, 625.
8

63
2. = 7, 875.
8

22015
3. = 171, 9921875.
128

2) 0, 0001110000 . . .2 = 0, 0022220120 . . .3 = 0, 1C28F 5C28F . . .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 104 96 = 1 + 864 104 solues se o arredondamento for por truncamento e


2 + 4 104 + 9 104 95 = 2 + 859 104 solues se o truncamento for par. O resultado obtido
levando-se em conta todas as combinaes operaes da forma

0, 10000 101
0, 00000d1 d2 . . . d5 10e

com e 1.

7) No primeiro caso, a sequncia de operaes

(x x) 1 = (0, 100010 101 0, 100010 101 ) 0, 100000 101

= 0, 100020 101 0, 100000 101

= 0, 200000 103 .

205
10 Respostas de alguns exerccios

No segundo caso,

(x 1) (x 1) = (0, 200010 101 ) (0, 100000 103 )

= 0, 200010 103 .

No terceiro caso,

(x (x 1)) (x 1) = (0, 100010 101 0, 100000 103 ) 0, 100000 103

= 0, 100010 103 0, 100000 103

= 0, 200010 103 .

Portanto, para x = 0, 100010 101 , os dois ltimos casos so os mais exatos.

8) O registro hexadecimal ABCDh corresponde ao binrio guarda o registro de ponto u-


tuante IEEE754 de 16 bits: 1010101111001101. Por sua vez, esse registro, 1010101111001101
corresponde ao ponto utuante

(1)1 (1, 1111001101)2 2(01010)2 15

cujo valor em base decimal


6.0943603515625 102 .

O ponto utuante que representa 1 dado por

1, 0000000000 100

como estamos utilizando o arredondamento par, o menor ponto utuante a ser adicionado

0, 0000000001 100

que corresponde a 210 .

9) Os dois nmeros so (0, 2121)4 41 e (0, 2111)4 40 . 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.
f0
11) 0.075 = 7.5%.
f0

12) A expresso 2 + x x2 + 4 estar sujeita a cancelamento catastrco, quando x assumir
valores muito pequenos1 . 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.

206
10.1 Captulo 1

Vamos ento passar o termo 4 para fora da raiz,



x2
2+x2 + 1.
4

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 1
1 + z = 1 + z z2 . . .
2 8

Assim, a expresso original reescrita na forma da expanso


( )
x2 x4
2+x2 1+ + ...
8 128

a partir da qual construmos a aproximao, vlida para x 1,

x2 x4
2+x x2 + 4 x + .
4 64

No caso do sistema F (10, 10, 20, 20) e para os valores de x pedidos, basta utilizar os dois pri-
meiros termos da aproximao:
x2
x .
4
As aproximaes sero dadas ento por

0, 9999997500 106 ,
0, 9999999750 107 ,
0, 9999999975 108 .

A ttulo de curiosidade, os cem primeiros dgitos exatos da expresso calculada com x = 0, 1


106 so

0, 99999975000000000001562499999999804
6875000000305175781249946594238281260
0135803222636580467224125089 . . . 106 .

13) O termo cos y limitado (pois a funo cosseno admite valores no intervalo [1, 1]). Por
x2 2
outro lado, e e ex pode assumir valores arbitrariamente grandes e sempre maior ou igual
2
x2
unidade. Alm disso, ex2 = e 2 . Assim,

x2 x2 x2
e 2 ex2 + cos y = e 2 e 2 1 + ex2 cos y

x2 x2 ( )
1 1
= e 2 e 2 1 + ex cos y e2x cos2 y + . . . ,
2 2

2 8

207
10 Respostas de alguns exerccios

onde, na ltima linha, utilizamos uma expanso em srie de potncias na qual ex cos y con-
2

siderado um nmero pequeno. Dessa forma, levando em conta apenas os primeiros termos da
expanso, chegamos aproximao

x2 x2 3x2
1 1
e 2 ex2 + cos y e 2 cos y + e 2 cos2 y.
2 8

14) A representao do nmero 20, 25 em base trs 202, 023 . Ou seja,

0, 2020202020202 . . .3 33 ,

onde oito primeiros dgitos da representao esto assinalados em vermelho. Se dispormos os


demais dgitos aps uma virgula teremos

1
0, 20202 . . .3 > .
2

Portanto, de acordo com o arredondamento par, a representao em ponto utuante com 8 dgitos
de signicando para o nmero 20, 25

0, 202020213 33 .

15) De acordo com a frmula para propagao de erros, se os erros em x e y forem descorrela-
cionados,

f |sen(x) cos(y)| x + |cos(x)sen(y)| y


2 2 2 2

= x + y
2 2 2 2

= 106 .

Portanto,
f ( ) 106
, = 0.4 106 .
f 4 4 2.5

16) O nmero 6, 125 possui a representao binria 110, 0012 . Em notao normalizada com
sete dgitos (j que seis sero armazenados no registro)

0, 11000102 23 ,

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 1102 . Finalmente o sinal do
nmero positivo e portanto o dgito que o representa o 0. Assim, o registro de 10 bits

0110100010

208
10.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.

10.2 Captulo 2


x x1 b b
3) A1 1 A1 1
. Como A1 1 A1 144 e b b (0, 001; 0, 001)1
x1 b1 1
x x1
temos que 0.24.
x1
5) A convergncia muito lenta. Por exemplo, utilizando norma 1 e tolerncia 1012 , 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)
r ( n1
)
1. Se |r| < 1 e n mpar, ento || > 2 1r 2 .
1r
r ( )
1 r 2 + r 2 1 .
n n
2. Se |r| < 1 e n par, ento || > 2
1r
r ( n1 )
3. Se |r| > 1, ento || > r 1 .
r1
4. Se |r| = 1, ento || > n 1.

10) Aproximadamente 5.189 1012

11) Aproximadamente 2.218 1012

12) Aproximadamente 0.142105A entre os ns 1 e 4

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

6) x = 1, 52430 . . .; x = 5, 31204 . . . e x = 6, 72423 . . .

209
10 Respostas de alguns exerccios

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 d
(x) = (senx) ,
dx x=x dx x

= 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 m-


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

. cos 3x sen3x
f (x) = 3
x x2

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) = xk y.

Assim, de acordo com o mtodo Newton-Raphson, a relao de recorrncia dada por


(
)k
x(n) y
x (n+1)
= x (
(n)
)k1
k x(n)
( )
1 y
= 1 x(n) + ( )k1 ,
k k x(n)

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

7 10 1
x(n+1) = x(n) + ( ) .
8 8 x(n) 7

210
10.3 Captulo 3

A convergncia quadrtica pois a derivada de f em seu zero k (x )k1 , como x = 0, ento


f (x ) = 0.

16)
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, y) = 0
4x + 3y 1 = 0
3 3
x
= . (10.1)




f (x, y) = 0 6y 5 + 9xy 2 = 0
y

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)) R3 |x, y R e do grco para as curvas de
nvel dessa superfcie. Comeamos com a denio de uma funo que dependa de dois argumen-
tos 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); // Denio do intervalo de valores nas va-


riveis x e y.
y=linspace(-1.5,1.5,50);

fplot3d(x,y,f1); // Grco para a superfcie.


contour(x,y,f1,-5:0.2:2.4,ag=[1 0 4],zlev=-35); // Grco 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 ag=[1 0 4] corres-
ponde a uma formatao particular do grco -- Consulte a ajuda on-
line do Scilab. Pode ser necessrio alterar o ponto de vista para me-
lhor visualizar o grco.

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 : R2 R2
tal que a equao
F (t) = 0 R2

represente o sistema (10.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)

211
10 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 10.3.1. 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).

17) Aproximadamente 5.49372 103 , ou seja, 0.549372% ao ms.

18) [4.211022072341680800101 ; 3.452290126352391963101 ]; [0.45; 0.2]; [4.1558957469852919


101 ; 3.773529931083249300101 ] e [2.539361503926483299101 ; 8.485161276112986872
101 ].

10.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:

f (x + h) f (x)
(D+,h f ) (x) =
h

h2
f (x) + hf (x) + f (x) + O(h3 ) f (x)
= 2
h

h
= f (x) + f (x) + O(h2 ) = f (x) + c0 h + O(h2 ).
2

Assim, ao utilizarmos espaamento 2h, a operao ser tal que

(D+,2h f ) (x) = f (x) + c0 (2h) + O(h2 ).

A seguinte combinao linear anula o termo com dependncia linear em h:

(D+,2h f ) (x) 2 (D+,h f ) (x) = f (x) + O(h2 )

.
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(h2 ).
A nova operao (D+1,h f ) (x) possui a seguinte dependncia em h:

(D+1,h f ) (x) = f (x) + c1 h2 + O(h3 )

212
10.4 Captulo 4

de modo que
(D+1,2h f ) (x) = f (x) + c1 (2h) 2 + O(h3 ).

E a combinao linear

4 (D+1,h f ) (x) (D+1,2h f ) (x) = 3f (x) + O(h3 )

remove a dependncia quadrtica em h. Denimos (D+2,h f ) (x) como

. 4 (D+1,h f ) (x) (D+1,2h f ) (x)


(D+2,h f ) (x) = ,
3

ou seja,
( ) ( )
f (x + h) f (x) f (x + 2h) f (x) f (x + 2h) f (x) f (x + 4h) f (x)
4 2 2
h 2h 2h 4h
(D+2,h f ) (x) =
3

f (x + 4h) 12f (x + 2h) 32f (x + h) 21f (x)


=
12h

2) f (0.3) 1.350 e f (0.1) 0.8833

3) O(h)

4) O(h)
f (x 2h) + 16f (x h) 30f (x) + 16f (x + h) f (x + 2h) ( )
5) 2
= f (x) + O h4
12h
f (x) 2f (x + h) + f (x + 2h)
6) = f (x) + O(h)
h
3f (x) + 4f (x + h) f (x + 2h) ( ) f (x) 2f (x + h) + f (x + 2h)
7) = f (x) + O h2 e =

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

8) O uxo trmico vale aproximadamente 1.875 104 W/m


f (x 4h) 34f (x 2h) + 64f (x h) 64f (x + h) + 34f (x + 2h) f (x + 4h)
9) = f (x)+
( 4) 48h3
O h
4f (x h) + 3f (x) + f (x + 2h) ( )
10) = f (x) + O h2 .
6h
11) Uma possibilidade (combinando h e 2h )
8f (x 4h) 64f (x 2h) + 40f (x + h) 5f (x + 2h) + 24f (x + 3h) 3f (x + 6h)
= f (x)+
( 3) 180h
O h
4y(x 3h) + (16 + h)y(x 2h) + 4(5 h)y(x h) + (8 3h)y(x)
12) = y (x)2y (x)+
( 2) 2h2
O h
( ) ( )
5 4
9T (R) 12T R + 3T R
6 6
13) T (R)
R

213
10 Respostas de alguns exerccios

10.5 Captulo 5
2) A partir dos dados da tabela encontramos as seguintes interpolaes. Observao: os resul-
tados foram obtidos a partir de operaes em ponto utuante e os primeiros sete dgitos esto
representados. Se admitirmos os valores da tabela como racionais exatos, a interpolao envol-
ver 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 operaes aritmticas.
para a funo cotangente Pcot (x) = 2283.332 . . . 1.874997 . . . 106 x + 7.083307 . . . 108 x2
1.249991 . . . 1011 x3 + 8.33325 1012 x4 .
para a funo seno Psen (x) = 3.469446 . . .1018 +x+7.275957 . . .1012 x2 1.862451 . . .
109 x3 .
para a funo cosseno Pcos (x) = 1.000008 . . . 0.01399999 x + 7.833333 x2 2000 x3 +
166666.6 x4 .
Pcos (0.0015)
O erro cometido na aproximao do valor de cot(0.0015) por pode ser avali-
Psen (0.0015)
Pcos
ada atravs da propagao de erros. De acordo com ela, o erro vamos denomin-lo (x)
Psen
est relacionado aos erros cometidos na aproximao do seno e do cosseno pelas respectivas
interpolaes2 :

Pcos 1 Pcos (x)

(x)
Pcos (x) + Psen (x),
Psen Psen (x) (Psen (x))2

onde os erros so dados por Pcos (x) = |cos(x) Pcos (x)| e Psen (x) = |sen(x) Psen (x)|.
Dessa forma, Pcos (0.0015) = 1.5625 . . . 107 e Psen (0.0015) = 5.625 . . . 1010 que
Pcos
implicam a estimativa (0.0015) 0.0694449 . . .. J o erro obtido a partir da interpolao
Psen
direta da cotangente Pcot (0.0015) = |cot(0.0015) Pcot (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
com menos erro de truncamento.

3) Devemos construir duas interpolaes polinomiais, uma com 4 pontos igualmente espaados,
1
xj = (j1), para j = 1, 2, 3, 4 e a outra com pontos espaados segundo a frmula de Chebishev,
3 ( )
a + b (a b) 2j 1
xj = + cos , com n = 4 e j = 1, 2, 3, 4.
2 2 2n

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 ). A interpolao com pontos igualmente espaados P (x) = 2.10091 x
0.510277 x2 0.681331 x3 . A interpolao com os pontos de Chebyshev P (x) = 0.00356134+
2.11239 x 0.519039 x2 0.685124 x3 .
2 z1
Calculamos a cotangente atravs de uma expresso do tipo f (z1 , z2 ) = , portanto, de acordo com a expresso
z2
f f
para propagao de erros, f (z1 , z2 ) (z1 , z2 ) z1 + (z1 , z2 ) z2 .
z 1 z 2

214
10.5 Captulo 5

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


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 igualmente espaados P (x) = 1 + 1.01399 x + 0.425665 x2 +
0.278626 x3 . A interpolao com os pontos de Chebyshev P (x) = 0.999509+1.01563 x+
0.424301 x2 0.27824 x3 .

A funo x possui expanso em srie de Taylor em torno de x = 0.5 dada por x =
0.707107 + 0.707107(x 0.5) + 0.353553(x 0.5)2 + 0.353553(x 0.5)3 + O((x 0.5)4 ).
A interpolao com pontos igualmente espaados P (x) = 2.52192 x 2.79344 x2 +
1.27152 x3 . A interpolao com os pontos de Chebyshev P (x) = 0.127449 + 1.8407 x
1.69585 x2 + 0.732394 x3 .
1
A funo possui expanso em srie de Taylor em torno de x = 0.5 dada por
1 + 25x2
1
= 0.137931 + .475624(x 0.5) + 1.16446(x 0.5)2 2.37529(x 0.5)3 +
1 + 25x2
O((x0.5)4 ). A interpolao com pontos igualmente espaados P (x) = 13.45075 x+
4.35728 x2 1.86807 x3 . A interpolao com os pontos de Chebyshev P (x) = 1.11311
4.09332 x + 5.43048 x2 2.42567 x3 .

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


0.0625 + 0.5(x 0.5) + 1.5(x 0.5)2 + 2(x 0.5)3 + O((x 0.5)4 ). A interpolao
com pontos igualmente espaados P (x) = 0.222222 . . . x 1.222222 . . . x2 + 2 x3 . A
interpolao com os pontos de Chebyshev P (x) = 0.0078125 + 0.25 x 1.25 x2 + 2 x3 .

5) O spline cbico natural para o conjunto de dados formado por seis pontos construdo a
partir de cinco polinmios de grau 3: si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 , onde
i = 1, 2, . . . , 5 mais o coeciente acessrio c6 . Como trata-se de um spline natural c1 = c6 = 0,
os demais coecientes ci so soluo soluo do sistema

4 1 0 0 c2 0

1 4 1 0 c3 6
=
0 1 4 1 c 0 .
4
0 0 1 4 c5 6

A soluo o vetor (0.401914, 1.60766, 0.0287081, 1.49282)T . Os coecientes bi e di so cal-


culados a partir de c1 , c2 . . . c5 , os coecientes ai so calculados a partir da relao ai = fi .

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, si (x), se igualem nos pontos de interpolao, ou
(k) (k)
seja si (xi+1 ) = si+1 (xi+1 ):


x , 1 x < 0
1. f (x) = 2x , 0 x < 1 . Os pontos de interpolao internos so x = 0 e x = 1,


x+1 , 1x2
de acordo com a expresso para f , os limites nesses pontos existem: limx0 f (x) = 0 e

215
10 Respostas de alguns exerccios


1 , 1 < x < 0


limx1 f (x) = 2. Quanto derivada, f (x) = 2 , 0 < x < 1 , ou seja, a derivada


1 , 1<x<2
no contnua. Portanto , como apenas f contnua, essa funo um spline linear.


x , 1 x < 0
2. f (x) = 2x 1 , 0 x < 1 .Os pontos de interpolao internos so x = 0 e


x+1 , 1x2
x = 1, de acordo com a expresso para f , o limite no ponto x = 0 no existe, pois
limx0 f (x) = 0 e limx0+ f (x) = 1. Isto o suciente para garantir que f no
um spline.


0 , 1 x < 0
3. f (x) = x2 , 0 x < 1 . Os pontos de interpolao internos so x = 0 e


2x 1 , 1 x 2
x = 1, de acordo com a expresso para f , os limites nesses pontos existem: limx0 f (x) =

0 , 1 < x < 0


0 e limx1 f (x) = 1. Quanto derivada, f (x) = 2x , 0 < x < 1 , podemos


2 , 1<x<2
vericar que os limites em x = 0 e x = 1 existem: limx0 f (x) = 0 e limx1 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
3
x +x , 1 x 0
f (x) = , (10.2)


ax2 + bx , 0x1
temos que
3x + 1 , 1 < x < 0
2

f (x) = (10.3)


2ax + b , 0<x<1
e
6x , 1 < x < 0

f (x) = . (10.4)


2a , 0<x<1

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 (10.4) , devemos ter que a = 0; a partir de (10.3), devemos
ter que b = 1. Quaisquer que sejam os valores de a e b, limx0 f (x) = 0. Portanto, f ser um
spline cbico se a = 0 e b = 1.

8) Ser um spline cbico se c = 9 e b = 1. Nunca ser um spline cbico natural, pois a


condio necessria c = 9 implica s (1) = 0.

9) x 2.35028

10) Aproximadamente 7.47C

216
10.6 Captulo 6

11) Aproximadamente 38.6C

12) Aproximadamente 0.99953L

13) O valor mximo para l/l0 aproximadamente 1.00051 (a 200K) e o mnimo 0.999819 (a
500K).

14) Aproximadamente 0.176m/s (ocorre em t 0.8315323)

15) Aproximadamente 0.844 unidades de tempo.

16) Aproximadamente 0.1245 unidades de comprimento (ocorre em t 0.411392 unidades de


tempo).

10.6 Captulo 6

1) a 6.37 e b 0.950

2) t25 0.99061h.

3) O valor mximo que a funo f ajustada assume aproximadamente 0.5076

4) O erro relativo de aproximadamente 0.2140 102 para o coeciente a1 e 0.3925 102


para o coeciente a2 .

5) A soma do quadrado dos resduos para a funo modelo ajustada vale aproximadamente
0.491 102 , enquanto que no caso da funo modelo ajustada a soma vale aproximadamente
0.353 101 . Portanto, a funo modelo que mais se ajusta aos dados a funo .

6) A 0.07728, k 3.577, b 1.030 e c 0.2146

7) A 8.213, b 6.664 e c2 0.1716

8) O semieixo maior da rbita igual a 2A. De acordo com o ajuste, esse valor de aproxima-
damente 1.251 104 km.

10.7 Captulo 7
1)
1.1) Basta checar os monmios, xn , 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. C1 f (0.2)+
25 2 25
C2 f (0.5) + C3 f (0.8), onde C1 = , C2 = e C3 = .
54 27 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-
1 1
formao deve ser da forma y = x , ou ainda, x = 2y +1. O Jacobiano dessa transformao
2 2
vale 2: dx = 2dy . Assim, os pesos da regra original sero multiplicados por 2.

217
10 Respostas de alguns exerccios

2) De acordo com a regra composta de Simpson,



h
b n
h4
f (x) dx = Ck f (xk ) (b a)f (4) ().
a 3 180
k=1

Dessa forma, o erro de truncamento est relacionado aos valores que assume a derivada de quarta
ordem do integrando.
d4 ( x2 ) 2 ( )
4
e = 4ex 3 + 12x2 + 4x4 .
dx
Neste caso, o valores mnimo e o mximo da derivada ocorrem respectivamente nos extremos
inferior e superior do intervalo (0, 1), portanto

d4 ( x2 )
12 e 76e 206.6
dx4 x=

Dessa forma, o erro de truncamento est contido no intervalo



h
1 n
207h4 2 2 12h4
ex dx Ck exk .
180 0 3 180
k=1

Se desejarmos que o erro de truncamento em valor absoluto seja menor ou igual a 106 , ento h
deve estar no intervalo

( )1 ( )1
180 6 4 180 6 4
0.0305369 10 h 10 0.0622333.
207 12

tg 1 5
3) O valor exato da integral 0.27468.
5
Newton-Cotes.

3 pontos (regra de Simpson): 0.2650309

4 pontos (regra 3/8): 0.2600357

5 pontos (regra de Boole): 0.2615188


a+b ab
( 2i1 )
Quadratura por interpolao em n pontos de Chebishev, xi = 2 + 2 cos 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

218
10.7 Captulo 7

5pontos: 0.2743215

Romberg.
Nesse caso, 5 pontos correspondem utilizao de duas quadraturas compostas, 5 = 22 + 1.
Assim,
R(2, 2) 0.2615188

4) A distncia total percorrida dada pela integral


50
vx (t)2 + vy (t)2 dt
0

e a posio nal dada pelo ponto (x, y), onde


50 50
x= vx (t)dt e y= vy (t)dt.
0 0

As integrais devem ser calculadas de acordo com a regra composta de Simpson:


50
11
vx (t)2 + vy (t)2 dt Ci vx2i + vyi2 ,
0 i=1

50
11
vx (t)dt Ci vxi
0 i=1
e
50
11
vy (t)dt Ci vyi .
0 i=1

A partir das aproximaes temos que a posio nal dada por (35.4; 17.717) e o
deslocamento total de 56.75.

5) A quadratura ser exata para qualquer polinmio de grau menor ou igual a quatro.


C1 + C2 + C3 = 2



1

C1 + C2 + C3 = 0

3
1
2 C1 + 2 C2 + 2 C3 = 2/3

3

1


3
C1 + 3 C2 + 3 C3 = 0

3

1
4 C1 + 4 C2 + 4 C3 = 2/5
3

6)

10
60.3 22.1
1.7709999999969849 1.771 f (x)dx 1.771+ 1.7710000000011049
2 1013 1 2 1013

219
10 Respostas de alguns exerccios

7) I 6.18274 103 .

8) I 0.0497840.

9) Aproximadamente 401m/s.

10) Aproximadamente 8839m

10.8 Captulo 8
dv
1) Velocidade terminal, vT , aquela que implica (vT ) = 10 0.00343vT2 = 0, ou seja, vT =
dt
53.9949 . . ..De acordo com o mtodo R-K de 4 estgios, aproximamos a soluo v nos pontos ti
por vi v(ti ), para i = 0, 1, 2, . . .
Inicialmente realizamos a escolha, ti = ih com h = 1. De acordo com o mtodo

h
vi+1 = vi + (k1 + 2k2 + 2k3 + k4 ),
6

onde

k1 = 10 0.00343vi2 ,
( )2
h
k2 = 10 0.00343 vi + k1 ,
2
( )2
h
k3 = 10 0.00343 vi + k2 ,
2
k4 = 10 0.00343 (vi + hk3 )2

e v0 = v(0) = 0. A escolha h = 1 implica

v1 = 9.88711 . . . ,
v2 = 19.1326 . . . ,
v3 = 27.2514 . . . ,
v4 = 33.9963 . . .

1
Como vT = 26.9975 . . . a aproximao v3 v(t3 ) est prxima do valor exato. De acordo
2
com a escolha h = 1, t3 = 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.
. d
2) Por meio das novas variveis z1 (t) = (t) e z2 (t) = (t) reescrevemos a E.D.O. de segunda
dt
ordem como o seguinte sistema de E.D.O de primeira ordem:

dz1

= z2
dt



dz2 g
= sen(z1 )
dt l

com condio inicial z1 (0) = e z2 (0) = 0. De acordo com o mtodo Runge-Kutta de 4 estgios,
4

220
10.8 Captulo 8

d
a aproximao z1,i (ti ), z2,i (ti ) determinada pelo conjunto de equaes
dt

h

z = z1,i + (k1,z1 + 2k2,z1 + 2k3,z1 + k4,z1 )
1,i+1 6
,



z2,i+1 = z2,i + h (k1,z + 2k2,z + 2k3,z + k4,z )
2 2 2 2
6

onde
g
k1,z2 = sen (z1,i ) ,
k1,z1 = z2,i , (l )
h g h
k2,z1 = z2,i + k1,z2 , k2,z2 = sen z1,i + k1,z1 ,
2 l ( 2 )
h g h
k3,z1 = z2,i + k2,z2 , k3,z2 = sen z1,i + k2,z1 ,
2 l 2
k4,z1 = z2,i + hk3,z2 , g
k4,z2 = sen (z1,i + hk3,z1 ) ,
l

e z1,0 = , z2,0 = 0.
4
No caso em que g = 10 e l = 1, a escolha ti = ih com h = 0.1 determina as aproximaes

ti i i
0.1 7.502529881968854619D-01 -6.986640560618003759D-01
0.2 6.473769250333341052D-01 -1.345764731270578274D+00
0.3 4.846901251555982282D-01 -1.885214951935509031D+00
0.4 2.758968318499587791D-01 -2.258596094811123667D+00
0.5 4.020089739876930857D-02 -2.416906369014381273D+00
0.6 -1.994576486681848282D-01 -2.336869344902609225D+00
0.7 -4.195523688530167772D-01 -2.030454605693730485D+00
0.8 -5.993625050307915814D-01 -1.539848623569317176D+00
0.9 -7.232646149718042761D-01 -9.220589076791289029D-01
1.0 -7.814502189975390811D-01 -2.346645475407357351D-01

Ei
ti
m
0.1 -7.071098257380471708D+00
0.2 -7.071143717085210056D+00
0.3 -7.071176021246849963D+00
0.4 -7.071184627014472923D+00
0.5 -7.071202329149606669D+00
0.6 -7.071262655140071907D+00
0.7 -7.071340798168884945D+00
0.8 -7.071387147379484261D+00
0.9 -7.071394581702683091D+00
1.0 -7.071395091283599221D+00

221
10 Respostas de alguns exerccios

3) Solues aproximadas:

ti i i
0.1 7.512726539258556269D-01 -6.593554904858605070D-01
0.2 6.618876157127367987D-01 -1.077260207997353003D+00
0.3 5.462787941209643616D-01 -1.190801663155198531D+00
0.4 4.303752485242994252D-01 -1.106390275185635819D+00
0.5 3.271550649679398348D-01 -9.544612094253279722D-01
0.6 2.392107522496690342D-01 -8.081631336776329277D-01
0.7 1.644829894593368702D-01 -6.917435591254794680D-01
0.8 9.977655094889134602D-02 -6.073207395026503086D-01
0.9 4.208831217573000966D-02 -5.505667746075731950D-01
1.0 -1.110661623174667018D-02 -5.167818750812648299D-01

ti li li
0.1 1.035672815067455677D+00 7.188925258147168540D-01
0.2 1.145420049975157895D+00 1.481660194498966021D+00
0.3 1.331882732865563579D+00 2.236588986043988925D+00
0.4 1.588320949230445311D+00 2.859704577186615637D+00
0.5 1.895444791167168130D+00 3.234858254093807339D+00
0.6 2.224645380337613165D+00 3.294434415390164350D+00
0.7 2.543112098234658891D+00 3.020995571023971316D+00
0.8 2.818452275093480619D+00 2.438941171555207621D+00
0.9 3.022462722971309024D+00 1.606356442779903304D+00
1.0 3.134098507378014098D+00 6.069096125336485015D-01

Ei
ti
m
0.1 - 1.414197206858997635D+00
0.2 - 1.414157988548052414D+00
0.3 - 1.414169370386709534D+00
0.4 - 1.414237661239337696D+00
0.5 - 1.414275527535049815D+00
0.6 - 1.414276377918547878D+00
0.7 - 1.414267862850715041D+00
0.8 - 1.414263795974782134D+00
0.9 - 1.414266517191248518D+00
1.0 - 1.414274948146285737D+00

4)Solues aproximadas:

222
10.8 Captulo 8

ti 1i 1i
0.1 7.504685422015303642D-01 -6.897770467520577542D-01
0.2 6.510496003775438911D-01 -1.270930782712977436D+00
0.3 5.037684879639487967D-01 -1.631803386098856556D+00
0.4 3.341536192802013749D-01 -1.715011247000679750D+00
0.5 1.697120647693060036D-01 -1.535981627624850798D+00
0.6 3.311457155810154651D-02 -1.183559404914650948D+00
0.7 -6.917259335325923186D-02 -9.019594905497929638D-01
0.8 -1.592353515323187696D-01 -9.499724170982495330D-01
0.9 -2.652610976057471759D-01 -1.171112655424180415D+00
1.0 -3.898149186659949916D-01 -1.291058696342471723D+00

ti 2i 2i
0.1 7.849669880187599702D-01 -1.778069435585754102D-02
0.2 7.779841968635019533D-01 -1.522880644673337558D-01
0.3 7.461311401065024995D-01 -5.309885715954084651D-01
0.4 6.622435794163086253D-01 -1.184591763148334476D+00
0.5 5.035887915655447022D-01 -1.998928228485088887D+00
0.6 2.635726284306724176D-01 -2.770230361480222392D+00
0.7 -3.848503433780764427D-02 -3.178385013731055864D+00
0.8 -3.490616349961885856D-01 -2.930037024491089159D+00
0.9 -6.087310308453142138D-01 -2.221655003378214310D+00
1.0 -7.899621003083197035D-01 -1.404442674935349800D+00

Ei
ti
m
0.1 -2.021329639777180631D+01
0.2 -2.021340947493002460D+01
0.3 -2.021369606615465386D+01
0.4 -2.021379661120513660D+01
0.5 -2.021336466750859273D+01
0.6 -2.021373921783010630D+01
0.7 -2.021474467827373189D+01
0.8 -2.021545565083874152D+01
0.9 -2.021500305318189561D+01
1.0 -2.021526803314096554D+01

5) Aproximao com seis dgitos para o perodo: 1.89717

6) 252.86

7) Aproximao com seis dgitos para o ngulo: 0.0237355rad.

223
10 Respostas de alguns exerccios

8) Amplitude pico a pico vale aproximadamente 4.457

9)

h h
xi+1 = xi + (K1,x + K2,x ) , yi+1 = yi + (K1,y + K2,y ) ,
2 2
onde

K1,x = ti + xi yi , K1,y = yi + ti xi ,

K2,x = ti + h + (xi + h K1,x ) (yi + h K1,y ) , K2,y = yi + h K1,y + (ti + h) (xi + h K1,x ) .

10) Potencial ao

11) 152.0s

12) Valor mnimo para x 0.5965. Valor mnimo para y 0.4688

13) Aproximao a partir de 101 pontos: 12.73822. Aproximao a partir de 201 pontos:
12.738746. Aproximao a partir de 401 pontos: 12.738744. O conjunto dessas aproximaes
permite concluir que a integral vale aproximadamente 12.73874
14) O ngulo vale aproximadamente 0.1057radianos ou 6.055.

224

Potrebbero piacerti anche