Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
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
4
Sumrio
5
1 Representao de nmeros em mquinas
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.
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
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
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
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.
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.
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 :
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
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 .
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
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
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
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
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 )|:
Arredondamento
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}
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}.
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}.
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}.
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}.
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}
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).
18
1.2 Aritmtica de mquina
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.
0,9876543210 e 0,9876543209.
0,1423456789 109
0,100000000 109 .
Um outro exemplo clssico o das razes de uma equao polinomial 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
e
(b sqrt ((b b) (4,000000000 c))) 2,000000000,
19
1 Representao de nmeros em mquinas
(
= 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
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,
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
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.
1345,875 = 10101000001,1112 .
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.
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.
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
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
( )
= (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 |
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|.
.
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
25
1 Representao de nmeros em mquinas
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)
Na expresso anterior, o somatrio foi retirado pois o nico termo que contribua era o k = j
(Por que?).
26
1.3 Erros
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.
. 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)
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
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 .
I9 I9 + 9! 5,6 107 I9 + 0, 2
e
I10 I10 10! 5,6 107 I10 2.
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.
(x x) 1
(x 1) (x 1)
(x (x 1)) (x 1)
1 1
f0 = .
2 LC
29
1 Representao de nmeros em mquinas
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.
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 .
de modo que seja possvel obter os seus valores para x = 100 utilizando a aritmtica de ponto
utuante da mquina (doubles no Scilab).
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
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.
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
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.
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
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
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.
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
[ U| c] [ A| b] ,
2
Existe muita literatura sobre esses tpicos, sugerimos ao leitor mais interessado o texto:
36
2.1 Mtodos diretos
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.
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)
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
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
(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
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)
2. x = || x, (homogeneidade).
3. x + y x + y, (desigualdade triangular).
x y |x y| .
x = (x y) + y
x y + y ,
o que implica
x y x y .
x y = y x y x
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.
. 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.
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
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)
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
(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
(I + N )x = x (N x) x N x (1 N ) 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
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.
( )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
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
.
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,
(( ) )
= 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
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
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:
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.
( )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
49
2 Sistemas de equaes lineares
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
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.
50
2.3 Mtodos iterativos
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)
x(k+1) = B1 b + B1 Cx(k)
( )
= x B1 C x x(k)
51
2 Sistemas de equaes lineares
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
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.
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.
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
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.
53
2 Sistemas de equaes lineares
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.
p
3
K3
K 1,3 m3
K 2,3
m1
m2
K1,2
K1 p
K2 2
p
1
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
que equivale a5
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 :
que equivale a
(K1 + K1,2 + K1,3 ) r1,y K1,2 r2,y K1,3 r3,y = K1 p1,y .
. . . . . .
r1,x = x1 , r1,y = x2 , r2,x = x3 , r2,y = x4 , r3,x = x5 , r3,y = x6 .
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
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)
Rede de resistores
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)
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
Ax = b
. . .
x1 = V3 , x2 = V4 , x3 = I1,3 , x4 = I1,4 , x5 = I2,3 , x6 = I2,4 , x7 = I3,4 , (2.32)
A escolha alternativa
. . .
x1 = I1,4 , x2 = I2,4 , x3 = I2,3 , x4 = I1,3 , x5 = I3,4 , x6 = V3 , x7 = V4 , (2.33)
Esta ltima escolha produz uma matriz de coecientes sem elementos nulos na diagonal principal,
59
2 Sistemas de equaes lineares
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.
( )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
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.
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 )
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
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
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
1 (p)
f (x) = f (x) (x x )p ,
p!
( )1/p
(n)
x x p! .
Lp
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.
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.
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
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.
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):
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
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
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):
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.
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
onde (x) = 0 no intervalo [a, b]. Como no se anula em todo intervalo, a equao (x) = x
71
3 Equaes no lineares
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 ).
= | (c)| x(n) x
L x(n) x . (3.5)
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
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.
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 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 ) .
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)
x ex (x + 1)
(x) = x x
= .
1+e 1 + ex
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
( ) ( )
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 )
( )
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
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
(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.
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
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.
79
3 Equaes no lineares
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
80
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)
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
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
.
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
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
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) )
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).
cujo determinante
84
3.6 Sistemas de Equaes no lineares (mtodo de Newton-Raphson)
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
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
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.
. (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
max = (r ) .
(x) 0.9max = 0.
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
// 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);
88
3.7 Exemplos comentados
Problema 2
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).
. . .
x1 = V3 , x2 = V4 , x3 = I1,2 , x4 = I2,3 , x5 = I3,4 , x6 = I1,4 , x7 = I2,4 .
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.
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
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);
= x4 + x5 .
91
3 Equaes no lineares
3.8 Exerccios
1) Seja a equao no linear
x ex = 0.
x + ex 3 = 0
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?
cos(x) = 0.02 x2 .
92
3.8 Exerccios
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.
3 1 1 1
x6 x5 + x4 x3 x2 + x
4 16 4 16
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
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.
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)?
x2 + (0.75sen (x1 ) + 0.8 cos (4.41x2 )) = 0
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
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,
. 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)|
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.
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
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 ).
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
f (x + h) f (x) f1 f0
(D+,h f ) (x) = = ,
h h
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
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 (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)
E portanto a diferena entre a ao dessas duas operaes aplicadas a uma funo f pode ser
descrita na segunda ordem em h como
Ou seja, possvel descrever o termo c2 h2 atravs das duas operaes de diferena nita mais
termos de ordem h4 :
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:
.
= (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 :
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
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,
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
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
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
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 .
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.
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).
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:
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
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.
. 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
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
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:
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.
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.
p(xi ) = fi ,
para i = 1, 2, . . . , n.
109
5 Interpolao
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
n
= Cj (x xi ).
i=1
i=j
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
110
5.1 Interpolao polinomial
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)
(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
p(x1 ) = a0 .
111
5 Interpolao
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
e
.
f [xk ] = fk = f (xk ).
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 ].
112
5.1 Interpolao polinomial
calculadas recursivamente:
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)
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.
113
5 Interpolao
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 .
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 .
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
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(25) = 8.59375 . . .
Ou seja, obtemos novamente a aproximao de dois dgitos, 8.6g de clorato por 100g de
gua.
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
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
-6
210
-6
110
x
-1 -0.5 0.5 1
-6
-110
-6
-210
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.
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.
quando = n {0, 1, 2 . . .}. O polinmio pode ser construdo a partir das relaes de recorrncia
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
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.
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
118
5.2 Interpolao spline
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).
s1 (x1 ) = f (x1 )
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.
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
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,
Para aliviar a notao, vamos introduzir a notao hi = (xi+1 xi ). Dessa forma, a equao
anterior (5.6) pode ser reescrita como
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
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)
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
ci+1 ci
di = , (5.15)
3hi
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
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
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
si (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 .
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
c1 = 0,
6
c2 = ,
2
c3 = 0,
6
c4 = ,
2
c5 = 0.
3
b1 = ,
b2 = 0,
3
b3 = ,
b4 = 0
4
d1 = ,
3
4
d2 = ,
3
4
d3 = ,
3
4
d4 = 3.
124
5.2 Interpolao spline
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.
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 =
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
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
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
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
127
5 Interpolao
xgrid;
128
5.2 Interpolao spline
spl_a2=spline3_interp(marcha2,da2_e,da2_d);
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
4. exp(x) exp(x) = 1
5. ln(ex ) = x
6. x x=x
para calcular cot(0, 0015) com a maior preciso possvel atravs de:
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
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.)
x f (x)
-2 0
-1 1
0 2
1 1
2 0
3 1
131
5 Interpolao
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).
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
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.
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.
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
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
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
,
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
.
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
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.
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 .
T a = T f ,
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
j HxL
2
x
-2 -1 1 2
140
6.1 Ajuste de mnimos quadrados linear
plot(x_var,f_aj(x_var));
Ajuste de polinmios
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 .
141
6 Ajuste de mnimos quadrados
X T Xa = X T f ,
portanto
5 0 10
XT X = 0 10 0 .
10 0 34
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
142
6.1 Ajuste de mnimos quadrados linear
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.
(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 ,
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
(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:
onde
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 ,
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 ~,
.
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 .
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,
T a = T f ,
( ) ( 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.
HxL
x
0.1 0.2 0.5 0.7 1.0
147
6 Ajuste de mnimos quadrados
6.3 Exerccios
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
(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
atravs do mtodo dos mnimos quadrados (verso linearizada). Determine o valor das constantes
com 4 dgitos.
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
f (n) ()
n
f (x) = p(x) + (x xi ).
n!
i=1
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
151
7 Integrao numrica
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
1/2
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
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
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
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
154
7.2 Quadraturas newtonianas
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).
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
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
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 .
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
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
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
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.
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
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
n1
1
2
(4)
n1 f (k ) = f (4) ().
2 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
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
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
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
4T2j +1 T2j1 +1
Rj,1 = (7.16)
3
16Rj,1 Rj1,1
Rj,2 = .
15
4n Rj,n1 Rj1,n1
Rj,n = , (7.17)
4n 1
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
162
7.3 Quadratura gaussiana
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
3 3
.. .. ..
. . .
1 2
k+1 , se k par
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
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
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 .
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
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
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.
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
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
= vA,
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
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
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 .
, (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
1 80
y(x) = x3 + x7 + O(x11 ),
3 7!
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
= 2x + 2y(x)(x2 + y(x)2 )
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
(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)
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
y(0) = 0
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)
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 ).
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
1
|i+1 | (1 + hL) |i | + h2 M. (8.5)
2
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
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
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.
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
k1 = (xj )2 + (yj )2
e
k2 = (xj + h)2 + (yj + h k1 )2 .
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)
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)
k1 = f (xj , yj )
e ( )
i1
ki = f xj + ci h, yj + h ai,l kl
l=1
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
yj+1 = yj + 1 h f (xj , yj ).
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,
b1 + b2 = 1. (8.13)
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
.
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
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 .
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)
182
8.5 Mtodos de mltiplos passos
n
n
yj+1 = l yj+1l + h l f (xj+1l , yj+1l ), (8.17)
l=1 l=0
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.
n
yj+1 = yj + h i f (xj+1l , yj+1l ),
l=1
183
8 Equaes Diferenciais Ordinrias
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
n
yj+1 = yj + h i f (xj+1l , yj+1l ),
l=0
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
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
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
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
( ( ) ( )2 )
2
m 2 d dl 1
l + mgl cos() + k (l L)2 ,
2 dt dt 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
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)
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
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).
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.
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 .
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.
189
9 Cdigos Scilab
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.
//
// 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;
//
// 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;
function [x]=jacobi_solv(A,norma,tol_aprox,max_iter)
// A matriz "A" deve ser a matriz completa
192
9.2 Mtodo de Jacobi
// 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;
// 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;
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
// 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;
// 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;
//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.
// 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
197
9 Cdigos Scilab
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
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
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
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
3) So necessrios 13bits. Um registro de 13 bits capaz de representar 8191 inteiros (com sinal):
0, 10000 101
0, 00000d1 d2 . . . d5 10e
com e 1.
= 0, 200000 103 .
205
10 Respostas de alguns exerccios
No segundo caso,
= 0, 200010 103 .
No terceiro caso,
= 0, 200010 103 .
1, 0000000000 100
como estamos utilizando o arredondamento par, o menor ponto utuante a ser adicionado
0, 0000000001 100
1
Tambm h cancelamento nessa expresso quando x for um real positivo muito grande. A anlise semelhante.
206
10.1 Captulo 1
1 1
1 + z = 1 + z z2 . . .
2 8
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 .
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
0, 2020202020202 . . .3 33 ,
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,
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
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.
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.3 Captulo 3
2) x = 2, 94753 . . . e x = 1, 50524 . . .
4) x = 0, 739085 . . .
5) x = 0, 0946487 . . . e x = 0, 739533 . . .
209
10 Respostas de alguns exerccios
x = senx .
Combinando o valor de em termos de x com a primeira equao, temos que x deve ser tal que
x cos x = senx .
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
12)
O nmero que buscamos, k y , soluo da equao f (x) = 0, onde
.
f (x) = xk y.
7 10 1
x(n+1) = x(n) + ( ) .
8 8 x(n) 7
210
10.3 Captulo 3
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
function z=f1(x,y)
z=- x^4 - y^6 + 3*x*y^3 - x;
endfunction
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
zero_newraph(f2,[-1.2;-1.3],100,1);
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
.
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:
212
10.4 Captulo 4
de modo que
(D+1,2h f ) (x) = f (x) + c1 (2h) 2 + O(h3 ).
E a combinao linear
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
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)
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
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
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.
9) x 2.35028
216
10.6 Captulo 6
13) O valor mximo para l/l0 aproximadamente 1.00051 (a 200K) e o mnimo 0.999819 (a
500K).
10.6 Captulo 6
1) a 6.37 e b 0.950
2) t25 0.99061h.
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 .
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
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=
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: 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
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.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
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
6) 252.86
223
10 Respostas de alguns exerccios
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
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