Professional Documents
Culture Documents
COMPUTACIONAL
NOTAS DE AULAS
M. Teresa Diogo
Departamento de Matematica
Instituto Superior Tecnico, Lisboa, Portugal
Murilo Tome
Instituto de Ciencias Matematicas e Computacao
USP de Sao Carlos, Brasil
verso 2/2008
1
1.1
Conceitos B
asicos da Teoria dos Erros
Introduc
ao
Neste curso de Analise Numerica, vamos estudar metodos que permitem resolver problemas
cientficos usando um computador. Podemos considerar tres fases distintas no processo de
resolucao. A primeira fase consiste em expressar matematicamente o problema cientfico.
Obtem-se assim um modelo matematico, que podemos definir como sendo uma expressao
matematica que relaciona grandezas (fsicas, de engenharia, de economia, etc). Um exemplo
dum modelo matematico sera a expressao da segunda lei de Newton do movimento
d2
m 2 x(t) = F (t)
dt
(1.1)
que relaciona a posicao, num instante t, dum corpo com massa m, com uma forca aplicada F .
Depois de obtido o modelo matematico, a segunda fase consiste em escolher metodos
numericos que permitam obter, de forma eficiente, uma solucao aproximada do problema
em questao. A eficiencia do metodo depende nao so da precisao que nos pode garantir, mas
tambem da facilidade com que pode ser implementado. Os metodos numericos que aqui
consideraremos serao expressos na forma de um algoritmo: uma sequencia de instrucoes descrevendo um n
umero finito de passos que devem ser executados por uma ordem especificada.
Concentrar-nos-emos no estudo de metodos numericos para resolver problemas no ambito
dos seguintes topicos: equacoes nao lineares, sistemas de equacoes lineares, interpolacao,
aproximacao de funcoes no sentido dos mnimos quadrados e integracao. Por exemplo, em
relacao a` equacao (1), e possvel aproximar x(t), usando tecnicas de integracao numerica que
mais tarde descreveremos.
A terceira e u
ltima fase do processo que estamos a descrever consiste na implementacao
do algoritmo no computador. Obtemos assim uma solucao numerica do problema inicial.
Problema
Fisico
Obtencao
da Solucao
Modelo
Matematico
Metodo
Numerico
x2
xn
+ +
+
2!
n!
2
k
+ +
2!
k!
O erro que cometemos e chamado erro de truncatura e corresponde neste exemplo ao resto
de ordem k da serie.
Erro computacional
O erro computacional e devido ao facto de o computador usar apenas um n
umero finito
de dgitos para representar os n
umeros reais. A maioria dos n
umeros e dos resultados de
operacoes aritmeticas nao podem ser representados exactamente no computador. Sao assim
originados os erros de arredondamento. Na seccao seguinte consideraremos este topico em
maior detalhe.
1.2
Seja x o valor exacto duma grandeza real e seja x uma aproximacao de x, ou seja x ' x.
Designa-se por ex
ex = x x
(1.2)
1.3
1.3.1
Representac
ao dos n
umeros no computador
Bases
bm 6= 0.
Os n
umeros fraccionarios podem ser representados na base 10, usando o ponto decimal.
Um n
umero entre 0 e 1 pode ser escrito na forma
(0.a1 a2 an )10
que representa o valor
a1 101 + a2 102 + + an1 10n+1 + an 10n +
Finalmente, um n
umero real qualquer nao nulo pode ser representado no sistema decimal
por
(bm bm1 b1 b0 .a1 a2 an )10
representa
representa
representa
representa
4
1 2 2 + 1 20 = 5
1 23 + 1 22 = 12
1 21 + 1 23 = 0.625
0.1
1.3.2
Num computador, os n
umeros reais sao em geral representados em vrgula flutuante na base
= 2. Outras bases usadas por computadores sao = 8 e = 16. De modo geral, um
n
umero de vrgula flutuante na base e com n dgitos e um n
umero que pode ser escrito na
forma
x = (0.a1 a2 an ) t , {+, },
(1.4)
1.3.3
Arredondamentos
(1.5)
(1.6)
Um outro modo de representar x em vrgula flutuante e usando o chamado arredondamento simetrico. Se 0 an+1 < /2, procede-se como no arredondamento por corte. Se
umero (0.a1 a2 an ) e normaliza-se. Note-se que, neste
/2 an+1 < soma-se n ao n
caso, pode haver mudanca nos dgitos e no expoente (ver terceiro exemplo a seguir).
Resumindo, no arredondamento simetrico
f l(x) = (0.a1 a2 an ) t
f l(x) = f l ((0.a1 a2 an ) + n ) t
5
0 an+1 < /2
/2 an+1 < .
(1.7)
(1.8)
2
f l( ) =
3
1.3.4
0.67 100
0.66 100
f l(838) =
f l(99.5) =
arred. simetrico
arred. por corte
0.84 103
0.83 103
0.10 103
0.99 102
arred. simetrico
arred. por corte
arred. simetrico
arred. por corte
Erros de arredondamento
Para obter um majorante do erro relativo, notemos que a1 6= 0 implica |x| 0.1 10t .
Entao
0.5 10tn
|x f l(x)|
(1.11)
(1.12)
A analise efectuada para um sistema VF decimal estende-se ao caso duma base par.
Seja x um n
umero da forma (1.33). No caso de arredondamento por corte, tem-se
|x f l(x)| tn
|x f l(x)|
1n .
|x|
(1.13)
(1.14)
|x f l(x)| (1/2) tn
|x f l(x)|
(1/2) 1n .
|x|
(1.15)
(1.16)
interessante notar que nenhum dos majorantes dos erros relativos depende de x, mas
E
apenas da base , do n
umero de dgitos n usado pelo computador e, e claro, do processo de
arredondamento utilizado.
Dado um sistema VF(, n, t1 , t2 ), define-se
U=
1n
arred. por corte
1n
(1/2)
arred. simetrico.
Exemplo 1.4 Num computador com o sistema VF(16,6,-64,63), a unidade de arredondamento simetrico e
(1/2)1616 ' 0.476837 107 .
7
1.3.5
Algarismos significativos
Definic
ao 1.1 Diz-se que o algarismo ai de x e significativo se
1
|ex | = |x x| 10ti .
2
(1.17)
Concluimos que se
1
|ex | = |x x| 10tn ,
2
os n algarismos de x sao significativos.
(1.18)
Exerccio
Em vrgula flutuante com 4 dgitos, sejam x = 0.4537 104 e x = 0.4501 104 . Determine
o n
umero de algarismos significativos de x.
Tem-se que
|ex | = 0.0036 104 = (0.36 102 ) 104 ,
logo verifica-se (1.17) com i = 1, 2. Como alem disso
|ex | > (0.5 103 ) 104 ,
apenas os algarismos 4 e 5 de x sao significativos.
1.4
Propaga
c
ao de erros
Uma questao importante em Analise Numerica e a do modo como um erro num certo
passo dos calculos se vai propagar. Interessa-nos saber se o efeito desse erro se tornara maior
ou menor, a` medida que vao sendo efectuadas as restantes operacoes.
1.4.1
C
alculo de valores funcionais usando dados com erros
Seja f : D R R e seja x uma aproximacao de x que verifica x = x + ex . Se pretendemos calcular o valor de f (x) mas apenas conhecemos x, entao aproximamos f (x) por
f (
x). Em geral, f (
x) nao coincidira com f (x). Por analogia com as definicoes da Seccao 1.2,
designa-se por ef = f (x) f (
x) o erro de f (
x). Admitindo que todas as operacoes indicadas
na expressao de f podem ser efectuadas exactamente, vamos determinar um limite superior
para o erro absoluto |ef | = |f (x)f (
x)|. Teremos, assim, uma indicacao do efeito do erro ex .
Se f 0 (x) existe e e contnua, tem-se, pelo Teorema do valor medio
f (x) f (
x) = f 0 ()(x x),
com
(1.19)
(1.20)
max
t[
x,
x+]
|f 0 (t)|.
(1.21)
Note que
I = int(x, x) [
x , x + ] max |f 0 (t)|
tI
max
t[
x,
x+]
|f 0 (t)|.
A formula (1.20) diz respeito ao erro absoluto de f . Pode obter-se um majorante para o
erro relativo de f , do modo seguinte
|f | = |
ef
|ex | |x|
|x|
| max |f 0 (t)|
= max |f 0 (t)|
|x |
tI
tI
f (x)
|x| |f (x)|
|f (x)|
1
.
t[
x,
x+] 2 t
max
9
(1.22)
(1.23)
Propagac
ao dos erros ao efectuar uma operac
ao aritm
etica
10
(1.24)
Subtracc
ao
De maneira analoga
exy = ex ey .
(1.25)
Multiplicac
ao
Neste caso tem-se
x.y = (
x + ex ) (
y + ey )
= xy + xey + yex + ex ey .
Admitindo que o produto ex ey e desprezavel em relacao aos outros termos, resulta
x.y ' xy + xey + yex ,
donde
ex.y ' xey + yex .
(1.26)
Divis
ao
Tem-se sucessivamente
x + ex
y + ey
x + ex
1
=
(
).
y
1 + ey /
y
x/y =
y
y
y
(
y )2
Daqui resulta
ex/y '
1
x
ey .
ex
y
(
y )2
(1.27)
Note-se que as formulas (1.24)-(1.27) dao-nos uma indicacao sobre o erro no resultado
de cada uma das operacoes aritmeticas, admitindo que nao houve arredondamento depois de
efectuada a operacao.
11
Exerccio
Determine o n
umero de algarismos significativos que se pode garantir para x + y como
aproximacao de x + y, sabendo que x = 0.425 103 e y = 0.326 103 tem os tres algarismos
significativos (despreze os erros de arredondamento).
Resulta de (1.24) e da definicao de algarismo significativo (com t = 3) que
|ex+y | |ex | + |ey |
(0.5 103 + 0.5 103 ) 103
(0.1 102 ) 103 = 1.
Concluimos poder garantir dois algarismos significativos para
x + y = 0.751 103 .
As formulas (1.24)-(1.27) dizem respeito a` propagacao dos erros nas quatro operacoes aritmeticas. A partir destas obtem-se as seguintes estimativas para as quantidades x4y =
ex4y /(x 4 y) (4 designa uma operacao aritmetica).
ex+y
x
y
'
x +
y
x+y
x + y
x + y
exy
x
y
=
'
x
y
xy
x y
x y
ex.y
=
' x + y
xy
ex/y
=
' x y .
x/y
x+y =
(1.28)
xy
(1.29)
x.y
x/y
(1.30)
(1.31)
Estas estimativas foram calculadas usando x e y em vez de x e y (ver Nota, paragrafo 1.2).
1.4.3
Propagac
ao dos erros numa sequ
encia de operaco
es aritm
eticas
mento depois de efectuada a operacao. Se no entanto quisermos saber como o erro deste resultado se propaga em ainda outras operacoes aritmeticas subsequentes, teremos de adicionar
o erro de arredondamento explicitamente.
Exerccio
Seja v = xy + z e sejam os n
umeros de vrgula flutuante x, y e z valores aproximados de x, y
e z, com erros relativos |x |, |y | e |z |, respectivamente. Determine uma estimativa do erro
relativo no calculo de v, num computador com unidade de arredondamento U, e usando os
valores aproximados.
O calculo de v pode ser efectuado usando o seguinte algoritmo.
u = xy
v = u + z.
(1.32)
(1.33)
u
z
u
u
x +
y +
z +
arr1 + arr2 ,
u + z
u + z
u + z
u + z
com |arr1 | U e |arr2 | U . Da equacao acima pode obter-se uma estimativa para |xy+z |.
Por simplicidade de escrita, costuma-se omitir o tile. Este procedimento e usual, sempre
que for claro, pelo sentido do texto, quando nos referimos a um valor exacto ou a uma sua
aproximacao.
13
1.5
Condicionamento e estabilidade
1.5.1
Condicionamento
(1.35)
1
= 0.05
20
1
= 0.0476190...
21
41
= 0.09761...
420
Consideremos ainda o sistema
1
= 0.0454545...
22
43
= 0.0930736...
462
(1.36)
Verificamos que os coeficientes e os termos independentes do sistema (1.36) sao aproximacoes dos correspondentes coeficientes e termos independentes do sistema (3.7) com erros
absolutos nao excedendo 0.5 104 e erros relativos nao excedendo 0.5 103 . Ou seja,
houve pequenas variacoes nos dados do problema (3.7).
Contudo, a solucao exacta do sistema (1.36) e x1 = 0.1226415..., x2 = 2.1792452...
Calculando os erros relativos de x1 , x2 , obtem-se
|x1 | =
|x1 x1 |
' 1.123 112% de erro
|x1 |
14
|x2 x2 |
' 1.18 118% de erro
|x2 |
Ou seja, uma pequena mudanca relativa nos dados correspondeu uma grande mudanca relativa na solucao.
|x2 | =
Um problema cuja solucao e muito sensvel a variacoes ou mudancas nos dados e parametros
diz-se mal condicionado. Um problema diz-se bem condicionado se pequenas variacoes nos
dados e parametros produzem sempre pequenas variacoes na solucao.
Temos entao que o sistema (3.7) e um sistema mal condicionado.
Exemplo 1.6 Consideremos o polinomio
p(x) = (x 1)(x 2)(x 3) (x 19)(x 20)
(1.37)
Suponhamos que o coeficiente do termo em x19 e afectado por uma pequena mudanca 107
e seja q o polinomio resultante, ou seja,
q(x) = x20 + (a19 + 107 ) x19 + a18 x18 + + a0
= p(x) + (107 ) x19
(1.38)
ate:
20.422 + 0.999201 i, 20.422 0.999201 i, como mostra o grafico seguinte. Conclui-se que
as raizes de p sao extremamente sensveis a variacoes nos coeficientes.
5
4
3
2
1
-1
-2
-3
-4
-5
N
umero de condic
ao
Para alguns problemas e possvel definir um n
umero de condicao, que se utiliza como
indicador de mau-condicionamento.
Suponhamos que pretendemos calcular o valor de uma funcao f num ponto x. Poe-se a
questao: se x for ligeiramente perturbado, qual o efeito em f (x) ?
Se f 0 (x) existe e e contnua, tem-se, pelo Teorema do valor medio de Lagrange
com
f (x + h) f (x) = h f 0 () h f 0 (x)
(1.39)
Designando x = x + h, vem
"
(
x x) f 0 (x)
f (
x) f (x)
x f 0 (x)
=
f (x)
f (x)
f (x)
Ou seja
Tomando modulos:
"
x f 0 (x)
f (
x) f (x)
f (x)
f (x)
#
#
x x
x
x x
x
f (
x f 0 (x) x
x) f (x)
x
,
f (x)
f (x)
x
(1.40)
(1.41)
(1.42)
|f (x) | condf |x |.
(1.43)
x
x f 0 (x)
=
2
f (x)
1 x (arcsin(x))
Para valores de x perto de 1, arcsin(x) /2. Entao
e, assim, o n
umero de condicao torna-se infinito a` medida que x se aproxima de 1. Podemos
concluir que pequenos erros relativos em x levam a grandes erros relativos em arcsin(x),
para valores de x perto de 1.
16
1.5.2
Estabilidade de um algoritmo
O conceito de estabilidade diz respeito a` propagacao dos erros de arredondamento no computador. Um algoritmo diz-se instavel se a acumulacao de erros de arredondamento afecta
significativamente o resultado final. Um algoritmo estavel produz sempre bons resultados
(com problemas bem condicionados).
Exemplo 1.8 Consideremos a sucessao
xn =
n
1
3
n>0
(1.44)
Algoritmo inst
avel
Uma maneira de gerar os termos da sucessao (1.44) e usar a seguinte formula de recorrencia
x0 = 1,
x1 =
1
3
10
xn+1 =
xn xn1 ,
3
(1.45)
n 1.
Verifica-se facilmente, por inducao, que esta relacao de recorrencia gera a sucessao (1.44).
Com efeito, para n = 0 e n = 1 (1.44) verifica-se. Supondo que (1.44) e valida para n m,
tem-se
xm+1
1
10
10 1 m
=
xm xm1 =
3
3 3
3
m+1
m1
1
1
10
1 =
=
3
9
3
m1
17
n
0
1
2
3
4
5
6
7
8
9
10
18 0.5573 103
..
.
30
..
.
0.29611 109
..
.
valores exactos
x0 = 0.10000 101
x1 = 0.33333 100
x2 = 0.11111 100
x3 = 0.37037 101
x4 = 0.12346 101
x5 = 0.41152 102
x6 = 0.13717 102
x7 = 0.45725 103
x8 = 0.15242 103
x9 = 0.50805 104
x10 = 0.16935 104
..
.
0.54587 108
..
.
0.42727 102
..
.
Note que de (1.44) se tem limn xn = 0, sendo isso ilustrado na coluna 4 da tabela. Tal
nao acontece com os valores obtidos com a formula de recorrencia (1.45), independentemente
do n
umero de dgitos usado nos calculos (ver colunas 2 e 3 da tabela).
Verificamos que x1 foi arredondado com erro |x1 | 0.5 104 . Esse erro propagou-se
aos valores seguintes, alterando por completo os resultados. Por exemplo, com 5 dgitos,
em vez do valor x8 = 0.15242 103 obteve-se 0.92872 102 , o que apresenta um erro
absoluto de 0.00943962 e um erro relativo de 59.9, ou seja, cerca de 6000% de erro. Usando
maior precisao nao resolve o problema, so que o efeito da acumulacao de erros aparece mais
a` frente. Por exemplo, comparando as colunas 3 e 4, vemos que com 16 dgitos os resultados
sao similares ate mais tarde do que no caso de se usarem 5 dgitos . Mas ja em vez de
x18 = 0.25812 108 , obteve-se 0.54587 108 , a que corresponde um erro relativo de
cerca de 3, ou seja, 300% de erro. Prosseguindo, as coisas pioram e o valor 0.42727 102
e uma aproximacao para x30 com erro relativo de ' 8.8 1011 .
Pode-se dizer que (1.45), depois de implementado, traduziu-se num algoritmo instavel.
Algoritmo est
avel
Uma outra maneira de gerar os termos xn de (1.44) e atraves da formula
x0 = 1,
xn = (1/3)xn1 ,
n>1
(1.46)
Cancelamento subtractivo
O chamado cancelamento subtractivo ocorre quando se subtraem dois n
umeros muito
proximos e traduz-se num aumento do erro relativo do resultado, o qual se podera propagar
em calculos posteriores, dando origem a instabilidade.
Exemplo 1.9
Sejam os n
umeros x = 0.3721478693 e y = 0.3720230572 e sejam f l(x) = 0.37215
e f l(y) = 0.37202, respectivamente, os seus representantes num sistema com 5 dgitos e
arredondamento simetrico, com erros relativos dados por |x | ' 0.6107 e |y | ' 0.8107 .
Considere-se a diferenca f l(x) f l(y). Tem-se
z = f l(x) f l(y) = 0.00013 = 0.13000 103
f (x) =
1 1x
f (x) = 1 + 1 x
(1.47)
(1.48)
Obtiveram-se os resultados seguintes para f (x), com x proximo de zero, tendo-se usado um
programa em Mthematica e aritmetica de 16 dgitos.
x
x = 1011
x = 1012
x = 1013
x = 1014
x = 1015
x = 1016
formula(1.47)
2
1.99982
1.99274
1.95809
1.5012
0.45036
formula(1.48)
2
2
2
2
2
2
A coluna 3 da tabela mostra que (1.48) da o valor esperado. A coluna 2 da tabela indica
instabilidade quando se usa a formula (1.47) para se obter o valor f (x), com x proximo de
zero. Isso deve-se ao facto de haver cancelamento subtractivo causado pela subtrac
cao de 2
n
umeros proximos de 1, no denominador da fraccao; com efeito, tem-se x 0 1 x 1.
19
Resoluc
ao de equaco
es n
ao lineares
Dada uma funcao f definida num intervalo [a, b], pretendemos determinar as razes da
equacao f (x) = 0 (ou os zeros da funcao f ), isto e, os valores z tais que f (z) = 0. Neste
captulo estudaremos metodos para a obtencao de valores aproximados de z.
2.1
Localizac
ao e separac
ao das razes
Primeiramente ha que determinar, para cada raiz, um intervalo que a contenha. Isso pode
ser feito recorrendo ao estudo grafico e teorico de f . Exemplificamos em seguida.
Y
a1
a2
b1
b2
Z1
Z2
a3
b3
Z3
An
alise gr
afica
Na analise grafica pode-se esbocar um grafico de f ou, a partir da equacao original
f (x) = 0, obter uma equacao equivalente, para a qual seja mais facil fazer o grafico.
Exemplo 2.1 Pretende-se uma aproximacao da raiz positiva da equacao
f (x) =
2
x
2
sin x = 0.
20
(2.1)
1
0.75
0.5
0.25
-0.5
0.5
1.5
2.5
-0.25
-0.5
Neste caso e possvel ver pelo grafico de f que a raiz positiva de f (x) = 0 esta no intervalo
[/2, 2.0]. Na verdade, ela parece proxima de 1.9.
Exemplo 2.2 Uma outra maneira de proceder e reescrever a equacao numa forma equivalente. Tem-se
2
x
2
2
x
sin x = 0
2
= sin x
y = (x/2)2
y = sin x
O grafico sugere que a equacao f (x) = 0 tem uma raiz no intervalo [/2, 2.0]; corresponde
a` projeccao, no eixo dos xx, da interseccao dos graficos das funcoes y = (x/2) 2 e y = sin x.
1.25
1
0.75
0.5
0.25
-0.5
0.5
1.5
-0.25
-0.5
y = sin x
21
An
alise te
orica
Na analise teorica, sao usados os seguintes Teoremas, que sao corolarios, respectivamente,
do Teorema do valor intermedio para funcoes e do Teorema de Rolle.
Teorema 2.1 Seja f (x) C[a, b]. Se f (a) f (b) < 0 entao existe pelo menos um z ]a, b[
tal que f (z) = 0.
0
Teorema 2.2 Seja f (x) C[a, b]. Se f (x) existe e tem sinal constante em ]a, b[ entao f
nao pode ter mais de um zero em ]a, b[.
Para a funcao f (x) = (x/2)2 sin x do exemplo 2.1, tem-se f (/2) = ( 2 )/16 1 < 0
e f (2) = 1 sin 2 > 0. Logo podemos concluir que f tem pelo menos um zero no intervalo
0
0
I=[/2, 2]. Alem disso, tem-se f (x) = x/2 cos x e f 00 (x) = 1/2 + sin x > 0 em I. Logo f (x)
e monotona crescente em I e, como f 0 (/2) = /4 > 0, entao f 0 nao se anula no intervalo I.
Conclui-se que a raiz da equacao nesse intervalo e u
nica.
2.2
M
etodos iterativos para equaco
es n
ao lineares
dado
(i)
ou
2. |f (xm )|
(ii)
22
2.2.1
M
etodo da bissecc
ao
O metodo da bisseccao e um dos metodos numericos mais antigos, permitindo uma interpretacao geometrica simples.
Seja f (x) contnua em [a, b] com f (a)f (b) < 0 e suponhamos que z e a u
nica raiz em
[a, b].
f(b)
a0= a
x1
x 3 I3
I2
I1
x2
b0= b
f(x 1 )
f(a)
23
I0 = [a, b],
|I0 | = b a
b+a
ba
x1 =
,
|I1 | =
2
2
ba
b1 + a 1
|I2 | =
x2 =
2
22
b2 + a 2
ba
x3 =
|I3 | =
2
23
..
..
.
.
bk1 + ak1
ba
xk =
|Ik | = k
2
2
Obtiveram-se intervalos, contendo z, de amplitude cada vez mais pequena. Sao validos
os seguintes majorantes para os erros das sucessivas aproximacoes de z.
z, x1 I0 = |ex1 | = |z x1 | (b a)/2
z, x2 I1 = |ex2 | = |z x2 | (b a)/22
z, x3 I2 = |ex3 | = |z x3 | (b a)/23
..
.
de modo geral
z, xk Ik1 = |exk | = |z xk | (b a)/2k
Da relacao
0 |exk | = |z xk |
ba
2k
conclumos que
k
24
ba
2k
(2.2)
Qual o n
umero de iteraco
es necess
arias para se obter a precis
ao desejada ?
Dado um n
umero e possvel estimar o n
umero de iteracoes k de modo a garantir que
|z xk | <
ba
ba
ba
< 2k
basta impor
< , ou seja, b a < 2k
k
k
2
2 !
ba
!
ln
ba
ln
< k ln 2 k >
ln 2
Como |z xk |
x
sin x = 0, x [1.5, 2].
2
Comecando com I0 = [1.5, 2], foram obtidos os intervalos Ik1 = [ak1 , bk1 ], cujo ponto
medio e xk = (bk + ak )/2.
f (x) =
k
ak1
bk1
xk
f (xk )
1
1.5
2
1.75
<0
2
1.75
2
1.875
<0
3 1.875
2
1.9375
>0
4 1.875 1.9375 1.90625 < 0
5 1.90625 1.9375 1.921875
25
2.2.2
M
etodo do ponto fixo
(2.3)
ja que, como veremos, os metodos do ponto fixo foram concebidos para equacoes deste
tipo especial. Os resultados obtidos poderao depois ser aplicados a qualquer equacao geral
f (x) = 0, depois de esta ser reescrita na forma g(x) = x. Notemos que a construcao de tal
g(x) e sempre possvel mas nao e u
nica. Vejamos exemplos.
Exemplo 2.4
A equacao
x3 3 x + 1 = 0.
e equivalente a
i)
(2.4)
1 + x3
= x
3 }
| {z
g(x)
Atendendo a que
x3 3 x + 1 = 0 x(x2 3) + 1 = 0,
podemos ainda reescrever (2.4) na forma
ii)
1
= x
2
3
x
| {z }
g(x)
Exemplo 2.5
A equacao x + ln x = 0 pode ser reescrita como:
i)
ln x = x ou :
| {z }
g(x)
26
ii) |{z}
ex = x.
g(x)
Exemplo 2.6
A equacao f (x) = 0 e equivalente a:
i) x + f (x) = x e ainda, de modo geral, a :
|
{z
g(x)
{z
g(x)
Interpretac
ao geom
etrica
Notemos que se tem
x = g(x)
y = g(x)
y = x
y(x) = g(x)
z1
z2
y (x) = x
z1 , z2 pontos fixos de g
27
Exemplo 2.7
Seja g(x) = x2 . Entao os pontos fixos de g sao as solucoes da equacao x2 = x. Trata-se
dos valores x = 0 e x = 1.
2
1.5
1
0.5
-0.5
0.5
1.5
-0.5
Exemplo 2.8
A funcao g(x) = x2 + 1 nao tem pontos fixos, ja que a equacao x2 + 1 = x nao tem solucoes
reais.
2
1.5
1
0.5
-1
-0.5
0.5
-0.5
-1
Exemplo 2.9
No caso da funcao g(x) = x, todo o n
umero real e ponto fixo de g. Ou seja, o conjunto
dos pontos fixos de g e R.
28
Exemplo 2.10
Finalmente seja a funcao g a que corresponde o grafico abaixo.
y=x
y = g(x)
A funcao g tem m
ultiplos pontos fixos
Exist
encia e unicidade
O nosso primeiro objectivo e deduzir condicoes que garantam que uma dada funcao g
tenha pelo menos um ponto fixo. Ou seja, quando poderemos concluir que o grafico de g
intersecta o grafico da recta y = x pelo menos uma vez ?
Do exemplo 2.9 concluimos que, para tal, nao basta f ser uma funcao contnua. Mas se
juntarmos mais uma condicao, obtemos o seguinte.
Teorema 2.4 (Exist
encia) Seja g definida e contnua em I = [a, b] e tal que g(I) I.
Entao g tem pelo menos um ponto fixo z I.
Dem: A condicao g(I) I significa que o conjunto de valores de g(x), com a x b,
esta tambem entre a e b. Ou seja, o grafico de g esta contido no quadrado a tracejado, como
mostra a figura seguinte.
y=x
b
b
29
0 < L < 1.
(2.5)
(2.6)
Como 0 < L < 1, resulta a relacao |z1 z2 | < z1 z2 |. Assim, a hipotese z1 6= z2 conduziu
a um absurdo, pelo que so podera ter-se z1 = z2 . 2
m = 0, 1, 2, . . .
(2.7)
0 < L < 1.
Entao
(a) g tem exactamente um ponto fixo em I. Ou seja, existe um u
nico z [a, b] tal que
g(z) = z.
(b) Dada uma qualquer aproximacao inicial x0 [a, b], a sucessao xm+1 = g(xm ),
0, 1, 2, . . . converge para o ponto fixo z.
m=
Dem: A parte (a) ja foi provada. Vejamos (b). Comecamos por notar que, da condicao
g(I) I, resulta que se x0 I, entao todas as iteradas xm , m = 1, 2, . . . tambem estao
contidas em I. Tem-se
z xm+1 = g(z) g(xm ) (por se ter : z = g(z), g(xm ) = xm+1 )
0
= g (m ) (z xm ), com m entre z e xm ,
(2.8)
(2.9)
(2.10)
e, sendo 0 < L < 1, resulta que |z xm+1 | < |z xm |. Isto permite concluir que xm+1 e
melhor aproximacao para z do que xm .
31
Seja a funcao g(x) = (x2 1)/3. Se g tiver pontos fixos eles sao dados resolvendo x 31 = x.
Tem-se
13
x2 1
= x x2 1 3x = 0 x =
3
2
Da equa
cao anterior concluimos que g tem exactamente 2 pontos fixos. Como 13 [3, 4],
entao 13/2 [1.5, 2] e uma estimativa grosseira para os pontos fixos de g (ou seja, as razes
da equacao x2 1 3x = 0) sera a seguinte: existira um ponto fixo z1 [1, 0] e um outro
positivo z2 [3, 4].
5
4
3
2
1
-1
-1
(i) Tem-se g (x) = 2x/3. Entao g C 1 [1, 0], ja que g e g sao funcoes contnuas.
(ii) g(I) I ?
0
Para verificar se g(I) I, notemos que, sendo g (x) < 0 para x I, entao g e uma funcao
decrescente em I. Como alem disso g(1) = 0 I e g(0) = 1/3 I, a monotonicidade de
g permite concluir que g(x) I, para qualquer x I.
0
Dem: Por hipotese |g (z)| < 1. Sendo g (x) contnua num intervalo aberto que contem
z, entao existe > 0 tal que
0
x I := [z , z + ] |g (x)| K < 1.
Tem-se ainda, usando o Teorema do valor medio,
0
Mas a desigualdade anterior significa que g(I ) I . Estao assim verificadas as hipoteses
do Teorema (2.6) para o intervalo I , pelo que o resultado fica demonstrado. 2
Observac
ao: no Teorema 2.6, conclui-se convergencia do metodo do ponto fixo para
x0 pertencente a um dado intervalo I. Ja o Teorema 2.7 apenas nos diz que existe uma
vizinhanca de z onde a iteracao do ponto fixo converge (nao indica qual o valor de ).
Usando uma linguagem imprecisa: se x0 estiver muito proximo de z entao o metodo
converge, desde que |g 0 (x)| < 1 num intervalo contendo z. Diz-se que e um resultado de
caracter local.
Se tomarmos para aproximacao de z o valor xm , precisamos estimar o erro |z xm |.
Vamos supor que sao verificadas as condicoes do Teorema (2.6).
I. Erro na iterada xm , m > 0, em func
ao do erro em x0
Na demonstracao do Teorema 2.6, obtivemos a formula:
|z xm | Lm |z x0 |.
(2.11)
Trata-se de uma formula que permite estimar o erro numa certa iterada xm , a` priori, isto
preciso aqui uma (boa) estimativa para o erro na iterada
e, sem ter de se calcular xm . E
inicial.
34
|z xm+1 |
L
|xm+1 xm |,
1L
m 0.
(2.12)
m 0.
donde o resultado.
Lm |z x1 |
(usou-se (2.10))
L
m
L
|x1 x0 |
(usou-se (2.12)),
1L
35
(2.13)
Crit
erio de paragem
Qualquer das formulas de erro anteriores pode ser usada como teste para se parar o
processo iterativo.
Em geral, dado > 0 (pequeno), o processo iterativo deve parar quando |z xm+1 | .
Da formula (2.12) temos:
L
|z xm+1 |
|xm+1 xm |
1L
L
donde vemos que se
|xm+1 xm | < entao teremos |z xm+1 | . Logo, para que
1L
tenhamos um erro inferior a na iterada xm+1 e suficiente que
|xm+1 xm | <
Obs: Se L < 1/2 entao
1L
L
L
< 1 e nesse caso usa-se o criterio de paragem:
1L
|xm+1 xm | < .
36
Ilustrac
ao Geom
etrica da Converg
encia ou Diverg
encia do M
etodo do Ponto Fixo.
Convergencia monotona: 0 g 0 (x) < 1.
Convergencia alternada: 1 < g 0 (x) 0.
Divergencia: |g 0 (z)| > 1.
g (x) > 0
convergencia monotona
g (x)
x2
z x3
x1
g (x) < 0
convergencia alternada
x0
x2 x4 z x3
x1
37
x0
g (x)
g (z) > 1
metodo diverge
x3
x2
x1
z
x0
1.5
0.5
0.25
0.5
0.75
-0.5
38
1.25
1.5
1.75
Ordem de Converg
encia do M
etodo do Ponto Fixo.
Definic
ao 2.2 (ordem de converg
encia): Seja {xn } uma sucessao que converge para z
e seja em := z xm . Se existirem constantes reais p 1 e K > 0 tais que
lim
|em+1 |
= K
|em |p
(2.14)
m suf. grande
(p = 1, conv. linear)
(p = 2, conv. quadratica)
39
|e1 | K |e0 |
2
|e2 | K |e1 | K (K |e0 |) K
|e0 |
2
3
|e3 | K |e2 | K (K
|e0 |) K
|e0 |
..
..
.
.
(m+1)
|e0 |,
Em geral obtem-se que: |em+1 | K
n1
(1)
|
b) Para o metodo II (quadratico), suponhamos que: |
em+1 | K
e m |2 ,
m. Entao,
|
|
e1 | K
e 0 |2
4
|
(K
|
3 |
|
e2 | K
e 1 |2 K
e 0 |2 )2 K
e0 |
7
3
(K
|
|
e 0 |8
|
e 0 |4 )2 K
|
e3 | K
e22 | K
..
..
.
.
m+1
(2m+1 1)
n1
(3)
= 0.75 e |e0 | = |
Suponhamos agora que K = K
e0 | = 0.5 e calculemos e3 e e3 utilizando
(2) e (3) respectivamente. Entao, temos:
|e3 | (0.75)3 |0.5| 0.2109375 (para o metodo I)
1
(0.75 0.5)8 5.2 104 (para o metodo II)
|
e3 | (0.75)7 |0.5|8
0.75
Vemos que o erro na terceira iterada com o metodo quadratico e muito menor que o erro
obtido pelo metodo linear.
Os 2 teoremas seguintes permitem tirar conclusoes sobre a ordem de convergencia do
metodo do ponto fixo.
Teorema 2.9 Seja g(x) uma funcao verificando as condicoes do teorema do ponto fixo (teor.
2.6) para o intervalo [a, b], ou seja,
i) g C 1 [a, b]
ii) g ([a, b]) [a, b]
iii) max |g 0 (x)| L < 1
x[a, b]
lim
|z xm+1 |
= |g 0 (z)|
|z xm |
(2.15)
Dem:
A convergencia de xm ja foi provada (ver teorema do ponto fixo). Mostremos que o limite
acima e valido. Tem-se:
z xm+1 = g(z) g(xm ) = g 0 (m )(z xm ),
m entre xm e z, m
z xm+1
= g 0 (m ), m. Tomando modulos e passando ao limite, vem:
z xm
|z xm+1 |
= lim |g 0 (m )| = 1 |g 0 ( lim m )| = 2 |g 0 (z)|
m
m
m |z x |
m
lim
2
Uma conclusao a tirar sera a seguinte: se |g 0 (z)| 6= 0 a convergencia e linear.
Com efeito, neste caso tem-se uma relacao do tipo (2.14), com com p = 1 e K =
|g 0 (z)| > 0. A convergencia e, pois, linear.
E se
lim
|z xm+1 |
= |g 0 (z)| = 0 ?
|z xm |
Vamos mostrar que a ordem de convergencia deixa de ser linear passando a supralinear.
Teorema 2.10 (conv. supralinear do m
et. ponto fixo): Seja z = g(z) com g
p
C [a, b], p 2 verificando as condicoes do teorema do ponto fixo em [a, b] e z [a, b].
Se
g 0 (z) = g 00 (z) = . . . = g (p1) (z) = 0 e g (p) (z) 6= 0
|em+1 |
|g (p) (z)|
=
|em |p
p!
e portanto a sucessao {xm } tem ordem de convergencia p e coeficiente assimptotico de con|g (p) (z)|
vergencia K =
.
p!
Entao
1
2
lim
n
Continuidade de g 0
Como m esta entre xm e z m e {xm } z = {m } z
41
g (p) ()
p!
2g
00
(p1)
(z)
(z)
(p1) g
+ . . . + (x z)
2!
(p 1)!
, entre x e z.
Para x = xm , temos
g(xm ) = g(z) + (xm z)g 0 (z) + (xm z)2
+ (xm z)p
g (p) (m )
p!
g 00 (z)
g (p1) (z)
+ . . . + (xm z)(p1)
2!
(p 1)!
, m entre xm e z.
Usando as hipoteses xm+1 = g(xm ), g(z) = z e g 0 (z) = g 00 (z) = . . . = g (p1) (z) = 0, obtem-se
xm+1 = z + (xm z)p
g (p) (m )
p!
, m entre xm e z.
Daqui vem
z xm+1
Entao
g (p) (m )
, m entre xm e z.
= (xm z)
p!
g (p) (m )
, m entre xm e z.
= (1)(p+1) (z xm )p
p!
p
(p)
z xm+1
(p+1) g (m )
= (1)
, m entre xm e z.
(z xm )p
p!
|z xm+1 |
|g (p) (m )|
=
=
, m entre xm e z.
|z xm |p
p!
|em+1 |
|g (p) (m )| |g (p) (limm m )|
|g (p) (z)|
=
lim
=
.
m |e |p
m
p!
p!
p!
m
lim
Assim, a sucessao {xm } converge para z com ordem de convergencia p e factor assimptotico
|g (p) (z)|
2
de convergencia K =
p!
42
2.2.3
M
etodo de Newton
Seja f C 2 [a, b] e suponhamos que f 0 (x) 6= 0, x [a, b], e que existe z [a, b] tal
que f (z) = 0. Como vimos anteriormente ( teor. 2.10), dada uma sucessao do ponto fixo
xm+1 = g(xm ) convergente para z, se g 0 (z) = 0 entao a convergencia e supralinear. Ou seja,
nesse caso a ordem e um n
umero p 2 (conv. pelo menos quadratica).
Colocamos agora a questao: podemos determinar uma funcao A(x) (dependente de f )
tal que a sucessao do ponto fixo gerada por
g(x) = x + A(x)f (x)
convirja para z com ordem de convergencia p 2 ? A resposta e afirmativa. Com efeito,
calculemos g 0 (x) e imponha-se a condicao g 0 (z) = 0. Tem-se
g 0 (x) = 1 + A0 (x)f (x) + A(x)f 0 (x)
logo g 0 (z) = 1 + A0 (z)f (z) + A(z)f 0 (z) = 1 + A(z)f 0 (z), visto f (z) = 0. Impondo g 0 (z) = 0
para se ter convergencia supralinear, resulta a condicao A0 (z) = 1/f 0 (z). Com a escolha
A(x) = 1/f 0 (x) somos conduzidos ao metodo
xm+1 = xm
f (xm )
,
f 0 (xm )
m = 0, 1, . . .
x2
43
x1
x0 = b
(2.16)
O ponto xm+1 , m 0 e calculado como sendo o ponto de interseccao, com o eixo dos xx,
da recta passando por (xm , f (xm )) com declive f 0 (xm ). Essa recta e a tangente ao grafico de
f no ponto (xm , f (xm )) ) e a sua equacao e dada por
y = f 0 (xm )(x xm ) + f (xm )
Seja xm+1 o ponto de interseccao com o eixo dos xx. Vem
0 = f 0 (xm )(xm+1 xm ) + f (xm )
donde
xm+1 xm =
f (xm )
f 0 (xm )
f (xm )
,m 0
f 0 (xm )
Exemplo 2.13
Calcular
3
100 pelo metodo de Newton.
Soluc
ao: Seja f (x) = x3 100 = 0 e seja z um zero de f . Entao, z 3 = 100 = z =
Para calcularmos z, procedemos como segue:
3
100.
f (4) = 64 100 = 36
x30 100
36
x
=
x
=4+
= 4.750
1
0
3x
48
7.171875
x31 100
= 4.750
= 4.644044
x2 = x 1
2
x3m 100
. Tomando
3x2m
3x1
67.68750
x32 100
0.158769
x3 = x 2
= 4.641590
= 4.644044
3x2
64.701434
0.0000837
x33 100
= 4.641590
= 4.6415887
x4 = x 3
2
3x3
64.633073
x0 = 4 vem:
44
F
ormula do erro para o m
etodo de Newton:
Teorema 2.11
max |f 00 (x)|
x [a, b]
2|f 0 (x
m )|
|z xm |2
Dem:
Comecemos por provar a seguinte relacao:
|z xm+1 | = |(z xm )|2
|f 00 (m )|
, m entre z e xm
2|f 0 (xm )|
(2.17)
(x xm )2 00
f (m ), m entre x e xm
2!
Para x = z tem-se:
(z xm )2 00
f (m ), m entre z e xm
2!
(z xm )2 00
f (m ), m entre z e xm
= 0 = f (xm ) + (z xm )f 0 (xm ) +
2
00
f (xm )
f (m )
= 0 = 0
+ z xm + (z xm )2 0
, m entre z e xm
f (xm )
2f (xm )
f (xm )
f 00 (m )
= z = xm 0
(z xm )2 0
, m entre z e xm
f (xm )
2f (xm )
{z
xm+1
f 00 (m )
, m entre z e xm
2f 0 (xm )
|f 00 (m )|
, m entre z e xm
= |z xm+1 | = |(z xm )|2 0
2|f (xm )|
= z xm+1 = (z xm )2
45
max |f 00 (x)|
2 x[a,b]
2|f 0 (xm )|
Corol
ario 2.1 As iteradas do metodo de Newton satisfazem
| z xm+1 | K| z| {zxm} |2 onde K =
|
{z
em+1
em
max |f 00 (x)|
x[a,b]
2 min |f 0 (x)|
x[a,b]
N
umero de iteraco
es necess
arias p/ obter uma precis
ao na iterada xm+1 .
Fazendo sucessivamente, m = 0, 1, 2, . . ., na equacao |em+1 | K|em |2 obtem-se a seguinte
relacao:
|em+1 | K
(2m+1 1)
|e0 |
2m+1
max |f 00 (x)|
x[a,b]
2 min |f 0 (x)|
x[a,b]
m+1 1)
|e0 |2
m+1
{z
m+1
m+1
< K =
#
ln(K)
ln
ln(K|e0 |)
ln(K)
>
= m >
1
ln(K|e0 |)
ln(2)
"
46
20
15
10
0.5
1.5
2.5
2
1.5
1
0.5
-1
-0.5
0.5
-0.5
-1
-1.5
-2
47
0.5
1.5
i) g(z) = z
z }| {
f (z)
= z e g C 1 (I). (desde que f C 2 (I)) = z e ponto fixo de g.
f 0 (z)
| {z }
6=0
1
f 00 (x)
0
ii) g (x) = 1
f
(x)
f
(x)
f 0 (x)
(f 0 (x))2
00
f (z)
=0
Portanto, g 0 (z) = f (z) 0
| {z } (f (z))2
0
f 00 (x)
= 1 1 f (x) 0
(f (x))2
= f (x)
f 00 (x)
.
(f 0 (x))2
=0
f e contnua em x
dado > 0 (arbitrario), > 0 tq. |f (x) f (
x)| < , sempre que |x x
| <
48
f (xm )
, n = 0, 1, . . . converge para z qualquer que seja
f 0 (xm )
a aproximacao inicial x0 Ir . Ou seja, o metodo de Newton converge para a solucao de
f (x) = 0 em Ir , x0 Ir .
Ordem de converg
encia
Se aplicarmos limites a` igualdade (2.17), vem
lim |z xm+1 | = m
lim |(z xm )|2
m
donde
lim
m
|f 00 (m )|
2|f 0 (xm )|
|f 00 (z)|
|z xm+1 |
=
(z xm )2
2|f 0 (z)|
(2.18)
Observac
ao 2.1 Sobre a ordem de converg
encia do m
etodo de Newton
Sendo o metodo de Newton um metodo do ponto fixo, pode-se considerar a aplicacao do
Teorema geral da ordem de convergencia do metodo do ponto fixo (teor 2.10). Da expressao
de g 0 (x) obtida acima, vem
"
f 00 (x)
f 0 (x)
f (x)
2f (x) 0 3
g (x) = 0 2 f 000 (x) + f 00 (x) 0 2
f (x)
f (x)
f (x)
00
donde
=0
=0
00
z
}|
{
f (z) f 00 (z)
f (z)
f (z)
g 00 (z) = 0 2 f 000 (z) + f 00 (z) 0 2
2 f (z) 0 3 = 0
z }| {
f (z)
f (z)
f (z)
f (z)
49
Condico
es suficientes de converg
encia para o m
etodo de Newton.
O teorema da convergencia local garante convergencia do metodo de Newton para z se
escolhermos x0 suficientemente proximo de z. Contudo nao diz exactamente onde escolher
x0 .
Por outro lado, apesar de o metodo de Newton ser um metodo do ponto fixo, ou seja
uma sucessao da forma xm+1 = g(xm ), e em geral difcil mostrar que g satisfaz as condicoes
do teorema do ponto fixo.
Apresentamos as seguintes condicoes suficientes para que o metodo convirja:
Crit
erio 1: Seja f C 2 [a, b] satisfazendo:
1. f (a)f (b) < 0
(existencia da raiz)
2. f 0 (x) 6= 0, x [a, b]
(unicidade da raiz)
|f (a)|
|f (b)|
<ba e 0
<ba
0
|f (a)|
|f (b)|
Entao o metodo de Newton converge para a solucao de f (x) = 0, qualquer que seja x0
[a, b].
Crit
erio 2: Se as condicoes 1., 2. e 3. do crit
erio 1 sao validas e x0 e escolhido de modo
que
f (x0 )f 00 (x) 0 , x [a, b]
Entao o metodo de Newton converge para a solucao de f (x) = 0 e a convergencia sera
monotona.
Finalizamos com mais um exemplo
Exemplo 2.15 Considere a aplicacao do metodo de Newton a` equacao x 3 x = 0, para
aproximar a raiz z = 0.
-1.5
-1
-0.5
0.5
1.5
-0.1
-0.2
-0.3
-0.4
Este e um caso em que o metodo de Newton claramente nao converge para a raiz z = 0.
Entao e porque alguma condicao das hipoteses dos criterios de convergencia falha. Comente.
Por outro lado, comecando com x0 = 0.4, eis algumas iteradas:
0.4, -0.24615384615384625, 0.03645668765715054,-0.00009729639046062237,
1.8421296585858235 1012 , 1.2502319123287327 1035 , 3.9084245814817765 10105
0.4
0.2
-1.5
-1
-0.5
0.5
1.5
-0.2
-0.4
A sucessao acima e uma sucessao convergente para zero. Contudo, ao tentar aplicar os
Criterios de convergencia, por exemplo no intervalo [0.4, 0.4], falha uma das condicoes.
51
2.2.4
M
etodo da secante
x 1
x1
x2
z
x3
x0
Para o calculo de x2 , considera-se a recta passando por (x0 , f (x0 )) e (x1 , f (x1 )). A interseccao
desta recta com o eixo x fornece x2 :
x2 = x1 f (x1 )
(x1 x0 )
f (x1 ) f (x0 )
52
Em geral, xn+1 e o zero da recta secante passando por (xn1 , f (xn1 )) e (xn , f (xn )) donde
obtem-se a formula geral do metodo da secante:
xn+1 = xn f (xn )
(xn xn1 )
f (xn ) f (xn1 )
Condico
es Suficientes de Converg
encia para o M
etodo da Secante
Crit
erio A1: Se as condicoes 1., 2., 3. e 4. do criterio I do metodo de Newton forem
verificadas entao o metodo da Secante converge para a raiz de f (x) = 0 x1 , x0
[a, b].
Crit
erio A2: Se forem verificadas as condicoes 1., 2. e 3. do criterio I do metodo de
Newton e alem disso:
4b) x0 e x1 sao tais que
f (x0 )f 00 (x) 0
f (x1 )f 00 (x) 0
entao o metodo da Secante converge para a u
nica raiz de f (x) = 0.
F
ormula do erro do m
etodo da Secante
Pode mostrar-se que o erro no metodo da Secante satisfaz as seguintes formulas:
z xn+1 =
f 00 (n1 )
(z xn1 ) (z xn )
2f 0 (n2 )
onde K =
max |f 00 (x)|
x[a, b]
2 min |f 0 (x)|
x[a, b]
|f 00 (z)|
2|f 0 (z)|
!1/p
1
p = (1 + 5) 1.618 . . .
2
1
Entao, se f 0 (z) 6= 0 e f 00 (z) 6= 0, a ordem de convergencia e p = (1 + 5) 1.618 . . .,
2
53
Exemplo 2.16
Considere a equacao
2
ex x2 = 0
a) Mostre que essa equacao tem 2 duas raizes, z1 e z2 onde z1 [1, 0] e z2 [0, 1].
b) Calcule z2 pelo metodo da secante tendo como aproximacoes iniciais x1 = 0 e x0 = 1.
Faca iteradas ate que |f (xn+1 )| < 104 .
1a) Temos que
(
Como f 0 (x) tem somente 1 zero = f (x) tem no maximo 2 zeros. Portanto, z1 e z2 sao os
u
nicos zeros de f (x).
e x0 = 1, tem-se:
(xn xn1 )
. Tomando x1 = 0
f (xn ) f (xn1 )
(1 0)
(x0 x1 )
= 1 + 0.632121
= 0.61270
f (x0 ) f (x1 )
0.632121 1.0
(0.61270 1.0)
x2 = 0.61270 0.31161
= 0.74058
0.31161 + 0.63212
0.74058 0.61270
x3 = 0.74058 0.02940
= 0.75390
0.02940 0.31161
(0.75390 0.74058)
x4 = 0.75390 + 0.00191
= 0.75309
0.00191 0.02940
x1 = x0 f (x0 )
54
Conclumos este captulo com alguns Exerccios sobre a materia do captulo 2, provenientes de enunciados de exames.
EXERCICIOS
1. Considere a equacao sin x ex = 0.
(a) Prove que esta equacao tem uma raiz z [0.5, 0.7].
Soluc
ao. Seja f (x) = sin x ex . Como f (0.5)f (0.7) < 0, fica provada a
existencia de pelo menos uma raiz no intervalo I = [0.5, 0.7]. Alem disso, sendo
f 0 (x) = cos x + ex > 0 em I, a raiz e u
nica.
(b) Efectue uma iteracao pelo metodo da bisseccao e indique um novo intervalo que
contenha z.
Soluc
ao. x1 = 0.6; novo intervalo: I1 = [0.5, 0.6].
(c) Determine o n
umero m de iteracoes necessarias para garantir |z xm | < 106 .
Soluc
ao. A partir de m = 18 pode-se garantir aquela precisao.
2. Considere a equacao
3x2 ex = 0
(2.19)
(a) Localize graficamente as razes da equacao (4.4) e indique intervalos de comprimento unitario que as contenham.
Soluc
ao. Reescrevendo a equacao dada numa forma equivalente que permita
recorrer a um esboco grafico, tem-se
2
3x e = 0 3x = e
y = 3x2
y = ex
55
e xm
3
Mostre que e possvel obter aproximacoes das razes positivas da equacao 4.4
usando, para cada raiz, uma dessas sucessoes. Indique, em cada caso, um intervalo
onde podera escolher a iterada inicial x0 .
Soluc
ao. Note que a sucessao (S1)e da forma:
xm+1 = g1 (xm ),
com g1 (x) =
ex
.
3
(2.20)
Contudo, vemos que g10 (x) = (1/2) e3 e positiva e crescente. Tem-se g10 (3) ' 1.29
e, sendo z > 3, entao g10 (z) > g10 (3) q
> 1. Entao, recorrendo ao Teorema 2.8,
x
conclumos que a sucessao g1 (xm+1 ) = e 3m nao pode convergir para z (a nao ser
escolhendo x0 = z).
De modo analogo, mostre que (S2) nao pode ser usada para aproximar a raiz
pertencente a [0, 1].
3. Seja a funcao
g(x) =
1
ln(x2 + 1)
3
1
ln(x2m + 1),
3
56
m = 0, 1, 2, . . .
converge para um n
umero z [1, 1]. (ii) Determine z e a ordem de convergencia.
Soluc
ao. (i) Comece por provar que g verifica as condicoes do Teorema do
ponto fixo no intervalo I = [1, 1]. Isso permite concluir que existe z I tal
que a sucessao gerada por g converge para z, sendo que z e o u
nico ponto fixo de
g nesse intervalo. (ii) Por um lado, g tem um u
nico ponto fixo em I e, como
2
g(0) = (1/3) ln(0 + 1) = 0, isto significa que z = 0 e esse ponto fixo.
(iii) Ordem de convergencia. Sabemos que a ordem de convergencia e a ordem da
primeira derivada de g(x) que nao se anula em x = z (ver Teorema 2.10). Neste
caso, tem-se z = 0 e
2x
g 0 (x) =
= g 0 (z) = 0
3(x2 + 1)
Entao a convergencia e supralinear (se g 0 (z) 6= 0, seria linear, como se ve atendendo ao Teorema 2.9). Calculemos g 00 (x) para depois obtermos g 00 (z). Vem
g 00 (x) =
6(x2 1)
2
= g 00 (z) = g 00 (0) = 6= 0
2
2
9(x + 1)
3
|em+1
|g 00 (z)|
2
=
=
= 1/3 6= 0
2
|em |
2
(3)(2)
(2.21)
x1 = g(x0 ) = g(1) =
= z x0
= z x1
= z x2
= z x3
57
= x0 ' 1
' 0.2310491
' 0.0173358
' 0.0001002
(b) Calcule um majorante para o erro da segunda iterada (nao efectue iteracoes).
58
Soluc
ao. Sem efectuar iteracoes, ha que utilizar a formula dada no Teorema
2.11, que e da forma:
|z xm+1 | K (z xm )2
(2.22)
Neste caso, obtenha K ' 0.965 e |z x2 | 0.02.
5. Considere os seguintes metodos para obter um valor aproximado de z =
10:
(a) metodo de Newton aplicado a` funcao f (x) = x2 10. Mostre que se escolher x0 =
4 entao o metodo de Newton converge e a ordem e dois. Calcule tres iteradas e
determine um majorante para o erro de x3 . Quantos algarismos significativos pode
garantir ? ( Note que pode concluir convergencia se escolher para x0 qualquer
valor 4)
Soluc
ao. Pretende-se aproximar z = 10, que e a raiz positiva da equacao
f (x) = 0, ou seja, x2 10 = 0.
(i) Para provar a convergencia comecando com um determinado valor de x 0 (neste
caso, x0 = 4), tente aplicar o Criterio 2 das condicoes suficientes de convergencia
do metodo de Newton. Pode usar o valor 4 para um dos extremos do intervalo
onde vai aplicar o Criterio 2. (Tambem pode aplicar o Criterio 1?).
Para provar que pode concluir convergencia se escolher para x0 qualquer valor
4, note que fica garantida a convergencia desde que x0 seja tal que f (x0 ) > 0
(use o Criterio 2).
(ii) Para provar que a ordem de convergencia e 2, pode-se usar a relacao deduzida
na parte iii) da dem. do Teorema 2.12 (ver (2.18):
lim
m
|z xm+1 |
|f 00 (z)|
=
(z xm )2
2|f 0 (z)|
(2.23)
Se o limite for diferente de zero, sabemos, pela, Definicao 2.2, que a ordem e 2.
Neste caso, f 00 (x) = 2, logo diferente de zero para qualquer x e, em particular, em
z. A conclusao sai facilmente.
Nota: tambem poderia usar o facto do metodo de Newton ser um metodo do
ponto fixo, ou seja, uma sucessao do tipo xm+1 = g(xm ). (Identifique a funcao
g). Determinar a ordem equivale a investigar qual a primeira derivada de g que
nao se anula em z (ler Obs.2.1).
(b) metodo de Newton aplicado a` funcao f (x) = x1/2 (x2 10). Admitindo que o
metodo converge, mostre que a ordem de convergencia e 3.
6. Considere a equacao
f (x) = x tan(x) 1 = 0,
Prove que o metodo converge para a u
nica raiz no intervalo [0.8, 0.9], quaisquer que sejam as aproximacoes iniciais x0 , x1 nesse intervalo. Obtenha as tres primeiras iteradas
para o calculo da raiz e determine um majorante do erro do resultado obtido.
59
Soluc
ao. Verifique que o Criterio 1 do metodo da secante e aplicavel no intervalo
[0.8, 0.9]. Fazendo x1 = 0.8, x0 = 0.8, obtem-se: x1 ' 0.856788, x2 ' 0.860127,
x3 ' 0.860335. Para obter um majorante do erro de x3 , use a formula
|z xm+1 | K|z xm ||z xm1 |
Tem-se K ' 2.063. Sugere-se que note o seguinte: |z x2 | < |x3 x2 | ' 0.207 103
e |z x1 | < |x3 x1 | ' 0.355 102 . Vai-se obter o seguinte majorante |z x3 |
0.152 105 , o que garante 5 algarismos significativos na aproximacao x3 .
60
Sistemas de equaco
es
I. Soluc
ao Num
erica de Sistemas Lineares
Muitos problemas provenientes da Fsica, Matematica, Engenharia, Biologia, Economia,
entre outros, envolvem sistemas de equacoes lineares. Esses sistemas nalguns casos aparecem
directamente como parte do modelo matematico do problema real e, noutros casos, surgem
em conjunto com a aplicacao dum metodo numerico. Como veremos, a resolucao dum sistema de equacoes nao lineares pelo metodo de Newton conduz a um sistema de equacoes
lineares; tambem a aplicacao de certos metodos numericos na resolucao de equacoes diferenciais conduz em geral a sistemas lineares da forma:
E1 : a11 x1 +a12 x2 + . . . +a1n xn = b1
E2 : a21 x1 +a22 x2 + . . . +a2n xn = b2
..
..
..
..
..
..
.
.
.
.
.
.
En : an1 x1 +an2 x2 + . . . +ann xn = bn
(I)
ao as incognitas,
xj , j = 1, 2, . . . , n s
onde ai,j , bj , i = 1, 2, . . . , n, j = 1, 2, . . . , n,
A = (ai,j )
onde b = (bj )
x = (xj )
(II)
3.1
M
etodos Directos
M
etodo de Eliminac
ao de Gauss
Para obtermos uma solucao de (II), assumiremos que a matriz A e invertvel (det(A) 6= 0).
A ideia basica do metodo de Eliminacao de Gauss e transformar o sistema (II) num
sistema equivalente
A(n) x = b(n)
onde A(n) e uma matriz triangular superior. Essa transformacao e obtida utilizando as
seguintes operacoes:
i) Ei Ej Ei
Veremos agora que a aplicacao dessas operacoes ao sistema (II) conduz a um sistema equivalente mais facil de se resolver.
Exemplo Seja o sistema linear
4 9 2
x1
2
2 4 4 x2 = 3 .
1 2 2
x3
1
Para resolve-lo, procedemos como segue:
1. a11 = 4 6= 0 = podemos colocar zeros abaixo de a11 .
2
1
a21
= =
m21 =
E2 m21 E1 E2
a11
4
2
e efectuando as operacoes
a
1
1
31
E3 m31 E1 E3
m31 =
= =
a11
4
4
obtem-se o sistema equivalente: A(2) x = b(2) onde
4 9
2
3
0 1/2
0 1/4 5/2
{z
A(2)
(2)
..
.
2
..
2
.
.. 3/2
} . | {z
b(2)
(2)
(2)
2
1
1/4
= = e efectuando a operacao E3 m32 E2 E3 obtem-se
1/2
4
2
(3)
o sistema equivalente A x = b(3) :
m32 =
a32
(2)
a22
.
4 9 2.. 2
.
0 1/2 3..
2
..
0 0 4. 5/2
A(2)
{z
b(2)
4 9 2
2
x1
0 1/2 3 x2 = 2
x3
0 0 4
5/2
que tem como solucao:
x3 = 5/2/4 = 5/8
1/2x2 + 3x3 = 2 = x2 = (2 3x3 )/1/2 = (2 3 5/8)/1/2 = 1/4
4x1 9x2 + 2x3 = 2 = x1 = 2 + 9x2 2x3 )/4 = (2 + 9 1/4 2 5/8)/4 = 3/4
No caso geral tem-se:
(2)
(2)
1o
Passo: Ax = b A x = b
a11
a
21
.
.
.
an1
.
a12 . . . a1n .. b1
.
a22 . . . a2n .. b2
..
..
.. .. ..
.
.
. . .
.
an2 . . . ann .. bn
0 a(2) . . . a(2)
22
2n
(2)
(2)
.
a32 . . . a3n
.
..
..
..
.
.
.
.
.
(2)
an2 . . . a(2)
nn
(2)
(2)
(3)
(3)
2o
Passo: A x = b A x = b
(2)
(2)
..
. b1
.. (2)
. b2
.. (2)
. b3
.. ..
. .
.. (2)
. bn
e efectuam-se as operacoes:
Ei mi2 E2 Ei , i = 3, 4, . . . , n
Obtem-se o sistema equivalente:
[A
(3)
a11
(3)
:b ]=
0
.
.
.
a12
a13 . . . a1n
(2)
a22
(2)
a23
(3)
a33
0
..
.
..
.
..
. b1
.. (2)
. b2
.. (3)
. b3
..
.
.. (3)
. bn
(2)
a2n
(3)
a3n
...
...
..
.
..
.
(3)
an3 . . . a(3)
nn
2n
23
22
[A(n) : b(n) ] =
0
.
.
.
(3)
(3)
0
..
.
a33
0
. . . . . . a3n
..
.
.
. . . ..
...
(n)
ann
..
. b1
.. (2)
. b2
.. (3)
. b3
..
.
.. (n)
. bn
E-se
assim conduzido a um sistema linear equivalente ao sistema inicial, cuja matriz e
triangular superior. Este sistema pode facilmente ser resolvido, comecando com:
(n)
e calculando-se xn1 , xn2 , . . . , x1 , sucessivamente.
xn = bn(n) /ann
(k)
64
M
etodos de Factorizac
ao LU
Estes metodos consistem em decompor a matriz A num produto de duas matrizes LU , ou
seja, A = LU , onde L e uma matriz triangular inferior e U e uma matriz triangular superior.
Suponhamos que existem matrizes L e U tais que A = LU , onde L e triangular inferior e U
e triangular superior. Entao, dado o sistema linear Ax = b, podemos escrever
(LU )x = b
(3.1)
Lg = b,
(3.2)
(3.3)
que e um sistema triangular superior. Portanto, para resolver o sist. Ax = b, basta resolver
os dois sistemas triangulares definidos por (3.2) e (3.3).
Existem varias maneiras de se encontrar matrizes L e U de modo que A = LU , como veremos
a seguir.
C
alculo das matrizes L e U .
Considerando a equacao matricial
l11 0 . . . . . . 0
l21 l22 0 . . . 0
..
.. . . . .
.
. 0
.
.
..
..
...
.
.
0
ln1 ln2 . . . . . . lnn
{z
} |
..
..
..
.
.
. =
..
..
..
.
.
.
an1 an2 . . . ann
A
{z
(matriz dada)
vemos que temos (n2 + n)incognitas: lij e uij . Por outro lado, pela regra de produto de
matrizes, podemos formar n2 -equacoes. Uma maneira de obter nequacoes adicionais e fixar
n elementos de L ou U . Em seguida consideramos alguns casos particulares.
65
M
etodo de Doolittle (ou Factorizac
ao de Doolittle)
Este metodo corresponde a impor que os elementos da diagonal de L sejam iguais a 1,
ou seja, lii = 1, i = 1, 2, . . . , n. Temos
1 0 ... ... 0
a11 a12 . . . a1n
l
0 ... 0
a21 a22 . . . a2n
21 1
.
.
..
..
..
.
..
.. ... 0
.
.
.
= ..
..
..
..
..
.
...
.
0
.
.
. ..
ln1 ln2 . . . . . . 1
an1 an2 . . . ann
1a. coluna de L
( supondo que a11 =
6 0)
2a. linha de U
2a. coluna de L
En geral, tem-se:
..
.
..
.
..
.
..
.
..
.
..
.
l
21 u13 + u23 = a23 = u23 = a23 l21 u13
..
.
..
.
..
.
..
.
..
.
..
.
l31 u12 + l32 u22 = a32 = l32 = (a32 l31 u12 )/u22
.
.
.
..
..
..
..
.
.
ln1 u12 + ln2 u22 = an2 = ln2
k1
X
lkr urj ,
r=1
k1
X
..
..
.
= (an2 ln1 u12 )/u22
j = k, k + 1, . . . , n
!
r=1
66
m21
m31
L=
.
..
.
.
.
mn1
0
1
... ...
0 ...
...
1
... ...
...
...
m32
..
...
.
..
...
...
.
mn2 . . . . . . mnn1
; U = A(n)
0
... ...
... ...
... ...
.
. . . ..
. . . ..
.
... 0
a1n
(2)
a2n
(3)
a3n
..
.
..
.
a(n)
nn
0
x1
2
3 2
2 16 10 x2 = 3
0
x3
14 7 7
Soluc
ao: Pelo metodo de Doolittle temos:
Ax = b LU x = b
onde
Lg = b
Ux = g
1 0 0
u11 u12 u13
l31 l32 1
0
0 u33
k1
X
lks usj ,
s=1
k1
X
aik
j = k, k + 1, . . . , 3
!
s=1
i = k + 1, k + 2, . . . , 3
Calculo de L e U :
1a. linha de U :
u = a = u = 2
11
11
11
u12 = a12 = u12 = 3
u = a = u = 2
13
13
13
1a. coluna de L :
l21 = a21 /u11 = 2/2 = 1
l31 = a31 /u11 = 14/2 = 7
2a. linha de U :
u22 = a22 l21 u12 = u11 = 16 1 3 = 19
u23 = a23 l21 u13 = u23 = 10 1 2 = 12
67
2a. coluna de L :
7 7 3
l32 = a32 l31 u12 =
19
= 28/19 = 1.47368
Portanto,
3a. linha de U :
28
u33 = a33 l31 u13 l32 u23 = 7 (7 2)
12
19
= 7 + 14 17.6842 = 10.68421
1
0
0
2 3
2
1
1
0
0
19
12
L=
e
U
=
7 1.473681 1
0 0 10.68421
g1 = 0
0
g1
0
0
g1 + g2 = 3 = g2 = 3
1
0
= g2 = 3 =
7g1 + 1.473681g2 + g3 = 0
0
7 1.473681 1
g3
= g3 = 1.473681g2 = 4.42104
1
Portanto, g = [0 3 4.42104]T .
0
2 3
2
x1
3
12
0 19
= x2 =
4.42104
0 0 10.68421
x3
4.42104
x3 =
= 0.413792
10.68421
3 12x3
19x2 + 12x3 = 3 = x2 =
19
3 12 0.413792
=
= 0.103448
19
68
M
etodo de Crout (ou Factorizac
ao de Crout)
Este metodo corresponde a impor que os elementos da diagonal de U sejam iguais a 1,
ou seja, a decomposicao e da forma:
.
.. . . . .
..
..
..
.
. 0
.
.
.
.
= ..
..
..
..
..
..
.
.. 0
.
.
.
. .
ln1 ln2 . . . . . . lnn
an1 an2 . . . ann
A
{z
(matriz dada)
{z
L
1 u12 . . . . . . u1n
0 1 u
23 . . . u2n
..
... ...
.
0
.
..
.
.
. . . . ..
.
0 0 ... 0
1
} |
{z
U
k1
X
lir urk , i = k, k + 1, . . . n
r=1
k1
X
r=1
M
etodo de Cholesky (ou Factorizac
ao de Cholesky)
No caso especial em que A e uma matriz real simetrica definida positiva, a decomposicao
LU pode ser modificada de maneira que L = U T , ou seja, A = LLT . As equacoes para obter
a matriz L seguem o mesmo procedimento do metodo LU , ou seja,
l11 0 . . . . . . 0
l21 l22 0 . . . 0
..
.. . . . .
.
. 0
.
.
..
..
...
.
.
0
ln1 ln2 . . . . . . lnn
{z
} |
..
..
..
.
.
. =
..
..
..
.
.
.
an1 an2 . . . ann
A
{z
(matriz dada)
l11 l21
0 l
22
...
0
..
.
0
. . . . . . ln1
. . . . . . ln2
..
...
.
. . . . . . ..
.
. . . 0 lnn
{z
LT
v
u
u
ta
"
kk
aik
k1
X
2
lkr
r=1
k1
X
r=1
69
C
alculo da Matriz Inversa
Seja A uma matriz nao-singular e A1 sua inversa. Entao,
AA1 = I
Seja xj = x1j , x2j , . . . , xnj , a coluna j (j = 1, ...n) de A1 . Entao temos:
a11 a12
a21 a22
..
..
.
.
..
..
.
.
an1 an2
. . . . . . a1n
. . . . . . a2n
.
. . . . . . ..
.
. . . . . . ..
. . . . . . ann
x11 x12
x21 x22
..
..
.
.
..
..
.
.
xn1 xn2
. . . . . . x1n
. . . . . . x2n
.
. . . . . . ..
.
. . . . . . ..
. . . . . . xnn
=
..
... ... 0
...
1
0
. . . . . . . . . ..
.
... ...
0
... ... 0 1
70
T
ecnicas de Pesquisa de Pivot
Devido aos erros de arredondamento, o metodo de Eliminacao de Gauss pode conduzir a
solucoes erroneas. Ou seja, podemos ter problemas de instabilidade numerica. As tecnicas
de pesquisa de pivot surgem numa tentativa de minorar o efeito da propagacao dos erros de
arredondamento.
Comecamos por apresentar o seguinte exemplo.
Exemplo 3.1
(3.4)
que tem como solucao exacta x1 = 10.0 e x2 = 1.0. Suponhamos um computador que usa
um sistema V F (10, 4, 10, 10) e arredondamento simetrico. Entao, aplicando o metodo de
Eliminacao de Gauss ao sistema linear (3.4), temos:
m21 =
5.291
= 1763.66 0.1764 104
0.003000
(3.5)
0.1044 106
59.17 (59.14 1.001)
=
1.00096
1.001
e
x
=
= 10.0
1
0.1043 106
0.003000
|1.0 1.001|
= 0.001(0.1 % erro) resultou num
1.0
|10.0 (10.0)|
= 2( ou seja, 200 % de erro)
10.0
Vejamos que n
ao
e indiferente a ordem das equaco
es !
Por outro lado, se trocarmos as equacoes em (3.4) (E1 E2 ), tem-se:
5.291x1 6.130x2 = 46.78
0.00300x1 +59.14x2 = 59.17
71
(3.6)
0.003000
= 0.0005670 0.0006
5.291
72
Notemos que a aplicacao desta tecnica, no exemplo anterior, ao sistema (3.4) conduz ao
sistema (3.6).
obs: Estudos feitos sobre o met. de Elim. de Gauss mostram que se os multiplicadores mik
sao tais que |mik | 1 entao o efeito da propagacao dos erros de arredondamento na
solucao e de algum modo reduzido. Esse e o objectivo da tecnica de pesquisa parcial
de pivot.
Pesquisa Total de Pivot
Esta tecnica consiste em escolher, para elemento pivot, no k-passo do metodo de Eliminacao
de Gauss, o elemento:
|akrs | = max{|akij |, i, j = k, k + 1, . . . , n}
No exemplo anterior, conduziria ao sistema
59.14x1 + 0.00300x2 = 59.17
6.130x1 +
5.291x2 = 46.78
A pesquisa total de pivot e a tecnica que permite maior reducao dos erros de arredondamento.
Contudo ela requer um maior tempo computacional, sendo, por isso, mais dispendiosa.
73
Matrizes Especiais
No caso de certo tipo de matrizes, que consideraremos nesta seccao, o metodo de eliminacao de Gauss tem um comportamento estavel, nao sendo necessario recorrer ao uso de
pesquisa de pivot.
Definic
ao 3.1 (Matriz de Diagonal Dominante): Uma matriz Ann e chamada matriz de
diagonal dominante se:
|aii |
|ajj |
n
X
|aij |
n
X
j=1
j 6= i
i=1
i 6= j
00
Definic
ao 3.2 (Matriz de Diagonal Estritamente Dominante): Se nas desigualdades acima
o sinal for substitudo por 00 >00 (ou seja, desigualdade estrita sempre) entao dizemos que
a matriz e de diagonal estritamente dominante por linhas (ou por colunas).
Exemplo 3.2
Considere a matriz
4 1 0
A = 1 4 1
2 2 4
Tem-se: |4| > | 1| + |0|, |4| > | 1| + |1| e |4| = |2| + |2|, donde vemos que esta matriz e de
diagonal dominante por linhas, mas nao e de diagonal estritamente dominante por linhas.
Por outro lado, A e de diagonal estritamente dominante por colunas: |4| > | 1| + |2| ,
|4| > | 1| + | 2| e |4| > |1| + |0|
Definic
ao 3.3 (Matriz Definida Positiva): Seja Ann uma matriz simetrica. Se xT Ax > 0
qualquer que seja o vector nao nulo x = [x1 , x2 , ..., xn ]T IRn , dizemos que A e uma matriz
definida positiva.
Na pratica e mais facil verificar o seguinte.
74
k = 1, 2, ..., n.
Exemplo 3.3
Para a matriz
2 1 0
A=
1 2 1
0 1 2
tem-se
A1 = [2],
A2 =
"
2 1
1 2
A3 = A
e, sendo A simetrica, com det(A1 ) = 2, det(A2 ) = 3 > 0, det(A3 ) = det(A) = 4 > 0, entao
A e definida positiva.
Observaco
es
obs1: Se A e simetrica e os valores proprios de A sao positivos entao A e definida positiva.
obs2: Se A e definida positiva entao os elementos da diagonal sao positivos.
Teorema 3.2 Seja A uma matriz de um dos dois tipos seguintes: i) simetrica definida
positiva ou ii) de diagonal estritamente dominante por linhas ou por colunas. Entao A e
nao singular e, alem disso, o metodo de Eliminacao de Gauss (tambem o metodo LU ) pode
ser aplicado ao sistema linear Ax = b sem troca de linhas. Ou seja, o processo e estavel em
relacao a` propagacao dos erros de arredondamento, nao sendo preciso usar nenhuma tecnica
de pesquisa de pivot.
Tem-se ainda
Teorema 3.3 Se A e uma matriz simetrica definida positiva entao o metodo de Cholesky
pode ser aplicado ao sistema linear Ax = b. (existe uma u
nica matriz triangular inferior L
talque A = LLT ).
75
II. kxk1 =
n
X
i=1
|xi |
n
X
III. kxk2 =
i=1
|xi |
!1/2
Exemplo 3.4
seja x = [1 2 4]T . Entao:
kxk = max {| 1|, |2|, |4|} = 4
kxk1 =
kxk2 =
3
X
i=1
3
X
i=1
|xi |
!1/2
76
1/2
21
Normas de Matrizes
Uma norma de matriz e uma funcao definida no conjunto das matrizes quadradas reais com
valores em IR (k k : IRn IRn IR) satisfazendo:
M1. kAk 0, A
M2. kAk = 0 A = 0
M3. kAk = ||kAk, IR, A
M4. kA + Bk kAk + kBk, A e B
M5. kABk kAkkBk, A e B
Embora uma norma de matriz possa ser definida de varias maneiras, vamos considerar
somente normas provenientes de normas de vectores.
Dada uma norma vectorial k k, a aplicacao
kAk = max
x6=0
kAxk
kxk
(1)
satisfaz as condicoes M1-M5 para normas de matrizes. Como vemos, a norma de matriz
definida por (1) depende da norma de vector adoptada. Vejamos alguns casos particulares:
1. Consideremos a norma vectorial kxk = max {|xi |}. Entao tem-se:
1in
kAk = max
x6=0
n
X
kAxk
. Nesse caso, pode-se provar que:
kxk
Exemplo 3.5
1 3 5
|1| + |3| + | 5| = 8,
6 5 7
| 6| + |5| + |7| = 18
77
= 18
n
X
i=1
kAk1 = max
x6=0
kAk1 = max
1jn
( n
X
i=1
|aij |
kAxk1
. e pode-se provar que:
kxk1
Exemplo 3.6
|1| + |1| + | 6| = 8,
Para a matriz acima, tem-se: kAk1 = max |3| + |4| + |5| = 12, = 14
| 5| + |2| + |7| = 14
1 0 1
2
2 1
Exemplo 3.7 Determine os valores proprios da matriz A =
1 0 0
Soluc
ao:
1
0
1
2 1
A I = 2
1
0
2
Entao det(A I) = 0 = (1 )
0
= (1 ) [(2 )()] + (2 ) = 0
2
+
1
2
0
=0
2
= (2 ) [(1 )
+ 1] = 0 = (2 ) [ + 1] = 0
1 3i
1 + 3i
, 3 =
= 1 = 2, 2 =
2
2
Definic
ao 3.5 Seja A uma matriz quadrada. O raio espectral de A, denotado por
(A), e definido por:
(A) = max |i | onde i e valor proprio de A
1im
78
Exemplo 3.8
Para a matriz acima tem-se:
(A) = max |i | = max{2, 1, 1} = 2
1i3
kAk2 = (AAT )
i1/2
T
sao: 1, (11 105)/2, (11 + 105)/2. Entao (AA ) = (11 + 105)/2 ' 10.62348 e
kAk2 ' 3.25937. Note que tambem se tem kAk = 5 e kAk1 = 4. Por outro lado, obtivemos
(A) = 2, que e um valor inferior a qualquer das tres normas obtidas.
Te-se a seguinte propriedade do raio espectral.
Teorema 3.4 i) Qualquer que seja a norma matricial k k, induzida por uma norma vectorial, tem-se, para qualquer matriz A:
(A) kAk
ii) Dada uma matriz A qualquer, para todo o > 0, existe uma norma induzida k k, tal
que:
kAk (A) +
Ou seja, o raio espectral e o nfimo de todas as normas induzidas (entre os valores (A)
e (A) + existe sempre uma norma de A)
79
kx k =
kx x
k
kex k
=
, se x 6= 0, e o erro relativo de x
kxk
kxk
(3.7)
por vezes os elementos de A ou b (os dados) podem ter de ser arredondados. Tambem
ao utilizarmos o metodo de eliminacao de Gauss, os erros resultantes dos arredondamentos
efectuados conduzem a erros na solucao final.
Para avaliar ate que ponto a solucao x e sensvel a` propagacao dos erros de arredonda
mento, podemos pensar que o sistema original e substitudo por um outro sistema A x
= b,
"
1
1
"
3
0
"
2
1
keb k
0.0002
=
0.000067 0.007%
kbk
3.0001
e
kx k =
kek
2
= = 200%
kxk
1
Assim vemos que uma pequena perturbacao relativa em b conduziu a uma grande perturbacao relativa na solucao x. O sistema nao e bem condicionado. Trata-se dum sistema
mal condicionado.
Como identificar um sistema mal condicionado ?
Definic
ao 3.6 Seja A uma matriz nao-singular. O n
umero de condicao de A e definido
por:
cond(A) = kAk kA1 k, onde k k e uma norma natural de matrizes.
Note-se que o n
umero de condicao cond(A) depende da norma utilizada, mas, para as normas
induzidas, e sempre maior ou igual a um.
81
Previs
ao do erro na soluc
ao do sistema
Teorema 3.5 Seja x a solucao exacta do sistema Ax = b e x
a solucao obtida do sistema
perturbado A
x = b. Entao,
ou
1
kb bk
kx x
k
kb bk
cond(A)
cond(A) kbk
kxk
kbk
(3.8)
1
kb k kx k cond(A) kb k
cond(A)
(3.9)
obtem-se:
Prova: de Ax = b e A
x = b,
= A(x x
= x x
Ax A
x=bb
) = b b
= A1 (b b)
kA1 k kb bk
= kx x
k = kA1 (b b)k
= kx x
k kA1 k kb bk
(3.10)
(3.11)
kxk
kbk
(3.12)
kb bk
kx x
k
kA1 k kAk
kxk
kbk
(3.13)
kb bk
= kA(x x
kb bk
)k kAk kx x
k = kx x
k
kAk
(3.14)
||x||
kAk ||x||
(3.15)
1
1
1
kxk
kA k kbk
82
(3.16)
1
kb bk
kx x
k
1
kAk kA k kbk
kxk
(3.17)
kb bk
kx x
k
kb bk
1
1
kA
k
kAk
kAk kA1 k kbk
kxk
kbk
ou
1
kb k kx k cond(A)kb k
cond(A)
Observaco
es: Comecemos por notar que o resultado do teorema anterior compara o erro
com o erro relativo de x
relativo de b
, sendo independente do metodo utilizado para resolver
o sistema.
Examinemos a desigualdade que nos da uma majoracao para o erro:
kx k cond(A) kb k
1. Se cond(A) 1 (pequeno) entao, se kb k for pequeno, vem que kx k tambem e pequeno.
Neste caso, o sistema e um sistema bem condicionado!
2. Se cond(A) >>> 1 (grande) entao kb k pequeno 6= kx k pequeno. Ou seja, pode
haver situacoes em que resulte um kx k pequeno (ver exemplo abaixo) e outras em que
Na verdade e garantido isso
o erro relativo de x
possa ser muito maior do que o de b.
acontecer para certas escolhas de b e b, so que na pratica nao se sabe quais sao essas
escolhas. Um n
umero cond(A) muito grande traduz-se numa grande sensibilidade do
sistema a pequenas mudancas relativas em b, ou, por outras palavras, o sistema e mal
condicionado.
Exemplo 3.10
Para o exemplo anterior temos:
A=
"
1.0001 2
1
2
"
10000 10000
5000 5000.5
Previs
ao:
Usemos a formula de majoracao, concretizada para a norma k k :
kx k cond (A) kb k
kx x
k
kb bk
60002
' 4.02, ou seja ' 400%
kxk
kbk
e 0.0067, o erro relativo
Pode concluir-se para este exemplo: quando o erro relativo em b
na solucao pode ir ate 400%. Na verdade, ja tnhamos calculado kx k = 2 (' 200%), o que
esta de acordo com a previsao (que da um majorante para o erro).
Para melhor ilustrar a incerteza inerente ao mau condicionamento de sistemas, inclumos
ainda o seguinte exemplo.
Consideremos de novo o mesmo sistema, mas sujeito a uma perturbacao em b diferente
dado por:
da considerada. Assim, seja o sistema A
x=b
1.0001
x1 + 2
x2 = 3.0011
x1 + 2
x2 = 3.001
este sistema tem por solucao: x1 = 1. e x2 = 1.0005.
facil de verificar que kb k ' 0.33 101 % e kx k ' 0.5 101 %. Ou seja, agora a uma
E
pequena perturbacao relativa em b correspondeu tambem uma pequena perturbacao relativa
em x.
As observacoes acima sobre mudancas no vector b tambem sao validas quando ha mudancas nos elementos da matriz A. Em particular, se compararmos as solucoes de Ax = b
x = b, tem-se, no caso em que o erro relativo de A e suficientemente pequeno:
e A
kx x
k
cond(A)
kA Ak
Ak
kxk
kAk
1 cond(A) kA
kAk
(3.18)
< 1/kA1 k
supondo que kA Ak
De novo pequenas mudancas em A podem levar a grandes mudancas em x, se cond(A)
for grande. Em geral, o software para resolver sistemas lineares tem incorporados metodos
para se estimar cond(A), sem ter de se calcular A1 . Quando se suspeita que a matriz e mal
condicionada, pode ser usada uma tecnica (metodo da correccao residual) para melhorar a
solucao aproximada obtida.
Conclumos esta seccao com a seguinte observacao. Como vimos, as tecnicas de pesquisa
de pivot sao utilizadas para minorar as dificuldades resultantes da propagacao dos erros de
84
arredondamento. Contudo, no caso de sistemas mal condicionados, a sua utilizacao nao vai
em princpio melhorar grandemente os resultados, ja que o mau condicionamento resulta
sempre em instabilidade numerica.
85
3.2
M
etodos iterativos para Sistemas Lineares
Introduc
ao
Num metodo iterativo para resolver um sistema de equacoes lineares Ax = b, comeca-se
com uma aproximacao inicial x(0) da solucao x e e gerada uma sucessao de aproximacoes
etodos iterativos sao em geral usados para sistemas de grande dimensao (por
{x(k) }
k=0 . Os m
exemplo, se A e da ordem de 10000) onde A tem uma grande percentagem de elementos nulos
(matriz esparsa). Sistemas deste tipo surgem por exemplo depois da aplicacao de metodos
numericos a problemas de valores na fronteira e equacoes com derivadas parciais.
Relembremos que, no captulo 2, para as equacoes da forma f (x) = 0 obtiveram-se
metodos iterativos do ponto fixo xk+1 = g(xk ), depois de se reescrever a equacao dada
f (x) = 0 na forma x = g(x).
No caso dum sistema linear Ax = b, que e uma equacao da forma
Ax{z b} = 0,
(3.1)
Ax = b x = Cx
+ d,
| {z }
(3.2)
F (x)
tambem comecamos por obter uma equivalencia x = G(x). Como veremos na seccao
seguinte, em geral isso pode ser feito atraves duma decomposicao da matriz A, a qual permite
reescrever o sistema numa forma equivalente
G(x)
(0)
(0)
(0)
x(0) = [x1 x2 x3
k = 0, 1, 2, ...
T
. . . x(0)
n ]
(0)
x1 e aprox. para x1 ,
(0)
x2 e aprox. para x2 ,
.....
x(0)
e aprox. para xn
n
86
(3.4)
(1)
(1)
T
. . . x(1)
n ]
(2)
(2)
(2)
T
. . . x(2)
n ]
x(1) = [x1 x2 x3
x(2) = [x1 x2 x3
..
.
Ou, doutro modo, interessa-nos que as distancias (medidas por intermedio duma norma)
de x a`s sucessivas iteradas x(k) tenda para zero:
lim kx(k) xk = 0
(3.6)
87
3.2.1
Os M
etodos de Jacobi e Gauss-Seidel
Vamos comecar por apresentar dois metodos iterativos, utilizando um exemplo concreto.
Exemplo 3.11 Seja o sistema
x1 = 1, x2 = 2
1 5 1 x2 = 8
e x3 = 1.
6
x3
2 3 10
Em forma explcita, temos:
10x1 + 2x2 + x3
x1 + 5x2 + x3
2x1 + 3x2 + 10x3
= 7
= 8
= 6
(3.7)
O M
etodo de Jacobi
Resolvendo a primeira equacao de (3.7) em ordem a x1 , a segunda em ordem a x2 e a
terceira em ordem a x3 , obtem-se o sistema equivalente
x1 = (7 2x2 x3 )/10
x2 = (8 x1 x3 )/5
x3 = (6 2x1 3x2 )/10
(3.8)
Sendo x = [x1 x2 x3 ]T e designando por g1 (x1 , x2 , x3 ), g2 (x1 , x2 , x3 ), g3 (x1 , x2 , x3 ), respectivamente, as expressoes do lado direito de (3.8), temos, equivalentemente,
x1 = g1 (x1 , x2 , x3 )
x2 = g2 (x1 , x2 , x3 )
x3 = g3 (x1 , x2 , x3 )
x = G(x)
(3.9)
Em seguida associamos a G o metodo do ponto fixo x(k+1) = G(x(k) ). Isto e, no lado esquerdo
(k)
(k+1)
das equacoes substitui-se cada xi por xi
e, no lado direito, por xi . Obtem-se assim o
chamado metodo de Jacobi, definido por
(k+1)
(k)
(k)
(k)
(k)
x1
= (7
2x2 x3 )/10 = 0.7 0.2x2 0.1x3
(k+1)
(k)
(k)
(k)
(k)
x2
= (8 x1
x3 )/5 = 1.6 0.2x1 0.2x3
(k+1)
(k)
(k)
(k)
(k)
x3
= (6
2x1 3x2 )/10 = 0.6 0.2x1 0.3x2 ,
(3.10)
com
k = 0, 1, 2, ... Suponhamos que se comeca com uma aproximacao inicial x(0) =
[0.7 1.6 0.6]T . Para obter as iteradas seguintes, utiliza-se (3.10), dando-se sucessivos
valores a k:
88
k = 0 (calculo de x(1) )
(1)
(0)
(0)
(1)
(1)
(2)
(2)
(expressao de x(1) )
(1)
(0)
(0)
A expressao da componente x1
fica como no metodo de Jacobi. Na expressao da
(k+1)
(k)
(k+1)
(k+1)
componente x2
, substitui-se x1 por x1
. Na expressao da componente x3
substitui(k)
(k+1)
(k)
(k+1)
se x1 por x1
e x2 por x2
.
89
Com base nessas observacoes, o metodo de Gauss-Seidel para o exemplo dado e o metodo
iterativo definido por:
(k+1)
(k)
(k)
(k)
(k)
x1
= (7
2x2
x3 )/10 = 0.7 0.2x2 0.1x3
(k+1)
(k+1)
(k)
(k+1)
(k)
x2
= (8 x1
x3 )/5 = 1.6 0.2x1
0.2x3
(k+1)
(k+1)
(k+1)
(k+1)
(k+1)
x3
= (6
2x1
3x2
)/10 = 0.6 0.2x1
0.3x2
,
com
(3.11)
k = 0, 1, 2, ....
(k+1)
(k)
x
0.7
0
0.2 0.1 x1
1(k+1)
(k)
(k+1)
=
x
0
0.2 x2 + 1.6
= Cj x(k) + d
x
0.2
2
(k)
(k+1)
0.6
0.2 0.3
0
x3
x3
Exemplo 3.13 Verifique que tambem e possvel expressar o metodo de Gauss-Seidel (3.11)
numa forma x(k+1) = CGS x(k) + d, onde CGS e uma matriz e d um vector adequado.
Veremos que as matrizes CJ e CGS tem um papel importante na convergencia dos metodos.
3.2.2
Obtenc
ao de M
etodos Iterativos.
Dado o sistema linear Ax = b, vamos agora descrever uma maneira de se obterem metodos
iterativos da forma
x(k+1) = C x(k) + d
90
(3.12)
Ax = b (M + N )x = b
(3.13)
donde resulta
Desenvolvendo a igualdade da direita obtem-se sucessivamente
1
1
Ax = b M x = b N x x = M
N x+M
| {z b}
| {z }
(3.14)
Ax = b x = Cx + d
(3.15)
(3.16)
1
x(k+1) = M
N x(k) + M 1 b
| {z }
(3.17)
ou seja,
C
..
..
.. x
.
.
. 3 =
b3
.
.
.. ..
..
..
..
.
.
.
xn
bn
an1 an2 . . . ann
91
L=
0
0 ...
...
a21 0
0
...
..
..
..
..
.
.
.
.
..
..
..
.
.
.
an1 an2 . . . ann1
a11 0 . . .
0 a
0
22
.
.
..
..
;D = 0
.
..
.
.
.
0
0 ...
0 a12 . . . . . . a1n
0 0 a
a2n
23 . . .
..
.
.
.
..
..
.
0 ; U = 0 ..
.
..
..
.
.
. an1n
.
0
0 0 ... 0
0
0
0
0
... 0
... 0
..
..
.
.
..
. 0
0 ann
Entao, tem-se:
A=L+D+U
3.2.3
(3.18)
Formulac
ao matricial dos m
etodos de Jacobi e Gauss-Seidel
M
etodo de Jacobi
Com base na igualdade (3.18), vem:
+ U )x = b
Ax = bx (|{z}
D +L
| {z }
M
(3.19)
{z
x(0) dado.
CJ
10 2 1
x1
7
2 3 10
x3
6
Vem
10
M =D=
5
10
CJ = D1 (L + U ) =
1/10
0 2 1
N =L+U = 1 0 1
2 3 0
0
0.2 0.1
0 2 1
0
0.2
1/5
1 0 1 = 0.2
0.2 0.3
0
2 3 0
1/10
Deduc
ao da express
ao geral do m
etodo de Jacobi
u
E
til deduzir a expressao geral do metodo de Jacobi, para efeitos de implementacao do
metodo no computador.
Da igualdade Dx(k+1) = (L + U )x(k) + b obtemos as equacoes
(k+1)
a11 x1
(k+1)
a22 x2
(k+1)
a33 x3
(k+1)
ann x3
e portanto,
(k+1)
(k+1)
x2
(k+1)
x3
=
=
..
.
(k+1)
x3
(k)
a x
21 1
(k)
a31 x1
(k)
b1 a12 x2
b2
b3
(k)
a x
21 1
(k)
a31 x1
..
h
.
(k)
= bn an1 x2
(k+1)
Em geral, xi
(k)
a12 x2
(k)
+ a13 x3
+
(k)
a23 x3
(k)
a32 x2
(k)
+ ... +
a1n x(k)
n
(k)
a24 x4
(k)
a34 x4
+ ... +
a2n x(k)
n
(k)
a3n xn
(k)
+ ... +
(k)
a24 x4
(k)
a34 x4
+ ... +
+ a14 x4
+ b1
+ b2
+
+
+ ... +
+ b3
..
..
..
..
..
=
.
+
.
+
.
+
.
.
.
+
.
+
.
(k)
(k)
(k)
(k)
= an1 x1
+ an2 x2 + an3 x3 + . . . + ann1 xn1 + bn
..
.
x1
(k)
+ a13 x3
+
+
(k)
a23 x3
(k)
a32 x2
+ a14 x4
+
+
+ ... +
..
..
.
.
(k)
(k)
+ an2 x2 + an3 x3 + . . . +
xi
=
bi
n
X
j=1
j6=i
a1n x(k)
n
i
/a
i 11
(k)
/a
a2n xn
i 22
a3n x(k)
/a33
n
..
. i
(k)
ann1 xn1
(k)
aij xj
/aii , i = 1, 2, . . . , n
/ann
(3.20)
(k+1)
= [8
x1
x2
(k+1)
x3
[7
[6
(k)
(2x2
(k)
(x1
(k)
(2x1
(k)
x3 ) /10
x3 ) /5
(k)
(k)
+ 3x2 ) /10
Na pratica, e mais facil utlizar o processo descrito no exemplo 3.11 para obter a expressao
da iterada generica.
M
etodo de Gauss-Seidel
Com base na igualdade (3.18), associamos as matrizes do seguinte modo:
Ax = bx (D
+ L + U )x = b
| {z } |{z}
M
93
(3.21)
(3.22)
CGS
A formula geral para o calculo de x(k+1) pode ser obtida de maneira analoga a` utilizada
para o metodo de Jacobi, usando a igualdade (equivalente a (3.22)):
(D + L)x(k+1) = U x(k) b
(3.23)
(3.24)
donde se obtem
xi
= bi
i1
X
j=1
(k+1)
aij xj
n
X
j=i+1
(k)
aij xj /aii , i = 1, 2, . . . , n
(3.25)
Note-se que a expressao acima tambem pode ser deduzida a partir da expressao geral
(3.20) do metodo de Jacobi, fazendo as modificacoes seguintes. No metodo de Gauss-Seidel
(k+1)
utilizam-se os valores xj
, j = 1, 2, . . . , i 1, que sao aproximacoes actualizadas de xj , j =
(k)
1, 2, . . . , i 1, em vez dos valores xj , j = 1, 2, . . . , i 1.
3.3
Converg
encia dos M
etodos Iterativos
Teorema 3.6 (Condicao suficiente de convergencia) Seja o sistema linear Ax = b e suponhamos que o mesmo tenha sido transformado no sistema equivalente
x = Cx + d
(3.26)
(3.27)
com x(0) um vector qualquer do IRn . Se existe alguma norma induzida (ou natural) de
matrizes tal que kCk < 1, entao o metodo iterativo (3.27) converge para a solucao x do
sistema (3.26) qualquer que seja o vector x(0) dado. E tem-se as formulas de erro
(I) kx x(k+1) k kCk kx x(k) k
(II) kx x(k+1) k kCkk+1 kx x(0) k
kCk
(III) kx x(k+1) k
kx(k+1) x(k) k
1 kCk
94
(3.28)
(3.29)
(3.30)
(3.31)
(3.32)
(I)
(II)
As formulas (I) e (II) sao validas para qualquer norma vectorial e correspondente norma
matricial induzida.
95
Converg
encia
A formula (II), juntamente com a hipotese de que existe uma norma tal que kCk < 1,
pode ser utilizada para provar convergencia. Com efeito, sendo kCk < 1, entao
k
k
k
kx x(k+1)
k = kC(x x(k+1) + x(k+1) x(k) )k kCkkx x(k+1) + x(k+1) x(k) k
kCk kx x(k+1) k + kx(k+1) x(k) k = kCkkx x(k+1) k + kCkkx(k+1) x(k) k
= kx x(k+1) k kCkkx x(k+1) k kCkkx(k+1) x(k) k
= (1 kCk)kx x(k+1) k kCkkx(k+1) x(k) k
kCk
kx(k+1) x(k) k
1 kCk
(III)
Corol
ario 3.1 O metodo iterativo (3.27) converge para a solucao x do sistema (3.26) qualquer que seja o vector x(0) dado, se alguma das condicoes se verificar:
(1) kCk < 1
(2) kCk1 < 1
(3.33)
(3.34)
Observacao: Pode nao se dar (1) nem (2) e o metodo ser convergente.
10 2 1
x1
7
0
0.2 0.1
0.2
0
0.2
CJ = D1 (L + U ) =
0.2 0.3
0
kx x(2) k
kx x(2) k
CJ =
0
a12 /a11 a13 /a11
...
a1n /a11
a21 /a22
0
a23 /a22
...
a2n /a22
..
..
.
...
...
.
..
..
.
.
...
...
an1 /ann an2 /ann
...
an1n /ann
0
n
X
j=1
j6=i
|aij | i
n
X
|aij |
j=1
j6=i
|aii |
< 1
n
X
j=1
|cij | < 1 i
j6=i
Acima designamos por cij os elementos da matriz CJ e a relacao anterior significa que
kCJ k < 1. Ou seja, a condicao de A ser de diagonal estritamente dominante por linhas e
equivalente a ter-se kCJ k < 1. E estamos nas condicoes do teorema (3.6). Consequentemente, podemos concluir que o metodo de Jacobi converge, qualquer que seja o vector inicial
x(0) .
97
4 4 2
A = 1 8 1
1 1
5
A e de diagonal estritamente dominante por colunas mas facilmente se verifica que para a
matriz CJ vem kCJ k1 > 1.
Voltando a` demonstracao do teorema, sendo A de diagonal estritamente dominante por
colunas, e possvel mostrar que existe uma norma (nao necessariamente a norma k.k1 ) tal
que kCJ k < 1 e, do teorema 3.6, de novo se conclui a convergencia do metodo de Jacobi,
qualquer que seja o vector inicial x(0) . 2
Tambem e valido um resultado analogo ao teorema (3.7) para o metodo de Gauss-Seidel,
mas cuja demonstracao e mais trabalhosa.
Teorema 3.8 (Criterio de Conv. Met. Gauss-Seidel) Considere o sistema linear Ax = b.
Se A e uma matriz de diagonal estritamente dominante por linhas ou por colunas entao o
metodo de Gauss-Seidel converge para a solucao de Ax = b qualquer que seja o vector inicial
x(0) .
4 1 1
x1
7
98
Tem-se CJ = D (L + U ) =
"
0
3
1/4 0
kCJ k1 =
+ q
= 2 3/4 = 0 = 3/4
Logo, (CJ ) ' 0.866025 < 1, pelo que o metodo converge, x(0) .
b)
2x
x
x2
+ y + cosz = 1
+ 3y 3 x z = 0
+ y + 3z
= 0
99
(3.35)
onde e um n
umero real conhecido. No caso de = 0 justifique que o metodo de Jacobi
converge para a solucao do sistema e, se tomarmos x(0) = 0 (vector nulo), mostre que as
iteradas satisfazem a desigualdade
kx x
(k+1)
(k+1)
1
2
2x
+ y
= 1
+ 3y
= 0
y + 3z = 0
(3.36)
Uma condicao suficiente para que o metodo de Jacobi aplicado ao sistema linear acima
convirja para a solucao do mesmo, x(0) , e que kCJ k < 1 onde k k e uma norma de
matrizes. Tem-se
0
1/2 0
0
0
CJ = D1 (L + U ) =
1/3
0
1/3 0
logo kCJ k = max[1/2, 1/3, 1/3] = 1/2 < 1. Portanto, podemos concluir que o metodo de
Jacobi aplicado ao sistema linear converge para a solucao do mesmo, qualquer que seja x(0) .
Por outro lado, se tomarmos x(0) = 0, pelo metodo de Jacobi obtemos x(1) = CJ x(0) +
D1 b = [1/2 0 0]T . Agora, aplicando a seguinte formula do erro
kx x
(k+1)
obtemos
kx x
(k+1)
CJk+1
kx(1) x(0) k
1 CJ
k+1
1
2
(1/2 0) =
1
2
100
k+1
1
2
F(x) = 0,
F : IRn
IRn
x F(x) =
f1 (x)
f2 (x)
..
.
fn (x)
onde
f1 (x1 , x2 , x3 )
x1 + x 2 + x 3 4
F(x) =
f2 (x1 , x2 , x3 ) = x1 x2 + x1 x3 + x2 x3 1
f3 (x1 , x2 , x3 )
x1 x2 x3 + 6
O M
etodo de Newton para sistemas n
ao lineares
Para funcoes f : IR IR, o metodo de Newton e dado por:
xm+1 = g(xm ) = xm (f 0 (xm ))
f (xm )
f1
f1 f1
...
xn
x1 x2
f
f2
f2
2
...
x
x
x
J(x) =
2
n
.1
..
..
.
.
.
.
.
.
.
fn fn
fn
...
x1 x2
xn
fi
, j = 1, 2, . . . , n; i = 1, 2, . . . , n.
e a matriz Jacobiana de F, isto e, J(x) =
xj
Dada uma aproximacao inicial x(0) , as iteradas x(m+1) sao calculadas atraves do processo
iterativo:
h
i1
F(x(m) )
(3.37)
x(m+1) = x(m) J(x(m) )
d = J(x(m) )
i1
i1
F(x(m) )
F(x(m) )
(3.38)
que e um sistema de equacoes lineares, em que o vector d e o vector incognita, que pode
ser resolvido pelas tecnicas ja estudadas: Metodo Eliminacao de Gauss, LU , Jacobi, GaussSeidel, etc.
Uma vez obtido d, x(m+1) e determinado por:
x(m+1) = x(m) + d
(3.39)
Obs: Se J(x(m) ) for nao- singular m e se x(0) estiver suficientemente perto de x, pode-se
m
provar que x(m) x e a convergencia e quadratica.
Exemplo 3.21 : comecando com uma aproximacao inicial x(0) = [0 1.0]T , calcule 2 iteradas
do metodo de Newton para o sistema nao-linear
x2 x21 + 2x1 = 0.5
x21 + 4x22
= 4
1.5
0.5
-1
-2
-0.5
-1
Soluc
ao
F(x1 , x2 ) =
"
f1 (x1 , x2 )
f2 (x1 , x2 )
"
i1
F(x(m) )
J(x(m) )d = F(x(m) )
x(m+1) = x(m) + d
C
alculo de J(x(m) )
f1
x1
J(x(m) ) =
f2
x1
f1
x2
f2
x2
"
(m)
2x1 + 2
1
(m)
(m)
2x1
8x2
O vector F (x(m) )
F(x(m) ) =
(m)
(m)
f1 (x1 , x2 )
(m)
(m)
f2 (x1 , x2 )
=
=
103
(m) 2
(m)
x1
+ 2x1
(m) 2
+ 4 x2
4
(m)
x2
(m) 2
x1
0.5
C
alculo de x(1)
O vector F (x(0) )
Com x(0) = [0 1.0]T , vem
(0)
(0)
(0)
(0) 2
(0)
(0)
(0)
(0)
(0) 2
f2 (x1 , x2 ) = x1
+ 4 x2
4=44=0
(0)
J(x ) =
"
(0)
2x1 + 2
1
(0)
(0)
8x2
2x1
2 1
0 8
#"
d1
d2
=x
(0)
"
Portanto,
x
(1)
+d=
0.5
0
"
(0)
C
alculo de x(2) :
x(2) = x(1) + d
onde d e solucao do sistema linear
J(x(1) ) =
"
1
(1)
8x2
#"
d1
d2
2.5 1
0.5 8
#"
d1
d2
(1)
2x1 +
(1)
2x1
ou seja:
"
(1)
(1) 2
(1)
+ 2x1 0.5
x2 x1
= (1) 2
(1) 2
4
+ 4 x2
x1
=
"
0.06255
0.0625
E2 m21 E1 E2
2.5d1 + d2 = 0.0625
8.2d2 = 0.050
Finalmente,
(2)
d2 = 0.0061
d1 = 0.02744
4
4.1
Aproximac
ao de funco
es
Introduc
ao
Comecamos por rever resultados que mostram a importancia dos polinomios para aproximar
funcoes contnuas.
Teorema (Weierstrass): Se f e definida e contnua em [a, b] entao, dado > 0, existe um
polinomio de grau P , definido em [a, b], tal que
|f (x) P (x)| < , x [a, b]
Polin
omio de Taylor: Seja f (x) uma funcao definida em [a, b] e suponhamos que f (x)
C n+1 [a, b]. Entao, um polinomio que pode ser usado para aproximar f (x) e o polinomio de
Taylor de grau n em torno de x0 :
Pn (x) = f (x0 ) + f 0 (x0 )(x x0 ) + f 00 (x0 )
(x x0 )2
(x x0 )n
+ + f (n) (x0 )
2
n!
(4.1)
(x x0 )n+1
(n + 1)!
x entre x e x0
1 + x, em torno
Soluc
ao:
P3 (x) = f (x0 ) + f 0 (x0 )(x x0 ) + f 00 (x0 )
f (x) = (1 + x)1/2 ,
1
f 0 (x) = (1 + x)1/2 ,
2
1
00
f (x) = (1 + x)3/2 ,
4
3
000
f (x) = (1 + x)5/2 ,
8
(x x0 )2
(x x0 )3
+ f 000 (x0 )
2
3!
f (x0 ) = f (0) = 1
f 0 (x0 ) = f 0 (0) = 1/2
f 00 (x0 ) = f 00 (0) = 1/4
f 00 (x0 ) = f 00 (0) = 3/8
Portanto,
1
1 1 2 3 1 3
1
1 2
1
P3 (x) = 1 + x +
x +
x
= 1+ x+
x + x3
2
4 2
8 3!
2
8
16
donde obtemos
1 2
1
1
f (1.1) = 1.1 P3 (1.1) = 1 + (0.1) +
0.1 + 0.13 = 1.0488125
2
8
16
105
(4.2)
4.2
Interpolac
ao polinomial
1930
123.203
1940
131.669
1950
150.697
1960
179.323
1970
203.212
1980
226.505
j = 0, 1, . . . , n.
(4.3)
j = 0, 1, , n.
(4.4)
Dem.:
Seja
pn (x) := a0 + a1 x + a2 x2 + + an xn ,
106
(4.5)
onde os coeficientes aj sao constantes a determinar. As condicoes (4.4) traduzem-se nas n+1
equacoes
pn (xj ) = a0 + a1 xj + a2 x2j + + an xnj ,
j = 0, 1, , n.
1 x0 x20
1 x1 x21
. .
.
1 xn x2n
xn0
xn1
.
xnn
detV =
0j<in
(xi xj )
Sendo os xj distintos, sera detV6= 0. Entao V e nao singular e o sistema Va = f tem uma
solucao u
nica a. Fica provada a existencia dum u
nico polinomio interpolador de grau n.
Para se obter os coeficientes a0 , a1 , , an que devem ser inseridos em (4.5), e necessario
resolver o sistema Va = f . Este processo de determinar uma expressao para pn e pouco
conveniente do ponto de vista computacional. Outros modos de construir pn serao tratados
neste captulo. 2
A f
ormula de Lagrange
Vamos em seguida obter uma expressao explcita para o polinomio interpolador.
Para cada 0 j n, seja lj o poliomio de grau n definido por
lj (x) :=
1 se i = j
0 se i 6= j
n
X
fj lj (x).
j=0
n
X
fj lj (x).
j=0
107
(4.6)
Quer-se provar que pn (x) = q(x). Comecemos por notar que a soma de polinomios de grau
n e um polinomio de grau n. Alem disso, atendendo a (4.6) tem-se, para 0 i n,
q(xi ) = f0 l0 (xi ) + + fn ln (xi )
= fi li (xi ) = fi ,
o que prova tratar-se dum polinomio interpolador de grau n. Atendendo a` unicidade do
polinomio interpolador (teorema 2.1), concluimos a igualdade pretendida.
A formula
pn (x) =
n
X
fj lj (x),
(4.7)
j=0
com
lj (x) :=
Y (x xi )
0in
i6=j
(xj xi )
(4.8)
(x + 1)(x 2)
x2 x 2
l0 (x) =
=
(1 + 1)(1 2)
2
l1 (x) =
(x 1)(x 2)
x2 3x + 2
=
(1 1)(1 2)
6
l2 (x) =
A formula (4.7) da-nos entao
(x 1)(x + 1)
x2 1
=
(2 1)(2 + 1)
3
p2 (x) = 0 3
x2 3x + 2
x2 1
+4
.
6
3
haver muitas maneiras de representar explicitamente pn e cada uma dessas formulas sugere
um dado algoritmo para calcular pn . Mais adiante estudaremos outra representacao para pn .
Erro de interpolac
ao polinomial
Como pretendemos usar o polinomio interpolador para aproximar a funcao f em pontos
distintos dos pontos de interpolacao xj , interessa-nos uma estimativa da diferenca f (x)
pn (x), para x [a, b].
Teorema 4.2
Seja pn Pn o polinomio interpolador de f em n + 1 pontos distintos
x0 , x1 , , xn de [a, b]. Se f C n+1 [a, b], entao para cada x [a, b] existe um ponto = (x)
no intervalo int(x0 , . . . , xn , x) := (min{x0 , x1 , , xn , x}, max{x0 , x1 , , xn , x}), tal que
en (x) := f (x) pn (x) =
f (n+1) ()
W (x),
(n + 1)!
(4.9)
onde
W (x) := (x x0 )(x x1 ) (x xn ).
Dem.:
Se x = xj , para algum j, o resultado do teorema e trivialmente valido.
Seja x um valor diferente dos xj e considere-se a funcao auxiliar F definida por
F (t) := f (t) pn (t) CW (t),
onde
C=
(4.10)
f (x) pn (x)
.
W (x)
Tem-se
F (xj ) = f (xj ) pn (xj ) CW (xj ) = 0,
j = 0, 1, , n,
e tambem
F (x) = f (x) pn (x) CW (x) = 0,
atendendo a` definicao de C. A funcao F tem pelo menos n + 2 zeros distintos em [a, b]. Pelo
teorema de Rolle, a derivada F 0 tem pelo menos n + 1 zeros no intervalo Ip (x0 , x1 , . . . , xn , x).
A segunda derivada tera pelo menos n zeros e, por um processo indutivo, concluimos que a
derivada de ordem (n + 1) tem pelo menos um zero. Seja esse zero. Derivando n + 1 vezes
a equacao (4.10) e fazendo t = , obtemos
0 = F (n+1) () = f (n+1) () C(n + 1)!,
109
Mn+1
|W (x)|
(n + 1)!
(4.11)
F
ormula interpoladora de Newton com diferencas divididas
Uma outra forma de representar o polinomio interpolador e usando diferencas divididas,
que a seguir definiremos. Este metodo, devido a Isaac Newton (1642-1727), permite passar
dum polinomio interpolador dum certo grau n 1 para o polinomio de grau superior n, a
partir do polinomio de grau inferior.
Mais precisamente, sejam pn1 Pn1 e pn Pn os polinomios interpoladores de f nos
pontos xi , para i = 0, 1, , n 1 e i = 0, 1, , n, respectivamente. Vamos provar que e
possvel escrever
pn (x) = pn1 (x) + Cn (x),
(4.12)
onde Cn e uma funcao que a seguir caracterizamos.
Como Cn Pn e Cn (xi ) = 0, i = 0, 1, , n 1, entao Cn e da forma
Cn (x) = An (x x0 )(x x1 ) (x xn1 )
com An constante real. Substituindo em (4.12), vem
pn (x) = pn1 (x) + An (x x0 )(x x1 ) (x xn1 ).
(4.13)
(4.14)
(4.15)
(4.16)
..
.
pn (x) = f0 + A1 (x x0 ) + A2 (x x0 )(x x1 ) + A3 (x x0 )(x x1 )(x x2 ) +
+ An (x x0 ) (x xn1 )
(4.17)
Substituindo x por x1 , x2 , , xn , respectivamente nas equacoes (4.14) ,..., (4.17), obte facil de
mos um sistema de equacoes (de matriz triangular) nas incognitas A1 , , An . E
verificar que este sistema tem uma solucao u
nica.
Assim, de p1 (x1 ) = f1 , sai que
f1 f 0
,
x1 x 0
(4.18)
A1 = f [x0 , x1 ]
(4.19)
A1 =
Repare-se que A1 e o declive da recta que passa pelos pontos (x0 , f (x0 )) e (x1 , f (x1 )). Chamase a A1 diferenca dividida de 1a ordem da funcao f , associada aos pontos x0 , x1 , e designa-se
por
A2 =
f1
f2
f0
+
+
(x0 x1 )(x0 x2 ) (x1 x0 )(x1 x2 ) (x2 x0 )(x2 x1 )
(4.20)
(4.21)
f0
f1
+
x x1 x x0
111
i6=j
No seguimento do que foi definido atras, usa-se a seguinte notacao para designar o valor
An ,
An = f [x0 , x1 , , xn ]
(4.24)
(4.25)
a que se chama formula de Newton com diferencas divididas. Por uma questao de uniformidade, no lugar de f (xi ) usa-se f [xi ], a que se chama diferenca de ordem zero.
Exemplos
Resulta de (4.23) e (4.24) que
f [x0 , x1 ] =
f0
f1
+
x0 x 1 x1 x 0
fi+1 fi
.
xi+1 xi
f0
f1
f2
+
+
(x0 x1 )(x0 x2 ) (x1 x0 )(x1 x2 ) (x2 x0 )(x2 x1 )
A seguinte propriedade permite relacionar diferencas de uma certa ordem k com diferencas
de ordem k 1.
112
(4.26)
xi
x0
f [xi ]
f [x0 ]
f [xi , xi+1 ]
f[ , , ]
f[ , , , ]
f[ , , , , ]
f [x0 , x1 ]
x1 f [x1 ]
x2
f [x0 , x1 , x2 ]
.
f [x1 , x2 ]
f [x0 , x1 , x2 , x3 ]
.
f [x2 ]
f [x1 , x2 , x3 ]
f [x0 , x1 , x2 , x3 , x4 ]
.
f [x2 , x3 ]
f [x1 , x2 , x3 , x4 ]
.
x3 f [x3 ]
f [x2 , x3 , x4 ]
f [x3 , x4 ]
x4
f [x4 ]
f [x0 , x1 ] =
f [x1 ] f [x0 ]
,
x1 x 0
f [x1 , x2 ] =
f [x2 ] f [x1 ]
x2 x 1
f [x2 , x3 ] =
f [x3 ] f [x2 ]
,
x3 x 2
f [x3 , x4 ] =
f [x4 ] f [x3 ]
x4 x 3
113
pode-se obter
f [x0 , x1 , x2 ] =
f [x1 , x2 ] f [x0 , x1 ]
,
x2 x 0
f [x1 , x2 , x3 ] =
f [x2 , x3 ] f [x1 , x2 ]
x3 x 1
0
1
1 2
1 2
f (xi )
1
f [xi , xi+1 ]
f [x0 , x1 ] =
1
f [x1 , x2 ] =
f [x0 , x1 , x2 ]
11
=0
10
f [x0 , x1 , x2 ] =
21
=1
21
114
10
= 0.5
20
Relac
ao entre as diferencas divididas e as derivadas de f
Seja f C n+1 [a, b] e sejam x0 , x1 , , xn pontos distintos de [a, b]. Usando a formula de
Newton com diferencas divididas, podemos escrever a igualdade
f (n+1) ()
W (x),
(n + 1)!
(4.27)
onde W (x) = (x x0 )(x x1 ) (x xn ) e int(x0 , . . . , xn , x). O u
ltimo termo do lado
direito da equacao representa o erro de interpolacao (ver eq. (4.9)).
f (x) = f [x0 ]+f [x0 , x1 ](xx0 )+ +f [x0 , x1 , , xn ](xx0 ) (xxn1 )+
(x x0 )n
(x x0 )n+1
+ f (n+1) ()
,
n!
(n + 1)!
com entre x0 e x, constatamos uma certa semelhanca entre as duas formulas, sugerindo a
existencia duma relacao entre as diferencas divididas e as derivadas de f . Com efeito, basta
notar por exemplo que sendo
f (x1 ) f (x0 )
,
x1 x 0
f [x0 , x1 ] =
resulta do Teorema do valor medio de Lagrange que f [x0 , x1 ] coincidira com o valor da
derivada f 0 nalgum ponto situado entre x0 e x1 .
possvel generalizar este resultado a`s diferencas divididas de ordem superior.
E
Teorema 4.3
int(x0 , . . . , xn , xn ).
(4.28)
Nota
Conclui-se de (4.28) que se f Pn , as diferencas divididas de f de ordem superior a n
sao zero.
115
4.3
Aproximac
ao segundo o crit
erio dos mnimos quadrados
Nesta seccao, consideraremos outros tipos de funcoes aproximadoras para f (x), sem a
exigencia de que elas interpolem f . Com efeito, em muitas situacoes nao e conveniente
que a funcao aproximadora seja uma funcao interpoladora.
Por exemplo, suponhamos que a funcao f traduz uma relacao entre duas grandezas fsicas,
x e f (x).
Seja um conjunto de dados (x0 , f0 ), (x1 , f1 ), . . . , (xn , fn ), onde os valores fi i = 0, 1, . . . , n
foram obtidos experimentalmente; ou seja, apenas dispomos dos valores f (xi ) + i , i =
0, 1, . . . , n, onde os erros i sao desconhecidos. Neste caso, nao seria razoavel aproximar f
por um polinomio passando por (xi , f (xi ) + i ), i = 0, 1, . . . , n, a nao ser que os erros i
fossem pequenos. Uma solucao mais adequada sera utilizar uma funcao aproximadora, que
podera ser polinomial ou nao, com a forma (aproximacao linear)
g(x) = 0 0 (x) + 1 1 (x) + . . . + m m (x)
(4.29)
que se aproxime o mais possvel de f (x), sem contudo a imposicao de passar pelos pontos
(xi , fi ).
Os parametros 0 , 1 , , m sao determinados de modo que os desvios
d i = f i gi ,
i = 0, 1, , n
onde gi = g(xi ), sejam tao pequenos quanto possvel, segundo algum criterio. Se impusermos
di = 0
caimos no caso da interpolacao (o que nao queremos).
Designando por d, f e g os vectores de IRn+1 com componentes di , fi e gi e escolhendo em
IRn+1 uma norma vectorial k.k, os parametros 0 , 1 , , m podem ser determinados de
modo que
kdk = kf gk
seja mnima. Como exemplos de normas de IRn+1 tem-se:
kdk1 =
n
X
i=0
|di |,
n
X
kdk2 =
0in
i=0
|di |
!1/2
De entre essas normas, a norma euclidiana k.k2 e a que conduz a uma tecnica mais simples.
Entao no m
etodo dos mnimos quadrados, os parametros 0 , . . . , m sao determinados
de modo a minimizar
||d||2 =
n
X
i=0
(di )
!1/2
116
n
X
i=0
(fi gi )
!1/2
n
X
i=0
(fi gi )2
Exemplo 4.4
Considere a seguinte tabela de valores de uma funcao f
2 4 6 8
xi
f (xi ) 2 11 28 40
Determine a recta g(x) = 0 + 1 x que melhor se aproxima de f segundo o criterio dos
mnimos quadrados. Considerando-se
D=
3
X
i=0
(fi 0 1 xi )2
D
=0
1
(4.30)
(4.31)
que tem por solucao: 0 = 12.5, 1 = 6.55. Consequentemente g(x) = 12.5 + 6.55x e a
recta pretendida.
Sistema de equaco
es normais em termos de produtos internos
No Exemplo 4.4 consideramos um problema simples e facil de resolver por derivacao da
quantidade a minimizar (a funcao D). O sistema linear (4.31) a que chegamos chama-se
sistema normal e, a partir dele, foram obtidos os valores dos coeficientes que fazem parte da
expressao de g. O objectivo desta seccao e mostrar que o sistema normal pode ser expresso
em termos de produtos internos de certos vectores, o que permite, na pratica, uma maneira
alternativa de chegar a esse sistema sem termos de passar pelo processo de derivacao de D.
Para isso, consideremos o caso geral de obter uma funcao da forma (4.29), onde os valores
dos parametros 0 , . . . , n pretendidos sao os que tornam mnima a funcao
D(0 , . . . , m ) =
n
X
i=0
117
(fi gi )2
Pela teoria das funcoes reais em IRm+1 , impomos agora as seguintes condicoes sobre D:
D
= 0,
j
j = 0, 1, . . . , m
n
X
D
2[fi 0 0 (xi ) . . . m m (xi )](0 (xi )) = 0
=0
0
i=0
n
X
D
2[fi 0 0 (xi ) . . . m m (xi )](1 (xi )) = 0
=0
1
i=0
..
..
.
.
n
X
D
=0
2[fi 0 0 (xi ) . . . m m (xi )](m (xi )) = 0
m
i=0
n
X
0 (xi )0 (xi ) + 1
n
X
1 (xi )0 (xi ) + 1
i=0
n
X
0 (xi )1 (xi ) + . . . + m
n
X
1 (xi )1 (xi ) + . . . + m
i=0
..
.
0
n
X
i=0
m (xi )0 (xi ) + 1
0 (xi )m (xi ) =
n
X
1 (xi )m (xi ) =
..
.
m (xi )1 (xi ) + . . . + m
i=0
fi 0 (xi )
n
X
fi 1 (xi )
i=0
i=0
..
.
n
X
n
X
i=0
i=0
i=0
i=0
n
X
n
X
i=0
..
.
..
.
m (xi )m (xi ) =
n
X
fi m (xi )
i=0
< u, v >=
n
X
i=0
118
ui v i
< 0 , 0 >
< 1 , 0 >
..
.
< 0 , 1 >
< 1 , 1 >
..
.
0
1
..
.
m
< f , 0 >
< f , 1 >
..
< f , m >
(4.32)
Trata-se de um sistema nao homogeneo de m + 1 equacoes lineares nas m + 1 incognitas
k , k = 0, 1, . . . , m. Note-se que a matriz do sistema e simetrica. Prova-se que se as funcoes
0 (x), 1 (x), . . . , m (x) forem linearmente independentes entao o sistema tem uma solucao
u
nica, a qual e ponto de mnimo de D.
Exemplo 4.5
Considere a seguinte tabela de valores de uma funcao f
1
xi
f (xi ) 2.0
0
2.0
1
5
0 28.0
3
X
i=0
(0 , 0 ) (1 , 0 )
(0 , 1 ) (1 , 1 )
#"
0
1
"
(f , 0 )
(f , 1 )
onde
P
Logo, temos
(0 , 0 ) = (2)2 + (1)2 + 02 + (4)2 = 21
(1 , 0 ) = (2)3 + (1)3 + 03 + (4)3 = 55
(1 , 1 ) = (2)4 + (1)4 + 04 + (4)4 = 273
(f , 0 ) = (2)(2) + (1)(2) + 0 + (4)(28) = 118
(f , 1 ) = (2)2 (2) + (1)2 (2) + 0 + (4)2 (28) = 438
e somos conduzidos ao sistema linear
"
21 55
55 273
#"
0
1
"
118
438
que tem como solucao: 0 = 3.0 e 1 = 1.0. Finalmente, notemos que poderamos usar o
processo utilizado no Exemplo 4.4 para chegar ao sistema normal.
Exemplo 4.6
Resolva o problema de mnimos quadrados do Exemplo 4.4, utilizando a abordagem vectorial.
Ou seja, defina os vectores f , j , j = 0, 1 e obtenha o sistema normal (4.32). Devera ser
equivalente ao sistema ja obtido (4.31).
120
Integrac
ao num
erica
b
a
f (x)dx.
Suponha que f (x) e uma funcao complicada (nao se conhece uma primitiva) ou que f
e conhecida somente num n
umero finito de pontos. Uma aproximacao para I(f ) pode ser
obtida como segue.
Sejam x0 = a < x1 < < xn = b, n + 1 pontos em [a, b] e seja pn (x) o polinomio de
grau n interpolador de f (x) nesses pontos. As formulas que consideraremos baseiam-se
na aproximacao
I(f ) ' I(pn )
Se f C (n+1) [a, b], entao f (x) = pn (x) + en (x), onde en (x) e o erro de interpolacao, dado
por (4.9). Ou seja,
f (n+1) ((x))
,
(n + 1)!
onde
En (f ) :=
b
a
b
a
f (x)dx =
en (x)dx =
b
a
b
a
pn (x)dx +
|a
onde
en (x)dx,
{z
En (f )
(5.1)
(x x0 )(x x1 ) (x xn )
f (n+1) ((x))
dx
(n + 1)!
(5.2)
b
a
f (x)dx
b
a
pn (x)dx;
(5.3)
121
Rb
a
pn (x)dx.
b
a
pn (x)dx =
=
b
a
n
X
lk (x)f (xk ) dx
k=0
n Z
X
k=0 a
n
X
k=0 |
b
a
f (x)dx
n
X
b
a
lk (x)dx f (xk ).
{z
Ak
Ak f (xk )
(5.4)
k=0
lk (x)dx, 0 k n,
5.1
F
ormulas de Newton-Cotes fechadas
h=
ba
,
n
j = 0, 1, , n
b
a
b
a
l0 (x)dx,
onde
A1 =
122
x0 = a, x1 = b e h = x1 x0
Z
b
a
l1 (x)dx
C
alculo de A0 e A1
1 (x x1 )2 x1
1Zb
(x x1 )
(x x1 )dx =
A0 =
dx =
| x0
h a
h
2
a (x0 x1 )
1 (x0 x1 )2
1 h2
h
=
=
=
h
2
h 2
2
Z b
(x x0 )
1 (x x0 )2 x1
1Zb
(x x0 )dx =
A1 =
dx =
| x0
h a
h
2
a (x1 x0 )
1 (x1 x0 )2
1 h2
h
=
=
=
h
2
h 2
2
Logo, a formula de quadratura e dada por:
Z
h
h
h
f (x0 ) + f (x1 ) = [f (x0 ) + f (x1 )]
2
2
2
T (f ) =
Erro de integrac
ao: E T (f ) = I(f ) T (f )
R
Como vimos, a formula dos trapezios foi deduzida aproximando I(f ) = ab f (x)dx pelo
integral do polinomio interpolador de f (x) nos pontos x0 = a e x1 = b. Para obtermos uma
expressao do erro cometido procedemos como segue:
f (x) = p1 (x) + (x x0 )(x x1 )
f 00 ((x))
2!
logo,
f 00 ((x))
dx
2!
a
a
a
Z b
Z b
Z b
f 00 ((x))
p1 (x)dx = (x x0 )(x x1 )
dx
f (x)dx
=
2!
a
a
a
Z b
f 00 ((x))
= I(f ) T (f ) = (x x0 )(x x1 )
dx
2!
a
Portanto o erro e dado por:
Z
f (x)dx =
p1 (x)dx +
E (f ) =
b
a
(x x0 )(x x1 )
(x x0 )(x x1 )
f 00 ((x))
dx
2!
(5.5)
claro que poderamos ter usado directamente (5.2), con n = 1. Para simplificarmos a
E
equacao acima, faremos uso do seguinte resultado da Analise:
Teorema do valor m
edio para integrais: Se f C[a, b] e g e uma funcao integravel
em [a, b] que nao muda de sinal em [a, b] entao existe z (a, b) tal que
Z
f (x)g(x)dx = f (z)
123
g(x)dx
f 00 ((x))
f 00 (c) Z b
(x x0 )(x x1 )
(x x0 )(x x1 )dx, z [x0 , x1 ],
dx =
2!
2! a
onde
Z
b
a
(x x1 )2 x1 Z b (x x1 )2
(x x0 )(x x1 )dx = (x x0 )
| x0
dx
2
2
a
(x0 x1 )3
h3
(x x1 )3 x1
| x0 =
=
=
6
6
6
h3 00
f (c) z [a, b] .
12
F
ormula de Simpson
A formula de Simpson e obtida ao aproximarmos I(f ) por I(p2 ), onde p2 (x) e o polinomio
e x2 = b. Nesse caso temos:
interpolador de f (x) nos pontos x0 = a, x1 = a+b
2
f (3) ((x))
,
f (x) = p2 (x) + (x x0 )(x x1 )(x x2 )
3!
b
a
f (x)dx =
b
a
p2 (x)dx +
b
a
(x x0 )(x x1 )(x x2 )
f (3) ((x))
,
3!
onde
(x) [a, b]
(5.6)
Calculando
Z
Rb
a
b
a
f (x)dx
b
a
p2 (x)dx
p2 (x)dx vem:
p2 (x)dx =
b
a
= f (x0 )
b
a
b
a
l0 (x)dx + f (x1 )
124
b
a
b
a
l1 (x)dx + f (x2 )
b
a
l2 (x)dx
Calculo de A0 , A1 , A2
1 Zb
(x x1 )(x x2 )
dx = 2 (x x1 )(x x2 )dx
2h a
a (x0 x1 )(x0 x2 )
#
"
2
(x x2 ) b=x2 Z b (x x2 )2
1
|a=x0
dx
(x x1 )
2h2
2
2
a
#
"
1
(x x2 )2 b=x2 (x x2 )3 b=x2
|a=x0
|a=x0
(x x1 )
2h2
2
6
#
"
1
1 2 3
1
1
4h2 8h3
4 3
3
= 2 2h h = 2 h = h
h
2
2h
2
6
2h
3
2h 3
3
A0 =
=
=
=
1 Zb
(x x0 )(x x2 )
dx 2 (x x0 )(x x2 )dx
h a
a (x1 x0 )(x1 x2 )
"
#
2
(x x2 ) b=x2 Z b (x x2 )2
1
= 2 (x x0 )
|a=x0
dx
h
2
2
a
"
#
(x x2 )2 b=x2 (x x2 )3 b=x2
1
|a=x0
|a=x0
= 2 (x x0 )
h
2
6
#
"
4
1
8h3
= h
= 2
h
6
3
Z
A1 =
(x x0 )(x x1 )
1 Zb
dx = 2 (x x0 )(x x1 )dx
2h a
a (x2 x0 )(x2 x1 )
"
#
2
(x x1 ) b=x2 Z b (x x1 )2
1
(x x0 )
=
|a=x0
dx
2h2
2
2
a
"
#
(x x1 )2 b=x2 (x x1 )3 b=x2
1
|a=x0
|a=x0
(x x0 )
=
2h2
2
6
!!#
"
1
1
h3
h2
h3
1 3
1
3
=
=
h
h
2h
h
=
2h2
2
6
6
2h2
3
3
A2 =
h
,
3
A1 =
4h
,
3
125
A2 =
h
.
3
Erro de integrac
ao
Tal como no caso da formula dos trapezios, o erro de integracao e dado pelo integral do
erro de interpolacao (compare-se (5.6)). Ou seja, supondo f C 2 [a, b],
E S (f ) =
=
a
Z b
a
f (x)dx
b
a
p2 (x)dx
(x x0 )(x x1 )(x x2 )
f (3) ((x))
,
3!
onde
(x) [a, b]
Pode contudo mostrar-se que, se f C 4 [a, b], e valida a seguinte formula para o erro de
integracao:
h5 4
f () , [a, b]
90
Um majorante para o erro e entao dado por:
E S (f ) =
|E S (f )|
5.2
h5
max |f 4 (x)|
90 x[a,b]
F
ormulas de quadratura compostas
A obtencao de uma formula de quadratura para um intervalo [a, b] pode ser feita de 2 modos:
1. Tomando um grande n
umero de nos de integracao de modo a que a formula
Q(f ) =
n
X
Aj f (xj )
j=0
b
a
f (x)dx =
x1
x0
f (x)dx +
x2
x1
f (x)dx + +
126
xN
xN 1
f (x)dx =
N Z
X
xj+1
j=0 xj
f (x)dx
Assim, para obter uma aproximacao para I(f ) aplica-se a cada integral
formula de quadratura com poucos pontos e somam-se as contribuicoes.
R xj+1
xj
f (x)dx uma
F
ormula dos Trap
ezios composta
Esta formula
e obtida dividindo o intervalo [a, b] em N subintervalos e aproximando cada
R xj+1
integral xj f (x)dx pela regra dos trapezios.
Sejam xj = a + jh,
Z
b
a
f (x)dx =
N Z
X
x0 = a,
xj+1
j=0 xj
"
ba
,
N
h=
f (x)dx
j = 0, 1, , N . Entao,
"
N
X
h
j=0
(f (xj ) + f (xj+1 ))
"
"
h
h
h
=
(f (x0 ) + f (x1 )) +
(f (x1 ) + f (x2 )) + +
(f (xN 1 ) + f (xN ))
2
2
2
h
[f (x0 ) + 2f (x1 ) + 2f (x2 ) + + 2f (xN 1 ) + f (xN )]
=
2
N
1
X
h
2f (xj ) = TN (f )
=
f (x0 ) + +f (xN )
2
j=1
Erro de integrac
ao:
T
(f ) = I(f ) T N (f ) e a soma dos erros cometidos em
Comecamos por notar que o erro EN
cada subintervalo [xj , xj+1 ]. Logo, supondo f C 2 [a, b],
T
EN
(f ) = I(f ) TN (f ) =
127
N
1
X
j=0
h3 00
f (j )
12
(5.7)
1
h3 NX
|f 00 (j )| N h3 max |f 00 (x)|
x[a,b]
12 j=0
(5.8)
(b a) 2
h max |f 00 (x)|
x[a,b]
12
(5.9)
F
ormula do erro
Vejamos agora como simplificar a formula (5.7). Tem-se
T
EN
(f ) =
N
1
X
j=0
1 00
h3 NX
h3 00
f (j )
f (j ) = N
onde j [xj , xj+1 ]
12
12 j=0 N
(5.10)
Como f C 2 [a, b], entao existe m = min f 00 (x) e M = max f 00 (x). Logo,
x[a,b]
m f 00 (j ) M
= m
N
1
X
j=0
x[a,b]
j = 0, 1, , N 1. = N m
00
f (j )
M = min f 00 (x)
x[a,b]
N
N
1
X
j=0
N
1
X
j=0
f 00 (j ) N M
f 00 (j )
max f 00 (x)
x[a,b]
N
N
1
X
j=0
f 00 (j )
N
h3 00
(b a) 2 00
f () =
h f () onde [a, b] .
12
12
(5.11)
Note-se que as formulas de majoracao (5.8) e (5.9) podem tambem ser obtidas da equacao
anterior (5.11).
F
ormula de Simpson composta
Esta formula e obtida aplicando a formula de Simpson em cada subintervalo da forma
[xj , xj+2 ]. Sejam x0 = a, x1 , , xN 2 , xN 1 , xN = b onde N e um n
umero par. Entao,
Z
b
a
f (x)dx =
x2
x0
f (x)dx +
x4
x2
f (x)dx + +
128
xN
xN 2
f (x)dx =
N/2 Z x
X
2j
j=1 x2j 2
f (x)dx
b
a
h
h
[f (x0 ) + 4f (x1 ) + f (x2 )] + [f (x2 ) + 4f (x3 ) + f (x4 )]
3
3
h
+ + [f (xN 2 ) + 4f (xN 1 ) + f (xN )]
3
N/2
N/21
X
X
h
=
f (x0 ) + f (xN ) + 4
f (x2j1 ) + 2
f (x2j ) = SN (f )
3
j=1
j=1
f (x)dx
Erro de integrac
ao I(f ) SN (f )
De maneira analoga como se fez na formula dos trapezios composta, pode-se mostrar que e
valida a seguinte formula do erro para a formula de Simpson composta:
S
EN
(f ) =
X
N h5 (4)
h5 N/2
f (4) (i ) =
f ()
90 j=1
180
[a, b].
5.3
N h5
max |f (4) (x)|
180 x[a,b]
Grau de precis
ao de uma f
ormula de quadratura
Seja a igualdade I(f ) = Q(f )+E Q (f ) onde Q(f ) e uma formula de quadratura que aproxima
I(f ) e E Q (f ) e o erro de integracao. O grau de precisao da formula Q(f ) e um n
umero r tal
que:
E Q (Pr ) = 0 Pr , polinomio de grau r,
e
E Q (xr+1 ) 6= 0
Exemplo 1: Ao aproximarmos I(f ) pela formula dos trapezios temos:
Z
b
a
f (x)dx =
ba
(b a)3 00
[f (a) + f (b)]
f ()
2
12
[a, b]
donde vemos que se f (x) = P1 (x) (um polinomio de grau 1) entao f 00 (x) = 0 =
E T (f ) = 0 e portanto a formula dos trapezios da o valor exacto para os polinomios de garu
1 = grau de precisao de T (f ) e r 1. Mas para f (x) = x2 temos que
E T (f ) =
(b a)3 00
(b a)3
f () =
2 6= 0
12
12
129
I(f ) 6= T (f )
b
a
"
ba
f (a) + 4f
f (x)dx =
6
a+b
ba
+ f (b)
2
2
!5
1 (4)
f ()
90
[a, b] .
(4)
ba
(x) = 4! x = ES (f ) =
2
!5
1
4! 6= 0
90
e portanto S(f ) nao e exacta para polinomios de grau 4 = grau de precisao de S(f ) e
r = 3.
5.4
M
etodos dos coeficientes indeterminados
n
X
j=0
Aj f (xj )
b
a
f (x)dx.
(5.12)
foram deduzidas integrando o polinomio interpolador. Isto e, por construcao, Q(f ) = I(p n ),
onde pn e o polinomio interpolador de grau n de f . O metodo dos coeficientes indeterminados e uma maneira alternativa de obter os pesos da formula de quadratura.
Comecemos por notar que, se f for um polinomio de grau n, ou seja f (x) = Pn (x),
entao a formula Q do valor exacto do integral de f . Tem-se assim
I(Pn ) = Q(Pn ), Pn
(5.13)
Lema 5.1 A formula de quadratura definida por (5.12) e uma aplicacao linear.
Dem.:
Sejam x0 , x1 , , xn , [a, b], f e g duas funcoes contnuas em [a, b] e IR. Entao
Q(f + g) =
=
Q(f ) =
n
X
j=0
n
X
j=0
n
X
Aj [(f + g)(xj )] =
n
X
Aj [f (xj ) + g(xj )] =
n
X
j=0
j=0
Aj f (xj ) +
n
X
j=0
Aj [(f )(xj )] =
n
X
Aj f (xj ) =
Aj f (xj ) = Q(f )
j=0
j=0
j=0
n
X
Obtenc
ao de A0 , A1 , , An
Seja Pn (x) = 0 + 1 x + 2 x2 + n xn um polinomio de grau n. Entao
Q(Pn ) = Q(0 + 1 x + 2 x2 + n xn ) = 0 Q(1) + 1 Q(x) + 2 Q(x2 ) + + n Q(xn )
e
I(Pn ) = I(0 + 1 x + 2 x2 + n xn ) = 0 I(1) + 1 I(x) + 2 I(x2 ) + + n I(xn )
Entao, para se ter uma formula com a propriedade (5.13)
Q(Pn ) = I(Pn ), Pn
e necessario e suficiente que verifique:
Q(xk ) = I(xk ),
k = 0, 1, , n
Ou seja, para que a formula Q de o valor exacto do integral de qualquer polinomio de grau
n e necessario e suficiente que de o valor exacto dos integrais dos monomios 1, x, x2 , . . . , xn .
Impondo esta condicao somos conduzidos ao sistema de equacoes:
131
Q(1) =
n
X
Aj (1) = I(1) =
j=0
b
a
dx = b a
A 0 + A1 + + A n = b a
Z b
x2
b2 a 2
Aj (xj ) = I(x) =
xdx = |ba =
Q(x) =
2
2
a
j=0
n
X
b2 a 2
2
Z b
n
3
X
b3 a 3
x
Aj (x2j ) = I(x2 ) =
Q(x2 ) =
x2 dx = |ba =
3
3
a
j=0
..
. =
n
Q(x ) =
A 0 x0 + A 1 x1 + + A n xn =
n
X
..
.
Aj (xnj )
..
.
= I(x ) =
j=0
b
a
xn dx =
b3 a 3
3
..
.
bn+1 an+1
xn+1 b
|a =
n+1
n+1
bn+1 an+1
n+1
1 1 1
x0 x1 x2
x20 x21 x22
..
..
..
.
.
.
..
..
..
.
.
.
xn0 xn1 xn2
A0
1
A1
xn
x n A2
. =
..
.
. .
..
..
. .
xnn
An
ba
b2 a 2
2
b3 a 3
3
..
.
..
.
bn+1 an+1
n+1
(5.14)
132
Exemplo 5.1
Considere-se a funcao f dada pela tabela
xi
fi
0
1
1
1
2
2
a) Pelo metodo dos coeficientes indeterminados, pretende-se obter uma formula de quadratura
do tipo
Q(f ) = A0 f (0) + A1 f (1) + A2 f (2)
que permita aproximar o integral I(f ) =
R3
f (x)dx.
Soluc
ao: Utilizando o metodo dos coeficientes indeterminados, pretende-se que Q(f )
tenha grau de precisao r 2, ou seja, que I(a0 + a1 x + a2 x2 ) = Q(a0 + a1 x +
a2 x2 ), a0 , a1 , a2 . Para se ter esta igualdade e necessario e suficiente que
Q(1) = I(1) =
dx,
Q(x) = I(x) =
Q(x2 ) = I(x2 ) =
xdx,
x2 dx
Elimin. Gauss:
m32 = 1
=
(L3 m32 L2 ) L3
A0
4
1 1 1
0 1 2 A1 = 4
16
A2
0 0 2
3
4
8
8
Obtem-se: A0 = , A1 = e A2 = . Logo,
3
3
3
4
Q(f ) = [2f (0) f (1) + 2f (2)]
3
4
[2(1) 1(1) + 2(2)] = 20/3
3
c) Seja f um polinomio de grau nao superior a 3. Prove que o valor obtido pela regra
considerada na alnea a) e o mesmo que se obteria pela regra de Simpson.
Soluc
ao: A formula de Simpson e exacta para polinomios de grau 3 e portanto,
basta mostrarmos que o grau de precisao da formula obtida e r 3. Como Q(f ) tem
grau de precisao r 2 e suficiente mostrarmos que Q(x3 ) = I(x3 ). De facto, temos
Q(x3 ) =
i
4h 3
2(0 ) (13 ) + 2(23 ) = 20
3
133
34 (1)4
x4
=
= 20
I(x ) =
x dx =
4 1
4
1
3
donde vemos que Q(f ) tem grau de precisao r 3. Logo, se f (x) = P3 (x), temos:
S(P3 ) = I(P3 ) = Q(P3 )
134
6
6.1
M
etodos num
ericos para problemas de valor inicial
Introduc
ao
dy
= 1 ex
dx
(6.1)
dy
dx
C IR
(6.2)
Todas as funcoes da forma (6.2) sao solucoes de (6.1), visto que verificam a condicao y 0 (x) =
1ex . Elas constituem uma famlia de solucoes: a cada valor de C corresponde uma funcao
que e solucao de (6.1). A figura abaixo mostra os seguintes exemplos:
C=0
y(x) = x + ex
C=1
y(x) = x + ex + 1
C = 1 y(x) = x + ex 1
C=1,
3.5
C=0, C=-1
3
2.5
2
1.5
1
0.5
1
135
Exemplo 6.2
Na equacao
y 0 (x) = y(x)
(6.3)
o lado direito agora tambem envolve a funcao incognita y(x). Pretende-se y(x) tal que a sua
derivada y 0 (x) coincide com a propria y(x). As solucoes de (6.3) tem a forma
y(x) = C ex ,
C IR
(6.4)
Com efeito, derivando (6.4) em ordem a x, vem y 0 (x) = Cex = y(x). Graficamente tem-se
uma famlia de curvas descritas por (6.4). A figura seguinte mostra algumas dessas curvas,
em particular, o caso da funcao y(x) = ex , que corresponde a escolher C = 1.
C=1
8
6
4
2
-2
-1
axb
(6.5)
chamamos problema de valor inicial. Uma solucao do problema acima sera uma funcao
diferenciavel y(x) que, substituda em f (x, y), conduz a` igualdade y 0 (x) = f (x, y(x)) e tal
que y(x0 ) = y0 . Ou seja, a curva y = y(x) deve verificar a equacao diferencial e a condicao
inicial.
Exemplo 6.3
Associando uma condicao inicial a` equacao (6.3), obtem-se o par
(
y 0 (x) = y(x)
y(x0 ) = y0
136
(6.6)
Vimos que a solucao geral de (6.3) e y(x) = Cex (cf. (6.4)). Estamos interessados na
curva y(x) que, num determinado ponto x0 , toma o valor y0 . Ela corresponde a uma escolha
bem determinada da constante C. Impondo a condicao y(x0 ) = y0 , vem Cex0 = y0 , donde
C = ex0 y0 e, finalmente, a solucao do problema (6.6) e y(x) = y0 exx0 . Em particular, a
solucao que em x0 = 1 toma o valor 1 e y(x) = ex , a qual corresponde a` escolha C = 1.
Exemplo 6.4
Consideremos a equacao
y 0 (x) = K(y(x) A),
(6.7)
onde y(x) representa a temperatura, num instante x, dum objecto que esta imerso num meio
a` temperatura A. A equacao (6.7) descreve a evolucao da temperatura desse objecto, sendo
a taxa de variacao da temperatura proporcional a` diferenca y A.
Suponhamos que e conhecida a temperatura do objecto no instante t = 0, dada por
y(0) = y0 . Tem-se entao o problema de valor inicial
(
y 0 (x) = K(y(x) A)
y(0) = y0
(6.8)
(6.9)
A cada valor de y0 esta associada uma curva diferente. Se y0 < A, entao o objecto tende a
aquecer; se y0 > A, entao o objecto tende a arrefecer. Em qualquer dos casos, a temperatura
do objecto aproximar-se-a da do meio.
Observac
ao 6.1
possvel provar que a solucao dum problema da forma
E
y 0 (x) = u(x) y + v(x),
y(x0 ) = y0
e a seguinte:
y(x) = y0 e
U (x)
+e
U (x)
x
x0
v(s)e
U (s)
ds,
onde U (x) =
x
x0
u(s)ds
(6.10)
(x, y) D,
(6.11)
0x2
(6.12)
(x, y) D,
6.2
M
etodos de Taylor
Em geral nao e possvel determinar uma expressao explcita para a solucao y(x) do problema
de valor inicial (6.5).
Nos metodos numericos que vamos estudar, divide-se o intervalo [a, b] em subintervalos
de comprimento h, atraves de uma rede ou malha de pontos
a = x0 < x1 < x2 < ... < xN = b.
(6.13)
de uma funcao que aproxima y(x), mas aproximacoes para os valores y(xi ), i =, 1, ..., N . E
costume designar por yi uma aproximacao de y(xi ). Assim, vamos obter um conjunto de
valores aproximados y1 , y2 , ..., yN para y(x1 ), y(x2 ), ..., y(xN ), respectivamente.
138
O M
etodo de Euler
Dado o valor inicial y(x0 ) = y0 , comeca-se por obter uma aproximacao, y1 , para y(x1 ).
No metodo de Euler, traca-se a recta r(x) tangente ao grafico de y(x) no ponto (x0 , y(x0 )) e
| {z }
y0
toma-se para y1 o seu valor em x = x1 . Como o declive da recta tangente e dado pelo valor
da derivada naquele ponto, ou seja, y 0 (x0 ), vem
r(x) = y0 + (x x0 )y 0 (x0 )
(6.14)
Da equacao dada em (6.5), y 0 (x) = f (x, y(x)), obtem-se y 0 (x0 ) = f (x0 , y(x0 )), vem
| {z }
y0
r(x) = y0 + (x x0 )f (x0 , y0 )
(6.15)
(6.16)
Exemplo 6.6
Seja o problema
Tem-se
x y(x)
2
y(0) = 1
y 0 (x) =
(6.17)
xy
(6.18)
2
Alem disso, x0 = 0, y0 = 1. Se considerarmos uma malha de pontos, com espacamento
h = 1 no intervalo [0, 2], entao resulta: x1 = 1, x2 = 2, x3 = 3.
f (x, y) =
Neste caso especial, a aplicacao da formula (6.10), conduz a` solucao exacta: y(x) =
3e
2 + x. A figura seguinte mostra o grafico de y(x) e a recta tangente r(x) definida
por (6.14). Sendo y 0 (x) = (3/2)ex/2 + 1, pode calcular-se o declive da tangente: y 0 (0) =
1/2. Entao a recta tangente em (0, 1) e: r(x) = 1 x/2. Fazendo x = x1 = 1 obtem-se
y1 = 1 1/2 = 0.5.
x/2
139
1.75
1.5
1.25
1
0.75
0.5
0.25
0.5
1.5
2.5
claro que, na pratica, para obter a aproximacao y1 bastara aplicar directamente a formula
E
(6.16), do seguinte modo.
Atendendo a (6.18), vem:
f (x0 , y0 ) =
x0 y 0
= 1/2
2
Logo
h
2
Como escolhemos para espacamento o valor h = 1, vem y1 = 1/2 para aproximacao de y(x1 ).
y1 = y0 + h f (x0 , y0 ) = 1
(6.19)
pelo que f (x1 , y1 ) representa, em geral, apenas uma aproximacao para o declive da tangente.
Raciocnio semelhante pode ser aplicado na obtencao dos valores y2 , y3 , ..., yN .
140
Exemplo 6.7 A figura seguinte ilustra o que se disse acima em relacao ao modo como se
obtem y2 e mostra o segmento de recta partindo de (x1 , y1 ), com declive f (x1 , y1 ):
2
1.75
1.5
1.25
1
0.75
0.5
0.25
1
0.5
1.5
2.5
Na figura abaixo, mostram-se os valores exactos y(1), y(2), y(3) (marcados sobre o grafico
de y(x)) e os respectivos valores aproximados obtidos pelo metodo de Euler, com h = 1:
2.5
2
1.5
1
0.5
0.5
1.5
2.5
Deduc
ao te
orica da f
ormula geral do m
etodo de Euler
A partir de y1 podem-se obter, sucessivamente, y2 , y3 ,.... Supondo que ja foram obtidas
as aproximacoes y1 , . . . , yn , vejamos como obter yn+1 . Geometricamente, tracamos uma recta
a partir do ponto (xn , yn ), com declive f (xn , yn ), e toma-se para yn+1 o valor da recta em
x = xn+1 .
Consideremos o desenvolvimento de Taylor para y(x), em torno de xn :
y(x) = y(xn ) + (x xn ) y 0 (xn ) +
141
(x xn )2 00
y (n )
2
(6.20)
(xn+1 xn )2 00
y (n )
2
(6.21)
h2 00
y (n )
2
(6.22)
h2 00
y (n ),
2
(6.23)
(6.24)
(6.25)
F
ormula do erro do m
etodo de Euler
Teorema 6.1 Considere-se o problema de valor inicial (6.5). Sejam y1 , y2 , ..., yN valores
aproximados para y(x1 ), y(x2 ), ..., y(xN ), respectivamente, obtidos pelo metodo de Euler.
Suponhamos que f (x, y) e uma funcao contnua em D = {(x, y) : a x b,
y < +}, e que existe uma constante positiva K tal que
f (x, y)
K,
y
(x, y) D
<
(6.26)
h M K(xn x0 )
e
1 , n = 0, 1, . . . , N 1.
2K
142
(6.27)
(6.28)
Quando se faz h tender para zero, o erro nesse ponto tende para zero, pelo que nas condicoes
do teorema enunciado, o metodo de Euler converge. Atendendo ao expoente unitario de h,
diz-se que o metodo de Euler e um metodo de ordem 1.
Isso tem como consequencia pratica o seguinte: ao diminuir-se o valor do passo h para
h/2, espera-se que os erros na solucao aproximada venham aproximadamente divididos por
2.
Definic
ao 6.1 Um metodo diz-se convergente com ordem p se
e(h) = maxn=0,...,N 1 |en | C hp
(6.29)
O M
etodo de Taylor de ordem 2
O metodo de Euler foi deduzido considerando o desenvolvimento de Taylor de primeira
ordem da solucao exacta y(x) e desprezando o respectivo termo de resto de ordem 2.
Para obter metodos de ordens mais elevadas (em que os erros tendem para zero mais
rapidamente), consideram-se mais termos no desenvolvimento de Taylor. No metodo de
Taylor de ordem 2 vai-se ate ao resto de ordem 3. Vejamos como, em geral, se obtem uma
aproximacao para y(xn+1 ) a partir da aproximacao para y(xn ). Por outras palavras, como
obter yn+1 , supondo que ja foram obtidas y1 , y2 , ..., yn .
Supondo que y(x) tem derivadas contnuas ate a` terceira ordem, consideremos o desenvolvimento de Taylor de y(x) em torno de xn :
(x xn )2 00
(x xn )3 000
y(x) = y(xn ) + (x xn ) y (xn ) +
y (xn ) +
y (n )
2
3!
0
(6.30)
(xn+1 xn )2 00
(xn+1 xn ) 000
y (xn ) +
y (n )
2
3!
(6.31)
h2 00
h3
y (xn ) + y 000 (n )
2
3!
h3 000
y (n ), resulta a aproximacao:
3!
143
(6.32)
h2 00
y (xn )
2
(6.33)
f
dx f
dy
d
(f (x, y(x))) =
(x, y(x)) +
(x, y(x))
dx
x
dx y
dx
Donde
f
f
(xn , y(xn )) +
(xn , y(xn ))y 0 (xn )
x
y
f
f
(xn , yn ) +
(xn , yn )y 0 (xn )
'
x
y
y 00 (xn ) =
(6.34)
(6.35)
yn+1
"
h2 f
f
= yn + h f (xn , yn ) +
(xn , yn ) +
(xn , yn )f (xn , yn ) ,
2 x
y
n = 0, 1, 2, ..., N 1
(6.36)
h2 00
y ,
2 n
onde
yn0 = f (xn , yn ),
f
f
(xn , yn ) +
(xn , yn )f (xn , yn )
yn00 =
x
y
144
(6.37)
Exemplo 6.8
Obtenha uma aproximacao para y(1), com h = 1 e h = 1/2.
x y(x)
2
y(0) = 1
y 0 (x) =
Processo 1. Com o fim de usar a formula (6.37), vamos comecar por obter as expressoes
aproximadas para as derivadas.
Tem-se
xn y n
xn y(xn )
'
2
2
!0
1 y 0 (x)
x y(x)
=
y 00 (x) =
2
2
!
0
1 1
1 1 xn y(xn )
1 y (xn )
00
'
=
y (xn ) =
2
2 2
2
2 2
y 0 (xn ) =
(6.38)
(6.39)
1 yn0
2
(6.40)
xn y n h 2
+
2
2
1 xn y n
2
4
(6.41)
Processo 2. Note-se que esta formula se poderia obter por aplicacao de (6.36). Basta
calcular as derivadas parciais de f (x, y) = (x y)/2 e substitui-las na expressao do metodo
dada por (6.36):
1
f
1
f
(x, y) = ,
(x, y) =
x
2
y
2
Viria:
yn+1
xn y n h 2
+
= yn + h
2
2
1 1
f (xn , yn ) ,
2 2
(6.42)
1 x0 y 0
2
4
x0 y 0
1 x0 y 0
= y0 +
+
2
2
4
145
= 0.875
xn y n 1
+
4
8
1 xn y n
2
4
x0 y 0 1 1 x0 y 0
+
y1 = y 0 +
= 0.84375
4
8 2
4
x1 y 1 1 1 x1 y 1
= 0.831055
y2 = y 1 +
+
4
8 2
4
6.3
M
etodos de Runge Kutta
Conclumos estas notas sobre metodos numericos para problemas de valor inicial com os
metodos de Runge Kutta, que conduzem a` mesma precisao que os metodos de Taylor, mas
sem o inconveniente de terem de se calcular as derivadas de y(x). Apresentamos dois exemplos de metodos de Runge Kutta, da forma:
yn+1 = yn + h(c1 V1 + c2 V2 )
com
V1 = f (xn , yn )
V2 = f (xn + a2 h, yn + b2 h V1 )
146
M
etodo do ponto m
edio (ou Euler modificado):
h
h
yn+1 = yn + hf (xn + , yn + f (xn , yn ))
2
2
(6.43)
h
yn+1 = yn + [f (xn , yn ) + f (xn+1 , yn + hf (xn , yn ))]
2
(6.44)
M
etodo de Heun:
Conclumos com um metodo por vezes designado metodo de Runge Kutta classico, o
qual e um m
etodo de Runge-Kutta de ordem 4:
h
yn+1 = yn + (V1 + 2V2 + 2V3 + V4 )
6
h
h
V1 = f (xn , yn ) V2 = f (xn + , yn + V1 )
2
2
h
h
V3 = f (xn + , yn + V2 ) V4 = f (xn + h, yn + hV3 )
2
2
Exemplo 6.9
Seja o problema de valor inicial
y 0 (x) = x
y(x)
(6.45)
y(1) = 1
Obtenha uma aproximacao para y(1.2), pelo metodo do ponto medio, com h = 0.2.
Tem-se f (x, y) = x2 /y, x0 = 1 e y0 = 1.
A formula (6.43), com n = 0, da
h
h
y1 = y0 + hf (x0 + , y0 + f (x0 , y0 ))
2
2
Sendo f (x0 , y0 ) = x20 /y0 = 1, tem-se
y1 = 1 + 0.2 f (1 +
0.2
0.2
, 1 +
(1))
2
2
y1 = 1 + 0.2(1.1) = 1.22
147
(1.1)2
. Substituindo acima, obtem-se
1.1
EXERCICIOS PROPOSTOS:
1. Considere a equacao
f (x) = x2 cos2 (x) = 0.
(6.46)
m suf. grande
F (x)
F 0 (x)
(a) Diga, justificando, para que valores de a esta equacao tem uma u
nica raiz no
intervalo I = [0, ].
2
(b) Para os valores de a considerados na alnea anterior, mostre que o metodo do
1 + sin(x)
ponto fixo, com a funcao iteradora g(x) =
, converge para a z, qualquer
a
que seja x0 I.
(c) No caso de a = 2, diga qual o n
umero mnimo de iteracoes do metodo do ponto
fixo que devera efectuar para garantir que o erro absoluto da aproximacao obtida
seja inferior a 103 se x0 e qualquer n
umero em I.
xm + 1 sin(xm )
, m = 0, 1, . . . ,
1+
(6.47)
78.8
1
( 1)x +
,
(6.48)
149
xm+1
xm+1
m=0
= g3/2 (xm ) 8.837037
= g1/2 (xm ) 8.51111
m=1
8.890356
10.00586
m=2
?
5.74491
m=3
8.78425
21.68807
m=4
8.876441
-14.42104
m=5
8.877102
3.49320
2
2
(b) Suponha que pretendemos aproximar o valor I(f ) = 2
f (x)dx por 2
p2 (x)dx.
(j)
Sabendo que as derivadas de f verificam |f (x)| j/2, j = 1, 2, 3, 4 no intervalo
[2, 2], determine um majorante para o erro de integracao. Justifique.
R2
0
1
1 2
1 2
150
0 x 1,
y 0 (x) = x + y(x),
y(0) = 0
0 x 1,
no ponto x = 0.1 com espacamentos h = 0.1, 0.05, 0.025. Sabendo que a solucao exacta
deste problema e dada por y(x) = exp(x) 1 x, compare os resultados obtidos com
o valor exacto de y(0.1). Comente.
11. Dado o problema de valor inicial
y 0 (x) = 1
y(2) = 2
y(x)
,
x
2 x 3,
determine um valor aproximado de y(2.1) pelo metodo de Euler com h = 0.1, 0.05, 0.025.
12. Dado o problema de valor inicial
(
y 0 (x) = 1 x + 4y(x) 0 x 1,
y(0) = 1
Bibliografia
Atkinson, K., An Introduction to Numerical Analysis, Wiley & Sons, NY,1978.
Burden, R. & Faires, J., Numerical Analysis, 5th ed., PWS Publishing, Boston, 1993.
Chapra, S. & Canale, R., Numerical Methods for Engineers, Mc Graw Hill, 2002
Cheney, W. & Kincaid, D. Numerical Mathematics and Computing, 2ed ed., Brooks/Cole,
Monterey, CA, 1994.
Hildebrand, F.B., Introduction to Numerical Analysis, Dover Publications, NY, 1974.
Henrici, P., Elements of Numerical Analysis, Wiley & Sons, 1964.
Isaacson, E. & Keller, H. B., Analysis of Numerical Methods, Wiley & Sons, 1966.
Johnson, L. W. & Riess, R. D., Numerical Analysis, Addison-Wesley, 1977.
Stroud, A. H., Numerical Quadrature and Solution of Ordinary Differential Equations, Applied Mathematical Sciences, vol. 10, Springer-Verlag, NY, 1974.
Valenca, M. R., Metodos Numericos, Instituto Nacional de Investigacao Cientfica, 1990.
152