Sei sulla pagina 1di 92

Universidade da Beira Interior

Mestrado em Engenharia de Sistemas


de Produo e Conservao de Energia

MTODOS NUMRICOS EM ENGENHARIA

Paulo Jorge Pimentel de Oliveira


1999/2000

-1-

Contedo
1. Anlise de erros
2. Interpolao
3. Razes de equaes no-lineares
4. Sistemas de equaes lineares
5. Integrao numrica
6. Equaes diferenciais ordinrias
7. Equaes s derivadas parciais

pgina
....3
....23
....34
....49
....61
....72
....79

Bibliografia e fontes
Numerical Methods for Engineers, S. C. Chapra e R. P. Canale, 2a edio, McGraw-Hill,
Singapore (1989).
Numerical Methods for Engineering Applications, J. H. Ferziger, Wiley, New York (1981).
Computational Methods for Fluid Dynamics, J. H. Ferziger e M. Peric, Springer (1996).
Mtodos Numricos, M.R. Valena, INIC, Braga (1990).
Numerical Recipes: The Art of Scientific Computing, Cambridge Univ. Press (1986).

-2-

Captulo 1. Anlise de Erros


1.1 Tipo de Erros
(a) Erros de modelizao - inerentes matematizao do fenmeno fsico usando um
modelo matemtico; limitaes devidas ao nosso desconhecimento do fenmeno, ou por desejo
de limitar as influncias em causa, de forma a simplificar o estudo.
Exemplos:
aproximao da mecnica clssica em comparao com a mecnica relativista, para
2
?- 1.
modelos de turbulncia: 2-equaes; tenses de Reynolds, etc.
modelos usados em economia (onde se desprezam sempre alguns efeitos).
(b) Erros de dados (ou erros iniciais) - inerentes aos aparelhos de medida (preciso
finita desses instrumentos) e utilizao de nmeros irracionais (1, r#, / , etc) ou fraccionrios.
(c) Erros de mtodo ou de truncatura - resultam da substituio de um modelo
matemtico (que poderia ser exacto) por um processo de clculo aproximado. Dependem do
processo de clculo ou algoritmo utilizados.
Exemplos:
substituio de derivadas por razes incrementais;
substituio de integrais por somatrios;
substituio de sries por somas finitas de termos;
(d) Erros de arredondamento - inerentes limitao dos aparelhos de clculo, que
tero de usar um nmero finito de algarismos para representar um resultado numrico. Do
mesmo modo, depois de uma operao aritmtica elementar ( , , , ) existe sempre um
arredondamento do resultado. Dependem do instrumento de clculo.

Exemplo 1: Clculo do permetro duma circunferncia, : #1V.


O algarismo # um nmero exacto com representao exacta. A constante 1 um nmero
exacto com representao limitada. O raio V depende da preciso da medio: para uma fita
mtrica graduada em centmetros vem V"#' m.
Como o erro de V de 1 cm (arrendodamento por corte) bvio que no faz sentido dar o
valor do permetro com uma preciso melhor que 1 cm. Assim intil usar muitas casas
decimais para 1, pois o resultado vir com muitos algarismos desprovidos de significado. Se
1 $"%"', vem :(*"')$# m, em que os algarismos depois do * no tm significado.

-3-

Exemplo 2: Influncia da preciso do instrumento de medida. Calcular a rea duma sala


rectangular com comprimento P 3 m e largura L 4 m. A rea ser de, aproximadamente,
E P L $ % " # m2 .
Se a medio dos comprimentos for feita com uma rgua graduada em metros, teremos uma
impreciso de !& m e o valor da rea ser::
E $ ! & % ! & " # $ ( & m# .
Com uma rgua graduada em cm, a impreciso de !& cm e o valor da rea ser agora:
E$!!!!!&%!!!!!&"#!!!!$& m# .
com uma preciso muito maior.
Exemplo 3: Influncia do processo de clculo (erro de mtodo). Dados +#"%', , $*" e
-$"%, calcular B +, - e C +, +-, usando uma mquina com 2 casas decimais:
B 21.46 (3.91 3.14) 21.46 7.05 151.29
C 21.46 3.91 21.46 3.14 83.90 67.38 151.28
Como se v os resultados so ligeiramente diferentes ficando demonstrado que a propriedade
distributiva no se verifica no clculo aproximado. Podemos dizer que o resultado B mais
preciso que C. Iremos ver que o mesmo acontece com a propriedade associativa, no sendo
indiferente a ordem pela qual efectuada uma soma de vrios termos (isto B + , -
diferente de C + , -, podendo essa diferena ser grande quando se somam muitos
nmeros).

conveniente distinguir os dois conceitos seguintes (dados aqui em ingls), relacionados com
impreciso ou erro:
Precision dum resultado ou duma medida: o intervalo de incerteza menor (erro
entre 2 medies pequeno).
Accuracy (preciso; exactido) dum resultado: est perto do resultado exacto (o erro
verdadeiro pequeno).

1.2 Conceitos Fundamentais


- uma representao aproximada, chamamos
Sendo B um valor exacto e B

-4-

Erro absoluto: Iw lBBl

(1.1)
- IBB
- I
Iw, tal que: B

Majorante do erro absoluto: I

(1.2)

Normalmente B no conhecido pelo que o valor exacto do erro absoluto Iw no pode ser
determinado. Assim natural ter de se estimar o valor mximo que esse erro pode tomar (limite
superior de Iw) e muitas vezes, por abuso de linguagem, chama-se erro absoluto ao seu
majorante, I. O erro absoluto pode no ser um bom indicador da preciso dum resultado, no
possibilitando a comparao de resultados diferentes. Por exemplo, se a distncia entre duas
cidades for . $ ! "km, e a distncia entre dois pontos for medida como .AB 3.5 0.5
cm, ficamos sem saber qual destes valores tem melhor preciso. Para resolver esta dificuldade
introduz-se a noo de:
Erro relativo:

%w

w
lBBl
I
lBl lBl

(com B !)

(1.3)

e
Majorante do erro relativo: %

%w.

(1.4)

No exemplo acima temos que para a distncia entre cidades o (majorante do) erro relativo
aproximadamente % " $ ! 3.3 %, e o erro relativo da distncia entre A e B
% 0.53.5 14.3%. Portanto neste caso conclumos que a preciso do primeiro resultado
superior do segundo.
Como para o caso dos erros absolutos, tambm comum denotar por erro relativo o que de
facto o majorante do erro relativo.

Relaes entre majorantes


- e o seu erro absoluto I, e pretendemos
Primeiro problema: temos um valor aproximado B
saber o erro relativo. Por definio:
%

Iw

% w lBl

- I B, obtemos a relao
Majorando o numerador Iw I, e minorando o denominador B
pretendida:

% BI
-

(1.5)

- e respectivo erro relativo % , determinar


Segundo problema: conhecido um valor aproximado B
o erro absoluto. Por definio:
I

Iw % w B

-5-

Majorando as duas parcelas deste produto obtemos:


I % BI
que d a relao pretendida:

% -.
I "% B

(1.6)

Como normalmente os erros so pequenos quando comparados com os valores aproximados,


recorre-se frequentemente s seguintes aproximaes:

% BI
B
-

-)
(IB

% - % BI "% B

(1.7)

(% ").

(1.8)

Observe-se que as relaes exactas entre majorantes do erro no so interdependentes (no se


pode obter uma a partir da outra) mas que as relaes aproximadas so inter-dependentes.
Com estas relaes exactas, os valores dos erros relativos no exemplo anterior seriam, para a
distncia entre cidades % " # * 3.4% (em vez de 3.3%), e entre os pontos A e B,
% 0.53.0 16.7% (em vez de 14.3%).
Algarismos significativos
Um algarismo de um nmero aproximado significativo se o erro absoluto desse nmero for
inferior ou igual a meia unidade da casa decimal em que o algarismo se encontra. Um algarismo
significativo no pode ser zero a no ser que, esquerda desse algarismo, exista um outro
algarismo significativo no nulo.
Exemplos:
(i) 397.74 0.05
- 397.74
B
I 0.05
algarismo

posio

meia unidade da pos .

3
9
7
7
4

100
10
1
0.1
0.01

50
5
0.5
0.05
0.005

comparao com I

0.05
0.05
0.05
0.05
0.05

-6-

Concluso
significativo
significativo
significativo
significativo
no signif.

(ii) 0.01078 0.00008


- 0.01078
B
I 0.00008
algarismo

posio

meia unidade da pos .

0
1
0
7
8

0.1
0.01
0.001
0.0001
0.00001

0.05
0.005
0.0005
0.00005
0.000005

comparao com I

I
I
I
I

Concluso
no signif.
significativo
significativo
no signif.
no signif.

O algarismo significativo mais esquerda o mais significativo, e o mais direita o menos


significativo.
Algarismos exactos: so aqueles que se mantm invariveis em todo o intervalo de variao
da grandeza.
- 29.2 0.5 28.7 B- 29.7
Exemplo: B
Assim, o algarismo 2 exacto mas o 9 j no , embora seja significativo.

1.3 Representao dos Nmeros e Erros de Arredondamento


A representao de nmeros inteiros no oferece dificuldade e pode ser feita exactamente
desde que a mquina de clculo possa guardar todos os algarismos que compem o nmero.
Para nmeros reais a representao pode ser em vrgula fixa, por ex. 3.14159, 123.4567,
0.0014 (Nota: aqui e em todo o texto usa-se o ponto . para representar a vrgula). Neste tipo
de representao predefinido o nmero de dgitos da parte inteira e da parte decimal da
quantidade em causa. bvio que este tipo de representao pode no garantir a ordem de
grandeza dos nmeros. Por exemplo, o valor 10500.12 no pode ser representado em vrgula
fixa, sem que ocorra uma deturpao da sua ordem de grandeza, numa mquina que s retenha
4 dgitos para a parte inteira.
Por esta razo a representao mais comum a de vrgula flutuante , ou floating-point,
tambm chamada de representao cientfica:
- 7 ,/
B

(1.9)

Aqui 7 a mantissa (com : dgitos), , a base (iremos usar sempre a base 10, nos clculos
manuais) e / o expoente (com ; dgitos, tipicamente 2). Para se definir completamente esta

-7-

representao preciso ainda dizer qual o tipo de arredondamento, simtrico (E) ou por corte
(X , por vezes chamado truncatura). Esta representao costuma denotar-se sinteticamente por
J :, ;,, ,E) ou J (: ,; ,, ,X ). Por exemplo, representar 1 3.14159... em J (5,2,10,E):
1 0.31416 101
Se fosse J (5,2,10,X ), seria
1 0.31115 101 .
Em ambos os casos o nmero est numa representao normalizada , o que quer dizer que o
primeiro algarismo da mantissa diferente de zero. Por ex., 0.001305 10$ escreve-se
0.1305 10& em representao normalizada. Desta forma temos sempre 0.1 7 1 (na
base 10).
No caso mais comum um nmero real no representvel exactamente num sistema de vrgula
flutuante. Para a sua representao aproximada recorre-se ao arredondamento, que pode ser
simtrico (o ultimo algarismo da mantissa arredondado para o valor mais prximo: ou fica
igual, ou vem somado de uma unidade; se estiver a igual distncia, deve ficar par), ou por corte
(desprezam-se os algarismos a mais na mantisssa).
Das operaes aritmticas em vrgula flutuante podem tambm resultar nmeros no
representveis que tero de ser arredondados. Na soma, o nmero com menor expoente deve
ser desnormalizado de forma a ficar com um expoente igual ao da outra parcela.
Por exemplo, considere-se a soma de B1 135.7 e B2 24 num sistema J (4,2,10,X ) (isto
com 4 dgitos na mantissa e arredondamento por corte).
1o - Normalizar as parcelas:
B1 0.1357 103
B# 0.2400 102
(repare-se que neste caso os nmeros poderam ser representados exactamente; no foi
introduzido nenhum erro de arredondamento)
2o - Desnormalizar a mantissa do nmero com menor expoente:
B1 0.1357 103
B# 0.0240 103
3o -Somar as mantissas:
B3 B1 B2 0.1597 103 .

-8-

Neste caso no foi introduzido nenhum erro de arredondamento devido representao do


resultado em vrgula flutuante. O normal, no entanto, que aparea esse tipo de erro como se
v dos dois exemplos seguintes.
Exemplo (a) Somar B1 324.1 e B2 9.23.
A representao normalizada de cada parcela :
B1 0.3241 103
B# 0.9230 101 B2 0.0092(3) 103
Na desnormalizao de B2 o ltimo algarismo perdido (por corte). A soma fica:
B3 B1 B2 0.3333 103 .
com um erro de arredondamento exacto de 0.00003 103 ( 0.0001 103 ).
Exemplo (b) Somar B1 95.74 e B2 86.53.
A representao normalizada de cada parcela :
B1 0.9574 102
B# 0.8653 102
e a soma fica:
B3 B1 B2 1.8227 102 .
Este nmero no est normalizado. A normalizao implica:
B3 0.1822(7) 102 0.1822 102 .
Neste caso o erro exacto devido ao arredondamento por corte 0.00007 10#
( 0.0001 10# ). Observa-se que o erro de arredondamento sempre menor que
1 10>: , onde > o expoente do nmero em causa (2 no exemplo acima).
fcil verificar que o majorante do erro absoluto em arredondamento por corte dado
por:
Icorte "! >:

(1.10)

e em arredondamento simtrico metade deste valor:


Isimtrico "# 10>: .

(1.11)

-9-

Neste caso a mantissa ser dada por 0.xxx.... (x representa um algarsmo no nulo) e um
minorante 0.1; deste modo o majorante do erro relativo vem:
% corte 10": (pois 10>: 0.xxx... 10> 10>: 0.1 10t 10": ) (1.12)
e
% simtrico "# 10":

(1.13)

Como se v o erro relativo mximo de arredondamento (simtrico ou corte) no depende do


tamanho dos nmeros envolvidos, mas somente da base, do tipo de arredondamento e da
capacidade da mquina (nmero de dgitos da mantissa, :). A esse valor costuma chamar-se
unidade de arredondamento da mquina, ?; assim, ? 10": (em arredondamento por corte)
ou ? 5 10: (em arredondamento simtrico). Na prtica a unidade de arredondamento
pode ser determinada fazendo o algoritmo:
B"
1 +B"
if(+ ") then
?B
else
B B"!
go to 1
end if
print *,' ? ', ?
Tipicamente a unidade de arredondamento de 10) para preciso simples e "! 16
para preciso dupla.
Para terminar este pargrafo chamamos a ateno para o fenmeno do cancelamento
subtractivo, que d lugar aos mais graves problemas de perda de algarismos significativos e
aparecimento de erros no clculo numrico.
Exemplo (c) Subtrair os nmeros B1 0.9548 106 e B2 0.9547 106 .
Temos:
B3 B1 B2 0.0001 106 0.1000 103 .
Os trs zeros que aparecem direita do algarismo 1 no tm significado, embora em operaes
que se possam seguir esses zeros sejam tomados como algarismos significativos. Se B1 fosse
igual a 0.9548999 106 o resultado da subtraco teria sido igual, devido ao arredondamento
por corte de B1 . O resultado correcto, usando dupla preciso para reprentar as parcelas, teria
sido B3 0.0001999 106 0.1999 103 (e agora o resultado est j expresso com 4

-10-

algarismos na mantissa). Ou seja, esta subtraco de dois nmeros muito parecidos deu azo a
um erro relativo de 50%!
NOTA 1. Da definio de algarismos significativos, torna-se claro que todos os dgitios duma
mantissa obtida por arredondamento simtrico dum dado nmero exacto so significativos.
NOTA 2. Existem dois teoremas que permitem relacionar os algarismos significativos com os
erros relativos e que so aqui dados sem demonstrao:
- 7: 10> tem 8 algarismos significativos
Teorema-1: Se um nmero aproximado B
(mantissa com : dgitos), ento um majorante do erro relativo % 12 10"8 & " ! 8.
- tem erro % 1 108 ento tem, pelo menos, 8 algarismos significativos
Teorema-2: Se B
2

1.4 Propagao de Erros de Arredondamento


A questo saber como se propagam os erros existentes nos nmeros que fazem parte de um
clculo aritmtico. Interessa saber se esses erros vo ser ampliados ou reduzidos, e quais as
operaes do clculo que maior influncia tm na amplificao dos erros. Um exemplo tpico j
mencionado, que aparece frequentemente, o da subtraco de dois nmeros
aproximadamente iguais; mesmo que esses nmeros estejam afectados de erros pequenos,
esses erros iro ser desproporcionalmente aumentados depois dessa subtraco.
O frmula fundamental do clculo da propagao de erros pode ser obtida do teorema do
valor mdio, ou do teorema de Taylor. O primeiro permite escrever, para uma funo contnua
de vrias variveis, 0B1 ,B2 , ... , B8, a seguinte expresso:
0B1 21 ,B2 22 , ... , B8 28 0 B1 ,B2 , ... , B8 ! 0 wB3 )23 23
8

3"

onde ! ) ". Esta expresso equivalente, para o caso unidimensional, a afirmar que entre
dois pontos + e , , existe um ponto - tal que 0 w -0,0+,+ . A representao
0 wB`0`B
3
3 indica a derivada parcial em relao a Bi. Se considerarmos os acrscimos 2
como erros em B (? B), e o acrscimo de 0 no lado esquerdo da igualdade acima como o
correspondente erro de 0 (? 0 ), temos:
? 0 ! 0 wB3 )2 3 ? B3,
8

3"

ou, majorando ambos os termos,


l? 0 l l ! 0 wB3 )2 3 ? B3l ! l0 wB3 )23 l l? B3l,
8

3"

3"

-11-

que podemos escrever como:


I0 ! l0Bw3 lQ IB3 .
8

(1.14)

3"

onde Q representa um majorante das derivadas parciais. Esta a frmula fundamental do


clculo de erros.
Uma maneira expedita de nos recordarmos desta frmula atravs da diferenciao total duma
funo de vrias variveis, 0B3),
`0
d 0 ! `B
dB3 .
3

Assumindo que diferenas representam erros e majorando a soma, obtemos:


`0
I0 ! l `B
l IB3
3 Q
3

(1.15)

Exemplo: Calcular a preciso com que medida a rea dum crculo com raio V 1.25 m. A
rea ser obtido de:
E 1 V# 3.14 1.25# 4.90625 m# .
Assumindo arredondamento simtrico, temos a seguinte estimativa dos erros envolvidos:
V 1.25 0.005 m
1 3.14 0.002 .
Aplicando a frmula fundamental de propagao de erros, obtemos:
IE #1VQ IV V# I1
2 3.142 1.255 0.005 1.255# 0.002 0.04258215 m# ,
onde se usou uma mquina sem limitaes na aritmtica. Com este erro para o valor da rea E
dado acima, vemos que o algarismo 9 ainda significativo, mas o 0 que se segue j o no .
Deste modo pode escrever-se:
E 4.906 0.042 m# , ou mesmo E 4.91 0.04 m2 .

-12-

A estimativa da propagao do erro tambm se poderia ter feito sem majorao das parcelas
(na prtica essa majorao pode ser difcil de se conseguir). Neste caso obteramos:
$E 21V$V V# $1 0.03925 0.003125 0.042375 0.042 m#
uma estimativa igual aproximao utilizada antes para IE. A frmula de propagao de erros
permite ainda ver quais so os termos responsveis pelo erro final. No presente exemplo o
error na medio do raio contribui em 93% para o erro final.
Aplicao da frmula de propagao de erros s operaes elementares
(a) Soma: C B" B#
Obtemos: IC IB" IB#
e

%C

IC
B"
B#

B
"
C
B" B#
B" B# %B#

Conclui-se que, no caso da soma, o error absoluto a soma dos erros das parcelas e o erro
relativo est afectado por factores de peso que dependem dos valores das parcelas. Fazemos
notar que o erro aqui deduzido inclui o efeito dos erros das parcelas mas no inclui o erro de
arredondamento decorrente da operao propriamente dita. Esta induz um erro relativo de
arredondamento, que deve ser acrescentado ao erro relativo dado acima (ver seco seguinte).
(b) Diferena: C B" B# (assume-se que B" B# )
Obtemos: IC IB" IB# (igual soma)
e

"
#
%C B B
%B" B B
%B#
"
#
"
#

Quando B" s ligeiramente superior a B# , os erros das parcelas so grandemente aumentados


(amplificao dos erros relativos): fenmeno de cancelamento subtractivo.
(c) Produto: C B" B#
Obtemos, aproximadamente:
IC B# Q IB" B" Q IB# B# IB" B" IB#
e

#
"
%C B B
IB" B B
IB# %B" %B#
" #
" #

-13-

B
(d) Quociente: C B"
#

Obtemos:

" l I l B" l I
B"
B## B#
#

IC l B
e

%C %B" %B# .

Uso de grafos para calcular a propagao de erros


O estudo de propagao de erros, no caso de operaes complexas, faz-se mais facilmente
recorrendo a grafos. Nestes, os ns representam as operaes que se pretendem efectuar,
comeando de baixo para cima. Os primeiros ns, fazem a introduo dos valores das parcelas
(B, C, D, etc). Os ramos, que unem os ns, transportam no s os valores dos resultados das
operaes, como tambm os erros relativos que vo sendo transportados. O clculo dos erros
relativos faz-se simplesmente anotando pesos nos ramos, que multiplicados pelos valores dos
erros a transportar, do o erro total. Nos ns, deve ser adicionado um erro relativo devido
operao em si.
Os pesos nos ramos so obtidos facilmente das expresses para as operaes elementares,
obtidas acima. Assim, para um n , onde chegam valores vindos dum n B e um outro C, o
ramo para o primeiro deve estar anotado com um peso BBC , e o segundo com
CBC. Para um n multiplicativo , ou diviso , os pesos so simplesmente ".
Exemplo-a: propagao de erros no clculo de ? B C D

+1
x/(x+y)

+1
z

y/(x+y)
y

O resultado :
%? " BC %B BC %C %" " %D %# ,

-14-

onde %" o erro introduzido na soma, e %# o erro introduzido na multiplicao. Este erros so
tipicamente iguais unidade de arredondamento do instrumento utilizado no clculo (por
exemplo, para arredondamento simtrico, com : algarismos signicativos, fica
%" %# ! .& " !:" & " ! : ).
Exemplo-b: propagao de erros na soma de 4 nmeros exactos, = B" B# B$ B%

+
(x1 +x2+x3)/(x1+x2 +x3+x4)

x4

x3 /(x1+x2 +x3)

(x1+x2)/(x1+x2+x3 )

x1/(x1+x2)

x4 /(x1 +x2+x3+x4 )

x3

x2/(x1+x2)

x1

x2

O erro absoluto da soma, considerando que os nmeros esto inicialmente desprovidos de


erros (isto , %B3 !),
I= $B" $ B# # B$ B% & "!$
onde o instrumento usa $ algarismos na mantissa. Este resultado importante porque mostra
que os primeiros nmeros a serem somados contribuem mais para o erro total do que os
ltimos. Por isso, as somas devem comear com os nmeros mais pequenos.
Algumas tcnicas para evitar o cancelamento subtractivo
(a) B""# B"#

"
"#

B"

(para valores grandes de B)

B"#

(b) sinB % sinB # sinB % # sin% # (para % pequeno)

+,

(1.16)
(1.17)

+, )

(esta frmula vem de: sin+ sin, #cos # sin #


(c)

sinB " B# B% B' ... " 8" B#8# (para B pequeno)(1.18)


B
$x
&x
(x
#8"x
(por desenvolvimento assimpttico de sinB)

-15-

#B

(d) ln R B lnR #RB

(para B pequeno)
B B#

(do teorema do valor mdio, 0 w " #

(1.19)

0B# 0B"
)
B# B"

Problema inverso da propagao de erros


O problema directo, considerado at aqui, pode ser enunciado assim: dada uma funo (que
representa um problema, ou um algoritmo), 0 B3 !, em que cada B3 est afectado dum erro
I3, determinar o efeito destes I3 sobre o erro do resultado 0 :
?0 I0 ! l `B lQ I3
3
3"
8

`0

(1.20)

O problema inverso saber qual a preciso requerida aos instrumentos (de medida, ou de
clculo), os I3, para garantir determinada preciso ao resultado final, I0 (dado):
I0

!l
8

3"

`0
`B3 lQ I3

Este problema indeterminado porque temos 8 incgnitas (os I3) mas uma s inequao. A
sua resoluo necessita de hipteses adicionais, sendo usual adoptar algum dos seguintes
critrios:
(i) erros iguais: I" I# I8 (por exemplo, se estas quantidades tiverem sido
medidas com o mesmo instrumento).
(ii) contribuies iguais, de cada parcela para o erro total, isto :

`0

I0

l `B lQ I3 8
3

(1.21)

(iii) contribuies ponderadas; como o anterior, mas cada parcela est afectada dum
peso diferente, que depender do problema e da avaliao de quem o resolve.
Estudo estatstico dos erros de arredondamento
Devido s muitas majoraes que se efectuam no estudo de propagao de erros, a estimativa
obtida atravs da lei fundamental tende a ser conservativa. A compensao de erros em
cculos repetidos tende a provocar cancelamento dos mesmos e menor erro total. Uma
abordagem diferente do problema de avaliar o erro dum clculo complexo, atravs de
mtodos estatsticos. Damos de seguida um s resultado, respeitante estimativa dos erros
numa soma de 8 parcelas.

-16-

Se for assumida uma distribuio Gaussiana para os erros de arredondamento, pode ser
demonstrado que o erro provvel na soma de 8 nmeros vem dado por:

!'( 8
I
"#
Ou seja, o erro provvel proporcional raiz quadrada do nmero de parcelas, enquanto que
o mtodo anterior, com majorantes, d uma estimativa do erro proporcional a 8. Para 8
grande, a diferena nestas duas estimativas do erro vai ser substancial.

1.5 Estabilidade Numrica e Acondicionamento


J se viu que alguns clculos numricos so muitos sensveis a erros de arredondamento,
enquanto outros so menos sensveis (exemplo: cancelamento subtractivo)
Diz-se que um clculo numericamente instvel se erros nos valores iniciais forem aumentados
(amplificados) pelo clculo, de forma que o erro final muito grande.
A condio, ou nmero de condio, mede a sensibilidade de um determinado processo de
clculo propagao e amplificao de erros.
Em geral diz-se que um problema bem condicionado se pequenas perturbaes nos dados de
partida provocarem pequenas perturbaes nos resultados.
Nmero de Condio RG duma funo
Seja um determinado clculo representado por uma funo 0B . Se expandirmos esta funo
- obtemos
em srie de Taylor de primeira ordem em torno do valor aproximado B
- 0 wBBB
- .
0B 0B
Uma estimativa do erro relativo de 0 dada por:

0B0B
0 w BBB
%0

0B
0B
e como o erro relativo da varivel indepedente (os dados)
%B

BB
B

obtemos

-17-

%0

- 0 w BB
0B
- %B.

(1.22)

Chama-se nmero de condio (RG ) razo entre estes 2 erros relativos:


RG0

- 0 w BB

l 0B
- l

%0 RG0 %B.

(1.23)

Se RG 1, ento o erro relativo da funo idntico ao de B (no h amplificao


de erros);
Se RG ", ento o erro relativo amplificado;
Se RG ", ento o erro relativo atenuado;
Se RG " , ento a funo mal-condicionada .

Exemplo: 0B tgB para B 1#" %B


Do grfico desta funo observa-se que 0B tende para mais infinito esquerda de 1#, e
para menos infinito direita. A derivada da funo vai ser extremamente elevada perto de 1#,
e de acordo com a definio acabada de dar, espera-se que o nmero de condio seja
elevado.
Temos 0 wB " cos# B, e RG

B
B
sinB cosB
#
tgB cos B

Para %B !" obtemos RG ""#, e para %B !!", RG "!", confirmando o mau


condicionamento desta funo, perto de 1# - erros de 1 % em B so amplificados 100 vezes,
resultando em erros de 100% no valor final de 0 .
Por analogia com esta definio, diz-se que um algoritmo representado por um funcional
C 0+B (0+ a funo aproximada, e inclui possveis erros) estvel se l B B- l %
- $, e instvel no caso contrrio,
l0+B 0+Bl
preciso distinguir entre condicionamento de um problema e instabilidade de um mtodo. Um
problema bem condicionado ou mal condicionado. Se for mal condicionado, no h algoritmo
nenhum que consiga bons resultados. No entanto, um problema pode ser resolvido por
diversos algoritmos, alguns estveis e outros instveis.
Exemplo (relacionado com cancelamento subtractivo):
O clculo da diferena das razes de dois nmeros grandes consecutivos pode ser feito
directamente,
0BB""# B"#

-18-

mas desta forma instvel, devido ao cancelamento subtractivo. Esta expresso pode ser
escrita como
0B

"
"#

B"

B"#

e agora o clculo j estvel, pois no surge a dificuldade inerente a subtraces de nmeros


quase iguais. Assim, este problema era bem condicionado, mas o algoritmo para o resolver
podia ser estvel ou instvel. Vejamos qual o nmero de condio de 0B :
0 wB "# B""# "# B"#
e

B0 w B
BB""# B"#
RG l 0B l l
l
#B""# B"#
BB"# B""#
B"#
"
l
l

# para B grande.
"#
"#
"#
#B"# B" B" B"#
#B"
Portanto o nmero de condio at menor do que ", indicando atenuao dos erros, logo
0B bem condicionada para B grande.
1.6 Erros de Truncatura, ou de Mtodo. Sries de Taylor.
Uma vez que o mtodo numrico uma aproximao do processo matemtico exacto iro
aparecer os chamados erros de truncatura. Um exemplo a aproximao duma derivada pela
conhecida frmula de diferenas ascendentes:

d? ?? ?>3" ?>3
d>
?>
>3" >3
Esta aproximao tem um erro de truncatura que pode ser estimado usando o desenvolvimento
em srie de Taylor, como se mostrar no fim desta seco.
O mtodo mais comum para aproximar uma funo num ponto genrico + o desenvolvimento
em srie de Taylor:

0 ww +
0 8 +
8
0B0+ 0 w+B+ #x B+2 ...
8x B+

(1.24)

Exemplos comuns e muito teis de aproximaes assimptticas de desenvolvimento em srie de


Taylor:

-19-

B#

B$

/ B " B #x $x ...

B$

B& B( ...
(x

B#

B% B' ...
'x

sin B B $x &x

cos B " #x %x

"
#
$
%
"B " B B B B ...
" B8 " 8B

"B"

88"B#
88"8#B$

... lBl "


#x
$x

B"#
B"$
B"%
ln B B "

... ! B #
#
$
%
B#

B$

B%

ln " B B # $ % ... " B "


Na prtica no se podem reter todos os termos destas sries infinitas e assim necessrio
trunc-las isto , desprezar os termos acima duma dada ordem (da o nome de erros de
truncatura). A convergncia desta srie estabelecida pelo teorema de Taylor:
Se a funo 0B tem derivadas contnuas de ordem 1,2,..,8 " num intervalo fechado
M +, ento para qualquer + em M, pode escrever-se:
0B !
8

5!

0 5+
5
5x B+ V8"
(1.25)

com:

V8"

0 8" 0

8"
onde B - M e 0 0B - +B
, .
8"x B+

O valor de 0 depende de B. A V8" chama-se o resto (ou o erro) de ordem 8 ". Este
teorema permite estimar o erro entre a funo 0 e a sua srie de Taylor truncada. Para que a
srie de Taylor convirja necessrio e suficiente que o resto tenda para zero quando 8 tende
para infinito, 8p_
lim V8 !. usual escrever o desenvolvimento de Taylor usando o passo
2 B +, ou seja:
0B !
8

5!

0 5+ 5
5x 2 V8"

com

(1.26)

-20-

V8"

0 8" 0 8"
8"x 2
S2 8"

0 - BB2.

A ultima igualdade indica que o resto de ordem 8 " tende para zero com a mesma rapidez
que 2 8" , quando 2p!. Mais concretamente, indica que existe uma constante G tal que
V8" G 2 8" , quando 2p!.
Teorema para sries alternadas: uma srie com termos alternadamente positivos e
negativos,
W8 ! " 5" +5 +" +# +$ +% ... (com +5
8

0)

5"

converge se lim +8 !, 8p_ . O erro de truncatura cometido menor que a magnitude do


primeiro termo omitido, isto lW W8l +8" onde W a soma da srie.
Em aproximaes sucessivas duma funo, quando se passa do ponto B3 para B3"
(2 B3" B3), diz-se que a aproximao de:
ordem zero, se: 0B3" 0 B3 (a variao constante)
1a ordem, se: 0B3" 0 B3 0 w B 3 B3" B3 (a variao uma recta)
2a ordem, se: 0B3" 0 B3 0 w B 3 B3" B3

0 ww B3
#
#x B3" B3

(a variao quadrtica, a segunda derivada captura alguma curvatura)


etc...
fcil deduzir que um polinmio de grau 8 representado exactamente por uma srie de
Taylor do mesmo grau, uma vez que o resto V8" ! (pois a derivada 0 8" 0).
Exemplo: aproximar a seguinte funo em srie de Taylor, com grau progressivamente maior,
de B! 0 at B 1:
0B 0.1B% 0.15B$ 0.5B# 0.25B 1.2
Neste caso podemos calcular os valores exactos, 0! 1.2 e 0 " 0.2, e as derivadas
necessrias:
0 wB 0.4B$ 0.45B# 1.0B 0.25
0 wwB 1.2B# 0.9B 1.0
0 wwwB 2.4B 0.9
0 w@ B 2.4

-21-

Usando como passo 2 B B! 1, obtm-se os valores dados na seguinte tabela (onde 0


denota a aproximao a 0 ), para vrias ordens de aproximao:
8
0
1

0B3"
1.2
1.2 0.252

0"
1.2
0.95

% [%]
500
375

1.2 0.252 0.52 #

0.45

125

1.2 0.252 0.52 # 0.152 $

0.3

50

1.2 0.252 0.52 # 0.152 $ 0.102 %

0.2

Como 0B um polinmio, a srie de Taylor de ordem 4 representa-o exactamente. Neste


exemplo o erro relativo decai muito devagar porque o passo escolhido demasiado grande. Se
o valor de 2 fosse sendo progressivamente dividido por 2, o erro na estimativa de 0" iria
decair depressa, mas seria necessrio mais esforo de clculo.
Uso de srie de Taylor para estimar erros de truncatura
Para o caso da derivada duma velocidade ?>, que se considerou no nico desta seco, a
srie de Taylor de primeira ordem :
w
?>3" ?>?>>
3
3 3" >3 V#

ou, explicitando a derivada,


?w >3

?>3" ?>3
V#

>3" >3
>3" >3

como o resto de segunda ordem dado por V# ?ww 0>3" >3# #, temos que o erro de
truncatura na avaliao da derivada fica:

V#
?ww 0
IX > > # >3" >3
3"
3
sendo portanto de primeira ordem no passo no tempo.

-22-

Captulo 2. Interpolao
o processo de obter valores a partir dos dados de uma tabela, ou de ajustar uma curva suave
a um conjunto de pontos dados. Tem interesse por ser prtica usual a interpolao de dados de
tabelas (por exemplo, obter valores de entalpia em tabelas de vapor de gua, para clculos
termodinmicos). Existe tambm algum interesse terico porque muitas frmulas em
diferenciao ou integrao numrica so obtidas directamente da funo interpoladora.
Podemos distinguir dois tipos de problema relacionados com interpolao:
1- Standard: dados vrios pontos, determinar uma curva que passe sobre todos
eles.
2- Mnimos quadrados: os pontos esto afectados dum certo erro e pretende-se
determinar a curva que passa suficientemente perto deles.
Iremos aqui considerar apenas o primeiro tipo de interpolao. Neste tipo existem tantos
parmetros na determinao da curva interpoladora como pontos. No tipo 2, o nmero de
parmetros tipicamente muito menor do que o nmero de pontos. Por exemplo, um conjunto
grande de pontos pode estar distribudo de forma aleatria em torno duma certa linha recta mas
o resultado ser a equao dessa recta, que descrita por somente dois parmetros + e , ,
C +B ,.
Definio do problema
Para um conjunto de 8 " pontos dados (B3, C3)3!8 determinar uma funo interpoladora,
suficientemente suave (smooth), 0B , que coincida com os pontos dados. Os requisitos
devem ser:
1. A funo interpoladora coincide nos pontos dados, 0 B3 C3 , 3!8.
2. A funo 0B deve ser fcil de calcular.
3. Deve tambm ser fcil de integrar e diferenciar.
4. Deve ainda ser linear nos parmetros ajustveis.

2.1 Interpolao com Polinmios de Lagrange


Um tipo de funo que respeita todos estes requisitos um polinmio; assim 0B vai ser um
polinmio de grau 8 (para 8 " pontos dados):
8
0B ! +4 B4 +! +" B +# B# +$ B$ ... +8 B8

(2.1)

4!

Pode-se demonstrar que para 8 " pontos distintos, o polinmio interpolador tem grau 8,
existe e nico. Por exemplo, sendo dados 2 pontos no coincidentes, (B" C" e (B# , C# ),
sabemos que por eles passar uma s recta, que podemos obter de:

-23-

y
y2
y1

x1

x2

CC"
C# C"
BB"

"
C# C"
B# B"
B# B" B B"
ou

C C

C C

C +! +" B com +! C" B# B" B" e +" B# B"


#
"
#
"
Um recta um polinmio do primeiro grau (# pontos: grau igual a # " "). Se
escolhessemos outro ponto situado sobre essa recta, o polinmio interpolador continuava a ser
dado pela mesma recta, apesar de termos agora 3 pontos. Por 3 pontos no colineares
podemos fazer passar um polinmio quadrtico (ou uma parbola; grau #) - deste modo, com
3 pontos podemos captar alguma curvatura.
y

y3
y2
y1
x1

x2

x3

A questo que se pe, no caso geral, como determinar de forma fcil e/ou
computacionalmente eficiente os parmetros +4 do polinmio interpolador. A maneira mais
directa de calcular esses parmetros escrever as 8 " equaes que representam o facto do
polinmio coincidir com os pontos dados:
! +4 B4 C3 para 3!8.
3
8

(2.2)

4!

Isto representa um sistema de 8 " equaes lineares para as 8 " incgnitas +4 que poder
ser resolvido por algum mtodo numrico. No entanto esta operao impossvel de ser feita
manualmente quando 8 grande; na prtica para 8 maior que cerca de 4 ou 5 torna-se
necessrio utilizar um computador. Um outro factor que impede esta abordagem que a matriz
deste sistema particularmente mal-condicionada impossibilitando de todo a resoluo correcta
para mais de 7 pontos (os erros de arredondamento sero ampliados de forma catastrfica).

-24-

Uma abordagem diferente construir polinmios P5 tais que:


0B ! P5B C5
8

(2.3)

5!

Estes P5B so designados polinmios de Lagrange de grau 8. Como estes polinmios no


dependem de C5, podemos fazer sucessivamente C3 1 e C6 0 para 6 3, vindo:
P4 B
3 $34

(2.4)

onde $34 o delta de Kronecker ($34 1 se 3 4, e $34 ! se 3 4). Deste modo os P4 B


vo ser polinmios de grau 8 com zeros em B B! , B" , ..., B4" , B4" ,..., B8, e iguais a 1
para B B4 . Devem portanto ter a seguinte forma:
P4 B G4 B B! BB" ... B B4" BB4" ... B B8

[B
G4 BB
4

onde [B # B B5

(2.5)

5!

A constante G4 obtida pela condio de normalizao P4 B4 ", vindo:

"

G4 B B B B ... B B B B
4
!
4
"
4
4"
4
4" ... B4 B8
Podemos finalmente escrever os polinmios de Lagrange da seguinte forma compacta:
4
P5B # B B
5
4
8

BB

(2.6)

45

A lgica destes polinmios fica assim bem clara: se B B4 (4 5 ), o valor do polinmio


zero; se B B5 o valor do polinmio 1. Deste modo a coincidncia do polinmio com os
pontos dados fica assegurada, ver Eqs. (2.3) e (2.4). Por outro lado bvio de (2.6) que estes
polinmios tm ordem 8, e deste modo representam o nico polinmio interpolador procurado.
Exemplo para 2 pontos:
Pela definio, os polinmos de Lagrange para este caso tm ordem 1, e so:

BB

P" B B B#
"
#

-25-

BB

P# B B B"
#
"
O polinmio interpolador fica:

BB

BB

0B B B# C" B B" C#
"
#
#
"
Para B B" , obtemos 0B" C" , e para B B# , obtemos 0B# C# , de forma que o
polinmio coincide com os pontos dados. fcil tambm ver que o polinmio pode ser escrito
na forma usual da interpolao linear:
0B

B# C" BC" BC# B" C#


B# C" B" C# B?C B" C" B" C"

?B
?B
?C

C" ?B B B" .
onde ? B B# B" e ? C C2 C" . Fica assim demonstrado que a interpolao linear usual,
ou os polinmios de Lagrange de primeira ordem, so equivalentes. Trata-se de chegar por
duas vias diferentes ao mesmo resultado final.

-26-

2.2 Polinmios Interpoladores de Newton


Uma maneira diferente de obter o polinmio interpolador, mas que resulta no mesmo polinmio
(relembra-se que este polinmio nico), sendo no entanto mais eficiente computacionalmente,
segundo o mtodo de Newton. A lgica deste mtodo dada de seguida.
A interpolao linear entre dois ponto B! e B" denotada por 0" B (ndice " indica primeira
ordem, isto , linear) e definida como:

0" B0B!
0B" 0B!

BB!
B" B!
Esta expresso pode ser escrita como:
0" B 0 B!
ou seja,

0B0B!
B" B! B B!

0" B ,! ," B B!

(2.7)

com:
,! 0 B!
e
,"

0B" 0B!
,
B" B!

(2.8)

representando uma diferena dividida de primeira ordem.


De mesma forma, sendo dados 3 pontos, a interpolao quadrtica pode-se escrever:
0# B ,! ," B B! ,# B B! BB"

(2.9)

Fazendo B B! obtem-se ,! 0 B! , como acima. Fazendo B B" , deduz-se que ,"


tambm dado pelo mesmo valor anterior. O outro coeficiente vem ento dado por

,#

0B# 0B" 0B" 0B!


B# B" B" B!

B# B!

(2.10)

uma expresso semelhante aquela para ," (Eq. 2.8), sendo denominada de diferena dividida
de segunda ordem. De notar que (2.10) pode ser obtido de (2.8) por recorrncia.
Em geral, a expresso do polinmio interpolador de ordem 8 ser dada por:

-27-

08B ,!
,# B B! BB" ... ,8 B B! BB" ... B B8"

," B B!
(2.11)

com os coeficientes dados por:


,! 0B!
," 0 B" B!
(2.12)
,# 0 B# B" B!
....
,8 0B8 B8" B! .
As diferenas divididas so obtidas pelas relaes de recorrncia:
0B8 B8" ..., B!

0B8 B8" ..., B" 0B8" B8# ...,B!


B8 B!

(2.13)

A grande vantagem destas frmulas sobre os polinmios de Lagrange que, aqui, o polinmio
vai sendo construdo progressivamente, desde a ordem zero at ordem adequada
aproximao pretendida, sendo acrescentados sucessivamente termos de ordem superior. Na
interpolao de Lagrange, a passagem duma aproximao de ordem 8 para uma outra de
ordem 8 " requer a construo completa dos polinmios. Com o mtodo de Newton, basta
acrescentar um termo adicional, ,8" B B! ... B B8 (notando que parte deste estava j
disponvel, de forma que o seu clculo expedito). Isto uma vantagem essencial, pois
partida no se sabe qual a ordem de aproximao a ser utilizada num determinado problema.
Uma vantagem adicional do mtodo de Newton a facilidade de se obter uma estimativa do
erro, que dada por:
V8 0B8" ,B8, ..., B! B B! BB" ... B B8.

(2.14)

2.3 Polinmios de Hermite


Quando se pretende que o polinmio interpolador tenha uma suavidade maior do que a
assegurada pelos polinmios de Lagrange, usam-se os polinmios de Hermite que satisfazem:
L B3 C3
(2.15)
Lw B3 Cw3

-28-

Isto , o polinmio passa nos pontos dados e a sua derivada tambm coincide com os valores
da derivada dada. Para 8 " pontos, 3 !,..., 8, existem # 8 # condies dadas, e o
polinmio de Hermite de grau # 8 ". Os polinmios de Hermite so construdos do seguinte
modo:
8
0B ! Y5B C5 Z5B Cw5

(2.16)

5!

com:
Y5B4 $45 e Y5w B4 !
(2.17)
Z5B4 ! e

Z5wB4

$45

de forma a respeitar as condies (2.15).


fcil verificar que as seguintes funes polinomiais satisfazem estes requisitos:
Y5B " # Pw5 B B B5 P 5# B
(2.18)
Z5B B B5 P#5 B .
Como, para 8 " pontos, P5B de grau 8, P#5 B ser de grau #8, e portanto Y5 e Z5
sero de grau # 8 " como pretendido.
O erro do polinmio interpolador de Hermite dado por:

C#8 0 #
CB 0 B #8x J B com B! 0 B8.

(2.19)

NOTA: para obter as relaes (2.18) conveniente introduzir os polinmios de primeiro grau
V5B e W5B, tais que:
Y5B V5B P#5 B
Z5B W5B P#5 B .
Para que as condies (2.17) sejam satisfeitas, preciso (relembrando que P5B4 $45):
Y5B4 $45 V5B4 P#5 B4 $45 V5B5 "

-29-

Y5w B4 ! V5w B4 P#5 B 4 #V5B4 P5B4 Pw5B4 !


Vw5B #P5w B5
De onde se deduz que: V5B " # P w5 B B B5 (polinmio do primeiro grau).
As condies (2.17) para Z5 do:
Z5B4 ! W5B4 P#5 B4 ! W5B5 !
Z5wB4 $45 W 5w B4 P#5 B4 #W5B4 P5B4 Pw5B4 $45
W 5w B5 "
De onde se deduz que: W5B B B5 (polinmio do primeiro grau).

Exemplo:
Determinar o polinmio de Hermite que passa nos pontos:
C! # Cw! "
C" $ Cw" "

B! "
B" "

Temos % condies, de modo que o polinmio interpolador vai ser de grau $. Chamando
2 B B. Os polinmios de Lagrange, e as suas derivadas, para este caso so:

BB

P! B B B" ,
!
"

BB

P" B B B! ,
"
!

Pw! B B B
"
!

Pw" B B B
"
!

Os polinmios Y e Z , de (2.18), vm:

BB

BB

BB

BB

Y! B " # B B! B B" # "% # BB" #


"
!
"
!
Y" B " # B B" B B! # "% # BB" #
"
!
"
!

BB

Z! B B B! B B" # "% B"B" #


"
!

-30-

BB

Z" B B B" B B! # "% B"B" #


"
!

e o polinmio interpolador fica:


"
0B ! Y5B C5 Z5B Cw5 #" # BB"#
5!

$% # BB"# "%B"B" # "% B"B" #


Este polinmio est representado na figura que se segue, sendo anotados com bolas os pontos
dados. Para B !, o valor interpolado :
0! "# # $% # "% "% $.
4

f(x)
3

1
-2

-1

2.4 Splines
Alguns inconvenientes das interpolaes de Lagrange e Hermite so:
- difceis de programar de forma eficiente;
- do azo a grandes erros quando o nmero de pontos grande;
- as verses segmentadas (piecewise) produzem descontinuidades nos ns de
juno.
Em geral, um spline WB um polinmio de ordem 7, definido entre dois pontos, e
pertencente a G 7" (funes contnuas, com derivadas contnuas at ordem 7 ").

-31-

Deste modo, uma curva spline cbica definida pelos seguintes critrios:
(1) segmentada e em cada segmento (B3 B3" ) uma cbica (ordem $ em B);
(2) passa por todos os pontos dados (B3 C 3 3 " 8);
(3) tanto a "+ como a #+ derivada so contnuas no ns B3.
O critrio (1) implica que a #+ derivada linear entre os ns3 e 3 ", devendo ter a forma:

B3" B
BB3
ww B

3"
B3" B3
3" B3

03wwB 0 wwB
3 B

(2.20)

ww
onde os valores de 0 wwB
3 e 0 B3" no so ainda conhecidos. Integrando esta equao
duas vezes obtemos uma equao cbica com 2 constantes de integrao que so obtidas das
condies:

03B
3

C3
(2.21)

03B3" C3"
O resultado o spline 03B, no intervalo3 entre os ns B3 e B3" :
03B

0 wwB
3

B3" B$
BB3$
ww
0 B3" '?B
'?B3
3

C3" ?B3 ww
C3
?B
?B
' 3 0 wwB
3 B3" B ?B ' 0 B3" B B3
3
3

(2.22)

com ?B3 B3" B3. Os 0 ww B3 podem agora ser obtidos pela continuidade das primeiras
derivadas,
03wB3" 0iw + 1 B3" .

(2.23)

Derivando o spline (2.22), obtemos


03wB

0 wwB
3

C3" C3 ?B3 ww
B3" B#
BB3#
ww B
ww

3"
#?B3
#?B3
?B3 ' 0 B3" 0

B
3
e portanto as primeiras derivadas nos ns vm:

C3" C3 ?B3 ww
?B
03wB3" 0 wwB3" # 3 ?B
' 0 B3" 0 ww B3
3
e

-32-

C3# C3"
?B3"
?B3" ww
w B
ww
ww
03"

3" 0 B3"
#
?B3"
' 0 B3# 0 B3" .
Aplicando a condio (2.23) e re-agrupando termos, obtemos o seguinte sistema tri-diagonal
que pode ser facilmente resolvido com o algoritmo TDMA de forma a se obter os 0 ww B3 :

C3# C3"
C3" C3
?B3?B3" ww
?B3" ww
?B3 ww
0

0
B

0
B

3
3"
3#
'
$
'
?B3"
?B3
(2.24)
Faltam 2 condies que so determinadas por condies fronteira. Em geral, as condies
nos extremos para as segundas derivadas podem ser escritas como:
0 wwB" - 0 wwB#
e
0 wwB8 - 0 wwB8"
Se se escolher - 0, tem-se a condio denominada natural; se - " tem-se a condio
peridica.
Tem interesse observar que para espaamentos uniformes ?B, a equao tridiagonal a (de Eq.
2.24) fica simplesmente:
" 0 ww B
ww
ww
3" % 0 B3 0 B3"
'

C3" #C3C3"
?B#

(2.25)

mostrando que a matriz estritamente diagonal superior (a soma em valor absoluto dos
elementos duma linha menor que o elemento da diagonal).
Para espaamento uniforme o erro dado por:
%

3@

0BCB ?B
*' C7+B

(2.26)

sendo semelhante ao erro para polinmios de Lagrange cbicos.

-33-

Capttulo 3. Razes de Equaes No-Lineares


O problema resolver a equao genrica
0B!

(3.1)

onde 0 uma funo qualquer da varivel independente B, sendo a raz representada por BV.
3.1 Mtodos que Enquadram a Raz
3.1.1 Bisseco
Arranja-se um intervalo inicial +, que contenha a raz. Esse intervalo vai ser sucessivamente
dividido a metade de forma a que os intervalos cada vez mais pequenos contenham sempre a
raz. Este processo iterativo parado uando o erro (estimado como igual a metade dum
intervalo) for suficientemente pequeno.

f(x)
y

ak

xk

bk
x

O algoritmo dado por:


(i) Escolher +5 e ,5 tal que 0+50,5 ! , para 5 ! (contador de iteraes).
(Nota + +! e , ,! , sendo +, o intervalo inicial)
(ii) Fazer B5
(iii)

Se
Se
Se

+5 ,5
#
0+50B5 ! fazer +5" +5 , ,5" B5 e ir para (ii)
0+50B5 ! fazer +5" B5 , ,5" ,5 e ir para (ii)
0+50B5 ! fazer BV B5 ( a raz est encontrada).

O erro na iterao 5 dado por I5

l,5 +5 l
l,+l

#
#5"

-34-

(3.2)

B B
Uma aproximao para o erro relativo : %+ l 5 B 5" l
5

(3.3)

possvel mostrar que o erro relativo verdadeiro menor que o indicado por esta
aproximao, isto % %+, e portanto o uso de %+ como critrio de paragem seguro. O
nmero de iteraes necessrio para satisfazer uma determinada tolerncia I>96 (absoluta)
pode ser obtido de:
lBV B5l I>96
5

,+ I
>96
#5"

log,+log#I>96
log #

(3.4)

3.1.2 Falsa Posio (ou interpolao linear)


Neste mtodo a raiz tambm est enquadrada ente + e , mas no se usa o ponto mdio, como
na bisseco, para a aproximar. Uma melhor aproximao obtida atravs do ponto de
interseco da recta que une 0+ e 0, com o eixo dos B. Isto equivale a aproximar
localmente a funo 0B por uma recta. Designando essa aproximao raz por B5 (que, na
iterao 5 , est entre +5 e ,5), temos que a equao da recta dada por:

0+5
0,5
B5 +5 B5 ,5
Esta equao bvia fazendo a equivalncia de tringulos (ver figura).
y

f(bk)
ak

xk
xR

f(ak)

bk

Deste modo a equao de iterao :

0, , +

5
5
B5 ,5 0,5 0+
5
5

(3.5)

Na iterao seguinte devem escolher-se novos + / , de forma a enquadrar a raiz, tal como no
mtodo da bisseco. Faz-se notar que a frmula de iterao simtrica em + e , , podendo
escrever-se genericamente como

-35-

0,

B5 ,5 0+ ,5,
5 5

0+

+5 0+ ,5,
5 5

(3.6)

onde 0+,0+0,+, 0,+ so as diferenas divididas.


Na maior parte dos casos este mtodo converge mais depressa que o mtodo da bisseco,
sendo tambm de primeira ordem, com um erro dado por:
I5" "

0 w BV
0 w 0 I5

com 0 - BV ,

(3.7)

Em casos particulares a convergncia pode ser mais lenta. Observe-se que o intervalo +5 ,5
pode no diminuir ao longo das iteraes, como acontecia com o mtodo da bisseco. O
tpico este intervalo tender para um valor constante.
Exemplo: 0 B B"! "
y

a1 a2

1
bk

Comeando com + 0 e , "$, observa-se que os ,5 ficam fixos em 1.3, e os +5 se vo


aproximando muito lentamente da soluo, BV ".
3.1.3 Mtodo de Ridders
Este mtodo uma variante mais poderosa do mtodo da falsa posio. O algoritmo segue os
seguintes passos:
(i) A raiz est entre B" B#
(ii) Calcula-se 0B$ com B$ B" B# #
(iii) Factoriza-se a funo exponencial que transforma a funo resduo numa recta:
0B" #0B$ eU 0 B# e#U !

0B$ sign0B# 0B$ # 0B" 0B#


eU
0B#

-36-

(iv) Aplica-se a falsa posio a 0B" , 0B$ eU e 0B# eU (em vez de se aplicar a
0B" , 0B# , 0B$ , como no mtodo habitual):
B% B$ B$ B"

sign0B" 0B# 0 B$
0B$ # 0B" 0B#

Este algoritmo possui duas propriedades vantajosas:


(1) enquadra a soluo, uma vez que B% - B" B# ;
(2) quadrtico (erro a decair como I5 I#5" ), mas em cada passo necessita de 2
clculos da funo (para 0B$ e 0B% ). Faz-se notar que nos mtodos anteriores (e tambm
em alguns que se seguem), por cada iterao, era somente necessrio efectuar 1 avaliao da
funo, a parte mais demorada do clculo.
3.2 Mtodos que no Enquadram a Raiz (Mtodos Abertos)
3.2.1 Iterao simples ou de ponto fixo
A equao a resolver 0 B ! escrita na forma B1B , e o processo iterativo :
B5" 1B5

(3.8)

Um critrio de paragem possvel consiste em controlar o erro relativo aproximado,


%+ lB5" B5B5" l %>96. . O erro na iterao 5 " obtido subtraindo BV 1BV
da equao acima:
BV B5" 1BV 1B5 1w 0BV B5
sendo proporcional ao erro na iterao anterior,
I5" Q I5

(3.9)

com constante assimpttica:


w 0 l "
Q l1

(0 - lBV B5 l)

(3.10)

e portanto a convergncia linear (mtodo de primeira ordem). Para garantir convergncia, a


constante assimpttica Q (um majorante da primeira derivada de 1B) tem de ser menor do
que 1, em valor absoluto. Se assim no for, i.e. se Q ", a equao (3.9) mostra que os erros
crescem com as iteraes conduzindo a divergncia do processo iterativo. A escolha da
funo 1B deve ser tal que essa condio seja garantida.

-37-

Exemplo de aplicao: resolver a equao 0B eB B !, usando como ponto inicial


B !.
y

y=x

y=exp(-x)

xR

A equao escreve-se na forma iterativa B1B como B eB, e fcil ver que
w
l1Bl
eB " para B !. Comea-se o processo iterativo com B! ! e prossegue-se
at se terem 6 algarismos significativos. Os resultados so dados na seguinte tabela. Aps 27
iteraes temos um valor para a raiz de 0.567143, com 6 algarismos que j no variam. Sendo
conhecida a raiz exacta (0.56714329...) possvel calcular o erro relativo verdadeiro %>, que
dado na terceira coluna. O erro relativo aproximado dado na quarta coluna (obtido de
w
%+ l1Bl
%+anterior, com 1w eB 0.56714329).
it
0
1
2
3
4
5
6
...

B
%>
0
1
1.
.76
0.367879 .35
0.692201 .22
0.500474 .12
0.606244 .069
0.545396 .038
...
...

10

0.564880

4.0 10$

11

0.568429

2.3 10$

12
...

0.566415
...

1.3 10$
...

26

0.567144

1.3 10'

27

0.567143

4 10(

28

0.567143

10(

-38-

%+
1
0.57
0.32
0.18
0.10
0.06
0.033
...

...

3.2.2 Newton-Raphson
Neste mtodo a funo aproximada pela tangente local curva, e a aproximao da raiz o
ponto de interseco da tangente com o eixo do B. A derivada no ponto B5 igual inclinao
da recta tangente,

0B !

5
0 wB5 B B
,
5
5"

y
f(x)

f(x k)

f'(x)
xR
xk+1

xk

e a expresso que define o processo iterativo do mtodo fica:


B5" B5

0B5
0 w B5

(3.11)

Esta expresso mostra que o mtodo de Newton-Raphson requere, por iterao, uma
avaliao da funo e uma da sua derivada (portanto aproximadamente 2 avaliaes da funo,
ao contrrio dos mtodos anteriores que requeriam somente 1 avaliao). necessrio ainda
uma expresso analtica para a derivada da funo.
O erro obtido expandindo 0B em srie de Taylor:
0B5" 0 B5 0 w B 5 B5" B5

0 ww 0
#
# B5" B5

onde 0 - B5 B5" . Se guardarmos s o primeiro termo e forarmos B5" a satisfazer a


equao, 0B5" !, obtemos
! 0 B5 0 w B 5 B5" B5 frmula de Newton-Raphson.
sendo esta uma outra maneira de deduzir a expresso (3.11) obtida acima. Se retivermos o
termo quadrtico na expresso acima, com B5" BV, e se subtrarmos desta a expresso
anterior, obtemos:

-39-

0 wB5BV

0 ww 0
B5" # BV B5 # .

Sendo o erro na iterao 5 definido como I5 BV B5, e tendo em conta que medida que
a iterao converge 0pBV, obtemos a expresso do erro:
I5"

0 ww BV
#
#0 w BV I5

(3.12)

ou, em termos de majorantes:


#

I5" G I5

l0 ww lQ
com: G
#l0 w l7

(3.13)

(Q designa majorante e 7 minorante). Fica assim provado que o mtodo de Newton-Raphson


tem convergncia quadrtica: o erro na iterao seguinte proporcional ao quadrado do erro
na iterao anterior. Esta propriedade implica que o erro vai decaindo muito depressa, com o
nmero de dgitos certos na soluo duplicando em cada iterao (se o erro na iterao 5 for
lB5 BVl " !8, para B5 com 8 algarismos exactos, ento elevando ao quadrado temos que
o erro na iterao 5 " lB5" BVl " ! #8, portanto com o dobro dos algarismos
exactos). Esta a grande vantagem do mtodo, que tem a desvantagem de ser muito sensvel
ao andamento da funo 0B , podendo divergir repentinamente, ou convergir para outra
soluo no desejada. essencial que a primeira aproximao esteja j bastante prxima da
raiz, para garantir convergncia. A expresso do mtodo e do erro mostra ainda que a
curvatura da funo (segunda derivada) no pode ser muito grande e que o mtodo
problemtico quando a primeira derivada tende para zero (funo horizontal).
Exemplo: 0B eB B !, partindo de B! ! (raiz BV 0.56714329)
Temos 0 wB eB " e 0 wwB eB
A constante assimpttica do erro pode ser calculada exactamente:

0 ww BV
G
#0 w BV 0.18095
Os valores obtidos para as iteraes, erro estimado (I G I#5" ) e erro verdadeiro
(I> BV B5) so dados na seguinte tabela:

-40-

B5
0
0.5
0.566311
0.567143

it.
0
1
2
3

I
0.56714
0.0582
0.000816
0.000000..

I>
0.56714
0.0671
0.000832
0.000000..

A rapidez de convergncia notria (comparar com o ponto fixo, no exemplo anterior), assim
como a propriedade de duplicao dos algarismos significativos de iterao para iterao
Exemplo de convergncia lenta: 0 B B"! " !, partindo de B!& .
Neste caso, devido m escolha inicial e forma da funo, a convergncia para a raiz (B ")
vai ser extremamente lenta.

3.2.3 Mtodo da Secante


Um dos inconvenientes do mtodo de Newton-Raphson a necessidade do clculo analtico
da derivada da funo. Para obviar esse problema, a derivada em B5 pode ser aproximada
com os valores da iterao anterior, da seguinte forma:
0 wB5

0B5 0B5"
B5 B5"

que, substituida na expresso de Newton-Raphson d a forma iterativa do mtodo da secante:

0B B B

5
5"
B5" B5 0B5 0B
5
5"

(3.14)

y
f(x)

f(xk-1)

f(xk)
xk+1

xk

xk-1

A designao do mtodo tem a ver com o facto da funo ser localmente aproximada pela
recta secante que passa nos pontos 0B5" e 0B5. Na expresso acima o mtodo fornece
o valor da nova iterao como igual ao da iterao anterior mais uma correco. possvel

-41-

escrever a esta expresso da seguinte forma, que pode ser til para evitar algum cancelamento
subtractivo:
B5"

0B5 B5" 0B5" B5


0B5 0B5"

(3.15)

O erro deste mtodo dado pela seguinte expresso:


I5" Q I5 I5"

com: Q #7#
"

(3.16)

onde Q # um majorante da segunda derivada, l0 ww 0 l Q # , e 7" um minorante da primeira


derivada, 7" l0 w 0l. possvel mostrar que este erro pode ser escrito aproximadamente da
seguinte forma:
I5" Q :" I:
onde : " &"# # 1.618. Deste modo o mtodo da secante tem uma ordem de
convergncia entre linear e quadrtica (diz-se superlinear).
Em termos de ordem de convergncia o mtodo da secante mais lento do que o de Newton
(ordem 1.6 comparativamente com ordem 2). No entanto o mtodo de Newton precisa de 2
avaliaes da funo por iterao, enquanto que o mtodo da secante s precisa de uma
(excepto no arranque, quando preciso o 0 do ponto anterior). Como o que interessa, no
fundo, minimizar a quantidade de clculo para obter uma raz, acontece que muitas vezes o
mtodo da secante vantajoso comparativamente com o de Newton-Raphson.
Se compararmos a expresso (3.14) com (3.5) vemos que o mtodo da secante muito
parecido com o da falsa posio, a diferena sendo a escolha da nova aproximao para a raz
(na falsa posio usam-se IFs de forma a enquadrar a raz; na secante no).
Exemplo: determinar a soluo de ln B !, usando como pontos iniciais: B" 0.5 e
B# 5.0.
Neste caso o mtodo da falsa posio converge e o da secante diverge.

-42-

sec.
x1
x3
falsa pos.
e sec.

x2

Exemplo de aplicao: para 0B eB B !, de B !.

it.
0
1
2

B5
0
1
0.612700

I>
0.57
0.043
0.046

%>
1.0
0.76
0.080

0.572181

0.0050

8.9 10$

0.567102

4.1 10&

7.3 10&

0.567143

0.000000..

5.1 10(

Neste exemplo o mtodo da secante tem um custo de ' avaliaes da funo, enquanto que o
mtodo de Newton-Raphson, para a mesma preciso, tem um custo de ) avaliaes da funo.
Ou seja, neste caso o mtodo da secante mais eficaz.
3.2.4 Razes mltiplas
Nos casos de razes mltiplas os mtodos que enquadram a raz no funcionam bem porque a
funo no muda de sinal. Por exemplo para o polinmio:
0BB$B"B"B3 & B2 ( B $ ! ,

-43-

y
f(x)

x
raiz dupla

a raz B " mltipla de ordem 2 e a raz B $ simples; neste caso a funo tem um
mximo local no ponto da raz B ". Em geral, razes mltiplas pares (como o caso do
exemplo acima), no cruzam o eixo dos B, razes mpares cruzam o eixo dos B. O mtodo de
Newton-Raphson tambm tem problemas pois tanto 0 como 0 w tendem para zero na raz (no
entanto 0p! mais depressa do que 0 w, mas a ordem de convergncia do mtodo decai de #
para "). Existem duas modificaes do mtodo de Newton-Raphson que permitem calcular
razes mltiplas:
(a) Aplicar Newton-Raphson funo ?B0B0 wB. Isto implica:
B5"

0B5 0 w B5
B5 w
0 B5 # 0B5 0 ww B5

(3.17)

(b) Sendo conhecida a ordem de multiplicidade da raz ,7, usar:


B5" B5 7

0B5
0 w B5

(3.18)

Este mtodo garante convergncia quadrtica mas implica que a multiplicidade da raz tem de
ser conhecida previamente, o que nem sempre possvel.
3.3 Acelerao de mtodos com convergncia linear
Este processo conhecido como acelerao de Aitken. Seja por exemplo um mtodo iterativo
simples
B5" 1B5
w
em que B vai representar a raz e -l1Bl
, com - " para garantir convergncia (ver Eqs.
3.8 - 3.10). Como o erro proporcional ao erro no passo anterior, tem-se:

B B5" -BB5

-44-

e
B B5# -BB5"
Estas duas relaes permitem obter a constante assimpttica do erro,

B5# B5"

- B
5" B5

e uma melhor aproximao para a raz:

B5 B5# B#5"
?B5 #
B B
B5
5# #B5" B5
?# B5
com as definies: ? B5 B5" B5 e ? # B5 ? B5" ? B5. Destas definies obtem-se
? B5# B#5" # B5" B5 B5# . Este valor aproximado B deve ser usado em vez de B5# .
Assim, com os 3 termos da iterao normal, B5, B5" e B5# , aplica-se a acelerao de
Aitken atravs de:
Bw5 B5

?B5 #
?# B5

Prova-se que a iterao Bw5 tambm converge linearmente mas com uma constante assimpttica
de erro menor do que na iterao original,

Iw5"
#
w
lim
-# 1B
.
w
I
5p_
5
Exemplo de aplicao: para a funo eB B ! usada acima no mtodo do ponto fixo
(ver Tabela na seco 3.2.1). Faz-se acelerao na iterao 5 "!, obtendo-se:
?B5 0.568429 0.564880 0.003549
? # B5 0.566415 # 0.568429 0.564880 0.005563

Bw5 0.567144,

um valor quase igual ao obtido com a iterao do ponto fixo ao fim de 27 iteraes.
3.4 Sistemas de Equaes No-Lineares
O problema resolver a equao vectorial

-45-

t !
0t B

(3.19)

que se pode escrever como um sistema de equaes no-lineares:


03B4 !

com 3 " 8 e 4 " 8

(3.20)

onde 8 o nmero de equaes (suposto igual ao nmero de incgnitas B4 ). Se as equaes


forem lineares, o sistema (3.20) equivalente resoluo dum problema matricial E B ,, a
ser tratado no prximo captulo. Apesar da aparente semelhana, o problema (3.19) muito
mais complicado que o problema (3.1), basta pensar que agora (mesmo s com 2 equaes)
no possvel enquadrar as razes.
Os dois mtodos mais usuais para resolver sistemas de equaes no lineares so:
(i) Iterao:
5"

B3

~ 5
0 3B4

(3.21)

onde 5 o ndice de iterao.


(ii) Newton-Raphson generalizado, aqui exemplificado para 2 equaes:
0BC!
1BC!
Desenvolvendo em srie de Taylor e retendo s os termos lineares, obtemos:
`0
0B5" C5" 0 B5 C5 `0
`B 5B5" B5 `C 5C5" C5 !
e
`1
1B5" C5" 1B5 C5 `1
`B 5B5" B5 `C 5C5" C5 !

Este sistema de 2 equaes a 2 incgnitas deve ser resolvido em B5" e C5" e


pode ser escrito como:
`0
`0
`0
`0
`B 5 B5" `C 5 C5" 05 `B 5B5 `C 5 C5
`1
`1
`1
`1
`B 5 B5" `C 5 C5" 15 `B 5B5 `C 5 C5

onde 05 0 B5 C5 e 15 1B5 C5 . Aplicando a regra de Cramer a este


sistema, cujo determinante :

-46-

`1
`0
`1
H `0
`B 5 `C 5 `C 5 `B5

resulta em:
`1

B5"
e

`0

0 `C 1 `C
B5
5
H
(3.22)

C5" C5

`0
`1
`B 1 `B 0

5.

Em geral, para 8 equaes, o mtodo de Newton equivale resoluo do sistema:


N $B 0
onde N a matriz Jacobiana formada com as derivadas parciais, cujos elementos so
N34 `03`B4, e $B B5" B5 a matriz coluna das correces iterativas. Para o sistema
ter soluo temos de ter DetN !.

Exemplo de aplicao: Seja o sistema no linear:


0 B# BC " ! !
1 C $ B C# & ( !
cuja soluo B # e C $. O ponto inicial deve ser B! 1.5 e C! 3.5 .
O mtodo de Newton-Raphson generalizado converge sem problemas.
Para o mtodo iterativo, uma primeira escolha seria:

B5"

"!B#5

C5

C5" & ( $ B5" C#5


que diverge, como facilmente se constata. Uma segunda escolha com melhores resultados :
~
B5" " ! B5C5 0BC
&(C
C5" $B 5 . ~1BC
5"

Para garantir convergncia do mtodo iterativo so condies suficientes:

-47-

~
~
`0
`0
l `B l l `C l "
e

(3.23)

~
~
`1
`1
l `B l l `C l "

semelhantes condio necessria (Eq. 3.10) no mtodo iterativo para equao simples,
embora muito mais restritivas. As condies necessrias e suficientes so menos restritivas mas
mais difceis de aplicar:

~
~ ~
~ ~
~
`0
`1
`0 `1
`0 `1
l `B `C l `B `C `C `B " #

(3.24)

Por vezes usam-se ainda as seguintes condies suficientes:

~
~
`0
`1
l `B l l `B l "
~
~
`0
`1
l `C l l `C l "

(3.25)

-48-

Capttulo 4. Sistemas de Equaes Lineares


O problema a resoluo dum sistema de 8 equaes lineares que se pode escrever de forma
matricial como
EB,

(4.1)

onde E a matriz quadrada (8 8) dos coeficientes, +34 , B a matriz coluna das incgnitas,
B4 , e , a matriz coluna dos termos independentes, ,4 . Este sistema pode escrever-se por
extenso como,
+""B" +"#B# ... +"8 B8 ,"
+#"B" +##B# ... +#8 B8 ,#

+8"B" +8#B# ... +88 B8 ,8

(4.2)

ou em notao tensorial como:


+34 B4 ,3
onde se aplica a regra de soma para repetio de ndices (regra de Einstein), 3 o ndice das
linhas e 4 o ndice das colunas da matriz +34 (ambos variam de 1 a 8, para uma matriz
quadrada).
Para que o sistema tenha soluo nica (sistema determinado) necessrio que o determinante
da matriz E seja no-nulo, o que implica que a matriz inversa de E, E" , existe. Neste caso o
sistema poderia ser resolvido simplesmente por
B E " ,

(4.3)

no entanto a determinao da inversa um processo muito custoso computacionalmente, e no


vantajoso seguir esta abordagem. Do mesmo modo, para sistemas de pequenas dimenses, o
mtodo de Cramer pode ser usado:
B4

detE4 ,
detE

(4.4)

onde E4 , representa a matriz E com a coluna 4 substituida por , . Torna-se claro que s
existe soluo se detE !. Este mtodo tambm s vivel para sistemas de pequena
dimenso pois o custo do clculo dos determinantes ainda maior do que o da prpria matriz
inversa.
4.1 Normas de Matrizes, Nmero de Condio e Resduos

-49-

Em geral, a norma P: para um vector B definida por


mBm: ! lB4 l: ":
8

(4.5)

4"

Com : # temos a usual norma Euclideana (a distncia entre os dois pontos que definem o
vector B) que aqui designada norma P# . Outras normais usuais so a norma P" , dada pela
soma dos valores absolutos das componentes do vector, e a norma do mximo, obtida para
:p_ , isto mBmmax max lB4 l.
4

Normas de matrizes:
lElI +34 +34

(soma em3 e 4) (norma de Frobenius)

lEl_ max !l+34 l (norma de mximo, soma por linhas)


3 4
lEl" max !l+34 l (soma por colunas)
4 3

O nmero de condio duma matriz definido como:


condE lElE"
sendo sempre maior ou igual a 1, e medindo a susceptibilidade da soluo dum sistema a
variaes nos dados da matriz E, ou do segundo membro , . Mostra-se que:

l$ Bl
l$ El

cond

lBl
lEl

e tambm

l$ Bl
l$ , l

cond

lBl
l, l

Estas relaes mostram que, quando o nmero de condio da matriz grande, imprecises
nos elementos de E ou de , so grandemente magnificadas resultando em erros relativos
elevados na soluo.
O nmero de condio est relacionado com o tamanho dos elementos da matriz inversa E" .
Se a matriz original E for normalizada (scaled) dividindo cada linha pelo seu maior elemento,
de forma que o maior elemento de cada linha dessa matriz equivalente fica igual a ", e se esta
for invertida (um processo difcil de efectuar), ento elementos de E" muito maiores que 1

-50-

indicam mau condicionamento. Isto implica que para uma matriz mal condicionada, o facto do
resduo ser pequeno no indicativo de o erro na soluo ser pequeno, como se mostra de
seguida.
Seja B- uma soluo aproximada do sistema (4.1) que resulta num certo resduo <,
< , EBenquanto a soluo exacta B produz um resduo nulo
! , EB.
A questo saber se um resduo pequeno implica uma soluo mais precisa. Subtraindo estas
duas relaes, obtemos
< EB B-
o que d um erro na soluo de
- E" <.
$B B B
Torna-se bvio agora que < pequeno (i.e. l<l pequeno) s implica $ B pequeno, se o
tamanho de E" for de ordem 1. Quando a matriz mal condicionada, condE
grande, assim como E" , e a relao obtida mostra que resduos pequenos vo ser
amplificados resultando em erros elevados na soluo. Na prtica, se o erro nos elementos da
matriz E (ou , ) for da ordem 10> (isto , tm cerca de > dgitos significativos) e se o valor do
nmero de condio de E for da ordem 10-, ento a soluo aproximada ter cerca de > algarismos significativos (erro 10>- ). Faz-se ainda notar que o nmero de condio
difcil de calcular na prtica, e que as matrizes que aparecem na prtica tm tipicamente
nmeros de condio elevados (da ordem de R= nmero de equaes a resolver).

4.2 Mtodos Directos


4.2.1Substituio inversa (back substitution)
Se E for uma matriz triangular superior, a resoluo do sistema (4.1) pode ser feita de forma
expedita por substituio inversa:
B8 ,8+88
para 3 8 " "
8
B3 ,3 ! +34B4 +33

(4.6)

43"

fim ciclo 3

-51-

O nmero de adies/subtraes para a substituio inversa 8"8# , e o nmero de


multiplicaes/divises 8"8# . Para a substituio directa, com E triangular inferior, o
algoritmo semelhante, com 3 a variar de " a 8.
4.2.2Eliminao de Gauss
Consiste em dois passos:
(i) Reduo do sistema (4.1) a um sistema equivalente cuja matriz diagonal superior.
Para isto aplicam-se operaes elementares sobre a matriz E: troca de equaes; multiplicao
duma equao por uma constante diferente de zero e soma com outra equao.
(ii) Resoluo deste sistema por substituio inversa (Eq. 4.6).
Algoritmo:
- Reduo
5 "8"
3 5 " 8 (linhas)
7 +35+55
45"8
+34 +34 7 +54
fim ciclo 4
, 3 , 3 7 ,5
fim ciclo 3
fim ciclo k

(4.7)

- Substituio inversa: aplicar Eq. (4.6) do seguinte modo:


B8 ,8+88
para 3 8 " "
=?7!
para 4 3 " 8
=?7=?7+34 B3
fim ciclo 4
B3 ,3 =?7+33
fim ciclo 3
Faz-se notar que no algoritmo dado a matriz E e o termo indepedente , so reescritos, de
forma que as matrizes iniciais so perdidas. No final do processo de reduo, a matriz E
contem os valores da matriz triangular superior escritos nas mesmas posies que os elementos
+34 originais. Para valores de 8 grandes o nmero de operaes para resolver o sistema
proporciomal a 8$ $. A maior parte deste esforo computacional ocorre no processo de
reduo (ou eliminao), pois a parte de substituio inversa tem um esforo proporcional a
8# #.

-52-

Para evitar o problema de acumulao de erros este algoritmo deve incorporar uma escolha
mais criteriosa do pivot (o elemento multiplicativo 7).
Escolha de pivot (na eliminao 5 ):
- Pivot parcial: l+:5l max

l+35l

(4.8)

538

onde : o ndice da linha do pivot, devendo ser trocadas as linhas : e 5 .


- Pivot parcial com escala:
Para a matriz E original escolhe-se o maior elemento de cada linha:
.3 max l+34 l
"38
Durante o processo de reduo, em que +34 so os elemtos de E (matriz j
modificada) o pivot ser:
l+:5l max

l+35 .3l

538

onde : o ndice da linha do pivot, devendo ser trocadas as linhas : e 5 .


-Pivot total: neste caso a procura do valor normalizador (+55) faz-se por linhas e
por colunas. A complexidade do algoritmo aumenta substancialmente.
Exemplo: resolver o sistema
0.0003 B" 3.0000 B# 2.0001
1.0000 B" 1.0000 B# 1.0000
A soluo exacta B" "$ e B# #$ , como se comprova facilmente. Usando aritmtica
de % decimais, o resultado que se obtem sem pivot :
B" ! (um erro de 100%)
Com pivot parcial, a ordem de resoluo das 2 equaes trocada e o resultado :
B" 0.3333 (erro de 0.01%)
ficando demonstrada a utilidade do uso de pivot.
4.2.3 Mtodo PY
A ideia da factorizao LU:
E PY

-53-

com P (Power) matriz tringular inferior (diagonal unitria) e Y (Y pper) matriz triangular
superior, a de permitir resolver as equaes (4.1) para vrios valores do termo independente,
, . Na eliminao de Gauss tanto os elementos da matriz E como os elementos do segundo
membro , so perdidos, pois so reescritos durante o processo da eliminao. O resultado
final involve elementos de , e assim no possvel voltar a fazer o clculo se , mudar.
Com a factorizao LU o sistema (4.1) fica:
PY B , PY B ,
ou

" -

YBC

#+-

PC , .

O primeiro resolve-se facilmente por substituio inversa e o segundo sistema por substituio
directa. A decomposio de E em P e Y faz-se com os mesmos passos do que aqueles
utilizados na eliminao de Gauss. Os elementos da matriz Y (?34 ) so os que resultam no fim
da aplicao da reduo no mtodo de Gauss, e os elementos da matriz P (634 ) so os factores
multiplicativos 7 usados nesse processo. Temos:
?34 +34 ! 635 ?54
4"

5"

4 "
634 +34 ! 635 ?54 ?44
5"

(Nota: assume-se diag634 633 "; DetE DetY ).


Quando a matriz E simtrica EX E, onde X designa a matriz transposta), o processo de
factorizao simplifica-se e designado por factorizao de Choleski:
E YX Y
com:

?34 +34 ! ?53 ?54 ?33 para 4 3


3"

5"

?33 +33 ! ?53 #


3"

5"

Se a matriz alm de simtrica E for positiva-definida, ento os seus valores prprios so todos
reais, assim como os ?33 (sem soma).

-54-

4.2.4 Mtodo TDMA (TriDiagonal Matrix Algorithm)


(Algoritmo para Matrizes TriDiagonais)
No caso particular de matrizes tridiagonais o mtodo de eliminao de Gauss transforma-se
num mtodo directo muito eficiente e rpido. Neste mtodo, tanto o nmero de operaes
como a memria computacional so proporcionais ao nmero de equaes 8, em vez de 8$
como no mtodo de Gauss.
A matriz tridiagonal escreve-se:
+3B3 , 3B3" -3B3" .3

com 3 " 8

(4.9)

onde + o coeficiente da diagonal principal, , a diagonal imediatamente acima e - a diagonal


imediatamente abaixo da diagonal principal. Todos os outros elementos de E so nulos. O
termo independente (termo fonte) .. Nos casos usuais, todos estes coeficientes (+, ,, -) so
positivos. Temos ainda:
-" ! e ,8 !
de forma a no aparecer nenhuma ligao com a incgnita em B! e em B8" (estas no so
definidas).
A ideia do TDMA explicada com palavras da seguinte forma:
Primeiro faz-se uma eliminao progressiva (a reduo). Da equao para 3 "
pode-se expressar B" em funo de B# . Por sua vez, da equao 3 # pode-se expressar B#
em funo de B$ (uma vez que o B" que aparece nessa equao pde ser expresso em funo
de B# ). Este processo continuado at ltima equao, da qual se obtem B8.
Em seguida faz-se a substituio regressiva. A ltima equao para 3 8 est
resolvida, uma vez que B8 conhecido. A equao 8 " d B8" 0 B8 e fica resolvida.
Este processo continuado at 3 ".
Algoritmo
A eliminao progressiva permite escrever a seguinte relao de recorrncia:
B3 T 3B3" U3

(4.10)

B3" T3" B3 U 3" .

(4.11)

ou

Aps substituir (4.11) em (4.9) obtemos:


+3B3 , 3B3" - 3 T3" B3 U3" .3
ou

-55-

+3 -3T3" B3 , 3B3" -3U3" .3


Comparando com (4.10) ve-se que:

T3 + - 3T
3
3 3"

(4.12)

. - U
U3 +3 -3 T 3"
3
3 3"

(4.13)

Estas duas relaes de recorrncia permitem obter T3 e U3, para 3 de " a 8. Como para 3 ",
-" ! temos que T" ," +" e U" ." +" . Para 3 8 temos ,8 ! e assim T8 ! e
B8 U8. A substituio regressiva processa-se seguidamente por meio da realao (4.10),
fazendo variar 3 de 8 " a ".
Este algoritmo necessita de 2 arrays de dimenso 8 (T e U ), e o tempo de clculo tambm
proporcional a 8. Estes valores devem ser comparados com a proporcionalidade em 8$ para
eliminao de Gauss de sistemas cheios, e em 8# para mtodos iterativos.
4.2.5 Exemplo de aplicao
Resoluo da equao de conduo de calor unidimensional com fontes:

d
dX
.
dB 5 dB ; !
Integrando esta equao num volume de controlo unidimensional T , entre / e A, obtemos:

xe
w

e
W

x
E

xP

dX
dX
.
5 dB / 5 dB A ; T $BT !
Usando diferenas cenrais para as derivadas, dX dB/ XI XT $B/, e agrupando
termos, obtemos:
+T XT +IXI +[ X[ ,T

-56-

.
com: +I 5/ $B/ , +[ 5A $BA e +T +I +[ (coeficientes da equao) e , ;T $BT
(termo fonte). Se escrevermos uma equao anloga a esta para cada um dos volumes de
controlo T obtemos um sistema tridiagonal:
+[ X[ +T XT +IXI ,T
ou:

....

+[ +T +I ..... XT ,T .

4.3 Mtodos Iterativos


4.3.1 Iterao simples
A ideia bsica para resolver o sistema
EB ,
por iterao simples reescreve-lo como
B B G , EB
onde G uma matriz de iterao convenientemente escolhida. Indicando as iteraes com o
ndice 7, a iterao simples escreve-se:
B7" B7 G , EB7

(4.14)

que se pode ainda escrever como:


$B7 G <7

(4.15)

onde
$B7 B7" B7 o vector das correces
e
< , EB o vector do resduo.
Quando o processo convergir, o resduo anula-se , EB !, e a correco fica tambm nula
B7" B7 . A matriz G deve ser uma inversa aproximada de E, G E" , e demonstrase que deve ser tal que:
m" G Em "

(4.16)

-57-

Deste modo as correces vo sendo progressivamente menores e o processo iterativo


converge para a soluo.
4.3.2 Mtodos iterativos em geral
Substitui-se a matriz E do sistema
EB ,
pela decomposio:
EQR

(4.17)

onde Q uma matriz facilmente invertvel. Desta maneira podemos escrever:


Q R B , QB , RB B Q " , Q " RB
ou, em termos dum processo iterativo
B7" Q " , Q " RB7

(4.18)

onde o ndice representa valores da iterao 7. Para 7 ! faz-se


B! !
de forma que o valor da incgnita na primeira iterao obtido de:
B" Q " ,
fcil ver que este processo iterativo por decomposio da matriz inicial equivalente
iterao simples dada acima (Eq. 4.14). De facto, somando e subtraindo B7 equao
(4.18) obtemos:
B7" B7 Q " , RB7 Q B7
ou seja, uma vez que Q R E,
B7" B7 Q " , EB7
ou
$B7 Q " <7
Portanto obtemos iterao simples em que a matriz iterao G Q " .

-58-

(4.19)

Os mtodos iterativos mais comuns so obtidos por escolhas simples para Q . A matriz E
pode ser directamente decomposta na sua parte triangular inferior, na diagonal e parte triangular
superior, como:
E P H Y

(4.20)

com P LowerE, Y UpperE e H diagE. No confundir este P e Y com os


resultantes da factorizao PY .
Condio suficiente de convergncia: a matriz deve ser diagonal dominante (soma dos
valores absolutos dos elementos duma linha, excluindo a diagonal, menor ou igual ( ) do que
o elemento diagonal (l+33l ! l+34 l), com pelo menos uma linha estritamente diagonal
43

dominante (sinal em vez de ).

4.3.3 Mtodo de Jacobi:


Q diagE Q H e R P Y
B7" H" , P Y B7

(4.21)

ou
B7" B7 H" <7

com resduo <7 , EB7

Nota: tem de ser .33 0, a3.

4.3.4 Mtodo de Gauss-Seidel:


Q TrianginfE Q P H e R Y
B7" P H " , Y B7
ou

B7" B7 P H " <7

(4.22)
.

Nota: tem de ser .33 0, a3. Converge muito mais depressa que o mtodo de Jacobi. O
sistema (4.22) triangular inferior e resolve-se facilmente por substituio directa.

4.3.5 Mtodo da sobre-relaxao sucessiva (SOR):


Processo para acelerar o mtodo de Gauss-Seidel onde, em vez de se tomar B7" como o
valor na iterao 7 ", este (aqui designado por B) obtido como uma mdia ponderada:

-59-

B = B7" " = B7

(4.23)

Aqui = designa o factor de relaxao. Se = 1 obtemos o Gauss-Seidel; se = " temos


sobre-relaxao (avano mais rpido para a soluo); se = " temos sub-relaxao (avano
mais lento para a soluo). Normalmente = no superior a cerca de 1.4, sendo este tipo de
valor usado em problemas lineares simples. Em problemas no-lineares (o sistema linear
EB , resulta da linearizao do problema original) e quando a matriz E relativamente mal
condicionada, deve fazer-se sub-relaxao = !) , mas depende do problema).
O processo iterativo pode ser escrito:
B7" =P H" " =H =Y B7 =H =P" ,

4.4 Refinamento Iterativo


Se tivermos uma soluo aproximada B- para o sistema EB , podemos inseri-la neste, para
obter
EB- , .
O intuito agora corrigir a aproximao B- com um incremento $ B tal que
- $ B.
BB
Inserindo esta relao no sistema inicial obtemos o seguinte sistema a ser resolvido para o
incremento,
EB- $B ,
com:

E$ B $ ,
$, , , .

O algoritmo para implementar o refinamento iterativo segue os seguintes passos:


1. resolver aproximadamente (com qualquer mtodo) o sistema EB , ;
2. a soluo aproximada denotada B ;
3. obter o segundo membro aproximado, , EB ;
4. calcular $, , , ;
5. resolver o sistema, E $ B $ ,
6. refinar a soluo, B B $ B ;
7. se a aproximao no for suficientemente boa, ir para o passo 2 e repetir os
clculos.

-60-

Capttulo 5. Integrao Numrica


O problema deste captulo consiste na resoluo numrica do integral definido
,
M ' 0B.B
+

(5.1)

onde a funo integranda pode ser dada analiticamente, ou ento dada como uma srie de
pontos discretos (B3 0 B3) resultantes, por exemplo, de medies experimentais. O integral M
pode ser visualizado como a rea sob a curva 0B, num sistema de eixos (B,C) com C0B .
y

f(x)

5.1 Frmulas de Newton-Coates


A funo 0B aproximada por um polinmio interpolador de Lagrange numa malha uniforme
de espaamento 2 , sendo o integral desse polinmio relativamente fcil de calcular
analiticamente. Para 8 intervalos existem 8 " pontos, incluindo os dois pontos extremos
+ B! e , B8, sendo dados por:
B3 + 32 , com 2

,+ , para 3!"8 .
8

(5.2)

O polinmio interpolador definido como:


:B ! PB0B
3
3
8

(5.3)

3!

onde PB
so os polinmios de Lagrange de ordem 8. Deste modo o integral ser
3
aproximado da seguinte forma:
,
, 8
,
8
!
'
M ' 0B.B ' ! PB0B
.B

0B

PB.B
3
3
3
3
+
+ 3!
+
3!

-61-

M , + ! G38 0 B3,

ou

(5.4)

3!

onde os nmeros de Coates de ordem 8 so definidos como:


,
1
G38 ,+ ' PB.B
.
3
+

(5.5)

Estes nmeros podem ser calculados fazendo-se a integrao dos polinmios de Lagrange e os
resultados so dados na Tabela 5.1 para ordem at 8 '. A tabela tambm inclui uma
estimativa do erro de truncatura, proporcional a uma potncia de L , + e a um
determinado valor (majorado) duma derivada de 0 .
Tabela 5.1 Nmeros de Coates para ordem 8 de 1 a 6.
RG"8 RG#8 RG$8 RG%8 RG&8 RG'8 Erro

RG!8

8.3 10# L$ 0 33

3.5 10% L& 0 3@

1.6 10% L& 0 3@

90

32

12

32

5.2 10( L( 0 @3

288

19

75

50

50

75

19

3.6 10( L( 0 @3

840

41

216

27

272

27

216

41

6.4 10"! L* 0 @333

Devido forma dos polinmios de Lagrange, os nmeros de Coates possuem as seguintes


propriedades:
! G38 " ( a soma dos coeficientes numa linha da tabela 5.1 igual a 1)
8

3!

8 (existe simetria em torno do valor central, para cada linha da


G38 G83
Tabela 5.1)

Expresses Particulares das Frmulas de Newton-Coates:


Para 8 ", a frmula de Newton-Coates reduz-se a:
,
' 0B.B , + " 0+0,
#
+

-62-

(5.6)

y
f(x)
f(b)
f(a)

que no mais do que a conhecida regra trapezoidal para determinar aproximadamente um


integral: a rea do trapzio sob a recta que une 0+ a 0,. Repare-se que neste caso, assim
como nos seguintes, possvel escrever Integral largura altura mdia.

f(x)

parabola

(a+b)/2

Para 8 2, a frmula de Newton-Coates reduz-se a:


,
' 0B.B , + " 0+%0 +, 0 ,
'
#
+

(5.7)

que representa a conhecida regra de Simpson. Neste caso o integrando aproximado por uma
parbola que passa nos 3 pontos +, , e o ponto mdio +,# . Repare-se da Tabela 5.1
que o erro involvido na regra de Simpson substancialmente menor do que na regra
trapezoidal. O mesmo acontece com a frmula para 8 % comparativamente com 8 $.
Podemos concluir que sempre prefervel aplicar uma frmula de Newton-Coates de ordem
par, pois o erro muito menor do que para a regra mpar imediatamente anterior.
Existem duas maneiras de melhorar a preciso do clculo dum integral:

-63-

(i) usar uma frmula de ordem superior (8 #, $ ou % da Tabela 5.1);


(ii) continuar a usar uma frmula de ordem reduzida (" ou #), mas subdividir mais o
intervalo inicial ? , + (frmulas de Newton-Coates compsitas).
Na prtica raramente se aplica uma frmula de Newton-Coates totalidade dos pontos no
intervalo inicial, sobretudo se existirem muitos pontos. mais conveniente seguir a abordagem
(ii).
Frmulas de Newton-Coates Compsitas (ou segmentadas)
O intervalo inicial L subdividido em intervalos (que podem ser no-uniformes) e aplica-se
uma das frmulas de ordem mais baixa em cada um dos subintervalos. O integral ento
obtido como a soma dos integrais em cada subintervalo. O erro tambm dado pela soma dos
erros em cada subintervalo, e isto implica que a ordem global do mtodo uma ordem inferior
dada na Tabela 5.1 (expoente de L na ltima coluna), como se ver de seguida.
Regra Trapezoidal Compsita
Se o intervalo +, for dividido em 8 subintervalos iguais, de largura 2 , delimitados pelos
pontos B! +, B" , B# , ..., B8 , , ento a aplicao da regra trapezoidal ao primeiro
subintervalo d:
M" B" B! # 0B! 0 B"

"

ou seja,

M" 2 # 0B! 0 B" ;

"

da mesma maneira, para o segundo subintervalo temos:


M# 2 # 0B" 0 B#

"

etc,
......................
at ao intervalo 8,
M8 2 # 0B8" 0 B8.

"

Somando as contribuies de cada subintervalo, obtemos:


M ! M3 2 # 0B! #0B" #0B# #0B8" 0 B8 (5.8)
3"
8

"

Esta frmula pode ser escrita de forma compacta como:

-64-

"
M 2 ! 0 B
3 # 0B! 0 B8
8

(5.9)

3!

ou ainda, na forma geral de Integral largura altura mdia:

0B! # ! 0 B3 0 B8
8"

M , +

3"

#8

(5.10)

Repare-se que na expresso para a altura mdia os pontos nos extremos, B! e B8, so
contabilizados com peso 1 enquanto que os pontos do meio tm peso 2.
Como foi referido, o erro dado pela soma dos erros nos subintervalos, sendo (ver Tabela
5.1):
8
8
- ww
- ww
"
"
L
I ! I3 ! "# 2 $ 03ww "# 2 $ 80 "# 2 # 0
3"
3"

(5.11)

- ww
onde um valor mdio da segunda derivada definido como 0 !03ww8. Observa-se
assim que o erro global proporcional ao quadrado do espaamento, mostrando que a regra
trapezoidal compsita de segunda ordem. Quando o nmero de subintervalos dobrado, o
erro dividido por quatro.
Regra de Simpson Compsita
Na regra de Simpson, isto Newton-Coates de ordem 2, passa-se uma parbola por trs
pontos (dois intervalos 2 ). Desta forma, para aplicar a regra de Simpson compsita o intervalo
inicial , + tem de ser dividido num nmero par de subintervalos, sendo a frmula de Simpson
simples aplicada a cada par de intervalos. Por um raciocnio idntico ao aplicado regra
trapezoidal, chega-se seguinte expresso para a regra de Simpson compsita:
M $ 0B! %0B" #0B# %0B$ #0B8# % 0 B8" 0 B8

Observe-se que os pontos interiores pares tm um peso 2, os pontos interiores mpares tm


peso 4, e os pontos extremos peso 1. Estes pesos resultam simplesmente da regra de Simpson,
ver Eq. (5.7): os pontos mpares (no meio dos intervalos aos quais se aplica Simpson), tm
naturalmente peso 4; os pontos interiores nas extremidades desses intervalos so somados duas
vezes e da terem peso 2. A expresso acima pode ainda escrever-se com largura altura
mdia:

0B! % ! 0 B3 # ! 0 B3 0 B8
8"

M , +

8#

3"$&

3#%'

$8

-65-

(5.12)

Em termos do espaamento 2 , o erro total desta regra de Simpson compsita dado por:
- 3@
L
I ")! 2 % 0

Exemplo 5.1:

(5.13)

M ' / B dB / " " 1.71828


"

Neste caso a funo integranda particularmente suave, com derivada finita, e as frmulas e
Newton-Coates devem oferecer boa preciso com um nmero de pontos baixo.
(a) Melhorar a preciso aplicando a regra trapezoidal e fazendo aumentar o nmero de
intervalos 8. Os resultados esto sintetizados na seguinte tabela:
8
1
2
3
4

M
1.85914
1.75393
1.73416
1.72722

I
0.141
0.036
0.016
0.0089

I2 #
0.141
0.143
0.143
0.143

7
2
3
4
5

Observa-se que o erro para uma subdiviso com 2 intervalos j se comporta como I 2 # ,
com uma constante assimpttica de 0.143, demonstrando assim a caracterstica de segunda
ordem do mtodo trapezoidal compsito. Desta forma o erro dividido por % quando o
nmero de intervalos dobrado (ver na Tabela o erro para 8 # e %). Na ltima coluna so
dados os nmeros de avaliao do integrando, 7, valor que mede o trabalho computacional.
(b) Agora a preciso melhorada por aplicao das f'rmulas de Newton-Coates
simples de ordem progressivamente superior:
8
1

M
1.85914

I
0.141

7
2

1.71886

5.79 10%

1.71854

2.58 10%

1.71828

8.56 10(

O 8 na Tabela representa agora a ordem das frmulas de Newton-Coates. Assim a linha 8 "
representa a regra trapezoidal (sendo igual primeira linha da Tabela da alnea a), 8 # a
regra de Simpson, e da por diante. Comparando esta tabela com a da alnea a) podemos

-66-

concluir que a aplicao da regra de Simpson, que apresenta um trabalho computacional igual a
aplicar duas vezes a regra trapezoidal, tem um erro substancialmente menor. Esta concluso
pode generalizar-se para muitas outras aplicaes de mtodos numricos:
normalmente mais eficiente utilizar frmulas de ordem superior do que
estar a subdividir os intervalos.

Exemplo 5.2:

M ' " B# "# dB 1% 0.785398.


"

Neste caso o erro cai muito mais devagar do que no exemplo anterior porque a funo
integranda apresenta derivadas muito elevadas perto do ponto B " (recorda-se que o erro
sempre proporcional a um majorante duma determinada derivada, ver ltima coluna da Tabela
5.1).
(a) Regra trapezoidal compsita:
8, N9 intervalos
1
2
3
4
5

M
0.50000
0.68301
0.72939
0.74893
0.75926

I
0.2854
0.1024
0.0560
0.0365
0.0261

I2 #
0.285
0.410
0.504
0.584
0.653

7
2
3
4
5
6

O erro s se torna proporcional a 2 # para intervalos muito pequenos; mesmo para 5 intervalos
(2 !#) a constante assimpttica do erro ainda no atingiu um valor constante.
(b) Aplicao sucessiva das frmulas de Newton-Coates
8, ordem
1
2
3
4
5

M
0.5000
0.7440
0.7581
0.7727
0.7754

I
0.2854
0.0414
0.0273
0.0127
0.0100

7
2
3
4
5
6

Mais uma vez uma aplicao da regra de Simpson (8 #) vantajosa relativamente


subdiviso do intervalo com regra trapezoidal: o erro menor do que a subdiviso com 3
intervalos.

-67-

5.2 Extrapolao de Richardson


Esta tcnica serve para melhorar a preciso duma determinada quantidade quando existem
valores dessa quantidade obtidos em duas (ou mais) malhas diferentes (de espaamento 2" e
2# , com 2# 2" ). aplicvel em numeras situaes em clculo numrico, sempre que a
quantidade em causa seja obtida por discretizao numa malha (caracterizada por um
espaamento 2 ). Isto acontece em integrao numrica (a presente aplicao), em
diferenciao, na resoluo de equaes diferenciais ordinrias e s derivadas parciais, etc.
Seja 1 uma quantidade que se pretende determinar (pode ser um integral) e 12 uma
aproximao que depende dum parmetro 2 . Este parmetro pode ser tornado
progressivamente mais pequeno de forma a melhorar a aproximao de 1. Desenvolvendo em
srie de Taylor temos:
1 2 1 -"2 -# 2 # ...

(5.14)

onde -" , -# , etc, so constantes (no dependem de 2 ) e os termos que as contm


representam erros que se pretende eliminar (fazendo 2p!). Repetindo o clculo da
aproximao 12 com uma malha que tenha metade do espaamento inicial, 2#, temos:

"

"

1 # 1 # -"2 % -# 2 # ...

(5.15)

Ao se fazer esta operao (como no caso de aplicao das frmulas de Newton-Coates em


vrios subintervalos), duplica-se a quantidade de clculo e reduz-se o erro a metade. A ideia da
extrapolao de Richardson que se pode combinar g2 e 12# de forma a se obter uma
aproximao muito melhor, sem que a quantidade de clculo aumente de forma significativa.
Para isso faz-se:

2
1" 2#1 # 12 1 -w# 2 # -$w 2 $ ...

(5.16)

onde 1" 2 representa a nova aproximao de 1. Repare-se que agora o erro de ordem 2 # ,
ou seja, combinaram-se duas expresses de 1+ ordem para se encontrar uma de 2+ ordem
uma melhoria considervel. Este processo pode ser continuado, obtendo-se sucessivamente:
1# 2 $ %1" # 1" 2 1 -ww$ 2 $ -ww% 2% ...

"

(5.17)

.......

#8 18" 2# 18" 2
182
1 S 2 8"
#8 "

-68-

(5.18)

Esta a frmula geral para a extrapolao de Richardson. No caso usual de 1 ser par em 2 ,
isto se for obtida com um mtodo de segunda ordem, ento no processo conducente
frmula (5.18) efectuam-se somente as operaes pares. Por exemplo, se 1 representar um
integral M determinado com a regra trapezoidal compsita (de 2+ ordem), sendo M" o valor de M
numa malha 2 e M# o valor numa malha dupla (2#, um valor extrapolado do integral ser
dado por:
M/B>

%M# M"
$

sendo de ordem 4 em 2 . Se a ordem do mtodo inicial fosse 4, ento a extrapolao seria


obtida como:
M/B>

"'M# M"
"&

sendo de ordem 6.
Faz-se notar que na deduo da extrapolao de Richardson no necessrio que as malhas
sejam dobradas, isto no necessrio que a malha fina seja exactamente 2#. Num caso
genrico teramos, para a extrapolao duma quantidade de segunda ordem:

2" 2 ## M #M "
M/B>
2" 2# # "
2

A expresso (5.18) continua assim a ser vlida com #8 substitudo por 2" 8, onde 2" o
#

espaamento da malha grosseira e 2# o espaamento da malha fina. A vantagem de se fazer a


duplicao da malha que no clculo da malha fina se vo usar valores que foram j calculados
na malha grosseira, sendo assim mais eficiente computacionalmente.
Exemplo 5.3: extrapolar o integral do exemplo 5.2 (a):
Com os valores da regra trapezoidal para 1 e 2 intervalos, a extrapolao de Richardson
fornece:
M

%M# M"
%"(&$*$")&*"% 1.71886, com erro 5.78 10%

$
$

Obtem-se desta maneira uma preciso melhor do que com a aplicao da regra trapezoidal em
4 intervalos, com metade do esforo computacional. Esta ideia ser aplicada no mtodo de
integrao de Romberg.
Exemplo 5.4: Calcular o valor de #1 6.2831853 atravs da frmula que d o permetro
de polgonos regulares inscritos num crculo:

-69-

T8 #1 sin 8

(tende para #1 quando 8 tende para infinito, sendo de ordem 2)

Fazendo a duplicao sucessiva do nmero de intervalos 8, e aplicando (5.18), obtem-se:


T8!
0
4
5.65685
6.122935
6.242890
.....
6.283146

8
1
2
4
8
16
...
512
Nota: P"8 %T!8 T!

8"

T8"

T8#

T8$

T8%

5.333333
6.209139
6.278295
6.282875

6.267526
6.2829056
6.2831808

6.2831496
6.2831852

6.2831853

$; T#8 16T"8 T"

8"

15; T$8 64T#8 T#

8"

63; T%8 256T$8 T$

8"

255

Observe-se que a aplicao da extrapolao de Richardson em 4 nveis, partindo de valores


at 8 16, fornece o valor final com 8 algarismos precisos, enquanto que a frmula original
com 8 512 s d 5 algarismos precisos.
5.3 Mtodo de Romberg
Neste mtodo vo ser utilizados os 2 mtodos dados atrs: uma das frmulas de NewtonCoates mais simples e menos precisas (a regra trapezoidal, com erro proporcional a 2 # , em 8
intervalos) e a extrapolao de Richardson, aplicada sucessivamente, para melhorar o resultado
final.
O integral primeiramente estimado com um s intervalo, sendo depois os clculos repetidos
com 2, 4, 8, etc, intervalos. Estes valores so designados M"! , M#! , M%! , M)! , etc. Na aplicao
sucessiva da regra trapezoidal compsita (Eq. 5.10), metade dos valores das funes foram j
obtidos nos intervalos anteriores e no precisam de ser recalculados. Portanto todo o processo
envolvido no mtodo de Romberg requer pouco mais trabalho computacional do que aquele
necessrio para a aplicao da ltima regra trapezoidal (na malha mais fina).
Como a regra trapezoidal de segunda ordem, estimativas melhoradas para o valor do integral
so conseguidos por extrapolao de Richardson:

M8"

%M8! M8#
!
$

-70-

O ndice inferior entre parntises designa o nvel de aplicao da extrapolao de Richardson,


estando relacionado com a melhoria de ordem que se vai atingindo. Os M8! so os integrais
iniciais (calculados com regra trapezoidal na malha com 8 intervalos) e os M8" so os valores
extrapolados, sendo j de ordem 4. possvel demonstrar que estes valores so iguais aos
obtidos com o mtodo de Simpson em 8 intervalos.
Aplicando novamente a extrapolao obtemos:

M8#

"'M8" M8#
"
"&

que representam aproximaes de 6a ordem e que j no correspondem a nenhuma regra de


Newton-Coates. Em geral, teremos

M85

%5 M85" M8#
5"
%5 "

para uma aproximao de ordem #5 ", na malha 8. A sucesso dos clculos deve ser a
seguinte de forma a optimizar o algoritmo:
Malhas/ Nveis:

I01
I12
I02

I24
I38

I14
I04

I18

I08

-71-

I28

Capttulo 6. Equaes Diferenciais Ordinrias (EDOs)


O problema resolver a equao diferencial ordinria de primeira ordem:

dC
dB 0BC

(6.1)

onde B a varivel independente e CB a varivel depedente que se pretende determinar. Este


tipo de equao evolutivo, ao longo de B, e preciso assim definir a condio inicial como:
C! CB!

(6.2)

Ao problema de resolver a EDO (6.1) conjuntamente com (6.2) costuma chamar-se um


problema de condies iniciais.
6.1 Frmulas de diferenciao
Antes de darmos os mtodos bsicos de aproximao numrica da Eq. (6.1) conveniente
revermos os mtodos bsicos de diferenciao baseados na srie de Taylor. Desenvolvendo
0B em srie de Taylor em torno do ponto B3, obtemos:
0B3" 0 B
3

0 w B3 2

0 ww B3 #

2 ....
#

Resolvendo esta equao para a derivada 0 w obtemos:


0 wB
3

0B3" 0B
0 ww B3
3
#

2
# 2 S2

Se desprezarmos todos os termos do segundo membro excepto o primeiro, temos a frmula de


diferenas progressivas (ou ascendentes), que de primeira ordem (S2) como mostra o
primeiro termo negligenciado (erro de turncatura, I 0 w :w, onde :B o polinmio que
aproxima 0B ). De forma idntica se obtm as frmulas dadas de seguida, sendo dado o erro
de truncatura em alguns casos:
Primeira derivada:
Frmulas progressivas (ascendentes):
1+ ordem

0 wB
3

0B3" 0B
3
2

I "# 20 ww 0

2+ ordem

0 wB
3

0B3# %0B3" $0B


3
#2

I "$ 2# 0 www 0

Frmulas regressivas (descendentes):

-72-

1+ ordem

0 wB
3

0B0B
3
3"
2

2+ ordem

0 wB
3

$0B%0B
3
3" 0B3#
#2

Frmulas centrais:
2+ ordem

0 wB
3

0B3" 0B3"
#2

I "' 2# 0 www 0

Segunda derivada:
Frmulas progressivas (ascendentes):
1+ ordem

0 wwB
3

0B3# #0B3" 0B
3
2#

I 20 www0 "' 2# 0 w@ (
2+ ordem

0 wwB
3

0B3$ %0B3# &0B3" #0B


3
#
2

Frmulas regressivas (descendentes):


1+ ordem

0 wwB
3

0B#0B
3
3" 0B3#
2#

2+ ordem

0 wwB
3

#0B&0B
3
3" %0B3# 0B3$
2#

Frmulas centrais:
2+ ordem

0 wwB
3

0B3" #0B0B
3
3"
#
2

" 2 # 0 w@ 0
I "#

6.2 Mtodos de passo simples


Neste tipo de mtodos, tambm designados por mtodos de dois nveis (em ingls one-step ou
two-levels), o valor de C no n 3 " depende somente do valor no n anterior. A equao
(6.1) transformada numa equao algbrica, aps aplicao dum mtodo de discretizao,
escrevendo-se genericamente da seguinte forma:

-73-

C3" C3 9 2

(6.3)

onde 2 o passo, ou intervalo, definido pela diferena entre valores sucessivos dos ns da
malha segundo B,
2 B3" B3

(6.4)

Vamos primeiramente assumir que a malha uniforme, ou seja o 2 constante. Na equao


(6.3), 9 represente um valor mdio da derivada (ou seja, da inclinao) da funo CB, entre
B3 e B3" . As expresses a utilizar para 9 distinguem os vrios mtodos, como se ver de
seguida. Em geral utilizar-se- expresses para 9 obtidas pela substituio da derivada por uma
forma de diferenas finitas.

(i) Mtodo de Euler (explcito)


Neste mtodo a derivada aproximada pela frmula de diferena de primeira ordem
ascendente,

C3" C3
dC

dB
2
de modo que a equao diferencial (6.1) se escreve
C3" C3 0 B3 C3 2

(6.5)

Este mtodo diz-se explcito porque os valores de C no novo n s dependem de valores no n


anterior. Ou seja, sendo conhecidos B3 e C3, podemos calcular directamente C3" com a
expresso (6.5). Este mtodo pode ser interpretado como usando a inclinao da curva em B3
para obter por extrapolao linear o valor de C3" .
y
erro local

yi+1
y(x i+ 1)

y(x)

yi

h
xi+1

xi

-74-

Existem dois tipos de erro de truncatura: local e global. O erro de truncatura local definido
como a diferena entre o valor numrico C3" e o valor exacto CB3" , assumindo que o valor
inicial do passo, C3, exacto, isto C3 CB
3 . Como os erros locais se vo somando de passa
para passo, medida que a integrao da EDO progride, o erro global definido como
/3 C3 CB
3 ser necessariamente maior que o erro local. O erro que interessa na
caracterizao dos mtodos para EDOs o erro global e a sua ordem de convergncia ,
normalmente, menor em uma unidade que a ordem do erro local. Relembra-se ainda que no
clculo de erros de truncatura se assume aritmtica perfeita, isto , no so considerados os
erros de arredondamento.
Resumindo:
erro truncatura global erro truncatura local propagao erros trunc. em
passos anteriores,
ou
/3 I3 ! I5
53

Na avaliao dos mtodos o erro que interessa obviamente o global. No mtodo de Euler
fcil mostrar que o erro de truncatura local dado aproximadamente por:

0 w B3 C3 #
I3
2 S2 #
#

(6.6)

e portanto a ordem do erro global ser S2, ou seja o mtodo de Euler de primeira ordem.

(ii) Mtodo de Heun


Nos mtodos que se seguem procura-se melhorar a aproximao inerente ao mtodo de Euler
explcito. No mtodo de Heun a inclinao da curva, o 9 da Eq. (6.3), em vez de ser calculada
no incio do passo, como no mtodo de Euler, calculada como a mdia aritmtica dos valores
no incio e no fim do passo. Introduzindo um valor intermdio C , podemos descrever este
mtodo como constitudo por duas partes:
(a) C3" C3 + 0 B3 C3 2
(6.7)
(b) C3" C3

"
#

* 2
0 B3 C3 0 B3" C3"

-75-

y(x)
inclinao mdia

h
xi+ 1

xi

Na parte (a) calcula-se uma primeira aproximao do valor de C3" usando o mtodo de Euler
(comparar com Eq. 6.5) e na segunda parte (b) corrige-se essa aproximao. assim um
mtodo do tipo previsor-corrector (predictor-corrector), envolvendo iterao. Seria
impossvel aplicar a equao (b) (6.7) uma vez que a inclinao depende do prprio valor da
funo no fim do passo, a incgnita principal. Podem aplicar-se tantos passos (b) quantos se
achar necessrio para garantir uma certa preciso, sendo o erro relativo aproximado entre os
valores de iteraes sucessivas controlado da seguinte forma:

C**
3" C3"
%+
>96
C
3"

Um valor tpico para a tolerncia >96 pode ser "!$ (0.1 %). Demonstra-se que o mtodo de
Heun globalmente de segunda ordem, apresentando assim uma melhoria considervel
relativamente ao mtodo de Euler.

(iii) Mtodo de Euler modificado


Este mtodo tambm designado como mtodo do polgono melhorado. Em vez de aproximar
a inclinao da curva como a semi-soma das inclinaes nos extremos do intervalo, como no
mtodo de Heun, vai ser utilizada a inclinao no ponto central do intervalo B3"# .
constituido por duas partes, usando o mtodo de Euler para prever o ponto mdio:

(a) C3"# C3 0 B3 C3 #

(6.8)
(b) C3" C3 0B3"# C3"# 2

-76-

y
y i+1
y'i+1/2

xi

x i+1/2

y' i+1/ 2

xi

xi

y(x i+1)

xi+1

Desta forma, e contrariamente ao mtodo de Heun, no necessita de iterao, sendo tambm


globalmente de segunda ordem. A constante assimpttica de erro no entanto superior do
mtodo de Heun, implicando maior erro para um dado espaamento 2 .

(iv) Mtodo de Ralston


Este mtodo definido como:
C3" C3 2 "$ 5" #$ 5#
com: 5" 0 B3 C3 e 5# 0 B3 $% 2 C3 $% 25"
sendo tambm de segunda ordem. Corresponde a uma forma dum mtodo de Runge-Kutta.
De facto os mtodos dados acima, Heun (sem iterao) e Euler modificado, correspondem
tambm a formas de Runge-Kutta de segunda ordem. O mtodo de Ralston , dos mtodos de
Runge-Kutta de segunda ordem, o que apresenta uma constante de erro menor.

(v) Mtodos Implcitos


Para melhorar a estabilidade numrica muitas vezes prefervel usar mtodos implcitos em
lugar dos mtodos explcitos dados acima. Nos mtodos implcitos o avano da soluo d
lugar resoluo de equaes, geralmente no-lineares, do tipo 0 B ! (ver Captulo 3), da
a denominao implcito. Alguns destes mtodos mais simples so:
(a) Mtodo de Euler implcito (correspondente ao Euler explcito)
C3" C3 0 B3 C3" 2

(6.9)

-77-

Mtodo de primeira ordem, / S 2 .


(b) Mtodo trapezoidal (correspondente ao Heun)
C3" C3 "# 0 B3 C3 0 B3" C3" 2

(6.10)

Mtodo de segunda ordem, / S 2 # .


(c) Mtodo do Ponto Mdio (Midpoint Rule) (correspondente ao Euler Modificado)
C3" C3 0B3"# C3"# 2

(6.11)

Mtodo de segunda ordem, / S 2 # .


Repare-se que em todas estas expresses a incgnita C3" aparece no segundo membro, o
quer implica a necessidade de resoluo duma equao implcita, como referido acima.
Uma interpretao grfica destes mtodos em termos dum integral,

d? 0>? ' d? ' 0>?d > ? ? >3"


' 0>?d>
3"
3
d>
>3
dada na figura abaixo. Nesta figura usa-se > como varivel independente, em vez de B, e
denota-se ?> >3" >3 e >! >3; o integral, do ltimo termo na equao acima, aparece
como uma rea sombreada. A funo mostrada a derivada da soluo, 0 , e no a soluo
propriamente dita, ? (como acontecia nas figuras anteriores).

Euler explcito

Euler implcito

Trapezoidal

Ponto mdio

Observe-se como nos mtodos trapezoidal e do ponto mdio o acrscimo da soluo, dado
pela rea sombreada, aproxima melhor o integral (a rea sob a curva), demonstrando uma
melhor preciso comparativamente aos mtodos de Euler.

-78-

Capttulo 7. Equaes s Derivadas Parciais (EDPs)


dada uma introduo a este tema usando somente mtodos de diferenas finitas.
7.1 Noes Essenciais: Consistnca, Estabilidade e Convergncia
Seja uma equao s derivadas parciais representada pelo operador
_Y !
e a equao discretizada (s diferenas) representada por
J38? !.
onde 3 e 8 representam os ndices nos ns duma malha (3 espao, com espaamento $B; 8
tempo, com espaamento $>). Designamos por Y a soluo exacta da EDP, por ? a soluo
exacta da equao discretizada e por R a soluo numrica.
Erro de discretizao:
Erro de truncatura:
Erro de arredondamento:
Erro total:

/ Y ? (depende de $B3 e das diferenas)


I _ Y J38Y
V? R
I>9>38 Y38 R38 / V

O erro de truncatura pode ser avaliado por meio de anlise tipo srie de Taylor dos diferentes
termos da EDP. O erro que interessa mais o de discretizao, mas o mais difcil de avaliar.
Os erros de truncatura, locais, so transportados pelo operador discretizado e vo afectar de
forma diversa os vrios pontos do domnio - o erro de discretizao vai dar uma medida do
erro global, ao contrrio do carcter local associado ao erro de truncatura. Isto torna-se claro
se escrevermos:
I _ Y J38Y ! J38Y J38/ ? J38/
ou seja:
J38/ I
equao que mostra como o erro de truncatura aparece como fonte do erro de discretizao,
que transportado (por conveco e difuso) pelo operador discretizado.

Consistncia: a equao s diferenas consistente com a EDP se o erro de truncatura


tende para zero quando $Bp! e $>p!.

-79-

Estabilidade: as equaes so estveis se os erros das equaes s diferenas decaiem de


forma controlada. As equaes s diferenas so estveis se a sua soluo exacta limitada
(bounded; no tende para infinito).
Convergncia: a equao s diferenas convergente quando ? tende para Y , num dado
ponto (3 8), se $B e $> tendem ambos para zero.

Tratamento da Estabilidade:
(i) Mtodo matricial
Designando por / a matriz (coluna) do erro, e E a matriz do operador que representa a
equao discretizada, temos:
/ 8 E8 / !
(o tempo obtido de > 8$>). H estabilidade se / se mantm limitado quando 8p_ . Para
isso os valores prprios de E devem ser menores que ":
3E max l-3l "
3
onde 3 designa o raio espectral da matriz.
(ii) Mtodo de Sries de Fourier (ou de Van Neumann)
Faz-se I:; e3" :20; e substitui-se na equao. Para garantir estabilidade devemos ter:
l0l ".

7.2 Equaes Parablicas


A equao parablica tpica, unidimensional no espao,

`? `# ?
`>
`B#

(7.1)

onde > o tempo (a coordenada parablica) e B o espao. Tanto > como B foram
adimensionalizados. A varivel dependente ? pode representar vrias quantidades dependendo
do fenmeno fsico em considerao. De notar que matematicamente tanto > com B podem ter
um significado qualquer e no estar ligados noo de tempo ou espao.

-80-

Por exemplo para a conduo de calor transiente, a equao que representa a conservao de
energia

`X

3- `>w 5

`# X
`Bw #

ou

`X ! `# X
`>w
`Bw #
com a difusividade trmica ! 5 3- (5 : condutibilidade trmica; 3: volume especfico; -: calor
especfico). Para evitar confuses, o tempo e espao dimensionais so denotados com pelica.
Se adimensionalizarmos a temperatura com X! (uma temperatura caracterstica) e o espao
com P (um comprimento caracterstico), obtemos:

" `X ! " P# `# X
X! `>w
X! P# `Bw #

#
`XX!
" ` XX!

!
`>w
P# `Bw # P#

Esta expresso mostra que o tempo caracterstico dado por P# ! (relembrar as unidades de
!, 7# =). Se denotarmos a temperatura adimensional como:
?XX !
a coordenada B adimensional como
B B w P
e o tempo adimensional como
w
# !
> >P

obtemos a equao parablica de partida Eq. (7.1), escrita na forma adimensional.

7.2.1 Mtodo explcito


Para simplificar as expresses iremos considerar somente malhas uniformes, com espaamentos
constantes no espao $B (ndice 3), e no tempo $> (ndice 8). Neste mtodo a derivada no
tempo aproximada com diferenas progressivas (ascendentes) e a derivada espacial com
diferenas centrais (ver Seco 6.1), ou seja:

?38" ?38
?3"8 #?38 ?3"8

$>
$ B#

-81-

De notar que a derivada no espao avaliada no tempo actual, 8. Agrupando os diversos


termos, de forma a colocar os valores da varivel dependente ? no novo tempo (ndice 8 ")
no membro esquerdo da equao, e os valores conhecidos do tempo actual no membro direito,
obtemos:
?38" ?38 <?3"8 # ?38 ?3"8)

com < $>$B# .

(7.2)

ou
?38" <?3"8 ?38" # < <?3"8 .

(7.3)

Este mtodo chama-se explcito porque, como se v da Eq. (7.2), permite obter o valor de ?
no novo tempo directamente de valores conhecidos do tempo anterior, atravs duma frmula
explcita (no necessrio resolver um sistema de equaes). Para garantir a estabilidade do
mtodo, isto para que erros no cresam ao longo do tempo medida que o clculo
prossegue, os coeficientes de ? na equao (7.3) devem ser todos positivos. A condio de
estabilidade assim:
!<"#

(7.4)

Esta condio implica que o passo no tempo est limitado por $> $B # # (em termos
dimensionais, para conduo de calor, d: ! $>$ B# 0.5 - ou seja, o nmero de Fourier da
malha tem de ser menor do que "#). A preciso dos resultados no espao controlada pelo
espaamento $B: temos de diminuir $B para melhorar essa preciso. A condio de estabilidade
(7.4) vai implicar uma diminuio muito mais acentuada do $> (uma vez que o $> diminui
quadraticamente com $B), o que torna o mtodo explcito pouco atraente na prtica.
O mtodo generaliza-se facilmente para o caso bidimensional no espao. A PDE de partida
agora:

`? ! `# ? `# ?
`>
`B#
`B#
e a discretizao com os mesmos tipos de diferenas (4 o ndice segundo C) d:
8 ?8
?8"
?834
?83"4 #?834 ?83"4
?834" #?34
34
34"
!
!
#
#
$>
$B
$C

A condio de estabilidade dada por:


$> "#

.
!"$B# "$C#

"

-82-

7.2.2 Mtodo de Crank-Nicolson (mtodo implcito)


Neste caso a segunda derivada no espao calculada como a mdia aritmtica das diferenas
centrais no novo tempo 8 " e no tempo actual 8, isto :

?38" ?38
?3"8" #?38" ?3"8"
?3"8 #?38 ?3"8
!&

$>
$ B#
$ B#
Agrupando termos, tal como foi feito acima para o mtodo explcito, obtemos:
<?3"8" ##<?38" <?3"8" <?3"8 ?38# # < <?3"8 .

(7.5)

Observe-se agora que o valor da varivel ? no ponto 3, no novo tempo, est implicitamente
ligado aos respectivos valores nos pontos volta, 3 " e 3 ". Deste modo a Eq. (7.5)
representa um sistema de R equaes lineares (do tipo tri-diagonal) que tem de ser invertido
para se obter os ?3 (3"R) no novo tempo, por isso o mtodo de Crank-Nicolson um
exemplo dum mtodo implcito. A condio de estabilidade obtem-se novamente forando os
coeficientes a serem positivos:
<"

(7.6)

(Nota: nesta determinao, os termos em ?3" e ?3" , no novo tempo, tm de ser transladados
para o membro direito da Eq. (7.5)). A condio (7.6) menos restritiva que a condio (7.4);
se esta condio for violada, aparecem oscilaes na soluo mas no h uma instabilidade
catastrfica, como no mtodo explcito. A vantagem do mtodo de Crank-Nicolson
relativamente aos mtodos explcito e totalmente implcito (dado de seguida) ter melhor
preciso no tempo, sendo de segunda ordem tanto no espao como no tempo:
erro truncatura, I38 S $> # S$B#
7.2.3 Mtodo implcito (geral)
Em geral, a segunda derivada pode ser calculada fazendo uma mdia ponderada (com factor " )
entre a diferena central no novo tempo (8 ") e no tempo actual (8). Escrevendo de forma
simblica, para simplificar a notao, temos:
$>?38 " < " $#B ?38" " " $#B ?38
#

(7.7)

onde $ representa uma diferena central e $# $ $. Este mtodo implcito, no sentido de


que necessita da resoluo de um sistema de equaes lineares para se obter os novos valores
de ?, desde que ! " ". Se " !, obtemos o mtodo explcito dado acima. Se " !& ,
obtemos o mtodo de Crank-Nicolson. Para " "# , a condio de estabilidade dada por:

"

< #"#"

-83-

Para " ", obtemos o mtodo totalmente implcito, que sempre estvel:
<?3"8" "#<?38" <?3"8" ?38

(7.8)

Este mtodo equivalente ao uso de diferenas regressivas no tempo, sendo de primeira ordem
no tempo (S$>).
7.2.4 Mtodo ADI (Alternating Direction Implicit)
Nos casos unidimensionais no espao, os mtodos anteriores conduzem a sistemas de
equaes tridiagonais que podem ser facilmente resolvidos com o mtodo directo do algoritmo
TDMA. J em problemas bidimensionais o sistema resultante pentadiagonal e o TDMA no
pode ser aplicado directamente. O mtodo ADI vai permitir continuar a usar o TDMA em
problemas multidimensionais, tratando implicitamente s os termos ao longo de uma
coordenada, e alternando a coordenada implcita em cada passo no tempo.
Para o caso bidimensional, o primeiro passo tempo trata de forma implcita a direco B:
1o passo:
8 ?8
?8"
?834
?8"
#?8"
?8"
?834" #?34
34
3"4
34
3"4
34"

#
#
!$ >
$B
$C

(7.9)

e no segundo passo a direco C que tratada implicitamente:


2o passo:
8# ?8#
?8#
?8"
?8"
#?8"
?8"
?8#
#?34
34
34
3"4
34
3"4
34"
34"

#
#
!$ >
$B
$C

(7.10)

Este mtodo de segunda ordem no espao e no tempo.

7.2.5 Mtodo de Douglas


um mtodo implcito, estvel e consistente para qualquer <, que utiliza diferenas de quarta
ordem no espao, resultando na equao:
"'<?3"8" "!"#<?38" "'<?3"8"
"'<?3"8 "!"#<?38 "'<?3"8
Tem um erro de truncatura de I38 S $B% S$># .

-84-

(7.11)

7.2.6 Mtodo com 3 nveis no tempo (three time-level )


semelhante ao mtodo totalmente implcito mas, com o objectivo de melhorar a preciso no
tempo, a derivada temporal calculada com diferenas regressivas de segunda ordem:

$ ?38" ?38 " ?38 ?38" ?3"8" #?38" ?3"8"


#
$>
#
$>
$ B#
Agrupando termos, obtem-se:
< ?3"8" $# #<?38" < ?3"8" # ?38

"
#

?38"

(7.12)

com erro de truncatura I38 S $B# S$># . Requer mais memria do que os mtodos
dados at agora, uma vez que preciso guardar a varivel ? no tempo anterior 8 ".
Comparativamente com o mtodo de Crank-Nicolson (ambos de segunda ordem no tempo)
mais simples de implementar e superior quando as condies iniciais so descontnuas.
Um mtodo semelhante de quarta ordem no espao, obtido do mtodo de Douglas, dado
pela equao:
" $
"# # ?3"8"

?3"8 "# ?3"8 ?3"8"

&' $# ?38" ?38 "# ?38 ?38"


" $ ?
"
"#
# 3"8" ?3"8 # ?3"8 ?3"8"

< ?3"8" # ?38" ?3"8"

(7.13)

com erro I38 S $B% S$># .

7.3 Equaes Elpticas


A equao elptica tpica a equao de Laplace ou de Poisson, por exemplo para a conduo
de calor com fontes internas:
.
f 5f X ; !

(7.14)

.
Se 5 for constante e no houver fontes de calor (; !), obtemos a equao de Laplace para o
campo de temperatura:
? X ! (com Laplaciano ? f f )
Em coordenadas Cartesianas bidimensionais (por exemplo) estas equaes escrevem-se:

-85-

(7.15)

`
`X
` `X
.
`B 5 `B `C 5 `C ; !

(7.16)

`# X `# X ! .
`B#
`B#

(7.17)

A discretizao destas equaes com diferenas finitas segue as linhas dadas acima, para as
equaes parablicas (note-se que o segundo membro da equao parablica anterior,
elptico).
A equao de Laplace ?? !, e usando diferenas centrais para as segundas derivadas
obtem-se a expresso seguinte, que vem da Eq. (7.9):

?3"4 #?34 ?3"4


?34" #?34 ?34"

!
$ B#
$ C#
Chamando " $C$B (razo de aspecto da malha), esta equao escreve-se:
#" " # ?34 " # ?3"4 " # ?3"4 ?34" ?34"

(7.18)

Para malha quadrada, " ", esta equao fica:


?34 "% ?3"4 ?3"4 ?34" ?34"

(7.19)

mostrando que o valor de ? num n da malha (3 4) igual mdia dos valores volta.
Genericamente a Eq. (7.18) representa um sistema de R equaes a R incgnitas, com matriz
pentadiagonal (no caso 2-D; teria 7 diagonais em 3-D), a ser resolvido para se obter os valores
de ?34 nos R ns da malha. A malha usada para calcular as diferenas finitas tem RB ns
segundo B, isto 3"RB, e RC ns segundo C, isto 4"RC , de forma que o
nmero total de ns R RB RC . Assim, o problema da resoluo de PDEs elpticas
reduz-se ao problema da resoluo de sistemas de equaes lineares, E B ,, que foi tratado
no Captulo 4. Como o nmero de equaes a resolver normalmente muito elevado
(tipicamente 10% ) torna-se invivel o uso de mtodos directos, e dos mtodos iterativos
deve usar-se um que aproveite da melhor forma a estrutura da matriz E. Por esta razo foram
desenvolvidos vrios mtodos iterativos para a resoluo de sistemas lineares cuja matriz
pentadiagonal, sendo alguns dos mais utilizados apresentados seguidamente.
7.3.1 ADI (Alternating Direction Implicit)
Segue a ideia dada acima no ADI para equaes parablicas (Seco 7.2.3). No caso da
equao de calor bidimensional (ver Eq. (7.16)):

-86-

` 5 `X ` 5 `X ;.
`B B `B
`C C `C
representada numa malha Cartesiana com diferenas centrais, obtemos a equao
pentadiagonal escrita na seguinte forma:
EW XW E[ X[ ET XT EIXI ERXR WT

(7.20)

onde se usa uma notao de pontos cardeais (ponto central T 3 4; ponto a este
I 3 " 4; ponto a sul W 3 4 "; etc ). fcil ver que os coeficientes so dados por:
EI 5B3 " 4? C4? B3 "
#

etc...

(7.21)

ET EI E[ ER EW
e

WT ; ? B3? C4 .

Faz-se notar que a nomenclatura aqui usada para os coeficientes EI, E[ , etc , tem sinal
contrrio ao da nomenclatura na Seco 4.2.5 (exemplo de TDMA).
Existe uma equao semelhante Eq. (7.20) para cada um dos ns da malha T (3 4) e o
sistema resultante equivalente ao sistema matricial
EB ,

(E matriz R R )

com matriz(E) matriz-pentadiagonal AI, E[, E T, EI , ER, onde ET representa a


diagonal principal, EI a diagonal imediatamente direita, E[ a diagonal esquerda, ER a
diagonal situada RB casas direita, etc (a numerao dos volumes de controlo comea em SW
do domnio e segue a ordem [pI, seguido de WpR). A matriz coluna B (R ") representa
os valores da temperatura X nos vrios ns, e a matriz coluna , representa o termo fonte WT .
O algoritmo ADI faz-se em dois passos (8 ndice de iterao):
8 "#

XT8 ) E ?B# XT
T

"

passo 1.

XT

passo 2.

XT8" XT

8 "#

8 "#

) E ?B# XT
T

"

?C# XT8 WT

8 "#

?C# XT8" WT

os operadores de diferenas centrais segundo B e segundo C so:


?B# XT EI XI E[ X[ ETB XT

-87-

(7.22)
(7.23)

(7.24)
?C# XT

ER XR EW XW ETC XT

onde: ETB EI E [ e ETC ER EW .


O parmetro de iterao ), representa um factor de sobrerelaxao, pondendo variar entre " e
um valor mnimo superior a zero, que deve ser optimizado por tentativas. Os valores
intermdios so geometricamente espaados. Estes parmetros so aplicados ciclicamente, os
maiores primeiro, sendo o mesmo parmetro aplicado nos 2 passos.
7.3.2 Mtodo de Gauss-Seidl e SOR
Estes mtodos seguem o que foi exposto nas Seces 4.3.4 e 4.3.5 que, para o caso duma
matriz pentadiagonal como (7.20), permite a escrita de frmulas iterativas muito simples.
Presume-se que a ordem de percorrer os volumes de controlo a normal ([pIWpR ).
Gauss-Seidl:
8"
XT

8"
8
WT EWXW8" E[ X[
EI XI8 ER X R

ET

(7.25)

Na prtica os novos valores de X so imediatamente escritos sobre os anteriores de forma que


no necessrio guardar 2 arrays para X 8 e X 8". O nmero de iteraes para
convergncia proporcional a R#B # (o que implica que para matrizes cheias este mtodo tem
um custo quase igual ao mtodo directo de eliminio - neste R$ $).
SOR:
8"

XT

XT = ET

(7.26)

onde o vector resduo dado por:


8

8"

VT WT ET XT EW XW

8"

E[ X[

EIXI ERXR

(7.27)

O parmetro de sobrerelaxao = deve ser superior a 1 (se = ", temos o mtodo de GaussSeidel) e menor que cerca de 1.7, embora o valor mximo seja dependente do problema. Se =
for superior ao =max o processo diverge rapidamente; se for menor, converge mais devagar. A
paragem das iteraes faz-se controlando o decaimento da norma do resduo, sendo usado um
critrio de paragem do tipo:
mVm m V! m %tol

(com %tol 10% )

onde V! o resduo inicial (na iterao 0). Pode usar-se a norma P" :

-88-

mVm ! lVT l
R

T"

ou a norma P# :
mVm ! lVT l#
R

"#

T"

7.3.3 Mtodo fortemente implcito de Stone (SSIP=Stone's Strongly Implicit


Procedure).
Para resolver o sistema
EB ,
~
~ ~~
utiliza-se uma aproximao para E, E E Ew , tal que a decomposio LU de E PY
seja fcil de obter. A resoluo faz-se ento por iterao:
~
~
~
E B8" E B8 EB8 , E $ B <8
com incremento $B B8" B8 e resduo < , EB. Com a decomposio LU
(diag(Y ) ") este ltimo sistema resolve-se rapidamente por substituio progressiva e
regressiva:
~ ~
~
PY $ B <8 P C <8
~
Y $B C

C (um vector auxiliar)


$ B.

(7.28)
(7.29)

A ideia para se obter uma boa aproximao LU matriz original, quando esta penta-diagonal,
explicada por Stone (SIAM J. Num. Analysis, 5 (1968), p. 530) e, usando a notao da
seco anterior, equivale a:
~
~ ~ ~
matriz P matriz com 3-diag(PW , P[, PT )
(na mesma posio do que as correspondentes diagonais em E
~
~ ~
matriz Y matriz com 3-diag(", Y I, Y R)
(a diagonal principal unitria)
~
~
os valores de P e de Y so obtidos sucessivamente (percorrendo os ns no sentido habitual,
[pI seguido de WpR ) atravs das seguintes equaes:
~
~
PW EW " = Y IW
~
~
P[ E[ " = Y R[
~
~ ~
~ ~
~ ~
~ ~
PT ET =PW YI W P[ Y R[ PW Y R W P[ Y I[
~
~ ~
~
Y I EI = PW YIW PT

-89-

(7.30)

~
~ ~
~
Y R ER =P [Y R[ PT
Faz-se notar que, seguindo a ordenao usual, quando se est num n genrico T , o valor de
YR no n a Sul ou a Oeste (isto , o YRW ou YR[) so j conhecidos; o mesmo
acontece para o PI do n a Oeste (PI[). O parmetro = serve para sobrerelaxar o
processo e deve ser determinado por tentativas, devendo estar entre 0 e 1.
O matriz resduo, na notao de compasso, obtida de:
VT WT EW XW E[ X[ EIXI ERXR ET XT

(7.31)

A Eq. (7.28) a ser resolvida por substituio progressiva (directa) pode ser escrita
explicitamente como:
~
~
~
]T VT PW ]W P[ ][ PT

(7.32)

onde ] um array auxiliar, usado para a resoluo por substituio regressiva (inversa) da Eq.
(7.29), que se escreve:
~ w
~
XTw ]T PRXR
PI XIw .

(7.33)

Nesta equao X w representa a correco a efectuar na temperatura (o incremento de


temperatura), de forma que a temperatura na nova iterao ser:
8"

XT

XT

XTw .

(7.34)

O algoritmo constitudo pelas seguintes operaes:


~ ~ ~ ~ ~ ~
~
Calcular as diagonais de P e Y : PI, P[, PT , Y I, e Y R, Eqs. (7.30);
Estes valores no se alteram durante o processo iterativo, desde que = se
mantenha constante;
Avanar o contador de iterao 8 e repetir os seguintes passos at norma do
resduo diminuir de cerca de 10% relativamente ao resduo inicial:
88"
para 4 ", ..., RC
para 3 ",..., RB
calcular os resduos VT , Eq. (7.31);
resolver a Eq. (7.32) e obter a vriavel auxiliar ]T ;
fim ciclo 3
fim ciclo 4
para 4 RC , ..., 1
para 3 RB, ..., 1

-90-

resolver a Eq. (7.33) para os incrementos de temperatura,


XTw ;
corrigir as temperaturas, Eq. (7.34);
fim ciclo 3
fim ciclo 4
Para que no se previlegie a direco B relativamente C, nas iteraes pares o processo segue
este algoritmo, e nas iteraes mpares os ciclos 4 e 3so trocados, assim como a sua ordem.
7.3.4 Mtodo do Gradiente Conjugado Simtrico (CGS)
Este mtodo aplica-se a matrizes simtricas definidas positivas. Estas matrizes aparecem em
muitos problemas elpticos envolvendo processos de difuso (de calor, por exemplo); a matriz
da Seco 7.3.1 definida positiva. A matriz para a presso ou correco de presso, que
aparece em muitos mtodos da dinmica de fluidos computacional, tambm positiva definida.
Quando existem termos convectivos nas EDPs, as matrizes resultantes j no so simtricas
mas o mtodo aqui apresentado pode generalizar-se para esses casos.
Este mtodo baseado em ideias de minimizao, sendo que a resoluo do sistema
EB,
equivalente ao problema de encontrar o mnimo da funo quadrtica
8
8
8
J "# BX E B BX , #" ! ! +34 B3B4 ! B3,3
3"4"
3"

relativamente a todos os B3. Isto pode ser verificado calculando-se a derivada `J`B3 e
igualando-a a zero.
O mtodo do conjugado gradiente (ver Hestenes e Stieffel, J. Res. Nat. Bur. Standards, 49
(1952), p.409) na sua forma bsica aplicvel a matrizes no estruturadas e resulta no seguinte
algoritmo:
para iterao zero, 5 !, fazer: <! , E B! ; : ! 0; =! 1!$!
avanar o contador de iterao: 5 5 "
Calcular:
= 5 <5" <5"
" 5 = 5 =5"
: 5 <5" " 5 : 5"
!5 = 5 : 5 E: 5
B5 B5" !5 : 5
<5 <5" !5 E: 5
Repetir at convergncia.

-91-

Este algoritmo necessita de % arrays (matrizes coluna de dimenso R): < , :, E: e B. Aplicado
desta forma o algoritmo no muito eficaz, tornando-se necessrio pre-condicionar a matriz E
de forma a diminuir o nmero de condio da matriz resultante. O precondicionamento consiste
em multiplicar a equao original por uma matriz G " que deve ser fcil de inverter. Deste
modo temos o problema modificado:
G " EG " G B G " ,
e o mtodo do gradiente conjugado aplicado matriz G " EG " . O algoritmo modificado
s ligeiramento mais complexo do que o anterior, ficando:
para iterao zero, 5 !, fazer: <! , E B! ; : ! 0; =! 1!$!
avanar o contador de iterao: 5 5 "
resolver o sistema G " D5 <5-1
Calcular:
= 5 <5" D5
" 5 = 5 =5"
: 5 D5 " 5 : 5"
!5 = 5 : 5 E: 5
B5 B5" !5 : 5
<5 <5" !5 E: 5
Repetir at convergncia.
preciso um outro array, D, que de facto pode ser armazenado sobre Ap. A matriz de
precondicionamento G obtida por decomposio LU incompleta (ILU), sendo a sua diagonal
calculada de incio, fora do ciclo iterativo. A parte de resoluo do sistema precondicionado
para se obter D feita de forma expedita, por substituio inversa e directa uma vez que a
decomposio G PHY conhecida.

-92-

Potrebbero piacerti anche