Beruflich Dokumente
Kultur Dokumente
Aritm
etica no Computador
1.1
Introdu
c
ao
(1.1)
Introduca
o ao C
alculo Numerico
1.2
Aritmetica no Computador
Representac
ao em bin
ario e decimal
Genericamente, podemos dizer que um sistema de numeracao numa base admite apenas os
dgitos 0, 1, . . ., 1. Assim, o n
umero (1001, 11101)2 representa o n
umero (9, 90625)10, onde os
subscritos indicam a base do sistema de numeracao utilizado:
(1001, 11101)2
= 1 23 + 0 22 + 0 21 + 1 20 +
1 21 + 1 22 + 1 23 + 0 24 + 1 25
= 8 + 0 + 0 + 1 + 0, 5 + 0, 25 + 0, 125 + 0 + 0, 03125
= (9, 90625)10
1.2.1
1.2.2
Convers
ao entre representac
oes
= (110010001)2 =
= 1 28 + 1 27 + 0 26 + 0 25 + 1 24 + 0 23 + 0 22 + 0 21 + 1 20 =
= 256 + 128 + 16 + 1 = 401
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
dividendo
401
200
100
50
25
12
6
3
quociente
200
100
50
25
12
6
3
1
resto
1
0
0
0
1
0
0
1
resultado
1, 28125
0, 5625
1, 125
0, 25
0, 5
1, 0
= (0, 101001)2 =
= 1 21 + 0 22 + 1 23 + 0 24 + 0 25 + 1 26 =
= 0, 5 + 0, 125 + 0, 15625 = 0, 640625
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
1.3
Representac
ao de n
umeros em um computador
A representacao de n
umeros em um computador est
a intimamente relacionada a`s operacoes que
ser
ao efetuadas com eles. Inicialmente, consideraremos a representacao dos n
umeros inteiros e,
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
10
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
1.3.1
Representac
ao de n
umeros inteiros
Hoje em dia, os n
umeros inteiros s
ao armazenados, tipicamente, em uma palavra de 32 bits.
umeros possveis de ser representados
Considerando apenas n
umeros positivos, temos um total de 232 n
em uma palavra desse comprimento: 0, 1, . . ., 232 2, 232 1. No entanto, e necessario que se
manipule n
umeros inteiros negativos, e, nesse caso, devemos analisar as possibilidades existentes.
O sinal (+/) e uma quantidade bin
aria e, portanto, podemos armazenar essa informacao em
um u
nico bit. Isso nos leva, portanto, a pensarmos numa representacao chamada sinal-e-m
odulo:
dos 32 bits de que dispomos, reservamos um para o sinal, e os restantes 31 representar
ao o valor
absoluto do n
umero. Essa representacao apresenta duas carateristicas:
1. A perda de um bit implica na reducao do intervalo de representacao dos n
umeros. Agora,
so podemos representar os n
umeros 0, 1, . . ., 231 1 (em modulo);
2. O n
umero zero tem duas representacoes: +0 e 0.
Suponha, por exemplo, que quisessemos efetuar +13 () 13; o resultado seria +0 ou 0? Alem
disso, seria necessario existir um circuito, dentro do processador, especco para se efetuar uma
subtracao; n
ao seria melhor que a subtracao fosse tratada como a soma de um n
umero positivo e
outro negativo?
Essa u
ltima caracterstica e que leva ao uso de uma outra representacao para n
umeros bin
arios
inteiros com sinal, chamada de complemento-de-2. Um n
umero x em complemento-de-2 e obtido
invertendo-se os bits da representacao bin
aria de | x | e somando (1)2 ao bit menos signicativo.
Para um conjunto de n bits, o intervalo de representacao de n
umeros em complemento-de-2 e
2n1 x 2n1 1 (ao passo que, em sinal-e-modulo, e (2n1 1) x 2n1 1, pois
um bit e usado para guardar o sinal de x). A tabela 1.3 mostra os inteiros representados em
complemento-de-2, bem como em sinal-e-modulo, para n = 3.
+3
+2
+1
+0
0
1
2
3
4
sinal-e-modulo
(011)2
(010)2
(001)2
(000)2
(100)2
(101)2
(110)2
(111)2
complemento-de-2
(011)2
(010)2
(001)2
(000)2
(111)2
(110)2
(101)2
(100)2
11
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
Agora, para somarmos os dois, seguimos as mesmas regras da adicao em decimal; procedemos do
bit menos signicativo para o mais signicativo, somando dois bits, x e y, a cada vez. Por exemplo,
(1)2 + (1)2 = (10)2 = (2)10 , como esperado1 . No entanto, e mais costumeiro tratar o resultado
dessa soma como um bit de soma, s, e um de transporte c (do ingles carry), de acordo com a
tabela 1.4.
x
0
0
1
1
y
0
1
0
1
s
0
1
1
0
c
0
0
0
1
( 11111111111111111111111111110011)2
(100000000000000000000000000000000)2
Veja que, a menos do bit mais signicativo do resultado (sublinhado), obtivemos o valor esperado,
ao somar um n
umero e seu simetrico: zero. O bit mais signicativo e apenas o bit de transporte,
o qual e descartado, nesse caso.
Ao somarmos dois inteiros positivos, e possvel que ocorra um overow, i.e. o resultado n
ao
pode ser representado na palavra (por exemplo, de 32 bits). O mesmo pode acontecer se somarmos
dois inteiros negativos. No entanto, se somarmos dois inteiros de sinais opostos, n
ao pode ocorrer
overow. Se considerarmos a operacao x + (y), e 0 x 231 1 e 0 y 231 , o resultado
poder
a ser sempre representado na palavra. Suponha agora que somemos os complementos-de-2
de x e y, i.e. os n
umeros n
ao-negativos x e 232 y; isso resulta em 232 + x y = 232 (y x). Se
x y, um bit de transporte correspondente a 232 tera o valor 1, mas esse pode ser descartado,
conforme visto anteriormente. Se x < y, o resultado cabe em 32 bits, e ele representa (y x) em
complemento-de-2.
1.3.2
Representac
ao de n
umeros reais
Na representacao de n
umeros reais, temos basicamente tres alternativas: representacao racional,
por ponto-xo e por ponto-utuante.
1.3.2.1
Representa
c
ao racional de n
umeros reais
procedimento e o mesmo que ocorre no sistema decimal: o vai-um na soma de dois dgitos decimais indica
que ela excedeu a 9 e, portanto, deve ser transportado o complemento de 10 da soma (indicado pelo transporte do
1) para o dgito subseq
uente.
12
Introduca
o ao C
alculo Numerico
1.3.2.2
Aritmetica no Computador
Representa
c
ao de n
umeros reais em ponto-fixo
Representa
c
ao de n
umeros reais em ponto-flutuante
(1.2)
b0 = 1
Por exemplo, o n
umero 11, 75 pode ser representado como
(11, 75)10 = (0, 101111)2 2(+100)2
Novamente, aqui, o n
umero 0 n
ao pode ser representado, pois M 1/2, por denicao; a representacao do 0 deve ser tratada, portanto, como um caso especial.
Agora, observando a equacao (1.3), podemos ver que para representar o n
umero x naquela
forma, devemos armazenar em uma palavra quatro informacoes distintas: o sinal da mantissa, a
mantissa, o sinal do expoente e o expoente. Esses dois u
ltimos podem ser representados separadamente ou simultaneamente; nesse caso, pode-se usar complemento-de-2 (apesar dessa forma n
ao
ser utilizada usualmente) ou deslocamento (biased exponent, como no padrao IEEE-754).
ao e necessario representa-lo; isso nos
Tambem podemos observar que, como b0 = 1 em M , n
permitir
a economizar um bit da palavra que armazenar
a x.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
13
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
(1.4)
Tratamento do zero
1.3.3
Caracteriza
c
ao de uma representac
ao
14
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
ULP
(215 1) +
16
i=1
2i
31
216 0, 000015
= 32767, 9999847412109375 215
216
216
ULP
24
21 2128 0, 146937 1038
24
( i=1 2i ) 2127 0, 170141 1039
2(241) = 0, 119209 106
2E = 223+E
MINE
MAXE
sinal-e-modulo
|E|1 1
+ |E|1 1
complemento-de-2
|E|1
+ |E|1 1
15
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
1.3.4
Arredondamentos
16
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
xx
x .
(1.6)
Esse u
ltimo e o mais utilizado por permitir uma comparacao mais justa entre quantidades com
diferentes relacoes de magnitude2 .
Vejamos formalmente, agora, quais os erros associados a esses arredondamentos. Chamemos
umeros de maquina correspondentes aos arredondamentos por corte e por adicao,
de xc e xa os n
respectivamente, de um n
umero n
ao-representavel x, os quais satisfazem a relacao
xc < x < xa
pois
xc
= 0, 1010 . . . 1010|
x
xa
= 0, 1010 . . . 1010|1010 . . .
= 0, 1010 . . . 1011|
(1.7)
(1.8)
podemos calcular os erros absoluto e relativo associados aos dois arredondamentos como
2 Por exemplo, um erro de 1m na medi
c
ao da dist
ancia entre a Terra e J
upiter
e pequeno; porem, um erro de
5cm numa incis
ao num corpo humano pode ser considerado bastante alto.
17
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
18
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
Figura 1.3: Um n
umero n
ao-represent
avel x pode ser melhor representado por xc ou xa .
Aqui, consideramos um sistema de ponto-utuante com quatro dgitos na mantissa, com xc =
0, 6875 = (0, 1011)2 e xa = 0, 75 = (0, 1100)2; no diagrama a
` esquerda, x = 0, 70625 =
` direita, x = 0, 734375 = (0, 101111)2.
(0, 10110100110011 . . .)2 e, a
Erros associados ao arredondamento por corte Se o arredondamento por corte foi escolhido, ent
ao x encontra-se `a esquerda do ponto medio do intervalo [xc , xa ]. Ent
ao:
| x xc |
x xc
x
1
1
| xa xc | = | (M + 224 ) 2E M 2E | =
2
2
21 224 2E = 2E25
2E25
225
225
1
1 = 224 ... M
=
E
M 2
M
2
2
(1.9)
(1.10)
(1.11)
(1.12)
(1.13)
(1.14)
ou
x x
(1.15)
x
Uma medida muito utilizada para se determinar a qualidade numerica de um valor e o n
umero
de dgitos signicativos, DIGSE. Aplicando logaritmos aos dois lados da expressao 1.14, temos
x (x)
log10
log10
(1.16)
x
x = (x) = x(1 + ),
| | ,
19
Introduca
o ao C
alculo Numerico
e DIGSE e denido como
Aritmetica no Computador
x (x)
DIGSE(x, (x)) = log10
x
(1.17)
1.3.5
Opera
c
oes aritm
eticas de ponto-flutuante
Na soma e subtracao, os expoentes dos dois operandos devem ser iguais. Para tal, seleciona-se o
maior dos dois expoentes, e a mantissa e expoente do outro operando s
ao ajustados de tal forma
a coincidir os expoentes. Por isso, as operacoes aritmeticas s
ao sempre efetuadas com o dobro de
bits utilizados para armazenar os n
umeros. Uma vez feito o ajuste dos expoentes, basta calcular
(a rp ) (b rp ) = (a b) rp
A multiplicacao e a divis
ao sao calculadas como
(a rp ) (b rq )
(a rp ) (b rq )
= ab rp+q
= a b rpq
Erros em opera
c
oes aritm
eticas de ponto-flutuante
= 0, 9289100000 105
xy
xy
= 0, 9226274000 105
= 0, 2909324802 108
xy
= 0, 3394579647 102
20
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
(x + y)
(x y)
(x y)
(x y)
0, 92891 105
0, 92263 105
0, 29093 108
0, 33946 102
erro relativo
8, 5 106 < 105
2, 3 106 < 105
2, 8 106 < 105
6, 0 106 < 105
||
(1.18)
e, se x e y n
ao sao n
umeros representaveis, ent
ao
( (x) (y)) = (x(1 + 1 ) y(1 + 2 )) (1 + 3 ),
| 1,2,3 |
(1.19)
A equacao (1.19) nos diz que o erro associado ao encadeamento de operacoes aritmeticas pode
ser maior do que . Considere o exemplo abaixo:
(x(y + z)) = (x( (y + z))(1 + 1 ),
| 1 | 224
| 3 | 223 , 1 2 3
Esse exemplo nos leva a supor que, caso a quantidade de operacoes aritmeticas a serem feitas
seja muito grande, entao o erro crescer
a proporcionalmente. O teorema a seguir mostra que essa
hip
otese e verdadeira.
Teorema 1.3.1 Sejam x0 , x1 , . . ., xn n
umeros represent
aveis positivos, e a unidade
nde arredondamento da m
aquina. Ent
ao, o erro relativo de arredondamento ao se calcular
i=0 xi na
ordem natural, i.e. x0 + x1 + . . . + xn , e de no m
aximo (1 + )n 1 ou, aproximadamente, n.
ormulas
Prova: Seja Sk = x0 + x1 + . . . + xk e (Sk ), as quais podem ser representadas pelas f
de recorrencia
S0
= x0
(1.20)
Sk+1 = Sk + xk+1 , k 0
= x0
(S0 )
(1.21)
(Sk+1 ) = ( (Sk ) + xk+1 ), k 0
e chamemos de k e k aos erros relativos associados a (Sk ) e (Sk+1 ),
k
(Sk ) Sk
Sk
(Sk+1 ) ( (Sk ) + xk+1 )
(Sk ) + xk+1
(1.22)
(1.23)
de onde
k+1
=
=
=
(Sk+1 ) Sk+1
Sk+1
( (Sk ) + xk+1 )(1 + k ) (Sk + xk+1 ) .
.. (Sk ) = Sk k + Sk (por (1.22)) ...
Sk+1
(Sk (1 + k ) + xk+1 )(1 + k ) (Sk + xk+1 )
Sk+1
21
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
Sk
Sk+1
(1.24)
=1+
podemos ent
ao escrever:
| 0 | =
| 1 |
| 2 |
| 3 |
..
.
+ ( + ) = + + 2
ou
| n |
=
=
=
=
+ ( + ) = + + 2 + . . . + n1 =
(1 + + . . . + n1 ) =
n 1
=
1
(1 + )n 1
=
n
(1 + ) 1
e, pelo bin
omio de Newton, tem-se
(1 + )n 1 = 1 +
1.4
n
1
=
n
2
2 + . . . 1 n.
Apesar de erros de arredondamento serem inevitaveis e difceis de controlar, existem alguns tipos
de erros, em computacoes numericas, que podem ser evitados.
Por exemplo, suponha a subtracao de dois n
umeros x e y pr
oximos entre si:
x =
y
xy
=
=
.3721478693
.3720230572
.0001248121
.37215
.37202
(x) (y) =
.00013
1.4.1
Subtra
c
ao de valores quase id
enticos
Como regra, devemos evitar situacoes que levem `a subtracao de valores quase identicos - normalmente causados por express
oes inadequadas do ponto de vista numerico.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
22
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
x2 + 1 + 1
x2
2
y
x +11
=
(1.26)
2
2
x +1+1
x +1+1
y
eliminaremos esse problema. Por exemplo, em uma calculadora HP-48SX, se x = 106 , teremos:
0, 0000012 + 1 1 = 1012 + 1 1 = 1 1 = 0
y
0, 0000012
1012
1012
= 5 1013
y
=
=
2
1+1
0, 0000012 + 1 + 1
Por que, no exemplo acima, 1012 + 1 = 1? Ocorre que, se um dos operandos for menor do
que , ent
ao ele ser
a desconsiderado (pois e o menor n
umero represent
avel tal que 1 + = 1).
oco na
Como (106 )2 < (= 7, 2759576141 1012 na HP-48SX), houve o cancelamento catastr
subtrac
ao.
Exemplo 1.4 Considere as express
oes para as duas razes de uma equac
ao de segundo grau,
b + b2 4ac
(1.27)
x1 =
2a
b b2 4ac
x2 =
(1.28)
2a
Se b2 4ac, ent
ao a express
ao b2 4ac envolve cancelamento e b2 4ac | b |, de tal forma
que as express
oes sofrer
ao cancelamento catastr
oco, dependendo do sinal de b.
Nesse caso, se multiplicarmos as equac
oes acima por express
oes do tipo
b + b2 4ac
b b2 4ac
,
b + b2 4ac
b b2 4ac
poderemos calcular as razes como segue:
1. Se b2 4ac e b > 0 ent
ao x2 e calculado por (1.28) e
x1 =
2c
c
=
2
ax
b b 4ac
2
(1.29)
2c
c
=
2
ax1
b + b 4ac
(1.30)
106 + 106
106 + 1012 4
=
= 106
x1 =
2
2
106 106
106 1012 4
=
=0
x2 =
2
2
23
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
106
2
2
= 106
= 6
12
10 + 106
+ 10 4
1.4.2
Uma questao que surge a partir dos exemplos anteriores e a seguinte: Quantos dgitos bin
arios
signicativos s
ao perdidos na subtraca
o x y quando x y? O teorema a seguir nos da limitantes
extremos para o n
umero de dgitos bin
arios perdidos nessa situacao, baseado na relacao | 1 y/x |,
o que nos d
a uma medida de quao pr
oximo x e de y.
Teorema 1.4.1 Se x e y s
ao n
umeros em ponto-utuante bin
arios positivos, normalizados, tal
que x > y e
y
2q 1 2p
x
ent
ao no m
aximo q e no mnimo p dgitos bin
arios signicativos s
ao perdidos na subtrac
ao x y.
Prova. Considerando apenas o extremo superior da desigualdade, temos que x e y s
ao da forma
1
n
x = r2 ,
r<1
2
1
m
s<1
y = s2 ,
2
Como x > y, por hip
otese, o expoente de y dever
a ser igualado ao de x antes de se realizar a
subtrac
ao (note que, como n
ao pode haver dgitos `
a esquerda do ponto bin
ario, sempre se faz com
que o menor n
umero iguale seu expoente ao maior, introduzindo zeros imediatamente a
` direita do
ponto bin
ario). Logo, y deve ser escrito como
y = (s 2mn ) 2n
e, da,
x y = (r s 2mn ) 2n
A mantissa desse n
umero satisfaz a seguinte relac
ao:
s 2m
y
mn
rs2
< 2p
=r 1
=
r
1
r 2n
x
Para normalizar a representac
ao de x y, um deslocamento de ao menos p bits para a esquerda
e necess
ario. Ent
ao, ao menos p zeros s
ao inseridos ao nal da mantissa, efetivamente perdendo
p bits de precis
ao.
O exemplo a seguir ilustra a utilizacao desse resultado.
Exemplo 1.5 Suponha uma mantissa de 5 dgitos decimais e que x = 0, 31457 105 e y =
alculos sejam efetuados com o dobro de dgitos. Ora, para calcular x y,
0, 31453 104 e que os c
temos:
x =
y =
xy =
(x y) =
24
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
= x senx
x5
x7
x3
+
+ ...
= x x
3!
5!
7!
3
x
x5
x7
=
+
...
3!
5!
7!
e, para x 0, podemos truncar a serie como segue, utilizando apenas quatro termos:
y = (x3 /6)(1 (x2 /20)(1 (x2 /42)(1 x2 /72)))
Usando o Teorema da Perda de Precis
ao, podemos exigir que apenas um bit seja perdido se
escrevermos
senx
1
1
, x > 0,
x
2
Essa desigualdade e satisfeita se | x | 1, 9 e, nessa situac
ao, podemos usar a express
ao original.
Para 0 < x < 1, 9, devemos usar a express
ao baseada na serie truncada de Taylor, pois ela elimina
o problema.
ao, teremos:
Suponha x = 106 em uma calculadora HP-48SX. Ent
y =
y =
1.5
Condicionamento de um problema
O condicionamento de um problema diz respeito a quao exato podemos resolve-lo em uma dada
precis
ao de ponto-utuante, independentemente do algoritmo utilizado para resolve-lo.
Seguindo a derivacao em [12], e supondo que desejamos avaliar uma funcao y = f (x), j
a
sabemos que qualquer operacao de ponto-utuante acarretar
a a existencia de um erro. Logo, o
que efetivamente calcula-se e uma aproximacao
(y) = (f ( (x)))
mas, por simplicidade, assumimos que (f ) = f . Podemos calcular, ent
ao, o erro relativo em y
como
f ( (x)) f (x)
x
(x) x
(y) y
=
.
y
(x) x
f (x)
x
O termo
f ( (x))f (x)
(x)x
(1.31)
25
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
onde
f (x) =
| x | | f (x) |
| f (x) |
(1.32)
a qual e chamada de n
umero de condic
ao de f em x. Esse fator e que mede o quanto os erros de
arredondamento em x sao amplicados ao se avaliar f (x).
Ent
ao, para se avaliar o n
umero de dgitos corretos em (y), aplicamos logaritmos aos dois
membros da equacao (1.31),
(y) y
(x) x
log10
log10
log10 f (x)
y
x
(x)x
Note que log10
e aproximadamente igual a 7 para p = 24 e a 16 para p = 53.
x
1.6
Computa
c
oes est
aveis e inst
aveis
x0 = 1
x1 = 13
4
xn+1 = 13
n1
3 xn 3 xn1 ,
a qual gera os n
umeros
xn =
pois x0 =
10
3
= 1, x1 =
11
3
xm+1
n
1
3
= 13 . Para n = m + 1, temos:
=
=
m
m1
13
4
13 1
4 1
xm xm1 =
3
3
3 3
3 3
m1
m+1
1
13 4
1
=
3
3
3
3
xn
(1/3)n
erro relativo
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1,000000000000000000000
0,333333333333333310000
0,111111111111110940000
0,037037037037036258000
0,012345679012342514000
0,004115226337435884400
0,001371742112432145600
0,000457247370624785240
0,000152415789464541850
0,000050805260179967644
0,000016935074827137338
0,000005644977344304949
0,000001881468722471661
0,000000626394671637267
0,000000205751947132609
0,000000056398875391618
-0,000000029940802813135
-0,000000204941979379076
1,000000000000000000000
0,333333333333333310000
0,111111111111111100000
0,037037037037037028000
0,012345679012345677000
0,004115226337448558300
0,001371742112482852900
0,000457247370827617560
0,000152415790275872500
0,000050805263425290837
0,000016935087808430279
0,000005645029269476759
0,000001881676423158920
0,000000627225474386307
0,000000209075158128769
0,000000069691719376256
0,000000023230573125419
0,000000007743524375140
0,000000000000000000000
0,000000000000000000000
0,000000000000001498801
0,000000000000020795865
0,000000000000256154473
0,000000000003079755201
0,000000000036965598551
0,000000000443594296061
0,000000005323140444549
0,000000063877696404890
0,000000766532366861972
0,000009198388410596376
0,000110380660937172300
0,001324567931256533500
0,015894815175089418000
0,190737782101085550000
2,288853385213039700000
27,466240622556484000000
26
Introduca
o ao C
alculo Numerico
1.7
Aritmetica no Computador
Esse captulo apresentou os conceitos ligados a` computacao numerica; dentre estes, certamente o
conceito de erro associado a qualquer calculo numerico e o mais importante. Como nao h
a como
evit
a-los, e necessario que o programador e/ou analista numerico saiba como trata-los de forma
que a ocorrencia deles nao leve a falhas catastr
ocas. Infelizmente, isso nem sempre e levado em
conta, no dia-a-dia, e desastres ocorrem, como os dois que citamos a seguir.
1.7.1
27
Introduca
o ao C
alculo Numerico
Aritmetica no Computador
n
ao havia como o Scud ser detectado, j
a que a janela encontrava-se a uma altitude inferior a`
dele.
1.7.2
Explos
ao do foguete Ariane 5
No dia 4 de junho de 1996, o primeiro foguete Ariane 5, construdo pela Agencia Espacial Europeia,
foi destrudo pelo sistema de controle de falha apenas 40s ap
os o lancamento da sua base em
Khourou, na Guiana Francesa. O Ariane 5 havia sido desenvolvido ap
os 10 anos de trabalho, a
um custo de 7 bilh
oes de dolares. O custo do foguete, bem como da carga u
til transportada, era
de 500 milh
oes de dolares.
Os resultados da investigacao, ap
os duas semanas do incidente, indicaram que o problema
encontrava-se no software de guiagem inercial. Um n
umero em ponto-utuante, armazenado
numa palavra de 64 bits, e que representava a velocidade horizontal em relacao `a plataforma de
lancamento, foi convertido para um n
umero inteiro, no formato sinal-e-magnitude, de 16 bits.
Como a velocidade era superior a 32.768 (o maior n
umero representavel em 15 bits), ocorreu uma
falha na conversao e o programa deixou de funcionar.
1.8
Exerccios
Exerccio 1.4 Se no m
aximo 2 bits de precis
ao podem ser perdidos ao se calcular y = x2 + 11,
qual a restric
ao que deve ser imposta a x?
Exerccio 1.5 Calcule os valores de x para os quais f (x) = sen(x) pode ter um grande n
umero
de condic
ao.
28
Captulo 2
C
alculo de Razes de Funco
es
N
ao-Lineares
2.1
Introdu
c
ao
Consideramos aqui o problema de se determinar um valor real para o qual uma determinada funcao
f (x) se anula. Seja ent
ao
f : IR
IR
x f (x)
e deseja-se determinar um valor IR tal que | f () | 0. O processo de busca de e feito
basicamente de duas formas. Na primeira, determina-se uma seq
uencia de intervalos que contem
; na segunda, dada uma estimativa inicial x0 para , rena-se sucessivamente essa estimativa
atraves de alguma formula, ate que se obtenha uma boa aproximacao para a raiz desejada. Existem
in
umeros metodos para se determinar tais razes, baseados nessas duas formas de busca.
Note que esses metodos n
ao determinam todas as razes de f (x) = 0. Para ter uma ideia
mais precisa da localizacao das razes de uma equacao e preciso encontrar uma seq
uencia de
subintervalos distintos, tais que cada subintervalo contivesse exatamente uma raiz real e cada raiz
real estivesse contida em um subintervalo. Este processo e chamado de separac
ao das razes de
uma funca
o.
Teorema 2.1.1 Teorema de Bolzano: Seja f uma func
ao contnua em um intervalo [a, b].
Ent
ao,
1. Se f (a)f (b) < 0, ent
ao existe um n
umero mpar (1, 3, 5, . . .), de razes reais em [a, b];
2. Se f (a)f (b) > 0, pode existir um n
umero par (0, 2, 4, . . .) de razes reais em [a, b].
3. Supondo que f e sua derivada f sejam contnuas em [a, b] e que o sinal de f seja constante
neste intervalo tem-se:
(a) se f (a)f (b) < 0, ent
ao existe uma u
nica raiz real em [a, b];
(b) se f (a)f (b) > 0, ent
ao n
ao existe raiz real em [a, b].
Exemplo 2.1 Determine gracamente os intervalos que contem cada uma das razes reais das
funco
es f (x) = x3 sen(x) e p(z) = z 3 4z 2 + 4z 1.
Alem disso, e possvel que existam razes de multiplicidade maior do que um; nesse caso, ainda
que um metodo consiga determinar uma delas, a determinacao da multiplicidade dela deve ser
feita posteriormente. Outro problema que afeta a determinacao numerica de uma raiz e quando
existem duas razes tao pr
oximas numericamente que a n
ao se pode garantir para qual delas um
determinado metodo ir
a convergir.
29
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
2.2
M
etodo da Bissec
c
ao
O metodo da bisseccao e um dos mais metodos mais simples para se obter uma raz de uma funcao.
Ele baseia-se na divisao sucessiva, ao meio, de um intervalo [a, b], no qual e garantido que h
a uma
raiz da equacao f (x) = 0, i.e., sign(f (a)) = sign(f (b)) - da o seu nome.
Formalmente, se f e uma funcao contnua no intervalo [a, b], e se f (a)f (b) < 0, ent
ao f tem
um zero em (a, b). Como h
a troca de sinal da funcao f avaliada nos extremos do intervalo, em
algum ponto a < x < b a curva da funcao f cruzou o eixo das abscissas e, portanto, existe ao
menos uma raiz em (a, b).
Considere, agora, a gura 2.1.
30
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
31
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
Figura 2.4: (a) | f (c) | > e | bn an | < ; (b) | f (c) | < e | bn an | > .
32
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
2.3
M
etodo da posi
c
ao falsa
O metodo da posicao falsa e uma modicacao do metodo da bisseccao. Conforme visto anteriormente, e possvel que o ponto medio do intervalo de busca n
ao seja o mais pr
oximo da raiz contida
naquele intervalo.
O metodo da posicao falsa faz um renamento sucessivo de um intervalo [a, b] utilizando a
interseccao da reta secante (ou corda) a f (x) a qual passa pelos pontos (a, f (a)) e (b, f (b))
com o eixo dos x. Esse ponto de interseccao ser
a um dos extremos do novo intervalo de busca, ou
ser
a uma boa aproximacao para a raiz.
33
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
Considere ent
ao que f (x) e contnua em [a, b] e que f (a) e f (b), de acordo com a gura 2.5,
apresentam sinais diferentes entre si. Ent
ao, nesse caso, podemos armar que a curva y = f (x)
cruza o eixo das abscissas ao menos uma vez em um ponto no intervalo [a, b]. Normalmente,
podem existir v
arios desses pontos; porem, se f (x) e monot
onica, ent
ao existe apenas um ponto
para o qual f () = 0.
= a1 a, T N1 = b a1 , M M1 = f (a) e
de interseccao T da corda M N com o eixo X.
b a1
f (b)
a1 = b f (b)
ba
f (b) f (a)
(2.1)
a1 = a f (a)
ba
f (b) f (a)
(2.2)
O n
umero a1 representa o valor aproximado da raiz da equacao f (x) = 0, situado no intervalo
[a, b].
Como, por hip
otese, os sinais de f (a) e f (b) sao opostos, podemos ter duas situacoes possveis:
1. sign(f (a)) = sign(f (a1 )), ou
2. sign(f (b)) = sign(f (a1 )).
No primeiro caso, deve-se aplicar a f
ormula (2.2) ao intervalo [a, a1 ], a m de se obter a aproximacao
a2 :
a1 a
.
(2.3)
a2 = a f (a)
f (a1 ) f (a)
Se, ao contrario, ocorrer o segundo caso, ent
ao obtem-se a2 atraves da aplicacao da f
ormula (2.1)
ao intervalo [a1 , b],
b a1
a2 = b f (b)
(2.4)
f (b) f (a1 )
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
34
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
e assim sucessivamente, sempre vericando o sinal de f (an ) em relacao aos extremos do intervalo
em questao. De forma geral, podemos escrever, ent
ao:
an+1 = a f (a)
an a
f (an ) f (a)
(2.5)
an+1 = b f (b)
b an
f (b) f (an )
(2.6)
A gura 2.7 ilustra os casos possveis com relacao `a concavidade da curva y = f (x) e os sinais
de f (a), f (b) e f (a1 ). Se a curva for c
oncava para cima, deve-se aplicar a equacao (2.5) sobre o
intervalo [a, a1 ] ou a equacao (2.6) sobre o intervalo [a1 , b] (guras 2.7-(a) e 2.7-(d)); se a curva
for c
oncava para baixo, ent
ao aplica-se a equacao (2.5) sobre o intervalo [a, a1 ] ou a equacao (2.6)
sobre o intervalo [a1 , b] (guras 2.7-(b) e 2.7-(c)).
35
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
Exemplo 2.2 Suponha que se deseja obter uma raiz de f (x) = x3 + 3x 1 = 0 no intervalo [0, 1],
a uma toler
ancia de 103 . Como f (0) = 1 e f (1) = 3, ent
ao f (x) tem ao menos um zero nesse
intervalo. O gr
aco da func
ao nesse intervalo (gura 2.9) mostra que ela e c
oncava para cima e,
Figura 2.9: Gr
aco de f (x) = x3 + 3x 1 = 0 no intervalo [0, 1].
portanto, devemos usar a equac
ao (2.5). Ent
ao, teremos a seguinte seq
uencia de aproximac
oes:
2.3.1
x1
x2
x3
x4
x5
10
ba
=13
= 0, 25
f (b) f (a)
3 (1)
1 0, 25
b x1
=13
= 0, 31
b f (b)
f (b) f (x1 )
3 + 0, 23
1 0, 31
= 0, 319
13
3 + 0, 040
1 0, 319
= 0, 322
13
3 + 0, 010
1 0, 322
= 0, 322
13
3 + 0, 0006
b f (b)
Melhorando o m
etodo da posi
c
ao falsa
Se analisarmos as equacoes que governam o metodo da posicao falsa, veremos que elas usam,
sempre, um dos extremos a ou b do intervalo original.
No entanto, podemos usar as duas u
ltimas aproximacoes calculadas, pois elas encontram-se
mais pr
oximas da raiz; com isso, aumentamos a rapidez com a qual as aproximacoes convergem
para a raiz.
Para tanto, considere a gura 2.10-(a); a f
ormula utilizada para se calcular an+1 a partir das
duas u
ltimas aproximacoes e
an+1 = an f (an )
an an1
f (an ) f (an1 )
(2.7)
Na gura 2.10-(b), temos um exemplo de uma situacao que pode surgir: suponha que a1 tenha
sido calculado atraves da Equacao (2.1) e que a2 tenha sido calculado atraves das equacoes (2.3)
ao a3 deve
ou (2.4). Se, porventura, a3 e um ponto localizado fora do intervalo original [a, b], ent
ser substitudo por a ou b, antes de se calcular a4 . Particularmente, se a3 < a, ent
ao a3 a; se
a3 > b, ent
ao a3 b.
O metodo da posicao falsa, assim modicado tambem conhecido como metodo da secante
apresenta uma taxa de convergencia superior ao do metodo original. Se e a raiz da equacao
f (x) = 0, ent
ao
(2.8)
| an+1 | < C| an |t
36
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
1+ 5
t=
1, 61803398875
2
ancia de
Exemplo 2.3 Calcule a raiz da func
ao x3 + 3x 1 = 0 no intervalo [0, 1], a uma toler
3
10 .
Solu
c
ao: Calcule a1 = 0, 2500 e a2 = 0, 3100 com as equac
oes no metodo da posic
ao falsa original.
Ap
os, calcule
a3
a2 a1
=
f (a2 ) f (a1 )
0, 3100 0, 2500
= 0, 3100 + 0, 0400
= 0, 3223
0, 040 + 0, 234
= a2 f (a2 )
2.3.2
An
alise do erro
= xn+1 r =
=
xn xn1
xn xn1 ,
xn xn1
f (xn ) f (xn1 )
vem
f (xn )
en
f (xn1 )
en1
xn xn1
en en1
37
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
f (xn1 )
en1
xn xn1
1
f (r)
2
1 f (r)
en en1 = Cen en1
2 f (r)
(2.9)
A Equacao (2.9) nos diz que o erro en+1 e proporcional ao produto dos dois erros anteriores;
possivelmente, para xn e xn1 pr
oximos de r, ent
ao a taxa de convergencia sera de ordem quase
quadr
atica.
2.4
M
etodo de Newton-Raphson
(2.10)
mx0 mx1
f (x0 )
x0
m
(2.11)
onde m e o coeciente angular da reta. Esse coeciente pode ser determinado considerando um
outro ponto (x0 + h, f (x0 + h)), h 0, e calculando a reta (secante) que passa pelos pontos
(x0 , f (x0 )) e (x0 + h, f (x0 + h)); da, o coeciente angular dessa reta e dado por
m=
f (x0 + h) f (x0 )
.
h
(2.12)
h>0
f (x + h) f (x)
h
38
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
f (x0 )
f (x0 )
(2.13)
f (xk )
,
f (xk )
k = 0, 1, . . .
(2.14)
= 0
f (x + h) = 0
f (x) + hf (x) + O(h2 ) = 0
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
39
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
f (x)
f (x)
(2.15)
2.4.1
An
alise do erro
=
=
f (xn )
r
f (xn )
en f (xn ) f (xn )
f (xn )
en
=
f (xn )
f (xn )
xn+1 r = xn
40
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
1
f (n )e2n
2
1 f (n ) 2
1 f (r) 2
en
e = Ce2n
2 f (n )
2 f (r) n
(2.16)
Com base na equacao acima, podemos dizer que, se xn e uma aproximacao sucientemente
pr
oxima de r, ent
ao o erro em uma iteracao do metodo de Newton-Raphson decresce de forma
proporcional ao quadrado do erro na iteracao anterior.
Conforme mencionado acima, o metodo de Newton pode apresentar problemas, como o caso da
divis
ao por zero. Entretanto, existem outras diculdades que nao sao t
ao facilmente identicaveis.
` vezes, ao inves de as iteracoes convergirem, elas oscilam para frente e para tras. Isto acontece
As
quando n
ao existem razes reais (gura 2.13), quando existe simetria em f (x) em torno do ponto x
xi
0
0,5
0,8
0,95
0,995652174
0,999962679
0,999999998
1,0
2.5
Deriva
c
ao num
erica
41
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
42
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
i
0
1
2
3
4
5
6
..
.
xi
1,75
1,9
1,952941176
1,977066274
1,988669318
1,994367280
1,997191745
16
17
1,999999956
1,999999956
f (x + h) f (x)
h
(2.17)
f (x + h) f (x) h
f ()
h
2
(2.19)
0, 70000047618 0, 707106781186
f (x + h) f (x)
=
h
0, 01
= 0, 007106305006
43
Introduca
o ao C
alculo Numerico
Razes de Func
oes N
ao-Lineares
obvio que, para utilizarmos a Equacao (2.17), h deve ser pequeno o suciente. Ora, nessa
E
equacao, h
a a possibilidade de que ocorra perda de dgitos signicativos ao calcularmos f (x + h)
f (x), se f (x + h) f (x). Por isso, cuidado deve ser tomado ao se efetuar tais calculos.
Existem outras aproximacoes para a derivada de primeira ordem. Suponha, por exemplo, as
duas expans
oes de Taylor, para f (x + h) e f (x h):
h2
f (x) +
2
h2
f (x h) = f (x) hf (x) + f (x)
2
Subtraindo uma equacao da outra, obtemos
f (x + h)
= f (x) + hf (x) +
h3
f (1 )
6
h3
f (2 )
6
(2.20)
(2.21)
f (x + h) f (x h) h2
(f (1 ) + f (2 ))
(2.22)
2h
12
a qual e chamada de aproximacao central para a derivada de primeira ordem, pois x h <
x < x + h. Se assumirmos que f (x) existe e e contnua em [x h, x + h], podemos dizer
que f () = 12 (f (1 ) + f (2 )), de onde obtemos uma expressao mais simples para o termo
envolvendo o erro,
f (x + h) f (x h) h2
f ()
(2.23)
f (x) =
2h
6
Para se aproximar derivadas de segunda ordem, usualmente se utiliza uma aproximacao central.
Expandindo a serie de Taylor nas equacoes (2.20) e (2.21) por um termo a mais, e somando ambas,
obtemos
f (x + h) 2f (x) + f (x h) h2 (4)
f (x) =
f ()
(2.24)
h2
12
para x h < < x + h.
f (x) =
2.5.1
O m
etodo de Newton-Raphson e as razes complexas de f (x)
O metodo de Newton-Raphson pode ser utilizado para se extrair as razes complexas de uma
funcao f (x). Para tanto, basta que se utilize aritmetica complexa, tomando cuidado particular
com a codicacao das funcoes.
2.6
Exerccios
(x1)2
x
2 utilizando os metodos:
1. da bissecc
ao
2. de Newton-Raphson com aproximac
ao numerica da derivada
3. da secante
ario
Exerccio 2.3 Calcule as intersecc
oes da curva y = [(x1)2 ][(x+1)2 ]1/2 com o crculo unit
centrado na origem, utilizando o metodo da secante.
1
44
Captulo 3
C
alculo de Razes de Polin
omios
3.1
Introdu
c
ao
3.2
Resultados te
oricos
transcendentais s
ao aquelas em que a inc
ognita aparece submetida `
a operac
ao n
ao algebrica em pelo
2
menos um termo da func
ao. Ex.: f (x) = x + cos(x), f (x) = ex sen(x)
45
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
n
n1
1
1
+ an1
+ . . . + a0
an
z
z
an + an1 z + . . . + a0 z n
O polin
omio s tem, tambem, grau n e os seus coecientes sao os mesmos de p, apenas em ordem
reversa. Pode-se vericar que, se p(z0 ) = 0, ent
ao s( z10 ) = 0, para z0 = 0.
3.3
Enumera
c
ao e localiza
c
ao de razes de polin
omios
da Algebra
assegura a existencia de n razes, contando a multiplicidade. Entretanto, responder de
que tipo s
ao as razes (positivas ou negativas, simples ou m
ultiplas), ja n
ao e muito f
acil. No caso
de funcoes transcendentais, como nao e possvel garantir o n
umero de razes, o problema da sua
enumeracao acaba por ser mais difcil. Existem algumas regras que permitem enumerar e localizar
as razes de polin
omios, conforme mostrado a seguir.
3.3.1
Regra de Descartes
46
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
3.3.2
Regra de Du Gua
3.3.3
Regra da lacuna
47
Introduca
o ao C
alculo Numerico
3.3.4
Razes de Polin
omios
Cota de Laguerre-Thibault
Dado um polin
omio p(z) = 0, de coecientes reais, faz-se a divisao de p(z) por z 1, z 2 e assim
sucessivamente, ate z m, onde q(z) tenha todos os coecientes positivos ou nulos, assim como
r > 0; tal m e chamado de cota superior das razes reais de p(z) = 0. Para determinar a cota
inferior, basta fazer o mesmo procedimento para p(z).
3.3.5
Cota de Fujiwara
Seja x
uma raiz real ou complexa de p(z) = an z n + an1 z n1 + . . . + a1 z + a0 = 0. Ent
ao,
1
1
1
an1 an2 2
a1 n1 a0 n
| z | 2 max
,...,
,
.
,
an an
an
an
Exemplo 3.4 Determinar a regi
ao do plano onde se encontram as razes de p(z) = z 4 14z 2 +
24z 10.
A express
ao para a cota de Fujiwara ca:
1
1
1
| z | 2 max 0, 14 2 , 24 3 , 10 4
3.3.6
2 3, 74 = 7, 48
Cota de Kojima
Dado o polin
omio p(z) = an z n + an1 z n1 + . . .+ a1 z + a0 , toda a raiz z, real ou complexa, satisfaz
| z | q1 + q2
onde q1 e q2 sao os dois maiores valores de
1
ai i
, i = n 1, n 2, . . . , 0,
an
Exemplo 3.5 Seja p(z) = z 5 + z 4 9z 3 z 2 + 20z 12. Calculando os valores de
1
| ai /a0 | i
3.3.7
Cota de Cauchy
e
zk =
an1
an
n1 an2
z
+
k1 an
com z0 = 0,
n2
a1
z
+
.
.
.
+
k1
an
zk1 + a0
an
n1
,
k = 0, 1, . . .
1
zk+1 = 2zi2 + 3zi + 5 3 ,
48
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
=
=
0, 0
1, 709975
z2
2, 518686
z3
z4
..
.
=
=
2, 933484
3, 141756
z14
z15
=
=
3, 344014
3, 344095
Logo, | z | 3, 34.
3.4
M
etodo de Newton-Vi
ete
k = 0, 1, . . .
(3.1)
para p(z) : + + T = 1;
para p(z) : + + T = 2.
2. A regra da lacuna n
ao pode ser aplicada;
3. A regra de Du Gua nada arma.
Conclui-se ent
ao que p(z) tem exatamente uma raiz real positiva. As outras duas s
ao ambas
reais negativas ou ambas complexas.
Localiza
c
ao: A cota de Cauchy e aplicada a partir de
z0 = 0
1
zk+1 = 2zk2 + 3xk + 5 3 ,
para
k = 0, 1, . . . ,
o que resulta
z1
= 1, 71
z2
z3
= 2, 52
= 2, 93
49
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
z4
= 3, 14
z5
z6
= 3, 24
= 3, 29
z7
z8
= 3, 32
= 3, 33
z9
z10
= 3, 34
= 3, 34
-4
-25
-3
-5
-2
1
-1
-1
0
-5
1
-5
2
5
3
31
4
79
zi
-2
-3
-2,58333333333
-2,41242644514
-2,3785447672
-2,37720492776
-2,37720285398
-2,37720285397
zi
-1,5
-1,22222222222
-1,27254428341
-1,27388953494
-1,27389055496
-1,27389055497
zi
1,5
1,66666666667
1,6512345679
1,65109342069
1,65109340894
1,65109340894
p(zi )
1
-5
-1,14293981478
-1,629606481E-01
-5,97333456E-03
-9,21691E-06
-3E-11
p(zi )
0,625
-1,7146776407E-01
-4,34794747E-03
-3,29179E-06
-2E-11
p(zi )
-1,625
1,8518518523E-01
1,66337255E-03
1,3849E-07
4E-11
O metodo de Newton-Viete pode ser utilizado de forma mais eciente se zermos uso do metodo
de Horner, o qual ser
a descrito a seguir.
50
Introduca
o ao C
alculo Numerico
3.5
Razes de Polin
omios
M
etodo de Horner
3.5.1
C
alculo do quociente e do resto
(3.2)
= an
bn2
= an1 + z0 bn1
..
.
b0
p(z0 )
= a1 + z 0 b 1
= a0 + z 0 b 0
k = n 1, n 2, . . . , 0
an1
z0 bn1
bn2
an2
z0 bn2
bn3
...
...
...
a0
z0 b0
p(z0 )
51
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
Note que, ao nal do algoritmo, b1 contem o valor de p(z0 ). O exemplo a seguir ilustra o uso
do procedimento.
Exemplo 3.8 Se p(z) = z 4 4z 3 + 7z 2 5z 2, calcule p(3).
Solucao: Usando o dispositivo mostrado na Tabela 3.1, temos, para z0 = 3:
4
3
1
1
3
1
7
3
4
5
12
7
2
21
19
3
8
5
34
40
6
120
48
168
Pode-se vericar que q(z) tem coecientes todos positivos e, assim, 8 e uma cota superior para as
razes positivas de p(z). Com efeito, a p(z) tem como razes 6, 4 e 5.
3.5.2
Deflac
ao de um polin
omio
O dispositivo mostrado na subsecao anterior pode ser usado para se remover um fator linear do
polin
omio, o que se chama de deaca
o.
Para tanto, basta que z0 seja tomado como um dos zeros do polinomio; nesse caso, z z0 e
um dos fatores do polin
omio (e vice-versa). Os restantes n 1 zeros de p sao os n 1 zeros do
p
polin
omio zz
.
Vejamos
o exemplo a seguir:
0
Exemplo 3.10 Se p(z) = z 4 4z 3 + 7z 2 5z 2 e 2 e um de seus zeros, deacione-o adequadamente.
Solucao: Usando o dispositivo mostrado na Tabela 3.1, temos, para z0 = 2:
1
2
1
4
2
2
7
4
3
5
6
1
2
2
0
3.5.3
Seja
Calcular a expans
ao de Taylor de um polin
omio
p(z) = an z n + an1 z n1 + . . . + a2 z 2 + a1 z + a0
52
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
p(z) p(z0 )
= cn (z z0 )n1 + cn1 (z z0 )n2 + . . . + c1
z z0
o que mostra que c1 pode ser obtido aplicando o dispositivo de Horner ao polin
omio q(z0 ), pois
c1 q(z0 ). Pela aplicacao sucessiva do dispositivo de Horner aos polin
omios quocientes, de graus
n 1, n 2, . . ., 1, podemos obter todos os coecientes da expans
ao de Taylor, conforme vemos
no exemplo abaixo:
q(z) =
ao de Taylor em torno de 3.
Exemplo 3.11 Se p(z) = z 4 4z 3 + 7z 2 5z 2, obtenha a expans
Solucao: Usando o dispositivo mostrado na Tabela 3.1, temos, para z0 = 3:
1
3
1
3
1
3
1
3
1
4
3
1
3
2
3
5
3
8
7
3
4
6
10
15
25
5
12
7
30
37
2
21
19
+
+
+
+
Podemos, ent
ao, escrever a expans
ao de Taylor de p(z) em torno de 3 como
p(z) = (z 3)4 + 8(z 3)3 + 25(z 3)2 + 37(z 3) + 19,
Esse processo e chamado de algoritmo completo de Horner, o qual pode ser expresso da seguinte
forma:
Algoritmo 3.5.2 Horner completo
proc horner completo(input: n, [a0 , a1 , . . . , an ], z0 ; output: [a0 , a1 , . . . , an ])
for k = 0, 1, . . . , n 1 do
for j = n 1, n 2 . . . , 0 do
aj aj + z0 aj+1
endfor
endfor
endproc
3.5.3.1
O m
etodo de Horner e sua rela
c
ao com a derivada de p(z)
Note que, a cada aplicacao do algoritmo parcial de Horner, obtem-se um polinomio q(z) e um
resto r. Chamemos, agora, de qi (z) e ri aos quociente e resto obtidos na i-esima aplicacao do
algoritmo.
umero, ent
ao ap
os uma aplicacao do
Se p(z) = an z n + an1 z n1 + . . . + a1 z + a0 , e z0 e um n
algoritmo parcial de Horner, temos, conforme j
a visto,
q1 (z) =
an z n1 +
(an1 + z0 an )z n2 +
(an2 + z0 (an1 + z0 an )) z n2 +
r1
53
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
onde q1 (z) tem n termos envolvendo an e, pela denicao do algoritmo, r1 p(z0 ). Mas quem e
q1 (z)? O polin
omio quociente nada mais e do que o valor da derivada de p, avaliada em z = z0 .
Isto pode ser visto se igualarmos os coecientes de mesma potencia da derivada p (z0 ) e q1 (z0 ):
n1
n
=
a = nan
z
:
na
n
0
n2
n1 i=1 n
z0
: (n 1)an1 =
i=1 an1 = (n 1)an1
..
.
2
3
=
a3 = 3a3
3a3
z0 :
i=1
2
[z0 ] :
2a2
=
a2 = 2a2
i=1
1
a1
=
i=1 a1 = a1
pois existem n termos envolvendo an , n 1 termos envolvendo an1 , e assim por diante. Alem
disso, no i-esimo termo, existem i produtos envolvendo z0 , o que equivale a z0i .
Agora, note que se aplicarmos mais uma vez o algoritmo parcial de Horner, sobre q1 (z), obteremos q2 (z)2 e r2 p (z0 ), por analogia. Dessa forma, podemos, aplicando sucessivamente duas
vezes o algoritmo parcial de Horner, obter p(z0 ) e p (z0 ), de forma bastante economica e simples.
Isso nos leva a obter uma vers
ao modicada do metodo de Newton-Raphson para o calculo de
uma raiz de um polin
omio, conforme descrito a seguir.
3.5.3.2
O m
etodo de Newton-Raphson usado em conjunto com o algoritmo parcial
de Horner
2 Note
54
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
Figura 3.1: Gr
aco de p(z) = z 4 4z 3 + 7z 2 5z 2 no intervalo [1, 1].
Algoritmo 3.5.4 Newton-Raphson para polin
omios
omio(input: n, [a0 , a1 , . . . , an ], z, , , kmax ;
proc newton raphson polin
output: z, k)
z0 z
call horner parcial 2(n, [a0 , a1 , . . . , an ], z0 ; , )
for k = 1, 2, . . . , kmax do
z z0
p(zk )
2, 00000
1, 40160
1, 46322
0, 00226
0, 00000
p (zk )
5, 00000
12, 77600
10, 17322
9, 86030
9, 85537
zk
0, 40000
0, 29029
0, 27591
0, 27568
0, 27568
55
Introduca
o ao C
alculo Numerico
3.6
Razes de Polin
omios
(3.3)
(3.4)
(3.5)
p(z) =
+
(3.6)
(3.7)
an
bn1
an1 + bn
bk
ak + bk+1 + bk+2
(3.8)
para k = n 2, n 3, . . . , 1, 0,
O calculo destes coecientes tambem pode ser expresso na forma de uma tabela, semelhante
ao visto anteriormente no metodo de Horner: O exemplo a seguir ilustra o procedimento.
an
an2
an3
ak
a2
a1
a0
bn
bn1
bk+2
b4
b3
b2
bn
bn1
bn2
bk+1
b3
b2
b1
bn1
bn2
bn3
bk
b2
b1
b0
an1
bn
Exemplo 3.13 Mostre como dividir p(z) = z 5 + 6z 4 20z 2 + 22z + 8 por z 2 + 2z 3. Solu
c
ao:
Neste caso, = 2 e = 3. Montando a tabela, tem-se
1
20
22
12
15
10
3
2
1
56
Introduca
o ao C
alculo Numerico
3.6.1
Razes de Polin
omios
M
etodo de Bairstow
(3.9)
= b0 (, )
= b1 (, ).
(3.10)
(3.11)
0 +
(3.12)
0 +
(3.13)
os coecientes ak sao todos constantes e que os bk sao todos funcoes de , exceto bn . Portanto,
bn
=0e
bn1
bn2
bn3
bn
bn1 +
bn1
bn1
bn2
bn2 +
+
..
.
b1
b0
=
=
b3
b2
+
b2
b1
b1 +
+
b2 +
para k = n, n 1, . . . , 1,
(3.16)
57
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
Estabelecendo-se que
ck+1 =
bk
,
k = 0, 1, . . . , n 1,
para
(3.17)
bn
cn1
ck
=
=
bn1 + cn
bk + ck+1 + ck+2
(3.18)
para
k = n 2, n 3, . . . , 2, 1,
(3.19)
(3.20)
an2
an3
a3
a2
a1
a0
bn
bn1
b5
b4
b3
b2
bn
bn1
bn2
b4
b3
b2
b1
bn1
bn2
bn3
b3
b2
b1
b0
cn
cn1
c5
c4
c3
cn
cn1
cn2
c4
c3
c2
cn1
cn2
cn2
c3
c2
c1
an1
bn
cn
=
=
b0
b1
(3.21)
58
Introduca
o ao C
alculo Numerico
Razes de Polin
omios
b0
c1 c2
=
para e
Resolve
c2 c3
b1
+
+
endwhile
endfor
Calcule as raizes z1 e z2 da equacao z 2 z = 0
endproc
O metodo de Bairstow e eciente, pois ele fornece uma maneira simples de calcular as derivadas
parciais requeridas e, alem disso, apresenta convergencia quadr
atica. Sua principal deciencia e a
diculdade na escolha dos valores iniciais 0 e 0 a m de garantir convergencia.
Exemplo 3.14 Para p(z) = z 4 + z 3 + 3z 2 + 4z + 6, considere 0 = 2, 1 e 0 = 1, 9. Use o
metodo de Bairstow para encontrar 1 , 1 , 2 , 2 , . . ., os fatores quadr
aticos e as razes de p(z).
Solu
c
ao: A tabela para calcular 1 e 1 e
O sistema linear resultante, que envolve e e
12, 2740 + 8, 2300 = 1, 7701
(3.22)
8, 2300 3, 2000 = 1, 0710
A soluc
ao deste sistema produz = 0, 11069718 e = 0, 04998819, o que implica que os
novos valores s
ao
1 = 1, 98930282
1 = 1, 94998819,
59
Introduca
o ao C
alculo Numerico
1, 0000
Razes de Polin
omios
1, 0000
3, 0000
4, 0000
6, 0000
1, 9000
2, 0900
6, 4790
2, 1000
2, 3100
7, 1610
2, 2491
1, 1000
3, 4100
1, 0710
1, 7701
1, 9000
6, 0800
2, 1000
6, 7200
17, 2830
3, 2000
8, 2300
12, 2740
1, 9000
2, 1000
1, 0000
1, 9000
2, 1000
1, 0000
A pr
oxima iterac
ao fornece 2 = 1, 99999277 e 2 = 2, 00015098, ou seja, as seq
uencias
est
ao convergindo para = 2 e = 2. Logo, p(z) pode ser fatorado como
p(z) = (x2 + 2x + 2)(x2 x + 3).
As quatro razes complexas, calculadas com a f
ormula de Bhaskara, s
ao
1 + i,
3.7
1 i,
0, 5 + 1, 65831239 i,
0, 5 1, 65831239 i.
Exerccios
60
Captulo 4
Resolu
c
ao de Sistemas de
Equac
oes Lineares
4.1
Introdu
c
ao
= b1
= b2
= bn
a11 a12 . . .
a21 a22 . . .
..
..
..
.
.
.
an1
an2
(4.1)
a1n
x1
b1
a2n
x2 b2
=
..
.
.
. .. ..
. . . ann
xn
bn
A matriz A pode apresentar, dependendo do problema de onde o sistema foi derivado, uma
certa estrutura e esparsidade. Uma matriz e dita estruturada se os seus elementos estao dispostos
de uma determinada forma como, por exemplo, ao longo de algumas diagonais e/ou colunas/linhas
(guras 4.1-a) e 4.1-b), como um tri
angulo (a matriz em 4.1-c e dita triangular inferior) ou, ainda,
sem estrutura qualquer (4.1-d).
Alem disso, as matrizes mostradas na gura 4.1 apresentam alguns elementos nulos. Uma
matriz e dita esparsa se ela contem, aproximadamente, em torno de 90% de elementos nulos; caso
contr
ario, ela e dita densa. Em conseq
uencia, pode-se dizer que um sistema e esparso ou denso,
dependendo de como e a matriz de coecientes do sistema.
Uma das principais metas a se atingir, na resolucao de um sistema de equacoes lineares, e
obter a sua solucao no menor espaco de tempo e, se possvel, sem alterar a sua estrutura e/ou
esparsidade. Por isso, existem certos metodos e/ou algoritmos especcos para se resolver alguns
sistemas particulares, conforme veremos a seguir.
61
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
(a)
, (b)
(c)
, (d)
Figura 4.1: Estruturas tpicas de matrizes: (a) tridiagonal, (b) echa, (c) triangular inferior, (d)
n
ao-estruturada.
4.2
Resolu
c
ao de Sistemas Triangulares de Equa
c
oes Lineares
Se o sistema (4.1) apresenta sua matriz de coecientes A na forma triangular seja ela inferior,
como mostrado na gura 4.1-c, ou superior ent
ao e possvel resolve-lo de forma imediata, atraves
de substituic
ao direta, para matrizes triangulares inferiores, e de retro-substituic
ao, para matrizes
triangulares superiores.
Suponha ent
ao um sistema triangular inferior,
Lx = b
onde
L=
(4.2)
l11
l21
l31
..
.
l22
l32
..
.
l33
..
.
ln1
ln2
ln3
..
.
. . . lnn
x2
x3
=
..
xn
b1
l11
b2 l21 x1
l22
b3 l31 x1 l32 x2
l33
bn
n1
j=1 lnj xj
lnn
62
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
onde
u11
U =
u12
u22
u13
u23
u33
(4.3)
...
...
...
..
.
u1n
u2n
u3n
..
.
unn
Nesse caso, as incognitas x1 , x2 , . . ., xn , podem ser facilmente determinadas como
xn
xn1
xn2
=
..
x1
bn
unn
bn1 un1,n xn
un1,n1
bn2 un2,1 x1 un2,2 x2
un2,n2
b1
n
j=2
u1j xj
u11
63
Introduca
o ao C
alculo Numerico
4.3
Resoluc
ao de Sistemas de Equac
oes Lineares
Resolu
c
ao de Sistemas de Equa
c
oes Lineares por Elimina
c
ao Gaussiana
9
4 2 3
x1
1 7 3 x2 = 9
x3
12
4 0 8
cuja solucao e x1 = x2 = x3 = 1. Para transformarmos a matriz A em uma matriz triangular
superior, devemos eliminar os elementos abaixo da diagonal principal de A.
Para tanto, se multiplicamos a primeira linha por a21 /a11 = 1/4 e subtramo-la da segunda,
temos:
4
2
3
x1
9
0 7, 5 3, 75 x2 = 11, 25
x3
4
0
8
12
Agora, para eliminar o termo a31 , multiplicamos a primeira linha por a31 /a11 = 1/1 e subtramo-la
da terceira:
4
2
3
9
x1
0 7, 5 3, 75 x2 = 11, 25
x3
0 2
5
3
Note que os elementos do vetor independente b sao modicados tambem!
A matriz agora e praticamente triangular superior; falta eliminar o termo a32 . Para tanto,
basta multiplicar a segunda linha por a32 /a22 = 2/7, 5 e subtra-la da terceira, de onde
4
2
3
9
x1
0 7, 5 3, 75 x2 = 11, 25
x3
0
0
6
6
Agora, podemos utilizar o algoritmo de retro-substituicao para determinar as inc
ognitas:
x3
x2
x1
1
11, 25 3, 75 1
=1
7, 5
9 (2 1 + 3 1)
=1
4
Podemos sumarizar o processo entao da seguinte forma: para se eliminar os elementos abaixo
da diagonal na k-esima coluna (ou seja, os elementos das linhas k + 1, k + 2, . . ., n na coluna
ik
o para calcularmos um multiplicador z = aakk
para
k), usamos o elemento akk chamado de piv
cada i-esima linha abaixo da linha k. Esse multiplicador ser
a utilizado para multiplicar a k-esima
linha e subtra-la da linha i (incluindo, aqui, os elementos do termo independente b). Uma vez
eliminados todos os elementos abaixo da diagonal principal de A, resta-nos uma matriz triangular
superior, e, ent
ao, podemos determinar a solucao x usando o algoritmo da retro-substituicao.
O processo de eliminacao Gaussiana pode ser descrito de forma algoritmica como
64
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
4.3.1
Dificuldades
1
1 1
12
1 1
x2 = 2
11 1
x1 = (1 x2 )1 0
o qual obviamente aproxima bem x2 , mas o valor de x1 e completamente errado! Isso acontece
porque, se e pequeno o suciente em um determinado computador, tanto 2 1 quanto 1 1
ser
ao calculados como 1 (devido a` perda de dgitos signicativos na subtracao). Desse exemplo,
tiramos uma outra licao: o piv
o deve, sempre, ser escolhido como o maior possvel, em m
odulo.
O processo de escolha de piv
os, chamado de pivotamento, implica na troca de linhas da matriz
de coecientes (bem como do termo independente b). Computacionalmente, no entanto, n
ao e
1 Esta
e, inclusive, uma maneira de se determinar se o sistema e singular, isto
e, a matriz de coeficientes n
ao tem
inversa.
65
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
aconselh
avel se movimentar dados na memoria de forma excessiva, pois o tempo de execucao
do algoritmo passa a ser proibitivo. Podemos, no entanto, modicar o algoritmo de eliminacao
Gaussiana utilizando um vetor auxiliar de ndices chamado de p o qual implicitamente diz quais
linhas foram trocadas; os elementos desse vetor sao utilizados para se acessar convenientemente
os elementos da matriz e do termo independente. Note, ainda, que o algoritmo deve ser capaz de
tratar o caso no qual n
ao e necessario se efetuar qualquer troca de linhas.
No algoritmo a seguir, e feito tambem um escalonamento das linhas, isto e, um fator
si = max | aij |,
1jn
i = 1, 2, . . . , n
e calculado para cada linha. Esse fator e utilizado para se escolher um piv
o que seja o maior
relativo aos elementos de uma coluna; em outras palavras, na k-esima coluna, iremos selecionar o
maior valor | api k |/spi nas linhas k i n.
O algoritmo para a eliminacao Gaussiana com pivotamento e escalonamento pode ser expresso
como segue:
Algoritmo 4.3.2 Eliminac
ao Gaussiana com pivotamento e
escalonamento
o Gaussiana pivotamento e escalonamento(input: A, b; output: x)
proc eliminaca
for i = 1, 2, . . . , n do
pi i
si max1jn | aij |
endfor
for k = 1, 2, . . . , n 1 do
jk
for i = k + 1, k + 2, . . . , n do
if (| api k |/spi | apj k |/spj ) then
ji
break
endif
endfor
q pk
pk pj
pj q
if (apk k = 0) then
break
endif
for i = k + 1, k + 2, . . . , n do
a
z appi kk
k
api k z
for j = k + 1, k + 2, . . . , n do
api j api j zapk j
endfor
bpi bpi zbpk
endfor
endfor
for i = n,
n 1, . . . , 1 do
xi bpi nj=i+1 api j xj /api j
endfor
endproc
66
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Note que os fatores appi kk utilizados para se eliminar os elementos abaixo da diagonal s
ao
k
armazenados na matriz A, onde se colocariam zeros (conforme utilizado no algoritmo da eliminacao
Gaussiana sem pivotamento). Isso e feito de forma a se poder obter, a partir do algoritmo acima,
a fatoracao LU da matriz A, conforme veremos na secao a seguir.
O exemplo abaixo mostra o funcionamento do algoritmo descrito acima:
Exemplo 4.1 Calcule a soluc
ao do sistema
2
3 6
10
x1
1 6
8 x2 = 13
x3
3 2
1
2
Solu
c
ao: Inicialmente, temos p = (1, 2, 3) (de acordo com o algoritmo) e s = (6, 8, 3) (verique,
por inspec
ao). A cada passo, temos:
k
1
p
i
z
(3, 2, 1) 2 0, 3333
3 0, 6667
0, 6667
4, 3333 6, 6667
11, 3333
7, 6667 b = 12, 3333
A = 0, 3333 5, 3333
3, 0000 2, 0000
1, 0000
2, 0000
k
2
j
3
j
p
i
3 (3, 1, 2) 3
z
1, 2308
0, 6667
4, 3333 6, 6667
11, 3333
A = 0, 3333 1, 2308 0, 5385 b = 1, 6154
3, 0000 2, 0000
1, 0000
2, 0000
Uma vez efetuada a eliminac
ao, procede-se ao c
alculo das inc
ognitas:
i=3 :
i=2 :
i=1 :
4.3.2
1, 6154
=3
0, 5385
11, 3333 (20)
p2 = 1, x2 =
=2
4, 3333
2 (1)
p1 = 3, x1 =
=1
3
p3 = 2, x3 =
Elimina
c
ao Gaussiana e a Fatora
c
ao LU
Conforme visto na secao anterior, o algoritmo de eliminacao Gaussiana com pivotamento e escalonamento produz, de forma implcita, uma matriz triangular inferior, uma matriz triangular
superior e um vetor de permutacao. Como essas matrizes foram obtidas por transformacoes sobre
a matriz A original, podemos de alguma forma relacion
a-las entre si.
Primeiramente, analisemos o vetor de permutacao; seus elementos indicam qual linha foi
trocada com outra, i.e., se pj = k, isso signica que a linha j foi trocada com a linha k. Essa
permutacao pode ser expressa, tambem, atraves de uma matriz de permutacao, P , a qual tem
como elementos apenas o 0 e o 1. No exemplo mostrado na secao anterior, obtemos p = (3, 1, 2)
ao m; ou seja, a linha 3 est
a no lugar da linha 1; a linha 1 est
a no lugar da linha 2 e, por m, a
linha 2 est
a na linha 3. A matriz de permutacao correspondente e
0 0 1
P = 1 0 0 .
0 1 0
67
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
0 0
1 0
0 1
PA
=
1
2
3 6
0 1 6
8 =
0
3 2
1
=
LU
1
0 0
3
0, 6667
1 0 0
0, 3333 1, 2308 1
0
3 2
1
2
3 6
1 6
8
2
1
4, 3333 6, 6667
0 0, 5385
= Pb
Ux
= y
68
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
4.3.3
69
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Como n 1 linhas s
ao processadas dessa forma, temos um total de n(n 1) n2 operacoes para
a primeira coluna.
Para as demais colunas, note que o mesmo raciocnio acima e valido, mas e como se a matriz
diminusse de uma linha e uma coluna a cada novo valor de k. Assim, para todos os n 1 piv
os
a serem calculados, teremos:
n2 + (n 1)2 + . . . + 32 + 22 =
1
1 3 1 2 1
1
n + n + n 1 n3 + n2
3
2
6
3
2
a qual e obtida usando nk=1 k 2 = 16 n(n + 1)(2n + 1).
Para se corrigir o termo independente b, gasta-se n 1 operacoes, depois n 2, e assim
sucessivamente, de onde
(n 1) + (n 2) + . . . + 1 =
1 2 1
n n.
2
2
1 2 1
n + n
2
2
operacoes.
Combinando todas as expressoes, podemos dizer que, para se resolver m sistemas de equacoes
lineares Ax(i) = b(i) , usando a fatoracao LU , apresenta um custo computacional de aproximadamente
1
1 3
n +
+ m n2
3
2
o que mostra que e mais eciente efetuar a fatoracao LU apenas uma vez, e depois resolver os m
sistemas lineares, do que se resolvessemos cada sistema independentemente, pois o custo, nesse
caso, seria da ordem de 13 mn3 .
4.3.4
Resolu
c
ao de sistemas com m
ultiplos termos independentes
C
alculo da inversa de uma matriz
Uma dessas situacoes e o calculo da inversa de uma matriz. Note que tal calculo n
ao e realizado
com o m de se resolver um sistema de equacoes (utilizando-se a relacao x = A1 b; aplicacoes
que envolvam certas decomposicoes de matrizes exigem que se escreva um vetor v como XDX 1 ,
onde X e D sao matrizes.
Seja entao a matriz A, cuja inversa A1 e desejada. Como, por denicao, o produto entre uma
matriz e a sua inversa e a matriz identidade I,
AA1 = I
(4.6)
(4.7)
70
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
(i)
0
(4.8)
Ly = P
.
..
0
e
U (X)1 = y (1)
(4.9)
e a segunda coluna e obtida como
Ly
(2)
=P
1
0
..
(4.10)
0
e
U (X)2 = y (2)
(4.11)
e as demais colunas sao obtidas similarmente. Note que, computacionalmente, basta usar apenas
um vetor y, sendo o mesmo reutilizado a cada novo sistema resolvido.
Exemplo 4.2 Obtenha a inversa da matriz
10 10 20
A = 10 10 10
20 10 10
Solucao: Aplicando-se o algoritmo 4.3.3, obtemos os fatores L, U e P :
1
0 0
L = 0, 5 1 0
0, 5 1 1
20 10 10
5
5
U = 0
0
0
10
0 0 1
P = 0 1 0
1 0 0
Agora, aplica-se o algoritmo 4.3.4 usando-se como termo independente o vetor (1, 0, . . . , 0)T ,
i.e., resolve-se
1
Ly (1) = P 0
0
1
0 0
0
0, 5 1 0 y (1) = 0
0, 5 1 1
1
0
(1)
y
= 0
1
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
71
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
e
U (X)1
20 10 10
0
5
5 (X)1
0
0
10
(X)1
y (1)
0
0
1
0
0, 1
0, 1
Ly (2)
1
0
0, 5 1
0, 5 1
0
0 y (2)
1
y (2)
0
= P 1
0
0
= 1
0
0
= 1
1
e
U (X)2
20 10 10
0
5
5 (X)2
0
0
10
(X)2
y (2)
0
1
1
0, 1
0, 3
0, 1
Ly (3)
1
0
0, 5 1
0, 5 1
0
0 y (3)
1
y (3)
0
= P 0
1
1
= 0
0
1
= 0, 5
0
U (X)3
20 10 10
0
5
5 (X)3
0
0
10
(X)3
y (3)
1
0, 5
0
0, 1
0, 1
0
72
Introduca
o ao C
alculo Numerico
Assim, A1 e dada por
Resoluc
ao de Sistemas de Equac
oes Lineares
A1
0
0, 1
0, 1
= X = 0, 1 0, 3 0, 1
0, 1
0, 1
0
10 10 20
0 0, 1 0, 1
10 10 10 0, 1 0, 3 0, 1
20 10 10
0, 1 0, 1 0
4.4
= I
0 0
1 0 .
0 1
1
= 0
0
Resolu
c
ao Iterativa de Sistemas de Equa
c
oes Lineares
10
12
14
16
0
8
10
nz = 64
12
14
16
Estrutura da matriz U
10
10
12
12
14
14
16
16
0
8
10
nz = 67
12
14
16
8
10
nz = 67
12
14
16
73
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Uma outra razao, que justica o uso de metodos iterativos (ver [13]), e o fato de seu custo
computacional ser proporcional a n2 (e, `as vezes, ate mesmo a n), o que os torna bastante
competitivos, se comparados a um metodo direto (cujo custo e proporcional a n3 ).
4.4.1
Como todo processo iterativo, e necessario saber quando se alcancou a convergencia do processo
em nosso caso, obteve-se uma estimativa xk que aproxima sucientemente x = A1 b. Fazendo
uma analogia com o metodo da bisseccao (ver secao 2.2), onde se detectava a convergencia quando
o comprimento do intervalo era menor do que uma toler
ancia pre-especicada, aqui vamos tambem
calcular um comprimento de um vetor (em IRn ).
Para se calcular esse comprimento, utiliza-se uma norma. Uma norma de um vetor x pertencente a um espaco vetorial V e uma funcao || x || : V IR+ que obedece aos seguintes
postulados:
|| x || > 0, se x = 0, x V
|| x || = | | || x ||,
|| x + y || || x || + || y ||
se IR, x V
se x, y V (desigualdade triangular)
n
12
x2i
(4.12)
i=1
onde x = (x1 , x2 , . . . , xn )T . Particularmente, em IR2 , temos || x ||2 = x21 + x22 , que e a expressao
para a dist
ancia de um ponto com coordenadas (x1 , x2 ) em relacao `a origem do sistema de eixos
cartesianos.
Existem outras normas que sao bastante usadas em calculos numericos, como a norma-l
n
|| x || = max | xi |
i=1
e a norma-l1,
|| x ||1 =
n
| xi |
(4.13)
(4.14)
i=1
as quais sao bem mais simples e menos onerosas de se calcular do que a norma Euclidiana.
4.4.2
Normas de matrizes
Uma vez especicada uma norma de um vetor, a norma matricial subordinada e denida como
|| A || = sup || Au || : u IRn , || u || = 1
(4.15)
x IRn
|| A || = max
i=1
n
| aij |
(4.16)
j=1
74
Introduca
o ao C
alculo Numerico
4.4.3
Resoluc
ao de Sistemas de Equac
oes Lineares
N
umero de condi
c
ao de uma matriz
Normas de vetores e de matrizes nos permitem avaliar o quao suscetvel a erros numericos ser
a
uma computacao empregando-se uma dada matriz A. Para tanto, suponha que se deseja resolver
o sistema Ax = b, onde A e n n e A1 existe.
Se A1 tem seus valores perturbados (isto e, ligeiramente modicados), gerando uma nova
matriz B, a solucao do sistema n
ao e mais x = A1 b mas x
= Bb. Essa perturbacao pode ser
medida em termos do comprimento do vetor x x
,
|| x x
|| = || x Bb || = || x BAx || = || (I BA)x || || I BA || || x ||
ou
|| x x
||
|| I BA ||
|| x ||
o que nos d
a uma nocao do erro relativo entre x e x
.
De forma an
aloga, suponha que b foi perturbado, gerando um novo vetor b. Se x e x
sao as
solucoes de Ax = b e A
x = b, podemos medir o erro absoluto entre x e x
escrevendo
|| x x
|| =
|| A1 b A1b || = || A1 (b b) ||
|| A1 || || b b ||
|| x x
||
|| x ||
|| A1 || || b b || = || A1 || || Ax ||
|| b b ||
|| b ||
|| b b ||
|| b ||
|| b b ||
|| A1 || || A || || x ||
|| A1 || || A ||
|| b ||
(4.17)
ao || A || = 2 + e || A1 || =
Usando a norma-l , ent
(A) =
2+
2
>
1
2 (2
1
1
+ ), de onde
4
.
2
Se 0, 01, ent
ao (A) 40000. Isso quer dizer que, se b sofrer uma pequena perturbac
ao, a
perturbaca
o relativa na soluc
ao do sistema Ax = b ser
a 40000 vezes maior!
Uma matriz que tenha um n
umero de condicao muito grande e dita mal-condicionada, e
pequenas variacoes nos valores de b induzir
ao um grande erro relativo no vetor solucao do sistema.
75
Introduca
o ao C
alculo Numerico
4.4.4
Resoluc
ao de Sistemas de Equac
oes Lineares
Qualquer solucao de um sistema linear deve ser considerada uma solucao aproximada, em virtude
de erros de arredondamento e outros. O metodo mais natural para determinacao da precisao de
uma solucao e vericar quao bem esta solucao satisfaz o sistema original, calculando o vetor resduo.
Se a solucao aproximada x
for uma boa aproximacao, pode-se esperar que cada componente de
r = b A
x seja pequeno, pelo menos em um conceito relativo. Ha sistemas de equacoes, contudo,
em que o resto nao proporciona uma boa medida da precis
ao da solucao. S
ao sistemas nos quais
pequenas alteracoes nos dados de entrada conduzem a mudancas signicativas na solucao. Estes
sao denominados sistemas inst
aveis ou mal-condicionados.
Exemplo 4.4 A soluca
o exata do sistema
x1 + x2 = 2
1, 01x1 + x2 = 2, 01
ao calculada fosse
e x1 = x2 = 1. Supondo que, devido a erros, a soluc
x1
x2
=
=
0
2, 005
o vetor resduo neste caso seria RT = [0, 005; 0, 005]. Entretanto, o erro em cada resposta, x1 e
x2 , e de aproximadamente uma unidade.
Por outro lado, os coecientes tambem podem conter erros. Supondo que algum tipo de erro
tenha mudado as equaco
es acima para
x1 + x2 = 2
1, 0001x1 + x2 = 2, 007
ate mesmo uma soluca
o bem diferente da anterior, como x1 = 100 e x2 = 98 produziria um
resduo bem pequeno, RT = [0; 0, 003].
Erros deste tipo, ao contr
ario daqueles causados pela acumulacao de erros de arredondamento,
n
ao podem ser evitados por uma programacao cuidadosa. Como, ent
ao, determinar quando um
problema e mal-condicionado?
76
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
linha de A pela raiz quadrada da soma dos quadrados dos elementos de cada linha,
a11 a12
a1n
1
1
a211
a22
a2n
|A|
2
2
2
norm| A | = .
..
.. =
..
..
1 2 . . . n
.
.
.
an1 an2 ann
n
(4.18)
a2i1 + a2i2 + . . . + a2in . Diz-se, entao, que uma matriz A e mal-condicionada se o
onde i =
n
umero norm| A | for pequeno, comparado com a unidade.
Exemplo 4.5 Seja a matriz
A=
1
1
1 1, 01
4.4.5
M
etodos iterativos
1 (x0 , A, b)
x2
=
..
.
=
2 (x0 , x1 , A, b)
xk
k (x0 , x1 , . . . , xk , A, b)
0 (A, b)
(4.19)
x1
xk
=
=
1 (x0 , A, b)
(xk2 , xk1 , A, b),
(4.20)
(4.21)
k = 2, 3, . . .
m+.
equacoes (4.19)-(4.21) e 2.
Um metodo iterativo e dito linear se todas as funcoes i sao funcoes lineares de x0 , x1 , . . .,
xn1 . Assim, um metodo iterativo estacion
ario linear de grau 1 pode ser expresso por
xk+1 = Gxk + f
(4.22)
77
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Para um metodo como em (4.22), podemos nos referir a um sistema linear relacionado,
(I G)x = f ;
(4.23)
(4.24)
isto e, x = (x, A, b), o que nos leva a escrever um processo iterativo, de aproximacoes sucessivas,
como
(4.25)
Qxk = (Q A)xk1 + b, k = 0, 1, . . .
A matriz Q deve ser escolhida de tal forma que se possa calcular rapidamente os xk e que a
seq
uencia x0 , x1 , . . . convirja rapidamente para a solucao x = A1 b.
A m de obter uma condicao necess
aria e suciente para que haja convergencia, reescrevemos
(4.25) como
(4.26)
xk = (I Q1 A)xk1 + Q1 b
A solucao x satisfaz a equacao
x = (I Q1 A)xk1 + Q1 b
(4.27)
x (I Q1 A)xk1 + Q1 b
(4.28)
(4.29)
|| (I Q1 A) || || (xk1 x) ||
|| (I Q1 A) ||2 || (xk2 x) ||
.
..
|| (I Q1 A) ||k || (x0 x) ||
de onde
lim || xk x || = 0,
se || (I Q1 A) || < 1
(4.30)
(4.31)
4.4.6
Refinamento iterativo
e0 = x x0
(4.32)
r0 = b Ax0 .
(4.33)
O vetor erro nos diz o quanto x0 esta distante de x, e o vetor resduo nos diz o quanto Ax0 esta
distante de b.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
78
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
(4.34)
(4.35)
rk = b Axk
resolve Aek = rk , k = 0, 1, . . .
(4.37)
xk+1 = xk + ek
O metodo do renamento iterativo e utilizado em conjunto com um metodo direto, como a
eliminacao Gaussiana. Tendo fatorado A no produto LU e obtido uma solucao x para Ax = b
(a qual pode n
ao ser muito boa, devido a erros de arredondamento), fazemos x0 = x
e renamos
essa solucao, usando (4.37), ate que xk seja sucientemente bom. Note que a fatoracao LU pode,
agora, ser utilizada para resolver Aek = (LU )ek = rk .
Se consideramos que a solucao obtida com a fatoracao LU de A n
ao foi exata, ent
ao podemos
dizer que U 1 L1 = B A1 . Usando a equacao (4.35), escrevemos
xk+1
xk + B(b Axk )
(4.38)
De onde podemos mostrar que o metodo converge para uma solucao: subtraindo x de ambos os
lados da equacao (4.38), temos
xk+1 x =
=
e, tomando normas de ambos os lados da igualdade acima, vem, pela desigualdade triangular:
|| xk+1 x ||
79
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
140 105 84 70 x =
105 84 70 60
875
539
399
319
cuja soluc
ao e o vetor x = (1, 1, 1, 1)T . Utilizando um computador com apenas 6 casas decimais
de precis
ao, obtemos como soluc
ao inicial, atraves da eliminac
ao Gaussiana, com pivotamento, o
vetor
x = (0, 999988, 1, 000137, 0, 999670, 1, 000215)T
Agora, dispondo dos fatores triangulares da fatorac
ao LU , podemos utilizar o algoritmo 4.4.1 e
obter:
x = (0, 999994, 1, 000069, 0, 999831, 1, 000110)T
x = (0, 999996, 1, 000046, 0, 999891, 1, 000070)T
x = (0, 999993, 1, 000080, 0, 999812, 1, 000121)T
x = (1, 000000, 1, 000006, 0, 999984, 1, 000011)T
4.4.7
M
etodo iterativo de Jacobi
c12 x2 + c13 x3 + d1
x1 =
x2 = c21 x1
+ c23 x3 + d2
x3 = c31 x1 + c32 x2
+ d3
onde
aij
, i = j
ii
0,
i=j
cij
di
= bi /aii
80
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
=
=
Cxk + d = D1 (D A)xk + D1 b =
(I D1 A)xk + D1 b, k = 0, 1, . . .
(4.40)
j=i
e, usando a norma-l,
|| I D
A ||
n
aij
= max
aii
1in
j=1
j=i
81
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
4 1 1
1 4
0
1 0
4
0 1 1
1
x =
1
4
0
1
1
0
cuja soluc
ao e x = (0, 1667, 0, 3333, 0, 3333, 0, 1667)T , usando o metodo de Jacobi com x0 =
T
(0, 0, 0, 0) a uma toler
ancia = 102 .
Solucao: Aplicando o metodo de Jacobi, obtemos
x1
x2
x3
x4
x5
x6
x7
x8
4.4.8
M
etodo iterativo de Gauss-Seidel
Analisando o metodo de Jacobi, ve-se que, a cada iteracao, produzem-se todos os elementos do
vetor xk+1 , usando apenas os elementos do vetor xk . No entanto, nada impede que, a` medida
82
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
que os elementos de xk+1 sao produzidos, eles possam ser utilizados para produzir os pr
oximos
elementos do pr
oprio xk+1 . O metodo de Gauss-Seidel faz exatamente isso.
De forma an
aloga ao metodo de Jacobi, escrevemos, para n = 3,
(4.44)
j=i
O criterio de parada, no entanto, deve ser calculado usando o resduo rk+1 = b Axk+1 , como
mostra o algoritmo 4.4.3.
Algoritmo 4.4.3 Metodo de Gauss-Seidel
proc gauss seidel(input: A, b, x0 , kmax , ; output: xk+1 )
for i = 1, 2, . . . , n do
qi a1
ii
endfor
t || q || || b ||
for i = 1, 2, . . . , n do
for j = 1, 2, . . . , n do
aij aij qi % sobrescreve A com D1 A
endfor
bi bi qi % sobrescreve b com D1 b
endfor
for k = 0, 1, . . . , kmax do
u xk
for i = 1, 2, .
. . , n do
ui b nj=1 aij uj
j=i
endfor
xk+1 u
rk+1 b Axk+1
if || rk+1 || < t then
break
endif
endfor
endproc
O exemplo 4.8 ilustra o comportamento tpico do metodo de Gauss-Seidel:
Exemplo 4.8 Resolva o sistema
4 1 1
1 4
0
1 0
4
0 1 1
1
x =
1
4
0
1
1
0
83
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
cuja soluc
ao e x = (0, 1667, 0, 3333, 0, 3333, 0, 1667)T , usando o metodo de Gauss-Seidel com
x0 = (0, 0, 0, 0)T a uma toler
ancia = 102 .
Solucao: Aplicando o metodo de Gauss-Seidel, obtemos
x1
x2
x3
x4
=
=
..
.
=
1
| a11 | (| a12
1
| a22 | (| a21
| + | a13 | + . . . + | a1n |
|S1 + | a23 | + . . . + | a2n |
1
| ann | (| an1
(4.45)
e, se
Si < 1,
1in
ent
ao o metodo de Gauss-Seidel ira convergir.
Exemplo 4.9 Para a matriz do exemplo 4.8, verique se o criterio de Sassenfeld e atendido.
Solucao: Calculando os valores de Si , temos:
S1
S2
S3
S4
1
(|
|4|
1
(|
|4|
1
(|
|4|
1
(|
|4|
1 | + | 1 |) = 0, 5 < 1
1 |0, 5 + | 1 |) = 0, 375 < 1
1 |0, 5 + | 1 |) = 0, 375 < 1
1 |0, 375 + | 1 |0, 375) = 0, 1875 < 1
1
1
1 3
x=
3
3
S2
1
(| 1 | = 1 < 1
|1|
1
(| 1 |1) = 0, 333 . . . < 1
| 3|
84
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
x1
x2
x3
x4
x5
x6
x7
x8
x9
x10
x11
Note que a dominancia diagonal de uma matriz e relacionada com a ordem em que as equacoes
se apresentam. Uma simples troca entre duas linhas pode ser desastrosa, como mostra o exemplo
a seguir.
Exemplo 4.11 Seja o sistema apresentado no exemplo 4.10, com as linhas trocadas entre si, i.e.
1 3
3
x=
1
1
3
Nesse caso, como a matriz do sistema n
ao e diagonal-dominante, o metodo de Gauss-Seidel
diverge, apresentando como primeiras estimativas os vetores
x0
x1
x2
x3
x8
x9
x20
4.4.9
Extrapola
c
ao de um m
etodo iterativo
Uma das formas de garantir e/ou acelerar a convergencia de um metodo iterativo e utilizar uma
tecnica de extrapolac
ao, a qual consiste em se combinar a correcao da estimativa xk dada pela
equacao governante do metodo iterativo com uma outra correcao, semelhante. Em termos das
funcoes , isso pode ser expresso como
k (x0 , x1 , . . . , xk , A, b), IR
xk+1 = k (x0 , x1 , . . . , xk , A, b) + (1 )
(4.46)
85
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
0<1
(4.47)
e, de forma an
aloga, temos o metodo das relaxac
oes sucessivas (SOR), uma variante do metodo
de Gauss-Seidel,
xk+1 = (Lxk+1 + U xk + d) + (1 )xk , 0 < < 2
(4.48)
Exemplo 4.12 Seja o sistema
2
1
0
1
1
2
1
0
0
1
2
1
0
x =
1
2
1
3
3
1
cuja soluc
ao e (0, 1, 1, 0)T . Utilizando-se o metodo JOR para resolve-lo, com = 0, 65, a uma
toler
ancia = 102 , obtemos:
x0
x1
x2
x3
x4
x5
4 1 1
1 4
0
1 0
4
0 1 1
1
x =
1
4
0
1
1
0
cuja soluc
ao e x = (0, 1667, 0, 3333, 0, 3333, 0, 1667)T . Utilizando-se o metodo SOR para resolvelo, com = 1, 1, a uma toler
ancia = 102 , obtemos:
x0
x1
x2
4.5
M
etodo do Gradiente
O metodo do gradiente e indicado para resolver um SELA onde A e uma matriz simetrica, positivodenida (SPD), i.e.
xT Ax > 0, x IRn
(4.49)
Uma outra caracterstica de matrizes SPD e que todos os seus autovalores sao estritamente
positivos.
O metodo baseia-se na relacao existente entre a solucao de um SELA e a minimizacao da forma
quadr
atica, quando A for SPD. Assim, inicialmente veremos o que e a forma quadr
atica e alguns
exemplos da mesma.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
86
Introduca
o ao C
alculo Numerico
4.5.1
Resoluc
ao de Sistemas de Equac
oes Lineares
Forma Quadr
atica
A forma quadr
atica e uma funcao vetorial f : n dada por
f (x) =
1 T
x Ax bT x + c
2
(4.50)
(4.51)
cuja solucao e x = (1, 1)T . A matriz de coecientes e SPD e a gura 4.5 mostra o gr
aco e as
curvas de nvel da forma quadr
atica correspondente (com c = 0). Note que o gr
aco da funcao
e um parabol
oide portanto, com apenas um ponto de mnimo e que aparentemente, o ponto
(1, 1) (ou seja, a solucao do sistema) e o ponto de mnimo da funcao.
J
a as guras 4.6-4.8 mostram outras situacoes possveis, dependendo dos valores dos elementos
de A (todos os sistemas tiveram xada a sua solucao em (1, 1) e os termos independentes foram
calculados adequadamente). Por exemplo, na gura 4.6, temos os gr
acos para a matriz negativodenida
2 1
1 2
aco e um parabol
oide invertido, com apenas um ponto
i.e., xT Ax < 0, x; note que a forma do gr
de m
aximo e a situacao oposta a` de uma matriz SPD.
Na gura 4.7, temos o caso em que a forma quadratica assume tanto valores negativos quanto
positivos o gr
aco da funcao e a chamada sela. A matriz em questao e
1 4
4 5
Finalmente, o gr
aco e as curvas de nvel para a forma quadr
atica exibidos na gura 4.8
correspondem a uma matriz quase-singular,
1
2
2 3, 8
a qual apresenta innitas solucoes ao longo da reta na base do gr
aco.
Para vericarmos se isso e verdade, vamos calcular f (x) = 0. Como f e uma funcao vetorial,
a sua derivada ou gradiente e dada por
x1 f (x)
x2 f (x)
(4.52)
f (x) =
.
..
xn f (x)
o qual representa um campo vetorial; para um dado ponto x, ele aponta na direcao de maior
variacao de f (x). O gr
aco de f (x) na gura 4.9 e tpico da situacao em que A e SPD:
Aplicando a equacao (4.52) a` (4.50), obtemos
f (x) =
1 T
1
A x + Ax b
2
2
(4.53)
e, se A e simetrica, A = AT , de onde
f (x) = Ax b.
Igualando f (x) a zero, obtemos Ax = b, ou seja, o sistema que queremos resolver. Portanto,
podemos dizer que
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
87
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Figura 4.5: Gr
aco de f (x) e suas curvas de nvel para A SPD.
Figura 4.6: Gr
aco de f (x) e suas curvas de nvel para A ND.
88
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Figura 4.7: Gr
aco de f (x) e suas curvas de nvel para A indenida.
Figura 4.8: Gr
aco de f (x) e suas curvas de nvel para A singular.
89
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
Figura 4.9: Gr
aco de f (x) para A SPD.
minimizar a forma quadr
atica f (x) = 12 xT AxbT x+c equivale a resolver o sistema
Ax = b se A for simetrica.
Se a matriz A e positivo-denida, alem de simetrica, ent
ao a solucao de Ax = b e o mnimo
(
unico) de f (x); logo, para A SPD, a solucao x = A1 b e o ponto x que minimiza f (x). Isso pode
ser mostrado como segue.
Suponha A simetrica, x um vetor que satisfaz Ax = b, y um vetor similar a x (em termos
geometricos, y e um ponto pr
oximo a x) e e = y x o vetor erro; ent
ao,
f (x + e) =
=
=
=
1
(x + e)T A(x + e) bT (x + e) + c
2
1
1 T
x Ax + eT Ax + eT Ae bT x bT e + c
2
2
1 T
1
x Ax bT x + c + eT b + eT Ae bT e
2
2
1 T
f (x) + e Ae
2
(4.54)
1
f (x + e) = f (x x + y) = f (y) = f (x) + (y x)T A(y x)
2
Agora, como A e SPD, por hip
otese, entao
(y x)T A(y x) > 0,
(4.55)
e, portanto, f (y) > f (x). Isso mostra que x e o mnimo de f (x), nesse caso.
4.5.2
Descri
c
ao do m
etodo do Gradiente
O gr
aco da forma quadr
atica, para A SPD, nos sugere uma estrategia para localizarmos a
solucao do sistema: basta escorregar ao longo das paredes do paraboloide, pois isso nos levara,
necessariamente, ao ponto de mnimo. A quest
ao que se coloca agora e: qual direc
ao devemos
oximo da solucao?
tomar, a partir de um xk , para obtermos um xk+1 que seja mais pr
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
90
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
=
=
f (x)
b Axk ... ek = xk x ...
=
=
(4.56)
(4.57)
A equacao (4.56) nos diz que o resduo tem a mesma direcao do gradiente, porem sentido oposto;
j
a a equacao (4.57) nos diz que o resduo e o vetor erro, transformado por A (e, portanto, no
mesmo espaco de b).
Suponha, ent
ao, que temos a seguinte situacao, conforme a gura 4.10. Como decidimos andar
ao longo do vetor resduo, a partir de x0 , a nova estimativa x1 e um ponto sobre a reta r0 , ou seja
x1 = x0 + 0 r0 ,
0 IR
(4.58)
O escalar 0 indica o deslocamento sobre r0 . Para determinar o melhor 0 ou seja, aquele para
o qual || x1 x || e mnimo derivamos f (x1 ) em relacao a 0 e igualamo-la a zero:
d
d
f (x1 ) = f (x1 )T
x1 = f (x1 )T r0
d0
d0
(4.59)
Note que f (x1 )T r0 e o produto escalar entre os vetores f (x1 ) e r0 . Como o produto escalar e
dado por
uT v = || u || || v || cos
onde e o angulo formado entre os vetores u e v, ao igualarmos f (x1 )T r0 a zero, estamos exigindo
que os vetores f (x1 ) e r0 sejam ortogonais entre si. Como f (x1 ) = r1 , isso implica que dois
resduos sucessivos sao ortogonais entre si; a gura 4.11 mostra tres situacoes tpicas para a solucao
do sistema (4.51), com as seq
uencias de resduos (representados pelas retas) gerados pelo metodo
do Gradiente a partir de tres diferentes estimativas iniciais.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
91
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
=
=
(b Ax1 )T r0
(b Ax0 0 Ar0 )T r0
=
=
0
0
(r0 0 Ar0 )T r0
de onde
0 =
r0T r0
r0T Ar0
(4.60)
O que signica minimizar f (x1 )? Os gracos mostrados na gura 4.12 mostram que, para 0
calculado conforme a equacao (4.60), a nova estimativa x1 corresponde ao mnimo da par
abola
obtida como se tivessemos cortado o parabol
oide f (x) por um plano vertical ao plano x y que
passa pela reta r0 !
Utilizando as equacoes (4.58) e (4.60), alem da expressao para o resduo, devidamente generalizadas para a k-esima iteracao, podemos escrever um algoritmo que descreve o metodo do
Gradiente. Antes, porem, note que
r1 = r0 0 Ar0
conforme obtido na derivacao da equacao (4.60); essa express
ao nos permite economizar um
produto matriz-vetor da forma Axk , pois Ark j
a tera sido calculado previamente para se obter k .
O algoritmo pode ser, ent
ao, escrito como segue.
92
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
T
rk
rk
Tw
rk
k
xk+1 xk + k rk
rk+1 rk k wk
if || rk+1 || < t then
break
endif
endfor
endproc
O exemplo seguinte ilustra o comportamento tpico do metodo do Gradiente:
Exemplo 4.14 Resolva o sistema
4 1 1
1 4
0
1 0
4
0 1 1
1
x =
1
4
0
1
1
0
cuja soluc
ao e x = (0, 1667, 0, 3333, 0, 3333, 0, 1667)T , usando o metodo do Gradiente com x0 =
T
ancia = 102 .
(0, 0, 0, 0) a uma toler
Solucao: Aplicando o metodo do Gradiente, obtemos
x1
x2
x3
x4
x5
x6
93
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
4.6
M
etodo das Direc
oes-Conjugadas
i IR
(4.61)
dTi (ei + i di )
= 0
dTi ei + i dTi di
= 0
de onde
i =
dTi ei
dTi di
(4.62)
94
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
0
0 ... por (4.56) e (4.61), vem
0 ... por (4.57), vem
dTi Aei+1 = 0
(4.63)
A equacao (4.63) nos diz que o vetor erro ei+1 , transformado para o espaco gerado pelas colunas de
A, e ortogonal a di . Quaisquer dois vetores u e v que satisfacam uT Av = 0 sao ditos A-ortogonais
entre si.
De posse da equacao (4.63), podemos determinar uma outra express
ao para i , a qual pode,
dessa vez, ser calculada:
dTi Aei
dTi Aei+1
i dTi Adi
= 0
i =
dTi Aei .
.. por (4.57), vem
dTi Adi
dTi ri
dTi Adi
(4.64)
n1
j dTk Adj
j=0
k dTk Adk
dTk Ae0
dTk Adk
(4.66)
x0 x
e1
x1 x = e0 + 0 d0 = x0 x + 0 d0 = e0 +
0
i di
i=0
95
Introduca
o ao C
alculo Numerico
e2
Resoluc
ao de Sistemas de Equac
oes Lineares
x2 x = e1 + 1 d1 = x0 x + 1 d1 + 0 d0 = e0 +
1
i di
i=0
..
.
..
.
..
ek
.
k1
i di
i=0
de onde
e0 = ek
k1
i di
(4.67)
i=0
dTk Aek
dTk Adk
(4.68)
= e0
k1
j dj
j=0
n1
j dj
j=0
n1
k1
j dj
j=0
j dj
(4.69)
j=k
A equacao (4.69) pode ser interpretada da seguinte forma: quando k = 0, i.e. na primeira iteracao,
todas as componentes de x estao erradas (em princpio), logo e0 e combinacao linear de todas as
direcoes de busca di . Na segunda iteracao, uma componente j
a foi corrigida ao longo da direcao
d0 e, portanto, o erro e1 so deve ter componentes diferentes de zero ao longo das direcoes d1 ,
d2 , . . ., dk1 . Procedendo com esse raciocnio ate en1 , vemos que o processo de se obter uma
componente correta de x a cada iteracao equivale a se eliminar a componente correspondente do
erro a cada iteracao.
Neste estagio, resta-nos determinar as direcoes di , de maneira que sejam A-ortogonais entre
si. Podemos obter tais direcoes se tomarmos um conjunto de vetores linearmente independentes
ui , e os A-ortogonalizarmos atraves de uma modicacao do processo de Gram-Schmidt. Para se
gerar um vetor di , subtraem-se de ui todas as componentes que nao sejam A-ortogonais aos i 1
vetores d anteriores, ou seja,
d0
di
= u0
i1
= ui + k=0
ik dk ,
i>0
(4.70)
= uTi Adj +
i1
k=0
96
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
uTi Adj
dTj Adj
(4.71)
dTi w
k
s s dk
endfor
di di + s
endfor
endproc
dT
k rk
dT
wk
k
xk+1 xk + k dk
rk+1 rk k wk
if || rk+1 || < t then
break
endif
endfor
endproc
O exemplo a seguir ilustra o comportamento tpico do metodo das Direcoes-Conjugadas:
97
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
4 1 1
1 4
0
1 0
4
0 1 1
1
x =
1
4
0
1
1
0
cuja soluc
ao e x = (0, 1667, 0, 3333, 0, 3333, 0, 1667)T , usando o metodo das Direc
oes-Conjugadas
com x0 = (0, 0, 0, 0)T a uma toler
ancia = 102 ; os vetores ui s
ao tomados como vetores
aleat
orios.
Solucao: Aplicando o metodo das Direc
oes-Conjugadas, obtemos
x1
x2
x3
x4
4.7
M
etodo dos Gradientes-Conjugados
i<j
(4.72)
uTi rj +
i1
ik dTk rj
(4.73)
k=0
0 =
uTi rj ,
i<j
(4.74)
de onde
dTi ri = uTi ri
(4.75)
Como os vetores ui sao tomados como os vetores resduo ri , a equacao (4.74) pode ser reescrita
como
(4.76)
riT rj = 0, i = j
De maneira semelhante ao utilizado no metodo do Gradiente, podemos obter uma f
ormula de
recorrencia para ri+1 ,
ri+1
=
=
Aei+1 = A(ei + i di ) =
Aei i Adi
98
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
de onde
ri+1 = ri i Adi
(4.77)
de onde
riT Adj
riT rj+1
j riT Adj
1 T
i ri ri ,
1
i1
riT ri ,
0,
ij =
i=j
i = j + 1,
c.c.
riT ri
1
,
i1 dT
Adi1
i1
i=j+1
0,
i>j+1
(4.78)
(4.79)
Devido a` A-ortogonalidade entre os vetores direcao e os resduos, a grande maioria dos termos
necessarios a` formulacao de ij pode ser descartada. Utilizando as equacoes (4.64), (4.75) e (4.76),
a equacao (4.79) pode ser simplicada ainda mais:
i
dTi1 Adi1
riT ri
riT ri
=
=
dTi1 ri1 dTi1 Adi1
dTi1 ri1
riT ri
T
ri1 ri1
(4.80)
(4.81)
T
rk
rk
dT
wk
k
xk+1 xk + k dk
rk+1 rk k wk
if || rk+1 || < t then
break
endif
rT
k+1
k+1 k+1
Tr
rk
k
dk+1 rk+1 + k+1 dk
endfor
endproc
99
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
4 1 1
1 4
0
1 0
4
0 1 1
1
x =
1
4
0
1
1
0
cuja soluc
ao e x = (0, 1667, 0, 3333, 0, 3333, 0, 1667)T , usando o metodo dos Gradientes-Conjugados
com x0 = (0, 0, 0, 0)T a uma toler
ancia = 102 .
Solucao: Aplicando o metodo dos Gradientes-Conjugados, obtemos
x1
x2
4.8
Exerccios
(b)
1
5
1, 5 7, 501
e diga se s
ao bem ou mal-condicionadas.
Exerccio 4.3 Calcule o n
umero de condic
ao das matrizes do exerccio 4.2, sabendo que as suas
inversas s
ao dadas de forma aproximada, respectivamente, por
184, 568 382, 727
7501 5000
(a)
, (b)
210, 872 434, 897
1500 1000
Exerccio 4.4 Resolva o sistema
10x1 + x2 + x3 = 12
x1 + 10x2 + x3 = 12
x1 + x2 + 10x3 = 12
100
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes Lineares
3
0 1
1
1 1 0 x = 2
3
1 1
5
n
ao e diagonal-dominante, apesar do criterio de Sassenfeld ser satisfeito.
Exerccio 4.8 Explique o que acontece com a aplicac
ao do metodo de Gauss-Seidel ao sistema
1 1 1
1
2 2 2 x = 2 .
5 5 5
5
Exerccio 4.9 Utilize o metodo do Gradiente e resolva o sistema do exerccio 4.8; explique o que
ocorre.
Exerccio 4.10 Utilize o metodo dos Gradientes-Conjugados e resolva o sistema do exerccio 4.8;
explique o que ocorre.
Exerccio 4.11 Mostre, utilizando o sistema
2 1
10
x=
1
2
10
que o metodo das Direc
oes-Conjugadas equivale ao metodo da eliminac
ao Gaussiana, se as direc
oes
tomadas s
ao os vetores u1 = (1, 0)T e u2 = (0, 1)T .
Exerccio 4.12 Resolva o sistema
106
1
1
1
x=
1
1
101
Captulo 5
Resolu
c
ao de Sistemas de
Equac
oes N
ao-Lineares
5.1
Introdu
c
ao
f1 (x1 , x2 , . . . , xn ) = 0
f2 (x1 , x2 , . . . , xn ) = 0
..
fn (x1 , x2 , . . . , xn ) = 0
(5.2)
Pode-se armar que todas as consideracoes apresentadas no Captulo 2 para o metodo de NewtonRaphson s
ao tambem validas para esse caso. No entanto, a solucao de (5.1) e bem mais difcil,
requerendo uma serie de cuidados adicionais (ver [5]).
5.2
M
etodo de Newton
Como visto na secao 2.4, o metodo de Newton-Raphson e uma linearizacao da funcao f (x) no
ponto x = xk . Essa ideia deve ser estendida para o presente caso, como veremos a seguir.
Considerando ent
ao o sistema (5.1), podemos escrever as expansoes em Taylor (apenas ate os
termos de primeira ordem) de cada funcao fi em (5.2) como
f1
f1
f1
0 = f1 (x1 + h1 , x2 + h2 , . . . , xn + hn ) f1 (x1 , x2 , . . . , xn ) + h1 x1 + h2 x2 + . . . + hn xn
..
.
fn
fn
n
0 = fn (x1 + h1 , x2 + h2 , . . . , xn + hn ) fn (x1 , x2 , . . . , xn ) + h1 f
x1 + h2 xn + . . . + hn xn
(5.3)
ou, em termos matriciais:
f1 (x1 , x2 , . . . , xn )
..
+
.
fn (x1 , x2 , . . . , xn )
f1
x1
..
.
fn
x1
...
..
.
...
f1
xn
..
.
fn
xn
F (x) + J(x)h = 0
102
h1
..
. =
hn
0
..
.
0
(5.4)
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
onde J(x) e a matriz Jacobiana de F (x). Ora, para obtermos o vetor h = (h1 , h2 , . . . , hn ), devemos
resolver o sistema de equacoes lineares
J(x)h = F (x)
(5.5)
(k+1)
(k)
(k)
x1
x1
h1
. .
..
= . + .
(5.6)
.
. .
(k+1)
xn
(k)
xn
(k)
hn
conforme [9, pp. 80], onde ej e o vetor canonico de n elementos, h = e e o epsilon da maquina
(vide Captulo 1).
O metodo de Newton para sistemas de equacoes nao-lineares pode, entao, ser descrito conforme
ancias pre-especicadas.
o algoritmo 5.2.1, onde r e a sao duas toler
Algoritmo 5.2.1 Metodo de Newton para sistemas de equac
oes
n
ao-lineares
proc newton(input: x0 , r , a , kmax ; output: xk+1 , k)
F0 = || F (x0 ) ||
for k = 0, 1, . . . , kmax do
Calcule J(x(k) )
Resolva o sistema J(x(k) )h(k) = F (x(k) )
x(k+1) x(k) + h(k)
if || F (x(k) || < r F0 + a then
break
endif
Calcule F (x(k+1) )
endfor
endproc
Os exemplo a seguir ilustram como utilizar o metodo de Newton.
Exemplo 5.1 Sejam as equac
oes
f (x, y) =
g(x, y) =
sen(y)ex x2
cos(y)ex x3
103
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
cos(y)ex
sen(y)ex
Assim, utilizando como estimativa inicial o vetor x0 = (x, y) = (0, 0)T , obtemos a seguinte
seq
uencia de valores para o metodo de Newton, conforme o algoritmo 5.2.1:
0
F0 =
1
0 1
J0 =
1 0
1
h0 = J01 F0 =
0
1
x1 = x0 + h0 =
0
1
F1 =
0, 6321
2 0, 3679
J1 =
3, 3679
0
0, 1877
h1 = J11 F1 =
1, 6979
0, 8123
x2 = x1 + h1 =
1, 6979
0, 2196
F2 =
0, 5923
2, 0649 0, 0563
J2 =
1, 9233 0, 4403
0, 0791
h2 = J21 F2 =
0, 9996
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
104
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
x3
F3
J3
h3
x4
F4
J4
h4
x5
F5
J5
h5
x6
F6
0, 7332
x2 + h2 =
0, 6982
0, 2288
0, 0262
1, 7752
0, 3680
1, 9807 0, 3088
0, 0629
1
J3 F3 =
0, 3184
0, 6709
x3 + h3 =
1, 0166
0, 0144
0, 0320
1, 7756
0, 2692
1, 6172 0, 4350
0, 0123
1
J4 F4 =
0, 0279
0, 6588
x4 + h4 =
0, 9888
0, 3810
3
10
0, 2395
1, 7487
0, 2847
1, 5837 0, 4926
0, 1930
1
3
J5 F5 = 10
0, 1529
0, 6578
x5 + h5 =
0, 9889
0, 2585
7
10
0, 8432
ou seja, ap
os 6 iterac
oes, o valor de F (x6 ) e considerado pequeno o suciente, e x = 0, 6578 e
y = 0, 9889 bastante pr
oximos da estimativa para a soluc
ao conforme o gr
aco na gura 5.1.
Obviamente, poderamos ter acelerado consideravelmente o processo utilizando como estimativa
inicial o vetor x0 = (0, 7, 1).
O mesmo n
umero de iterac
oes e alcancado se utilizarmos a aproximac
ao numerica da matriz
Jacobiana dada pela equac
ao (5.7).
Exemplo 5.2 Considere o problema de intersecc
ao de uma reta que passa pelos pontos q0 e q1
em R3 ,
u, v IR
S (u, v)
r (t) = 0
Se q0 = (5, 5, 0), q1 = (5, 5, 0), p0 = (0, 0, 0), p1 = (0, 0, 10) e p2 = (10, 0, 0), mostre como se
comporta o metodo de Newton nesse caso.
aveis a
Solu
c
ao: Note que S (u, v) e
r (t) s
ao func
oes vetoriais em R3 . Como temos tres vari
105
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
(au + bv ct + p0 q0 )x
F = (au + bv ct + p0 q0 )y
(au + bv ct + p0 q0 )z
onde a = p1 p0 , b = p2 p0 e c = q1 q0 , temos que a matriz Jacobiana de F e constante,
ax bx cx
J = ay by cy
az bz cz
e, para os valores xados, temos
0 10 0
0 0 10
J =
10 0 0
5
F0 = 5
0
0 10 0
0 0 10
J0 =
10 0 0
0
h0 = J01 F0 = 0, 5
0, 5
0
x1 = x0 + h0 = 0, 5
0, 5
0
F1 = 0
0
como era esperado, dada a natureza linear do problema. Cabe ressaltar, no entanto, que uma
formulac
ao semelhante deve ser usada para problemas onde S (u, v) e n
ao-linear.
3
v
B 3 (u, v) = u u2 u 1 N P N T
v , , 0 u, v 1
1
onde N e uma matriz dada por
1 Na
1
3 3 1
3 6
3 0
3
3
0 0
1
0
0 0
verdade, n
ao se utilizaria tal metodo para se resolver esse problema; ele e u
til apenas para fins de ilustrac
ao.
106
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
e P IR3 e uma matriz que contem 16 pontos de controle que governam o desenvolvimento da
superfcie.
Um ponto da superfcie e dado por tres polin
omios bic
ubicos em u e v tais que, se os pontos
de controle s
ao ordenados como
P 2,0 P 2,1 P 2,2 P 2,3
ent
ao, para u = 0 e v = 0, B 3 (0, 0) = P0,0 ; para u = 0 e v = 1, B 3 (0, 1) = P0,3 ; B 3 (1, 0) = P3,0
e B 3 (1, 1) = P3,3 .
Considere, ent
ao, o problema de intersecc
ao de um segmento de reta com origem no ponto
(100, 5, 5) e vetor direc
ao (1, 0, 0),
t IR
ao
com a superfcie B 3 (u, v), onde os pontos de controle s
0 0 0 0
10 10 10 10
Px =
20 20 20 20
30 30 30 30
0 5 5 0
5 10 10 5
Py =
5 10 10 5
0 5 5 0
0 0
0 0
10 10 10 10
Pz =
20 20 20 20
30 30 30 30
de onde a func
ao F pode ser escrita como
100
F0 = 5
5
30 0 1
J0 = 15 15 0
30 0 0
0, 1667
h0 = J01 F0 = 0, 1667
95
0, 1667
x1 = x0 + h0 = 0, 1667
95
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
107
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
F1
J1
h1
x2
F2
J2
h2
0
0, 8333
0
30 0 1
10 10 0
30 0 0
0
J11 F1 = 0, 0833
0
0, 1667
x0 + h0 = 0, 2500
95
0
0, 1042
0
30
0 1
10 7, 5 0
30
0 0
0
J21 F2 = 0, 0139
0
108
Introduca
o ao C
alculo Numerico
Resoluc
ao de Sistemas de Equac
oes N
ao-Lineares
x3
=
..
.
F5
J5
h5
x6
0, 1667
x0 + h0 = 0, 2639
95
0
105 0, 2494
0
30
0 1
10 7, 0711 0
30
0 0
0
J51 F5 = 106 0, 3527
0
0, 1667
x0 + h0 = 0, 2643
95
ao do problema de intersecc
ao, de acordo com a toler
ancia especicada.
onde x6 e a soluc
5.3
Exerccios
Exerccio 5.1 Considere o exemplo 5.2, com q0 = (5, 5, 0), q1 = (15, 0, 0), p0 = (0, 0, 0), p1 =
(0, 0, 10) e p2 = (10, 0, 0). Explique o que acontece.
Exerccio 5.2 Uma esfera de raio r e centro (cx , cy , cz ) pode ser denida, de forma parametrica,
como
(r cos() cos() + cx , r cos()sen() + cy , rsen() + cz )
Exerccio 5.3 Compare o processo numerico utilizado para resolver o exerccio 5.2 com a soluc
ao
do mesmo problema, obtida de forma algebrica. ( Dica: utilize a equacao da reta na forma
parametrica
o +t
u e substitua na equacao implcita da esfera, (xcx )2 +(y cy )2 +(z cz )2 = r2 ,
e isole t.)
Exerccio 5.4 Utilize a formulaca
o apresentada no exemplo 5.3, para a reta (100, 20, 5)+t(1, 0, 0).
Explique o que acontece.
Exerccio 5.5 Resolva o sistema
0, 1x2 x + 0, 1y 2 + 0, 8 = 0
0, 1x y + 0, 1xy 2 + 0, 8 = 0
x2 + y 2 = 2
x2 y 2 = 1
usando x0 = y0 = 1.
109
Captulo 6
Autovalores e Autovetores
6.1
Introdu
c
ao
Neste captulo, apresentaremos alguns dos metodos utilizados para a solucao do problema do
autovalor, i.e., o sistema de n equacoes lineares
Ax = x
(6.1)
para o qual procuramos um vetor solucao x tal que xi = 0 para pelo menos algum i, ou seja, uma
solucao n
ao-trivial. Para que tal seja possvel, e necessario que
det(A I) = 0
(6.2)
1
x.
(6.3)
Essa u
ltima equacao nos diz que 1 e autovalor de A1 , onde e um autovalor de A, com o
autovetor x correspondente.
Problemas envolvendo autovalores e autovetores surgem em in
umeras aplicacoes, como podemos ver nos exemplos que seguem, conforme apresentados em [6].
110
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
qual e aplicada uma forca F nas extremidades (cf. a gura 6.1) e no qual desconsidera-se a ac
ao
da gravidade. As partculas encontram-se a dist
ancias iguais entre si e as vibrac
oes das mesmas
s
ao consideradas pequenas e perpendiculares a
` posic
ao de descanso do o. Escrevendo as equac
oes
m1
=
=
=
=
x2 x1
x1
+F
h
h
x3 x2
x2 x1
+F
F
h
h
x3 x4
x3 x2
F
F
h
h
x4
x3 x4
F
+F
h
h
F
Introduzindo a notac
ao
x
di
= (x1 , x2 , x3 , x4 )T
mi h
, i = 1, 2, 3, 4
=
F
D=
d2 x
= Tx
dt2
(6.4)
d1
d2
d3
d4
e T e a matriz tridiagonal
2
1
0
0
1 2
1
0
.
T =
0
1 2
1
0
0
1 2
111
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
i = 1, 2, 3, 4
(6.6)
para as freq
uencias de vibracao w1 , w2 , w3 e w4 e os modos normais correspondentes, i.e., os
autovetores x1 , x2 , x3 e x4 .
Aparentemente, se isolarmos x no lado direito da equac
ao (6.6), obteramos o que se chama
de problema generalizado do autovalor, cuja forma geral e
(A B)x = 0
onde A e B s
ao matrizes de ordem n. Porem, se introduzirmos o vetor
y = D1/2 x
o que e possvel, j
a que os elementos da diagonal de D s
ao positivos, por denic
ao, ent
ao podemos
escrever (6.6) como
D1/2 T D1/2 yi = wi2 yi
o qual recai na forma 6.1.
Exemplo 6.2 A teoria de Leontief sobre a compra e a venda de produtos e muito utilizada no
campo de estudo da macroeconomia; como exemplo, consideramos as vendas e compras de produtos
num setor industrial.
Seja bij as vendas da ind
ustria i para a ind
ustria j; bii representa os bens produzidos pela
ind
ustria i e retidos por ela pr
opria. As vendas de bens da ind
ustria i para o mercado e denotada
ao,
por yi e o total de bens produzidos por xi . Ent
bij
(6.7)
xi = yi +
j
(6.9)
(6.10)
112
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
onde D e uma matriz diagonal de ordem n, cujos elementos dii representam os coecientes de
reacao das ind
ustrias.
A equac
ao (6.10) substitui nesse caso a equac
ao (6.8) e representa o comportamento din
amico
do sistema econ
omico em estudo. Uma das quest
oes a serem estudadas, nesse caso, e se o sistema
e est
avel, determinando-se os autovalores e autovetores da matriz D(A I). Particularmente,
procura-se determinar se esses autovalores tem parte real positiva pois, como as soluc
oes do
a
sistema de equaco
es diferenciais (6.10) s
ao da forma ei t , isso indicaria uma instabilidade, j
que a demanda x(t) cresceria exponencialmente com o tempo.
A seguir, apresentaremos dois importantes teoremas, os quais nos permitir
ao desenvolver
tecnicas de determinacao de autovalores e autovetores para um tipo especco de matrizes.
6.2
n
|aij |,
i = 1, 2, . . . , n.
j=1
j=i
Seja D a uni
ao de todos os discos di . Ent
ao, todos os autovalores de A encontram-se contidos em
D.
Prova: Seja um autovalor de A e x um autovetor correspondente, tal que maxi | xi | = 1. Ent
ao,
x = Ax
de onde
( aii )xi =
n
aij xj ,
i = 1, 2, . . . n
j=1
j=i
n
| akj || xj |
j=1
j=i
n
| akj | = rk
j=1
j=i
1
0 1
4 1
A = 1
1 2 10
tem como seus autovalores 1 = 10, 3863, 2 = 3, 8037 e 3 = 0, 8100. Calculando os discos de
Gerschgorin, temos:
d1
= |z 1| < |0| + | 1| = 1
d2
d3
= |z 4| < | 1| + | 1| = 2
= |z 10| < | 1| + | 2| = 3
113
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
= max{aii + ri },
i
i = 1, 2, . . . , n
(6.11)
e o maior disco e justamente aquele com centro ( + )/2 e raio ( + )/2. No caso em que todos
os autovalores s
ao reais, basta ent
ao considerar o intervalo [, ].
Teorema 6.2.2 Maior e menor autovalor: Seja A uma matriz real simetrica de ordem n, e
x IC um vetor arbitr
ario. Ent
ao,
1 = max
x=0
xT Ax
,
xT x
n = min
x=0
xT Ax
xT x
onde os autovalores s
ao ordenados tais que 1 2 . . . n .
A razao
xT Ax
, x = 0
(6.12)
xT x
e chamada de quociente de Rayleigh correspondente a x e, juntamente com o teorema 6.2.2, nos
permitir
a estimar de forma bastante r
apida um autovalor de uma matriz simetrica, conforme
veremos na secao 6.5.
114
Introduca
o ao C
alculo Numerico
6.3
Autovalores e Autovetores
C
alculo de autovalores e autovetores via determinantes
J
a vimos que, por denicao, os autovalores de uma matriz A sao as razes do polin
omio caracterstico de A. Evidentemente, para matrizes de ordem n > 4, n
ao e aconselhavel que se utilize a
equacao (6.2) para se obter o polinomio caracterstico, por duas raz
oes:
1. o calculo de determinantes de ordem superior a 4 envolve consider
avel custo computacional;
2. o polin
omio caracterstico de uma matriz grande pode ser instavel numericamente.
No entanto, algumas aplicacoes de engenharia, fsica e outros campos do conhecimento envolvem
a determinacao de autovalores de matrizes de ordem n = 2 ou n = 3 e, nesse caso, e possvel obterse os autovalores extraindo as razes do polin
omio caracterstico, conforme mostra o exemplo a
seguir.
Exemplo 6.4 Seja a matriz
2
5
3 4
O seu polin
omio caracterstico e
2
5
p() = det(A I) =
3
4
= (2 )(4 ) 15
ao 1 = 3, 8990 e 2 = 5, 8990.
ou p() = 2 + 2 23, cujas razes s
Para se determinar os autovetores, utiliza-se a equacao (6.1) para cada autovalor i , na forma
(A i I)xi = 0, como segue:
Exemplo 6.5 Calcule os autovetores do exemplo 6.4.
Solucao: Para o autovalor 1 = 3, 8990, escrevemos
(A 3, 8990I)x1
7, 8990
5
(x1 )1
(x1 )2
3 1, 8990
de onde obtemos
x1 =
k
1, 5798k
=
=
0
0
0
k = 0
(A + 5, 8990I)x1 =
1, 8990
5
(x2 )1
=
(x2 )2
3 7, 8990
de onde obtemos
x2 =
k
0, 3798k
0
0
0
k = 0
115
Introduca
o ao C
alculo Numerico
6.4
Autovalores e Autovetores
Em muitas aplicacoes surgem matrizes tridiagonais simetricas, das quais necessitamos extrair
autovalores e/ou autovetores. Por exemplo, ao aproximarmos a equacao diferencial parcial
2u
u
=
t
x2
por diferencas nitas, obtemos uma matriz
2
1
0
0
1 2
1
0
0
1 2
1
0
0
1 2
a qual apresenta aquela caracterstica.
De forma geral, consideramos uma matriz
a1 b 1
b 1 a2
T = 0 ...
. .
.. . .
0 ...
T de ordem n,
0
..
.
..
..
.
0
...
0
..
..
.
.
..
.
0
..
. bn1
bn1
an
a1
a1 b 1
T 1 = a1 , T 2 =
, T3 = b1
b 1 a2
0
b1
a2
b2
(6.13)
0
b2 ,
a3
...
det(T1 I) = a1
(6.14)
b21
b21
=
=
(6.16)
r = 2, 3, . . . , n,
p0 () = 1,
(6.17)
116
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
O teorema 6.4.1 e extremamente importante: ele nos diz que, se tivermos os n autovalores
de uma matriz triadiagonal Tn (de ordem n), ent
ao entre cada par de autovalores consecutivos
(com excecao do menor e do maior), existe um e apenas um autovalor da matriz tridiagonal
Tn+1 (de ordem n + 1), obtida acrescentando-se uma linha e uma coluna `a matriz Tn . Devido a`
essa caracterstica, podemos utilizar o algoritmo da bisseccao (ver algoritmo 2.2.1), juntamente
com a equacao (6.17), para obtermos rapidamente, e com seguranca, um autovalor de Tn+1 , a`
partir de um intervalo que e um par de autovalores consecutivos de Tn .
Para obter-se o menor e o maior autovalores de Tn+1 , utilizamos o teorema de Gerschgorin mais especicamente, calculamos o maior intervalo que engloba todos os autovalores, com a equacao (6.11). Assim, o menor autovalor e calculado usando-se como estimativa inicial para o metodo
da bisseccao o intervalo [, r1 ]; para o maior autovalor, utiliza-se o intervalo [1 , ].
Os algoritmos 6.4.1, 6.4.2 e 6.4.3 combinam as ideias apresentadas acima. Da maneira como o
algoritmo 6.4.3 e apresentado, todos os autovalores s
ao obtidos; no entanto, simples modicacoes
do mesmo nos permitem obter apenas alguns autovalores (por exemplo, o maior e o menor, ou os
dois maiores, etc.).
O exemplo 6.6 demonstra uma situacao tpica, resolvido utilizando-se esses algoritmos.
Algoritmo 6.4.1 Avalia polin
omio caracterstico de uma matriz
tridiagonal simetrica
function pol carac trid(input: x, a, b; output: p)
% a e b s
ao os vetores contendo os elementos da
% diagonal e subdiagonal, respectivamente,
% da matriz tridiagonal
p0 1
p 1 a1 x
p p1
for r 2, 3, . . . , n do
p (ar x)p1 b2r1 p0
p0 p1
p1 p
endfor
endfunction
117
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
vw
else
uw
endif
k k+1
endwhile
endif
endproc
118
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
de
uma
matriz
tridiagonal
endfor
endproc
Exemplo 6.6 Seja a matriz tridiagonal
2 1
1
2 1
T =
1
2 1
1
2
b = (1, 1, 1)T
119
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
6.5
M
etodos para aproxima
c
ao de autovalores e autovetores
Em muitas aplicacoes, nao e necessario obter-se todos os autovalores; e comum desejar-se, por
exemplo, obter apenas o maior autovalor e seu correspondente autovetor. Os metodos apresentados
nessa secao sao indicados para o caso em que apenas um dos autovalores (e seu autovetor) necessita
ser calculado. Particularmente, tais metodos s
ao iterativos e apresentam boa eciencia quando a
matriz em estudo e grande, esparsa e apresenta uma grande separacao relativa entre o autovalor
desejado e os demais autovalores.
6.5.1
M
etodo da pot
encia
(6.18)
n
i xi
(6.19)
i=1
120
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
k = 1, 2, . . .
(6.20)
onde z0 e um valor inicial, dado. Usando as equacoes (6.1), (6.19) e escrevendo (6.20) em termos
de z0 , temos
zk
= Azk1 = A2 zk2 = . . . = Ak z0
n
=
i ki xi
(6.21)
i=1
1
i=1
Note agora que, como 1 > 2 . . . n , por hip
otese, entao os termos
k
i
1
tendem a zero `a medida que k cresce. Da, podemos escrever
zk = k1 (1 x1 + &k )
(6.22)
2
3
,
, . . . ,
n
.
1
1
Quanto menores forem esses fracoes, mais rapida e a convergencia; por isso diz-se que o metodo
da potencia e eciente converge rapidamente para um autovalor desde que este autovalor seja
dominante, i.e., relativamente distante dos demais.
De posse das equacoes (6.20) e (6.23), podemos escrever um algoritmo para o metodo da
potencia. Uma quest
ao que se coloca e: quais valores iniciais, 0 e z0 , devemos utilizar para o
autovalor dominante e seu autovetor? Para z0 , consideraremos um vetor arbitrario, o qual ser
a
normalizado antes de se iniciar as iteracoes. Com essa escolha, valemo-nos da equacao (6.1) e
escrevemos
Az0
z0T Az0
= 0 z0 ... || z0 || = 1 ...
= z0T 0 z0 = 0 (z0T z0 ) = 0
Aplica-se, entao, repetidamente a equacao (6.20), normalizando o vetor zk a cada iteracao, conforme
mostrado no algoritmo 6.5.1. O exemplo 6.7 mostra o funcionamento do metodo.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
121
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
8 1
A = 1 5
0 1
2
1 ,
90
0, 0245
0, 9353
0, 0043
x1 = 0, 0115 , x2 = 0, 3539 , x3 = 0, 0111 .
0, 9996
0, 0043
0, 9996
Utilizando-se o metodo da potencia com um vetor com tres elementos escolhidos arbitrariamente
uencia de valores, com uma
e normalizado, z0 = (0, 4394, 0, 6415, 0, 6287)T , obtem-se a seguinte seq
toler
ancia para convergencia de 105 :
k
0
1
2
3
4
5
6
zk
(0, 4394, 0, 6415, 0, 6287)T
(0, 0940, 0, 0590, 0, 9938)T
(0, 0313, 0, 0133, 0, 9994)T
(0, 0251, 0, 0115, 0, 9996)T
(0, 0246, 0, 0115, 0, 9996)T
(0, 0245, 0, 0115, 0, 9996)T
(0, 0245, 0, 0115, 0, 9996)T
k
40, 5408
89, 2834
89, 9939
90, 0102
90, 0114
90, 0115
90, 0115
1 10
2
10 ,
A = 1 1
10 1 13
122
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
0, 0307 0, 4143i
0, 0307 + 0, 4143i
0, 7897
x1 = 0, 2160 + 0, 5518i , x2 = 0, 2160 0, 5518i , x3 = 0, 4651 .
0, 4368 0, 5343i
0, 4368 + 0, 5343i
0, 4000
Utilizando-se o metodo da potencia com um vetor com tres elementos escolhidos arbitrariamente
uencia de valores, com uma
e normalizado, z0 = (0, 4857, 0, 0197, 0, 8739)T , obtem-se a seguinte seq
toler
ancia para convergencia de 105 :
k
0
1
2
3
4
5
6
zk
(0, 4857, 0, 0197, 0, 8739)T
(0, 2253, 0, 7668, 0, 6010)T
(0, 4829, 0, 3946, 0, 7817)T
(0, 2066, 0, 7546, 0, 6229)T
(0, 5786, 0, 5001, 0, 6443)T
(0, 4517, 0, 7731, 0, 4454)T
(0, 8581, 0, 4338, 0, 2749)T
k
4, 3241
9, 1975
8, 1345
9, 4601
6, 4876
6, 2931
1, 8886
6.5.2
O m
etodo da pot
encia com transla
c
ao da origem
= 0 z0 ;
123
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
2 1
2
A = 1
0 1
0
1 ,
2
0, 5000
0, 7071
0, 5000
x1 = 0, 7071 , x2 = 0, 0000 , x3 = 0, 7071 .
0, 5000
0, 7071
0, 5000
ancia de 105 e
Note que | 2 /1 | = 0, 5858. Se utilizarmos o metodo da potencia, a uma toler
T
vetor inicial z0 = (1, 0, 0) , necessitaremos de 13 iterac
oes para obter a aproximac
ao 3, 4142 para
o autovalor 1 .
No entanto, se usarmos o translac
ao da origem, com = 1, necessitamos apenas de 9 iterac
oes
para obter a mesma aproximac
ao; veja que
2 1
1 1
2, 4142
6.5.3
M
etodo da itera
c
ao inversa
Como vimos, o metodo da potencia nos permite aproximar o autovalor dominante de A; suponha,
agora, que desejamos aproximar o menor autovalor (e seu correspondente autovetor) de A. Relembrando que os autovalores de A1 sao o inverso dos autovalores de A (equacao (6.3)), ent
ao,
se utilizarmos o metodo da potencia sobre a matriz A1 , aproximaremos o menor autovalor de
A pois ele e o maior autovalor de A1 . A essa modicacao do metodo da potencia chamamos de
metodo da iteraca
o inversa.
O metodo da iteracao inversa procede, basicamente, com o c
alculo sucessivo de vetores zk
dados por
zk = A1 zk1 , k = 1, 2, . . .
mas ja vimos (captulo 4) que, computacionalmente, devemos evitar, se possvel, calcular a inversa
de uma matriz. Nesse caso, e aconselhado que se resolva o sistema
Azk = zk1 ,
k = 1, 2, . . .
124
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
2 1
2
A = 1
0 1
0
1 ,
2
cujo menor autovalor e 3 = 0, 5858 e o seu correspondente autvetor e x3 = (0, 5000, 0, 7071, 0, 5000)T .
Se utilizarmos o algoritmo 6.5.3 com = 0, i.e. sem translac
ao da origem, a uma toler
ancia
oes para obter a aproximac
ao
de 105 e vetor inicial z0 = (1, 0, 0)T , necessitaremos de 7 iterac
0, 5858 para o autovalor 3 e (0, 5002, 0, 7071, 0, 4998)T para o correspondente autovetor.
No entanto, se usarmos o translac
ao da origem, com = 0, 5, necessitamos apenas de 4
iterac
oes para obter a mesma aproximac
ao; veja que
2 0, 5
= 0 < 0, 2929 =
2
1 0, 5
0, 0858
3
3
o que sugere o menor n
umero de iterac
oes; na verdade, = 0, 5 e a melhor escolha possvel, nesse
caso.
Outro exemplo mostra como usar o metodo da iteracao inversa em conjunto com o teorema de
Gerschgorin, a m de se determinar um autovalor especco.
Exemplo 6.11 Seja a matriz
5 2
A= 2 3
1 1
1
1
1
Os discos de Gerschgorin s
ao:
d1
: c1 = 5,
r1 = 3
d2
d3
: c2 = 3,
: c3 = 1,
r2 = 3
r3 = 2
125
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
Suponha que desejamos aproximar o menor autovalor; como o disco d3 e aquele que se encontra
mais a
` esquerda em comparac
ao aos demais, podemos utilizar o seu centro como fator de transla 1
ca
o. Ent
ao, utilizamos o metodo da iterac
ao inversa com = 1, vetor inicial z0 = 3 (1, 1, 1)T
e toler
ancia 105 e obtemos = 0, 5764 e z = (0, 0597, 0, 3380, 0, 9393)T ap
os 10 iterac
oes.
Por outro lado, se tivessemos utilizado = c3 + r3 , a convergencia para o mesmo autovalor seria
obtida em apenas 4 iteraco
es.
6.5.4
O m
etodo da itera
c
ao inversa e o quociente de Rayleigh
Como visto no teorema 6.2.2, o valor do autovalor dominante 1 de uma matriz real simetrica
e o maximo do quociente de Rayleigh, dentre todos os vetores x = 0. Isso nos permite utilizar
a expressao (6.12) juntamente com o metodo da iteracao inversa, conforme mostra o algoritmo
6.5.4.
Algoritmo 6.5.4 Metodo da iterac
ao inversa com translac
ao via
quociente de Rayleigh)
ao inversa translac
ao(input: A, z0 , &, kmax ;
proc iterac
output: k , zk )
z0 z0 /|| z0 ||
for k = 0, 1, . . . , kmax do
k =
T
zk
Azk
Tz
zk
k
6.6
Exerccios
1 1 1
0
2
5 .
0
0 1
Exerccio 6.2 Calcule o autovalor dominante de
10 9
8
3 5
6 .
7 2 1
Exerccio 6.3 Calcule o autovalor dominante
6
2
1
2 1
3 1 ,
1 1
ancia 105 .
usando o metodo da potencia, com z0 = (1, 1, 1)T e toler
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
126
Introduca
o ao C
alculo Numerico
Autovalores e Autovetores
0
1 1
1
0 1 ,
1 1 0
usando o metodo da potencia, com z0 = (1, 1, 1)T e toler
ancia 105 .
Exerccio 6.5 Explique o que acontece com o metodo da potencia para a matriz
2
1 1
1
2 1 ,
1 1
2
ancia 105 , sabendo que os seus autovalores s
ao 1, 2 e 3. Repita para
com z0 = (1, 1, 1)T e toler
6 T
z0 = (1, 0, 10 ) .
Exerccio 6.6 Utilize o metodo da iterac
ao inversa para calcular o menor autovalor da matriz
2
1 1
1
2 1 ,
1 1
2
ancia 105 .
com z0 = (1, 1, 1)T e toler
Exerccio 6.7 Seja a matriz
5 2
A= 2 3
1 1
1
1
1
127
Captulo 7
Interpola
c
ao
7.1
Introdu
c
ao
Freq
uentemente, deparamo-nos com um conjunto discreto de valores de uma funcao que podem ser
dados na forma de tabela ou de um conjunto de medidas. Estes valores, na verdade, representam
um conjunto de pontos pertencentes a uma funcao contnua.
Exemplo 7.1 A seguinte tabela relaciona o calor especco (c) da
agua e a temperatura (T ) em
C:
T
c
20
0,99907
25
0,99852
30
0,99826
35
0,99818
40
0,99828
45
0,99849
50
0,99878
x0
f (x0 )
x1
f (x1 )
x2
f (x2 )
...
...
xn
f (xn )
tabela 7.1 signica calcular o valor de f (x ), ou seja, incluir o ponto (x , f (x )) a` tabela 7.1.
A necessidade de se efetuar esta substituicao surge em varias situacoes, como por exemplo:
quando s
ao conhecidos os valores numericos da funcao para um conjunto de pontos e e
necessario calcular o valor da funcao em um ponto n
ao tabelado (como no exemplo 7.1);
quando a funcao em estudo tem uma expressao tal que operacoes como diferenciacao e
integracao sao difceis de serem realizadas.
Exemplo 7.2 Considere o problema de determinar o seno de 6, 5 graus. Assuma a disponibilidade
de uma tabela de senos na qual os valores s
ao dados em intervalos de 1 grau. Para determinar o
valor desejado, tem-se tres escolhas:
128
Introduca
o ao C
alculo Numerico
Interpolac
ao
1. Usar serie de Taylor para calcular o seno com uma certa exatid
ao pre-denida;
2. Tentar encontrar uma tabela que liste o valor do seno em intervalos menores e procurar o
valor exato;
3. Usar os senos de 6 e 7 dados na tabela disponvel para tentar determinar o seno de 6, 5, ou
seja, realizar uma interpolac
ao.
A funcao interpoladora pode ser de diversos tipos: polinomial, exponencial, entre outras.
Veremos, a seguir, como estabelecer o polin
omio interpolador de um conjunto de pontos.
7.2
Interpola
c
ao polinomial
Dados os pontos (x0 , f (x0 )), (x1 , f (x1 )), . . ., (xn , f (xn )), portanto n+1 pontos, deseja-se interpolar
f (x) por um polin
omio pn (x), de grau menor ou igual a n, tal que
f (xk ) = pn (xk )
para k = 0, 1, . . . , n
1 x0 x20 . . . xn0
1 x1 x21 . . . xn1
..
..
..
..
..
.
.
.
.
.
2
1 xn xn . . . xnn
(7.2)
1
4
0
1
2
1
2
7
x + x2
3
3
e o polin
omio que interpola f (x) em x0 = 1, x1 = 0 e x2 = 2.
129
Introduca
o ao C
alculo Numerico
Interpolac
ao
0, 1
5
0, 2
13
0, 3
4
0, 4
8
= 5
= 13
a0 + 0, 3 a1 + 0, 09 a2 + 0, 027 a3
a0 + 0, 4 a1 + 0, 16 a2 + 0, 064 a3
= 4
= 8
130
Introduca
o ao C
alculo Numerico
7.3
Interpolac
ao
Forma de Newton
Note que o processo de determinacao de pk , na prova do teorema 7.2.1, e recursivo. Alem disso,
pk e obtido a partir de pk1 pela adicao de um u
nico termo; logo, ao m do processo, pk ser
a uma
a identic
avel em pk .
soma de termos, de tal forma que cada p0 , p1 , . . . , pk1 ser
O polin
omio pk tem a forma
pk (x)
=
=
c0 + c1 (x x0 ) + c2 (x x0 )(x x1 ) + . . . + ck (x x0 ) . . . (x xk1 ) =
k
ci
i=0
i1
(x xj )
(7.3)
j=0
m
onde
j=0 (x xj ) = 1 quando m < 0.
Procedendo ao uso da f
ormula (7.3), os primeiros polin
omios interpoladores na forma de Newton
sao os seguintes:
p0 (x)
p1 (x)
=
=
c0
c0 + c1 (x x0 )
p2 (x)
c0 + c1 (x x0 ) + c2 (x x0 )(x x1 )
Por quest
oes de eciencia e de estabilidade numerica, os polin
omios acima sao avaliados
utilizando multiplicaca
o aninhada, tambem conhecida como f
ormula de Horner. Suponha o polin
omio interpolador na forma de Newton escrito como
u=
k
i=0
ci
i1
dj = c0 + c1 d0 + c2 d0 d1 + . . . + ck d0 d1 . . . dk1 ;
j=0
ck
uk1
uk2
..
.
uk dk1 + ck1
uk1 dk2 + ck2
u0
u1 d0 + c0
yk pk1 (xk )
(xk x0 )(xk x1 ) . . . (xk xk1 )
(7.4)
131
Introduca
o ao C
alculo Numerico
Interpolac
ao
0
5
1
1
7
23
2
6
54
3
0
954
Solucao:
c0
c1
c2
c3
y0 = 1
23 1
y1 u
=
=2
d
12
54 + 21
y2 u
=
=3
d
11
954 + 114
y3 u
=
=4
d
210
de onde o polin
omio interpolador pode ser escrito como
p3 (x) = 1 + 2(x 5) + 3(x 5)(x + 7) + 4(x 5)(x + 7)(x + 6).
f
E
acil vericar, por inspec
ao, que o polin
omio p3 (x) satisfaz p3 (5) = 1; para os demais pontos
tabulados, basta avaliar p3 (x) em cada um deles.
O polin
omio interpolador, bem como os pontos interpolados, e mostrado na gura 7.1.
7.4
Forma de Lagrange
yk lk (x)
(7.5)
k=0
(x xj )
j=1
132
Introduca
o ao C
alculo Numerico
Interpolac
ao
logo,
j=1
n
(x xj )
l0 (x) =
;
(x0 xj )
j=1
os demais li (x) sao obtidos de forma similar, podendo ser expressos por
n
(x xj )
li (x) =
.
(xi xj )
j=1
(7.6)
(x x1 )
,
(x0 x1 )
l1 (x) =
(x x0 )
(x1 x0 )
Assim,
p1 (x) = y0
(x x1 )
(x x0 )
+ y1
(x0 x1 )
(x1 x0 )
ou seja,
p1 (x) =
133
Introduca
o ao C
alculo Numerico
Interpolac
ao
0
5
1
l0 (x)
l1 (x)
l2 (x)
l3 (x)
1
7
23
2
6
54
3
0
954
Solucao:
(x + 7)(x + 6)(x)
(5 + 7)(5 + 6)(5)
(x 5)(x + 6)(x)
(7 5)(7 + 6)(7)
(x 5)(x + 7)(x)
(6 5)(6 + 7)(6)
(x 5)(x + 7)(x + 6)
(0 5)(0 + 7)(0 + 6)
de onde o polin
omio interpolador pode ser escrito como
(x5)(x+6)(x)
p3 (x) = 1 (x+7)(x+6)(x)
23
84
660
(x5)(x+7)(x+6)
954
54 (x5)(x+7)(x)
66
210
Note como esse polin
omio tem uma forma bastante diferente da do polin
omio interpolador de
Newton; no entanto, ele igualmente satisfaz `
a condic
ao de interpolac
ao, o que pode ser vericado
avaliando-se p3 (x) em cada ponto. Particularmente, p3 (5) = 1 12115
660 = 1.
7.5
q1 (x)
(x x0 )
q2 (x)
=
..
.
(x x0 )(x x1 )
qn (x)
(x x0 )(x x1 ) . . . (x xn1 )
o que leva a` j
a conhecida forma de Newton,
p(x) =
cj qj (x).
j=0
Utilizando a condicao de interpolacao (p(xi ) = f (xi )), obtemos um sistema de equacoes para
a determinacao dos coecientes cj :
n
cj qj (xi ) = f (xi ),
0in
j=0
134
Introduca
o ao C
alculo Numerico
Interpolac
ao
Note que, se escrevermos o sistema acima na forma Ax = b, a matriz A, de ordem n + 1, tem como
elementos aij = qj (xi ), 0 i n, 0 j n. No entanto, como
qj (xi ) =
j1
(xi xk ) = 0,
se i j 1
k=0
ent
ao A e uma matriz triangular inferior. Por exemplo, com tres nos x0 , x1 , x2 , temos
p2 (x)
c0 q0 + c1 q1 + c2 q2
c0 + c1 (x x0 ) + c2 (x x0 )(x x1 )
e, para determinarmos os ci , fazemos p2 (x0 ) = f (x0 ), p2 (x1 ) = f (x1 ) e p2 (x2 ) = f (x2 ), de onde
obtemos o sistema
c0
1
0
0
f (x0 )
c1 = f (x1 )
1 (x1 x0 )
0
(7.7)
1 (x2 x0 ) (x2 x0 )(x2 x1 )
f (x2 )
c2
Analisando a estrutura do sistema (7.7), vemos que e possvel obter os coecientes ci em ordem
crescente, i.e. c0 , c1 , . . .; alem disso, o coeciente ci depende apenas dos valores de f (x0 ), f (xi ),
. . ., f (xi ), e essa dependencia e denotada por
cn = f [x0 , x1 , . . . , xn ].
n
onde cn e o coeciente de qn quando k=0 ck qk interpola f em x0 , x1 , . . . , xn . Como
(7.8)
f (x1 ) f (x0 )
(x x0 )
x1 x0
vemos que
f [x0 , x1 ] =
f (x1 ) f (x0 )
.
x1 x0
3. Para diferencas divididas de maior ordem, podemos nos valer de um teorema que nos diz
que elas satisfazem a relacao
f [x0 , x1 , . . . , xn ] =
(7.9)
f [x1 ] f [x0 ]
x1 x0
f [x1 , x2 ] f [x0 , x1 ]
x2 x0
f [x1 , x2 , x3 ] f [x0 , x1 , x2 ]
x3 x0
135
Introduca
o ao C
alculo Numerico
Interpolac
ao
O polin
omio interpolador na forma de Newton pode, agora, ser escrito como
p(x) =
ck qk (x) =
k=0
f [x0 , x1 , . . . , xk ]
k1
(x xj )
(7.10)
j=0
k=0
o qual e equivalente a` Equacao (7.3), mas os coecientes ck sao mais facilmente obtidos em termos
de diferencas divididas, usando o esquema mostrado na Tabela 7.2. Note que os coecientes do
polin
omio, conforme a Equacao (7.10), aparecem na primeira linha da tabela.
x
x0
x1
x2
x3
y
f [x0 ]
f [x1 ]
f [x2 ]
f [x3 ]
f [x0 , x1 ]
f [x1 , x2 ]
f [x2 , x3 ]
Coecientes
f [x0 , x1 , x2 ]
f [x1 , x2 , x3 ]
f [x0 , x1 , x2 , x3 ]
Tabela 7.2: Esquema de construcao dos coecientes do polinomio interpolador por diferencas
divididas: as echas indicam as dependencias.
O exemplo que segue ilustra a construcao do polin
omio interpolador usando diferencas divididas.
Exemplo 7.8 Dados os pontos tabulados abaixo, obtenha o polin
omio interpolador na forma de
Newton:
i
x
y
0
5
1
1
7
23
2
6
54
3
0
954
Solucao:
x
5
7
6
0
y
1
23
54
954
f [x0 , x1 ] = 2
f [x1 , x2 ] = 31
f [x2 , x3 ] = 150
Coecientes
f [x0 , x1 , x2 ] = 3
f [x1 , x2 , x3 ] = 17
f [x0 , x1 , x2 , x3 ] = 4
f [x1 ] f [x0 ]
23 1
=2
=
x1 x0
7 5
f [x2 ] f [x1 ]
54 (23)
= 31
=
x2 x1
6 (7)
f [x3 ] f [x2 ]
954 (54)
= 150
=
x3 x2
0 (6)
f [x1 , x2 ] f [x0 , x1 ]
31 2
=3
=
x2 x0
6 5
f [x2 , x3 ] f [x1 , x2 ]
150 (31)
= 17
=
x3 x1
0 (7)
f [x1 , x2 , x3 ] f [x0 , x1 , x2 ]
17 3
=4
=
x3 x0
05
O polin
omio interpolador pode ser escrito, ent
ao, como
p3 (x)
136
Introduca
o ao C
alculo Numerico
Interpolac
ao
7.6
Sejam os valores y = f (x) dados atraves da tabela (xi , yi ), para i = 0, 1, . . . , n, onde os valores de
x sao eq
uidistantes, isto e, xi+1 xi = h. Assim dene-se o polinomio
pn (x)
x x0
(x x0 )(x x1 ) 2
y0 +
y0 + . . .
h
2! h2
(x x0 )(x x1 ) . . . (x xn1 ) n
+
y0
n! hn
= y0 +
(7.11)
Ordem 1
Ordem 2
..
.
..
.
..
.
k yi = k1 yi+1 k1 yi
Ordem k
e, a m de facilitar a determinacao dos valores k yi , pode-se construir uma tabela como a que
segue:
i
0
1
2
3
4
xi
x0
x1
x2
x3
x4
yi
y0
y1
y2
y3
y4
yi
y0
y1
y2
y3
2 yi
2 y0
2 y1
2 y2
3 yi
3 y0
3 y1
4 yi
4 y0
137
Introduca
o ao C
alculo Numerico
Interpolac
ao
x x0
,
h
(7.13)
o polin
omio interpolador de Newton com diferencas simples (7.11) pode ser escrito como
pn (z) =
z (z 1) 2
y0 + . . .
2! h2
z (z 1) . . . (z n + 1) n
+
y0
n! hn
y0 + z y0 +
(7.14)
xi
yi
2
9
3
25
4
55
xi
1
2
3
4
yi
1
9
25
55
yi
8
16
30
2 yi
8
14
3 yi
6
Com isto, a f
ormula para o polin
omio interpolador de Newton com diferencas simples (7.11) e
p3 (x)
x x0
(x x0 )(x x1 ) 2
y0 +
y0
h
2! h2
(x x0 )(x x1 )(x x2 ) 3
+
y0
3! h3
= y0 +
ou,
p3 (x)
1+
(x 1)(x 2)
(x 1)(x 2)(x 3)
x1
8+
8+
6
1
2! 1
3! 1
7.7
Interpola
c
ao inversa
O problema da interpolacao inversa consiste em, dado y (f (x0 ), f (xn )), obter x
tal que f (
x) = y.
Este problema pode ser resolvido de duas formas:
1. Obter pn (x) que interpola f (x) em x0 , x1 , . . . , xn e em seguida encontrar x
tal que pn (
x) = y;
2. Se f (x) for inversvel num intervalo contendo y, fazer a interpolacao de x = f 1 (
y ) = g(
y ).
Uma condicao para que uma funcao contnua num intervalo [a, b] seja inversvel e que ela seja
monotona crescente ou decrescente neste intervalo. Basta entao considerar x como funcao
de y e aplicar um metodo de interpolacao conhecido: x = f 1 (y) = g(y) pn (y).
Exemplo 7.10 Dada a tabela
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
138
Introduca
o ao C
alculo Numerico
Interpolac
ao
0, 2
1, 2214
x
y = ex
0, 3
1, 3499
0, 4
1, 4918
ao quadr
atica.
obter x tal que ex = 1, 3165 usando um processo de interpolac
Solucao:Pode-se usar a f
ormula de Newton para obter p2 (y) que interpola g(y) = f 1 (y). Para
isto, constr
oi-se a tabela de diferencas divididas:
i
0
1
2
yi
1, 2214
1, 3499
1, 4918
g[yi ]
0, 2
0, 3
0, 4
g[yi+1 , yi ]
0, 7782
0, 7047
g[yi+2 , yi+1 , yi ]
0, 2718
O polin
omio p2 (y) e determinado por
p2 (y) =
=
7.8
Interpola
c
ao por splines
Suponha que se deseja interpolar um conjunto de pontos por uma funcao polinomial; ent
ao, uma
funcao spline consiste de um conjunto de polin
omios de grau pequeno que atuam sobre
alguns dos pontos daquele conjunto.
os, tenham sido especicados,
Formalmente, suponha que n+1 pontos t0 , t1 , . . . , tn , chamados de n
satisfazendo t0 < t1 < . . . < tn , alem de um n
umero inteiro k 0. Uma func
ao spline de grau
k, com nos t0 , t1 , . . . , tn , e uma funcao S tal que
omio de grau menor ou igual a k;
1. Em cada subintervalo [ti1 , ti ), S e um polin
2. S tem as suas primeiras k 1 derivadas contnuas em [t0 , tn ].
Diz-se, portanto, que S e um polin
omio contnuo de grau k, por partes, apresentando derivadas
de ordem igual ou inferior a k 1 contnuas. Vejamos alguns exemplos:
Spline de grau 0: sao polin
omios constantes, os quais podem ser dados por
t0 x < t1
S0 (x) = c0
S1 (x) = c1
t1 x < t2
S(x) =
..
..
.
.
t0 x < t1
S0 (x) = a0 x + b0
S1 (x) = a1 x + b1
t1 x < t2
S(x) =
..
..
.
.
t0
y0
t1
y1
...
...
tn1
yn1
tn
yn
139
Introduca
o ao C
alculo Numerico
Interpolac
ao
yi
yi+1
(7.15)
(7.16)
Si (ti )
(7.17)
Si (ti )
(7.18)
obtendo 2(n 1) outras condicoes. Ao todo, temos, portanto, 4n 2 condicoes; as duas que faltam
podem ser obtidas de v
arias formas mas, usualmente, escreve-se
S0 (t0 ) = 0
(7.19)
= 0
(7.20)
Sn1
(tn )
e, com isso, temos todas as 4n condicoes necessarias para se determinar os coecientes da spline
c
ubica.
Vejamos como denir Si em [ti , ti+1 ]. Escrevendo zi = Si (ti ), temos que, por denicao, zi
existe para 0 i n 1 e satisfaz
lim Si (x) = zi = lim Si (x),
xt
i
xt+
i
1in1
zi
zi+1
(ti+1 x) +
(x ti )
hi
hi
(7.21)
zi
zi+1
(ti+1 x)3 +
(x ti )3 + C(x ti ) + D(ti+1 x)
6hi
6hi
(7.22)
onde C e D sao constantes de integracao. Agora, usando Si (ti ) = yi e Si (ti+1 ) = yi+1 , podemos
determinar C e D:
Si (ti )
zi
z
i+1
(ti+1 ti )3 +
(ti ti )3 + C(ti ti ) + D(ti+1 ti )
6hi
6hi
zi
(ti+1 ti )2 + Dhi
6
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
= yi ...
= yi
= yi
140
Introduca
o ao C
alculo Numerico
Interpolac
ao
yi
z i hi
hi
6
(7.23)
zi
zi+1
(ti+1 ti+1 )3 +
(ti+1 ti )3 + C(ti+1 ti ) + D(ti+1 ti+1 ) = yi+1
6hi
6hi
zi+1 2
h + Chi = yi+1
6 i
de onde
C=
yi+1
zi+1 hi
hi
6
(7.24)
(x ti ) +
6hi
6hi
hi
6
yi
z i hi
(ti+1 x)
hi
6
Agora, resta determinar os zi , 1 i n 1, usando a continuidade em S . Para tanto, temos
= Si (ti ), nos n
os interiores. Diferenciando a expressao (7.25) e substituindo x = ti , temos
Si1
(ti )
Si1
(ti ) =
zi1 hi1
yi1
zi hi1
yi
+
+
3
6
hi1
hi
e
Si (ti ) =
zi+1 hi
yi
z i hi
yi+1
+
3
6
hi
hi
6
6
(yi+1 yi )
(yi yi1 )
hi
hi1
u 1 h1
h1 u 2
h2
.
.
.
..
..
..
(7.25)
z = v
= ti+1 ti
= 2(hi + hi1 )
6
=
(yi+1 yi )
hi
= bi bi1
O sistema (7.25) pode ser resolvido por eliminacao de Gauss, sem pivotamento, j
a que ele e
diagonal dominante. Um algoritmo para resolver o referido sistema pode ser escrito como
141
Introduca
o ao C
alculo Numerico
Interpolac
ao
vi =
endfor
zn = 0
for i = n 1, n 2, . . . , 1 do
zi = vi huiizi+1
endfor
z0 = 0
endproc
Uma vez obtidos os zi , pode-se avaliar Si (x) usando a express
ao abaixo, na forma aninhada:
Si (x) = yi + (x ti ) (Ci + (x ti ) (Bi (x ti )Ai ))
(7.26)
onde
Ai
Bi
Ci
1
(zi+1 zi )
6hi
zi
2
hi
hi
yi+1 yi
zi+1 zi +
6
3
hi
Cabe relembrar que, para cada intervalo [ti , ti+1 ], deve ser utilizada a Equacao (7.26) com os
valores adequados: zi e zi+1 ; yi e yi+1 ; e hi = ti+1 ti .
7.9
Seja f uma funcao contnua com (n + 1) derivadas contnuas em um intervalo I, x0 < x1 < . . . <
xn , (n + 1) pontos distintos pertencentes ao intervalo I e pn (x) o polin
omio interpolador de f
relativamente aos pontos x0 , x1 , . . . , xn .
Ao se aproximar esta funcao f (x) por um polin
omio interpolador pn (x), de grau menor ou
igual a n, comete-se um erro de truncamento na interpolacao de x. Este e denido por
En (x) = f (x) pn (x) = (x x0 ) (x x1 ) (x x2 ) . . . (x xn )
f (n+1) ()
(n + 1)!
(7.27)
para (x0 , xn ).
Para utilizar esta formula, e preciso conhecer f (n+1) e o ponto . Mas, em geral, a forma
analtica da funcao f n
ao e conhecida, nao sendo possvel portanto determinar nem f (n+1) e,
conseq
uentemente, nem En (x). Ainda assim, mesmo quando se conhece a forma analtica de f ,
142
Introduca
o ao C
alculo Numerico
Interpolac
ao
n
ao se sabe o valor de e, portanto, n
ao se pode calcular En (x) exatamente. Entretanto, pode-se
delimitar o erro pela desigualdade:
| En (x) | | (x x0 ) (x x1 ) (x x2 ) . . . (x xn ) | max
xI
| f (n+1) (x) |
.
(n + 1)!
(7.28)
1
0
2
0, 6931
3
1, 0986
4
1, 3863
omio
Solucao:Como x = 3, 7 (3; 4) escolhe-se x0 = 3 e x1 = 4. Pela forma de Newton, o polin
interpolador e
p1 (x)
y0 +
x x0
y0
h
=
=
Conseq
uentemente, p1 (3, 7) = 1, 3000. Neste caso, dado que, com quatro casas decimais, f (3, 7) =
ln(3, 7) = 1, 3083, tem-se condic
oes de calcular o erro exato:
E1 (3, 7) = | f (3, 7) pn (3, 7) | = | 1, 3083 1, 3 | = 0, 0083
Por outro lado, tem-se tambem a seguinte majorac
ao para o erro:
| f (x) |
2!
x[3;4]
1
| (3, 7 3) (3, 7 4) |
2
0, 105
7.9.1
Se a funcao f (x) e dada em forma de tabela, o valor absoluto do erro En (x) so pode ser estimado,
j
a que n
ao e possvel calcular f (n+1) . Entretanto, construindo a tabela de diferencas divididas ate
ordem (n + 1), tem-se que
| En (x) | | (x x0 ) (x x1 ) . . . (x xn ) | | f [xn+1 , xn , . . . , x0 ] |
(7.29)
,
(7.30)
j
a que
f [xn+1 , xn , . . . , x0 ] =
n+1 y0
(n + 1)! hn+1
(7.31)
para h constante.
Exemplo 7.12 Seja f (x) dada na forma
x
f (x)
0, 4
0, 27
0, 52
0, 29
0, 6
0, 32
0, 72
0, 37
143
Introduca
o ao C
alculo Numerico
Interpolac
ao
xi
0, 4
0, 52
0, 6
0, 72
f [xi ]
0, 27
0, 29
0, 32
0, 37
f [xi+1 , xi ]
0, 1667
0, 375
0,4167
f [xi+2 , xi+1 , xi ]
1, 0415
0,2085
Assim, usando a f
ormula de Newton,
p2 (x)
| (x x0 ) (x x1 ) (x x2 ) | f [x3 , x2 , x1 , x0 ] |
| (x 0, 4) (x 0, 52) (x 0, 6) | 2, 6031 |
ou seja,
| E2 (0, 47) | 1, 184 103 .
7.10
Exerccios
1, 3
3, 669
1, 4
4, 055
1, 5
4, 482
1, 5708
K(3) =
K(5) =
1, 5719
1, 5738
0
5
1
1
3
25
4
55
utilizando o polin
omio interpolador na forma de Newton.
Exerccio 7.5 Calcule uma aproximac
ao para f (2, 3) pela forma interpoladora de Lagrange.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
144
Introduca
o ao C
alculo Numerico
Interpolac
ao
2, 0
0, 31495
x
f (x)
2, 4
0, 020561
2, 6
0, 09682
2, 8
0, 18505
5 outubro
10
15 outubro
15
25 outubro
20
4 novembro
13
1, 9
1, 941
2, 0
1, 000
2, 1
0, 061
2, 2
1, 248
2, 3
2, 567
tem uma raiz no intervalo (2; 2, 1). Calcule esta raiz, aproximando a func
ao por um polin
omio de
terceiro grau.
Exerccio 7.8 Dada a tabela abaixo, calcular f (0, 32) e estimar o erro de truncamento do valor
calculado.
x
f (x)
0, 2
0, 5544
0, 3
0, 5639
0, 4
0, 5735
0, 5
0, 5831
1
2, 718
1, 1
3, 004
1, 2
3, 320
calcule f (1, 05) e delimite o erro para o valor interpolado, utilizando aritmetica de ponto utuante
com quatro algarismos signicativos.
145
Captulo 8
Introdu
c
ao
Uma forma de trabalhar com uma funcao denida por uma tabela de valores e a interpolacao
polinomial. Entretanto esta nao e aconselhavel quando:
1. e preciso obter um valor aproximado da funcao em algum ponto fora do intervalo de tabelamento, ou seja, quando se quer extrapolar;
2. os valores tabelados s
ao resultado de algum experimento fsico ou de alguma pesquisa,
porque, nestes casos, estes valores podem conter erros inerentes que, em geral, nao sao
previsveis.
Surge, ent
ao, a necessidade de se ajustar a estas funcoes tabeladas uma funcao que seja uma
boa aproximacao para os valores tabelados e que permita extrapolar com certa margem de
seguranca.
Exemplo 8.1 Considere um teste de desempenho de um autom
ovel. Este e acelerado a partir do
repouso e depois viaja com acelerac
ao m
axima ate que sua velocidade atinja 100km/h. Enquanto
isto, as leituras no velocmetro s
ao realizadas a cada 1s. Quando a velocidade e gracada como
func
ao do tempo, obtem-se um conjunto de pontos. Seria esperado que estes pontos denissem
uma curva suave. No entanto, erros de medida e outros fatores fazem com que os pontos n
ao
quem t
ao bem arranjados: alguns dos valores registrados para a velocidade cam muito altos e
outros, muito baixos.
Supondo que se desejasse determinar a velocidade aos 6, 5s, seria possvel interpolar entre as
leituras feitas aos 6s e 7s, mas como provavelmente existe algum erro nestas medidas, o valor
assim obtido poderia n
ao ser uma boa aproximac
ao para o valor desejado. O que fazer?
A solucao para o problema e tentar ajustar uma prov
avel curva ao conjunto de dados. Como
e possvel que v
arios destes dados n
ao sejam precisos, esta curva n
ao precisa, necessariamente,
passar por nenhum dos pontos. Por outro lado, como os erros de medida provavelmente n
ao sao
t
ao grandes, a curva deveria pelo menos passar perto de cada ponto: provavelmente acima de uns
e abaixo de outros. Na verdade, ao inves de procurar a funcao f que passa por cada um dos dados
experimentais, calcula-se a funcao que melhor se ajusta a eles.
Exemplo 8.2 Suponha que os dados abaixo temperatura T a cada perodo de tempo t foram
obtidos em um experimento num laborat
orio:
t
T
1
2
3
4
5
15, 0 28, 4 45, 3 58, 6 77, 4
e o gr
aco exibido na gura 8.2 sugere que esses dados podem ser aproximados razoavelmente bem
por uma reta. Assim, se for necess
ario saber o valor de T no tempo t = 1, 5, podemos obter a
146
Introduca
o ao C
alculo Numerico
Figura 8.1: Gr
aco v t, com erros nas medidas de v.
147
Introduca
o ao C
alculo Numerico
8.2
n
ri2 (x) =
i=0
n
(8.3)
M
= 0,
am
(8.4)
i=0
e preciso que
M
=0
a1
M
=0
a0
...
Por outro lado, certamente existem processos naturais que tem um comportamento exponencial,
possvel, para um conjunto de dados experimentais,
potencial e quadr
atico, dentro outros. E
calcular o qu
ao boa e uma determinada aproximacao, escolhida previamente. A seguir, veremos
como determinar os coecientes de uma determinada funcao de ajuste.
8.3
Ajuste linear
Neste caso, determina-se os parametros a0 e a1 da reta a0 +a1 x de modo que a soma dos quadrados
em cada ponto seja mnima. Em outras palavras, deseja-se determinar a0 e a1 que minimizem
M (a0 , a1 ) =
n
ri2 (x) =
i=0
n
(yi a0 a1 xi )2
(8.5)
i=0
= 0
= 0
(8.6)
(8.7)
148
Introduca
o ao C
alculo Numerico
ou seja, que
M
a0
M
a1
2
2
n
i=0
n
(yi a0 a1 xi ) (1) = 0
(8.8)
(yi a0 a1 xi ) (xi ) = 0
(8.9)
i=0
(8.10)
(8.11)
0
0
1
1
2
1
3
4
4
4
8.4
1
11
x
10
5
Ajuste polinomial
Pode-se estender o conceito de ajustamento de uma reta por mnimos quadrados para o caso geral
omio
de um polin
omio de grau p. Neste caso, determina-se os par
ametros a0 , a1 , . . . , ap do polin
a0 + a1 x + . . . + ap xp que minimizem
M (a0 , a1 , . . . , ap ) =
n
i=0
ri2 (x) =
n
(yi a0 a1 xi . . . ap xp )2
(8.12)
i=0
x
n+1
n
ni=0 2i
i=0 xi
i=0 xi
..
..
.
.
n
n
p
p+1
i=0 xi
i=0 xi
n
...
xpi
ni=0 p+1
...
i=0 xi
..
..
.
.
n
2p
...
i=0 xi
a0
a1
..
.
ap
(8.13)
n
n i=0 yi
i=0 xi yi
..
n . p
i=0 xi yi
(8.14)
149
Introduca
o ao C
alculo Numerico
2
0, 01
1
0, 51
0
0, 82
1
0, 88
2
0, 81
3
0, 49
3, 50
6 3 19
a0
3 19 27 a1 = 3, 48
a2
9, 00
19 27 115
A soluc
ao deste sistema indica que a par
abola que melhor se ajusta a este conjunto de dados e
g(x) = 0, 102 x2 + 0, 201 x + 0, 806.
8.5
O metodo dos mnimos quadrados pode ser empregado tambem aproximar uma funcao f por uma
funcao g de uma famlia n
ao linear nos par
ametros. Exemplos destas funcoes sao as exponenciais,
hiperb
olicas e racionais, entre outras, como veremos a seguir.
8.5.1
(8.15)
X = x,
a0 = ln c,
a1 = a
(8.16)
(8.17)
Sendo assim, pode-se aplicar o mesmo metodo utilizado para o ajustamento de uma reta aos
dados transformados {(Xi , Yi )} = {(xi , ln yi )}. Os coecientes a0 e a1 sao encontrados pela solucao
do sistema
n
n
(n + 1) i=0 xi
a0
ln yi
i=0
=
(8.18)
n
n
n
2
a1
i=0 xi
i=0 xi
i=0 xi ln yi
de forma que c = ea0 e a = a1 determinam a funcao de ajustamento.
Exemplo 8.5 Ajuste os dados da tabela a uma func
ao exponencial.
x
y
0
3
0, 5
4
1
6
1, 5
9
2
12
2, 5
17
3
24
3, 5
33
4
48
150
Introduca
o ao C
alculo Numerico
8.5.2
8.5.3
Neste caso, y =
1
a0 +a1 x .
8.5.4
x
y
(n + 1)
n
i=0 xi
ni=0 x2i
i=0 xi
8.5.6
1
yi
xi
yi
x
a0 +a1 x
= a0 + a1 x e o sistema
n
n
a0
ni=0 x2i
= ni=0
x
a
1
i
i=0
i=0
8.5.5
(n + 1)
n
i=0 xi
1
y
1
y
xi
yi
x2i
yi
(8.20)
1
a0 +a1 x+a2 x2
n
ni=0 x2i
xi
i=0
n
3
i=0 xi
n 1
n
i=0 yi
x2i
a0
i=0
n xi
n
3
x
a
=
i=0 y
1
i
i=0
n x2ii
n
4
a2
i=0 xi
(8.21)
i=0 yi
n
n
n
(n + 1) i=0 xi i=0 x2i
a0
i=0 ln yi
n
n
8.6
Uma vez conhecidas as diferentes formas de regressao, podemos nos indagar: para um determinado
conjunto de dados experimentais, qual e a melhor forma?
Essa pergunta pode ser respondida se considerarmos algumas medidas dos erros envolvidos nas
regressoes, essencialmente comparando o quao distante um valor experimental fi esta do valor yi
calculado atraves da equacao para as diferentes regress
oes. Basicamente, podemos considerar tres
medidas diferentes:
Erro relativo: Seleciona-se a regressao que tiver o menor erro relativo m
aximo,
m
e = max
i=1
| fi yi |
| fi |
(8.23)
151
Introduca
o ao C
alculo Numerico
(yi
y)
m1
D=
(8.25)
1
2
3
4
5
15, 0 28, 4 45, 3 58, 6 77, 4
1
13, 9
15, 0
14, 7
17, 4
2
29, 4
28, 9
29, 6
26, 0
3
44, 9
43, 9
44, 7
38, 8
4
60, 4
59, 9
59, 9
57, 9
5
75, 9
77, 0
75, 2
86, 4
e
0, 0707
0, 0307
0, 0434
0, 1597
t
0, 6898
0, 7127
0, 6771
0, 9079
D
0, 2727
0, 2729
0, 2669
0, 3045
Analisando a tabela acima, vemos que, se o criterio escolhido fosse o erro relativo e, deveramos
escolher a regress
ao quadr
atica, com coecientes
a0 = 2, 04,
a1 = 12, 4143,
a2 = 0, 5143;
a1 = 1, 0160
1
2
3
4
5
2, 7183 7, 3891 20, 0855 54, 5982 148, 4132
152
Introduca
o ao C
alculo Numerico
1
2
3
21, 1 12, 8 46, 6
7, 5 1, 5 18, 1
2, 0 10, 6 28, 3
2, 7
7, 4 20, 1
4
5
80, 5 114, 4
66, 2 142, 9
56, 7 97, 4
54, 6 148, 4
e
1, 5745
1, 7618
0, 4331
0, 0000
t
1, 4519
2, 0648
1, 4977
2, 1820
D
0, 5739
0, 6415
0, 4973
0, 6476
Analisando a tabela, vemos que, se o criterio escolhido fosse o erro relativo e, deveramos
escolher a regress
ao exponencial, com coecientes
a0 = 1, 0,
a1 = 2, 7183
o que e
obvio, pois os valores tabulados representam justamente fi = exi . Se, no entanto,
utiliz
assemos como medida o desvio relativo em relac
ao `
a media, t, escolheramos a regress
ao
linear, com
a0 = 54, 9388, a1 = 33, 8599
que certamente n
ao seria uma boa escolha; nalmente, escolhendo o coeciente de variac
ao da
amostra, a regress
ao potencial seria escolhida, com
a0 = 1, 9785,
a1 = 2, 4216
2
1
0
1
2
8, 0064 2, 6319 0, 2337 2, 1888 8, 3132
153
Introduca
o ao C
alculo Numerico
1
2
3
4
5
4, 2 4, 3 4, 3 4, 3 4, 3
8, 2 2, 3 0, 4 2, 3 8, 2
2, 5 2, 5 2, 5 2, 4 2, 4
e
t
D
17, 2885 0, 0080 0, 0032
0, 5724 0, 9220 0, 4275
9, 5135 0, 0219 0, 0086
Analisando a tabela, vemos que, se o criterio escolhido fosse o erro relativo e, deveramos
escolher a regress
ao quadr
atica, com coecientes
a0 = 0, 3675,
a1 = 0, 0171,
a2 = 1, 9536;
j
a para as outras duas medidas, a regress
ao escolhida seria a linear, com
a0 = 4, 2748,
a1 = 0, 0171
Analisando-se o gr
aco na gura (8.5), observa-se que a regress
ao quadr
atica e melhor, evidentemente.
Os exemplos aqui apresentados mostram que o ajuste de dados experimentais e um processo
numerico que deve ser usado tomando-se cuidado ao se selecionar uma dada regressao, se possvel
fazendo-se o graco dos dados experimentais e da curva de regress
ao.
8.7
Mesmo no caso em que a forma analtica da funcao f e conhecida, `as vezes e de interesse aproximala no intervalo I = [xI , xF ] por uma funcao g da famlia
m
ak gk (x)
(8.26)
k=0
154
Introduca
o ao C
alculo Numerico
Famlia de fun
c
oes
Condi
c
oes
Reta - y = a0 + a1 x
f [xi+1 , xi ] const.
Par
abola - y = a0 + a1 x + a2 x2
Funcao exponencial - y = c ea x
ln yi
const.
xi
Funcao potencia - y = a xb
ln yi
const.
ln xi
1
yi
const.
xi
1
Funcao hiperb
olica - y =
a0 + a1 x
Funcao do tipo y =
xi
yi
const.
xi
x
a0 + a1 x
1
Funcao do tipo y =
a0 + a1 x + a2 x2
1
1
yi+1
yi
const.
xi+2 xi
ln yi+1 ln yi
const.
xi+2 xi
155
Introduca
o ao C
alculo Numerico
` vezes, por exemplo, tem-se uma funcao com descontinuidades, mas quermais conveniente. As
se trabalhar com uma funcao contnua. A primeira vista, seria possvel recair no caso discreto
tabelando a funcao dada em alguns pontos; entretanto, isto pode causar perda de informacao sobre
o comportamento do erro.
Ao se considerar a soma dos quadrados dos resduos em todos os pontos do intervalo [xI , xF ],
tem-se, no limite, a integral do quadrado do resduo em cada ponto do intervalo em que se quer
aproximar a funcao dada. Geometricamente, isto representa a area entre as curvas f (x) e g(x).
Assim, e necessario determinar a0 , a1 , . . . , am que minimizam
xF
M (a0 , a1 , . . . , am ) =
r2 (x) dx
x
xI F
=
(f (x) g(x))2 dx
x
xI F
(f (x) a0 g0 (x) a1 g1 (x) . . . am gm (x))2 dx
(8.27)
=
xI
xF
f (x)
xI
2
m
ak gk (x)
gl (x) dx = 0
0 l m.
(8.28)
k=0
Usando a denicao de produto escalar de duas funcoes w(x) e q(x) no intervalo [xI , xF ] como
xF
< w, q >=
w(x) q(x) dx
xI
..
..
.
.
< gm , g0 >
. . . < g0 , gm >
a0
< g0 , f >
. . . < g1 , gm >
a1 < g 1 , f >
.. =
..
..
..
.
.
.
.
< gm , g1 > . . . < gm , gm >
< gm , f >
am
(8.29)
g1 (x) = x
f (x) = ex
156
Introduca
o ao C
alculo Numerico
Como
< 1, 1 > =
1 dx = 1
0
x dx =
< 1, x > =
0
< x, x > =
0
< 1, ex > =
< x, ex > =
1
2
x2 dx =
1
3
ex dx = e 1
x ex dx = 1
tem-se
1
2 a0
e1
a1 =
1
1
1
2 3
A soluca
o a0 = 4 e 10 e a1 = 18 6 e determina a func
ao aproximadora g(x) = 4 e 10 +
(18 6 e) x.
8.7.1
Polin
omios ortogonais
ak gk (x)
(8.30)
k=0
pelo metodo dos mnimos quadrados, e necessario resolver um sistema linear de equacoes denominado sistema normal. Se um conjunto de funcoes {gk }, k = 0, 1, . . . , m tais que
k
= l,
< gk , gl >= 0
0 k, l m
(8.31)
para
k
= l
(8.33)
< pk , pk >
>
para
k = 0, 1, . . .
(8.34)
(8.35)
157
Introduca
o ao C
alculo Numerico
Sendo assim,
p0 (x)
p1 (x)
=
=
1 x0 = 1
1 x1 + c0 x0 = x + c0
p2 (x)
1 x2 + d1 x1 + d0 x0 = x2 + d1 x + d0
< pk , f >
< pk , pk >
Logo,
a0
< 1, e >
= 0
< 1, 1 >
0
a1
a2
ex dx
=e1
dx
1
e
x
dx
< x 12 , ex >
2
0
= 6 (3 e)
=
2
1
< x 12 , x 12 >
1
dx
x
2
0
1
1
x
2
e
x
+
x
dx
< x2 x + 16 , ex >
6
0
= 30 (7 e 19)
=
2
1
< x2 x + 16 , x2 x + 16 >
1
2
dx
x x+
6
0
Portanto,
1
1
2
g(x) = (e 1) + 6 (3 e) x
+ 30 (7 e 19) x x +
2
6
Um exemplo importante de uma famlia de polin
omios ortogonais e a dos polin
omios de Legendre, que obedecem `a seguinte denicao:
1
pn (x) pm (x) dx
(8.36)
< pn , pm > =
1
se
m
= n
2
2n+ 1
se
m=n
(8.37)
158
Introduca
o ao C
alculo Numerico
p1 (x) = x,
p2 (x) =
1
(3 x2 1)
2
(8.38)
(x + 1)
2
Nestas condic
oes,
f (t(x)) = sen t(x) = sen
(x + 1) = F (x).
2
A par
abola que se quer obter pelo metodo dos mnimos quadrados e
G(x) + a0 1 + a1 x + a2
1
(3 x2 1)
2
Como os polin
omios de Legendre s
ao ortogonais, emprega-se (8.32) para determinar os coecientes
abola:
a0 , a1 e a2 da par
a0
a1
a2
<
<
<
<
<
<
F, p0
p0 , p0
F, p1
p1 , p1
F, p2
p2 , p2
2
>
=
>
>
=0
>
10
>
12
=
1 2
>
Desta forma,
G(x) =
10
2
12 1
+
(3 x2 1)
1 2
para
x [1, 1]
t 1, obtem-
que e a func
ao aproximadora desejada.
8.8
Exerccios
Exerccio 8.1 Utilize o metodo dos mnimos quadrados para encontrar a reta que melhor se ajusta
aos pontos da tabela.
159
Introduca
o ao C
alculo Numerico
x
y
0
9
1
7
2
5
3
4
4
3
5
0
6
1
7, 5
1409
10, 9
1276
14, 0
1175
15, 0
1148
16, 0
1121
18, 0
1069
21, 0
990
Exerccio 8.6 Admita que a venda de peixes de um determinado mercado seja conforme a tabela
dia
n
umero de peixes
1
70
5
30
10
55
15
25
Determine a func
ao que melhor se ajusta aos dados.
Exerccio 8.7 Ajuste os dados da tabela utilizando
1. uma func
ao exponencial;
2. uma func
ao potencia.
x
y
1
0, 6
2
1, 9
3
4, 3
4
7, 6
5
12, 6
Depois, utilize o criterio dos mnimos quadrados para determinar qual das curvas, (1) ou (2),
e melhor.
Exerccio 8.8 Considere a incidencia de c
ancer, problemas cardacos e complicac
oes respirat
orias
em pacientes, conforme a idade, mostrados na tabela (por mil habitantes).
idade
5
15
25
35
45
55
65
incidencia
de c
ancer
0
0
1
3
6
12
30
problemas
cardacos
0
1
5
12
30
79
140
complicac
oes
respirat
orias
1
3
5
7
10
12
14
Identique as func
oes que melhor se ajustam aos problemas indicados conforme a idade.
Exerccio 8.9 Encontre a constante de acelerac
ao da gravidade g para o seguinte conjunto de
dados:
t
x
0, 200
0, 1960
0, 400
0, 7835
0, 600
1, 7630
0, 800
3, 1345
1, 000
4, 8975
160
Captulo 9
Integra
c
ao Num
erica
9.1
Introdu
c
ao
A integrac
ao numerica e o processo computacional capaz de produzir um valor numerico para a
integral de uma funcao sobre um determinado conjunto. Ela difere do processo de antidiferenciac
ao,
aprendido em C
alculo, na medida em que nao se procura uma funcao F tal que F = f ; aqui,
vamos procurar substituir f por uma outra funcao, g tal que f g mais amena `a integracao
(por exemplo, g e um polin
omio). Nesse caso, a solucao numerica de
f (x) dx
(9.1)
ser
a obtida calculando-se
g(x) dx,
gf
9.2
Integra
c
ao num
erica via interpola
c
ao polinomial
n
(9.2)
i=0
onde
li (x) =
n
x xj
,
x
i xj
j=0
i = 0, 1, . . . , n
(9.3)
j=i
f (x) dx
p(x) dx =
a
n
i=0
f (xi )
li (x) dx
(9.4)
a qual pode ser usada para calcular a integral de qualquer funcao. A equacao acima pode ser
reescrita na forma
b
n
f (x) dx
Ai f (xi )
(9.5)
a
i=0
161
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
Ai =
li (x) dx
a
9.2.1
Regra do Trap
ezio
bx
,
ba
l1 (x) =
1
l0 (x) dx = (b a) =
2
A0 =
a
xa
ba
b
l1 (x) dx = A1
a
f (x) dx
ba
(f (a) + f (b))
2
(9.6)
1
(b a)3 f (),
12
a<<b
(9.7)
Ao usarmos a regra do trapezio, estamos substituindo a funcao f por uma reta, no intervalo
claro que essa aproximacao pode ser bastante crua, se | b a | e
[a, b], conforme a gura 9.1. E
grande (o contr
ario tambem e verdade).
162
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
A=
x2 + 3x dx
x3
3
21
14
(4 + 10) =
=7
2
2
de onde podemos calcular o erro como sendo igual a 6, 8333 7 = 0, 1667. Usando a f
ormula
(9.7), com f = 2, obtemos o valor
1
1
(2 1)3 2 = = 0, 1667
12
6
f (x) dx
n
xi
f (x) dx
xi1
i=1
1
(xi xi1 ) (f (xi1 ) + f (xi ))
2 i=1
n
(9.8)
A regra composta do trapezio nos leva a` aproximacao da funcao f (x) por um conjunto de retas
unindo cada um dos n
os xi , dois a dois, conforme a gura 9.2-a.
Se o espacamento entre os nos e igual, i.e. xi = a+ih, h = ba
ao obtemos a regra composta
n , ent
uniforme do trapezio,
n1
b
h
f (a) + 2
f (x) dx
f (a + ih) + f (b)
(9.9)
T (f, h) =
2
a
i=1
conforme a gura 9.2-b. O erro de truncamento E(f, h) associado a essa aproximacao e estimado
por
h2
(b a) max | f (x) |.
(9.10)
E(f, h)
12
x[a,b]
Exemplo 9.2 Calcule a integral
A=
x2 + 3x dx
163
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
1. Usando a f
ormula (9.8), para n = 2 e usando x0 = 1, x1 = 1, 1 e x2 = 2, temos
A=
1
[(1, 1 1)(4 + 4, 51) + (2 1, 1)(4, 51 + 10)] = 6, 9550
2
1
[(1, 5 1)(4 + 6, 75) + (2 1, 5)(6, 75 + 10)] = 6, 8750
2
0, 00
6, 0
0, 25
7, 5
0, 50
8, 0
0, 75
9, 0
1, 00
8, 5
1, 25
10, 5
1, 50
9, 5
1, 75
7, 0
2, 00
6, 0
Como a dist
ancia percorrida (d) e calculada como
d=
v(t) dt,
0
0, 25
[6 + 2 (7, 5 + 8, 0 + 9, 0 + 8, 5 + 10, 5 + 9, 5 + 7, 0)) + 6] .
2
3
1
dx
72x
h
2, 0
1, 0
0, 5
0, 25
0, 125
0, 0625
A
0, 800000
0, 800000
0, 803183
0, 804311
0, 804615
0, 804693
E(f, h)
0, 004719
0, 004719
0, 001536
0, 000408
0, 000104
0, 000026
3
x
1 1+x2
dx.
164
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
n
1
2
4
8
16
32
h
2, 0
1, 0
0, 5
0, 25
0, 125
0, 0625
A
1, 200000
0, 933333
0, 841667
0, 814484
0, 807203
0, 805343
E(f, h)
0, 395281
0, 128614
0, 036948
0, 009765
0, 002484
0, 000624
3
dx
1 72 x .
9.2.2
M
etodo dos Coeficientes a Determinar
A equacao (9.5) (f
ormula de Newton-Cotes) e um caso particular do metodo dos coecientes a
determinar.
Suponha, por exemplo, que n = 2 e [a, b] = [0, 1]. Nesse caso, os polinomios de Lagrange,
escritos para os n
os 0, 12 e 1, sao
1
l0 (x) = 2(x )(x 1),
2
1
l2 (x) = 2x(x )
2
A1
=
0
l0 dx =
1
6
l1 dx =
2
3
l2 dx =
1
6
=
A2
Os mesmos coecientes Ai podem ser obtidos usando o metodo aqui descrito. Suponha que
1
1
f (x) dx A0 f (0) + A1 f
+ A2 f (1)
2
0
a qual deve ser exata para qualquer polin
omio de grau igual ou inferior a 2. Para determinar os
coecientes, usamos as funcoes base 1, x e x2 i.e., p(x) = c0 + c1 x + c2 x2 e escrevemos
0
0
1
dx
1 = A0 + A1 + A2
x dx
1
1
= A1 + A2
2
2
x2 dx
1
1
= A1 + A2
3
4
0
1
A0 + A1 + A2
1
2 A1 + A2
1
4 A1 + A2
=
=
=
1
2
1
3
165
Introduca
o ao C
alculo Numerico
9.2.3
Integrac
ao Numerica
Regra de Simpson
A regra de Simpson e obtida a partir do metodo dos coecientes a determinar, generalizada para
um intervalo de integracao [a, b] qualquer. Ela e obtida a partir da integral de um polin
omio
interpolador de segundo grau p2 (x) que passa por tres pontos igualmente espacados, (a, f (a)),
(m, f (m)), e (b, f (b)), onde m = (a + b)/2. Assim, tomando h = ba
2 , tem-se
b
b
2 f (a)
f (a)
+ (x a)(x m)
p2 (x) dx =
f (a) + (x a)
dx
(9.11)
h
2 h2
a
a
Para facilitar o calculo, faz-se a mudanca de variavel x() = a + h. Assim, enquanto x
percorre o intervalo [a, b], percorre o intervalo [0, 2] e dx = h d. Desta maneira,
2
b
2 f (a)
p2 (x) dx =
f (a) + f (a) + ( 1)
hd
2
a
0
h
[f (a) + 4 f (m) + f (b)]
(9.12)
=
3
de onde a f
ormula de Simpson pode ser escrita como
b
ba
a+b
h
f (x) dx [f (a) + 4 f (m) + f (b)] =
f (a) + 4f
+ f (b)
3
6
2
a
(9.13)
1
(b a)5 f (4) (),
90
a<<b
(9.14)
Usando a mesma estrategia da regra composta uniforme do trapezio, podemos obter a regra
composta uniforme de Simpson, para um n
umero n par 1 de subintervalos. Nesse caso, temos
x2
x4
xn
b
f (x) dx =
f (x) dx +
f (x) dx + . . . +
f (x) dx
a
x0
x2
n
2
x2i
i=1
x2i2
xn2
f (x) dx
n
n
b
2
2
h
f (x) dx f (x0 ) + 2
f (x2i2 ) + 4
f (x2i1 ) + f (xn )
S(f, h) =
3
a
i=2
i=1
O erro associado e
1
(b a)h4 f (4) (),
180
A=
a<<b
(9.15)
(9.16)
x2 + 3x dx
21
[4 + 4 6, 75 + 10] = 6, 8333
6
e o erro e nulo, comparado com o valor da integral denida (= 6, 8333). Note que, para a func
ao
ao da integral pela regra de Simpson deve ser exata.
em quest
ao, f (4) = 0 e, portanto, a aproximac
1E
necess
aria essa restric
ao devido `
a forma como a regra de Simpson foi definida.
166
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
1
16
h
[f (0) + 4 f (1) + f (2) ] = [2 + 12 + 2] =
.
3
3
3
volume =
[R(x)]2 dx,
onde o s
olido e obtido pela rotac
ao da regi
ao sob a curva y = R(x), a x b, em torno do eixo
x. Use a f
ormula de Simpson para aproximar o volume do s
olido de revoluc
ao, onde o raio R(x)
da posica
o ao longo do eixo x e dado na tabela
x
R(x)
0
6, 2
1
5, 8
2
4, 0
3
4, 6
4
5, 0
5
7, 6
6
8, 2
9.2.4
2
2
2
2
2
2
2
[f (x0 ) + 4 (f (x1 ) + f (x3 ) + f (x5 ) ) + 2 (f (x2 ) + f (x4 ) ) + f (x6 ) ]
3
[(6, 2)2 + 4 ((5, 8)2 + (4, 6)2 + (7, 6)2 ) + 2 ((4, 0)2 + (5, 0)2 ) + (8, 2)2 ]
[38, 44 + 4 (33, 64 + 21, 16 + 57, 76) + 2 (16, 00 + 25, 00) + 67, 24]
3
668, 03
Esta regra calcula uma aproximacao por Simpson com uma combinacao linear de f
ormulas dos
trapezios, {T (J)}. Para J 1, divide-se o intervalo [a, b] em 2 n = 2J subintervalos de igual
e usa-se os pontos a = x0 < x1 < . . . < x2 n = b, xk = a + h k para k =
espacamento h = ba
2J
0, 1, . . . , 2 n. A regra dos trapezios T (f, h) e T (f, 2 h) para espacamentos h e 2 h, respectivamente,
obedece a relacao
n
T (f, 2 h)
+h
f (x2 k1 ).
(9.17)
T (f, h) =
2
k=1
h
2 (f (a)
+ f (b)), ent
ao para qualquer inteiro positivo J dene-se T (J) = T (f, h)
Denindo T (0) =
e T (J 1) = T (f, 2 h), o que permite escrever a f
ormula acima como
n
T (J 1)
+h
T (J) =
f (x2 k1 )
2
para
J = 1, 2, . . .
(9.18)
k=1
dx
x
Solu
c
ao: Neste caso, a = 1, b = 5 e f (x) = x1 .
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
167
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
1. C
alculo de S(1): Para calcular a primeira aproximac
ao, S(1), e preciso conhecer T (0) e
T (1):
(a) C
alculo de T (0): se J = 0, conseq
uentemente h = b a = 4. Logo,
T (0) = 4
1
1
+
2
1
5
= 2, 4
(b) C
alculo de T (1): se J = 1, conseq
uentemente n = 1 e h =
x1 = a + h = 3,
ba
21
= 2. Logo, com
2, 4
T (0)
1
+ h f (x1 ) =
+ 2 = 1, 866666
2
2
3
T (1) =
Assim,
S(1) =
4 T (1) T (0)
= 1, 688888
3
2. C
alculo de S(2): como T (1) j
a e conhecido, calcula-se apenas T (2) com n = 2, h =
x1 = a + h = 2 e x3 = a + 3 h = 4:
ba
22
= 1,
T (2) =
=
=
de forma que
S(2) =
T (1)
+
[f (x1 ) + f (x3 )]
2
k=1
1 1
1, 866666
+
+
2
2 4
1, 683333
4 T (2) T (1)
= 1, 622222
3
3. C
alculo de S(3): como T (2) j
a e conhecido, calcula-se T (3) com n = 4, h =
x1 = a + h = 1, 5, x3 = a + 3 h = 2, 5, x5 = a + 5 h = 3, 5 e x7 = a + 7 h = 4, 5:
ba
23
= 0, 5,
T (3) =
=
=
T (2)
+
[f (x1 ) + f (x3 ) + f (x5 ) + f (x7 )]
2
k=1
1
1
1
1
1, 683333
+ 0, 5
+
+
+
2
1, 5 2, 5 3, 5 4, 5
1, 628968
ou seja,
S(3) =
9.2.5
4 T (3) T (2)
= 1, 610846
3
Mudan
ca do intervalo de integra
c
ao
f (t) dt
n
Ai f (ti )
(9.20)
i=0
168
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
ad bc
ba
t+
,
dc
dc
ctd
(9.21)
Escrevendo, agora, x = (t), temos dx = (t) dt = (b a)(d c)1 dt, de onde escrevemos a
integral (9.1) como
ba
dc
f (x) dx
ba
dc
de onde
a
1 (b)=d
f ((t)) dt
1 (a)=c
n
Ai f ((ti ))
i=0
ba
f (x) dx
Ai f
dc
n
i=0
ba
ad bc
ti +
dc
dc
(9.22)
A funcao de transformacao (t) deve ser linear de forma que f ((t)) seja polinomial e de mesmo
grau que f .
9.2.6
Quadratura Gaussiana
As regras de integracao vistas nas secoes anteriores sao todas baseadas na determinacao de
coecientes Ai tal que a aproximacao da funcao integranda f e exata para polin
omios de grau
igual ou inferior a n.
No entanto, e possvel escolher outros nos que levem a uma reducao no volume de c
alculo
ao a forma de Newton-Cotes (9.5) pode ser
necessario. Por exemplo, se Ai = c, 0 i n, ent
escrita como
b
n
f (x) dx c
f (xi)
(9.23)
a
i=0
f (x)w(x) dx
n
Ai f (xi )
(9.24)
i=0
onde w e uma funcao positiva de ponderacao. Assumindo que (9.24) e exata para qualquer funcao
polinomial de grau menor ou igual a n, isso nos leva a determinar os coecientes Ai como
Ai =
w(x)
a
n
x xj
dx
x
i xj
j=0
j=i
Carl Friedrich Gauss (1777-1855) mostrou que e possvel determinar-se esses coecientes de tal
forma que a aproximacao para f seja exata para polin
omios de grau igual ou inferior a 2n + 1,
mas com apenas n avaliacoes.
As f
ormulas de Gauss para a integracao de f sao exatas para polin
omios de grau menor
ou igual a 2 n + 1, de forma que a determinacao dos pontos x0 , x1 , . . . , xn em que e necessario
169
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
(9.25)
g(t) t2 e
g(t) t,
g(t) t3
ou seja
1 dt
= w0 g(t0 ) + w1 g(t1 ) = w0 + w1 = 2
t dt
= w0 g(t0 ) + w1 g(t1 ) = w0 t0 + w1 t1 = 0
1
1
1
1
1
1
t2 dt
t3 dt
=
w0 + w1
w0 t0 + w1 t1 =
w0 t20 + w1 t21 =
w0 t30 + w1 t31 =
2
0
2/3
0
(9.28)
3
3
t1 =
3
3
w0 = w1 = 1,
(9.29)
170
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
O mesmo procedimento pode ser usado para determinar a formula geral (9.25). Supondo que
F (t) represente os polinomios especiais tk para k = 0, 1, . . . , 2n + 1, observa-se que
k
t dt =
1
0
2
k+1
se k e mpar
(9.30)
se k e par
e a solucao do sistema n
ao linear que se origina destas equacoes e bastante complicada. Usando
ent
ao a teoria dos polin
omios ortogonais, pode ser visto que os tk sao as razes de polin
omios de
Legendre2 e os coecientes wk devem ser obtidos pela solucao do sistema de equacoes. Alguns
dos valores de tk e wk sao mostrados na tabela 9.3; para quadraturas de maior ordem, pode-se
recorrer aos valores tabelados em varios livros de referencia.
n
1
tk
0, 57735027
0, 57735027
0, 77459667
0, 00000000
0, 77459667
0, 86113631
0, 33998104
0, 86113631
0, 33998104
0, 90617985
0, 53846931
0, 00000000
0, 90617985
0, 53846931
wk
1, 00000000
1, 00000000
0, 55555555
0, 88888888
0, 55555555
0, 34785485
0, 65214515
0, 34785485
0, 65214515
0, 23692689
0, 47862867
0, 56888889
0, 23692689
0, 47862867
k
0
1
0
1
2
0
1
2
3
0
1
2
3
4
q (x)w(x) dx,
a
q(x) =
n1
(x xi ), a < < b
(9.31)
i=0
polin
omios de Legendre s
ao definidos pela seguinte f
ormula de recorrencia:
p0 (x)
p1 (x)
pm+1 (x)
1
{(2 m + 1) x pm (x) m pm1 (x)} ,
m+1
m = 1, 2, . . .
Suas razes s
ao todas reais e distintas e situam-se no intervalo [1, 1]. Estas razes est
ao simetricamente situadas
com respeito `
a origem e se m
e mpar, uma raiz de pm (x)
e sempre x = 0.
171
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
A=
x2 + 3x dx
I=
1
w0 = 0, 55555555
t1 = 0, 00000000
t2 = 0, 77459667
w1 = 0, 88888888
w2 = 0, 55555555
Logo,
I
= 0, 55555556 (0, 77459667)4 + 1
+ 0, 88888889 (0, 00000000)4 + 1
+ 0, 55555556 (0, 77459667)4 + 1
= 2, 4
dx
x
172
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
dx
x
51
[w0 F (t0 ) + w1 F (t1 ) + w2 F (t2 )]
2
51
1
1
1
0, 55555556
+ 0, 88888889
+ 0, 55555556
2
2 t0 + 3
2 t1 + 3
2 t2 + 3
1, 602694
9.3
Integra
c
ao de fun
c
oes mal comportadas
1
0
ex
d x.
x
Solu
c
ao:Como esta func
ao tem uma singularidade, e preciso fazer uma mudanca de vari
avel que
a elimine. Neste caso, pode-se fazer
x = u2
dx = 2u du
de forma que
0
ex
dx
x
= 2
0
= 2
eu
udu
u
2
eu d u
sen x dx
Solu
c
ao:Como o integrando possui uma tangente vertical, a velocidade de integrac
ao ca muito
lenta. Se o metodo escolhido fosse trapezios, por exemplo, seriam necess
arias mais de 500 subdivis
oes
do intervalo de integrac
ao [0, 1] para que se obtivesse quatro casas decimais repetidas.
Neste caso, tambem e possvel fazer a mudanca de vari
avel,
sen x = u2
2u du
dx =
,
1 u4
173
Introduca
o ao C
alculo Numerico
de maneira que
Integrac
ao Numerica
sen x dx = 2
sen 1
u2
du.
1 u4
sen x dx =
9.4
0,3
sen x dx + 0, 3 sen 0, 3
sen 0,3
arcsin y 2 dy
Intervalos de integra
c
ao infinitos
9.5
Exerccios
ex dx
174
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
10
log x dx
6
utilizando a f
ormula de Simpson para 8 subintervalos e delimite o erro de truncamento.
Exerccio 9.4 Encontre n e h tal que o erro para a f
ormula de Simpson seja menor do que
5 109 quando se quer aproximar
7
dx
x
2
Depois, faca o mesmo para a f
ormula dos trapezios e compare os resultados.
Exerccio 9.5 Calcular uma aproximac
ao de
1
0
1
dx
1 + x2
x2 dx
com 4 pontos
10
ex dx
com 2 pontos
Depois, calcule o erro exato (diferenca entre o valor da integral calculada com as regras do
C
alculo e o valor obtido por quadratura) e use este valor para estimar o n
umero mnimo de pontos
necess
arios para calcular esta integral com a regra dos trapezios.
Exerccio 9.8 Sugira uma mudanca de vari
avel adequada para o c
alculo da integral:
1
sen x
dx.
1 x2
0
Depois, encontre uma aproximac
ao para o seu valor.
Exerccio 9.9 Utilize a regra de Simpson com exatid
ao crescente para calcular
1
x
dx
4
x2
0
175
Introduca
o ao C
alculo Numerico
Integrac
ao Numerica
Figura 9.2: A regra do trapezio composta: (a) subintervalos de qualquer tamanho, (b) subintervalos
de tamanhos iguais.
176
Introduca
o ao C
alculo Numerico
Figura 9.3: Gr
aco de
Integrac
ao Numerica
1
x+ex +x2
() e
1
x+x2
().
177
Captulo 10
Solu
c
ao Num
erica de Equa
c
oes
Diferenciais Ordin
arias
10.1
Introdu
c
ao
(10.1)
(10.2)
178
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
(10.3)
Sua solucao e uma funcao (x) n vezes diferenciavel em um intervalo determinado e que satisfaz
(10.3), isto e,
(10.4)
(n) = f (x, , , . . . , (n1) ).
Exemplo 10.3
dy
= x + y equac
ao diferencial ordin
aria
dx
2u 2u
+ 2 = 0 equac
ao diferencial parcial
x2
y
Diz-se que a ordem de uma equac
ao diferencial e a ordem da mais alta derivada que aparece
na equac
ao. Uma equaca
o diferencial e linear se a func
ao e suas derivadas aparecem linearmente
na equaca
o.
Exemplo 10.4
x y = x y
y + (1 y ) y + y = 0
equac
ao diferencial linear
equac
ao diferencial n
ao linear
y(L) = y (L) = 0
e um PVC
Embora existam v
arias tecnicas para solucionar, de forma aproximada, algumas classes selecionadas
de equacoes diferenciais, a grande maioria das equacoes encontradas na pr
atica n
ao podem ser
solucionadas analiticamente. N
ao existe, por exemplo, nenhuma expressao fechada para a
solucao de y = x3 + y 2 com y(0) = 0. Neste caso, os recursos disponveis sao os metodos
numericos, que aproximam a solucao desejada.
Um procedimento numerico para calcular a solucao de um dado PVI e um algoritmo para
calcular os valores aproximados y0 , y1 , y2 , . . . , yn , . . . da solucao y = (t) em um conjunto de
pontos t0 < t1 < t2 < . . . < tn . . ., conforme a gura 10.1.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
179
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
10.2
d
dt x(t).
(10.5)
A funcao f d
a a inclinacao de x no ponto t. Por
x = tan(t + 3)
x(1) = 1
(10.6)
180
Introduca
o ao C
alculo Numerico
10.2.1
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Exist
encia da Solu
c
ao
10.2.2
Erros na solu
c
ao num
erica
10.2.3
M
etodo da S
erie de Taylor
Usualmente, um metodo numerico para a solucao de uma equacao diferencial produz um conjunto
de valores; em nosso caso, para o problema (10.5), teramos os pares (t0 , x0 ), (t1 , x1 ), . . ., (tm , xm ).
Isso nos mostra que a solucao numerica e sempre discreta; obviamente, uma expressao analtica,
contnua, pode ser obtida atraves da interpolacao de uma spline ou outra funcao aos pontos
calculados (ver Captulo 7).
181
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Mais uma vez, consideremos o problema (10.5); f e uma funcao de duas vari
aveis, e (t0 , x0 )
um ponto u
nico atraves do qual passa a curva solucao. Essa soluc
ao e uma funcao x(t) tal que
dx(t)
= f (t, x(t))t,
dt
| t t0 |
1
com x(t0 ) = x0 .
O metodo da serie de Taylor consiste em obtermos uma expansao em x de f (x, t), de acordo com
a serie de Taylor, ate um determinado n
umero de termos; uma vez obtida a expansao, integramo-la
num intervalo [t0 , t1 ] e [x0 , x1 ]. Considere, entao, o problema
x = cos t senx + t2
(10.8)
x(1) = 3
Escrevendo a serie de Taylor para x, temos
x(t + h) = x(t) + hx (t) +
h2
h3
h4
x (t) + x (t) + x(4) (t) + . . .
2!
3!
4!
=
=
sent x cos x + 2t
cos t x cos x + (x )2 senx + 2
(10.9)
(10.10)
x(4)
(10.11)
dsen x(t)
,
dt
182
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Vantagens e desvantagens
10.2.4
M
etodo de Euler
O metodo de Euler e uma simplicacao do metodo de Taylor, e nada mais e do que um metodo
de Taylor de 1a ordem, i.e.
xt+h = x(t) + hf (t, x)
(10.13)
O metodo de Euler, o qual pode ser expresso atraves do algoritmo 10.2.2, e bastante utilizado, por
n
ao exigir mais do que e expresso na denicao de um problema do tipo (10.5), apesar de apresentar
um ETL de ordem O(h).
Cabe ressaltar que a primeira tentativa de resolucao numerica de uma equacao diferencial foi
feita por Euler, por volta de 1768 D.C.
Algoritmo 10.2.2 Metodo de Euler
proc euler(input: h, t0 , t1 , x0 ; output: x)
0|
n | t1| t
h|
t t0
x x0
for k 0, 1, . . . , n do
x x + hf (t, x)
tt+h
endfor
endproc
183
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
y(0) =
1t+4y
(10.14)
(10.15)
A equac
ao (10.14) e do tipo diferencial linear de primeira ordem, sendo f
acil vericar que a
soluca
o que cumpre a condic
ao inicial (10.15) e
y = (t) =
1
3
19 4 t
t
+
e .
4
16 16
Assim, com a f
ormula de Euler e um incremento h = 0, 1 e possvel determinar um valor
aproximado para a soluc
ao em t = 0, 2 do PVI acima.
Neste caso, f (t, y) = 1 t + 4 y. Para usar a aproximac
ao de Euler, calcula-se inicialmente
f0 = f (0, 1) = 5. Ent
ao:
y1
= y0 + h f (0, 1)
= 1 + (0, 1) (5)
= 1, 5,
Na etapa seguinte,
y2
=
=
y1 + h f (t1 , y1 )
1, 5 + (0, 1) f (0, 1 , 1, 5)
=
=
1, 5 + (0, 1) (6, 9)
2, 19,
Este resultado pode ser comparado com o valor exato de (0, 2) que e (0, 2) = 2, 5053299.
Logo, o erro e aproximadamente 2, 51 2, 19 = 0, 32. Um erro desta grandeza (erro percentual de
12%) n
ao e normalmente aceit
avel.
Sugest
ao: Experimente refazer seus c
alculos considerando espacamentos progressivamente menores
e observe o que acontece.
10.2.5
M
etodo de Heum
Este metodo introduz uma ideia nova para a construcao de um algoritmo para solucao do problema
de valor inicial
y (t) =
f (t, y(t))
y(t0 ) =
y0
onde a antiderivada de y (t) e a funcao desejada, y(t). Quando a equacao (10.16) e resolvida para
y(t1 ) o resultado e
t1
f (t, y(t)) dt.
(10.17)
y(t1 ) = y(t0 ) +
t0
Agora, usando integracao numerica, pode-se aproximar a integral denida em (10.17). A regra
dos trapezios com passo h = t1 t0 fornece
y(t1 ) y(t0 ) +
h
[f (t0 , y(t0 )) + f (t1 , y(t1 ))] .
2
(10.18)
184
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
h
[f (t0 , y0 ) + f (t1 , y0 + h f (t0 , y0 ))] .
2
(10.19)
= yn + h f (tn , yn )
h
= yn + [f (tn , yn ) + f (tn+1 , pn+1 )]
2
(10.20)
(10.21)
h3
max (t)
tI
12
(10.22)
onde y = (t) e a solucao exata e o erro de truncamento global, ou seja, o erro acumulado depois
de m passos, e da forma
| En | C h2
onde C e uma constante. Portanto, quando o passo h e reduzido por um fator de 12 , pode-se
esperar que o erro de truncamento global seja reduzido por um fator de 14 .
Observaca
o: A f
ormula de Heum e um exemplo de um metodo em dois estagios: calcula-se primeiro
ormula de Euler e depois utiliza-se este resultado para calcular yn+1 com a equacao
yn + h fn pela f
(10.21). O aprimoramento da equacao (10.21) em relacao `a f
ormula de Euler esta no fato de que
o erro de truncamento local da equacao (10.21) e O(h3 ), ao passo que, para o metodo de Euler,
este e O(h2 ). Note que esta melhoria de precisao e conseguida com maior esforco computacional,
pois e preciso estimar f (t, y) duas vezes a m de passar de tn para tn+1 .
Se f (t, y) depender exclusivamente de t e nao de y, a resolucao da equacao diferencial y =
f (t, y) se reduz `a integracao de f (t). Neste caso, o metodo de Heum reduz-se a
h
[f (tn ) + f (tn+1 )] ,
2
que e a regra dos trapezios para integracao numerica.
yn+1 = yn +
Exemplo 10.7 Use o metodo de Heum com h = 1 para aproximar y(2) para o problema
ty
2
y(0) = 1
y
y1
=
=
h
[f (t0 , y0 ) + f (t1 , p1 )]
2
1
1 + (0, 5 + 0, 25) = 0, 875
2
y0 +
185
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
=
=
y1 + h f (t1 , y1 )
1 0, 875
= 0, 9375
0, 875 + 1
2
e
y2
=
=
10.2.6
h
[f (t1 , y1 ) + f (t2 , p2 )]
2
1
0, 875 + (0, 0625 + 0, 53125) = 1, 171875
2
y1 +
M
etodos de Runge-Kutta
h2
h3
x (t) + x (t) + . . .
2!
3!
(10.23)
x (t) =
x (t) =
f
ft + fx x = ft + fx f
ftt + ftx f + (ft + fx f )fx + f (fxt + fxx f )
(10.24)
onde x x(t) e f f (t, x). Podemos eliminar de (10.24) os termos envolvendo as derivadas
parciais ft , fx , usando os primeiros termos da serie de Taylor em duas variaveis,
f (t + h, x + hf ) = f + hft + hf fx + O(h2 )
de onde (10.24) pode ser reescrita como
1
1
x(t + h) = x + hf + hf (t + h, x + hf ) + O(h3 )
2
2
e, descartando O(h3 ), escrevemos
1
x(t + h) = x(t) + (F1 + F2 ),
2
F1 = hf (t, x),
F2 = hf (t + h, x + F1 )
(10.25)
a qual e a f
ormula para o metodo de Runge-Kutta de segunda ordem, tambem chamado de metodo
de Heum.
De forma geral, temos
x(t + h) = x + w1 hf + w2 hf (t + h, x + hf ) + O(h3 )
(10.26)
186
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
(10.27)
e, comparando (10.24) com (10.27), vemos que as seguintes condicoes devem ser impostas:
w1 + w2 = 1
w2
= 12
(10.28)
w2
= 12
e, em (10.25), temos w1 = w2 = 1/2, = = 1.
10.2.6.1
M
etodo modificado de Euler
(10.29)
M
etodo de Runge-Kutta de 4a Ordem
10.2.6.3
F1
F2
F3
F4
1
x(t) + (F1 + 2F2 + 2F3 + F4 )
6
hf (t, x)
1
1
hf t + h, x + F1
2
2
1
1
hf t + h, x + F2
2
2
hf (t + h, x + F3 )
(10.30)
Erros do m
etodo de Runge-Kutta
Mais uma vez, nos deparamos com um ETL, o qual e da ordem de O(h5 ) para o metodo de
Runge-Kutta de 4a ordem. Vejam que no primeiro passo, um valor x
(t0 + h) e calculado; existe
tambem um valor x(t0 + h), o qual e o valor exato (e desconhecido), tal que o erro e = x x e
Ch5 , para h
1. O valor de C independe de h mas depende de t0 e de x.
Para estimar Ch5 , assumamos que C n
ao muda quando h e somado a t0 ; chamemos de u o
valor da solucao em t0 + h e de v o valor da solucao em t0 + h2 + h2 . Temos, entao,
x(t0 + h) =
x(t0 + h) =
v + Ch5
5
h
u + 2C
2
e, subtraindo v de u, obtemos
uv
(10.31)
1 24
Com isso, e possvel estimar o ETL, calculando-se | u v |, e vericando se ele encontra-se abaixo
ao estiver, ent
ao o passo h pode
de uma toler
ancia pre-especicada (por exemplo, 105 ). Se n
ser reduzido (normalmente pela metade); caso contr
ario, se o ETL e muito menor do que aquela
tolerancia, h pode ser aumentado (multiplicando-o por dois, normalmente).
Ch5 =
10.2.6.4
Avalia
c
ao da Fun
c
ao versus Ordem do M
etodo Runge-Kutta
187
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Ordem
Avaliacao
1
1
2
2
3
3
4
4
4
5
5
6
6
7
6
8
Tabela 10.1: N
umero de vezes que f (t, x) deve ser avaliada nos metodos de Runge-Kutta.
i
1
2
3
4
5
6
ai
ai b i
16
135
1
360
6656
12825
28561
56430
9
50
2
55
128
4275
2197
75240
1
50
2
55
ci
0
di1
0
1
4
3
8
12
13
1
4
3
32
1932
2197
439
216
8
27
1
1
2
di2
9
32
7200
2197
8
2
di3
di4
7296
2197
3680
513
3544
2565
845
4104
1859
4104
di5
11
40
M
etodo Adaptativo de Runge-Kutta-Fehlberg
ai Fi
(10.32)
bi Fi
(10.33)
i=1
x
(t + h) = x(t) +
Fi
i=1
= hf t + ci h, x +
i1
dij Fj ,
i = 1, 2, . . . , 6
(10.34)
j=1
onde os valores dos coecientes presentes nas equacoes (10.32)-(10.33) sao dados na tabela 10.2.
A equacao (10.32) e de quinta ordem e a equacao (10.33) e de quarta ordem. O ETL do metodo
RKF e dado pela diferenca entre ambas,
e = x(t + h) x
(t + h) =
(ai bi )Fi
(10.35)
i=1
5
4 , ou seja, Ch < 128 .
O algoritmo 10.2.3 ilustra o metodo de Runge-Kutta-Fehlberg, incorporando o controle do
passo apresentado.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
188
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
if | e | < 128
then
h 2h
endif
endwhile
endproc
10.2.7
M
etodos de passo m
ultiplo
tn+1
tn
tn+1
x(tn+1 ) = x(tn ) +
f (t, x(t))dt
(10.36)
tn
tn+1
(10.37)
tn
onde fi f (ti , x(ti )), e A, B, C e D sao coecientes obtidos exigindo-se que (10.37) seja exata
sempre que o integrando seja um polinomio de grau menor ou igual a 3. Usando a base de Newton
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
189
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
p0 (t)
p1 (t)
p2 (t)
p3 (t)
=
=
=
=
1
t
t(t + 1)
t(t + 1)(t + 2)
i = 0, 1, . . . n
1
1
. .
.
1
(10.38)
Como os pi sao conhecidos, o termo independente do sistema tem seus elementos perfeitamente
determinados:
1
1 dt = 1
0
t dt
1
2
t(t + 1) dt
5
6
t(t + 1)(t + 2) dt
9
4
1
0
1
1
1
1
1 2 3
2
6
6
forma matricial
1
A
1
B
= 25
C
6
9
D
4
cuja solucao e
55
59
37
9
,B= ,C=
,D= .
24
24
24
24
Assim, podemos escrever (10.37) como
A=
tn+1
f (t, x(t))dt
tn
h
(55fn 59fn1 + 37fn2 9fn3 )
24
h
(55fn 59fn1 + 37fn2 9fn3 )
24
(10.39)
190
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
para a integral em (10.36), e descartarmos o termo fn4 , podemos obter, de forma semelhante, a
f
ormula de Adams-Moulton de 4a ordem,
xn+1 = xn +
h
(9fn+1 + 19fn 5fn1 + fn2 )
24
(10.40)
1t+4y
1
f0 = 5
y1 = 1, 6089333
y2 = 2, 5050062
f1 = 7, 3357332
f2 = 10, 820025
y3 = 3, 8294145
f3 = 16, 017658
1. Usando a f
ormula de Adams-Bashforth, determina-se que y4 = 5, 7836305.
2. A f
ormula de Adams-Moulton leva a
` equac
ao
y4 = 4, 9251275 + 0, 15 y4,
de onde y4 = 5, 7942676.
3. Finalmente, usando o resultado da f
ormula de Adams-Bashforth como preditor, pode-se usar
a f
ormula (10.40) como corretor. O valor do preditor, y4 = 5, 7836305, leva a f4 = 23, 734522
e, de acordo com a equac
ao (10.39), o valor corrigido de y4 e 5, 7926721.
Considerando que o valor da soluc
ao exata no ponto t = 0, 4 seja (0, 4) = 5, 7942260, o
metodo de Adams-Bashforth, embora seja o mais simples e r
apido (j
a que envolve o uso de uma
u
nica f
ormula explcita), e o menos preciso. O uso da f
ormula de Adams-Moulton como correc
ao
aumenta o n
umero de c
alculos necess
arios, mas o metodo continua a ser explcito. Neste problema,
o erro no valor corrigido de y4 (y4 = 5, 7926721) e reduzido aproximadamente sete vezes em
relac
ao ao erro no valor do preditor (y4 = 5, 7836305). O metodo de Adams-Moulton sozinho
(y4 = 5, 7942676) e o que fornece o resultado mais preciso, com erro 40 vezes menor que o
necess
erro associado ao metodo preditor-corretor. E
ario n
ao esquecer, porem, que o metodo de
Adams-Moulton e implcito, o que signica que e preciso resolver uma equac
ao em cada passo.
Neste problema em quest
ao, a equac
ao e linear, de modo que a soluca
o n
ao e difcil de encontrar.
Entretanto, em outros problemas esta parte do processo pode ser muito mais demorada.
191
Introduca
o ao C
alculo Numerico
10.2.7.1
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Converg
encia, Estabilidade e Consist
encia
(10.41)
onde x0 , x1 , . . ., xk1 sao obtidos por algum outro metodo, e (10.41) e usada com n = k, k + 1,
. . .. A equacao (10.41) e dita ser implcita se bk = 0, pois xn aparecera em ambos os lados da
igualdade; caso contr
ario, o metodo e dito explcito.
Um metodo de passo m
ultiplo denido por (10.41) e dito ser convergente se
lim x(h, t) = x(t)
(10.42)
h0
com t xo, e h livre, para todo t num intervalo t0 t tm , desde que os valores iniciais satisfacam
a mesma equacao e f satisfaca o teorema basico de existencia de solucao (10.2.1), i.e.
lim x(h, t0 + nh) = x0 ,
h0
0n<k
(10.43)
1
4
1
fn + fn1 + fn2
3
3
3
(10.45)
1
3
192
Introduca
o ao C
alculo Numerico
10.2.7.2
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Erros de truncamento
Suponha que a equacao (10.41) foi utilizada para se calcular xn , e que xn1 , xn2 , . . . sao exatos,
i.e. xi = x(ti ) para i < n, onde x(t) e a solucao da equacao diferencial. Ent
ao, o ETL e denido
como e = x(tn ) xn . Este erro n
ao e devido a erros de arredondamento mas sim devido a`
formulacao (10.41).
Podemos denir um operador funcional linear L, correspondente a (10.41), dado por
Lx =
(10.46)
i=0
(10.47)
(ih)j
j=0
x (ih) =
j!
(ih)j
j=0
j!
x(j) (0)
x(j+1) (0)
resultando, ent
ao, em
k
d0 = i=0 ai
k
d1 = i=0 (ia
i bi )
k i2
d2 = i=0 2 ai ibi
..
j
d = k
i
ij1
j
i=0 j! ai (j1)! bi ,
(10.48)
j = 1, 2, . . .
f
x
193
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
k=1
|, k |e(nk)h
n1
k=0
ekh =
enh 1
eh 1
Teorema 10.2.9 Se o ETL e de ordem O hm+1 , ent
ao o ETG e de ordem O (hm ).
m+1
Prova: No teorema 10.2.8, seja de ordem O h
. Como ez 1 e de ordem O(z) e nh = t,
temos uma reduca
o de uma unidade na ordem, usando a f
ormula no teorema 10.2.8.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
194
Introduca
o ao C
alculo Numerico
10.2.8
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Sistemas de Equa
c
oes Diferenciais Ordin
arias
x2 = f2 (t, x1 , x2 , . . . , xn )
..
xn = fn (t, x1 , x2 , . . . , xn )
(10.51)
ao funcoes da vari
avel independente
onde n funcoes x1 , x2 , . . ., xn devem ser determinadas. Elas s
d
xi . Como exemplo, considere
t e xi = dt
x = x + 4y et
(10.52)
x = x + y + 2et
cuja solucao geral e
di
dti y.
Escrevendo
x1 = y,
temos
x2 = y ,
x3 = y ,
...,
xn = y n1
x1 = x2
x2 = x3
x3 = x4
..
xn = f (t, x1 , x2 , . . . , xn )
2
1
x2 = x2 x1 x4 tex3
x = x4
3
x4 = (x1 sen(tx2 x3 ) + cos(x1 x3 ))x1
4
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
195
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Podemos representar de maneira compacta o sistema (10.51) utilizando uma notacao matricial.
Seja entao X um vetor cujas componentes s
ao x1 , x2 , . . ., xn , os quais sao funcoes de t, e F o
ao, um PVI para sistema de EDOs pode ser escrito
vetor com componentes f1 , f2 , . . ., fn . Ent
como
X = F (t, X)
(10.53)
X(t0 ) = X0
10.2.8.1
M
etodo da S
erie de Taylor
O metodo da serie de Taylor, visto na secao 10.2.3, pode ser utilizado nesse caso, devidamente
adaptado. Escreve-se a expansao em serie para cada variavel,
h2
x (t) + O(h3 )
2! i
e, escrevendo o sistema resultante em forma matricial, vem
xi (t + h) = xi (t) + hxi (t) +
h2
X (t) + O(h2 )
(10.54)
2!
Note que as derivadas em (10.54) podem necessitar ser calculadas em uma determinada ordem,
devido a dependencias existentes entre as mesmas, no sistema considerado.
Teoricamente, as equacoes no sistema (10.54) n
ao necessitam conter t explicitamente. Podemos
escreve-las na forma
xi = fi (x0 , x1 , . . . , xn )
X(t + h) = X(t) + hX (t) +
com x0 t cuja equacao diferencial correspondente e x0 = 1. O sistema (10.54) pode entao ser
escrito na forma aut
onoma
(10.55)
X = F (X)
onde X = (x0 , x1 , . . . , xn )T . O exemplo a seguir ilustra essa tecnica.
Exemplo 10.13 Escreva o sistema
y(2) = 7
(2) = 3
y
y (2) = 4
na forma aut
onoma.
Solu
c
ao: Escrevendo x0 = t, x1 = y, x2 = y e x3 = y , vem
x =1
0
x1 = x2
x = x3
2
x3 = (log x0 x32 sen(x20 + x3 ) cos(x0 x1 ))(senx0 )1
com condica
o inicial X0 = (2, 7, 3, 4)T .
10.2.8.2
M
etodo de Runge-Kutta
Se um sistema de EDOs em um PVI encontra-se na forma autonoma (10.55), o metodo de RungeKutta de quarta ordem pode ser escrito como
X(t + h) =
F1
F2
F3
F4
X(t) +
h
(F1 + 2F2 + 2F3 + F4 )
6
(10.56)
hF (X)
1
hF X + F1
2
1
hF X + F2
2
hF (X + F3 )
196
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
10.2.9
Solu
c
ao via decomposi
c
ao em autovalores e autovetores
Seja um sistema de equacoes diferenciais ordinarias lineares com coecientes constantes, expresso
na forma aut
onoma:
xn = an1 x1 + an2 x2 + . . . + ann xn
ou,
X = AX
(10.58)
Se procuramos obter um vetor solucao X e tomamos como tal um vetor na forma X(t) = et v,
com IR e v um vetor constante, e substitumos em (10.58), obtemos
et v = et Av
(10.59)
e, se
Av = v
t
for satisfeita, entao a funcao vetorial e v e solucao de (10.58). Agora, para qual essa igualdade
e satisfeita? Os teoremas a seguir qualicam esse escalar e o vetor v.
Teorema 10.2.10 Se e um autovalor de A e v o autovetor correspondente, ent
ao X(t) = et v
e soluc
ao de X = AX.
Teorema 10.2.11 Se Ann tem um conjunto de autovetores v1 , v2 , . . ., vn linearmente independentes,
ao o espaco soluc
ao da equac
ao X = AX tem uma base xi = ei t vi , para
com Avi = i vi , ent
1 i n.
Se A tem a propriedade expressa no teorema 10.2.11, entao existe uma matriz n
ao-singular V
cujas colunas sao os vetores v1 , v2 , . . ., vn ,
(10.60)
Vnn = .
..
..
.. .
..
.
.
.
vn1 vn2 . . . vnn
Em forma matricial, podemos escrever Avi = i vi como
AV = V
onde
nn =
(10.61)
2
..
(10.62)
n
Agora, a resolucao da equacao (10.58) pode ser bastante simplicada se zermos a troca de
vari
aveis X = V Y . Como V e nao-singular, podemos escrever
Y = V 1 X = V 1 AX = V 1 AV Y = Y
a qual e uma equacao muito mais simples de se resolver, dada a forma de . As equacoes em
Y = Y sao ditas desacopladas e podem ser resolvidas separadamente, como mostra o exemplo
a seguir.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
197
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
1 0
1
A= 0 0
0 ,
0 0 1
5
X(0) = 7
6
Solu
c
ao: Os autovalores de A s
ao 1 = 1, 2 = 0 e 3 = 1; seus autovetores correspondentes
s
ao v1 = (1, 0, 0)T , v2 = (0, 1, 0)T e v3 = (1, 0, 2)T . Logo,
1
1 0
1 0
1
2
0
0 , V 1 = 0 1
V = 0 1
0 0 2
0 0 21
Se Y = (y1 , y2 , y3 )T , ent
ao Y = Y , com
1 0
0
= 0 0
0 = V 1 AV
0 0 1
de onde podemos escrever:
y1 = y1
y = 0
,
2
y3 = y3
8
Y (0) = V 1 X(0) = 7
3
cuja soluc
ao e
y1 = 8et ,
y3 = 3et .
y2 = 7,
Como X = V Y , a soluca
o e, por m,
x1 = 8et 3et ,
x2 = 7,
x3 = 6et
.
10.2.9.1
A solucao da equacao (10.58) pode ser expressa atraves da forma eA , a qual e denida como
eA = I + A +
1 2 1 3
A + A + ...
2!
!
(10.63)
t
k=0
k!
Ak
(10.64)
(10.65)
(10.66)
1 t
e
e2 t
1
X = V Y = V et V 1 X(0) = V
(10.67)
V X(0)
..
.
en t
Em caso contr
ario, uma an
alise atraves da forma de Jordan da matriz A deve ser realizada.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
198
Introduca
o ao C
alculo Numerico
10.2.10
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Equa
c
oes rgidas
A rigidez em um sistema de equacoes diferenciais refere-se a uma grande disparidade nas escalas
de tempo dos componentes do vetor solucao. Como conseq
uencia, metodos numericos que s
ao
satisfat
orios para outros sistemas, normalmente falham em sistemas rgidos; isto acontece quando
a estabilidade no processo numerico ocorre apenas quando passos de integracao muito pequenos
podem ser empregados. Tais sistemas surgem em diferentes areas de aplicacao:
Controle de naves espaciais: a trajet
oria de voo para re-entrada na atmosfera deve ser suave,
mas rapidas correcoes devem ser feitas caso ocorrer qualquer desvio;
Monitora
c
ao de processos qumicos: quaisquer mudancas de natureza fsica e qumica podem
ter uma grande variacao nas escalas de tempo envolvidas;
Circuitos eletr
onicos: transientes da ordem de microssegundos sao impostos ao circuito como
um todo.
Como exemplo, vejamos o comportamento do metodo de Euler (10.13) para o problema
x = x
(10.68)
x(0) = 1
o qual pode ser escrito, nesse caso, como
xn+1 = xn + hxn = (1 + h)xn ,
x0 = 1
(10.69)
Ent
ao, na n-esima iteracao,
xn = (1 + h)n
(10.70)
n0
(10.71)
apresentar
a, para esse problema, uma restricao que e satisfeita para quaisquer valores de h > 0.
Para o problema em questao, o metodo implcito e escrito como
xn+1 = xh + hxn+1 ,
ou
de onde, na n-esima iteracao,
x0 = 1
xn+1 = (1 h)1 xn
xn = (1 h)n
e, para < 0, e necessario satisfazer | 1 h |1 < 1, o que e verdadeiro para qualquer valor
positivo de h.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
199
Introduca
o ao C
alculo Numerico
10.3
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Um problema de valor de fronteira (PVF) caracteriza-se pela especicacao de valores para a funcao
x(t) nos extremos do intervalo de integracao em t,
x = f (t, x, x )
(10.72)
x(a) = , x(b) =
Esse tipo de problema e mais difcil de ser resolvido do que um PVI, conforme veremos a seguir.
Para um PVI, havamos assumido que, se a funcao x(t) fosse suave, entao provavelmente
(sujeito tambem a outras condicoes), o problema teria solucao. Em um PVF, no entanto, isto n
ao
se aplica, como pode-se ver no exemplo a seguir.
Exemplo 10.15 Considere o PVF
x = x
x(0) = 3, x() = 7
(10.73)
cuja soluc
ao e x(t) = Asent + B cos t. Usando essa express
ao e igualando aos valores especicados
para x, vem
3 = x(0) = Asen0 + B cos 0 = B
7 = x() = Asen + B cos = B
o que e uma contradica
o e, logo, o PVF (10.73) n
ao tem soluc
ao, apesar de f ser uma func
ao
suave.
O teorema a seguir, por Keller (1968), fala da existencia de solucao de um PVF escrito numa
forma bastante particular.
Teorema 10.3.1 O problema de valor de fronteira
x = f (t, x)
x(0) = 0, x(1) = 0
tem soluc
ao u
nica se
f
x
e contnua, n
ao-negativa, e limitada na tira 0 t 1, < x < .
Considere ent
ao o exemplo a seguir:
Exemplo 10.16 O PVF
t
e contnua em 0 t 1, < x < .
tem soluc
ao u
nica, pois f
x = (5 + 3 cos(3x))e , a qual
Alem disso, e limitada por 8e e n
ao assume valores negativos, pois 3 cos(3x) 3.
= x (a + s)
= 2 x (a + s)
200
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
x(t) = y
ta
ba
(10.75)
(10.76)
(10.77)
ao, se y e soluc
ao de (10.77),
onde g(p, q) = (b a)2 f (a + (b a)p, q). Ent
ta
x(t) = y
ba
e soluc
ao de (10.76); e, se x e soluca
o de (10.76), ent
ao
y(a + (b a)t)
e soluc
ao de (10.77).
Prova:
x(a)
x(b) =
x (t) =
x (t) =
=
=
aa
= y(0) =
ba
ba
= y(a) =
y
ba
ta
1
y
ba ba
ta
ta
ta
1
1
,y
y
=g
2
b a (b a)
ba
ba
(b a)2
ta
1
ta
,y
(b a)2 f a + (b a)
ba
ba
(b a)2
f (t, x(t))
y
10.3.1
M
etodo do disparo
201
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
(10.82)
com um par
ametro. Note que y(a) = , satisfazendo uma das condicoes de (10.81) (independente
do valor de ). Para a outra condicao, selecionamos tal que y(b) = , i.e.
= y(b) = x1 (b) + (1 )x2 (b)
=
x2 (b)
x1 (b) x2 (b)
(10.83)
Assim, podemos obter ambas as solucoes ao mesmo tempo, resolvendo dois PVI simultaneamente:
x = f (t, x, x )
x = f (t, x, x )
x(a) = , x (a) = 0
x(a) = , x (a) = 1
onde f (t, x, x ) = u(t) + v(t)x + w(t)x , cujas solucoes sao x1 e x2 , respectivamente. Procedemos
ent
ao a` formulacao de um sistema de EDOs na forma autonoma,
x0 = 1
x1 = x3
x2 = x4
(10.84)
x
=
f
(x
,
x
,
x
)
0
1
3
3
x4 = f (x0 , x2 , x4 )
e, para resolvermos (10.80), executamos os seguintes passos:
1. Resolver (10.84), com os valores discretos de x1 (ti ) e x2 (ti ) para a t0 ti tm = b, os
quais devem ser armazenados em vetores;
2. Calcular o valor de por (10.83);
3. Calcular y(ti ) por (10.82), para cada ti .
O teorema a seguir enuncia a solucao do PVF linear.
ao, ou x1 (b) x2 (b) = 0 e
Teorema 10.3.3 Se o PVF linear tem soluc
ao, ent
ao x1 e uma soluc
y e uma soluc
ao.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
202
Introduca
o ao C
alculo Numerico
10.3.2
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
M
etodo de Newton
O metodo de Newton (vide secao 2.4) pode ser usado para resolver o PVF nao-linear. Seja xz a
solucao do problema
xz = f (t, xz , xz )
(10.85)
xz (a) = , xz (a) = z
e z e tal que (z) = xz (b) = 0. Relembrando, a equacao governante do metodo de Newton
para a funcao e
(zn )
zn+1 = zn
(10.86)
(zn )
A derivada e determinada diferenciando parcialmente com respeito a z as funcoes componentes
em (10.85):
f t
f xz
xz
z = t z + xz z
z xz (a) = 0, z xz (a)
Introduzindo a vari
avel v =
xz
z
f
+ x
z
=1
xz
z
(10.87)
e simplicando, vem
(10.88)
v(b) =
10.3.3
M
etodo da coloca
c
ao
O metodo da colocac
ao e aplic
avel a muitos problemas. Suponha que e dado um operador linear
L (integral ou diferencial) e desejamos resolver a equacao
Lu = w
(10.89)
(10.90)
cj Lvj
j=1
logo,
cj Lvj = w
(10.91)
j=1
1in
(10.92)
j=1
203
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Podemos usar diferentes funcoes para calcular os vetores vj , porem as chamadas B-splines
sao bastante adequadas. Suponha um problema na forma
u + pu + qu = w
(10.93)
u(a) = , u(b) =
onde Lu = u + pu + qu. Como necessitamos de funcoes com as primeira e segunda derivadas
contnuas, vamos considerar aqui as B-splines Bik c
ubicas, apesar de nada impedir que se usem
aquelas de grau k maior. Assumimos, tambem, que os nos ti da B-spline s
ao igualmente
ao os pontos de colocacao.
espacados: ti+1 ti = h, e os nos ser
Seja n o n
umero de funcoes a serem usadas e, portanto, o n
umero de coecientes a serem
determinados; logo, necessitamos de n condicoes para determina-los. O problema (10.93) apresenta
duas condicoes de fronteira, as quais devem satisfazer
n
cj (Lvj )(a) = ,
j=1
cj (Lvj )(b) =
(10.94)
1in2
(10.95)
j=1
j=1
ba
n3
i = 0, 1, 2, . . .
(10.96)
(10.97)
Os n
os ti pertencentes ao intervalo [a, b] sao
a = t1 < t2 < . . . < tn3 < tn2 = b
os quais sao os pontos de colocaca
o. Para denirmos as B-splines Bj3 , necessitamos de alguns
pontos fora do intervalo [a, b] os quais, por (10.97), encontram-se dispostos assim:
t3 < t2 < t1 < t0 <
a
b
< t2 < t3 < . . . < tn4 < tn3 <
< tn2 < tn2 < tn1 < tn < tn+1
t1
tn2
Ora, as B-splines c
ubicas tem a forma segundo a gura 10.2, e estamos interessados naquelas
1 j n.
204
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
1+3(t+1)+3(t+1)2 3(t+1)3
, 1 t 0
6
1+3(1t)+3(1t)2 3(1t)3
B 3 (t) =
(10.98)
, 0t1
6
(2t)
,
1t2
0,
c.c.
a qual tem a forma
10.3.4
1
2/5
0
1/5
1
0
2
1/5
3
2/5
4
3/5
5
4/5
6
1
7
6/5
8
7/5
Derivac
ao num
erica
Um problema num domnio contnuo pode ser discretizado de forma que as variaveis dependentes
sejam consideradas existentes apenas para pontos discretos. Desta maneira, as derivadas sao
aproximadas por diferencas. O metodo de diferencas nitas e baseado em algumas propriedades
da serie de Taylor e em aplicacoes diretas da denicao de derivadas. Ele e o mais antigo dos
metodos aplicados na obtencao de solucoes numericas de equacoes diferenciais. A ideia deste
metodo de aproximacao e bastante simples.
Como exemplo, toma-se a derivada de uma funcao f (x) no ponto x, que e denida por
f (x) = lim
h0
f (x + h) f (x)
.
h
(10.99)
h2
f (x) + . . .
2
(10.100)
205
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
e portanto,
f (x + h) f (x)
h
= f (x) + f (x) + . . . .
h
2
Diz-se que essa aproximacao para f (x) e de primeira ordem em h e escreve-se
f (x) =
f (x + h) f (x)
+ O(h),
h
(10.101)
(10.102)
indicando que o erro de truncamento e de O(h), isto e, tende a zero quando h tende a zero.
Para entender como estas formulas sao aplicadas na aproximacao das derivadas considera-se
uma discretizacao do eixo x. O domnio contnuo e substitudo por um conjunto discreto de n + 1
pontos xi , i = 0, 1, . . . , n, com espacamento constante e igual a h entre os pontos, conforme representacao na gura 10.4. Denota-se por fi os valores da funcao f (x) nos pontos xi = ih (ou seja,
fi e igual a f (xi )).
i1
xh
i+1
x+h
fi
fi+1 fi
+ O(h),
h
fi fi1
+ O(h).
h
(10.103)
(10.104)
h2
f (x)(x) + . . .
2
(10.105)
h2
f (x) + . . . ,
2
(10.106)
e
f (x h) = f (x) h fx (x) +
e subtraindo (10.106) de (10.105), obtem-se
f (x) =
f (x + h) f (x h)
+ O(h2 ),
2h
(10.107)
que e uma aproximacao de segunda ordem para f (x). Na notacao de diferencas nitas, esta
expressao ca
fi =
fi+1 fi1
+ O(h2 ),
2h
(10.108)
206
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
fi
(3)
fi
(4)
fi
fi+1 2 fi + fi1
+ O(h2 ),
h2
fi+2 2 fi+1 + 2 fi1 f i 2
+ O(h2 ),
2 h3
fi+2 4 fi+1 + 6 fi 4 fi1 + fi2
+ O(h2 ),
h4
=
=
=
(10.109)
(10.110)
(10.111)
Na verdade, f
ormulas em diferencas para a aproximacao de derivadas podem ser construdas
com um n
umero arbitr
ario de pontos adjacentes. Na pr
atica, em qualquer esquema numerico, e
preciso fazer o balanco entre a ordem de precisao e o n
umero de pontos simultaneamente envolvidos
nos calculos.
Exemplo 10.18 A partir dos valores abaixo, calcular f (1, 4) usando diferencas ascendentes,
descendentes e centrais.
x
f (x)
1, 2
1, 5095
1, 3
1, 6984
1, 4
1, 9043
1, 5
2, 1293
1, 6
2, 3756
1. Diferencas ascendentes:
f (1, 4) =
f (1, 5) f (1, 4)
= 2, 2500
0, 1
f (1, 4) =
f (1, 4) f (1, 3)
= 2, 059
0, 1
f (1, 4) =
f (1, 5) f (1, 3)
= 2, 1545
2 0, 1
2. Diferencas descendentes:
3. Diferencas centrais:
207
Introduca
o ao C
alculo Numerico
10.3.5
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
Solu
c
ao por diferencas-finitas
h=
ba
,
n+1
0in+1
Denotando o valor aproximado x(ti ) por yi , podemos reescrever o problema (10.72) na forma
discreta
y0 =
yi1 2yi +yi+1
yi1
, 1in
= f ti , yi , yi+12h
(10.112)
2
h
yn+1 =
onde as derivadas y e y sao aproximadas por aproximacoes centrais, conforme as equacoes
(10.108) e (10.109).
De forma geral, o problema (10.112) reduz-se a um sistema n
ao-linear de equac
oes, como pode
ser visto no exemplo a seguir.
Exemplo 10.20 Suponha f (t, x, x ) = xt + 2x . Usando (10.112), para n = 2, temos:
y0 =
y0
y3 =
e, procedendo `
as substituic
oes possveis, chegamos ao seguinte sistema n
ao-linear de equac
oes:
y0
1
y t1 ((1 + h)
)
(1
h)
(2
+
h
1t =
y 2 (h 1)
(1 + h)
(2 + h2 )
2
1
y3
o qual deve ser resolvido atraves de um metodo especco como, por exemplo, o metodo de Newton.
10.3.5.1
O caso linear
y0 =
(10.113)
ai yi1 + di yi + ci yi+1 = bi 1 i n
yn+1 =
com
ui
= u(ti )
vi
wi
= v(ti )
= w(ti )
ai
= 1
di
ci
bi
h
wi+1
2
2
= 2 + h vi
h
= 1 + wi
2
= h2 ui
208
Introduca
o ao C
alculo Numerico
d1
a1
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
y1
c1
y2
d2 c2
y3
a2 d3
c3
..
..
..
..
.
.
.
.
como
=
b 1 a0
b2
b3
..
.
bn1
b n cn
(10.114)
10.4
h
h
| di | | ci | | ai1 | = 2 + h2 vi 1 wi 1 + wi = h2 vi
2
2
Exerccios
Exerccio 10.1 O n
ucleo radioativo do plut
onio decai de acordo com a equac
ao diferencial
dQ
= 0, 0525 Q
dt
Se 50 mg de plut
onio 241 estiverem presentes numa amostra no dia de hoje, determine quanto
plut
onio existir
a daqui a 2 anos. Considere h = 1 e h = 0, 5. Discuta seus resultados.
Exerccio 10.2 Um capital de R$1000, 00 e depositado em uma conta. Sabendo que sobre ele
incide uma taxa de 10% de juros compostos ao ano, determine qual ser
a o saldo na conta ao nal
de 5 anos.
Exerccio 10.3 Em psicologia, a lei de Weber-Fechner para a resposta-estmulo diz que a taxa
de variaca
o dd R
c
ao R e inversamente proporcional ao estmulo. O valor inicial e o nvel
S da rea
mnimo de estmulo que pode ser consistentemente detectado. O problema de valor inicial para
este modelo e
R
R(s0 )
k
S
= 0
R(0, 1) =
1
S
0
209
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
v(0) =
32 0, 032 v 2
0
F2
F3
1
x(t) + (2F1 + 3F2 + 4F3 )
9
hf (t, x)
1
1
hf t + h, x + F1
2
2
3
3
hf t + h, x + F2
4
4
210
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Ordin
arias
x = x2
x(0) = 1
no intervalo 0 t 2 usando o metodo de Runge-Kutta-Fehlberg. Compare com a soluc
ao
analtica dada por x(t) = (1 t)1 . Explique o que ocorre perto da discontinuidade em t = 1,
quando se usa o algoritmo 10.2.3.
Exerccio 10.13 Determine as caractersticas numericas do metodo de passo m
ultiplo cuja equac
ao e
xn + 4xn1 5xn2 = h(4fn1 + 2fn2 )
Exerccio 10.14 Resolva o sistema
x1 = senx1 + cos(tx2 )
, x1 (1) = 2, 37, x2 (1) = 3, 48
x2 = sen(tx1 )t1
usando o metodo de Euler, para 1 t 1 e h = 0, 01.
Exerccio 10.15 Seja o sistema
x1 = (1 9c2 + 12sc)x1 + (12c2 + 9sc)x2
, x1 (0) = 2, x2 (0) = 1
x2 = (12s2 + 9s)x1 + (1 9s2 12sc)x2
onde c = cos(6t), s = sen(6t). Para 0 t 10, h = 0, 01, responda:
1. Compare a soluca
o numerica com a soluc
ao analtica,
x1 = e13t (s 2c)
x2 = e13t (2s + c)
2. Recalcule a soluca
o numerica, para 0, 01 t 10 e 0, 02 t 10. Houve diferenca da
soluc
ao obtida no item 1? Explique.
= Ax B xy
= C xy Dy
Para ns de simulaca
o numerica, pode-se considerar os coecientes:
A=2
B = 0, 02
C = 0, 0002
D = 0, 8,
211
Captulo 11
Solu
c
ao Num
erica de Equa
c
oes
Diferenciais Parciais
11.1
Introdu
c
ao
Uma equacoes diferencial parcial (EDP) pode ser escrita na forma geral
a
2
2
+c 2 +d
+e
+ f + g = 0
+b
2
x
xy
y
x
y
(11.1)
e de Laplace
2 2
+ 2 =g
x2
y
(11.2)
2 2
+ 2 =0
x2
y
(11.3)
(11.4)
+
+ =0
2
2
x
y
onde V e o potencial eletrico associado a uma distribuicao bi-dimensional de carga de densidade
e e a constante dieletrica.
Ate hoje, apenas um n
umero limitado de equacoes elpticas foram resolvidas analiticamente,
com sua utilidade restrita a casos onde a regi
ao de estudo considerada tem uma forma geometrica
simples. O mesmo pode ser dito de equacoes parab
olicas e hiperb
olicas. Por essa razao, a solucao
dessas equacoes e feita, essencialmente, de forma numerica, com metodos especcos para cada
tipo de EDP.
212
Introduca
o ao C
alculo Numerico
11.2
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
Equa
c
oes parab
olicas
a s
s
C
s(i,j) s
s
s
valores iniciais
l
C
s
s f
sr
so
s nt
se
s i
sr
sa
s C
11.2.1
M
etodo explcito
t
k
ui+1,j 2ui,j + ui,j+1
2u
t2
h2
onde k e h sao os espacamentos nas direcoes t e x, respectivamente. Substituindo essas aproximacoes em (11.5), vem
ui+1,j 2ui,j + ui,j+1
ui+1,j ui,j
=
k
h2
e, isolando o termo ui+1,j , obtemos
ui+1,j = rui,j1 + (1 2r)ui,j + rui,j+1 ,
r=
k
h2
(11.6)
213
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
a qual nos d
a a temperatura U em cada ponto j no (i + 1)-esimo tempo. Note que os pontos
discretos sao xj = jh e ti = ik. Os exemplos a seguir mostram como resolver problemas com base
na equacao (11.6).
Exemplo 11.1 Suponha uma barra de metal isolada termicamente, com as suas duas extremidades
em contato com blocos de gelo a 0o C, e aquecida instantaneamente em seu ponto medio por um
macarico. Qual a temperatura da barra ap
os um certo tempo?
Solu
c
ao: Note que, como a barra permanece em contato com gelo durante toda a simulac
ao,
devemos esperar que, ap
os ter sido instantaneamente aquecida, sua temperatura dever
a cair ate
0o C, depois de um certo tempo.
Suponha que a distribuic
ao inicial de temperatura na barra seja dada por
1
1
; u = 2(1 x),
x1
2
2
ao, podemos
Pela formulac
ao do problema, vemos que os extremos da barra est
ao a 0o C. Ent
especicar as condicoes iniciais (CI) e de fronteira (CF) como:
u = 2x, 0 x 12
, t=0
CI :
u = 2(1 x), 12 x 1
u = 0, x = 0
CF :
, t>0
u = 0, x = 1
u = 2x,
0x
Dividamos ent
ao a barra em dez pedacos e integremos a equac
ao (11.5) em mil passos, i.e.,
ao (11.6) pode ser simplicada
tomemos h = 1/10 e k = 1/1000, tal que r = k/h2 = 1/10. A equac
e escrita como
1
(ui,j1 + 8ui,j + ui,j+1 )
ui+1,j =
(11.7)
10
e, identicando as vari
aveis envolvidas na malha, vemos que o c
alculo dos ui+1,j corresponde `
a
seguinte molecula, onde os n
umeros dentro de cada
atomo s
ao os fatores multiplicadores de
u nos pontos da malha, indicados ao lado de cada
atomo:
ui+1,j
1
1
10
10
10
ui,j1
ui,j ui,j+1
0, 1
0
0
0
0
0, 2
0, 2
0, 2
0, 2
0, 2
0, 3
0, 4
0, 4
0, 4
0, 4
0, 4
0, 6
0, 6
0, 6
0, 5996
0, 4
0, 8
0, 8
0, 7960
0, 7896
0, 5
1, 0
0, 96
0, 9280
0, 9016
0, 6
0, 8
0, 8
0, 7960
0, 7896
2 2
n
8 1
sen
(sennx)en t
2
2
i=1 n
2
214
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
t
0, 005
0, 01
0, 02
0, 1
numerica
0, 5971
0, 5822
0, 5373
0, 2472
analtica
0, 5966
0, 5799
0, 5334
0, 2444
erro (%)
0, 08
0, 4
0, 7
1, 1
0, 005
0, 01
0, 02
0, 1
0, 8597
0, 7867
0, 6891
0, 3056
0, 8404
7743
0, 6809
0, 3021
2, 3
1, 6
1, 2
1, 2
x = 0, 5
u
u
=
2
=
2
=
.
x x= 1
x x= 1 +
2
No entanto, `
a medida que o processo de integrac
ao prossegue, o erro diminui.
Richtmeyer e Morton (1967) mostraram que, para o esquema em diferencas-nitas utilizado
no exemplo 11.1, se a funcao inicial e suas p 1 primeiras derivadas s
ao contnuas, e a p-esima
derivada e discontnua de forma ordin
aria (i.e., varia em saltos nitos), ent
ao, para k pequeno, o
erro e menor ou igual a
p+2
k p+4
3
1
(ui,j1 + ui,j+1 )
2
(11.8)
0, 1
0
0
0
0
0, 2
0, 2
0, 2
0, 2
0, 2
0, 3
0, 4
0, 4
0, 4
0, 4
0, 4
0, 6
0, 6
0, 6
0, 55
0, 4
0, 8
0, 8
0, 7
0, 7
0, 5
1, 0
0, 8
0, 8
0, 7
0, 6
0, 8
0, 8
0, 7
0, 7
(11.9)
215
Introduca
o ao C
alculo Numerico
x = 0, 3
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
t
0, 005
0, 01
0, 02
0, 1
numerica
0, 6
0, 6
0, 55
0, 2484
analtica
0, 5966
0, 5799
0, 5334
0, 2444
erro (%)
0, 57
3, 5
3, 1
1, 6
0, 1
0
0
0
0
0
0, 2
0, 2
0, 2
0, 2
0, 2
0, 2
0, 3
0, 4
0, 4
0, 4
0, 4
0, 0
0, 4
0, 6
0, 6
0, 6
0, 2
1, 4
0, 4
0, 8
0, 8
0, 4
1, 2
1, 2
0, 5
1, 0
0, 6
1, 0
0, 2
2, 6
0, 6
0, 8
0, 8
0, 4
1, 2
1, 2
h2
2
(11.10)
11.2.2
M
etodo de Crank-Nicolson
u
t
=
i+ 12 ,j
2u
x2
i+ 12 ,j
(11.11)
onde r = k/h2 . Na equacao (11.11), temos tres termos conhecidos e tres a determinar, os quais
referem-se ao tempo i + 1; da, o metodo de Crank-Nicolson e dito ser implcito.
Se cada linha da malha tiver n pontos, ent
ao (11.11) e um sistema de equacoes lineares de n
equacoes a n vari
aveis, onde o termo independente de cada sistema, onde calculamos u no tempo
i + 1, e composto pelos valores de u no tempo i. Note que a resolucao do sistema de equacoes
deve ser efetuada a cada passo de integrac
ao no tempo. O exemplo a seguir mostra como utilizar
o metodo.
216
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
Exemplo 11.4 Resolva o problema no exemplo 11.1 com o metodo de Crank-Nicolson, usando
h = 1/10.
Solu
c
ao: Ao selecionarmos k, devemos vericar que uma escolha cuidadosa de r permite
simplicar a equac
ao (11.11); p.ex., com r = 1, o termo ui,j e removido. Para esse valor de r,
temos k = 1/100. Ent
ao, a equac
ao governante, nesse caso, e
ui+1,j1 + 4ui+1,j ui+1,j+1 = ui,j1 + ui,j+1
cuja molecula computacional e mostrada na gura 11.3. Devido `
a simetria do problema, em
u
ui+1,j+1
i+1,j1
ui+1,j
1
1
4
1
1
ui,j1
ui,j+1
Figura 11.3: Molecula computacional para o metodo de Crank-Nicolson, r = 1.
relac
ao ao quinto ponto, x = 1/2, conforme mostrado na gura 11.4, podemos reduzir o esforco
computacional necess
ario; basta obter os valores de ui+1,1 , ui+1,2 , ui+1,3 , ui+1,4 e ui+1,5 . O
u=0
0
u1
u2
u3
u4
u5
u4 u3 u2 u1
1
10
2
10
3
10
4
10
5
10
6
10
7
10
8
10
9
10
u=0
1
ui,1
ui+1,1
4 1
1
ui+1,2 ui,2
4 1
ui+1,3 = ui,3
1
4
1
1
4 1 ui+1,4 ui,4
2
4
ui+1,5
ui,5
cuja matriz de coecientes e levemente n
ao-simetrica, apresentando domin
ancia diagonal.
11.2.2.1
Aproxima
c
ao ponderada
Se considerarmos que a EDP (11.5) e satisfeita, agora, num ponto (i + k, jh), 0 1, obtemos
uma generalizacao do metodo de Crank-Nicolson:
ui+1,j ui,j
1
= 2 ((ui+1,j1 2ui+1,j + ui+1,j+1 ) + (1 )(ui,j1 2ui,j + ui,j+1 )) (11.12)
k
h
A equacao (11.12) corresponde ao metodo explcito, para = 0; ao de Crank-Nicolson, para
= 1/2; e a um metodo completamente implcito, para = 1. Para 1/2 1, (11.12) e estavel
para qualquer valor de r; para 0 1/2, devemos ter r (2(1 2))1 .
217
Introduca
o ao C
alculo Numerico
11.2.3
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
Condi
c
oes de fronteira
U
= H(U v)
n
x
ser
a aproximado por
ui,1 ui,0
= s(ui,0 v)
h
Um sinal negativo deve ser associado `a derivada pois a normal, apontando para fora da barra, em
x = 0, tem a direcao x.
Se desejarmos aproximar a derivada U/x por uma aproximacao central, ent
ao e necessario
introduzir uma celula ctcia ui,1 , imaginando-se que a barra estende-se ate h, conforme a
gura 11.5. Podemos, ent
ao, escrever
ui,1 ui,1
= s(ui,0 v)
2h
porem, agora, devemos eliminar ui,1 , j
a que ele e ctcio, conforme mostra o exemplo a seguir.
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
218
Introduca
o ao C
alculo Numerico
u1
u0
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
u1
h
u2
2h
un1
un
un+1 un+2
: U = 1, 0 x 1, t = 0
U
x = 0, t > 0
x = U,
:
U
=
U,
x = 1, t > 0
x
Obtenha as equaco
es governantes de acordo com o metodo explcito.
Solu
c
ao:Usando a equac
ao (11.6), podemos escrever, em x = 0,
ui+1,0 = ui,0 + r(ui,1 2ui,0 + ui,1 )
A CF em x = 0, usando uma aproximac
ao central, e
ui,1 ui,1
= ui,0
2h
de onde ui,1 = ui,1 2hui,0 ; substituindo na equac
ao para ui,0 , temos
ui+1,0
=
=
11.3
Equa
c
oes diferenciais parciais elpticas
219
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
O intervalo de integracao de uma EDP elptica e sempre uma area S cercada por uma curva
fechada C. As condicoes de fronteira especicam ou o valor da funcao ou de sua derivada em cada
ponto de C; e comum, tambem, que em certas regioes de C seja especicado o valor da funcao e,
noutras, o da sua derivada.
A solucao de uma EDP elptica atraves de sua discretizacao em diferencas nitas leva `a solucao
de um sistema de equacoes lineares, tipicamente grande e esparso, para os quais os metodos
iterativos, apresentados no Captulo 4, s
ao particularmente indicados.
Considere a equacao
2 u = f (x, y)
(11.13)
na regi
ao R = [0, 1] [0, 1] (i.e., o quadrado unit
ario), sujeita `as condicoes de fronteira u = 0 em
R.
Discretizamos, entao, a regi
ao com uma malha cartesiana com espacamento h = 1/m, identico
nas direcoes x e y, conforme o diagrama da gura 11.6. Note que temos n = m 1 pontos ao
s
s
s
s
iy s
j
x
s
s
s
s
s
s pontos na fronteira
pontos ui,j
0 < i, j < m
(11.14)
j
x
Figura 11.7: Ordenac
ao natural dos pontos na malha.
um sistema de equacoes lineares, conforme mostra o exemplo abaixo.
Exemplo 11.6 Calcule u que satisfaca a EDP
2 u = 2(x2 + y 2 )
na regi
ao R = [0, 1] [0, 1], sujeita a u = 0 nas linhas x = 0 e y = 0; u = y 2 na linha x = 1 e
2
u = x na linha y = 1.
Solu
c
ao: Apenas para ns de explanac
ao, vamos utilizar uma malha quadrada com m = 4,
mas cabe ressaltar que, tipicamente, devemos utilizar m 100. Dessa forma, estaremos avaliando
A.L. de Bortoli, C. Cardoso, M.P.G. Fachin, R.D. da Cunha
220
Introduca
o ao C
alculo Numerico
Soluc
ao Numerica de Equac
oes Diferenciais Parciais
u1
0, 0156
4 1
1
u2 0, 0391
1
4 1
1
u3 0, 0156
1
4
1
u4 0, 0391
1
4 1
1
u5 = 0, 0625
1
1
4 1
1
(11.15)
u6 0, 1484
1
1
4
1
u7 0, 0156
1
4 1
1
1
4 1 u8 0, 1484
0, 9144
1
4
4
u9
cuja soluc
ao e
u = (0, 0039, 0, 0156, 0, 0352, 0, 0156, 0, 0625, 0, 1406, 0, 0352, 0, 1406, 0, 3164)
Note que, pela denic
ao do problema, temos u = x2 y 2 ; podemos conrmar que os valores
obtidos como soluca
o do sistema (11.15) satisfaz a EDP, como mostra a tabela 11.6.
k
1
2
3
4
5
6
7
8
9
x
0, 25
0, 25
0, 25
0, 50
0, 50
0, 50
0, 75
0, 75
0, 75
y
0, 25
0, 50
0, 75
0, 25
0, 50
0, 75
0, 25
0, 50
0, 75
u = x2 y 2
0, 0039
0, 0156
0, 0352
0, 0156
0, 0625
0, 1406
0, 0352
0, 1406
0, 3164
uk
0, 0039
0, 0156
0, 0352
0, 0156
0, 0625
0, 1406
0, 0352
0, 1406
0, 3164
erro relativo
0, 6661 1015
0, 4441 1015
0
0, 2220 1015
0, 1110 1015
0
0
0, 1974 1015
0
221
Introduca
o ao C
alculo Numerico
Exemplo 11.7 Resolvendo o sistema 11.15 atraves do metodo dos Gradientes-Conjugados (vide
sec
ao 4.7 e algoritmo 4.7.1), a uma toler
ancia de 1010 , obtem-se como soluc
ao
u = (0, 0039, 0, 0156, 0, 0352, 0, 0156, 0, 0625, 0, 1406, 0, 0352, 0, 1406, 0, 3164)
A tabela 11.7 mostra que os erros relativos dessa soluc
ao tambem s
ao aceit
aveis.
k
1
2
3
4
5
6
7
8
9
x
0, 25
0, 25
0, 25
0, 50
0, 50
0, 50
0, 75
0, 75
0, 75
y
0, 25
0, 50
0, 75
0, 25
0, 50
0, 75
0, 25
0, 50
0, 75
u = x2 y 2
0, 0039
0, 0156
0, 0352
0, 0156
0, 0625
0, 1406
0, 0352
0, 1406
0, 3164
uk
0, 0039
0, 0156
0, 0352
0, 0156
0, 0625
0, 1406
0, 0352
0, 1406
0, 3164
erro relativo
0, 1332 1014
0, 0555 1014
0, 0197 1014
0, 0555 1014
0, 0222 1014
0, 0197 1014
0, 0395 1014
0, 0197 1014
0, 0175 1014
11.4
Exerccios
<1
Estabeleca a condic
ao necess
aria para convergencia de um metodo explcito e mostre o que acontece
quando = 0, 5 e = 106 .
Exerccio 11.2 Calcule a soluc
ao aproximada de
2U
U
2U
U
sen(x)
=0
+
+ cos(y)
2
2
x
y
x
y
no ret
angulo unit
ario, com condico
es de Dirichlet na fronteira. Resolva o problema atraves de
uma aproximac
ao em diferencas-nitas, utilizando diferencas ascendentes para as derivadas de
primeira ordem.
Exerccio 11.3 Resolva o exerccio 11.2 utilizando diferencas centrais para as derivadas de primeira
ordem. Explique o que ocorre.
222