métodos numéricos em engenharia

92
-1- Universidade da Beira Interior Mestrado em Engenharia de Sistemas de Produção e Conservação de Energia MÉTODOS NUMÉRICOS EM ENGENHARIA Paulo Jorge Pimentel de Oliveira 1999/2000

Upload: hoangbao

Post on 10-Jan-2017

231 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Métodos Numéricos em Engenharia

-1-

Universidade da Beira Interior

Mestrado em Engenharia de Sistemasde Produção e Conservação de Energia

MÉTODOS NUMÉRICOS EM ENGENHARIA

Paulo Jorge Pimentel de Oliveira1999/2000

Page 2: Métodos Numéricos em Engenharia

-2-

Conteúdo página1. Análise de erros ....32. Interpolação ....233. Raízes de equações não-lineares ....344. Sistemas de equações lineares ....495. Integração numérica ....616. Equações diferenciais ordinárias ....727. Equações às derivadas parciais ....79

Bibliografia e fontes

Numerical Methods for Engineers, S. C. Chapra e R. P. Canale, 2 edição, McGraw-Hill,a

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

Métodos Numéricos, M.R. Valença, INIC, Braga (1990).

Numerical Recipes: The Art of Scientific Computing, Cambridge Univ. Press (1986).

Page 3: Métodos Numéricos em Engenharia

-3-

Capítulo 1. Análise de Erros

1.1 Tipo de Erros

(a) Erros de modelização - inerentes à matematização do fenémeno físico usando ummodelo matemático; limitações devidas ao nosso desconhecimento do fenómeno, ou por desejode limitar as influências em causa, de forma a simplificar o estudo. Exemplos: • aproximação da mecânica clássica em comparação com a mecânica relativista, paraÐ?Î-Ñ ¥2 1. • modelos de turbulência: 2-equações; tensões 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 (precisãofinita desses instrumentos) e à utilização de números irracionais ( , , , etc) ou fraccionários.1 r# /

(c) Erros de método ou de truncatura - resultam da substituição de um modelomatemático (que poderia ser exacto) por um processo de cálculo aproximado. Dependem doprocesso de cálculo ou algoritmo utilizados. Exemplos: • substituição de derivadas por razões incrementais; • substituição de integrais por somatórios; • substituição de séries por somas finitas de termos;

(d) Erros de arredondamento - inerentes à limitação dos aparelhos de cálculo, queterão de usar um número finito de algarismos para representar um resultado numérico. Domesmo modo, depois de uma operação aritmética elementar ( , , , ) existe sempre um� � ‡ Îarredondamento do resultado. Dependem do instrumento de cálculo.

Exemplo 1: Cálculo do perímetro duma circunferência, .: œ # V1

O algarismo é um número exacto com representação exacta. A constante é um número# 1exacto com representação limitada. O raio depende da precisão da medição: para uma fitaVmétrica graduada em centímetros vem m.Vœ"Þ#'

Como o erro de é de 1 cm (arrendodamento por corte) é óbvio que não faz sentido dar oVvalor do perímetro com uma precisão melhor que 1 cm. Assim é inútil usar muitas casasdecimais para , pois o resultado virá com muitos algarismos desprovidos de significado. Se11 œ$Þ"%"' :œ(Þ*"')$# *, vem m, em que os algarismos depois do não têm significado.

Page 4: Métodos Numéricos em Engenharia

-4-

Exemplo 2: Influência da precisão do instrumento de medida. Calcular a área duma salarectangular com comprimento 3 m e largura 4 m. A área será de, aproximadamente,P œ L œE ¸ P ‚ L œ $ ‚ % œ " # m .2

Se a medição dos comprimentos for feita com uma régua graduada em metros, teremos umaimprecisão de m e o valor da área será::„!Þ&

m .EœÐ$„!Þ&Ñ‚Ð%„!Þ&Ñœ"#„$Þ(& #

Com uma régua graduada em cm, a imprecisão é de cm e o valor da área será agora:„!Þ&

m .EœÐ$Þ!!„!Þ!!&Ñ‚Ð%Þ!!„!Þ!!&Ñœ"#Þ!!„!Þ!$& #

com uma precisão muito maior.

Exemplo 3: Influência do processo de cálculo (erro de método). Dados , e+œ#"Þ%' , œ $Þ*"-œ$Þ"% B œ +Ð, � -Ñ C œ +, � +-, calcular e , usando uma máquina com 2 casas decimais:

21.46 (3.91 3.14) 21.46 7.05 151.29B œ ‚ � œ � œ

21.46 3.91 21.46 3.14 83.90 67.38 151.28C œ ‚ � ‚ œ � œ

Como se vê os resultados são ligeiramente diferentes ficando demonstrado que a propriedadedistributiva não se verifica no cálculo aproximado. Podemos dizer que o resultado é maisBpreciso que . Iremos ver que o mesmo acontece com a propriedade associativa, não sendoCindiferente a ordem pela qual é efectuada uma soma de vários termos (isto é éB œ + � Ð , � - Ñdiferente de , podendo essa diferença ser grande quando se somam muitosC œ Ð + � , Ñ � -números).

É conveniente distinguir os dois conceitos seguintes (dados aqui em inglês), relacionados com“imprecisão” ou “erro”:

• dum resultado ou duma medida: o intervalo de incerteza é menor (erroPrecisionentre 2 medições é pequeno).

• (precisão; exactidão) dum resultado: está perto do resultado exacto (o erroAccuracyverdadeiro é pequeno).

1.2 Conceitos Fundamentais

Sendo um valor exacto e uma representação aproximada, chamamos-B B

Page 5: Métodos Numéricos em Engenharia

-5-

: (1.1)-Erro absoluto I œ lB�Blw

: , tal que: (1.2)- -Majorante do erro absoluto I   I B � I Ÿ B Ÿ B � Iw

Normalmente não é conhecido pelo que o valor exacto do erro absoluto não pode serB Iw

determinado. Assim é natural ter de se estimar o valor máximo que esse erro pode tomar (limitesuperior de ) e muitas vezes, por abuso de linguagem, chama-se erro absoluto ao seuIw

majorante, . O erro absoluto pode não ser um bom indicador da precisão dum resultado, nãoIpossibilitando a comparação de resultados diferentes. Por exemplo, se a distância entre duascidades for km, e a distância entre dois pontos for medida como 3.5 0.5. œ $ ! „ " . œ „ABcm, ficamos sem saber qual destes valores tem melhor precisão. Para resolver esta dificuldadeintroduz-se a noção de:

: (com ) (1.3)Erro relativo %w œ œ B Á !IlBl lBl

lB�Blw -

e : . (1.4)Majorante do erro relativo % %  w

No exemplo acima temos que para a distância entre cidades o (majorante do) erro relativo éaproximadamente 3.3 %, e o erro relativo da distância entre A e B é% ¸"Î$!œ% ¸ Î œ0.5 3.5 14.3%. Portanto neste caso concluímos que a precisão do primeiro resultado ésuperior à do segundo.

Como para o caso dos erros absolutos, é também comum denotar por “erro relativo” o que defacto é o majorante do erro relativo.

Relações entre majorantesPrimeiro problema: temos um valor aproximado e o seu erro absoluto , e pretendemos-B Isaber o erro relativo. Por definição:

% %  œw IlBl

w

Majorando o numerador , e minorando o denominador , obtemos a relação-I Ÿ I B � I Ÿ Bw

pretendida:

(1.5)% œ IB�I-

Segundo problema: conhecido um valor aproximado e respectivo erro relativo , determinar-B %o erro absoluto. Por definição:

I   I œ † Bw w%

Page 6: Métodos Numéricos em Engenharia

-6-

Majorando as duas parcelas deste produto obtemos:

-I œ ÐB�IÑ%

que dá a relação pretendida:

. (1.6)-I œ B%%"�

Como normalmente os erros são pequenos quando comparados com os valores aproximados,recorre-se frequentemente às seguintes aproximações:

( ) (1.7)-% œ ¸ I ¥ BI IB�I B- -

( ). (1.8)- -I œ B ¸ B ¥ "%%"� % %

Observe-se que as relações exactas entre majorantes do erro não são interdependentes (não sepode obter uma a partir da outra) mas que as relações aproximadas são inter-dependentes.Com estas relações exactas, os valores dos erros relativos no exemplo anterior seriam, para adistância entre cidades 3.4% (em vez de 3.3%), e entre os pontos A e B,% œ"Î#*œ% œ Î œ0.5 3.0 16.7% (em vez de 14.3%).

Algarismos significativosUm algarismo de um número aproximado é significativo se o erro absoluto desse número forinferior ou igual a meia unidade da casa decimal em que o algarismo se encontra. Um algarismosignificativo não pode ser zero a não ser que, à esquerda desse algarismo, exista um outroalgarismo significativo não nulo.

Exemplos:

(i) 397.74 0.05„ 397.74-B œ 0.05I œ

algarismo posição meia unidade da pos comparação com Conclusão

significativo

significativo

significati

.3 100 50 0.059 10 5 0.057 1 0.5 0.05

I

��� vo

significativo

não é signif

7 0.1 0.05 0.054 0.01 0.005 0.05 .

œ�

Page 7: Métodos Numéricos em Engenharia

-7-

(ii) 0.01078 0.00008„ 0.01078-B œ 0.00008I œ

algarismo posição meia unidade da pos comparação com Conclusão

não é signif.

significativo

signi

.0 0.1 0.05 -1 0.01 0.0050 0.001 0.0005

I

� I� I ficativo

não é signif.

não é signif

7 0.0001 0.000058 0.00001 0.000005 .

� I� I

O algarismo significativo mais à esquerda é o mais significativo, e o mais à direita é o menossignificativo.

Algarismos exactos: são aqueles que se mantêm invariáveis em todo o intervalo de variaçãoda grandeza.

Exemplo: 29.2 0.5 28.7 29.7- -B œ „ Ê Ÿ B Ÿ

Assim, o algarismo 2 é exacto mas o 9 já não é, embora seja significativo.

1.3 Representação dos Números e Erros de Arredondamento

A representação de números inteiros não oferece dificuldade e pode ser feita exactamentedesde que a máquina de cálculo possa guardar todos os algarismos que compõem o número.Para números reais a representação pode ser em vírgula fixa, por ex. 3.14159, 123.4567,0.0014 (Nota: aqui e em todo o texto usa-se o ponto . para representar a vírgula). Neste tipode representação é predefinido o número de dígitos da parte inteira e da parte decimal daquantidade em causa. É óbvio que este tipo de representação pode não garantir a ordem degrandeza dos números. Por exemplo, o valor 10500.12 não pode ser representado em vírgulafixa, sem que ocorra uma deturpação da sua ordem de grandeza, numa máquina que só retenha4 dígitos para a parte inteira.

Por esta razão a representação mais comum é a de , ou ,vírgula flutuante floating-pointtambém chamada de representação científica:

(1.9)-B œ 7 ,/

Aqui é a mantissa (com dígitos), a base (iremos usar sempre a base 10, nos cálculos7 : ,manuais) e o expoente (com dígitos, tipicamente 2). Para se definir completamente esta/ ;

Page 8: Métodos Numéricos em Engenharia

-8-

representação é preciso ainda dizer qual o tipo de arredondamento, simétrico ( ) ou por corteE( , por vezes chamado truncatura). Esta representação costuma denotar-se sinteticamente porXJ Ð : ; , E J : ; , X œ J E, , , ) ou ( , , , ). Por exemplo, representar 3.14159... em (5,2,10, ):1

0.31416 101 ¸ ‚ 1

Se fosse (5,2,10, ), seriaJ X

0.31115 10 .1 ¸ ‚ 1

Em ambos os casos o número está numa , o que quer dizer que orepresentação normalizadaprimeiro algarismo da mantissa é diferente de zero. Por ex., 0.001305 10 escreve-se‚ �$

0.1305 10 em representação normalizada. Desta forma temos sempre 0.1 1 (na‚ Ÿ 7 Ÿ�&

base 10).

No caso mais comum um número real não é representável exactamente num sistema de vírgulaflutuante. Para a sua representação aproximada recorre-se ao arredondamento, que pode sersimétrico (o ultimo algarismo da mantissa é “arredondado” para o valor mais próximo: ou ficaigual, ou vem somado de uma unidade; se estiver a igual distância, deve ficar par), ou por corte(desprezam-se os algarismos a mais na mantisssa).

Das operações aritméticas em vírgula flutuante podem também resultar números nãorepresentáveis que terão de ser arredondados. Na soma, o número com menor expoente deveser desnormalizado de forma a ficar com um expoente igual ao da outra parcela.

Por exemplo, considere-se a soma de 135.7 e 24 num sistema (4,2,10, ) (isto éB œ B œ J X1 2com 4 dígitos na mantissa e arredondamento por corte).

1 - Normalizar as parcelas:o

0.1357 10B œ ‚13

0.2400 10B œ ‚#2

(repare-se que neste caso os números poderam ser representados exactamente; não foiintroduzido nenhum erro de arredondamento)

2 - Desnormalizar a mantissa do número com menor expoente:o

0.1357 10B œ ‚13

0.0240 10B œ ‚#3

3 -Somar as mantissas:o

0.1597 10 .B œ B � B œ ‚3 1 23

Page 9: Métodos Numéricos em Engenharia

-9-

Neste caso não foi introduzido nenhum erro de arredondamento devido à representação doresultado em vírgula flutuante. O normal, no entanto, é que apareça esse tipo de erro como sevê dos dois exemplos seguintes.

Exemplo (a) Somar 324.1 e 9.23.B œ B œ1 2

A representação normalizada de cada parcela é:

0.3241 10B œ ‚13

0.9230 10 0.0092(3) 10B œ ‚ Ê B œ ‚#1 3

2

Na desnormalização de o último algarismo é perdido (por corte). A soma fica:B2

0.3333 10 .B œ B � B œ ‚3 1 23

com um erro de arredondamento exacto de 0.00003 10 ( 0.0001 10 ).‚ Ÿ ‚3 3

Somar 95.74 e 86.53.Exemplo (b) B œ B œ1 2A representação normalizada de cada parcela é:

0.9574 10B œ ‚12

0.8653 10B œ ‚#2

e a soma fica:

1.8227 10 .B œ B � B œ ‚3 1 22

Este número não está normalizado. A normalização implica:

0.1822(7) 10 0.1822 10 .B œ ‚ œ ‚32 2

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 número em causa (2 no exemplo acima).‚ >>�:

É fácil verificar que o majorante do é dadoerro absoluto em arredondamento por corte por:

(1.10)I œ"!corte>�:

e em é metade deste valor: arredondamento simétrico

10 . (1.11)I œsimétrico" >�:#

Page 10: Métodos Numéricos em Engenharia

-10-

Neste caso a mantissa será dada por 0.xxx.... (x representa um algarsmo não nulo) e umminorante é 0.1; deste modo o majorante do erro relativo vem:

(pois 10 0.xxx... 10 10 0.1 10 10 ) (1.12)%corte œ 10"�: >�: > >�: "�:Î ‚ � Î ‚ œt

e (1.13)%simétrico œ " "�:

# 10

Como se vê o erro relativo máximo de arredondamento (simétrico ou corte) não depende dotamanho dos números envolvidos, mas somente da base, do tipo de arredondamento e dacapacidade da máquina (número de dígitos da mantissa, ). A esse valor costuma chamar-se:unidade de arredondamento da máquina, ; assim, 10 (em arredondamento por corte)? ? œ "�:

ou 5 10 (em arredondamento simétrico). Na prática 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 precisão simples e ¸ ¸"!�) �16

para precisão dupla.

Para terminar este parágrafo chamamos a atenção para o fenómeno do cancelamentosubtractivo, que dá lugar aos mais graves problemas de perda de algarismos significativos eaparecimento de erros no cálculo numérico.

Subtrair os números 0.9548 10 e 0.9547 10 .Exemplo (c) B œ ‚ B œ ‚1 26 6

Temos:

0.0001 10 0.1000 10 .B œ B � B œ ‚ œ ‚3 1 26 3

Os três zeros que aparecem à direita do algarismo 1 não têm significado, embora em operaçõesque se possam seguir esses zeros sejam tomados como algarismos significativos. Se fosseB1igual a 0.9548999 10 o resultado da subtracção teria sido igual, devido ao arredondamento‚ 6

por corte de . O resultado correcto, usando dupla precisão para reprentar as parcelas, teriaB1sido 0.0001999 10 0.1999 10 (e agora o resultado está já expresso com 4B œ ‚ œ ‚3

6 3

Page 11: Métodos Numéricos em Engenharia

-11-

algarismos na mantissa). Ou seja, esta subtracção de dois números muito parecidos deu azo aum erro relativo de 50%!

NOTA 1. Da definição de algarismos significativos, torna-se claro que todos os dígitios dumamantissa obtida por arredondamento simétrico dum dado número exacto são significativos.

NOTA 2. Existem dois teoremas que permitem relacionar os algarismos significativos com oserros relativos e que são aqui dados sem demonstração:

Teorema-1: Se um número aproximado 10 tem algarismos significativos-B œ 7 ‚ 8: >

(mantissa com dígitos), então um majorante do erro relativo é 10 .: œ œ & ‚ " !% 12

"�8 �8

Teorema-2: Se tem erro 10 então tem, pelo menos, algarismos significativos-B Ÿ 8% 12

�8

1.4 Propagação de Erros de Arredondamento

A questão é saber como se propagam os erros existentes nos números que fazem parte de umcálculo aritmético. Interessa saber se esses erros vão ser ampliados ou reduzidos, e quais asoperações do cálculo que maior influência têm na amplificação dos erros. Um exemplo típico jámencionado, que aparece frequentemente, é o da subtracção de dois númerosaproximadamente iguais; mesmo que esses números estejam afectados de erros pequenos,esses erros irão ser desproporcionalmente aumentados depois dessa subtracção.

O fórmula fundamental do cálculo da propagação de erros pode ser obtida do teorema dovalor médio, ou do teorema de Taylor. O primeiro permite escrever, para uma função contínuade várias variáveis, , , ... , , a seguinte expressão:0ÐB B B Ñ1 2 8

, , ... , , , ... , 0ÐB � 2 B � 2 B � 2 Ñ � 0 Ð B B B Ñ œ 0 ÐB � 2 Ñ † 21 1 2 2 1 28 8 8 w3 3 3!

3 œ "

8)

onde . Esta expressão é equivalente, para o caso unidimensional, a afirmar que entre! Ÿ Ÿ ")dois pontos e , existe um ponto tal que . A representação+ , - 0 Ð-ÑœÐ0Ð,Ñ�0Ð+ÑÑÎÐ,�+Ñw

0 ÐBÑ´`0Î`B B 2w3 3 indica a derivada parcial em relação a . Se considerarmos os acréscimos i

como erros em ( ), e o acréscimo de no lado esquerdo da igualdade acima como oB B 0?correspondente erro de ( ), temos:0 0?

,? ) ?0 œ 0 ÐB � 2 Ñ † B!3 œ "

8 w3 3 3

ou, majorando ambos os termos,

,l 0 l œ l 0 ÐB � 2 Ñ † B l Ÿ l0 ÐB � 2 Ñ l † l B l? ) ? ) ?! !3 œ " 3 œ "

8 8w w3 3 3 3 3 3

Page 12: Métodos Numéricos em Engenharia

-12-

que podemos escrever como:

. (1.14)I œ l0 l † I0wB Q B!

3 œ "

8

3 3

onde representa um majorante das derivadas parciais. Esta é a fórmula fundamental doQcálculo de erros.

Uma maneira expedita de nos recordarmos desta fórmula é através da diferenciaçâo total dumafunção de várias variáveis, ),0ÐB3

d d .0 œ B! `0`B 33

Assumindo que diferenças representam erros e majorando a soma, obtemos:

(1.15)I œ l l † I3

0`0`B Q B!

3 3

Exemplo: Calcular a precisão com que é medida a área dum círculo com raio 1.25 m. AV œárea será obtido de:

3.14 1.25 4.90625 m .E œ V œ ‚ œ1 # # #

Assumindo arredondamento simétrico, temos a seguinte estimativa dos erros envolvidos:

1.25 0.005 mV œ „ 3.14 0.002 .1 œ „

Aplicando a fórmula fundamental de propagação de erros, obtemos:

I œ Ð# VÑ I �ÐV ÑI œE VQ#1 1

2 3.142 1.255 0.005 1.255 0.002 0.04258215 m ,œ Ð ‚ ‚ Ñ � Ð Ñ ‚ œ# #

onde se usou uma máquina sem limitações na aritmética. Com este erro para o valor da área Edado acima, vemos que o algarismo 9 ainda é significativo, mas o 0 que se segue já o não é.Deste modo pode escrever-se:

4.906 0.042 m , ou mesmo 4.91 0.04 m .E ¸ „ E ¸ „# 2

Page 13: Métodos Numéricos em Engenharia

-13-

A estimativa da propagação do erro também se poderia ter feito sem majoração das parcelas(na prática essa majoração pode ser difícil de se conseguir). Neste caso obteríamos:

2 0.03925 0.003125 0.042375 0.042 m$ 1 $ $1E ¸ V V � V œ � œ ¸ ##

uma estimativa igual à aproximação utilizada antes para . A fórmula de propagação de errosIEpermite ainda ver quais são os termos responsáveis pelo erro final. No presente exemplo oerror na medição do raio contribui em 93% para o erro final.

Aplicação da fórmula de propagação de erros às operações elementares

(a) Soma: C œ B � B" #

Obtemos: I œ I � IC B B" #

e % % %C B Bœ œ Ð Ñ � Ð ÑIC B �B B �B

B BC " #" # " #" #

Conclui-se que, no caso da soma, o error absoluto é a soma dos erros das parcelas e o errorelativo está afectado por factores de peso que dependem dos valores das parcelas. Fazemosnotar que o erro aqui deduzido inclui o efeito dos erros das parcelas mas não inclui o erro dearredondamento decorrente da operação propriamente dita. Esta induz um erro relativo dearredondamento, que deve ser acrescentado ao erro relativo dado acima (ver secção seguinte).

(b) Diferença: (assume-se que )C œ B � B B � B" # " #

Obtemos: (igual à soma)I œ I � IC B B" #

e % % %C B Bœ Ð Ñ � Ð ÑB B

B �B B �B" #

" # " #" #

Quando é só ligeiramente superior a , os erros das parcelas são grandemente aumentadosB B" #(amplificação dos erros relativos): fenómeno de cancelamento subtractivo.

(c) Produto: C œ B † B" #

Obtemos, aproximadamente:

I œÐB Ñ I �ÐB Ñ I ¸ B I � B IC B B B B# " # "Q Q" # " #e % % %C B B B Bœ Ð Ñ I � Ð Ñ I œ �

B BB †B B †B

# "" # " #" # " #

Page 14: Métodos Numéricos em Engenharia

-14-

(d) Quociente: C œBB

"#

Obtemos:

I œ l I � l IC B B"B

BB#

"

##l l " #

e .% % %C B Bœ �" #

Uso de grafos para calcular a propagação de erros

O estudo de propagação de erros, no caso de operações complexas, faz-se mais facilmenterecorrendo a grafos. Nestes, os nós representam as operações que se pretendem efectuar,começando de baixo para cima. Os primeiros nós, fazem a introdução dos valores das parcelas( , , , etc). Os ramos, que unem os nós, transportam não só os valores dos resultados dasB C Doperações, como também os erros relativos que vão sendo transportados. O cálculo dos errosrelativos faz-se simplesmente anotando nos ramos, que multiplicados pelos valores dospesoserros a transportar, dão o erro total. Nos nós, deve ser adicionado um erro relativo devido àoperação em si.

Os pesos nos ramos são obtidos facilmente das expressões para as operações elementares,obtidas acima. Assim, para um nó , onde chegam valores vindos dum nó e um outro , o� B Cramo para o primeiro deve estar anotado com um peso , e o segundo comBÎÐB�CÑCÎÐB�CÑ † ƒ ". Para um nó multiplicativo , ou divisão , os pesos são simplesmente .

Exemplo-a: propagação de erros no cálculo de ? œ Ð B � C Ñ † D

x y

+

.

z

u

x/(x+y) y/(x+y)

+1 +1

O resultado é: % % % % % %? B C D" # ,œ " ‚ Ð Ñ � Ð Ñ � � " ‚ �Š ‹B

B�C B�CC

Page 15: Métodos Numéricos em Engenharia

-15-

onde é o erro introduzido na soma, e o erro introduzido na multiplicação. Este erros são% %" #tipicamente iguais à unidade de arredondamento do instrumento utilizado no cálculo (porexemplo, para arredondamento simétrico, com algarismos signicativos, fica:% %" #

�:�" �:œ œ ! & ‚ " ! œ & ‚ " !. ).

Exemplo-b: propagação de erros na soma de 4 números exactos, = œ B � B � B � B" # $ %

x1 x2

+

+

x3

+

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

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

x4

s

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

O erro absoluto da soma, considerando que os números estão inicialmente desprovidos deerros (isto é, ), é%B3 œ !

I œÐ$B �$B �#B � B Ñ ‚ & ‚ "!= " # $ %�$

onde o instrumento usa algarismos na mantissa. Este resultado é importante porque mostra$que os primeiros números a serem somados contribuem mais para o erro total do que osúltimos. Por isso, as somas devem começar com os números mais pequenos.

Algumas técnicas para evitar o cancelamento subtractivo

(a) (para valores grandes de ) (1.16)ÐB�"Ñ � B œ B"Î# "Î# "ÐB�"Ñ �B"Î# "Î#

(b) sin sin sin sin (para pequeno) (1.17)ÐB� Ñ � B œ # ÐB� Î#Ñ Ð Î#Ñ% % % %

(esta fórmula vem de: sin sin cos sin )+ � , œ # +�, +�,# #

(c) ... (para pequeno)(1.18)sinB B B B BB $x &x (x Ð#8�"Ñxœ " � � � � Ð � " Ñ B

# % ' #8�#� 8�"

(por desenvolvimento assimptótico de sin )B

Page 16: Métodos Numéricos em Engenharia

-16-

(d) ln ln (para pequeno) (1.19)ÐR � BÑ � ÐRÑ ¸ B#B#R�B

(do teorema do valor médio, )0 Ð Ñ ¸w B �B#

" # 0ÐB Ñ�0ÐB ÑB �B# "

# "

Problema inverso da propagação de erros• O problema directo, considerado até aqui, pode ser enunciado assim: dada uma função (querepresenta um problema, ou um algoritmo), , em que cada está afectado dum erro0 Ð B Ñ œ ! B3 3I I 03 3, determinar o efeito destes sobre o erro do resultado :

(1.20)?0 Ÿ I œ l l † I0 3Q!3 œ "

8 `0`B3

• O problema inverso é saber qual a precisão requerida aos “ ” (de medida, ou deinstrumentoscálculo), os , para garantir determinada precisão ao resultado final, (dado):I I3 0

I   l l † I0 3Q!3 œ "

8 `0`B3

Este problema é indeterminado porque temos incógnitas (os ) mas uma só inequação. A8 I3sua resolução necessita de hipóteses adicionais, sendo usual adoptar algum dos seguintescritérios:

(i) erros iguais: (por exemplo, se estas quantidades tiverem sidoI œ I œ Þ Þ Þ œ I" # 8medidas com o mesmo instrumento).

(ii) contribuições iguais, de cada parcela para o erro total, isto é:

(1.21)l l I Ÿ`0`B 8

I3

0Q 3

(iii) contribuições ponderadas; como o anterior, mas cada parcela está afectada dumpeso diferente, que dependerá do problema e da avaliação de quem o resolve.

Estudo estatístico dos erros de arredondamentoDevido às muitas majorações que se efectuam no estudo de propagação de erros, a estimativaobtida através da lei fundamental tende a ser conservativa. A compensação de erros emcáculos repetidos tende a provocar cancelamento dos mesmos e menor erro total. Umaabordagem diferente do problema de avaliar o erro dum cálculo complexo, é através demétodos estatísticos. Damos de seguida um só resultado, respeitante à estimativa dos errosnuma soma de parcelas.8

Page 17: Métodos Numéricos em Engenharia

-17-

Se for assumida uma distribuição Gaussiana para os erros de arredondamento, pode serdemonstrado que o erro provável na soma de números vem dado por:8

I º 8!Þ'("#È È

Ou seja, o erro provável é proporcional à raiz quadrada do número de parcelas, enquanto queo método anterior, com majorantes, dá uma estimativa do erro proporcional a . Para 8 8grande, a diferença nestas duas estimativas do erro vai ser substancial.

1.5 Estabilidade Numérica e Acondicionamento

Já se viu que alguns cálculos numéricos são muitos sensíveis a erros de arredondamento,enquanto outros são menos sensíveis (exemplo: cancelamento subtractivo)

Diz-se que um cálculo é numericamente instável se erros nos valores iniciais forem aumentados(amplificados) pelo cálculo, de forma que o erro final é muito grande.

A condição, ou número de condição, mede a sensibilidade de um determinado processo decálculo à propagação e amplificação de erros.

Em geral diz-se que um problema é bem condicionado se pequenas perturbações nos dados departida provocarem pequenas perturbações nos resultados.

Número de Condição duma funçãoRGSeja um determinado cálculo representado por uma função . Se expandirmos esta função0ÐBÑem série de Taylor de primeira ordem em torno do valor aproximado obtemos-B

.- - -0ÐBѸ 0ÐBÑ � 0 ÐBÑÐB�BÑw

Uma estimativa do erro relativo de é dada por:0

%0 œ ¸0ÐBÑ�0ÐBÑ 0 ÐBÑÐB�BÑ

0ÐBÑ 0ÐBÑ- - -

- -w

e como o erro relativo da variável indepedente (os dados) é

%B œ B�BB

--

obtemos

Page 18: Métodos Numéricos em Engenharia

-18-

. (1.22)% %0 B¸ Š ‹0 ÐBÑB0ÐBÑw - -

-

Chama-se número de condição ( ) à razão entre estes 2 erros relativos:RG

. (1.23)RG œ Ê œ RG0 0 0 Bl l0 ÐBÑB0ÐBÑw - -

- % %

• Se 1, então o erro relativo da função é idêntico ao de (não há amplificaçãoRG œ Bde erros); • Se , então o erro relativo é amplificado;RG � " • Se , então o erro relativo é atenuado;RG � " • Se , então a função é .RG ¦ " mal-condicionada

Exemplo: tg para 0ÐBÑœ ÐBÑ B œ Ð Î#ÑÐ" � Ñ1 %B

Do gráfico desta função observa-se que tende para mais infinito à esquerda de , e0ÐBÑ Î#1para menos infinito à direita. A derivada da função vai ser extremamente elevada perto de ,1Î#e de acordo com a definição acabada de dar, espera-se que o número de condição sejaelevado.

Temos cos , e 0 ÐBÑ œ"Î ÐBÑ RG œ œw # B BB B B Btg cos sin cos#

Para obtemos , e para , , confirmando o mau% %B Bœ!Þ" RG œ ""Þ# œ!Þ!" RG œ "!"condicionamento desta função, perto de - erros de 1 % em são amplificados 100 vezes,1Î# Bresultando em erros de 100% no valor final de .0

Por analogia com esta definição, diz-se que um representado por um funcionalalgoritmoC œ 0 ÐBÑ 0 lB�Bl� Ê+ + ( é a função aproximada, e inclui possíveis erros) é se -estável %l0 ÐBÑ � 0 ÐBÑl �+ +

- , e no caso contrário,$ instável

É preciso distinguir entre condicionamento de um problema e instabilidade de um método. Umproblema é bem condicionado ou mal condicionado. Se for mal condicionado, não há algoritmonenhum que consiga bons resultados. No entanto, um problema pode ser resolvido pordiversos algoritmos, alguns estáveis e outros instáveis.

Exemplo (relacionado com cancelamento subtractivo):

O cálculo da diferença das raízes de dois números grandes consecutivos pode ser feitodirectamente,

0ÐBÑœÐB�"Ñ � B"Î# "Î#

Page 19: Métodos Numéricos em Engenharia

-19-

mas desta forma é instável, devido ao cancelamento subtractivo. Esta expressão pode serescrita como

0ÐBÑ œ "ÐB�"Ñ �B"Î# "Î#

e agora o cálculo já é estável, pois não surge a dificuldade inerente a subtracções de númerosquase iguais. Assim, este problema era bem condicionado, mas o algoritmo para o resolverpodia ser estável ou instável. Vejamos qual o número de condição de :0ÐBÑ

0 ÐBÑ œ ÐB�"Ñ � Bw " " �"Î## #

�"Î#

e

RG œ l œ l œB0 ÐBÑ BÐÐB�"Ñ �B Ñ0ÐBÑ #ÐÐB�"Ñ �B ÑÑ

w �"Î#�"Î#

"Î# "Î#l l

para grande.œ l œ ¸ BBÐÐBÑ �ÐB�"Ñ Ñ

#B ÐB�"Ñ ÐÐB�"Ñ �B Ñ #ÐB�"ÑB "

#"Î# "Î#

"Î# "Î#"Î# "Î# "Î#

"Î#l

Portanto o número de condição é até menor do que , indicando atenuação dos erros, logo"0ÐBÑ B é bem condicionada para grande.

1.6 Erros de Truncatura, ou de Método. Séries de Taylor.Uma vez que o método numérico é uma aproximação do processo matemático exacto irãoaparecer os chamados erros de truncatura. Um exemplo é a aproximação duma derivada pelaconhecida fórmula de diferenças ascendentes:

dd? ?> > > �>

?Ð> Ñ�?Ð> Ѹ œ?

?3�" 3

3�" 3

Esta aproximação tem um erro de truncatura que pode ser estimado usando o desenvolvimentoem série de Taylor, como se mostrará no fim desta secção.

O método mais comum para aproximar uma função num ponto genérico é o desenvolvimento+em série de Taylor:

0ÐBѸ0Ð+Ñ � 0 Ð+ÑÐB�+Ñ � ÐB�+Ñ � � ÐB�+Ñ �ÞÞÞ ... (1.24)w 80 Ð+Ñ 0 Ð+Ñ#x 8x

ww Ð8Ñ2

Exemplos comuns e muito úteis de aproximações assimptóticas de desenvolvimento em série deTaylor:

Page 20: Métodos Numéricos em Engenharia

-20-

.../ œ " � B � � �B B B#x $x

# $

sin ...B œ B � � �B B B$x &x (x

$ & (�

cos ...B œ " � � �B B B#x %x 'x

# % '�

... ""�B œ " � B � B � B � B � � " � B � "# $ %

... Ð" � BÑ œ " � 8B� � � lBl � "8 8Ð8�"ÑB 8Ð8�"ÑÐ8�#ÑB#x $x

# $

ln ... B œ Ð B � " Ñ � � � � ! � B Ÿ #ÐB�"Ñ ÐB�"Ñ ÐB�"Ñ

# $ %# $ %

ln ... Ð" � BÑ œ B � � � � � " Ÿ B Ÿ "B B B# $ %# $ %

Na prática não se podem reter todos os termos destas séries infinitas e assim é necessáriotruncá-las isto é, desprezar os termos acima duma dada ordem (daí o nome de erros de�truncatura). A convergência desta série é estabelecida pelo :teorema de Taylor

Se a função tem derivadas contínuas de ordem 1,2,.., num intervalo fechado0ÐBÑ 8 � "M œ Ò+ß,Ó + M então para qualquer em , pode escrever-se:

0ÐBÑœ ÐB�+Ñ � V! Š ‹5 œ !

8 0 Ð+Ñ5x

Ð5Ñ5

8�"

(1.25)

com: onde e , .V œ ÐB�+Ñ B − M œ ÐBÑ − Ò+BÓ8�"8�"0 Ð Ñ

Ð8�"ÑxÐ8�"Ñ 0

0 0

O valor de depende de . A chama-se o resto (ou o erro) de ordem . Este0 B V 8 � "8�"teorema permite estimar o erro entre a função e a sua série de Taylor truncada. Para que a0série de Taylor convirja é necessário e suficiente que o resto tenda para zero quando tende8para infinito, lim . É usual escrever o desenvolvimento de Taylor usando o passo8p_V œ !8

2 œ B � +, ou seja:

0ÐBÑœ 2 � V! Š ‹5 œ !

8 0 Ð+Ñ5x

Ð5Ñ5

8�"

com (1.26)

Page 21: Métodos Numéricos em Engenharia

-21-

.V œ 2 œ SÐ2 Ñ − ÒBßB�2Ó8�"8�" 8�"0 Ð Ñ

Ð8�"ÑxÐ8�"Ñ 0

0

A ultima igualdade indica que o resto de ordem tende para zero com a mesma rapidez8 � "que , quando . Mais concretamente, indica que existe uma constante tal que2 2p! G8�"

V Ÿ G 2 2p!8�"8�" , quando .

Teorema para séries alternadas: uma série com termos alternadamente positivos enegativos,

... (com 0)W œ Ð � " Ñ + œ + � + � + � + � +  85�"

5 " # $ % 5!5 œ "

8

converge se lim , . O erro de truncatura cometido é menor que a magnitude do+ œ ! 8p_8primeiro termo omitido, isto é onde é a soma da série.lW � W l Ÿ + W8 8�"

Em aproximações sucessivas duma função, quando se passa do ponto para B B3 3�"( ), diz-se que a aproximação é de:2 œ B � B3�" 3

ordem zero, se: (a variação é constante)0ÐB Ñ ¸ 0 Ð B Ñ3�" 3

1 ordem, se: (a variação é uma recta)a 0ÐB Ñ ¸ 0 Ð B Ñ � 0 Ð B Ñ Ð B � B Ñ3�" 3 3 3�" 3w

2 ordem, se: a 0ÐB Ñ ¸ 0 Ð B Ñ � 0 Ð B Ñ Ð B � B Ñ � ÐB � B Ñ3�" 3 3 3�" 3 3�" 3w #0 Ð B Ñ

#xww

3

(a variação é quadrática, a segunda derivada captura alguma curvatura)

etc...

É fácil deduzir que um polinómio de grau é representado exactamente por uma série de8Taylor do mesmo grau, uma vez que o resto (pois a derivada 0).V œ ! 0 œ8�"

Ð8�"Ñ

Exemplo: aproximar a seguinte função em série de Taylor, com grau progressivamente maior,de 0 até 1:B œ B œ!

0.1 0.15 0.5 0.25 1.20ÐBÑœ � B � B � B � B �% $ #

Neste caso podemos calcular os valores exactos, 1.2 e 0.2, e as derivadas0Ð!Ñœ 0Ð"Ñœnecessárias: 0.4 0.45 1.0 0.250 ÐBÑ œ � B � B � B �w $ #

1.2 0.9 1.00 ÐBÑ œ � B � B �ww #

2.4 0.90 ÐBÑ œ � B �www

2.40 ÐBÑ œ �w@

Page 22: Métodos Numéricos em Engenharia

-22-

Usando como passo 1, obtêm-se os valores dados na seguinte tabela (onde -2 œ B � B œ 0!

denota a aproximação a ), para várias ordens de aproximação:0

8 0ÐB Ñ 0Ð"Ñ

� 2

� 2 � 2

� 2 � 2 � 2

� 2 � 2 � 2 � 2

- - [%]

0 1.2 1.2 5001 1.2 0.25 0.95 375

2 1.2 0.25 0.5 0.45 125

3 1.2 0.25 0.5 0.15 0.3 50

4 1.2 0.25 0.5 0.15 0.10 0

3�"

#

# $

# $ %

%

.2 0

Como é um polinómio, a série de Taylor de ordem 4 representa-o exactamente. Neste0ÐBÑexemplo o erro relativo decai muito devagar porque o passo escolhido é demasiado grande. Seo valor de fosse sendo progressivamente dividido por 2, o erro na estimativa de iria2 0Ð"Ñdecair depressa, mas seria necessário mais esforço de cálculo.

Uso de série de Taylor para estimar erros de truncaturaPara o caso da derivada duma velocidade , que se considerou no ínico desta secção, a?Ð>Ñsérie de Taylor de primeira ordem é:

?Ð> Ñ œ ?Ð>Ñ�?Ð>ÑÐ> � > Ñ � V3�" 3 3 3�" 3 #w

ou, explicitando a derivada,

?Ð> Ñ œ �w3

?Ð> Ñ�?Ð> Ñ> �> > �>

V3�" 33�" 3 3�" 3

#

como o resto de segunda ordem é dado por , temos que o erro deV œ ? Ð ÑÐ> � > Ñ Î## 3�" 3ww #0

truncatura na avaliação da derivada fica:

I œ œ Ð> � > ÑX 3�" 3V ? Ð Ñ

> �> ##

3�" 3

ww 0

sendo portanto de primeira ordem no passo no tempo.

Page 23: Métodos Numéricos em Engenharia

-23-

Capítulo 2. Interpolação

É o processo de obter valores a partir dos dados de uma tabela, ou de ajustar uma curva suavea um conjunto de pontos dados. Tem interesse por ser prática usual a interpolação de dados detabelas (por exemplo, obter valores de entalpia em tabelas de vapor de água, para cálculostermodinâmicos). Existe também algum interesse teórico porque muitas fórmulas emdiferenciação ou integração numérica são obtidas directamente da função interpoladora.

Podemos distinguir dois tipos de problema relacionados com interpolação:

1- Standard: dados vários pontos, determinar uma curva que passe sobre todos eles. 2- Mínimos quadrados: os pontos estão afectados dum certo erro e pretende-se determinar a curva que passa suficientemente perto deles.

Iremos aqui considerar apenas o primeiro tipo de interpolação. Neste tipo existem tantosparâmetros na determinação da curva interpoladora como pontos. No tipo 2, o número deparâmetros é tipicamente muito menor do que o número de pontos. Por exemplo, um conjuntogrande de pontos pode estar distribuído de forma aleatória em torno duma certa linha recta maso resultado será a equação dessa recta, que é descrita por somente dois parâmetros e ,+ ,C œ +B � ,.

Definição do problemaPara um conjunto de pontos dados ( , ) determinar uma função interpoladora,8 � " B C3 3œ!ßÞÞÞß83suficientemente suave ( ), , que coincida com os pontos dados. Os requisitossmooth 0ÐBÑdevem ser: 1. A função interpoladora coincide nos pontos dados, , .0 Ð B Ñ œ C 3œ!ßÞÞÞß83 3 2. A função deve ser fácil de calcular.0ÐBÑ 3. Deve também ser fácil de integrar e diferenciar. 4. Deve ainda ser linear nos parâmetros ajustáveis.

2.1 Interpolação com Polinómios de LagrangeUm tipo de função que respeita todos estes requisitos é um polinómio; assim vai ser um0ÐBÑpolinómio de grau (para pontos dados):8 8 � "

... (2.1)0ÐBÑœ + B œ + � + B � + B � + B � � + B!4 œ !

84 ! " # $

4 # $ 88

Pode-se demonstrar que para pontos distintos, o polinómio interpolador tem grau ,8 � " Ÿ 8existe e é único. Por exemplo, sendo dados 2 pontos não coincidentes, ( e ( , ),B ß C Ñ B C" #" #sabemos que por eles passará uma só recta, que podemos obter de:

Page 24: Métodos Numéricos em Engenharia

-24-

x

y

x1 x2

y1

y2

C�C C �CC �C B �B B �B

B�B" " # "# " # " # "

œ Ê C œ C � Ð B � B Ñ" "

ou

com e C œ + � + B + œ C � B + œ! " ! " ""C �C C �CB �B B �B

# " # "# " # "

Um recta é um polinómio do primeiro grau ( pontos: grau igual a ). Se# # � " œ "escolhessemos outro ponto situado sobre essa recta, o polinómio interpolador continuava a serdado pela mesma recta, apesar de termos agora 3 pontos. Por 3 pontos não colinearespodemos fazer passar um polinómio quadrático (ou uma parábola; grau ) - deste modo, com#3 pontos podemos captar alguma curvatura.

xx3x2x1

y1

y2

y3

y

A questão que se põe, no caso geral, é como determinar de forma fácil e/oucomputacionalmente eficiente os parâmetros do polinómio interpolador. A maneira mais+4directa de calcular esses parâmetros é escrever as equações que representam o facto do8 � "polinómio coincidir com os pontos dados:

para . (2.2)!4 œ !

8+ B œ C 3œ!ßÞÞÞß84

43 3

Isto representa um sistema de equações lineares para as incógnitas que poderá8 � " 8 � " +4ser resolvido por algum método numérico. No entanto esta operação é impossível de ser feitamanualmente quando é grande; na prática para maior que cerca de 4 ou 5 torna-se8 8necessário utilizar um computador. Um outro factor que impede esta abordagem é que a matrizdeste sistema é particularmente mal-condicionada impossibilitando de todo a resolução correctapara mais de 7 pontos (os erros de arredondamento serão ampliados de forma catastrófica).

Page 25: Métodos Numéricos em Engenharia

-25-

Uma abordagem diferente é construir polinómios tais que:P5

(2.3)0ÐBÑœ P ÐBÑ C!5 œ !

85 5

Estes são designados polinómios de Lagrange de grau . Como estes polinómios nãoP ÐBÑ 85dependem de , podemos fazer sucessivamente 1 e 0 para , vindo:C C œ C œ 6 Á 35 3 6

(2.4)P ÐBÑ œ4 3 34$

onde é o delta de Kronecker ( 1 se , e se ). Deste modo os $ $ $34 34 34 4œ 3 œ 4 œ ! 3 Á 4 P ÐBÑvão ser polinómios de grau com zeros em , , ..., , ,..., , e iguais a 18 B œ B B B B B! " 4�" 4�" 8para . Devem portanto ter a seguinte forma:B œ B4

... ... P ÐBÑ œ G Ð B � B ÑÐB�B Ñ Ð B � B ÑÐB�B Ñ Ð B � B Ñ4 4 ! " 4�" 4�" 8(2.5)

onde œ G [ÐBÑœ Ð B � B Ñ4 5[ÐBÑ

ÐB�B Ñ4#

5 œ !

8

A constante é obtida pela condição de normalização , vindo:G P ÐB Ñ œ "4 4 4

G œ4"

ÐB �B ÑÐB �B Ñ ÐB �B ÑÐB �B Ñ ÐB �B Ñ4 ! 4 " 4 4�" 4 4�" 4 8... ...

Podemos finalmente escrever os polinómios de Lagrange da seguinte forma compacta:

(2.6)P ÐBÑ œ5 #4 Á 5

8 ÐB�B ÑÐB �B Ñ

4

5 4

A lógica destes polinómios fica assim bem clara: se ( ), o valor do polinómio éB œ B 4 Á 54zero; se o valor do polinómio é 1. Deste modo a coincidência do polinómio com osB œ B5pontos dados fica assegurada, ver Eqs. (2.3) e (2.4). Por outro lado é óbvio de (2.6) que estespolinómios têm ordem , e deste modo representam o único polinómio interpolador procurado.8 Exemplo para 2 pontos:

Pela definição, os polinómos de Lagrange para este caso têm ordem 1, e são:

P ÐBÑ œ"ÐB�B ÑÐB �B Ñ

#" #

Page 26: Métodos Numéricos em Engenharia

-26-

P ÐBÑ œ#ÐB�B ÑÐB �B Ñ

"# "

O polinómio interpolador fica:

0ÐBÑœ C � CÐB�B Ñ ÐB�B ÑÐB �B Ñ ÐB �B Ñ

# "" # # "" #

Para , obtemos , e para , obtemos , de forma que oB œ B 0ÐB Ñ œ C B œ B 0ÐB Ñ œ C" " # #" #polinómio coincide com os pontos dados. É fácil também ver que o polinómio pode ser escritona forma usual da interpolação linear:

0ÐBÑœ œB C �BC �BC �B C B C �B C �B C �ÐB C �B C Ñ

B B# " # " " "" " # # " # " "

? ??

.œ C � Ð B � B Ñ" "??

CB

onde e . Fica assim demonstrado que a interpolação linear usual,? ?B œ B � B C œ C � C# " "2ou os polinómios de Lagrange de primeira ordem, são equivalentes. Trata-se de chegar porduas vias diferentes ao mesmo resultado final.

Page 27: Métodos Numéricos em Engenharia

-27-

2.2 Polinómios Interpoladores de Newton

Uma maneira diferente de obter o polinómio interpolador, mas que resulta no mesmo polinómio(relembra-se que este polinómio é único), sendo no entanto mais eficiente computacionalmente,é segundo o método de Newton. A lógica deste método é dada de seguida.

A interpolação linear entre dois ponto e é denotada por (índice indica primeiraB B 0 ÐBÑ "! " "ordem, isto é, linear) e definida como:

0 ÐBÑ�0ÐB Ñ

B�B B �B0ÐB Ñ�0ÐB Ñ" " !!

! " ! œ

Esta expressão pode ser escrita como:

0 ÐBÑ œ 0 Ð B Ñ � Ð B � B Ñ" ! !Š 0ÐBÑ�0ÐB ÑB �B

!" !

‹ ou seja,

(2.7)0 ÐBÑ œ , � , Ð B � B Ñ" ! " !com: , œ0ÐB Ñ! !e

, (2.8), œ"0ÐB Ñ�0ÐB Ñ

B �B" !

" !

representando uma diferença dividida de primeira ordem.

De mesma forma, sendo dados 3 pontos, a interpolação quadrática pode-se escrever:

(2.9)0 ÐBÑ œ , � , Ð B � B Ñ � , Ð B � B ÑÐB�B Ñ# ! " ! # ! "

Fazendo obtem-se , como acima. Fazendo , deduz-se que éB œ B , œ0ÐB Ñ B œ B ,! ! ! " "também dado pelo mesmo valor anterior. O outro coeficiente vem então dado por

(2.10), œ#

0ÐB Ñ�0ÐB Ñ 0ÐB Ñ�0ÐB Ñ# " " !

B �B B �B# " " !# !

�B �B

uma expressão semelhante aquela para (Eq. 2.8), sendo denominada de diferença dividida,"de segunda ordem. De notar que (2.10) pode ser obtido de (2.8) por recorrência.

Em geral, a expressão do polinómio interpolador de ordem será dada por:8

Page 28: Métodos Numéricos em Engenharia

-28-

0 ÐBÑ œ , � , Ð B � B Ñ8 ! " ! � , Ð B � B ÑÐB�B Ñ � � , Ð B � B ÑÐB�B Ñ Ð B � B Ñ# ! " ! " 8�"8... ...

(2.11)com os coeficientes dados por:

, œ 0ÐB Ñ! !

, œ0ÒB ß B Ó" " !(2.12)

, œ0ÒB ß B ß B Ó# # " !

....

., œ 0ÒB ß B ßÞÞÞßB Ó8 8 8�" !

As diferenças divididas são obtidas pelas relações de recorrência:

..., (2.13)0ÒB ß B ß B Ó œ8 8�" !0ÒB ßB ß B Ó�0ÒB ßB ß B Ó

B �B8 8�" " 8�" 8�# !

8 !

..., ...,

A grande vantagem destas fórmulas sobre os polinómios de Lagrange é que, aqui, o polinómiovai sendo construído progressivamente, desde a ordem zero até à ordem adequada àaproximação pretendida, sendo acrescentados sucessivamente termos de ordem superior. Nainterpolação de Lagrange, a passagem duma aproximação de ordem para uma outra de8ordem requer a construção completa dos polinómios. Com o método de Newton, basta8 � "acrescentar um termo adicional, ... (notando que parte deste estava já, Ð B � B Ñ Ð B � B Ñ8�" ! 8disponível, de forma que o seu cálculo é expedito). Isto é uma vantagem essencial, pois àpartida não se sabe qual é a ordem de aproximação a ser utilizada num determinado problema.

Uma vantagem adicional do método de Newton é a facilidade de se obter uma estimativa doerro, que é dada por:

, , ..., ... . (2.14)V œ 0ÒB B B Ó Ð B � B ÑÐB�B Ñ Ð B � B Ñ8 8 88�" ! ! "

2.3 Polinómios de Hermite

Quando se pretende que o polinómio interpolador tenha uma suavidade maior do que aassegurada pelos polinómios de Lagrange, usam-se os polinómios de Hermite que satisfazem:

L Ð B Ñ œ C3 3(2.15)

L Ð B Ñ œ Cw w3 3

Page 29: Métodos Numéricos em Engenharia

-29-

Isto é, o polinómio passa nos pontos dados e a sua derivada também coincide com os valoresda derivada dada. Para pontos, ,..., , existem condições dadas, e o8 � " 3 œ ! 8 # 8 � #polinómio de Hermite é de grau . Os polinómios de Hermite são construídos do seguinte# 8 � "modo:

(2.16)0ÐBÑœ ÐY ÐBÑ C � Z ÐBÑ C Ñ!5 œ !

85 55

w5

com:

e Y ÐB Ñ œ Y ÐB Ñ œ !5 4 45 4w5$

(2.17) e Z ÐB Ñ œ ! Z ÐB Ñ œ5 4 4 45

w5 $

de forma a respeitar as condições (2.15).

É fácil verificar que as seguintes funções polinomiais satisfazem estes requisitos:

Y ÐBÑ œ Ò"�#PÐBÑÐB�BÑÓPÐBÑ5 5w #5 5

(2.18) .Z ÐBÑ œ Ð B � B Ñ P Ð BÑ5 5

#5

Como, para pontos, é de grau , será de grau , e portanto e 8 � " P ÐBÑ 8 P ÐBÑ #8 Y Z5 5 5#5

serão de grau como pretendido.# 8 � "

O erro do polinómio interpolador de Hermite é dado por:

com . (2.19)CÐBÑ�0ÐBÑ œ J ÐBÑ B Ÿ Ÿ BC Ð Ñ

Ð#8ÑxÐ#8Ñ 0 #

! 80

NOTA: para obter as relações (2.18) é conveniente introduzir os polinómios de primeiro grauV ÐBÑ W ÐBÑ5 5 e , tais que:

Y ÐBÑ œ V ÐBÑ P ÐBÑ5 5#5

.Z ÐBÑ œ W ÐBÑ P ÐBÑ5 5#5

Para que as condições (2.17) sejam satisfeitas, é preciso (relembrando que ):P ÐB Ñ œ5 4 45$

Y ÐB Ñ œ Ê V ÐB Ñ P ÐB Ñ œ Ê V ÐB Ñ œ "5 4 45 5 4 4 45 5 5#5$ $

Page 30: Métodos Numéricos em Engenharia

-30-

Y ÐB Ñ œ ! Ê V ÐB Ñ P ÐB Ñ � #V ÐB Ñ P ÐB ÑP ÐB Ñ œ !w w # w5 5 5 54 4 4 5 4 5 4 4

Ê V ÐBÑ œ � #P ÐB Ñ5 5w w

5

De onde se deduz que: (polinómio do primeiro grau).V ÐBÑ œ Ò"�#PÐBÑÐB�BÑÓ5 5w5

As condições (2.17) para dão:Z5

Z ÐB Ñ œ ! Ê W ÐB Ñ P ÐB Ñ œ ! Ê W ÐB Ñ œ !5 4 5 4 4 5 5#5

Z ÐB Ñ œ Ê W ÐB Ñ P ÐB Ñ � #W ÐB Ñ P ÐB ÑP ÐB Ñ œw w # w5 5 5 54 45 4 4 5 4 5 4 4 45$ $

Ê W ÐB Ñ œ "w5 5

De onde se deduz que: (polinómio do primeiro grau).W ÐBÑ œ Ð B � B Ñ5 5

Exemplo:Determinar o polinómio de Hermite que passa nos pontos:

B œ � " C œ # C œ "! !w!

B œ � " C œ $ C œ � "" "w"

Temos condições, de modo que o polinómio interpolador vai ser de grau . Chamando% Ÿ $2 œ B � B. Os polinómios de Lagrange, e as suas derivadas, para este caso são:

, P ÐBÑ œ P ÐBÑ œ �!w!

B�BB �B B �B

B"! " " !

, P ÐBÑ œ P ÐBÑ œ"w"

B�BB �B B �B

B!" ! " !

Os polinómios e , de (2.18), vêm:Y Z

Y ÐBÑ œ Ð" � # Ñ Ð Ñ œ Ð# � BÑÐB�"Ñ!# #"

%B�B B�BB �B B �B

! "" ! " !

Y ÐBÑ œ Ð" � # Ñ Ð Ñ œ Ð# � BÑÐB�"Ñ"# #"

%B�B B�BB �B B �B

" !" ! " !

Z ÐBÑ œ Ð B � B Ñ Ð Ñ œ ÐB�"ÑÐB�"Ñ! !# #"

%B�BB �B

"" !

Page 31: Métodos Numéricos em Engenharia

-31-

Z ÐBÑ œ Ð B � B Ñ Ð Ñ œ ÐB�"ÑÐB�"Ñ" "# #"

%B�BB �B

!" !

e o polinómio interpolador fica:

0ÐBÑœ ÐY ÐBÑ C � Z ÐBÑ C Ñ œ Ð# � BÑÐB�"Ñ �!5 œ !

"5 55

w "5 #

#

� Ð# � BÑÐB�"Ñ � ÐB�"ÑÐB�"Ñ � ÐB�"ÑÐB�"Ñ$ " "% % %

# # #

Este polinómio está representado na figura que se segue, sendo anotados com bolas os pontosdados. Para , o valor interpolado é:B œ !

.0Ð!Ñœ # � # � � œ $" $ " "# % % %

-2 -1 0 1 2

1

2

3

4

f(x)

x

2.4 Splines• Alguns inconvenientes das interpolações de Lagrange e Hermite são:

- difíceis de programar de forma eficiente; - dão azo a grandes erros quando o número de pontos é grande; - as versões “segmentadas” ( ) produzem descontinuidades nos nós depiecewise junção.

• Em geral, um spline é um polinómio de ordem , definido entre dois pontos, eWÐBÑ 7pertencente a (funções contínuas, com derivadas contínuas até ordem ).G 7 � "7�"

Page 32: Métodos Numéricos em Engenharia

-32-

• Deste modo, uma curva “spline” cúbica é definida pelos seguintes critérios: (1) é segmentada e em cada segmento ( ) é uma cúbica (ordem em );B ß B $ B3 3�" (2) passa por todos os pontos dados ( );BßC ß 3œ"ß Þ Þ Þ ß83 3 (3) tanto a como a derivada são contínuas no nós ." # B+ +

3

O critério (1) implica que a derivada é linear entre os nós e , devendo ter a forma:# 3 3 � "+

(2.20)0 ÐBÑ œ 0 ÐBÑ � 0 ÐB Ñ3ww ww ww

3 3�"Ð Ñ Ð ÑB �BB �B B �B

B�B3�"3�" 3 3�" 3

3

onde os valores de e não são ainda conhecidos. Integrando esta equação0 ÐBÑ 0 ÐB Ñww ww3 3�"

duas vezes obtemos uma equação cúbica com 2 constantes de integração que são obtidas dascondições:

0 ÐBÑ œ C3 33(2.21)

0 ÐB Ñ œ C3 3�"3�"

O resultado é o spline , no intervalo entre os nós e :0 ÐBÑ 3 B B3 3 3�"

0 ÐBÑ œ 0 ÐBÑ � 0 ÐB Ñ3ww ww

3 3�"ÐB �BÑ

' B ' BÐB�B Ñ3�"

$

3 33

$

? ?(2.22)

� � 0 ÐBÑ ÐB � BÑ � � 0 ÐB Ñ Ð B � B ÑŠ ‹ Š ‹CB ' B '

B BC3 3 33 3

3�"? ?

? ?ww ww3 3�" 3�" 3

com . Os podem agora ser obtidos pela continuidade das primeiras?B œ B � B 0 ÐBÑ3 3�" 3 3ww

derivadas,

. (2.23)0 ÐB Ñ œ 0 ÐB Ñ3w w

3�" 3�"i + 1

Derivando o spline (2.22), obtemos

0 ÐBÑ œ � 0 ÐBÑ � 0 ÐB Ñ � � Ð0 ÐB Ñ � 0w ww ww ww ww3 3 3�" 3�"

ÐB �BÑ# B # B B '

ÐB�B Ñ BC �C3�" 3�" 3#

3 3 33 3

#

? ? ??

ÐBÑÑ3

e portanto as primeiras derivadas nos nós vêm:

0 ÐB Ñ œ 0 ÐB Ñ � � Ð0 ÐB Ñ � 0 Ð B Ñ Ñw ww ww ww3 3�" 3�" 3�" 3

? ??

B B# B '

C �C3 33�" 33

e

Page 33: Métodos Numéricos em Engenharia

-33-

0 ÐB Ñ œ � 0 ÐB Ñ � � Ð0 ÐB Ñ � 0 ÐB Ñ Ñw ww ww ww3�" 3�" 3�" 3�# 3�"

? ??

B B# B '

C �C3�" 3�# 3�" 3�"3�"

.

Aplicando a condição (2.23) e re-agrupando termos, obtemos o seguinte sistema tri-diagonalque pode ser facilmente resolvido com o algoritmo TDMA de forma a se obter os :0 ÐBÑww

3

? ? ? ?? ?

B' $ ' B B

B � B B C �C C �C3 3 3�" 3�" 3�# 3�" 3�" 33�" 3

0 Ð B Ñ � 0 ÐB Ñ � 0 ÐB Ñ œ �ww ww ww3 3�" 3�#

(2.24)

Faltam 2 condições que são determinadas por “condições fronteira”. Em geral, as condiçõesnos extremos para as segundas derivadas podem ser escritas como:

0 ÐB Ñ œ 0 ÐB Ñww ww" #-

e 0 ÐB Ñ œ 0 ÐB Ñww ww8 8�"-

Se se escolher 0, tem-se a condição denominada “natural”; se tem-se a condição- -œ œ "“periódica”.

Tem interesse observar que para espaçamentos uniformes , a equação tridiagonal a (de Eq.?B2.24) fica simplesmente:

(2.25)" ww ww ww' 3�" 3 3�"Š ‹0 ÐB Ñ � % 0 Ð B Ñ � 0 ÐB Ñ œ

C �#C �CB

3�" 3 3�"#?

mostrando que a matriz é estritamente diagonal superior (a soma em valor absoluto doselementos duma linha é menor que o elemento da diagonal).

Para espaçamento uniforme o erro é dado por:

(2.26)0ÐBÑ�CÐBÑ ¸ C?B*'

Ð3@Ñ7+B

%

sendo semelhante ao erro para polinómios de Lagrange cúbicos.

Page 34: Métodos Numéricos em Engenharia

-34-

Captítulo 3. Raízes de Equações Não-Lineares

O problema é resolver a equação genérica

(3.1)0 Ð B Ñ œ !

onde é uma função qualquer da variável independente , sendo a raíz representada por .0 B BV

3.1 Métodos que Enquadram a Raíz

3.1.1 BissecçãoArranja-se um intervalo inicial que contenha a raíz. Esse intervalo vai ser sucessivamenteÒ+ß,Ódividido a metade de forma a que os intervalos cada vez mais pequenos contenham sempre araíz. Este processo iterativo é parado uando o erro (estimado como igual a metade dumintervalo) for suficientemente pequeno.

akxk

bk

x

f(x)y

O algoritmo é dado por:

(i) Escolher e tal que , para (contador de iterações).+ , 0Ð+ Ñ0Ð, Ñ Ÿ ! 5 œ !5 5 5 5 (Nota e , sendo o intervalo inicial)+ ´ + , ´ , Ò+ß,Ó! !

(ii) Fazer B œ5+ �,

#5 5

(iii) Se fazer , e ir para (ii)0Ð+ Ñ0ÐB Ñ � ! + œ + , œ B5 5 5�" 5 5�" 5 Se fazer , e ir para (ii)0Ð+ Ñ0ÐB Ñ � ! + œ B , œ ,5 5 5�" 5 5�" 5 Se fazer ( a raíz está encontrada).0Ð+ Ñ0ÐB Ñ œ ! B œ B5 5 V 5

O erro na iteração é dado por (3.2)Ð5Ñ I Ÿ œ5l, �+ l l,�+l

# #5 5

5�"

Page 35: Métodos Numéricos em Engenharia

-35-

Uma aproximação para o erro relativo é: (3.3)%+ ¸ l lB �B

B5 5�"

5

É possível mostrar que o erro relativo verdadeiro é menor que o indicado por estaaproximação, isto é , e portanto o uso de como critério de paragem é seguro. O% % %Ÿ + +número de iterações necessário para satisfazer uma determinada tolerância (absoluta)I>96pode ser obtido de:

lB � B l � I Ê � I ÊV 5 >96 >96,�+#5�"

(3.4)5 �log log

log Ð,�+Ñ� Ð#I Ñ

#>96

3.1.2 Falsa Posição (ou interpolação linear)Neste método a raiz também está enquadrada ente e mas não se usa o ponto médio, como+ ,na bissecção, para a aproximar. Uma melhor aproximação é obtida através do ponto deintersecção da recta que une e com o eixo dos . Isto equivale a aproximar0Ð+Ñ 0Ð,Ñ Blocalmente a função por uma recta. Designando essa aproximação à raíz por (que, na0ÐBÑ B5iteração , está entre e ), temos que a equação da recta é dada por:5 + ,5 5

0Ð+ Ñ 0Ð, ÑB �+ B �,

5 55 5 5 5

œ

Esta equação é óbvia fazendo a equivalência de triângulos (ver figura).

x

y

ak

bk

xk

f(ak)

f(bk)

xR

Deste modo a equação de iteração é:

(3.5)B œ , �5 50Ð, ÑÐ, �+ Ñ0Ð, Ñ�0Ð+ Ñ

5 5 55 5

Na iteração seguinte devem escolher-se novos de forma a enquadrar a raiz, tal como no+ / ,método da bissecção. Faz-se notar que a fórmula de iteração é simétrica em e , podendo+ ,escrever-se genericamente como

Page 36: Métodos Numéricos em Engenharia

-36-

(3.6)B œ , � + �5 5 50Ð, Ñ 0Ð+ Ñ

0Ò+ , Ó 0Ò+ , Ó5 5

5 5 5 5, , œ onde são as diferenças divididas.0Ò+ß,Ó´Ð0Ð+Ñ�0Ð,ÑÑÎÐ+�,Ñ œ 0Ò,ß+Ó

Na maior parte dos casos este método converge mais depressa que o método da bissecção,sendo também de primeira ordem, com um erro dado por:

com (3.7)I œ Ð " � Ñ I − ÒB ß, Ó5�" 5 V0 ÐB Ñ0 Ð Ñw

Vw 0 0

Em casos particulares a convergência pode ser mais lenta. Observe-se que o intervalo Ò+ ß , Ó5 5pode não diminuir ao longo das iterações, como acontecia com o método da bissecção. Otípico é este intervalo tender para um valor constante.

Exemplo: 0ÐBÑœB � ""!

y

x

a1 a2

bk

1

Começando com 0 e , observa-se que os ficam fixos em 1.3, e os se vão+ œ , œ "Þ$ , +5 5aproximando muito lentamente da solução, .B œ "V

3.1.3 Método de RiddersEste método é uma variante mais poderosa do método da falsa posição. O algoritmo segue osseguintes passos: (i) A raiz está entre ÒB ß B Ó" # (ii) Calcula-se com 0ÐB Ñ B œÐB � B ÑÎ#$ $ " # (iii) Factoriza-se a função exponencial que transforma a função resíduo numa recta: e e 0ÐB Ñ � #0ÐB Ñ �0ÐB Ñ œ !" $ #

U #U

Ê œ e U0ÐB Ñ� Ð0ÐB ÑÑ 0ÐB Ñ �0ÐB Ñ0ÐB Ñ

0ÐB Ñ$ # $ " #

#

#

sign É

Page 37: Métodos Numéricos em Engenharia

-37-

(iv) Aplica-se a falsa posição a , e e e (em vez de se aplicar a0ÐB Ñ 0ÐB Ñ 0ÐB Ñ" $ #U U

0ÐB Ñ 0ÐB Ñ 0ÐB Ñ" # $, , , como no método habitual):

B œ B �ÐB � B Ñ% $ $ "sign Ð0ÐB Ñ�0ÐB ÑÑ 0 Ð B Ñ

0ÐB Ñ �0ÐB Ñ0ÐB Ñ" # $

$ " ##É

Este algoritmo possui duas propriedades vantajosas: (1) enquadra a solução, uma vez que ;B − ÒB ß B Ó% " # (2) é quadrático (erro a decair como ), mas em cada passo necessita de 2I µ I5 5�"

#

cálculos da função (para e ). Faz-se notar que nos métodos anteriores (e também0ÐB Ñ 0ÐB Ñ$ %em alguns que se seguem), por cada iteração, era somente necessário efectuar 1 avaliação dafunção, a parte mais demorada do cálculo.

3.2 Métodos que não Enquadram a Raiz (Métodos Abertos)

3.2.1 Iteração simples ou de ponto fixo

A equação a resolver é escrita na forma , e o processo iterativo é:0ÐBÑœ! Bœ1ÐBÑ

(3.8)B œ 1ÐB Ñ5�" 5

Um critério de paragem possível consiste em controlar o erro relativo aproximado,% %+ 5�" 5 5�" >96 V VœlÐB � B ÑÎB l � 5 � " B œ 1ÐB Ñ . O erro na iteração é obtido subtraindo .da equação acima:

B � B œ 1ÐB Ñ � 1ÐB Ñ œ 1 Ð ÑÐB � B ÑV 5�" V 5 V 5w 0

sendo proporcional ao erro na iteração anterior,

(3.9)I Ÿ Q I5�" 5

com constante assimptótica:

( ) (3.10)Q œ l1Ð Ñ l � " − lB � B lwV 50 0

e portanto a convergência é linear (método de primeira ordem). Para garantir convergência, aconstante assimptótica (um majorante da primeira derivada de ) tem de ser menor doQ 1ÐBÑque 1, em valor absoluto. Se assim não for, i.e. se , a equação (3.9) mostra que os errosQ � "crescem com as iterações conduzindo a divergência do processo iterativo. A escolha dafunção deve ser tal que essa condição seja garantida.1ÐBÑ

Page 38: Métodos Numéricos em Engenharia

-38-

Exemplo de aplicação: resolver a equação e , usando como ponto inicial0ÐBÑœ � B œ !�B

B œ !.

xxR

y y=x

y=exp(-x)

A equação escreve-se na forma iterativa como e , e é fácil ver queBœ1ÐBÑ B œ �B

l1ÐBÑlœ � " B � ! B œ !w �B!e para . Começa-se o processo iterativo com e prossegue-se

até se terem 6 algarismos significativos. Os resultados são dados na seguinte tabela. Após 27iterações temos um valor para a raiz de 0.567143, com 6 algarismos que já não variam. Sendoconhecida a raiz exacta (0.56714329...) é possível calcular o erro relativo verdadeiro , que é%>dado na terceira coluna. O erro relativo aproximado é dado na quarta coluna (obtido de% %+ +w w �Bœl1ÐBÑl 1 œ œanterior, com e 0.56714329).

it 0 0 1 11 1. .76 0.572 0.367879 .35 0.323 0.692201 .22 0.184 0.500474 .12 0.105 0.606244 .069 0.066 0.545396 .038 0.033... ... ... ...

10 0.564880

B % %> +

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

�$

�$

�$

�'

�(

�(�

Page 39: Métodos Numéricos em Engenharia

-39-

3.2.2 Newton-Raphson

Neste método a função é aproximada pela tangente local à curva, e a aproximação da raiz é oponto de intersecção da tangente com o eixo do . A derivada no ponto é igual à inclinaçãoB B5da recta tangente,

,0 ÐB Ñ œw5

0ÐB Ñ�!B �B

55 5�"

x

y

xk

f(xk)

xR

xk+1

f(x)

f'(x)

e a expressão que define o processo iterativo do método fica:

(3.11)B œ B �5�" 50ÐB Ñ0 ÐB Ñ

5w

5

Esta expressão mostra que o método de Newton-Raphson requere, por iteração, umaavaliação da função e uma da sua derivada (portanto aproximadamente 2 avaliações da função,ao contrário dos métodos anteriores que requeriam somente 1 avaliação). É necessário aindauma expressão analítica para a derivada da função.

O erro é obtido expandindo em série de Taylor:0ÐBÑ

0ÐB Ñ œ 0 Ð B Ñ � 0 Ð B Ñ Ð B � B Ñ � ÐB � B Ñ5�" 5 5 5�" 5 5�" 5w #0 Ð Ñ

#ww 0

onde . Se guardarmos só o primeiro termo e forçarmos a satisfazer a0 − ÒB ß B Ó B5 5�" 5�"equação, , obtemos0ÐB Ñ œ !5�"

fórmula de Newton-Raphson.! ¸ 0 Ð B Ñ � 0 Ð B Ñ Ð B � B Ñ Ê5 5 5�" 5w

sendo esta uma outra maneira de deduzir a expressão (3.11) obtida acima. Se retivermos otermo quadrático na expressão acima, com , e se subtraírmos desta a expressãoB œ B5�" Vanterior, obtemos:

Page 40: Métodos Numéricos em Engenharia

-40-

.! œ 0 ÐB ÑÐB � B Ñ � ÐB � B Ñw5 V 5�" V 5

#0 Ð Ñ#

ww 0

Sendo o erro na iteração definido como , e tendo em conta que à medida que5 I œ B � B5 V 5a iteração converge , obtemos a expressão do erro:0pBV

(3.12)I œ ÐI Ñ5�" 5#�0 ÐB Ñ

#0 ÐB Ñww

Vw

V

ou, em termos de majorantes:

com: (3.13)I Ÿ G ÐI Ñ G œ5�" 5# l0 l

#l0 l

wwQ

w7

( designa majorante e minorante). Fica assim provado que o método de Newton-RaphsonQ 7tem convergência quadrática: o erro na iteração seguinte é proporcional ao do erroquadradona iteração anterior. Esta propriedade implica que o erro vai decaindo muito depressa, com onúmero de dígitos certos na solução duplicando em cada iteração (se o erro na iteração for5lB � B l � " ! B 85 V 5

�8, para com algarismos exactos, então elevando ao quadrado temos queo erro na iteração é , portanto com o dobro dos algarismos5 � " lB � B l�"!5�" V

�#8

exactos). Esta é a grande vantagem do método, que tem a desvantagem de ser muito sensívelao andamento da função , podendo divergir repentinamente, ou convergir para outra0ÐBÑsolução não desejada. É essencial que a primeira aproximação esteja já bastante próxima daraiz, para garantir convergência. A expressão do método e do erro mostra ainda que acurvatura da função (segunda derivada) não pode ser muito grande e que o método éproblemático quando a primeira derivada tende para zero (função horizontal).

Exemplo: e , partindo de (raiz é 0.56714329)0ÐBÑœ � B œ ! B œ ! B œ�B! V

• Temos e e e0 ÐBÑ œ � � " 0 ÐBÑ œw �B ww �B

• A constante assimptótica do erro pode ser calculada exactamente:

0.18095G œ œ�0 ÐB Ñ#0 ÐB Ñ

wwV

wV

Os valores obtidos para as iterações, erro estimado ( ) e erro verdadeiroI œ G I5�"#

( ) são dados na seguinte tabela:I œ B � B> V 5

Page 41: Métodos Numéricos em Engenharia

-41-

it.0 0 0.56714 0.567141 0.5 0.0582 0.06712 0.566311 0.000816 0.0008323 0.567143 0.000000.. 0.000000..

B I I5 >

A rapidez de convergência é notória (comparar com o ponto fixo, no exemplo anterior), assimcomo a propriedade de duplicação dos algarismos significativos de iteração para iteração

Exemplo de convergência lenta: , partindo de .0ÐBÑœB � " œ ! Bœ!Þ&"!

Neste caso, devido à má escolha inicial e à forma da função, a convergência para a raiz ( )B œ "vai ser extremamente lenta.

3.2.3 Método da SecanteUm dos inconvenientes do método de Newton-Raphson é a necessidade do cálculo analíticoda derivada da função. Para obviar esse problema, a derivada em pode ser aproximadaB5com os valores da iteração anterior, da seguinte forma:

0 ÐB Ñ œw5

0ÐB Ñ�0ÐB ÑB �B5 5�"

5 5�"

que, substituida na expressão de Newton-Raphson dá a forma iterativa do método da secante:

(3.14)B œ B �5�" 50ÐB ÑÐB �B Ñ0ÐB Ñ�0ÐB Ñ

5 5 5�"5 5�"

xxk-1xkxk+1

f(x)

y

f(xk-1)

f(xk)

A designação do método tem a ver com o facto da função ser localmente aproximada pelarecta secante que passa nos pontos e . Na expressão acima o método fornece0ÐB Ñ 0ÐB Ñ5�" 5o valor da nova iteração como igual ao da iteração anterior mais uma correcção. É possível

Page 42: Métodos Numéricos em Engenharia

-42-

escrever a esta expressão da seguinte forma, que pode ser útil para evitar algum cancelamentosubtractivo:

(3.15)B œ5�"0ÐB Ñ B �0ÐB Ñ B

0ÐB Ñ�0ÐB Ñ5 5�" 5�" 5

5 5�"

O erro deste método é dado pela seguinte expressão:

com: (3.16)I Ÿ Q I I Q œ5�" 5 5�"Q#7

#"

onde é um majorante da segunda derivada, , e um minorante da primeiraQ l0 Ð Ñ l Ÿ Q 7# # "ww 0

derivada, . É possível mostrar que este erro pode ser escrito aproximadamente da7 Ÿl0 Ð Ñl"w 0

seguinte forma:

I ¸ Q I5�":�" :

onde 1.618. Deste modo o método da secante tem uma ordem de: œ Ð " � & ÑÎ# ¸"Î#

convergência entre linear e quadrática (diz-se superlinear).

Em termos de ordem de convergência o método da secante é mais lento do que o de Newton(ordem 1.6 comparativamente com ordem 2). No entanto o método de Newton precisa de 2avaliações da função por iteração, enquanto que o método da secante só precisa de uma(excepto no arranque, quando é preciso o do ponto anterior). Como o que interessa, no0fundo, é minimizar a quantidade de cálculo para obter uma raíz, acontece que muitas vezes ométodo da secante é vantajoso comparativamente com o de Newton-Raphson.

Se compararmos a expressão (3.14) com (3.5) vemos que o método da secante é muitoparecido com o da falsa posição, a diferença sendo a escolha da nova aproximação para a raíz(na falsa posição usam-se IFs de forma a enquadrar a raíz; na secante não).

Exemplo: determinar a solução de ln , usando como pontos iniciais: 0.5 eB œ ! B œ"B œ# 5.0.Neste caso o método da falsa posição converge e o da secante diverge.

Page 43: Métodos Numéricos em Engenharia

-43-

x

y

x2

x1

x3

sec.

falsa pos. e sec.

Exemplo de aplicação: para e , de .0ÐBÑœ � B œ ! B œ !�B

it.0 0 0.57 1.01 1 0.043 0.762 0.612700 0.046 0.080

3 0.572181 0.0050 8.9 10

4 0.567102 4.1 10 7.3 10

5 0.567143 0.000000.. 5.1 10

B I5 > >

�$

�& �&

�(

%

Neste exemplo o método da secante tem um custo de avaliações da função, enquanto que o'método de Newton-Raphson, para a mesma precisão, tem um custo de avaliações da função.)Ou seja, neste caso o método da secante é mais eficaz.

3.2.4 Raízes múltiplasNos casos de raízes múltiplas os métodos que enquadram a raíz não funcionam bem porque afunção não muda de sinal. Por exemplo para o polinómio:

,0ÐBÑœÐB�$ÑÐB�"ÑÐB�"ÑœB �&B � ( B � $ œ !3 2

Page 44: Métodos Numéricos em Engenharia

-44-

x

y

f(x)

1 3

raiz dupla

a raíz é múltipla de ordem 2 e a raíz é simples; neste caso a função tem umB œ " B œ $máximo local no ponto da raíz . Em geral, raízes múltiplas pares (como o caso doB œ "exemplo acima), não cruzam o eixo dos , raízes ímpares cruzam o eixo dos . O método deB BNewton-Raphson também tem problemas pois tanto como tendem para zero na raíz (no0 0 w

entanto mais depressa do que , mas a ordem de convergência do método decai de 0p! 0 #w

para ). Existem duas modificações do método de Newton-Raphson que permitem calcular"raízes múltiplas: (a) Aplicar Newton-Raphson à função . Isto implica:?ÐBÑœ0ÐBÑÎ0 ÐBÑw

(3.17)B œ B �5�" 50ÐB Ñ0 ÐB Ñ

0 ÐB Ñ �0ÐB Ñ0 ÐB Ñ5 5

w

w ww5 5 5

#

(b) Sendo conhecida a ordem de multiplicidade da raíz , , usar:7

(3.18)B œ B � 75�" 50ÐB Ñ0 ÐB Ñ

5w

5

Este método garante convergência quadrática mas implica que a multiplicidade da raíz tem deser conhecida previamente, o que nem sempre é possível.

3.3 Aceleração de métodos com convergência linearEste processo é conhecido como aceleração de Aitken. Seja por exemplo um método iterativosimples

B œ 1ÐB Ñ5�" 5

em que vai representar a raíz e , com para garantir convergência (ver Eqs.B -´l1ÐBÑl - � "w

3.8 - 3.10). Como o erro é proporcional ao erro no passo anterior, tem-se:

B � B ¶ -ÐB�B Ñ5�" 5

Page 45: Métodos Numéricos em Engenharia

-45-

e B � B ¶ -ÐB�B Ñ5�# 5�"

Estas duas relações permitem obter a constante assimptótica do erro,

- œB �B

B �B5�# 5�"

5�" 5

e uma melhor aproximação para a raíz:

B œ œ B �B B �B

B �#B �BÐ B Ñ

B5 5�#

#5�"

5�# 5�" 55

#

#5

5??

com as definições: e . Destas definições obtem-se? ? ? ?B ´ B � B B ´ B � B5 5�" 5 5 5�" 5#

Ð B Ñ œ B �#B B � B B B? 5 5�" 5 5�##

5�" 5# # . Este valor aproximado deve ser usado em vez de .

Assim, com os 3 termos da iteração normal, , e , aplica-se a aceleração deB B B5 5�" 5�#Aitken através de:

B œ B �w5 5

Ð B ÑB

??

5#

#5

Prova-se que a iteração também converge linearmente mas com uma constante assimptóticaBw5

de erro menor do que na iteração original,

lim .5p_

II5�"w

5w œ - œ Ð1ÐBÑÑ# w #

Exemplo de aplicação: para a função e usada acima no método do ponto fixo�B � B œ !(ver Tabela na secção 3.2.1). Faz-se aceleração na iteração , obtendo-se:5 œ "!

0.568429 0.564880 0.003549?B œ � œ5 0.566415 0.568429 0.564880 0.005563?#

5B œ � # ‚ � œ �

Ê B œ 0.567144,w5

um valor quase igual ao obtido com a iteração do ponto fixo ao fim de 27 iterações.

3.4 Sistemas de Equações Não-LinearesO problema é resolver a equação vectorial

Page 46: Métodos Numéricos em Engenharia

-46-

(3.19)0 Bt tÐ Ñ œ !

que se pode escrever como um sistema de equações não-lineares:

com e (3.20)0 ÐB Ñ œ ! 3 œ " ß 8 4 œ " ß 83 4

onde é o número de equações (suposto igual ao número de incógnitas ). Se as equações8 B4forem lineares, o sistema (3.20) é equivalente à resolução dum problema matricial , aE B œ ,ser tratado no próximo capítulo. Apesar da aparente semelhança, o problema (3.19) é muitomais complicado que o problema (3.1), basta pensar que agora (mesmo só com 2 equações)não é possível enquadrar as raízes.

Os dois métodos mais usuais para resolver sistemas de equações não lineares são:

(i) Iteração:

(3.21)~B œ 0 ÐB Ñ3 4

Ð5�"Ñ Ð5Ñ3

onde é o índice de iteração.Ð5Ñ

(ii) Newton-Raphson generalizado, aqui exemplificado para 2 equações:

0ÐBßCÑœ! 1ÐBßCÑœ!

Desenvolvendo em série de Taylor e retendo só os termos lineares, obtemos:

0ÐB ß C Ñ œ 0 Ð B ß C Ñ � Ð Ñ ÐB � B Ñ � Ð Ñ ÐC � C Ñ ¸ !5�" 5 5�" 55�" 5 5�" 5`0 `0`B `C5 5

e 1ÐB ß C Ñ œ 1ÐB ß C Ñ � Ð Ñ ÐB � B Ñ � Ð Ñ ÐC � C Ñ ¸ !5�" 5 5�" 55�" 5 5�" 5

`1 `1`B `C5 5

Este sistema de 2 equações a 2 incógnitas deve ser resolvido em e eB C5�" 5�" pode ser escrito como:

Ð Ñ B � Ð Ñ C œ � 0 � Ð Ñ B � Ð Ñ C`0 `0 `0 `0`B `C `B `C5 5 5 55�" 55�" 5 5

Ð Ñ B � Ð Ñ C œ � 1 � Ð Ñ B � Ð Ñ C`1 `1 `1 `1`B `C `B `C5 5 5 55�" 55�" 5 5

onde e . Aplicando a regra de Cramer a este0 ´0ÐB ß C Ñ 1 ´ 1ÐB ß C Ñ5 5 5 55 5 sistema, cujo determinante é:

Page 47: Métodos Numéricos em Engenharia

-47-

H œ Ð Ñ Ð Ñ � Ð Ñ Ð Ñ`0 `1 `0 `1`B `C `C `B5 5 5 5

resulta em:

B œ B � Ð Ñ5�" 5 5

0 �1H

`1 `0`C `C

e (3.22)

.C œ C � Ð Ñ5�" 5 5

`0 `1`B `B1� 0

H

Em geral, para equações, o método de Newton equivale à resolução do sistema:8

N † B 0$ œ �

onde á a matriz Jacobiana formada com as derivadas parciais, cujos elementos sãoNN ´ `0 Î`B ´ �34 4 5�" 53 , e é a matriz coluna das correcções iterativas. Para o sistema$B B Bter solução temos de ter Det .Ð Ñ Á !N

Exemplo de aplicação: Seja o sistema não linear:

0 ´ B � BC � " ! œ !#

1 ´ C � $ B C � & ( œ !#

cuja solução é e . O ponto inicial deve ser 1.5 e 3.5 .B œ # C œ $ B œ C œ! !

O método de Newton-Raphson generalizado converge sem problemas.

Para o método iterativo, uma primeira escolha seria:

B œ5�""!�B

C5#

5 C œ & ( � $ B C5�" 5�" 5

#

que diverge, como facilmente se constata. Uma segunda escolha com melhores resultados é:

~B œ " ! � B C œ 0ÐBßCÑ5�" 5 5È

. ~C œ œ 1ÐBßCÑ5�"&(�C$BÊ 5

5�"

Para garantir convergência do método iterativo são condições suficientes:

Page 48: Métodos Numéricos em Engenharia

-48-

l l � l l � "`0 `0`B `C

~ ~

e (3.23)

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

semelhantes à condição necessária (Eq. 3.10) no método iterativo para equação simples,embora muito mais restritivas. As condições necessárias e suficientes são menos restritivas masmais difíceis de aplicar:

(3.24)l � l Ÿ � � #`0 `1 `0 `1 `0 `1`B `C `B `C `C `B

~ ~ ~~ ~ ~ � "

Por vezes usam-se ainda as seguintes condições suficientes:

l l � l l � "`0 `1`B `B

~ ~

e (3.25)

l l � l l � "`0 `1`C `C

~ ~

Page 49: Métodos Numéricos em Engenharia

-49-

Captítulo 4. Sistemas de Equações Lineares

O problema é a resolução dum sistema de equações lineares que se pode escrever de forma8matricial como

(4.1)E B ,œ

onde é a matriz quadrada ( ) dos coeficientes, , é a matriz coluna das incógnitas,E B8 ‚ 8 +34B ,4 4, e a matriz coluna dos termos independentes, . Este sistema pode escrever-se por,extenso como,

... + B � + B � � + B œ ,"" " "# # "8 "8 ... + B � + B � � + B œ ,#" " ## # #8 #8 (4.2)ä ä ä ä ... + B � + B � � + B œ ,8" " 8# # 88 8 8

ou em notação tensorial como:

+ B œ ,34 4 3

onde se aplica a regra de soma para repetição de índices (regra de Einstein), é o índice das3linhas e o índice das colunas da matriz (ambos variam de 1 a , para uma matriz4 + 834quadrada).

Para que o sistema tenha solução única (sistema determinado) é necessário que o determinanteda matriz seja não-nulo, o que implica que a matriz inversa de , , existe. Neste caso oE E E�"

sistema poderia ser resolvido simplesmente por

(4.3)B E ,œ �"

no entanto a determinação da inversa é um processo muito custoso computacionalmente, e nãoé vantajoso seguir esta abordagem. Do mesmo modo, para sistemas de pequenas dimensões, ométodo de Cramer pode ser usado:

(4.4)B œ4det

detÐE ß Ñ

Ð Ñ4 ,E

onde representa a matriz com a coluna substituida por . Torna-se claro que sóÐE ß Ñ 44 , E ,existe solução se . Este método também só é viável para sistemas de pequenadetÐ Ñ Á !Edimensão pois o custo do cálculo dos determinantes ainda é maior do que o da própria matrizinversa.

4.1 Normas de Matrizes, Número de Condição e Resíduos

Page 50: Métodos Numéricos em Engenharia

-50-

Em geral, a norma para um vector é definida porP: B

(4.5)m m ´ Ð lB l ÑB : 4: "Î:!

4 œ "

8

Com temos a usual norma Euclideana (a distância entre os dois pontos que definem o: œ #vector ) que aqui é designada norma . Outras normais usuais são a norma , dada pelaB P P# "soma dos valores absolutos das componentes do vector, e a norma do máximo, obtida para:p_ m m ´ ÐlB lÑ, isto é .B max max

4 4

Normas de matrizes: (soma em e ) (norma de Frobenius)l l ÈE I 34 34œ + + 3 4

max (norma de máximo, soma por linhas)l l !E _ 34œ l+ l3 4

max (soma por colunas)

l l !E " 34œ l+ l4 3

O número de condição duma matriz é definido como:

cond Ð Ñ ´E E El l½ ½�"

sendo sempre maior ou igual a 1, e medindo a susceptibilidade da solução dum sistema avariações nos dados da matriz , ou do segundo membro . Mostra-se que:E ,

cond l l l ll l l l$ $B

B ¸ Ð ÑEE

E

e também

cond l l l ll l l l$ $B ,

B ,¸ Ð ÑE

Estas relações mostram que, quando o número de condição da matriz é grande, imprecisõesnos elementos de ou de são grandemente magnificadas resultando em erros relativosE ,elevados na solução.

O número de condição está relacionado com o tamanho dos elementos da matriz inversa .E�"

Se a matriz original for normalizada ( ) dividindo cada linha pelo seu maior elemento,E scaledde forma que o maior elemento de cada linha dessa matriz equivalente fica igual a , e se esta"for invertida (um processo difícil de efectuar), então elementos de muito maiores que 1E�"

Page 51: Métodos Numéricos em Engenharia

-51-

indicam mau condicionamento. Isto implica que para uma matriz mal condicionada, o facto doresíduo ser pequeno não é indicativo de o erro na solução ser pequeno, como se mostra deseguida.

Seja uma solução aproximada do sistema (4.1) que resulta num certo resíduo ,B <-

< , EB´ � -

enquanto a solução exacta produz um resíduo nuloB

.! , EBœ �

A questão é saber se um resíduo “pequeno” implica uma solução mais precisa. Subtraindo estasduas relações, obtemos

< E B B -œ Ð � Ñ

o que dá um erro na solução de

.-$B B B E <´ � œ �"

Torna-se óbvio agora que pequeno (i.e. pequeno) só implica pequeno, se o< < Bl l $“tamanho” de for de ordem 1. Quando a matriz é mal condicionada, cond éE E�" µ Ð Ñgrande, assim como , e a relação obtida mostra que resíduos pequenos vão ser½ ½E�"

amplificados resultando em erros elevados na solução. Na prática, se o erro nos elementos damatriz (ou ) for da ordem 10 (isto é, têm cerca de dígitos significativos) e se o valor doE , �> >número de condição de for da ordem 10 , então a solução aproximada terá cerca de E - > � -algarismos significativos (erro 10 ). Faz-se ainda notar que o número de condição éµ �Ð>�-Ñ

difícil de calcular na prática, e que as matrizes que aparecem na prática têm tipicamentenúmeros de condição elevados (da ordem de = número de equações a resolver).R

4.2 Métodos Directos

4.2.1Substituição inversa ( )back substitutionSe for uma matriz triangular superior, a resolução do sistema (4.1) pode ser feita de formaEexpedita por substituição inversa:

• B œ , Î+8 8 88 • para 3 œ 8 � " ß " (4.6)B œ Ð, � + B ÑÎ+3 3 34 4 33!

4 œ 3 � "

8

• fim ciclo 3

Page 52: Métodos Numéricos em Engenharia

-52-

O número de adições/subtrações para a substituição inversa é , e o número deÐ8�"Ñ8Î#multiplicações/divisões é . Para a substituição directa, com triangular inferior, oÐ8�"Ñ8Î# Ealgoritmo é semelhante, com a variar de a .3 " 8

4.2.2Eliminação de Gauss Consiste em dois passos: (i) Redução do sistema (4.1) a um sistema equivalente cuja matriz é diagonal superior.Para isto aplicam-se operações elementares sobre a matriz : troca de equações; multiplicaçãoEduma equação por uma constante diferente de zero e soma com outra equação. (ii) Resolução deste sistema por substituição inversa (Eq. 4.6).

Algoritmo:- Redução 5 œ " ß 8 � " (linhas)3 œ 5 � " ß 8 7 œ + Î+35 55 4 œ 5 � " ß 8 (4.7)+ œ + � 7 +34 34 54 fim ciclo 4 , œ , � 7 ,3 3 5 fim ciclo 3 fim ciclo k

- Substituição inversa: aplicar Eq. (4.6) do seguinte modo:

B œ , Î+8 8 88 para 3 œ 8 � " ß " = ? 7 œ ! para 4 œ 3 � " ß 8 =?7œ=?7�+ B34 3 fim ciclo 4 B œ Ð, �=?7ÑÎ+3 3 33 fim ciclo 3

Faz-se notar que no algoritmo dado a matriz e o termo indepedente são reescritos, deE ,forma que as matrizes iniciais são perdidas. No final do processo de redução, a matriz Econtem os valores da matriz triangular superior escritos nas mesmas posições que os elementos+ 834 originais. Para valores de grandes o número de operações para resolver o sistema éproporciomal a . A maior parte deste esforço computacional ocorre no processo de8 Î$$

redução (ou eliminação), pois a parte de substituição inversa tem um esforço proporcional a8 Î## .

Page 53: Métodos Numéricos em Engenharia

-53-

Para evitar o problema de acumulação de erros este algoritmo deve incorporar uma escolhamais criteriosa do pivot (o elemento multiplicativo ).7

Escolha de pivot (na eliminação ):5 - Pivot parcial: max (4.8)l+ l œ l+ l:5 35

5 Ÿ 3 Ÿ 8

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

- Pivot parcial com escala: Para a matriz original escolhe-se o maior elemento de cada linha:E max . œ l+ l3 34

" Ÿ 3 Ÿ 8 Durante o processo de redução, em que são os elemtos de (matriz já+34 E-

modificada) o pivot será:

maxl+ l œ l+ Î.l:5 35 35 Ÿ 3 Ÿ 8

onde é o índice da linha do pivot, devendo ser trocadas as linhas e .: : 5 -Pivot total: neste caso a procura do valor normalizador ( ) faz-se por linhas e+55 por colunas. A complexidade do algoritmo aumenta substancialmente.

Exemplo: resolver o sistema

0.0003 3.0000 2.0001B � B œ" # 1.0000 1.0000 1.0000B � B œ" #

A solução exacta é e , como se comprova facilmente. Usando aritméticaB œ"Î$ B œ#Î$" #de decimais, o resultado que se obtem sem pivot é:%

(um erro de 100%)B œ !"

Com pivot parcial, a ordem de resolução das 2 equações é trocada e o resultado é:

0.3333 (erro de 0.01%)B œ"

ficando demonstrada a utilidade do uso de pivot.

4.2.3 Método PYA ideia da factorização LU:

E PYœ

Page 54: Métodos Numéricos em Engenharia

-54-

com ( ower) matriz tringular inferior (diagonal unitária) e ( pper) matriz triangularP YP Ysuperior, é a de permitir resolver as equações (4.1) para vários valores do termo independente,, E. Na eliminação de Gauss tanto os elementos da matriz como os elementos do segundomembro são perdidos, pois são reescritos durante o processo da eliminação. O resultado,final involve elementos de e assim não é possível voltar a fazer o cálculo se mudar., ,

Com a factorização LU o sistema (4.1) fica:

Ð Ñ œ Ê Ð Ñ œPY B , P Y B ,ou - " œ

+Y B C

e - .# œ+ PC ,

O primeiro resolve-se facilmente por substituição inversa e o segundo sistema por substituiçãodirecta. A decomposição de em e faz-se com os mesmos passos do que aquelesE P Yutilizados na eliminação de Gauss. Os elementos da matriz ( ) são os que resultam no fimY ?34da aplicação da redução no método de Gauss, e os elementos da matriz ( ) são os factoresP 634multiplicativos usados nesse processo. Temos:7

? œ + � 6 ?34 34 35 54!5 œ "

4 � "

e

6 œÐ+ � 6 ? ÑÎ?4

34 34 35 54 44!5 œ "

� "

(Nota: assume-se diag ; Det Det ).Ð6 Ñ œ 6 œ " œ34 33 E Y

Quando a matriz é simétrica , onde designa a matriz transposta), o processo deE E EÐ œX X

factorização simplifica-se e é designado por factorização de Choleski:

E Y Yœ X

com:

para ? œÐ+ � ? ? ÑÎ? 4 � 334 34 53 54 33!5 œ "

3 � "

? œ Ð+ � Ð? Ñ Ñ33 33 53#Ê !

5 œ "

3 � "

Se a matriz além de simétrica for positiva-definida, então os seus valores próprios são todosEreais, assim como os (sem soma).?33

Page 55: Métodos Numéricos em Engenharia

-55-

4.2.4 Método TDMA ( ri iagonal atrix lgorithm)T D M A (Algoritmo para Matrizes TriDiagonais)

No caso particular de matrizes tridiagonais o método de eliminação de Gauss transforma-senum método directo muito eficiente e rápido. Neste método, tanto o número de operaçõescomo a memória computacional são proporcionais ao número de equações , em vez de 8 8$

como no método de Gauss.

A matriz tridiagonal escreve-se:

com (4.9)+ B œ , B � - B � . 3 œ " ß 83 3 3 3�" 3 3�" 3

onde é o coeficiente da diagonal principal, é a diagonal imediatamente acima e a diagonal+ , -imediatamente abaixo da diagonal principal. Todos os outros elementos de são nulos. OEtermo independente (termo fonte) é . Nos casos usuais, todos estes coeficientes ( , , ) são. + , -positivos. Temos ainda:

e - œ ! , œ !" 8

de forma a não aparecer nenhuma “ligação” com a incógnita em e em (estas não sãoB B! 8�"definidas).

A ideia do TDMA é explicada com palavras da seguinte forma: • Primeiro faz-se uma eliminação progressiva (a redução). Da equação para 3 œ "pode-se expressar em função de . Por sua vez, da equação pode-se expressar B B 3 œ # B" # #em função de (uma vez que o que aparece nessa equação pôde ser expresso em funçãoB B$ "de ). Este processo é continuado até à última equação, da qual se obtem .B B# 8 • Em seguida faz-se a substituição regressiva. A última equação para está3 œ 8resolvida, uma vez que é conhecido. A equação dá e fica resolvida.B 8 � " B œ0ÐB Ñ8 88�"Este processo é continuado até .3 œ "

AlgoritmoA eliminação progressiva permite escrever a seguinte relação de recorrência:

(4.10)B œ T B � U3 3 3�" 3ou . (4.11)B œ T B � U3�" 3�" 3 3�"

Após substituir (4.11) em (4.9) obtemos:

+ B œ , B � - Ð T B � U Ñ � .3 3 3 3�" 3 3�" 3 33�"ou

Page 56: Métodos Numéricos em Engenharia

-56-

Ð+ � - T Ñ B œ , B � Ð - U � . Ñ3 3 3�" 3 3 3�" 3 33�"

Comparando com (4.10) ve-se que:

(4.12)T œ3,

+ �- T3

3 3 3�"e

(4.13)U œ3. �- U+ �- T

3 3 3�"3 3 3�"

Estas duas relações de recorrência permitem obter e , para de a . Como para ,T U 3 " 8 3 œ "3 3- œ ! T œ , Î+ U œ . Î+ 3 œ 8 , œ ! T œ !" " " " " "" 8 8 temos que e . Para temos e assim eB œ U8 8. A substituição regressiva processa-se seguidamente por meio da realação (4.10),fazendo variar de a .3 8 � " "

Este algoritmo necessita de 2 arrays de dimensão ( e ), e o tempo de cálculo é também8 T Uproporcional a . Estes valores devem ser comparados com a proporcionalidade em para8 8$

eliminação de Gauss de sistemas “cheios”, e em para métodos iterativos.8#

4.2.5 Exemplo de aplicaçãoResolução da equação de condução de calor unidimensional com fontes:

.d dd dB B

XÐ Ñ5 � ; œ !

Integrando esta equação num volume de controlo unidimensional , entre e , obtemos:T / A

P EW

e wδxe

δxP

x

.Ð5 Ñ �Ð5 Ñ � ; B œ !d dd dX XB B/ A T T$

Usando diferenças cenrais para as derivadas, d d , e agrupandoÐ XÎ BÑ œÐX � X ÑÎ B/ I T /$termos, obtemos:

+ X œ + X � + X � ,T T I I [ [ T

Page 57: Métodos Numéricos em Engenharia

-57-

com: , e (coeficientes da equação) e .+ œ 5 Î B + œ 5 Î B + œ + � + , œ ; BI [ T I [ T/ / A A T$ $ $(termo fonte). Se escrevermos uma equação análoga a esta para cada um dos volumes decontrolo obtemos um sistema tridiagonal:T

� + X � + X � + X œ ,[ [ T T I I T

ou: .... ..... .– — – — – —� + + � + X œ ,[ T I T T

4.3 Métodos Iterativos

4.3.1 Iteração simplesA ideia básica para resolver o sistema

EB ,œ

por iteração simples é reescreve-lo como

B B G , EBœ � Ð � Ñ

onde é uma matriz de iteração convenientemente escolhida. Indicando as iterações com oGíndice , a iteração simples escreve-se:7

(4.14)B B G , EBÐ7�"Ñ Ð7Ñ Ð7Ñœ � Ð � Ñ

que se pode ainda escrever como:

(4.15)$B G <Ð7Ñ Ð7Ñœ

onde é o vector das correcções$B B BÐ7Ñ Ð7�"Ñ Ð7Ñ´ � e é o vector do resíduo.< , EB ´ �

Quando o processo convergir, o resíduo anula-se , e a correcção fica também nula, EB� œ !B B G E G EÐ7�"Ñ Ð7Ñ �"œ ¸. A matriz deve ser uma inversa aproximada de , , e demonstra-se que deve ser tal que:

(4.16)m � m � "" G E

Page 58: Métodos Numéricos em Engenharia

-58-

Deste modo as correcções vão sendo progressivamente menores e o processo iterativoconverge para a solução.

4.3.2 Métodos iterativos em geralSubstitui-se a matriz do sistemaE

EB ,œ

pela decomposição:

(4.17)E Q Rœ �

onde é uma matriz facilmente invertível. Desta maneira podemos escrever:Q

Ð � Ñ œ Ê œ � Ê œ �Q R B , QB , RB B Q , Q RB �" �"

ou, em termos dum processo iterativo

(4.18)B Q , Q RBÐ7�"Ñ �" �" Ð7Ñœ �

onde o índice representa valores da iteração . Para faz-se7 7 œ !

BÐ!Ñ œ !

de forma que o valor da incógnita na primeira iteração é obtido de:

B Q ,Ð"Ñ �"œ

É fácil ver que este processo iterativo por decomposição da matriz inicial é equivalente àiteração simples dada acima (Eq. 4.14). De facto, somando e subtraindo à equaçãoBÐ7Ñ

(4.18) obtemos:

(4.19)B B Q , RB QBÐ7�"Ñ Ð7Ñ �" Ð7Ñ Ð7Ñœ � Ð � � Ñ

ou seja, uma vez que ,Q R E� œ

B B Q , EBÐ7�"Ñ Ð7Ñ �" Ð7Ñœ � Ð � Ñou $B Q <Ð7Ñ �" Ð7Ñœ

Portanto obtemos iteração simples em que a matriz iteração é .G Qœ �"

Page 59: Métodos Numéricos em Engenharia

-59-

Os métodos iterativos mais comuns são obtidos por escolhas simples para . A matriz Q Epode ser directamente decomposta na sua parte triangular inferior, na diagonal e parte triangularsuperior, como:

(4.20)E P H Yœ � �

com Lower , Upper e diag . Não confundir este e com osP E Y E H E P Yœ Ð Ñ œ Ð Ñ œ Ð Ñresultantes da factorização .PY

Condição suficiente de convergência: a matriz deve ser diagonal dominante (soma dosvalores absolutos dos elementos duma linha, excluindo a diagonal, menor ou igual ( ) do queŸo elemento diagonal ( ), com pelo menos uma linha estritamente diagonall+ l Ÿ l+ l33 34!

4 Á 3

dominante (sinal em vez de ).� Ÿ

4.3.3 Método de Jacobi:

diag e Q E Q H R P Yœ Ð Ñ Ê œ œ �

(4.21)B H , P Y BÐ7�"Ñ �" Ð7Ñœ Ð � Ð � Ñ Ñou com resíduo B B H < < , EBÐ7�"Ñ Ð7Ñ �" Ð7Ñ Ð7Ñ Ð7Ñœ � œ �

Nota: tem de ser 0, .. Á a333

4.3.4 Método de Gauss-Seidel:

Trianginf e Q E Q P H R Yœ Ð Ñ Ê œ � œ

(4.22)B P H , Y BÐ7�"Ñ Ð7Ñ�"œ Ð � Ñ Ð � Ñou .B B P H <Ð7�"Ñ Ð7Ñ Ð7Ñ�"œ � Ð � Ñ

Nota: tem de ser 0, . Converge muito mais depressa que o método de Jacobi. O. Á a333sistema (4.22) é triangular inferior e resolve-se facilmente por substituição directa.

4.3.5 Método da sobre-relaxação sucessiva (SOR):

Processo para acelerar o método de Gauss-Seidel onde, em vez de se tomar como oBÐ7�"Ñ

valor na iteração , este (aqui designado por ) é obtido como uma média ponderada:7 � " B

Page 60: Métodos Numéricos em Engenharia

-60-

(4.23)B B Bœ � Ð " � Ñ= =Ð7�"Ñ Ð7Ñ

Aqui designa o factor de relaxação. Se 1 obtemos o Gauss-Seidel; se temos= = =œ � "sobre-relaxação (avanço mais rápido para a solução); se temos sub-relaxação (avanço= � "mais lento para a solução). Normalmente não é superior a cerca de 1.4, sendo este tipo de=valor usado em problemas lineares simples. Em problemas não-lineares (o sistema linearEB , Eœ resulta da do problema original) e quando a matriz é relativamente mallinearização condicionada, deve fazer-se sub-relaxação , mas depende do problema).Ð ¸!Þ)=

O processo iterativo pode ser escrito:

B P H H Y B H P ,Ð7�"Ñ Ð7Ñ�" �"œ Ð � Ñ Ð" � Ñ � � Ð � Ñ= = = = =Š ‹

4.4 Refinamento Iterativo

Se tivermos uma solução aproximada para o sistema podemos inseri-la neste, para -B EB ,œobter

.EB ,- -œ

O intuito agora é corrigir a aproximação com um incremento tal queB B- $

.-B B Bœ � $

Inserindo esta relação no sistema inicial obtemos o seguinte sistema a ser resolvido para oincremento,

E B B , E B ,Ð � Ñ œ Ê Ð Ñ œ- $ $ $com: .$, , ,œ � -

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

1. resolver aproximadamente (com qualquer método) o sistema ;EB ,œ 2. a solução aproximada é denotada ;B‡

3. obter o segundo membro aproximado, ;, EB‡ ‡œ 4. calcular ; $, , ,œ � ‡

5. resolver o sistema, E † B ,$ $œ 6. refinar a solução, ; B B B‡‡ ‡œ � $ 7. se a aproximação não for suficientemente boa, ir para o passo 2 e repetir os cálculos.

Page 61: Métodos Numéricos em Engenharia

-61-

Captítulo 5. Integração Numérica

O problema deste capítulo consiste na resolução numérica do integral definido

(5.1)M œ 0ÐBÑ.B+

,'onde a função integranda pode ser dada analiticamente, ou então é dada como uma série depontos discretos ( ) resultantes, por exemplo, de medições experimentais. O integral B ß 0 Ð B Ñ M3 3pode ser visualizado como a área sob a curva , num sistema de eixos ( , ) com .0ÐBÑ B C Cœ0ÐBÑ

y

x

f(x)

a b

5.1 Fórmulas de Newton-Coates

A função é aproximada por um polinómio interpolador de Lagrange numa malha uniforme0ÐBÑde espaçamento , sendo o integral desse polinómio relativamente fácil de calcular2analiticamente. Para intervalos existem pontos, incluindo os dois pontos extremos8 8 � "+ œ B , œ B! 8 e , sendo dados por:

, com , para . (5.2)B œ + � 32 2 œ 3œ!ß"ßÞÞÞß83,�+

8

O polinómio interpolador é definido como:

(5.3):ÐBÑ œ PÐBÑ0ÐBÑ!3 œ !

83 3

onde são os polinómios de Lagrange de ordem . Deste modo o integral seráPÐBÑ 83aproximado da seguinte forma:

M œ 0ÐBÑ.B ¸ PÐBÑ0ÐBÑ .B œ 0ÐBÑ PÐBÑ.B+ + +

, , ,' ' ! ! '3 œ ! 3 œ !

8 83 3 3 3

Page 62: Métodos Numéricos em Engenharia

-62-

ou , (5.4)M ¸ Ð, � +Ñ G 0ÐBÑ!

3 œ !

8

38

3

onde os números de Coates de ordem são definidos como:8

. (5.5)G ´ PÐBÑ.B+

,38

31

,�+ 'Estes números podem ser calculados fazendo-se a integração dos polinómios de Lagrange e osresultados são dados na Tabela 5.1 para ordem até . A tabela também inclui uma8 œ 'estimativa do erro de truncatura, proporcional a uma potência de e a umL ´ , � +determinado valor (majorado) duma derivada de .0

Tabela 5.1 Números de Coates para ordem de 1 a 6.88 R RG RG RG RG RG RG RG

‚ L 0

‚ L 0

‚ L 0

‚ L 0

! " # $ % & '8 8 8 8 8 8 8

�# $ 33

�% & 3@

�% & 3@

�( ( @3

Erro

1 2 1 1 - - - - - 8.3 10

2 6 1 4 1 - - - - 3.5 10

3 8 1 3 3 1 - - - 1.6 10

4 90 7 32 12 32 1 - - 5.2 10

5 288 19 75 50 50 75 19 - 3.6 10

6 840 41 216 27 272 27 216 41 6.4 10

‚ L 0

‚ L 0

�( ( @3

�"! * @333

Devido à forma dos polinómios de Lagrange, os números de Coates possuem as seguintespropriedades:

( a soma dos coeficientes numa linha da tabela 5.1 é igual a 1)ì G œ "!3 œ !

8

38

(existe simetria em torno do valor central, para cada linha daì G œ G3 8�38 8

Tabela 5.1)

Expressões Particulares das Fórmulas de Newton-Coates:

Para , a fórmula de Newton-Coates reduz-se a:ì 8 œ "

(5.6)' ˆ ‰+

,0ÐBÑ.B œ Ð, � +Ñ ‚ 0Ð+Ñ�0Ð,Ñ"

#

Page 63: Métodos Numéricos em Engenharia

-63-

x

yf(x)

a b

f(a)

f(b)

que não é mais do que a conhecida regra trapezoidal para determinar aproximadamente umintegral: a área do trapézio sob a recta que une a . Repare-se que neste caso, assim0Ð+Ñ 0Ð,Ñcomo nos seguintes, é possível escrever Integral largura altura média.œ ‚

y

x

f(x)

a b(a+b)/2

hparabola

Para 2, a fórmula de Newton-Coates reduz-se a:ì 8 œ

(5.7)' Š ‹+

,0ÐBÑ.B œ Ð, � +Ñ ‚ 0Ð+Ñ�%0Ð Ñ�0Ð,Ñ" +�,

' #

que representa a conhecida regra de Simpson. Neste caso o integrando é aproximado por umaparábola que passa nos 3 pontos , e o ponto médio . Repare-se da Tabela 5.1+ , Ð+�,ÑÎ#que o erro involvido na regra de Simpson é substancialmente menor do que na regratrapezoidal. O mesmo acontece com a fórmula para comparativamente com .8 œ % 8 œ $Podemos concluir que é sempre preferível aplicar uma fórmula de Newton-Coates de ordempar, pois o erro é muito menor do que para a regra ímpar imediatamente anterior.

Existem duas maneiras de melhorar a precisão do cálculo dum integral:

Page 64: Métodos Numéricos em Engenharia

-64-

(i) usar uma fórmula de ordem superior ( , ou da Tabela 5.1);8 œ # $ % (ii) continuar a usar uma fórmula de ordem reduzida ( ou ), mas subdividir mais o" #intervalo inicial (fórmulas de Newton-Coates compósitas).? œ , � +

Na prática raramente se aplica uma fórmula de Newton-Coates à totalidade dos pontos nointervalo inicial, sobretudo se existirem muitos pontos. É mais conveniente seguir a abordagem(ii).

Fórmulas de Newton-Coates Compósitas (ou segmentadas)O intervalo inicial é subdividido em intervalos (que podem ser não-uniformes) e aplica-seLuma das fórmulas de ordem mais baixa em cada um dos subintervalos. O integral é entãoobtido como a soma dos integrais em cada subintervalo. O erro é também dado pela soma doserros em cada subintervalo, e isto implica que a ordem global do método é uma ordem inferiorà dada na Tabela 5.1 (expoente de na última coluna), como se verá de seguida.L

ì Regra Trapezoidal CompósitaSe o intervalo for dividido em subintervalos iguais, de largura , delimitados pelosÐ+ß,Ñ 8 2pontos , , , ..., , então a aplicação da regra trapezoidal ao primeiroB ´ + B B B ´ ,! " # 8subintervalo dá:

M œ ÐB � B Ñ 0ÐB Ñ � 0 ÐB Ñ" " ! ! ""# ˆ ‰

ou seja,

;M œ 2 0ÐB Ñ � 0 ÐB Ñ" ! ""# ˆ ‰

da mesma maneira, para o segundo subintervalo temos:

M œ 2 0ÐB Ñ � 0 ÐB Ñ# " #"# ˆ ‰

etc, ......................

até ao intervalo ,8

.M œ 2 0ÐB Ñ � 0 Ð B Ñ8 88�""# ˆ ‰

Somando as contribuições de cada subintervalo, obtemos:

(5.8)M œ M œ 2 0ÐB Ñ � #0ÐB Ñ � #0ÐB Ñ � ÞÞÞÞ�#0ÐB Ñ � 0 Ð B Ñ! ‹3 œ "

83 ! " # 8�" 8

"# Š

Esta fórmula pode ser escrita de forma compacta como:

Page 65: Métodos Numéricos em Engenharia

-65-

(5.9)M œ 2 0ÐBÑ � 0ÐB Ñ � 0 ÐB ÑŠ ‹! ˆ ‰3 œ !

83 !

"# 8

ou ainda, na forma geral de Integral largura altura média:œ ‚

(5.10)M œ Ð, � +Ñ 0ÐB Ñ � # 0 Ð B Ñ � 0 Ð B Ñ

#8! 3 8!

3œ"

8�"

Repare-se que na expressão para a “altura média” os pontos nos extremos, e , sãoB B! 8contabilizados com peso 1 enquanto que os pontos do meio têm peso 2.

Como foi referido, o erro é dado pela soma dos erros nos subintervalos, sendo (ver Tabela5.1):

(5.11) - -

I œ I œ 2 0 œ 2 80 œ 2 0! !3 œ " 3 œ "

8 83

$ ww $ #3

ww ww" " L"# "# "#

onde um valor médio da segunda derivada é definido como . Observa-se -0 œ Ð 0 ÑÎ8

ww ww3

!assim que o erro global é proporcional ao quadrado do espaçamento, mostrando que a regratrapezoidal compósita é de segunda ordem. Quando o número de subintervalos é dobrado, oerro é dividido por quatro.

ì Regra de Simpson Compósita

Na regra de Simpson, isto é Newton-Coates de ordem 2, passa-se uma parábola por trêspontos (dois intervalos ). Desta forma, para aplicar a regra de Simpson compósita o intervalo2inicial tem de ser dividido num número par de subintervalos, sendo a fórmula de Simpson, � +simples aplicada a cada par de intervalos. Por um raciocínio idêntico ao aplicado à regratrapezoidal, chega-se à seguinte expressão para a regra de Simpson compósita:

M œ 0ÐB Ñ � %0ÐB Ñ � #0ÐB Ñ � %0ÐB Ñ � ÞÞÞÞ�#0ÐB Ñ�%0ÐB Ñ � 0 Ð B Ñ2$ Š ! " # $ 8�# 8�" 8 ‹

Observe-se que os pontos interiores pares têm um peso 2, os pontos interiores ímpares têmpeso 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), têmnaturalmente peso 4; os pontos interiores nas extremidades desses intervalos são somados duasvezes e daí terem peso 2. A expressão acima pode ainda escrever-se com largura altura‚média:

(5.12)M œ Ð , � +Ñ ‚0ÐB Ñ � % 0 Ð B Ñ � # 0 Ð B Ñ � 0 Ð B Ñ

$8! 3 3 8 ! !

3œ"ß$ß& 3œ#ß%ß'

8�" 8�#

Page 66: Métodos Numéricos em Engenharia

-66-

Em termos do espaçamento , o erro total desta regra de Simpson compósita é dado por:2

(5.13) -

I œ 2 0L")!

% 3@

ì M œ / B œ / � " œExemplo 5.1: d 1.71828'0

"B "

Neste caso a função integranda é particularmente suave, com derivada finita, e as fórmulas eNewton-Coates devem oferecer boa precisão com um número de pontos baixo.

(a) Melhorar a precisão aplicando a regra trapezoidal e fazendo aumentar o número deintervalos . Os resultados estão sintetizados na seguinte tabela:8

8 M I IÎ2 7#

1 1.85914 0.141 0.141 22 1.75393 0.036 0.143 33 1.73416 0.016 0.143 44 1.72722 0.0089 0.143 5

Observa-se que o erro para uma subdivisão com 2 intervalos já se comporta como ,I µ 2#

com uma constante assimptótica de 0.143, demonstrando assim a característica de segundaordem do método trapezoidal compósito. Desta forma o erro é dividido por quando o%número de intervalos é dobrado (ver na Tabela o erro para e ). Na última coluna são8 œ # %dados os números de avaliação do integrando, , valor que mede o trabalho computacional.7

(b) Agora a precisão é melhorada por aplicação das f'órmulas de Newton-Coatessimples de ordem progressivamente superior:

8 M I 7

1 1.85914 0.141 2

2 1.71886 5.79 10 3

3 1.71854 2.58 10 4

4 1.71828 8.56 10 5

�%

�%

�(

O na Tabela representa agora a ordem das fórmulas de Newton-Coates. Assim a linha 8 8 œ "representa a regra trapezoidal (sendo igual à primeira linha da Tabela da alínea a), é a8 œ #regra de Simpson, e daí por diante. Comparando esta tabela com a da alínea a) podemos

Page 67: Métodos Numéricos em Engenharia

-67-

concluir que a aplicação da regra de Simpson, que apresenta um trabalho computacional igual aaplicar duas vezes a regra trapezoidal, tem um erro substancialmente menor. Esta conclusãopode generalizar-se para muitas outras aplicações de métodos numéricos:

É normalmente mais eficiente utilizar fórmulas de ordem superior do que estar a subdividir os intervalos.

ì Exemplo 5.2: d 0.785398.M œ Ð" � B Ñ B œ Î% œ'0

"# "Î# 1

Neste caso o erro cai muito mais devagar do que no exemplo anterior porque a funçãointegranda apresenta derivadas muito elevadas perto do ponto (recorda-se que o erro éB œ "sempre proporcional a um majorante duma determinada derivada, ver última coluna da Tabela5.1). (a) Regra trapezoidal compósita:

8 M I IÎ2 7, N intervalos1 0.50000 0.2854 0.285 22 0.68301 0.1024 0.410 33 0.72939 0.0560 0.504 44 0.74893 0.0365 0.584 55 0.75926 0.0261 0.653 6

9 #

O erro só se torna proporcional a para intervalos muito pequenos; mesmo para 5 intervalos2#

( ) a constante assimptótica do erro ainda não atingiu um valor constante.2 œ !Þ#

(b) Aplicação sucessiva das fórmulas de Newton-Coates

8 M I 7, ordem1 0.5000 0.2854 22 0.7440 0.0414 33 0.7581 0.0273 44 0.7727 0.0127 55 0.7754 0.0100 6

Mais uma vez uma aplicação da regra de Simpson ( ) é vantajosa relativamente à8 œ #subdivisão do intervalo com regra trapezoidal: o erro é menor do que a subdivisão com 3intervalos.

Page 68: Métodos Numéricos em Engenharia

-68-

5.2 Extrapolação de Richardson

Esta técnica serve para melhorar a precisão duma determinada quantidade quando existemvalores dessa quantidade obtidos em duas (ou mais) malhas diferentes (de espaçamento e2"2 2 � 2# # ", com ). É aplicável em ínumeras situações em cálculo numérico, sempre que aquantidade em causa seja obtida por discretização numa malha (caracterizada por umespaçamento ). Isto acontece em integração numérica (a presente aplicação), em2diferenciação, na resolução de equações diferenciais ordinárias e às derivadas parciais, etc.

Seja uma quantidade que se pretende determinar (pode ser um integral) e uma1 1Ð2Ñaproximação que depende dum parâmetro . Este parâmetro pode ser tornado2progressivamente mais pequeno de forma a melhorar a aproximação de . Desenvolvendo em1série de Taylor temos:

... (5.14)1 Ð 2 Ñ œ 1 � - 2 � - 2 �" ##

onde , , etc, são “constantes” (não dependem de ) e os termos que as contêm- - 2" #representam erros que se pretende eliminar (fazendo ). Repetindo o cálculo da2p!aproximação com uma malha que tenha metade do espaçamento inicial, , temos:1Ð2Ñ 2Î#

... (5.15)1Ð Ñ œ 1 � - 2 � - 2 �2 " "# # %" #

#

Ao se fazer esta operação (como no caso de aplicação das fórmulas de Newton-Coates emvários subintervalos), duplica-se a quantidade de cálculo e reduz-se o erro a metade. A ideia daextrapolação de Richardson é que se pode combinar g e de forma a se obter umaÐ2Ñ 1Ð2Î#Ñaproximação muito melhor, sem que a quantidade de cálculo aumente de forma significativa.Para isso faz-se:

... (5.16)1 Ð2Ñ´#1Ð Ñ � 1Ð2Ñ œ 1 � - 2 � - 2 �"w # w $# $

2#

onde representa a nova aproximação de . Repare-se que agora o erro é de ordem ,1 Ð2Ñ 1 2"#

ou seja, combinaram-se duas expressões de 1 ordem para se encontrar uma de 2 ordem + + �uma melhoria considerável. Este processo pode ser continuado, obtendo-se sucessivamente:

... (5.17)1 Ð2Ñ œ %1 Ð Ñ � 1 Ð2Ñ œ 1 � - 2 � - 2# " "ww $ ww %$ %

" 2$ #Š ‹

.......

(5.18)1 Ð2Ñ œ œ 1�SÐ2 Ñ88�"# 1 Ð Ñ�1 Ð2Ñ

# �"

8 28�" 8�"#

8

Page 69: Métodos Numéricos em Engenharia

-69-

Esta é a fórmula geral para a extrapolação de Richardson. No caso usual de ser par em ,1 2isto é se for obtida com um método de segunda ordem, então no processo conducente àfórmula (5.18) efectuam-se somente as operações pares. Por exemplo, se representar um1integral determinado com a regra trapezoidal compósita (de 2 ordem), sendo o valor de M M M+

"numa malha e o valor numa malha dupla ( , um valor extrapolado do integral será2 M 2Î#Ñ#dado por:

M œ/B>%M �M

$# "

sendo de ordem 4 em . Se a ordem do método inicial fosse 4, então a extrapolação seria2obtida como:

M œ/B>"'M �M

"&# "

sendo de ordem 6.

Faz-se notar que na dedução da extrapolação de Richardson não é necessário que as malhassejam dobradas, isto é não é necessário que a malha fina seja exactamente . Num caso2Î#genérico teríamos, para a extrapolação duma quantidade de segunda ordem:

M œ/B>Ð2 Î2 Ñ M �M

Ð2 Î2 Ñ �"" # # "

#

" ##

A expressão (5.18) continua assim a ser válida com substituído por , onde é o# Ð Ñ 28 22

8"

"#

espaçamento da malha grosseira e o espaçamento da malha fina. A vantagem de se fazer a2#duplicação da malha é que no cálculo da malha fina se vão usar valores que foram já calculadosna malha grosseira, sendo assim mais eficiente computacionalmente.

ì extrapolar o integral do exemplo 5.2 (a):Exemplo 5.3:

Com os valores da regra trapezoidal para 1 e 2 intervalos, a extrapolação de Richardsonfornece:

1.71886, com erro 5.78 10M ¸ œ œ ‚%M �M

$ $%‚"Þ(&$*$�"Þ)&*"%# " �%

Obtem-se desta maneira uma precisão melhor do que com a aplicação da regra trapezoidal em4 intervalos, com metade do esforço computacional. Esta ideia será aplicada no método deintegração de Romberg.

ì # ¸ : Calcular o valor de 6.2831853 através da fórmula que dá o perímetroExemplo 5.4 1de polígonos regulares inscritos num círculo:

Page 70: Métodos Numéricos em Engenharia

-70-

sin (tende para quando tende para infinito, sendo de ordem 2)T œ # # 88 1 118

Fazendo a duplicação sucessiva do número de intervalos , e aplicando (5.18), obtem-se:8

8 T T T T T8 8 8 8 8! " # $ %

1 02 4 5.3333334 5.65685 6.209139 6.2675268 6.122935 6.278295 6.2829056 6.283149616 6.242890 6.282875 6.2831808 6.2831852 6.2831853... .....512 6.283146

Nota: P ; 16 15; 64 63; 256 2558 8 8 8 8 8 8 8" ! ! # " " $ # # % $ $

8�" 8�" 8�" 8�"œÐ%T � T ÑÎ$ T œ Ð T � T ÑÎ T œ Ð T � T ÑÎ T œ Ð T � T ÑÎ

Observe-se que a aplicação da extrapolação de Richardson em 4 níveis, partindo de valoresaté 16, fornece o valor final com 8 algarismos precisos, enquanto que a fórmula original8 œcom 512 só dá 5 algarismos precisos.8 œ

5.3 Método de Romberg

Neste método vão ser utilizados os 2 métodos dados atrás: uma das fórmulas de Newton-Coates mais simples e menos precisas (a regra trapezoidal, com erro proporcional a , em 2 8#

intervalos) e a extrapolação de Richardson, aplicada sucessivamente, para melhorar o resultadofinal.

O integral é primeiramente estimado com um só intervalo, sendo depois os cálculos repetidoscom 2, 4, 8, etc, intervalos. Estes valores são designados , , , , etc. Na aplicaçãoM M M M! ! ! !

" # % )

sucessiva da regra trapezoidal compósita (Eq. 5.10), metade dos valores das funções foram jáobtidos nos intervalos anteriores e não precisam de ser recalculados. Portanto todo o processoenvolvido no método de Romberg requer pouco mais trabalho computacional do que aquelenecessário para a aplicação da última regra trapezoidal (na malha mais fina).

Como a regra trapezoidal é de segunda ordem, estimativas melhoradas para o valor do integralsão conseguidos por extrapolação de Richardson:

M œÐ"Ñ8

%M �M$

Ð!Ñ8

Ð!Ñ8Î#

Page 71: Métodos Numéricos em Engenharia

-71-

O índice inferior entre parêntises designa o nível de aplicação da extrapolação de Richardson,estando relacionado com a melhoria de ordem que se vai atingindo. Os são os integraisM8

Ð!Ñiniciais (calculados com regra trapezoidal na malha com intervalos) e os são os valores8 M8

Ð"Ñextrapolados, sendo já de ordem 4. É possível demonstrar que estes valores são iguais aosobtidos com o método de Simpson em intervalos.8

Aplicando novamente a extrapolação obtemos:

M œÐ#Ñ8

"'M �M"&

Ð"Ñ8

Ð"Ñ8Î#

que representam aproximações de 6 ordem e que já não correspondem a nenhuma regra dea

Newton-Coates. Em geral, teremos

M œÐ5Ñ8

% M � M

% � "

5 8Ð5�"Ñ Ð5�"Ñ

8Î#

5

para uma aproximação de ordem , na malha . A sucessão dos cálculos deve ser a#Ð5 � "Ñ 8seguinte de forma a optimizar o algoritmo:

Malhas/ Níveis:

I01

I02

I04

I08

I12

I14

I24

I18

I28

I38

Page 72: Métodos Numéricos em Engenharia

-72-

Captítulo 6. Equações Diferenciais Ordinárias (EDOs)

O problema é resolver a equação diferencial ordinária de primeira ordem:

(6.1)dd

CB œ0ÐBßCÑ

onde é a variável independente e a variável depedente que se pretende determinar. EsteB CÐBÑtipo de equação é evolutivo, ao longo de , e é preciso assim definir a condição inicial como:B

(6.2)C ´ CÐB Ñ! !

Ao problema de resolver a EDO (6.1) conjuntamente com (6.2) costuma chamar-se umproblema de condições iniciais.

6.1 Fórmulas de diferenciaçãoAntes de darmos os métodos básicos de aproximação numérica da Eq. (6.1) é convenienterevermos os métodos básicos de diferenciação baseados na série de Taylor. Desenvolvendo0ÐBÑ B em série de Taylor em torno do ponto , obtemos:3

....0ÐB Ñ œ 0ÐBÑ � 0 Ð B Ñ 2 � 2 �3�" 3 3w #0 Ð B Ñ

#ww

3

Resolvendo esta equação para a derivada obtemos:0 w

0 ÐBÑ œ � 2 � SÐ2 Ñw #3

0ÐB Ñ�0ÐBÑ2 #

0 Ð B Ñ3�" 3ww

3

Se desprezarmos todos os termos do segundo membro excepto o primeiro, temos a fórmula dediferenças progressivas (ou ascendentes), que é de primeira ordem ( ) como mostra oSÐ2Ñprimeiro termo negligenciado (erro de turncatura, , onde é o polinómio queI ´ 0 � : :ÐBÑw w

aproxima ). De forma idêntica se obtêm as fórmulas dadas de seguida, sendo dado o erro0ÐBÑde truncatura em alguns casos:

• Primeira derivada:Fórmulas progressivas (ascendentes):

1 ordem + w " ww3 #0 ÐBÑ œ I œ � 20 Ð Ñ

0ÐB Ñ�0ÐBÑ2

3�" 3 0

2 ordem + w " # www3 $0 ÐBÑ œ I œ 2 0 Ð Ñ

�0ÐB Ñ�%0ÐB Ñ�$0ÐBÑ#2

3�# 3�" 3 0

Fórmulas regressivas (descendentes):

Page 73: Métodos Numéricos em Engenharia

-73-

1 ordem + w30 ÐBÑ œ

0ÐBÑ�0ÐB Ñ2

3 3�"

2 ordem + w30 ÐBÑ œ

$0ÐBÑ�%0ÐB Ñ�0ÐB Ñ#2

3 3�" 3�#

Fórmulas centrais:

2 ordem + w " # www3 '0 ÐBÑ œ I œ � 2 0 Ð Ñ

0ÐB Ñ�0ÐB Ñ#2

3�" 3�" 0

• Segunda derivada:Fórmulas progressivas (ascendentes):

1 ordem + ww30 ÐBÑ œ

0ÐB Ñ�#0ÐB Ñ�0ÐBÑ2

3�# 3�" 3#

I œ � 20 Ð Ñ � 2 0 Ð Ñwww " # w@'0 (

2 ordem + ww30 ÐBÑ œ

�0ÐB Ñ�%0ÐB Ñ�&0ÐB Ñ�#0ÐBÑ2

3�$ 3�# 3�" 3#

Fórmulas regressivas (descendentes):

1 ordem + ww30 ÐBÑ œ

0ÐBÑ�#0ÐB Ñ�0ÐB Ñ2

3 3�" 3�##

2 ordem + ww30 ÐBÑ œ

#0ÐBÑ�&0ÐB Ñ�%0ÐB Ñ�0ÐB Ñ2

3 3�" 3�# 3�$#

Fórmulas centrais:

2 ordem + ww " # w@3 "#0 ÐBÑ œ I œ � 2 0 Ð Ñ

0ÐB Ñ�#0ÐBÑ�0ÐB Ñ2

3�" 3 3�"# 0

6.2 Métodos de passo simples

Neste tipo de métodos, também designados por métodos de dois níveis (em inglês ouone-steptwo-levels), o valor de no nó depende somente do valor no nó anterior. A equaçãoC 3 � "(6.1) é transformada numa equação algébrica, após aplicação dum método de discretização,escrevendo-se genericamente da seguinte forma:

Page 74: Métodos Numéricos em Engenharia

-74-

(6.3)C œ C � 23�" 3 9

onde é o passo, ou intervalo, definido pela diferença entre valores sucessivos dos nós da2malha segundo ,B

(6.4)2 œ B � B3�" 3

Vamos primeiramente assumir que a malha é uniforme, ou seja o é constante. Na equação2(6.3), represente um valor médio da derivada (ou seja, da inclinação) da função , entre9 CÐBÑB B3 3�" e . As expressões a utilizar para distinguem os vários métodos, como se verá de9seguida. Em geral utilizar-se-á expressões para obtidas pela substituição da derivada por uma9forma de diferenças finitas.

(i) Método de Euler (explícito)

Neste método a derivada é aproximada pela fórmula de diferença de primeira ordemascendente,

dd

CB 2

C �C¸ 3�" 3

de modo que a equação diferencial (6.1) se escreve

(6.5)C œ C � 0 Ð B ß C Ñ 23�" 3 33

Este método diz-se explícito porque os valores de no novo nó só dependem de valores no nóCanterior. Ou seja, sendo conhecidos e , podemos calcular directamente com aB C C3 3 3�"expressão (6.5). Este método pode ser interpretado como usando a inclinação da curva em B3para obter por extrapolação linear o valor de .C3�"

x

y

y(x)

h

x ixi+1

yi

yi+1

y(x i+1)

erro local

Page 75: Métodos Numéricos em Engenharia

-75-

Existem dois tipos de erro de truncatura: local e global. O erro de truncatura local é definidocomo a diferença entre o valor numérico e o valor exacto , assumindo que o valorC CÐB Ñ3�" 3�"inicial do passo, , é exacto, isto é . Como os erros locais se vão somando de passaC C œ CÐBÑ3 3 3para passo, à medida que a integração da EDO progride, o erro global definido como/ œ C � CÐBÑ3 33 será necessariamente maior que o erro local. O erro que interessa nacaracterização dos métodos para EDOs é o erro global e a sua ordem de convergência é,normalmente, menor em uma unidade que a ordem do erro local. Relembra-se ainda que nocálculo de erros de truncatura se assume aritmética perfeita, isto é, não são considerados oserros de arredondamento. Resumindo:

erro truncatura global erro truncatura local propagação erros trunc. emœ � passos anteriores,

ou

/ œ I � Ð I Ñ3 3 5 !5 � 3

Na avaliação dos métodos o erro que interessa é obviamente o global. No método de Euler éfácil mostrar que o erro de truncatura local é dado aproximadamente por:

(6.6)I ¸ 2 µ SÐ2 Ñ3# #

0 Ð B ß C Ñ#

w3 3

e portanto a ordem do erro global será , ou seja o método de Euler é de primeira ordem.SÐ2Ñ

(ii) Método de Heun

Nos métodos que se seguem procura-se melhorar a aproximação inerente ao método de Eulerexplícito. No método de Heun a inclinação da curva, o da Eq. (6.3), em vez de ser calculada9no início do passo, como no método de Euler, é calculada como a média aritmética dos valoresno início e no fim do passo. Introduzindo um valor intermédio , podemos descrever esteC‡

método como constituído por duas partes:

(a) + C œ C 0 Ð B ß C Ñ 2‡3�" 3 33

(6.7) (b) C œ C � Ð 0 Ð B ß C Ñ � 0 Ð B ß C Ñ Ñ 23�" 3 3 3�"

"# 3 3�"

*

Page 76: Métodos Numéricos em Engenharia

-76-

x

y

y(x)

h

xixi+1

inclinação média

Na parte (a) calcula-se uma primeira aproximação do valor de usando o método de EulerC3�"(comparar com Eq. 6.5) e na segunda parte (b) corrige-se essa aproximação. É assim ummétodo do tipo previsor-corrector ( ), envolvendo iteração. Seriapredictor-correctorimpossível aplicar a equação (b) (6.7) uma vez que a inclinação depende do próprio valor dafunção no fim do passo, a incógnita principal. Podem aplicar-se tantos passos (b) quantos seachar necessário para garantir uma certa precisão, sendo o erro relativo aproximado entre osvalores de iterações sucessivas controlado da seguinte forma:

%+ œ � >96± ±C �C

C

**3�"

‡3�"

‡‡3�"

Um valor típico para a tolerância pode ser (0.1 %). Demonstra-se que o método de>96 "!�$

Heun é globalmente de segunda ordem, apresentando assim uma melhoria considerávelrelativamente ao método de Euler.

(iii) Método de Euler modificado

Este método é também designado como método do polígono melhorado. Em vez de aproximara inclinação da curva como a semi-soma das inclinações nos extremos do intervalo, como nométodo de Heun, vai ser utilizada a inclinação no ponto central do intervalo . ÉB3�"Î#constituido por duas partes, usando o método de Euler para prever o ponto médio:

(a) C œ C � 0 Ð B ß C Ñ3�"Î# 3 332#

(6.8) (b) C œ C � 0ÐB ß C Ñ 23�" 3 3�"Î# 3�"Î#

Page 77: Métodos Numéricos em Engenharia

-77-

x

y

xi xi+1/2 xi

y'i+1/2

x

y

xi xi+1

y'i+1/2

yi+1

y(xi+1)

Desta forma, e contrariamente ao método de Heun, não necessita de iteração, sendo tambémglobalmente de segunda ordem. A constante assimptótica de erro é no entanto superior à dométodo de Heun, implicando maior erro para um dado espaçamento .2

(iv) Método de Ralston

Este método é definido como:

C œ C � 2 Ð 5 � 5 Ñ3�" 3" #$ $" #

com: e 5 œ 0 Ð B ß C Ñ 5 œ0ÐB � 2ßC � 25 Ñ" 3 # 3 "3 3$ $% %

sendo também de segunda ordem. Corresponde a uma forma dum método de Runge-Kutta.De facto os métodos dados acima, Heun (sem iteração) e Euler modificado, correspondemtambém a formas de Runge-Kutta de segunda ordem. O método de Ralston é, dos métodos deRunge-Kutta de segunda ordem, o que apresenta uma constante de erro menor.

(v) Métodos ImplícitosPara melhorar a estabilidade numérica é muitas vezes preferível usar métodos implícitos emlugar dos métodos explícitos dados acima. Nos métodos implícitos o avanço da solução dálugar à resolução de equações, geralmente não-lineares, do tipo (ver Capítulo 3), daí0 Ð B Ñ œ !a denominação “implícito”. Alguns destes métodos mais simples são:

(correspondente ao Euler explícito)(a) Método de Euler implícito

(6.9)C œ C � 0ÐBßC Ñ 23�" 3 3�"3

Page 78: Métodos Numéricos em Engenharia

-78-

Método de primeira ordem, ./µSÐ2Ñ

(correspondente ao Heun)(b) Método trapezoidal

(6.10)C œ C � Ð 0 Ð B ß C Ñ � 0 Ð B ß C Ñ Ñ 23�" 3 3 3�""# 3 3�"

Método de segunda ordem, ./ µ S Ð 2 Ñ#

( ) (correspondente ao Euler Modificado)(c) Método do Ponto Médio Midpoint Rule

(6.11)C œ C � 0ÐB ß C Ñ 23�" 3 3�"Î# 3�"Î#

Método de segunda ordem, ./ µ S Ð 2 Ñ#

Repare-se que em todas estas expressões a incógnita aparece no segundo membro, oC3�"quer implica a necessidade de resolução duma equação implícita, como referido acima.

Uma interpretação gráfica destes métodos em termos dum integral,

dd?> d d dœ0Ð>ß?Ñ Ê ? œ 0Ð>ß?Ñ > Ê ? œ ? � 0Ð>ß?Ñ >' ' '3�" 3

>

>

3

3�"

é dada na figura abaixo. Nesta figura usa-se como variável independente, em vez de , e> Bdenota-se e ; o integral, do último termo na equação acima, aparece?> ´ > � > > ´ >3�" 3 ! 3como uma área sombreada. A função mostrada é a derivada da solução, , e não a solução0propriamente dita, (como acontecia nas figuras anteriores).?

Euler explícito Euler implícito Trapezoidal Ponto médio

Observe-se como nos métodos trapezoidal e do ponto médio o acréscimo da solução, dadopela área sombreada, aproxima melhor o integral (a área sob a curva), demonstrando umamelhor precisão comparativamente aos métodos de Euler.

Page 79: Métodos Numéricos em Engenharia

-79-

Captítulo 7. Equações às Derivadas Parciais (EDPs)

É dada uma introdução a este tema usando somente métodos de diferenças finitas.

7.1 Noções Essenciais: Consistênca, Estabilidade e ConvergênciaSeja uma equação às derivadas parciais representada pelo operador

_Ð Ñ œ !Y

e a equação discretizada (às diferenças) representada por

.J Ð Ñ œ !3ß8 ?

onde e representam os índices nos nós duma malha ( espaço, com espaçamento ; 3 8 3 B 8$tempo, com espaçamento ). Designamos por a solução exacta da EDP, por a solução$> Y ?exacta da equação discretizada e por a solução numérica.R

Erro de discretização: (depende de e das diferenças)/ œ � BY ? $ 3Erro de truncatura: I œ Ð Ñ � J Ð Ñ_ Y Y3ß8Erro de arredondamento: V œ �? RErro total: ÐI Ñ œ Y � R œ / � V>9> 3ß8 3ß83ß8

O erro de truncatura pode ser avaliado por meio de análise tipo série de Taylor dos diferentestermos da EDP. O erro que interessa mais é o de discretização, mas é o mais difícil de avaliar.Os erros de truncatura, locais, são transportados pelo operador discretizado e vão afectar deforma diversa os vários pontos do domínio - o erro de discretização vai dar uma medida doerro global, ao contrário do carácter local associado ao erro de truncatura. Isto torna-se clarose escrevermos:

I œ Ð Ñ � J Ð Ñ œ ! � J Ð Ñ œ � J Ð/ � Ñ œ � J Ð/Ñ_ Y Y Y ?3ß8 3ß8 3ß8 3ß8

ou seja:

J Ð/Ñ œ � I3ß8

equação que mostra como o erro de truncatura aparece como fonte do erro de discretização,que é transportado (por convecção e difusão) pelo operador discretizado.

• : a equação às diferenças é consistente com a EDP se o erro de truncaturaConsistênciatende para zero quando e .$ $Bp! >p!

Page 80: Métodos Numéricos em Engenharia

-80-

• Estabilidade: as equações são estáveis se os erros das equações às diferenças decaiem deforma controlada. As equações às diferenças são estáveis se a sua solução exacta é limitada( ; não tende para infinito).bounded

• : a equação às diferenças é convergente quando tende para , num dadoConvergência ? Yponto ( ), se e tendem ambos para zero.3ß 8 B >$ $

Tratamento da Estabilidade:

(i) Método matricialDesignando por a matriz (coluna) do erro, e a matriz do operador que representa a/ Eequação discretizada, temos:

/ E /8 !œ 8

(o tempo é obtido de ). Há estabilidade se se mantém limitado quando . Para> œ 8 > 8p_$ /isso os valores próprios de devem ser menores que :E "

max 3 -Ð Ñ œ l l Ÿ "3

E 3

onde designa o raio espectral da matriz.3

(ii) Método de Séries de Fourier (ou de Van Neumann)

Faz-se e e substitui-se na equação. Para garantir estabilidade devemos ter:I œ:ß; 3 :2 ;" 0

.l l Ÿ "0

7.2 Equações Parabólicas

A equação parabólica típica, unidimensional no espaço, é

(7.1)`? ` ?`> `Bœ

##

onde é o tempo (a coordenada parabólica) e o espaço. Tanto como foram> B > Badimensionalizados. A variável dependente pode representar várias quantidades dependendo?do fenómeno físico em consideração. De notar que matematicamente tanto com podem ter> Bum significado qualquer e não estar ligados à noção de tempo ou espaço.

Page 81: Métodos Numéricos em Engenharia

-81-

Por exemplo para a condução de calor transiente, a equação que representa a conservação deenergia é

3- œ 5`X ` X`> `Bw

#

w#

ou

`X ` X`> `Bw

#

w#œ !

com a difusividade térmica ( : condutibilidade térmica; : volume específico; : calor! 3 3œ 5 Î - 5 -específico). Para evitar confusões, o tempo e espaço dimensionais são denotados com pelica.Se adimensionalizarmos a temperatura com (uma temperatura característica) e o espaçoX!com (um comprimento característico), obtemos:P

" `X " P ` X "X `> X `>P `B P `ÐB ÎP Ñ

`ÐXÎX Ñ ` ÐXÎX Ñ! !

w w# ## # # # #w w

! !#

œ Ê œ! !

Esta expressão mostra que o tempo característico é dado por (relembrar as unidades deP Î# !!, ). Se denotarmos a temperatura adimensional como:7 Î=#

?œXÎX!

a coordenada adimensional comoB

BœBÎPw

e o tempo adimensional como

> œ >ÎÐP Î Ñw # !

obtemos a equação parabólica de partida Eq. (7.1), escrita na forma adimensional.

7.2.1 Método explícitoPara simplificar as expressões iremos considerar somente malhas uniformes, com espaçamentosconstantes no espaço (índice ), e no tempo (índice ). Neste método a derivada no$ $B 3 > 8tempo é aproximada com diferenças progressivas (ascendentes) e a derivada espacial comdiferenças centrais (ver Secção 6.1), ou seja:

? �? ? �#? �?

> B3ß8�" 3ß8 3�"ß8 3ß8 3�"ß8

#$ $œ

Page 82: Métodos Numéricos em Engenharia

-82-

De notar que a derivada no espaço é avaliada no tempo actual, . Agrupando os diversos8termos, de forma a colocar os valores da variável dependente no novo tempo (índice )? 8 � "no membro esquerdo da equação, e os valores conhecidos do tempo actual no membro direito,obtemos:

) com . (7.2)? œ ? � <Ð? �#? � ? < ´ >Î B3ß8�" 3ß8 3�"ß8 3ß8 3�"ß8#$ $

ou . (7.3)? œ <? � ? Ð" � # < Ñ � <?3ß8�" 3�"ß8 3ß8 3�"ß8

Este método chama-se explícito porque, como se vê da Eq. (7.2), permite obter o valor de ?no novo tempo directamente de valores conhecidos do tempo anterior, através duma fórmulaexplícita (não é necessário resolver um sistema de equações). Para garantir a estabilidade dométodo, isto é para que erros não cresçam ao longo do tempo à medida que o cálculoprossegue, os coeficientes de na equação (7.3) devem ser todos positivos. A condição de?estabilidade é assim:

(7.4)! � < Ÿ " Î #

Esta condição implica que o passo no tempo está limitado por (em termos$ $> Ÿ B Î##

dimensionais, para condução de calor, dá: 0.5 - ou seja, o número de Fourier da! $ $>Î B Ÿ#

malha tem de ser menor do que ). A precisão dos resultados no espaço é controlada pelo"Î#espaçamento : temos de diminuir para melhorar essa precisão. A condição de estabilidade$ $B B(7.4) vai implicar uma diminuição muito mais acentuada do (uma vez que o diminui$ $> >quadraticamente com ), o que torna o método explícito pouco atraente na prática.$B

O método generaliza-se facilmente para o caso bidimensional no espaço. A PDE de partida éagora:

`? ` ? ` ?`> `B `B œ Ð �!

# ## # Ñ

e a discretização com os mesmos tipos de diferenças ( é o índice segundo ) dá:4 C

? �?

>? �#? �? ? �#? �?

B C3ß4 3�"ß4 3ß4 3�"ß4 3ß4�" 3ß4 3ß4�"8�" 8

3ß48 8 8 8 8 8

# #$ $ $œ �! !

A condição de estabilidade é dada por:

.$> Ÿ "# Š ‹"

Ð"Î B �"Î C Ñ! $ $# #

Page 83: Métodos Numéricos em Engenharia

-83-

7.2.2 Método de Crank-Nicolson (método implícito)Neste caso a segunda derivada no espaço é calculada como a média aritmética das diferençascentrais no novo tempo e no tempo actual , isto é:8 � " 8

? �? ? �#? �? ? �#? �?> B B

3ß8�" 3ß8 3�"ß8�" 3ß8�" 3�"ß8�" 3�"ß8 3ß8 3�"ß8# #$ $ $ œ!Þ& �Œ �

Agrupando termos, tal como foi feito acima para o método explícito, obtemos:

. (7.5)� <? �Ð#�#<Ñ? � <? œ <? � ? Ð# � # < Ñ � <?3�"ß8�" 3�"ß83ß8�" 3�"ß8�" 3ß8 3�"ß8

Observe-se agora que o valor da variável no ponto , no novo tempo, está ? 3 implicitamenteligado aos respectivos valores nos pontos à volta, e . Deste modo a Eq. (7.5)3 � " 3 � "representa um sistema de equações lineares (do tipo tri-diagonal) que tem de ser invertidoRpara se obter os ( ) no novo tempo, por isso o método de Crank-Nicolson é um? 3œ"ßÞÞÞßR3exemplo dum método implícito. A condição de estabilidade obtem-se novamente forçando oscoeficientes a serem positivos:

(7.6)< Ÿ "

(Nota: nesta determinação, os termos em e , no novo tempo, têm de ser transladados? ?3�" 3�"para o membro direito da Eq. (7.5)). A condição (7.6) é menos restritiva que a condição (7.4);se esta condição for violada, aparecem oscilações na solução mas não há uma instabilidadecatastrófica, como no método explícito. A vantagem do método de Crank-Nicolsonrelativamente aos métodos explícito e totalmente implícito (dado de seguida) é ter melhorprecisão no tempo, sendo de segunda ordem tanto no espaço como no tempo:

erro truncatura, I µ S Ð > Ñ � SÐ B Ñ3ß8# #$ $

7.2.3 Método implícito (geral)Em geral, a segunda derivada pode ser calculada fazendo uma média ponderada (com factor )"entre a diferença central no novo tempo ( ) e no tempo actual ( ). Escrevendo de forma8 � " 8simbólica, para simplificar a notação, temos:

(7.7)$ " $ " $> B B# #? œ < ? � Ð" � Ñ ?3ß8� 3ß8�" 3ß8"

#Š ‹

onde representa uma diferença central e . Este método é implícito, no sentido de$ $ $ $# œ †que necessita da resolução de um sistema de equações lineares para se obter os novos valoresde , desde que . Se , obtemos o método explícito dado acima. Se ,? ! � Ÿ " œ ! œ!Þ&" " "obtemos o método de Crank-Nicolson. Para , a condição de estabilidade é dada por:" �"Î#

< Ÿ "#Ð"�# Ñ"

Page 84: Métodos Numéricos em Engenharia

-84-

Para , obtemos o método totalmente implícito, que é sempre estável:" œ "

(7.8)� <? �Ð"�#<Ñ? � <? œ ?3�"ß8�" 3ß83ß8�" 3�"ß8�"

Este método é equivalente ao uso de diferenças regressivas no tempo, sendo de primeira ordemno tempo ( ).SÐ >Ñ$

7.2.4 Método ADI ( )Alternating Direction ImplicitNos casos unidimensionais no espaço, os métodos anteriores conduzem a sistemas deequações tridiagonais que podem ser facilmente resolvidos com o método directo do algoritmoTDMA. Já em problemas bidimensionais o sistema resultante é pentadiagonal e o TDMA nãopode ser aplicado directamente. O método ADI vai permitir continuar a usar o TDMA emproblemas multidimensionais, tratando implicitamente só os termos ao longo de umacoordenada, e alternando a coordenada implícita em cada passo no tempo.

Para o caso bidimensional, o primeiro passo tempo trata de forma implícita a direcção :B

1 passo: o

? �? ? �#? �?

> B C? �#? �?3ß4 3�"ß4 3ß4 3�"ß4 3ß4�" 3ß4 3ß4�"

8�" 8 8�" 8�" 8�"3ß4

# #

8 8 8

!$ $ $ (7.9)œ �

e no segundo passo é a direcção que é tratada implicitamente:C

2 passo: o

? �? ? �#? �? ? �#? �?

> B C3ß4 3ß4 3�"ß4 3ß4 3�"ß4 3ß4�" 3ß4 3ß4�"8�# 8�" 8�" 8�" 8�" 8�# 8�# 8�#

# #!$ $ $ (7.10)œ �

Este método é de segunda ordem no espaço e no tempo.

7.2.5 Método de DouglasÉ um método implícito, estável e consistente para qualquer , que utiliza diferenças de quarta<ordem no espaço, resultando na equação:

Ð"�'<Ñ? �Ð"!�"#<Ñ? �Ð"�'<Ñ? œ3�"ß8�" 3ß8�" 3�"ß8�"

(7.11)Ð"�'<Ñ? �Ð"!�"#<Ñ? �Ð"�'<Ñ?3�"ß8 3ß8 3�"ß8

Tem um erro de truncatura de .I µ S Ð B Ñ � SÐ > Ñ3ß8% #$ $

Page 85: Métodos Numéricos em Engenharia

-85-

7.2.6 Método com 3 níveis no tempo ( )three time-levelÉ semelhante ao método totalmente implícito mas, com o objectivo de melhorar a precisão notempo, a derivada temporal é calculada com diferenças regressivas de segunda ordem:

$ "# > # >

? �? ? �? ? �#? �?B

3ß8�" 3ß8 3ß8 3ß8�" 3�"ß8�" 3ß8�" 3�"ß8�"#$ $ $� œ

Agrupando termos, obtem-se:

(7.12)� < ? � Ð �#<Ñ? � < ? œ # ? ?3�"ß8�" 3ß8 3ß8�"3ß8�" 3�"ß8�""#

$# �

com erro de truncatura . Requer mais memória do que os métodosI µ S Ð B Ñ � SÐ > Ñ3ß8# #$ $

dados até agora, uma vez que é preciso guardar a variável no tempo anterior .? 8 � "Comparativamente com o método de Crank-Nicolson (ambos de segunda ordem no tempo) émais simples de implementar e é superior quando as condições iniciais são descontínuas.

Um método semelhante de quarta ordem no espaço, obtido do método de Douglas, é dadopela equação:

" $ ""# # #Ö Ð? � ? Ñ � Ð? � ? Ñ× �3�"ß8�" 3�"ß8 3�"ß8 3�"ß8�"

� Ö Ð? � ? Ñ � Ð? � ? Ñ× �& $ "' # #3ß8�" 3ß8 3ß8 3ß8�"

� Ö Ð? � ? Ñ � Ð? � ? Ñ×" $ ""# # #3�"ß8�" 3�"ß8 3�"ß8 3�"ß8�"

(7.13)œ < Ð ? � # ? � ?3�"ß8�" 3ß8�" 3�"ß8�"Ñ

com erro .I µ S Ð B Ñ � SÐ > Ñ3ß8% #$ $

7.3 Equações ElípticasA equação elíptica típica é a equação de Laplace ou de Poisson, por exemplo para a conduçãode calor com fontes internas:

(7.14).f f†Ð5 XÑ � ; œ !

Se for constante e não houver fontes de calor ( ), obtemos a equação de Laplace para o.5 ; œ !campo de temperatura:

(com Laplaciano ) (7.15)? ?X œ ! ´ †f f

Em coordenadas Cartesianas bidimensionais (por exemplo) estas equações escrevem-se:

Page 86: Métodos Numéricos em Engenharia

-86-

` `X ` `X`B `B `C `CÐ Ñ Ð Ñ5 � 5 � ; œ ! (7.16).

e

` X ` X`B `B

# ## #� œ ! . (7.17)

A discretização destas equações com diferenças finitas segue as linhas dadas acima, para asequações parabólicas (note-se que o segundo membro da equação parabólica anterior, éelíptico).

A equação de Laplace é , e usando diferenças centrais para as segundas derivadas?? œ !obtem-se a expressão seguinte, que vem da Eq. (7.9):

? �#? �? ? �#? �?

B C3�"ß4 3ß4 3�"ß4 3ß4�" 3ß4 3ß4�"

# #$ $� œ !

Chamando (razão de aspecto da malha), esta equação escreve-se:" $ $´ CÎ B

(7.18)#Ð" � Ñ ? œ ? � ? � ? � ?" " "# # #3ß4 3�"ß4 3�"ß4 3ß4�" 3ß4�"

Para malha quadrada, , esta equação fica:" œ "

(7.19)? œ Ð? � ? � ? � ? Ñ3ß4 3�"ß4 3�"ß4 3ß4�" 3ß4�""%

mostrando que o valor de num nó da malha ( ) é igual á média dos valores à volta.? 3ß 4

Genericamente a Eq. (7.18) representa um sistema de equações a incógnitas, com matrizR Rpentadiagonal (no caso 2-D; teria 7 diagonais em 3-D), a ser resolvido para se obter os valoresde nos nós da malha. A malha usada para calcular as diferenças finitas tem nós? R R3ß4 Bsegundo , isto é , e nós segundo , isto é , de forma que oB 3œ"ßÞÞÞßR R C 4œ"ßÞÞ Þ ßRB C Cnúmero total de nós é . Assim, o problema da resolução de PDEs elípticasR œ R ‚ RB Creduz-se ao problema da resolução de sistemas de equações lineares, , que foi tratadoE B œ ,no Capítulo 4. Como o número de equações a resolver é normalmente muito elevado(tipicamente 10 ) torna-se inviável o uso de métodos directos, e dos métodos iterativosµ %

deve usar-se um que aproveite da melhor forma a estrutura da matriz . Por esta razão foramEdesenvolvidos vários métodos iterativos para a resolução de sistemas lineares cuja matriz épentadiagonal, sendo alguns dos mais utilizados apresentados seguidamente.

7.3.1 ADI ( )Alternating Direction ImplicitSegue a ideia dada acima no ADI para equações parabólicas (Secção 7.2.3). No caso daequação de calor bidimensional (ver Eq. (7.16)):

Page 87: Métodos Numéricos em Engenharia

-87-

` `X ` `X`B `B `C `CÐ Ñ Ð Ñ5 � 5 œ � ;B C .

representada numa malha Cartesiana com diferenças centrais, obtemos a equaçãopentadiagonal escrita na seguinte forma:

(7.20)E X � E X � E X � E X � E X œ WW W [ [ T T I I R R T

onde se usa uma notação de pontos cardeais (ponto central ; ponto a “este”T ´ 3ß 4I ´ 3 � " ß 4 W ´ 3ß 4 � "; ponto a “sul” ; etc ). É fácil ver que os coeficientes são dados por:

E œ �Ð5 Ñ Ð CÑ ÎÐ BÑI B 3� ß4 4 3�" "# #

? ?

etc... (7.21)

E œ �ÐE � E � E � E ÑT I [ R We .W œ ; Ð BÑ Ð CÑÞ

T ? ?3 4

Faz-se notar que a nomenclatura aqui usada para os coeficientes , , etc , tem sinalE EI [contrário ao da nomenclatura na Secção 4.2.5 (exemplo de TDMA).

Existe uma equação semelhante à Eq. (7.20) para cada um dos nós da malha ( ) e oT 3ß 4sistema resultante é equivalente ao sistema matricial

( matriz )EB , Eœ R ‚ R

com matriz( ) matriz-pentadiagonal A , , , , , onde representa aE œ Ð E E E E Ñ EI [ T I R Tdiagonal principal, é a diagonal imediatamente à direita, a diagonal à esquerda, aE E EI [ Rdiagonal situada casas à direita, etc (a numeração dos volumes de controlo começa em SWRBdo domínio e segue a ordem , seguido de ). A matriz coluna ( ) representa[pI WpR R ‚ "Bos valores da temperatura nos vários nós, e a matriz coluna representa o termo fonte .X W, T

O algoritmo ADI faz-se em dois passos ( índice de iteração):8

passo 1. (7.22)X œ X � ÐX Ñ � ÐX Ñ � W ÑT T T TB C# #

TÐ8� Ñ Ð8� ÑÐ8Ñ Ð8Ñ

" "# #"

E) TŠ? ?

passo 2. (7.23)X œ X � ÐX Ñ � ÐX Ñ � W ÑT T T TB C# #

TÐ8�"Ñ Ð8�"ÑÐ8� Ñ Ð8� Ñ" "

# #"E) T

Š? ?

os operadores de diferenças centrais segundo e segundo são:B C

?B#

T I I [ [ TB TÐX Ñ œ E X � E X � E X

Page 88: Métodos Numéricos em Engenharia

-88-

e (7.24) ?C

#T R R W W TC TÐX Ñ œ E X � E X � E X

onde: e .E ´ � ÐE � E Ñ E ´ � ÐE � E ÑTB I [ TC R W

O parâmetro de iteração , representa um factor de sobrerelaxação, pondendo variar entre e) "um valor mínimo superior a zero, que deve ser optimizado por tentativas. Os valoresintermédios são geometricamente espaçados. Estes parâmetros são aplicados ciclicamente, osmaiores primeiro, sendo o mesmo parâmetro aplicado nos 2 passos.

7.3.2 Método de Gauss-Seidl e SOREstes métodos seguem o que foi exposto nas Secções 4.3.4 e 4.3.5 que, para o caso dumamatriz pentadiagonal como (7.20), permite a escrita de fórmulas iterativas muito simples.Presume-se que a ordem de percorrer os volumes de controlo é a normal ( ).[pIßWpR

Gauss-Seidl:

(7.25)X œTÐ8�"Ñ W �ÐE X �E X �E X �E X Ñ

ET W [ I RW [ I R

Ð8�"Ñ Ð8�"Ñ Ð8Ñ Ð8Ñ

T

Na prática os novos valores de são imediatamente escritos sobre os anteriores de forma queXnão é necessário guardar 2 para e . O número de iterações paraarrays X XÐ8Ñ Ð8�"Ñ

convergência é proporcional a (o que implica que para matrizes cheias este método temR Î#B#

um custo quase igual ao método directo de eliminição - neste ).µ R Î$$

SOR:

(7.26)X œ X �T TÐ8�"Ñ Ð8Ñ =

VE

TT

onde o vector resíduo é dado por:

(7.27)V œ W �ÐE X � E X � E X � E X � E X ÑT T T W [ I RT W [ I RÐ8Ñ Ð8�"Ñ Ð8�"Ñ Ð8Ñ Ð8Ñ

O parâmetro de sobrerelaxação deve ser superior a 1 (se , temos o método de Gauss-= = œ "Seidel) e menor que cerca de 1.7, embora o valor máximo seja dependente do problema. Se =for superior ao o processo diverge rapidamente; se for menor, converge mais devagar. A=maxparagem das iterações faz-se controlando o decaimento da norma do resíduo, sendo usado umcritério de paragem do tipo:

(com 10 )mVm Î m V m � µÐ!Ñ �%% %tol tol

onde é o resíduo inicial (na iteração 0). Pode usar-se a norma :V PÐ!Ñ"

Page 89: Métodos Numéricos em Engenharia

-89-

mVm œ lV l!T œ "

RT

ou a norma :P#

.mVm œ lV lŠ ‹!T œ "

RT

# "Î#

7.3.3 Método fortemente implícito de Stone (SSIP=Stone's Strongly ImplicitProcedure).

Para resolver o sistema

EB ,œ

utiliza-se uma aproximação para , , tal que a decomposição LU de E E E E E PY~ ~ ~ ~´ � œw

seja fácil de obter. A resolução faz-se então por iteração:

E B E B EB , E B <~ ~ ~ Ð8�"Ñ Ð8Ñ Ð8Ñ Ð8Ñœ � Ð � Ñ Ê œ$

com incremento e resíduo . Com a decomposição LU$B B B < , EB´ � ´ �Ð8�"Ñ Ð8Ñ

(diag( ) ) este último sistema resolve-se rapidamente por substituição progressiva eY œ "regressiva:

(um vector auxiliar) (7.28)P Y B < P C < C~ ~ ~ Ð Ñ œ Ê œ Ê$ Ð8Ñ Ð8Ñ

. (7.29)Y B C B~ $ $œ Ê

A ideia para se obter uma boa aproximação LU à matriz original, quando esta é penta-diagonal,é explicada por Stone (SIAM J. Num. Analysis, 5 (1968), p. 530) e, usando a notação dasecção anterior, equivale a:

• matriz matriz com 3-diag( , , )~ ~ ~ ~Ð Ñ œ P P PP W [ T

(na mesma posição do que as correspondentes diagonais em E • matriz matriz com 3-diag( , , )

~ ~Ð Ñ œ " Y YY~ I R (a diagonal principal é unitária)

os valores de e de são obtidos sucessivamente (percorrendo os nós no sentido habitual,P Y~ ~

[pI WpR seguido de ) através das seguintes equações:

~ ~P œ E ÎÐ" � Y ÐWÑÑW W I=

~ ~P œ E ÎÐ" � Y Ð[ÑÑ[ [ R=

(7.30)~ ~ ~ ~ ~ ~ ~ ~ ~P œ E � P Y Ð W Ñ � P Y Ð[Ñ � P Y Ð W Ñ � P Y Ð[ÑT T W I [ R W R [ I=Š ‹

~ ~ ~ ~Y œ E � P Y ÐWÑ Î PI I W I TŠ ‹=

Page 90: Métodos Numéricos em Engenharia

-90-

~ ~ ~ ~Y œ E � P Y Ð[Ñ Î PR R [ R TŠ ‹=

Faz-se notar que, seguindo a ordenação usual, quando se está num nó genérico , o valor deTY Y ÐWÑ Y Ð[ÑR R R no nó a Sul ou a Oeste (isto é, o ou ) são já conhecidos; o mesmoacontece para o do nó a Oeste ( ). O parâmetro serve para sobrerelaxar oP P Ð[ÑI I =processo e deve ser determinado por tentativas, devendo estar entre 0 e 1.

O matriz resíduo, na notação de compasso, é obtida de:

(7.31)V œ W �ÐE X � E X � E X � E X � E X ÑT T W W [ [ I I R R T T

A Eq. (7.28) a ser resolvida por substituição progressiva (directa) pode ser escritaexplicitamente como:

(7.32)~ ~ ~] œ V � P ] � P ] ÎPT T W W [ [ TŠ ‹

onde é um array auxiliar, usado para a resolução por substituição regressiva (inversa) da Eq.](7.29), que se escreve:

. (7.33)~ ~X œ Ð] � P X � P X Ñw w w

T R IT R I

Nesta equação representa a correcção a efectuar na temperatura (o incremento deX w

temperatura), de forma que a temperatura na nova iteração será:

. (7.34)X œ X � XT T TÐ8�"Ñ Ð8Ñ w

O algoritmo é constituído pelas seguintes operações: • Calcular as diagonais de e : , , , , e , Eqs. (7.30);

~ ~ ~ ~ ~ ~ ~P Y P P P Y YI [ T I R Estes valores não se alteram durante o processo iterativo, desde que se= mantenha constante; • Avançar o contador de iteração e repetir os seguintes passos até à norma doÐ8Ñ resíduo diminuir de cerca de 10 relativamente ao resíduo inicial:�%

8 œ 8 � " • para , ..., 4 œ " RC • para ,..., 3 œ " RB calcular os resíduos , Eq. (7.31);VT resolver a Eq. (7.32) e obter a váriavel auxiliar ;]T fim ciclo 3 fim ciclo 4

• para , ..., 14 œ RC • para , ..., 13 œ RB

Page 91: Métodos Numéricos em Engenharia

-91-

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

T corrigir as temperaturas, Eq. (7.34); fim ciclo 3 fim ciclo 4

Para que não se previlegie a direcção relativamente à , nas iterações pares o processo segueB Ceste algoritmo, e nas iterações ímpares os ciclos e são trocados, assim como a sua ordem.4 3

7.3.4 Método do Gradiente Conjugado Simétrico (CGS)Este método aplica-se a matrizes simétricas definidas positivas. Estas matrizes aparecem emmuitos problemas elípticos envolvendo processos de difusão (de calor, por exemplo); a matrizda Secção 7.3.1 é definida positiva. A matriz para a pressão ou correcção de pressão, queaparece em muitos métodos da dinâmica de fluidos computacional, é também positiva definida.Quando existem termos convectivos nas EDPs, as matrizes resultantes já não são simétricasmas o método aqui apresentado pode generalizar-se para esses casos.

Este método é baseado em ideias de minimização, sendo que a resolução do sistema

E † B ,œ

é equivalente ao problema de encontrar o mínimo da função quadrática

J œ † � † œ + B B � B ," X X "# # 34 3 4 3 3B E † B B , ! ! !

3 œ " 4 œ " 3 œ "

8 8 8

relativamente a todos os . Isto pode ser verificado calculando-se a derivada eB `JÎ`B3 3igualando-a a zero.

O método do conjugado gradiente (ver Hestenes e Stieffel, J. Res. Nat. Bur. Standards, 49(1952), p.409) na sua forma básica é aplicável a matrizes não estruturadas e resulta no seguintealgoritmo:

• para iteração zero, , fazer: ; 0; 15 œ ! œ � œ = œ !< , E † B :Ð!Ñ Ð!Ñ Ð!Ñ Ð!Ñ $!

• avançar o contador de iteração: 5 œ 5 � " • Calcular: = œ †Ð5Ñ Ð5�"Ñ Ð5�"Ñ< < "Ð5Ñ Ð5Ñ Ð5�"Ñœ = Î= : < :Ð5Ñ Ð5�"Ñ Ð5Ñ Ð5�"Ñœ � " !Ð5Ñ Ð5Ñ Ð5Ñ Ð5Ñœ = ÎÐ † Ñ: E: B B :Ð5Ñ Ð5�"Ñ Ð5Ñ Ð5Ñœ � ! < < E:Ð5Ñ Ð5�"Ñ Ð5Ñ Ð5Ñœ � ! • Repetir até convergência.

Page 92: Métodos Numéricos em Engenharia

-92-

Este algoritmo necessita de arrays (matrizes coluna de dimensão ): , , e . Aplicado% R < : E: Bdesta forma o algoritmo não é muito eficaz, tornando-se necessário pre-condicionar a matriz Ede forma a diminuir o número de condição da matriz resultante. O precondicionamento consisteem multiplicar a equação original por uma matriz que deve ser fácil de inverter. DesteG�"

modo temos o problema modificado:

Ð Ñ œG EG G B G ,�" �" �"

e o método do gradiente conjugado é aplicado à matriz . O algoritmo modificado éG EG�" �"

só ligeiramento mais complexo do que o anterior, ficando:

• para iteração zero, , fazer: ; 0; 15 œ ! œ � œ = œ !< , E † B :Ð!Ñ Ð!Ñ Ð!Ñ Ð!Ñ $!

• avançar o contador de iteração: 5 œ 5 � " • resolver o sistema G D <�" Ð5Ñ Ð5 Ñœ -1

• Calcular: = œ †Ð5Ñ Ð5�"Ñ Ð5Ñ< D "Ð5Ñ Ð5Ñ Ð5�"Ñœ = Î= : D :Ð5Ñ Ð5Ñ Ð5Ñ Ð5�"Ñœ � " !Ð5Ñ Ð5Ñ Ð5Ñ Ð5Ñœ = ÎÐ † Ñ: E: B B :Ð5Ñ Ð5�"Ñ Ð5Ñ Ð5Ñœ � ! < < E:Ð5Ñ Ð5�"Ñ Ð5Ñ Ð5Ñœ � ! • Repetir até convergência.

É preciso um outro array, que de facto pode ser armazenado sobre . A matriz deD, Apprecondicionamento é obtida por decomposição LU incompleta (ILU), sendo a sua diagonalGcalculada de início, fora do ciclo iterativo. A parte de resolução do sistema precondicionadopara se obter é feita de forma expedita, por substituição inversa e directa uma vez que aDdecomposição é conhecida.G PHYœ