Métodos Matemáticos Aplicados à Engenharia Química...
Transcript of Métodos Matemáticos Aplicados à Engenharia Química...
Universidade Federal do Paraná � UFPR
Departamento de Engenharia Química
Métodos Matemáticos Aplicados àEngenharia Química II
Prof. Éliton Fontana
2018/2
Este material foi desenvolvido como complemento para a disciplina de Métodos Matemáticos
Aplicados à Engenharia Química II. Devido a falta de atenção ou de conhecimento do autor,
eventuais erros podem estar presentes ao longo do texto. Utilize com cautela.
2
Conteúdo
I. Métodos Numéricos para Sistemas Algébricos 6
1. Sistemas de Equações Algébricas Lineares 7
1.1. Conceitos Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. Interpretação Geométrica do Sistema Linear . . . . . . . . . . . . . . . . . . 9
1.3. Solução de Sistemas Lineares por Eliminação de Gauss . . . . . . . . . . . . 11
1.4. Independência Linear e Posto de uma Matriz . . . . . . . . . . . . . . . . . . 14
1.5. Existência e Unicidade para Sistemas Lineares . . . . . . . . . . . . . . . . . 15
2. Algoritmo de Thomas e Métodos Iterativos 21
2.1. Matrizes Tridiagonais e o Algoritmo de Thomas . . . . . . . . . . . . . . . . 22
2.2. Métodos Iterativos para Sistemas Lineares . . . . . . . . . . . . . . . . . . . 24
2.2.1. Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.2. Convergência de Métodos Iterativos . . . . . . . . . . . . . . . . . . . 26
2.3. Condicionamento de Sistemas Lineares . . . . . . . . . . . . . . . . . . . . . 28
3. Sistemas Algébricos Não-Lineares e Método de Newton 33
3.1. Características Gerais dos Métodos de Busca de Raízes . . . . . . . . . . . . 34
3.2. Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1. Método de Newton para uma Equação . . . . . . . . . . . . . . . . . 35
3.2.2. Método de Newton para Sistemas . . . . . . . . . . . . . . . . . . . . 37
4. Métodos Quase-Newton 43
4.1. Método de Newton Modi�cado . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1. Método de Newton Modi�cado para Sistemas Não-Lineares . . . . . . 44
4.2. Método de Broyden (Secantes) . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3
II. Métodos Numéricos para Problemas de Valor Inicial 50
5. Método de Euler 51
5.1. Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.1. Erro Associado ao Método de Euler . . . . . . . . . . . . . . . . . . . 54
5.1.2. Método de Euler para Sistemas de EDO's . . . . . . . . . . . . . . . 56
6. Métodos de Runge-Kutta 61
6.1. Método de Euler Aprimorado (Fórmula de Heun) . . . . . . . . . . . . . . . 61
6.2. Método de Euler Implícito (Inverso) . . . . . . . . . . . . . . . . . . . . . . . 63
6.3. Regra do Ponto Médio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.4. Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.4.1. Método de Runge-Kutta de 2a Ordem . . . . . . . . . . . . . . . . . 66
6.4.2. Método de Runge-Kutta de 4a Ordem . . . . . . . . . . . . . . . . . 69
7. Runge-Kutta Adaptativo e Métodos de Passos-Múltiplos 72
7.1. Método de Runge-Kutta para Sistemas . . . . . . . . . . . . . . . . . . . . . 72
7.2. Métodos de Runge-Kutta Adaptativos . . . . . . . . . . . . . . . . . . . . . 75
7.2.1. Método de Passo Duplo . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.2.2. Método de Runge-Kutta-Fehlberg . . . . . . . . . . . . . . . . . . . . 78
7.3. Métodos de Passos Múltiplos . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.3.1. Método de Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . . 79
7.3.2. Método de Adams-Moulton . . . . . . . . . . . . . . . . . . . . . . . 80
8. Estabilidade de Métodos Numéricos para EDO's e Equações Rígidas 85
8.1. Estabilidade dos Métodos de Resolução de EDO's . . . . . . . . . . . . . . . 85
8.2. Análise de Estabilidade de Métodos de Passo Único . . . . . . . . . . . . . . 86
8.2.1. Equação Modelo: Decaimento de Primeira Ordem . . . . . . . . . . . 87
8.3. Problemas Rígidos (Sti�) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
8.3.1. Sistemas de Equações Diferenciais Rígidas Lineares . . . . . . . . . . 91
8.3.2. Sistemas Não-Lineares . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4
III. Método de Diferenças Finitas 95
9. Métodos Numéricos para Problemas de Valor de Contorno 96
9.1. Estratégias de Solução de PVC's . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.2. Aproximações por Diferenças Finitas . . . . . . . . . . . . . . . . . . . . . . 98
9.2.1. Aproximação da Derivada Primeira . . . . . . . . . . . . . . . . . . . 99
9.2.2. Aproximação da Derivada Segunda . . . . . . . . . . . . . . . . . . . 101
9.2.3. Discretização das Condições de Contorno . . . . . . . . . . . . . . . . 103
9.2.4. Discretização de PVC's utilizando Diferenças Finitas . . . . . . . . . 103
10.Equações Diferenciais Parciais e Método das Linhas 112
10.1. Características Gerais das EDP's . . . . . . . . . . . . . . . . . . . . . . . . 112
10.2. Classi�cação das EDP's de 2ª Ordem Lineares . . . . . . . . . . . . . . . . . 113
10.2.1. EDP's Elípticas, δ < 0 . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.2.2. EDP's Parabólicas, δ = 0 . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.2.3. EDP's Hiperbólicas, δ > 0 . . . . . . . . . . . . . . . . . . . . . . . . 117
10.3. Método das Linhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
11.Método de Diferenças Finitas para EDP's Elípticas 125
11.1. Equação de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.1.1. Discretização das Condições de Contorno . . . . . . . . . . . . . . . . 128
11.1.2. Obtenção do Sistema de Equações Algébricas . . . . . . . . . . . . . 129
12.Método de Diferenças Finitas para EDP's Parabólicas 135
12.1. Equação do Calor Unidimensional . . . . . . . . . . . . . . . . . . . . . . . . 135
12.1.1. Discretização das Derivadas Temporal e Espacial . . . . . . . . . . . 136
12.2. Método Explícito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
12.3. Método Implícito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
5
1. Sistemas de Equações Algébricas
Lineares
A aplicação de leis físicas na modelagem de sistemas de interesse em muitos casos ori-
gina um conjunto de equações algébricas lineares que devem ser resolvidas simultaneamente.
Além disso, métodos de resolução de equações diferenciais com frequência levam à transfor-
mação das equações diferenciais em um conjunto de equações algébricas que podem ser então
resolvidas. Por exemplo, os métodos de diferenças �nitas e de volumes �nitos consistem em
dividir o domínio de solução em um conjunto de pequenos elementos discretos, sendo para
cada elemento atribuída uma equação algébrica. Este processo, chamado de discretização,
sempre origina um conjunto de equações algébricas lineares.
É fundamental conseguir de�nir quando um sistema de equações algébricas lineares possui
alguma solução (ou seja, é consistente) e se essa solução é única ou envolve um certo número
de parâmetros arbitrários. O estudo de sistemas de equações algébricas lineares é um dos
tópicos fundamentais da álgebra linear. A seguir será apresentada uma breve revisão da
teoria básica de sistemas lineares e de sua resolução pelo método de eliminação de Gauss.
1.1. Conceitos Preliminares
Em muitos casos, deve-se buscar soluções para problemas do tipo:
f(x) = 0
Quando a função f(x) possui a forma f(x) = anxn + an−1x
n−1 + . . .+ a1x+ a0 a equação é
chamada de algébrica (ou polinomial). No caso onde n = 1, a equação é linear, enquanto
que para casos onde n > 1 a equação é não-linear. Quando a função f(x) não pode ser
expressa como um polinômio, a equação é dita transcendental (por exemplo, sin(x), ex, . . .)
e possui um comportamento não-linear.
7
A equação anterior possui somente uma variável x, porém com frequência os problemas
envolvem mais de uma variável e um sistema de equações acoplado. Neste momento, será
considerado somente o caso onde todas as equações que foram o sistema são lineares, de
modo que sistema com m equações e n variáveis pode ser expresso como:
a11x1 + a12x2 + . . .+ a1nxn = b1
a21x1 + a22x2 + . . .+ a2nxn = b2
...
am1x1 + am2x2 + . . .+ amnxn = bm
O sistema anterior pode ser escrito de diferentes formas, dependendo da conveniência. Por
exemplo, pode ser expresso na forma vetorial:a11
a21
...
am1
x1 +
a12
a22
...
am2
x2 + . . .+
a1n
a2n
...
amn
xn =
b1
b2
...
bm
A expressão acima pode ainda ser simpli�cada de�nindo-se os vetores an dos coe�cientes
que multiplicam cada uma das variáveis, bem como os termos não-homogêneos (aqueles que
não multiplicam nenhuma das variáveis):
a1x1 + a2x2 + . . .+ anxn = b
onde:
a1 =
a11
a21
...
am1
a2 =
a12
a22
...
am2
an =
a1n
a2n
...
amn
b =
b1
b2
...
bm
Quando todos os termos do vetor b são nulos, o sistema é chamado de homogêneo,
enquanto que no caso onde pelo menos um dos termos bm é diferente de zero, o sistema é
chamado de não-homogêneo.
Na maioria dos casos, o mais conveniente é expressar os coe�cientes na forma de uma
matriz A:
Ax = b
8
onde A é uma matriz m× n de�nida como:
A =
a11 a12 . . . a1n
a21 a22 . . . a2n
......
. . ....
am1 am2 . . . amn
O vetor x contém todas as variáveis do sistema linear:
x =
x1
x2
...
xn
Na maioria casos, a matriz A e o vetor b são conhecidos e deve-se determinar o vetor x
que satisfaça a igualdade. Uma sequência de números s = (s1, s2, . . . , sm) é dita solução do
sistema linear se cada uma das m equações é satisfeita quando x1 = s1, x2 = s2 e assim
sucessivamente. Se existirem uma ou mais soluções s, o sistema é dito consistente e o
conjunto de todas as possíveis soluções é chamado de conjunto de soluções. Caso existir
somente um vetor s que satisfaz a equação, esta solução é chamada de única.
Considere o caso simpli�cado onde m = n = 1:
a11x1 = b1
No caso genérico onde a11 6= 0, a equação anterior admite a solução única x1 = b1/a11, porém,
se a11 = 0 existem duas possibilidades: se b1 6= 0 então não existe nenhum valor de x1 que
satisfaça a equação, portanto a equação não possui solução. Caso b1 = 0 então a equação se
torna 0x1 = 0 e qualquer valor de x1 satisfaz a equação, portanto existem in�nitas soluções.
Apesar de simples, esta equação estabelece um padrão que pode ser observado para qualquer
sistema linear: irá existir 1 solução, nenhuma solução ou in�nitas soluções. Para sistemas
de dimensões superiores, este comportamento pode ser facilmente entendido analisando as
equações do ponto de vista geométrico, como será apresentado a seguir.
1.2. Interpretação Geométrica do Sistema Linear
Considere o caso agora onde m = n = 2:
a11x1 + a12x2 = b1
a21x1 + a22x2 = b2
9
Considerando que a11 ou a12 sejam diferentes de zero, então a primeira equação de�ne
uma reta no plano (x1, x2), sendo que qualquer ponto sobre esta reta é uma solução para
esta equação. De forma semelhante, se a21 ou a22 são não-nulos, a segunda equação forma
uma reta e os pontos sobre esta reta são solução para esta equação.
A partir disto, existem três possibilidades para a solução do sistema composto pelas duas
equações. No primeiro caso, as retas podem se interceptar em um único ponto P , de modo
que o sistema de equações irá admitir somente uma solução (ou seja, existe somente um
conjunto de valores x1, x2 que satisfaz as duas equações ao mesmo tempo). A segunda
possibilidade é que as retas sejam paralelas e não se interceptem em nenhum ponto. Neste
caso, não haverá solução para o sistema linear (o sistema é inconsistente). Por último, as
retas podem ser coincidentes, de modo que qualquer ponto sobre as retas irá satisfazer ambas
as equações e portanto o sistema possui in�nitas soluções. Estas possibilidades são ilustradas
na �gura a seguir.
Anteriormente, assumiu-se que, por exemplo, a11 ou a12 eram não nulos. Caso ambos
valores forem nulos, o comportamento do sistema irá depender do valor de b1. Se b1 6= 0,
então a primeira equação não possui solução e como consequência o sistema também não
possui solução. Porém, se b1 = 0, então qualquer valor de x1 e x2 satisfaz a primeira
equação, sendo que o conjunto de soluções da segunda equação também será solução do
sistema e portanto existem in�nitas soluções.
Uma análise similar pode ser aplicada para sistemas de maior ordem. Por exemplo, para
um sistema com m = n = 3 as soluções de cada uma das 3 equações será um plano no
espaço cartesiano x1, x2, x3. Novamente, os três planos podem se interceptar em um ponto
único (única solução), em in�nitos pontos (in�nitas soluções) ou não se interceptarem (sem
solução). De forma geral, para um sistema com m = n ≥ 4, as soluções representam
hiperplanos em um espaço n-dimensional.
10
1.3. Solução de Sistemas Lineares por Eliminação de Gauss
Como visto anteriormente, um sistema linear pode ser expresso em sua forma matricial
como:
Ax = b
O método de eliminação de Gauss é um dos algoritmos mais simples utilizados para a
resolução de sistemas lineares. O método consiste basicamente em transformar uma matriz
A m× n com m = n em um matriz triangular superior através de operações no sistema que
não alterem a igualdade. O método também pode ser usado para casos onde m 6= n, porém
neste caso a matriz obtida não será triangular.
O primeiro passo para a resolução do problema com o método de eliminação é a obtenção
da matriz aumentada A|b que representa o sistema. Esta matriz consiste na junção da
matriz A com a parte não-homogênea b. Para um sistema com m equações e n variáveis, a
matriz aumentada é expressa como:
A|b =
a11 a12 . . . a1n b1
a21 a22 . . . a2n b2
......
. . ....
...
am1 am2 . . . amn bm
A linha vertical é adicionada somente por conveniência. Para a resolução com o método
de Gauss, deve-se zerar todos os elementos abaixo da diagonal principal da matriz A, de
modo a se obter uma matriz aumentada com o seguinte formato:
A|b∗ =
a11 a12 . . . a1n b1
0 a22 . . . a2n b2
......
. . ....
...
0 0 . . . amn bm
Neste formado, a matriz é chamada de matriz escalonada. As seguintes operações
elementares podem ser aplicadas na matriz aumentada original sem alterar a igualdade do
sistema:
1 - Adição de uma linha com outra linha;
2 - Multiplicação de uma linha por uma constante não-nula;
3 - Troca de posição entre duas linhas.
11
Cabe ressaltar que estas operações podem ser aplicadas somente nas linhas da matriz e
não nas colunas. A partir da obtenção da matriz escalonada, pode-se facilmente obter a
solução do sistema linear através da retro-substituição no sistema linear.
Exercício 01: Resolva o seguinte sistema linear utilizando o método de eliminação de
Gauss.x1 + x2 − x3 = 1
3x1 + x2 + x3 = 9
x1 − x2 + 4x3 = 8
A primeira etapa é de�nir a matriz aumentada com base nos coe�cientes:
A|b∗ =
1 1 −1 1
3 1 1 9
1 −1 4 8
A partir deste ponto, pode-se fazer qualquer uma das operações listadas anteriormente até
se obter a matriz escalonada. Por exemplo, multiplicando a primeira linha por 3 e subtraindo
da segunda linha (L2 → L2 − 3L1), obtém-se:
A|b∗ =
1 1 −1 1
0 −2 4 6
1 −1 4 8
Fazendo agora a terceira linha menos a primeira (L3 → L3 − L1):
A|b∗ =
1 1 −1 1
0 −2 4 6
0 −2 5 7
Por último, pode-se subtrair a segunda linha da terceira (L3 → L3 − L2)
A|b∗ =
1 1 −1 1
0 −2 4 6
0 0 1 1
Assim, o sistema linear inicial pode ser escrito como:
x1 + x2 − x3 = 1
−x2 + 4x3 = 6
x3 = 1
12
Partindo-se da última equação e avançando até a primeira, pode-se facilmente determinar
a solução do sistema:
x3 = 1 x2 = −1 x1 = 3
Para saber se esta é mesmo uma solução do problema, basta substituir os valores obtidos
no sistema original e averiguar se as equações são satisfeitas:
x1 + x2 − x3 = 3− 1− 1 = 1
3x1 + x2 + x3 == 3(3)− 1 + 1 = 9
x1 − x2 + 4x3 = 3− (−1) + 4(1) = 8
Portanto, os valores obtidos são uma solução do sistema.
Neste exemplo, obteve-se uma solução única para o sistema. Porém, como discutido
anteriormente, podem haver casos onde nenhuma solução ou in�nitas soluções são obtidas.
Por exemplo, considere o seguinte sistema linear:
2x1 + 3x2 − 2x3 = 4
x1 − 2x2 + x3 = 3
7x1 − x3 = 2
Aplicando operações elementares nas linhas da matriz aumentada, pode-se mostrar que
este sistema pode ser escrito como:
2x1 + 3x2 − 2x3 = 4
−7x2/2 + 2x3 = 1
−7x2/2 + 2x3 = −4Assim, a segunda e a terceira equação estabelecem igualdades que não podem ser satisfeitas
ao mesmo tempo, portanto o problema não possui solução.
De forma semelhante, quando existirem mais variáveis do que equações (n > m), não será
possível obter uma solução explícita para cada variável, de modo que a solução do problema
irá conter parâmetros em aberto (que podem assumir qualquer valor) e assim o sistema irá
possuir in�nitas soluções.
Na maioria das situações, sistemas sem solução ou com in�nitas soluções não possuem
signi�cado físico consistente. Por isso, deve-se garantir que os sistemas obtidos (por exem-
plo, na discretização de uma equação diferencial) possuam solução única. Para de�nir os
casos onde o sistema possui solução única, é necessário primeiramente rever os conceitos de
independência linear e posto de uma matriz.
13
1.4. Independência Linear e Posto de uma Matriz
Considere um conjunto dem vetores a1, a2, . . . , am com o mesmo número de componentes.
Uma combinação linear destes vetores é uma expressão da forma:
c1a1 + c2a2 + . . .+ cmam
onde c1, c2, . . . , cm são escalares. Considere agora a equação
c1a1 + c2a2 + . . .+ cmam = 0
Uma possibilidade de satisfazer esta igualdade é de�nir todos os escalares c1, c2, . . . , cm = 0.
Se esta for a única forma possível de satisfazer a igualdade, então os vetores a1, a2, . . . , am
formam um conjunto linearmente independentes (L.I.).
Se a equação puder ser satisfeita com pelo menos um dos escalares sendo não-nulos, então
ao menos um dos vetores pode ser escrito como uma combinação linear dos demais e portanto
é linearmente dependente (L.D.). Por exemplo, considere que c1 6= 0, a equação anterior
pode ser escrita como:
a1 = −c2
c1
a2 − . . .−cmc1
am
Ou seja, a1 é uma combinação linear dos demais vetores.
Como visto anteriormente, quando escrito na forma matricial, cada equação passa a ocupar
uma linha da matriz. O número máximo de linhas linearmente independentes (equivalente
ao número máximo de equações L.I.) é chamado de posto (rank) da matriz. O posto de
uma matriz é invariante em relação às operações elementares apresentadas anteriormente.
Por isso, uma das maneiras de determinar o posto da matriz é reduzir ela para a forma
escalonada e observar quantas linhas não nulas são obtidas. Além disso, pode-se mostra que
o posto de uma matriz A e o posto de sua transposta AT são iguais.
Com base nos conceitos de dependência linear e posto de uma matriz, pode-se enunciar
os seguintes teoremas:
Teorema 01: Considere p vetores com cada um possuindo n componentes. Estes vetores
são linearmente independentes se a matriz formada utilizando estes vetores como linhas
possuir um posto p. Em contrapartida, se estes vetores são linearmente dependentes, então
o posto da matriz será menor que p.
Teorema 02: Considere p vetores com cada um possuindo n componentes. Se n < p,
então estes vetores são linearmente dependentes.
14
Em analogia com os sistemas lineares, o Teorema 02 é equivalente a dizer que se existirem
mais variáveis do que equações, algumas das equações serão linearmente dependentes. Outra
forma de entender este teorema é analisar um espaço vetorial. Por exemplo, um espaço no <3
(como um sistema cartesiano x, y, z) será completamente de�nido por três vetores LI (por
exemplo (1, 0, 0), (0, 1, 0), (0, 0, 1)). Qualquer outro vetor neste espaço poderá ser escrito
como uma combinação linear destes.
1.5. Existência e Unicidade para Sistemas Lineares
Com base no conceito de posto de uma matriz, pode-se enunciar os seguintes teoremas
sobre a existência e unicidade da solução de sistemas lineares.
Teorema 03 - Existência: Um sistema linear de m equações e n variáveis da forma:
Ax = b
possui solução (ou seja, é consistente) se e somente se a matriz dos coe�cientes A possuir o
mesmo posto que a matriz aumentada A|b.
De modo geral, o Teorema 03 implica que a adição do vetor b como última coluna não
altera a quantidade de linhas L.I. presentes na matriz. Como enunciado anteriormente, o
posto de uma matriz e de sua transposta são equivalentes. Assim, pode-se interpretar o
teorema acima como sendo equivalente a a�rmar que a coluna b deve ser L.D. com relação
as demais colunas da matriz aumentada. Por exemplo, considere um sistema comm = n = 2,
por simplicidade:
a11x1 + a12x2 = b1
a21x1 + a22x2 = b2
A matriz aumentada e sua transposta podem ser escritas como:
A|b =
a11 a12 b1
a21 a22 b2
A|bT =
a11 a21
a12 a22
b1 b2
Assumindo que o sistema possui solução, então existem valores x1 e x2 que satisfazem o
sistema linear. Isto implica que a terceira linha da matriz transposta (L3) pode ser escrita
como uma combinação linear das outras duas linhas (L1 e L2), da forma:
L3 = L1x1 + L2x2
15
Assim, a linha L3 é L.D. Caso não existirem valores x1 e x2 que possibilitem esta operação,
o sistema não possui solução.
Teorema 04 - Unicidade: Um sistema linear de m equações e n variáveis da forma:
Ax = b
possui solução única se e somente se o posto da matriz dos coe�cientes A e o posto matriz
aumentada A|b forem iguais a n. Se o posto destas matrizes for menor que n, o sistema
possui in�nitas soluções. Considerando que as matrizes possuam um posto r, estas in�nitas
soluções podem ser expressas em termos de n−r parâmetros arbitrários, ou seja, irão formar
um espaço de dimensão n − r. Por exemplo, se n − r = 1, a soluções irão depender de um
parâmetro e serão representadas como uma reta, se n− r = 2 irão depender de 2 parâmetros
serão representadas por um plano e assim sucessivamente.
O Teorema 04 pode ser também expresso da seguinte forma: um sistema linear irá possuir
solução única somente quando existir uma equação L.I. para cada variável desconhecida. Este
teorema pode ser analisado de forma diferente para sistemas homogêneos e não-homogêneos.
Considere um sistema homogêneo da forma:
Ax = 0
Este sistema sempre irá admitir a solução trivial x = 0. Pelo Teorema 04, se o posto r
de A for igual ao número de variáveis n, então esta é a única solução possível. Soluções
não-triviais irão existir se e somente se r < n, sendo que neste caso as soluções irão formar
um espaço vetorial de dimensão r − n (conhecido como espaço de solução).
Considere agora um sistema não-homogêneo da forma
Ax = b
Além dos teoremas de existência e unicidade apresentados anteriormente, pode-se apre-
sentar o seguinte teorema para este tipo de sistema:
Teorema 05: Se um sistema não-homogêneo é consistente, então todas as suas soluções
podem ser obtidas da forma:
x = xh + x0
onde xh é a solução do problema homogêneo associado e x0 é alguma solução do problema
não-homogêneo.
16
Como visto, o Teorema 05 é equivalente ao teorema que garante a solução de EDO's de
segunda ordem não-homogêneas.
Resta agora uma questão a ser avaliada: como posso determinar o posto da matriz A para
garantir que o sistema possui solução única?
Uma maneira de responder esta pergunta é simplesmente aplicando o método de eliminação
de Gauss e buscando uma solução para o problema. Porém, uma estratégia mais sensata é
primeiramente determinar se o problema possui solução para depois tentar encontrá-la.
Na grande maioria dos casos, estaremos trabalhando com casos onde m = n, ou seja, tem-
se o mesmo número de equações e variáveis. Os métodos de resolução de EDP's, por exemplo,
sempre irão gerar sistemas com m = n. Assim, a matriz dos coe�ciente A usualmente será
uma matriz quadrada. Neste caso, pode-se determinar se a matriz possui alguma linha L.D.
calculando o determinante da matriz A. Com base nisso, pode-se enunciar o seguinte
teorema:
Teorema 06: Uma matriz quadrada A n× n possui posto n se e somente se:
detA 6= 0
Exemplo 02: Determine se o seguinte sistema linear possui solução única. Caso possuir,
encontre a solução.
x1 + 3x2 + 5x3 = 14
2x1 − x2 − 3x3 = 3
4x1 + 5x2 − x3 = 7
Primeiramente, deve-se avaliar se o problema possui solução. Para isso, pode-se avaliar o
determinante da matriz dos coe�cientes:
A =
1 3 5
2 −1 −3
4 5 −1
detA = (1)(−1)(−1) + (3)(−3)(4) + (5)(2)(5)− (5)(−1)(4)− (3)(2)(−1)− (1)(−3)(5)
detA = 1− 36 + 50 + 20 + 6 + 15 = 56
Portanto, o determinante é diferente de zero, o que implica que a matriz é L.I.
17
Avaliando a matriz aumentada para aplicar o método de redução de Gauss:
A|b =
1 3 5 14
2 −1 −3 3
4 5 −1 7
Zerando os termos na primeira coluna:
A|b =
1 3 5 14
0 −7 −13 −25
0 −7 −21 −49
Deixando agora a matriz na forma escalonada:
A|b =
1 3 5 14
0 −7 −13 −25
0 0 −8 −24
Assim, o sistema linear pode ser escrito como:
x1 + 3x2 + 5x3 = 14 → x1 = 5
−7x2 − 13x3 = −25 → x2 = −2
−8x3 = −24 → x3 = 3
Referências:
Greenberg, M. D. Advanced Engineering Mathematics, 2nd ed., Prentice Hall, New Jersey: 1998;
Kreyszig, E. Advanced Engineering Mathematics, 10th ed., John Wiley and Sons, 2011.
18
Lista de Exercícios 01 - Sistemas Lineares Algébricos
1) Avalie se as seguintes a�rmativas sobre equações algébricas e transcendentais são verdadeiras
ou falsas. Caso forem falsas, dê um contra-exemplo.
a) Uma equação algébrica é necessariamente linear;
b) Uma equação algébrica é necessariamente não-linear;
c) Uma equação transcendental é necessariamente linear;
d) Uma equação transcendental é necessariamente não-linear;
e) Uma equação linear é necessariamente algébrica;
f) Uma equação não-linear é necessariamente transcendental.
2) Avalie se os seguintes sistemas lineares possuem solução única, in�nitas soluções ou não pos-
suem solução. Caso possuírem solução única, encontre esta solução e veri�que se está correta
substituindo os valores encontrados no sistema linear.
a)
2x− 3y = 1
5x+ y = 2
b)
2x− 3y = 1
4x− 6y = 2
c)
x− 2y = 1
2x− 4y = 4
d)
x1 + 2x2 + 3x3 = 4
5x1 + 6x2 + 7x3 = 8
9x1 + 10x2 + 11x3 = 12
e)
2x1 − 3x2 + 4x3 = 2
4x1 + x2 + 2x3 = 2
x1 − x2 + 3x3 = 3
f)
x1 − x2 + 2x3 + x4 = −1
2x1 + x2 + x3 − x4 = 4
x1 + 2x2 − x3 − 2x4 = 5
x1 + x3 = 1
g)
x1 + x2 + x3 = 0
x1 − 2x2 + 2x3 = 4
x1 + 2x2 − x3 = 2
19
03) Determine para quais valores de λ os seguintes sistemas homogêneos possuem solução não-
trivial. Encontre as soluções não-triviais associadas a cada valor de λ, de�nindo um número neces-
sário de constantes.
a)
2x+ y = λx
x+ 2y = λy
b)
2x− y = λx
−x+ 2y = λy
Respostas:
1) (a) F, (b) F, (c) F, (d) V, (e) V, (f) F
2) (a) solução única, x = 7/17, y = −1/17; (b) in�nitas soluções; (c) sem solução; (d) in�nitas
soluções; (e) solução única, x1 = −1/2, x2 = 1, x3 = 3/2; (f) in�nitas soluções; (g) solução única,
x1 = 4, x2 = −2, x3 = −2.
3) (a) possui solução não-trivial somente se λ = 1 ou λ = 3. Para λ = 1, a solução é da forma
x = c, y = −c, onde c é uma constante e para λ = 3, a solução é da forma x = c, y = c. (b) possui
solução não-trivial somente se λ = 1 ou λ = 3. Para λ = 1, a solução é da forma x = c, y = c, onde
c é uma constante e para λ = 3, a solução é da forma x = c, y = −c.
20
2. Algoritmo de Thomas e Métodos
Iterativos
Como visto na Aula 01, métodos de eliminação direta, como o método de Gauss, podem ser
aplicados para a resolução de sistemas de equações algébricas lineares. Diversos outros métodos
são muito utilizados, como os métodos de Gauss-Jordan, fatoração LU e da matriz inversa. Es-
tes métodos estão baseados em processos de eliminação de determinados termos da matriz dos
coe�cientes através de operações algébricas que não alterem o sistema.
Apesar de não haver uma regra geral, os métodos de eliminação costumam ser aplicados quando
as seguintes condições são satisfeitas: (a) o número de equações é pequeno (menos de 100), (b) a
maioria dos coe�cientes da matriz A são não-nulos, (c) a matriz dos coe�cientes não é predominan-
temente diagonal ou (d) o sistema de equações é mal condicionado (quando pequenos mudanças
nos parâmetros de entrada causam grandes mudanças nos resultados obtidos).
A princípio, os métodos de eliminação poderiam ser aplicados para qualquer sistema. No entanto,
existem alguns problemas que limitam a utilização destes métodos para certas classes de problemas,
especialmente envolvendo um grande número de equações. Nestes casos, é necessário um número
muito grande de operações para se obter a matriz escalonada, o que faz com que os erros de
arredondamento sejam muito signi�cativos.
De modo geral, a utilização de métodos iterativos é mais adequada para a resolução de sistemas
com muitas equações onde não existe uma forma adequada de controlar o erro. No entanto, quando
a matriz possui alguns formatos especí�cos, a utilização de métodos de eliminação próprios para
cada formato pode permitir a resolução de forma simples, com um erro associado baixo e com
um gasto mínimo de memoria computacional. Em particular, são de especial interesse as matrizes
tridiagonais, pois estas surgem com frequência na resolução de EDP's e podem ser resolvidas
facilmente com um método de eliminação chamado de algoritmo de Thomas, como será apresentado
a seguir.
21
2.1. Matrizes Tridiagonais e o Algoritmo de Thomas
Uma matriz é dita tridiagonal quando possui uma largura de banda igual a 3, ou seja, somente a
diagonal principal e os elementos vizinhos acima e abaixo são não-nulos. Este tipo de matriz surge
naturalmente na resolução de EDP's através de métodos implícitos. De forma geral, um sistema
linear tridiagonal n× n pode ser expresso como:
a11 a12 0 0 0 . . . 0 0 0
a21 a22 a23 0 0 . . . 0 0 0
0 a32 a33 a34 0 . . . 0 0 0
0 0 a43 a44 a4,5 . . . 0 0 0...
......
...... . . .
......
...
0 0 0 0 0 . . . an−1,n−2 an−1,n−1 an−1,n
0 0 0 0 0 . . . 0 an,n−1 ann
x1
x2
x3
x4
...
xn−1
xn
=
b1
b2
b3
b4...
bn−1
bn
Para resolver este tipo de sistema, pode-se utilizar uma versão simpli�cada do método de eli-
minação de Gauss conhecida como algoritmo de Thomas. Como todos os elementos da primeira
coluna abaixo da segunda linha são nulos, o único elemento que precisa ser eliminado nesta coluna
é a21. Assim, pode-se fazer a seguinte operação elementar na segunda linha:
L2→ L2− (a21/a11)L1
onde L2 representa a linha 2 e L1 a linha 1. Com isso, a linha 2 passa a ser escrita como:[0 a22 − (a21/a11)a12 a23 0 0 . . . 0 0 0
]De forma similar, para deixar a matriz no formato triangular, na coluna 2 somente o termo
a32 precisa ser eliminado, na coluna 3 somente o termo a43 e assim sucessivamente. Como visto
no exemplo para a primeira coluna, somente o elemento da diagonal superior será alterado pelo
processo de eliminação (o elemento acima não será afetado pois será descontado o valor de zero).
De maneira generalizada, os elementos da diagonal principal após a eliminação passam a ser
avaliados como:
a′i,i = ai,i − (ai,i−1/ai−1,i−1)ai−1,i (i = 2, 3, 4, . . . , n)
Como discutido na aula anterior, as operações elementares utilizadas nos método de eliminação
são aplicadas na matriz aumentada, levando em conta também a parte não-homogênea do sistema.
Por isso, as operações que afetam a diagonal principal também irão afetar o vetor b. Assim, os
elementos deste vetor passam a ser avaliados como:
b′i = bi − (ai,i−1/ai−1,i−1)bi−1 (i = 2, 3, 4, . . . , n)
22
Com isso, pode-se construir uma matriz triangular A′ e o sistema linear pode ser reescrito como:
a11 a12 0 0 0 . . . 0 0 0
0 a′22 a23 0 0 . . . 0 0 0
0 0 a′33 a34 0 . . . 0 0 0
0 0 0 a′44 a4,5 . . . 0 0 0...
......
...... . . .
......
...
0 0 0 0 0 . . . 0 a′n−1,n−1 an−1,n
0 0 0 0 0 . . . 0 0 a′nn
x1
x2
x3
x4
...
xn−1
xn
=
b′1
b′2
b′3
b′4...
b′n−1
b′n
A partir deste sistema, a solução x pode ser avaliada, partindo do último elemento xn e avançando
até o primeiro:
xn = b′n/a′nn
xi = (b′i − a′i,i+1xi+1)/a′i,i i = n− 1, n− 2, n− 3, . . . 1
Uma das principais vantagens do algoritmo de Thomas é sua facilidade de implementação. A
estrutura do código pode ser dividida em duas partes:
(a) Substituição:
Para i = 2 ate n :
ei = ai,i−1/ai−1,i−1
ai,i = ai,i − eiai−1,i
bi = bi − eibi−1
(b) Resolução:
xn = bn/an,n
Para i = n− 1 ate 1 :
xi = (bi − ai,i+1xi+1)/ai,i
É importante observar que o contador na etapa (b) é decrescente, por isso, os valores xi+1 já são
conhecidos quando xi está sendo calculado.
Exemplo 01: Através da aplicação do método de diferenças �nitas, obteve-se o seguinte conjunto
de equações para avaliar a distribuição de temperatura Ti ao longo de um objeto:
T1 = 0
Ti−1 − (2 + α2∆x2)Ti + Ti+1 = 0 i = 2, 3, 4
T5 = 10
23
Considerando que α = 4 e ∆x = 0.125, utilize o algoritmo de Thomas para encontra os valores de
Ti.1
R: T = (0 1.451 3.266 5.896 10)T
2.2. Métodos Iterativos para Sistemas Lineares
O algoritmo de Thomas, apesar de muito simples, está restrito a matrizes estritamente tridia-
gonais. Quando o sistema não possui este formato e a utilização dos métodos de eliminação não é
conveniente, costuma-se utilizar métodos iterativos para a resolução do sistema linear. Estes mé-
todos são particularmente úteis para avaliar matrizes muito esparsas (com muitos elementos iguais
a zero), pois neste caso os métodos tendem a convergir rapidamente.
Para iniciar os métodos iterativos, deve-se assumir uma solução inicial x0 (chute inicial). Atra-
vés de alguma estratégia especí�ca de cada método, este vetor é então corrigido para um valor
aprimorado x1. Este processo é então repetido (iterado) até que a diferença entre o vetor obtido
e o anterior seja menor que um valor especi�cado. Este processo é convergente se cada iteração
produz um valor que se aproxima cada vez mais da solução exata conforme o número de itera-
ções aumenta. O número de interações necessárias para se atingir um determinado critério de
convergência estabelecido depende de vários fatores, podendo-se destacar:
� O formato da matriz dos coe�cientes. Matrizes com superior dominância diagonal convergem
mais rapidamente;
� O método de iteração utilizado, ou seja, a forma como a solução inicial é corrigida;
� A solução inicial assumida. Quanto mais próximo da solução exata, mas rapidamente o
método irá convergir;
� O critério de convergência estabelecido.
Dentre os métodos iterativos mais simples para a resolução de sistemas lineares, pode-se destacar
os de Jacobi e Gauss-Siedel. O método de Jacobi será apresentado a seguir.
2.2.1. Método de Jacobi
O método de Jacobi é o método iterativo mais simples para a resolução de sistemas lineares.
Apesar de apresentar uma convergência relativamente lenta, o método funciona bem para sistemas
1As resoluções dos exemplos no Scilab são apresentadas como anexo, ao �nal do arquivo
24
esparsos com grande dominância diagonal. No entanto, este método não funciona em todos os casos.
Em particular, uma condição necessária é que todos os elementos da diagonal principal sejam não
nulos. Quando algum elemento é nulo, pode-se eventualmente resolver o problema trocando-se a
ordem das linhas (lembrando que esta é uma operação elementar que não altera o sistema).
Considere novamente o sistema linear da forma:a11 a12 . . . a1n
a21 a22 . . . a2n
......
. . ....
an1 an2 . . . ann
x1
x2
...
xn
=
b1
b2...
bn
Assumindo que todos os termos aii são todos não-nulos, a solução deste sistema linear pode ser
dada por:
x1 =1
a11(b1 − a12x2 − a13x3 − . . .− a1nxn)
x2 =1
a22(b2 − a21x1 − a23x3 − . . .− a2nxn)
...
xn =1
ann(bn − an1x1 − an2x2 − . . .− an,n−1xn−1)
Como pode ser visto, para determinar o valor de algum termo xi, é preciso conhecer todos os
outros valores xj , j 6= i. O método de Jacobi consiste em assumir um valor inicial para o vetor
x0, substituir no lado direito das equações anteriores, encontrar um novo valor x1 e continuar com
este processo até que a diferença entre o valor xk e xk+1 seja pequena o su�ciente. Assim, pode-se
estabelecer a seguinte relação para avançar as iterações:
xk+11 =
1
a11(b1 − a12x
k2 − a13x
k3 − . . .− a1nx
kn)
xk+12 =
1
a22(b2 − a21x
k1 − a23x
k3 − . . .− a2nx
kn)
...
xk+1n =
1
ann(bn − an1x
k1 − an2x
k2 − . . .− an,n−1x
kn−1)
As equações acima podem ser expressas de forma geral como:
xk+1i =
1
aii
bi − i−1∑j=1
aijxkj −
n∑j=i+1
aijxkj
Uma maneira mais conveniente de expressar a relação anterior pode ser obtida somando-se e
subtraindo-se (portanto, sem alterar a igualdade) o termo xki do lado direito da equação. Com isso,
temos:
xk+1i = xki +
1
aii
bi − n∑j=1
aijxkj
25
Separando o termo entre parêntesis e de�nido:
Ri = bi −n∑j=1
aijxkj → xk+1
i = xki +Riaii
Quando o método numérico atingir a convergência, o termo Ri será nulo, por isso o termo Ri é
muitas vezes chamado de resíduo da equação. De fato, deve-se garantir que o resíduo diminua ao
longo das iterações para garantir que o método está convergido para algum lugar.
Critério das Linhas
Se o método for convergente, conforme o valor de k aumenta, mais próximo se estará da solução
verdadeira. Um critério que pode ser utilizado para determinar se o método será convergente é
avaliar se a matriz dos coe�cientes possui a diagonal principal dominante, ou seja, se os termos
da diagonal principal em cada linha são maiores (em módulo) que a soma dos demais termos da
mesma linha:
|aii| >∑j=1j 6=i
|aij |
Este critério é muitas vezes chamado de critério das linhas e é uma condição su�ciente, mas não
necessária, para que o método de Jacobi seja convergente para qualquer chute inicial. Quando esta
condição não é satisfeita, o método ainda pode convergir, mas irá depender de outros fatores, como
por exemplo solução inicial adotada.
Anteriormente, foi especi�cado que o processo iterativo deve continuar até que a diferença entre
o valor atual e o anterior seja pequena o su�ciente. Para de�nir o que isto signi�ca, é importante
entender como o erro pode ser calculado.
2.2.2. Convergência de Métodos Iterativos
Todo sistema não-singular de equações algébricas lineares possui uma solução exata. A princípio,
os métodos de resolução direta, como os de eliminação, são capazes de fornecer esta solução exata.
No entanto, como os valores são avaliados computacionalmente com uma quantidade �nita de
algarismos signi�cativos, sempre irão existir erros de arredondamento associados à solução, seja ela
por métodos diretos ou iterativos.
De forma geral, os métodos iterativos costumam ser menos afetados pelos erros de arredonda-
mento do que os diretos, devido principalmente a três fatores: (a) os sistemas de equações resolvidos
iterativamente normalmente possuem a diagonal dominante, (b) usualmente são esparsos e (c) cada
iteração ao longo da resolução é independente dos erros de arredondamento do passo anterior, ou
26
seja, a diferença causada pelo erro somente altera o valor inicial utilizado em cada iteração, mas
não se acumula ao longo das iterações.
Quando um método numérico convergente é utilizado, a solução obtida se aproxima assintotica-
mente da solução exata conforme o número de iterações aumenta. Quando o número de iterações
tende ao in�nito, a diferença entre a solução obtida numericamente e a solução exata é da mag-
nitude da precisão com que os valores são computados (8 algarismos signi�cativos para precisão
simples e 16 para precisão dupla). Normalmente não é necessário atingir uma precisão tão grande,
sendo por isso estabelecido um critério de parada.
A precisão de um método numérico é medida em termos do erro associado ao método. Existem
duas formas de especi�car o erro, de forma absoluta ou relativa:
Erro absoluto = Valor aproximado obtido−Valor exato
Erro relativo =Erro absolutoValor exato
A utilização do erro absoluto como critério de convergência só faz sentido quanto é conhecida
a magnitude da solução exata. Por exemplo, um critério absoluto de 10−3 costuma ser su�ciente
se a solução exata possuir valores da ordem de 102, por exemplo. No entanto, se a solução é da
ordem de 10−4, o critério é totalmente incorreto. Por isso, é sempre mais adequado especi�car o
erro relativo.
No entanto, durante a resolução do sistema linear, o valor da solução exata não é conhecido,
portanto os erros de�nidos anteriormente não podem ser calculados. Por isso, durante a resolução,
o erro é calculado baseado na variação dos valores ao longo das iterações. Ao longo da solução, o
erro absoluto ∆xi = xk+1i − xexatoi é aproximado como ∆xi = xk+1
i − xki .
Em cada iteração realizada o erro pode ser pequeno para um determinado valor de i e grande
para outro valor, por isso deve-se ter cuidado quando é analisado se o critério de convergência foi
atingido. Existem diferentes formas de fazer isto, sendo que as mais comuns são avaliar o valor
máximo entre os erros para cada variável ou o somatório dos erros de cada variável. Considerando
um critério de convergência ε, estes critérios podem ser respectivamente expressos como:
|(xk+1i − xki )max| ≤ ε
n∑i=1
|xk+1i − xki | ≤ ε
É importante destacar que o erro sempre deve ser avaliado emmódulo e que a soma dos módulos
é diferente do módulo das somas. De forma equivalente, os erros relativos podem ser expressos como:∣∣∣∣∣(xk+1i − xki )max
xk+1i
∣∣∣∣∣ ≤ εn∑i=1
∣∣∣∣∣xk+1i − xkixk+1i
∣∣∣∣∣ ≤ εExemplo 02 Resolva os Exemplo 01 utilizando o método de Jacobi, tendo como critério de
convergência um erro relativo menor que 10−3.
27
2.3. Condicionamento de Sistemas Lineares
Uma dúvida comum que surge na resolução de sistemas lineares é em relação à precisão com
que os coe�cientes e a solução precisam ser avaliados, ou seja, quantos algarismos signi�cativos
devem ser utilizados nos cálculos. De forma geral, todo sistema linear Ax = b com detA 6= 0
admite solução única. A princípio, esta solução pode sempre ser obtida utilizando o método de
eliminação de Gauss ou algum método iterativo, como o método de Jacobi, com algarismos com
precisão in�nita. No entanto, todos os cálculos são realizados com valores com precisão limitada.
Como consequência sempre existem erros de arredondamento associados e estes erros podem ou
não alterar a solução do sistema.
Para alguns sistemas, pequenas variações nos coe�cientes causam uma grande variação na solução
obtida. Como muitas vezes os coe�cientes são obtidos através de medidas físicas (que possuem erros
associados) ou advém de outros métodos matemáticos, deve-se avaliar a sensibilidade do sistema
em relação aos coe�cientes. Com base nisso, pode-se dividir os problemas em duas classes:
- Problemas bem condicionados: são aqueles onde uma pequena variação em qualquer um
dos elementos do problema causa somente uma pequena variação na solução do problema;
- Problemas mal condicionados: são problemas onde uma pequena variação em algum dos
elementos causa uma grande variação na solução obtida. Estes problemas tendem a ser muito
sensíveis em relação a erros de arredondamento.
Considere o seguinte sistema: x1 + x2 = 2
x1 + 1.0001x2 = 2.0001
Utilizando o método de eliminação de Gauss, pode-se reescrever o sistema como: x1 + x2 = 2
0.0001x2 = 0.0001
Assim, a solução do sistema é x1 = 1, x2 = 1. Considere agora que o coe�ciente a22 seja alerado
para 0.9999 (uma redução de menos de 0.02%): x1 + x2 = 2
x1 + 0.9999x2 = 2.0001
Utilizando o método de eliminação, podemos reescrever o sistema como: x1 + x2 = 2
−0.0001x2 = 0.0001
Assim, a solução obtida neste caso é x1 = 3, x2 = −1, o que se distancia muito da solução
obtida anteriormente. Este exemplo mostra como um sistema mal condicionado pode ser sensível
aos coe�cientes.
28
Um indicativo de que um sistema pode ser mal condicionado é quando o determinante da matriz
é muito próximo a zero, porém este critério não representa uma avaliação quantitativa do condicio-
namento. Uma maneira de avaliar o quanto um determinado sistema é mal condicionado é através
da determinação do número de condicionamento, que é de�nido com base na norma da matriz
dos coe�cientes e sua inversa.
O número de condicionamento é uma medida da sensitividade do sistema a pequenas variações
em qualquer de seus elementos. A origem deste número não será apresentada aqui, mas pode ser
encontrada em Ho�man (2001). Considerando um sistema linear da forma Ax = b, o número de
condicionamento da matriz A é de�nido como:
C(A) =‖ A ‖ ‖ A−1 ‖
Pequenos valores de C(A), da ordem de uma unidade, indicam uma pequena sensibilidade da
solução em relação a variações nos coe�cientes, ou seja, indicam problemas bem condicionados.
Valores grandes de C(A) mostram que o sistema é mal condicionado.
Na de�nição do número de condicionamento, a norma utilizada é a norma Euclidiana (ou de
Frobenius), de�nida como:
‖ A ‖=
n∑i=1
n∑j=1
(aij)2
1/2
Exemplo 03: Determine o número de condicionamento da seguinte matriz:
A =
1 1
1 1.0001
Primeiramente, pode-se determinar a inversa da matriz A para na sequência calcular as normas.
Lembrando da de�nição, a matriz inversa A−1 é uma matriz tal que:
A ·A−1 = I
Neste caso, como a matriz é pequena, pode-se formar um sistema linear para determinar a
inversa: 1 1
1 1.0001
a b
c d
=
1 0
0 1
Assim:
a+ c = 1
b+ d = 0
a+ 1.0001c = 0
b+ 1.0001d = 1
29
Resolvendo o sistema, obtém-se: 10001 −10000
−10000 10000
Com isso, as normas podem ser calculadas:
‖ A ‖= (12 + 12 + 12 + 1.00012)1/2 = 2.00005
‖ A−1 ‖= (100012 + (−10000)2 + (−10000)2 + 100002)1/2 = 20000.5
Dessa forma, o número de condicionamento será:
C(A) =‖ A ‖ ‖ A−1 ‖= (2.00005)(20000.5) = 40002.0
Como visto, o número de condicionamento é muito elevando, indicando que a matriz é muito
mal condicionada, como discutido anteriormente.
Referências:
Ho�man, J. D. Numerical Methods for Engineers and Scientists. 2nd ed., Marcel Dekker, New
York: 2001.
Chapra, S. C.; Canale R. P. Numerical Methods for Engineers. 6th ed., McGraw Hill, New York:
2010.
30
Lista de Exercícios 02 - Solução Numérica de Sistemas Lineares Algébricos
1) Algoritmo de Thomas. Utilize o algoritmo de Thomas para resolver os seguintes sistemas
tridiagonais, caso possuírem solução única (utilize, de preferência, alguma ferramenta computacio-
nal). Con�ra se os valores obtidos estão corretos substituindo-os no sistema original.
a) 2 1 0 0
1 2 1 0
0 1 2 1
0 0 1 2
x1
x2
x3
x4
=
4
8
12
11
b)
−2 1 0 0
1 −2 1 0
0 1 −2 1
0 0 1 −2
x1
x2
x3
x4
=
5
1
0
8
c) 3 2 0 0
2 3 2 0
0 2 3 2
0 0 2 3
x1
x2
x3
x4
=
12
17
14
7
d)
4 −1 0 0
−1 4 −1 0
0 −1 4 −1
0 0 −1 4
x1
x2
x3
x4
=
0
0
0
0
2) Através da aplicação do método de diferenças �nitas, obteve-se o seguinte conjunto de equações
para a distribuição de temperatura em um material:
T1 = 0
Ti−1 − 4Ti + Ti+1 = 0 i = 2, . . . , 99
T100 = 1
Faça um esboço de um algoritmo para a resolução deste sistema linear através do uso do algoritmo
de Thomas e através do uso do método de Jacobi.
31
3) Método de Jacobi. Utilize o método de Jacobi para obter uma solução aproximada para os
seguintes sistemas lineares. Avalie também o número de condicionamento destes sistemas.
a)
8x1 + 2x2 = 2
1x1 − 7x2 = 7
b)
3x1 − x2 + x3 = 2
x1 + 4x2 + x3 = 1
2x1 + x2 + 6x3 = 4
F 4) Sistema sem diagonal dominante. Considere o seguinte sistema linear:4x+ 2y + 3z = 8
3x− 5y + 2z = −14
−2x+ 3y + 8z = 27
Como pode ser observado, este sistema não possui a diagonal dominante, portanto o critério das
linhas não pode ser aplicado. Utilize o método de Jacobi para encontrar uma solução aproximada
para o sistema. Compare com o valor obtido através do método de eliminação de Gauss.
Respostas:
1) (a) x1 = 1, x2 = 2, x3 = 3, x4 = 4, (b) x1 = −6.2, x2 = −7.4, x3 = −7.6, x4 = −7.8, (c)
x1 = 2, x2 = 3, x3 = 2, x4 = 1, (d) x1 = x2 = x3 = x4 = 0
3) (a) C(A) = 2.0345, x1 = 0.4828, x2 = −0.931, (b ) C(A) = 4.2462, x1 = −0.0303, x2 =
−1.2121, x3 = 0.8788
4) x1 = −1, x2 = 3, x3 = 2
32
3. Sistemas Algébricos Não-Lineares e
Método de Newton
Como visto nas aulas anteriores, para um sistema linear existem três possibilidades para a solução
do sistema: a solução existe e é única, não existe solução ou existem in�nitas soluções. Para
sistemas envolvendo equações não-lineares, existem duas adicionais possibilidades para a resolução
do sistema. A primeira delas é que uma única equação pode não ter solução real, como por exemplo
a equação x2 + 1 = 0. Neste caso, a curva não irá cruzar o eixo x em nenhum ponto, enquanto que
uma reta ax+ b = 0 irá eventualmente cortar o eixo sempre que a 6= 0.
A segunda e mais signi�cativa diferença entre sistemas lineares e não-lineares é que um sistema
não-linear pode ter um número �nito qualquer de soluções. Por exemplo, curvas de�nidas por
dois polinômios podem se cruzar em n pontos, sendo que cada ponto corresponde a uma solução
do sistema. Estas características fazem com que o comportamento governado por sistemas de
equações não-lineares seja, em geral, muito mais complexo que o governado por equações lineares.
Além disso, a maioria dos métodos iterativos utilizados para a resolução de sistemas não-lineares
busca alguma solução do sistema, não fornecendo informações sobre todas as possíveis soluções.
Apesar disto, equações não lineares surgem com frequência na modelagem de diversos problemas,
como por exemplo na área de reatores químicos, em problemas envolvendo distribuição de forças
atuando em ângulos distintos e em diversos métodos de resolução de equações diferenciais. Estes
problemas requerem que as equações não-lineares sejam resolvidas, sendo que este processo pode
ser de�nido como: Considerando uma função ou um conjunto de funções não-lineares f(x), deve-se
encontrar um valor de x = α tal que f(α) = 0. Neste caso, as funções podem ser polinomiais ou
transcendentais. Além disso, em um sistema com n equações, caso alguma delas for não-linear, os
métodos para sistemas lineares já não podem mais ser empregados.
A maioria dos métodos de resolução de sistemas não-lineares são derivados a partir de métodos
de busca de raízes de equações não-lineares, como por exemplo os métodos de Newton, secante,
etc. A seguir serão discutidas algumas características gerais destes métodos.
33
3.1. Características Gerais dos Métodos de Busca de
Raízes
O processo de encontrar a raiz de uma equação não-linear, ou de forma equivalente a solução
de um sistema não-linear, envolve duas etapas. Primeiramente, deve-se delimitar a solução a um
intervalo especí�co e na sequência re�nar a solução até se obter um valor com a precisão desejada.
A etapa de delimitação da solução consiste em encontrar uma estimativa inicial para a solução,
que irá servir como um ponto de partida para os métodos iterativos. Como comentado anterior-
mente, um sistema não-linear pode apresentar múltiplas soluções, sendo que qual destas soluções
será obtida irá depender, na maioria dos casos, desta estimativa inicial. Para o caso de uma única
função ou sistemas com poucas equações, uma maneira simples de obter uma estimativa inicial é
através da análise do grá�co das funções. Para sistemas grandes, no entanto, este procedimento
costuma ser impraticável.
Em sequência, a etapa de re�namento da solução envolve determinar a solução com a precisão
desejada através de algum procedimento adequado. Estes procedimentos podem ser classi�cados
em três categorias:
1. Tentativa e erro: Estes métodos simpli�cados consistem basicamente em chutar uma so-
lução inicial e veri�car se esta solução satisfaz as equações com a precisão desejada. Caso
não satis�zer, escolhe-se outro valor. Este procedimento somente funciona se uma solução
aproximada já é conhecida.
2. Métodos de domínio fechado: São métodos que partem de dois valores que englobam
alguma solução do problema. Para o caso de um sistema f(x) = 0, pode-se escolher um valor
a onde f(a) > 0 e outro valor b onde f(b) < 0. Considerando que a função seja contínua,
com certeza existe alguma solução no intervalo [a, b]. Estes métodos são muito robustos, pois
garante que existe alguma solução no intervalo. No entanto, o processo de convergência pode
ser muito lento. Exemplos de métodos que utilizam este procedimento são os de falsa posição
e bissecção.
3. Métodos de domínio aberto: Esta classe de métodos não mantém a solução presa em um
intervalo especí�co. Como consequência, não são tão robustos quanto os de domínio fechado
e podem vir a divergir. No entanto, utilizam informações da própria equação não-linear para
aproximar a solução, sendo por isso consideravelmente mais e�cientes que os de domínio
aberto. Exemplos de métodos de domínio aberto são os de Newton, secante e ponto-�xo.
Apesar de os métodos de tentativa e erro e de domínio fechado serem úteis para encontrar raízes
de equações, a sua aplicação para a resolução de sistemas não-lineares é bem restrita, sendo que os
34
métodos de domínio aberto são mais facilmente aplicados neste caso. Em particular, os métodos de
Newton e do ponto �xo podem facilmente ser estendidos para a resolução de sistemas não-lineares,
como será apresentado a seguir.
3.2. Método de Newton
O método de Newton é possivelmente o método mais conhecido e utilizado para a solução de
equações não-lineares. A seguir será apresentada uma breve revisão da aplicação do método para
uma única equação (problema de encontrar raízes) e na sequência será apresentada a expansão para
sistemas.
3.2.1. Método de Newton para uma Equação
O método de Newton pode ser obtido diretamente através da expansão em série de Taylor de uma
função em torno de um ponto. Considere que se deseja encontrar os valores de x que satisfazem a
equação:
f(x) = 0
A expansão em série de Taylor de uma função f(x) em torno de um ponto x0 é dada como:
f(x) = f(x0) + f ′(x0)(x− x0) +f ′′(x0)
2!(x− x0)2 +
f ′′′(x0)
3!(x− x0)3 + . . .
=
∞∑n=0
f (n)(x0)
n!(x− x0)n
Vale ressaltar que a expansão em série de Taylor é válida para praticamente qualquer função
in�nitamente diferenciável em x0. Neste caso, a função é dita analítica em x0.
Considere agora que a expansão seja feita nas vizinhanças do ponto x0. Neste caso, a diferença
x−x0 é pequena e os termos (x−x0)2, (x−x0)3, . . . podem ser desprezados. Este processo lineariza
a expansão, pois somente os termos de ordem até 1 são signi�cativos. Com isso, a expansão pode
ser expressa como:
f(x) = f(x0) + f ′(x0)(x− x0)
Pode-se utilizar a expressão acima para avaliar as raízes de f(x):
f(x) = f(x0) + f ′(x0)(x− x0) = 0
Reescrevendo a equação anterior:
(x− x0) = − f(x0)
f ′(x0)→ x = x0 −
f(x0)
f ′(x0)
35
Assumindo que x = x0 seja uma raiz da equação, f(x0) = 0. A expressão anterior pode ser
utilizada para partir de um ponto x0 qualquer e buscar um valor de x tal que f(x) = 0. De forma
generalizada, o método iterativo de Newton é expresso como:
xi+1 = xi −f(xi)
f ′(xi)
Na �gura a seguir é ilustrado como o ponto xi+1 é calculado com base em xi. A principal
vantagem do método de Newton é utilizar o valor da derivada no ponto xi para determinar o novo
ponto xi+1.
Exemplo 01: Utilize o método de Newton para encontrar o ponto de intersecção das funções
f(x) = e−x2e g(x) = x.
R: x = 0.6529
Problemas com o Método de Newton
Como pode ser observado no exemplo anterior, o método de Newton usualmente converge rapi-
damente para a solução do problema. De fato, pode-se mostrar que para um processo convergente
para encontrar uma raiz x = a, o erro ei segue uma relação da forma:
ei+1 =1
2
f ′′(a)
f ′(a)e2i
o que indica que a convergência é de segunda ordem (quadrática).
No entanto, dependendo do valor inicial considerado, a relação anterior pode não ser satisfeita.
Neste caso, o procedimento iterativo pode convergir para outra raiz, divergir ou apresentar uma
convergência muito lenta.
Como o método de Newton envolve o cálculo do termo f(xi)/f′(xi), um problema óbvio do
método é que f ′(xi) deve ser diferente de zero. Mesmo quando f ′(xi) é somente próximo a zero,
36
a tendência é que o ponto xi+1 resultará em um valor muito distante de xi, o que pode fazer com
que o método convirja para outra solução ou tenha uma convergência muito lenta. Além disso,
dependendo do formato da função e das condições iniciais empregadas, o método pode mesmo vir
a divergir ou entrar em um loop in�nito, como ilustrado na �gura a seguir.
Além destes problemas, diversos outros fatores podem di�cultar a convergência do método de
Newton, como por exemplo raízes muito próximas, di�culdade em encontrar um chute inicial ade-
quado, mal condicionamento das equações não-lineares e a falta de conhecimento sobre a natureza
das raízes (reais ou complexas).
Em muitos casos, os problemas de convergência podem ser evitados utilizando um método de
amortecimento da solução, de forma a fazer com que os valores de xi variem menos entre uma
iteração e outra. Isto pode ser conseguir através do uso de um parâmetro de relaxação λi, escrevendo
a relação para xi+1 como:
xi+1 = xi + λif(xi)
f ′(xi)
O parâmetro λi deve ser de�nido no intervalo entre 0 e 1, sendo que quanto mais próximo de
0. Valores abaixo de 1 tendem a fazer com que a solução seja mais lenta em comparação com o
método normal, porém podem evitar com que a solução divirja.
3.2.2. Método de Newton para Sistemas
Um sistema não-linear pode ser escrito de forma geral como:
f1(x1, x2, . . . , xn) = 0
f2(x1, x2, . . . , xn) = 0
...
fm(x1, x2, . . . , xn) = 0
Na forma vetorial, este sistema é expresso simplesmente como:
F(x) = 0
37
Para o caso de funções de várias variáveis, a expansão em série de Taylor em torno de um ponto
leva em conta a dependência com todas as variáveis. Por exemplo, para um função f(x, y), a
expansão em torno de um ponto (x0, y0) é da forma:
f(x, y) = f(x0, y0) +∂f
∂x(x− x0) +
∂f
∂y(y − y0)+
1
2!
(∂2f
∂x2(x− x0)2 +
∂2f
∂x∂y(x− x0)(y − y0) +
∂2f
∂y2(y − y0)2
)+ . . .
Para uma função de n variáveis, a expansão pode ser expressa, de uma forma geral, como:
f(x) = f(x0) +∇f(x0) · (x− x0) +1
2
((x− x0)TH(f(x0)(x− x0))
)+ . . .
onde x = (x1, x2, . . . , xn) e ∇f(x0) é o gradiente de f(x) avaliado em x = x0:
∇f(x0) =
(∂f
∂x1(x0),
∂f
∂x2(x0), . . . ,
∂f
∂xn(x0)
)A matriz H(f(x0)) é chamada de matriz Hessiana de f(x), sendo também avaliada em x = x0.
Esta matriz é expressa como:
H(f(x0)) =
∂2f
∂x21
(x0)∂2f
∂x1∂x2(x0) . . .
∂2f
∂x1∂xn(x0)
∂2f
∂x2∂x1(x0)
∂2f
∂x22
(x0) . . .∂2f
∂x2∂xn(x0)
......
. . ....
∂2f
∂xn∂x1(x0)
∂2f
∂xn∂x2(x0) . . .
∂2f
∂x2n
(x0)
Considerando novamente que as distâncias x−x0 são pequenas, pode-se desprezar os termos de
alta ordem e linearizar a função em torno de x0:
f(x) = f(x0) +∇f(x0) · (x− x0)
Aplicando este conceito para todas as funções do sistema não-linear apresentado anteriormente,
o sistema pode ser expresso como:
f1(x1, x2, . . . , xn) = f1(x0) +∇f1(x0) · (x− x0) = 0
f2(x1, x2, . . . , xn) = f2(x0) +∇f2(x0) · (x− x0) = 0
...
fm(x1, x2, . . . , xn) = fm(x0) +∇fm(x0) · (x− x0) = 0
Na forma vetorial, este sistema pode ser expresso como:
F(x0) +
∇f1(x0)
∇f2(x0)...
∇fm(x0)
· (x− x0) = 0
38
O vetor formado com o gradiente das funções f1(x), f2(x), . . . , fm(x) forma uma matriz chamada
de matriz Jacobiana (J(x)) do sistema. Neste caso, como as derivadas são avaliadas em x0, a
matriz Jacobiana é expressa como:
J(x0) =
∂f1∂x1
∂f1∂x2
. . . ∂f1∂xn
∂f2∂x1
∂f2∂x2
. . . ∂f2∂xn
......
. . ....
∂fm∂x1
∂fm∂x2
. . . ∂fm∂xn
Usando a de�nição da matriz Jacobiana, o sistema pode ser expresso como:
F(x0) + J(x0) · (x− x0) = 0
De forma semelhante ao realizado para uma única equação, pode-se expressar a relação anterior
como um processos iterativo:
J(xi) · (xi+1 − xi) = −F(xi)
Para facilitar a resolução, pode-se de�nir um vetor deslocamento hi = xi+1 − xi:
J(xi) · hi = −F(xi)
A partir da resolução do sistema linear, obtém-se o vetor deslocamento e na sequência os valores
de xi+1 podem ser então avaliados.
Neste caso, a solução é um vetor e não um escalar. Assim, pode-se partir de um vetor inicial x0,
determinar os termos F(xi) e J(xi) e na sequência obter o valor da nova solução xi+1. É importante
destacar que a etada de obtenção de xi+1 sempre irá envolver a resolução de um sistema linear.
Uma maneira de evitar a solução do sistema linear é expressar a relação anterior como:
xi+1 = xi + J−1(xi)F(xi)
Nesta forma, porém, é necessário determinar a inversa da matriz Jacobiana para cada iteração.
Caso a matriz Jacobiana for singular (não possuir inversa), o método de Newton falha e não pode
ser usado para obter a solução. Uma matriz é singular se o seu determinante for igual a zero,
portanto esta é uma maneira simples de avaliar se o método de Newton pode ser empregado.
Os critérios que garantem que o método de Newton será ou não convergente dependem de diversos
fatores, porém de forma geral pode-se dizer que o método tende a ser convergente para qualquer
chute inicial su�cientemente próximo da solução que se está buscando.
Exemplo 02: Encontre a solução do seguinte sistema não-linear, usando como condição inicial
x = (0, 1):
x21 + x2
2 − 4 = 0
x1x2 − 1 = 0
39
Exemplo 03: Utilize o método de Newton para obter a solução do seguinte sistema não-linear.
Utilize como solução inicial x0 = (1, 0, 1)
x2 + y2 + z2 = 5
x2 + y3 − z = 0
x+ z = 3
Exemplo 04: Repita o exemplo anterior usando a seguinte solução inicial: x0 = (1, 2, 1)
40
Lista de Exercícios 03 - Método de Newton
1) Utilize o método de Newton para obter uma solução aproximada para as seguintes equações
não-lineares. Utilize como condição inicial o valor indicado e resolva 3 iterações para cada caso.
a)e−x = x x0 = 0
R: x(3) = 0.561143
b)x3 − 3x+ 1 = 0 x0 = 1.5
R: x(3) = 1.53209
c) cos(x) + 2 sin(x) = −x2 x0 = 0
R: x(3) = −0.65861
d) ln(x) + cos(x) = 0 x0 = 0.5
R: x(3) = 0.39775
2) O método de Newton pode ser utilizado para encontrar o valor aproximado para as raízes
de números reais. Por exemplo, a raiz quadrada de um número a será a solução da equação
f(x) = x2 − a = 0. Utilize o método de Newton para estimar o valor numérico de√
2. Utilize
x0 = 1.0 como valor inicial e resolva três iterações.
R: x(3) = 1.41
03) Utilize o método de Newton para encontrar os quatro pontos de intersecção entre um círculo
descrito por:
x2 + y2 = 4
e uma hipérbole descrita por:
x2 − y2 = 1
Dica: Faça um esboço dos grá�cos das funções e observe a simetria das raízes.
R: x1 = (1.58116, 1.22474), x2 = (−1.58116, 1.22474), x3 = (1.58116,−1.22474), x4 = (−1.58116,−1.22474)
04) Aplique o método de Newton para obter a solução do seguinte sistema não-linear, usando
como condição inicial x = (2, 1). Resolva 3 iterações. Faça um esboço de um algoritmo que possa
ser utilizado para determinar a solução com uma precisão de pelo menos 10−4.
x1 − x2 + 1 = 0
x21 + x2
2 = 4
R: x(3) = (1.4151, 2.41515)
05) Considere o seguinte sistema não-linear:
x2 − 2x− y + 0.5 = 0
x2 + 4y2 − 4 = 0
41
Implemente um código para estimar a solução deste sistema utilizando o método de Newton, con-
siderando como condição inicial x0 = 2, y0 = 0.25 e um critério de convergência de erro absoluto
menor que 10−4.
R: x = (1.900677, 0.311219)
06) Utilize o método de Newton para obter uma solução aproximada para o seguinte sistema
não-linear:
x2 + y2 + z2 = 3
x2 + y2 − z = 1
x+ y + z = 3
Resolva pelo menos três iterações e considere como condição inicial x0 = 1, y0 = 0, z0 = 1.
R: x(3) = (1.125, 0.875, 1)
42
4. Métodos Quase-Newton
Uma das principais di�culdades em aplicar o método de Newton para a resolução de sistemas
não-lineares é que o método exige que, a cada iteração, seja determinada a matriz Jacobiana e um
sistema linear seja resolvido. Por exemplo, para um sistema com n equações, a determinação da
matriz Jacobiana envolve a determinação de n2 derivadas parciais e o sistema linear gerado em
cada iteração será n× n. Para sistemas com muitas equações ou para casos onde as derivadas não
podem ser facilmente obtidas, a aplicação do método de Newton é bastante custosa.
Além disso, o método de Newton pode apresentar diversos outros problemas, como por exemplo
casos onde a matriz Jacobiana é singular e uma grande dependência da condição inicial utilizada.
Diversas modi�cações foram propostas para melhorar determinados aspectos do método de Newton,
em particular para evitar a resolução de um sistema linear a cada iteração. De forma geral, estes
métodos são conhecidos como métodos quase-Newton e consistem em aproximar a matriz Jacobiana
J(xi) por alguma outra matriz Bi. A forma como esta matriz é determinada depende do método
utilizado. O mais simples destes métodos é o de Newton modi�cado, que será discutido a seguir.
4.1. Método de Newton Modi�cado
O método de Newton possui a vantagem de utilizar o valor da derivada da função em um ponto
para estimar o próximo ponto, o que faz com que a convergência do método tenda a ser rápida.
Em contrapartida, isto implica em determinar a derivada da função em cada ponto, ou para o
caso de sistemas, o valor da matriz Jacobiana em cada ponto. Como consequência, para o caso
de sistemas não-lineares, a cada iteração é preciso resolver um sistema linear, o que faz com que o
gasto associado à resolução seja alto.
Por exemplo, para uma única equação f(x) = 0, o método de Newton pode ser expresso como:
xi+1 = xi −f(xi)
f ′(xi)
Partindo de uma solução inicial x0, procede-se com as iterações para re�nar a raiz. O método de
Newton modi�cado consiste em considerar f ′(xi) = f(x0) para todas as iterações, ou seja, manter
o valor da derivada constante e igual ao valor associado à condição inicial. Este método tende
43
a possuir uma convergência muito pior que o método de Newton original, porém não necessita a
avaliação da derivada em cada ponto.
Assim, o método de Newton modi�cado, para encontrar a solução de f(x) = 0, é expresso como:
xi+1 = xi −f(xi)
f ′(x0)
Exemplo 01: Compare a taxa de convergência do método de Newton e do método de Newton
modi�cado para a busca das raízes da seguinte equação:
x2 − 6 sin(x) + ex = 0
Considere como condição inicial x0 = 2. A solução exata para o problema é x = 1.38211.
4.1.1. Método de Newton Modi�cado para Sistemas Não-Lineares
Para o caso da busca de raízes de equações não-lineares, a utilização do método de Newton
modi�cado não se justi�ca, pois uma vez determinada a derivada de f(x) não existe um gasto
grande associado a determinação de f ′(xi). No entanto, para o caso de sistemas não-lineares, cada
nova iteração exige a atualização da matriz Jacobiana e a resolução de um novo sistema linear. O
método de Newton modi�cado aplicado para sistemas, de forma semelhante, consiste em considerar
a matriz Jacobiana constante e igual ao valor calculado com base na condição inicial.
Com visto anteriormente, o método de Newton para sistemas é expresso como:
J(xi) · (xi+1 − xi) = −F(xi) → xi+1 = xi − J−1(xi)F(xi)
Assim, o método de Newton modi�cado para este caso resulta em:
J(x0) · (xi+1 − xi) = −F(xi) → xi+1 = xi − J−1(x0)F(xi)
Para a aplicação do método de Newton, na maioria dos casos é mais conveniente avaliar o sistema
linear do que calcular a inversa da matriz Jacobiana. No entanto, para o método de Newton
modi�cado, como J−1(x0) não irá mudar ao longo das iterações, é mais conveniente determinar
a matriz inversa para a condição inicial. Com isso, não passa a ser mais necessário resolver um
sistema linear a cada iteração.
Exemplo 02: Considere o seguinte sistema não-linear:
x+ y = 3
x2 + y2 = 9
44
Compare a convergência do método de Newton e do método de Newton modi�cado, usando como
condição inicial x0 = (x0, y0) = (1, 5). As possíveis soluções para este problema são os pontos (0, 3)
e (3, 0).
4.2. Método de Broyden (Secantes)
Ométodo de Broyden pode ser entendido como uma extensão do método da secante para sistemas
não-lineares. No método da secante para a busca das raízes de uma função f(x) = 0, o valor da
derivada no ponto xi é avaliado por meio de uma aproximação com diferenças �nitas1
f ′(xi) =f(xi)− f(xi−1)
xi − xi−1
Após esta etapa, o ponto xi+1 é obtido da mesma forma que através do método de Newton:
xi+1 = xi −f(xi)
f ′(xi)
Desta forma, o método da secante não necessita a determinação da derivada da função no ponto
xi. Como desvantagem, este método precisa de dois pontos iniciais para começar o processo iterativo
e é bastante sensível com relação às condições adotadas.
Para o caso de um sistema de n equações, a matriz Jacobiana é aproximada de uma forma
semelhante:
J(xi) =F(xi)− F(xi−1)
xi − xi−1
Por simplicidade, pode-se de�nir:
∆Fi = F(xi)− F(xi−1) ∆xi = xi − xi−1
Assim, a relação anterior pode ser dada por:
J(xi) ·∆xi = ∆Fi
Partindo de uma estimativa inicial para a matriz Jacobiana, pode-se usar a relação anterior para
atualizar o valor de J(xi) a cada iteração do método de Newton. A princípio, a relação anterior
não possui solução única. O método de Broyden consiste em atualizar a matriz Jacobiana de modo
que o novo valor obtido J(xi+1) seja o mais próximo possível de J(xi) e que satisfaça a relação
anterior. Neste contexto, o termo �próximo� signi�ca o valor que minimiza a norma:
||J(xi)− J(xi+1)||1Sugestão: mostre que esta aproximação é um resultado de uma expansão em séries de Taylor truncada no
primeiro termo.
45
Esta condição implica que:
Ji = Ji−1 +∆Fi − Ji−1∆xi
∆xiT∆xi
∆xiT
onde, por conveniência, de�niu-se Ji−1 = J(xi−1) e Ji = J(xi).
Para a utilização do método de Newton, a relação anterior pode ser utilizada quando a deter-
minação da matriz Jacobiana não é trivial (quando as funções não possuem derivadas parciais
conhecidas, por exemplo). No entanto, não elimina a necessidade da resolução de um sistema li-
near a cada iteração. Como visto para o método de Newton modi�cado, uma maneira de evitar a
resolução do sistema é através do uso da inversa da matriz Jacobiana:
xi+1 = xi − J−1i F(xi)
Utilizando a fórmula de Sherman-Morrison em conjunto com a relação anterior para atualizar a
matriz Jacobiana, pode-se obter uma relação para atualizar a inversa da matriz Jacobiana:
J−1i = J−1
i−1 +∆xi − J−1
i−1∆Fi
∆FiT∆Fi
∆FiTJ−1
i−1
As etapas envolvidas na resolução de um sistema linear pelo método de Broyden podem ser
resumidas da seguinte forma:
� Considere um sistema linear com n equações da forma:
F(x) =
f1(x1, x2, x3, . . . , xn)
f2(x1, x2, x3, . . . , xn)...
fn(x1, x2, x3, . . . , xn)
=
0
0...
0
� Utilize uma estimativa inicial para a solução x0 e para a matriz Jacobiana neste ponto J0
(quando possível, determine as derivadas parciais e avalie os valores em x0);
� Determine a inversa de J0 (J−10 );
� Com base em J−10 , calcule x1:
x1 = x0 − J−10 F(x0)
� Atualize a matriz Jacobiana para obter J−11 :
J−11 = J−1
0 +∆x1 − J−1
0 ∆F1
∆F1T∆F1
∆F1TJ−1
0
Lembrando que ∆F1 = F(x1)− F(x0) e ∆x1 = x1 − x0, portanto, estes valores são conhe-
cidos.
46
� Com base em J−11 , determine x2:
x2 = x1 − J−11 F(x1)
� Atualize novamente a matriz Jacobiana para obter J−12 e siga com o procedimento até obter
convergência.
Exemplo 03: Utilize o método de Broyden para obter uma solução aproximada para o seguinte
sistema não-linear:
x+ y = 3
x2 + y2 = 9
Utilize como condição inicial x0 = (x0, y0) = (1, 5).
47
Lista de Exercícios 04 - Métodos Quase-Newton
1) A equação de estado de Van der Waals é expressa por:
P =RT
V − b− a
V 2
onde as constantes a e b são de�nidas em função das propriedades críticas do �uido avalido:
a =27(RTc)
2
64Pcb =
RTc8Pc
Para temperaturas e pressões inferiores às condições críticas (T < Tc, P < Pc), a equação possui
três raízes reais. Para uma condição de saturação, a menor dela corresponde ao volume do líquido
saturado, a maior ao volume do vapor saturado e a raiz intermediária corresponde a um estado
instável e por isso não é considerada.
Para o dióxido de carbono, Tc = 304.2K e Pc = 73.85 bar. Para uma temperatura de T =
273.15K, a pressão de saturação é de P = 34.851 bar. Utilize o método de Newton para estimar
os volumes molares do líquido e do vapor saturado nestas condições. Para determinar o volume do
vapor, utilize como condição inicial V = RT/P e para determinar o volume do líquido utilize como
condição inicial V = 1.5b. Considere R = 83.14 cm3 barmol−1K−1. Resolva cinco iterações para
cada caso e compare com os valores obtidos com o método de Newton modi�cado.
R: Raiz Vapor: V = 504.107 cm3/mol (Newton), V = 510.665 cm3/mol (Newton modi�cado);
Raiz líquido: V = 82.8227 cm3/mol (Newton), V = 82.148 cm3/mol (Newton modi�cado)
2) Utilize o método de Newton modi�cado para estimar a solução dos seguintes sistemas não-
lineares com as condições iniciais especi�cadas. Compare com os valores obtidos com o método de
Newton (lista de exercícios 03). Resolva três iterações.
a)
x2 − 2x− y + 0.5 = 0
x2 + 4y2 − 4 = 0
x0 = (x0, y0) = (2, 0.25)
R: x3 = (1.90073, 0.311254)
b)
x1 − x2 + 1 = 0
x21 + x2
2 = 4
x0 = (x01, x
02) = (2, 1)
R: x3 = (0.647495, 1.647495)
48
3) Utilize o método de Broyden para resolver os sistemas não-lineares apresentados no exercício
02, resolvendo pelo menos 2 iterações.
R: (a) x2 = (1.90087, 0.310765)
R: (b) x2 = (0.426448, 1.42645)
49
5. Método de Euler
A maior parte das equações diferenciais de interesse na engenharia não possuem solução analítica
conhecida. Além disso, em muitos casos as soluções analíticas co-nhecidas são difíceis de serem
utilizadas, por exemplo quando envolvem séries in�nitas ou integrais sem resolução analítica. Nestes
casos é mais conveniente a utilização de ferramentas numéricas para a resolução das equações.
Existem basicamente três formas de analisar equações diferenciais: através de métodos analíticos,
métodos qualitativos e métodos numéricos. Os métodos analíticos permite estabelecer uma relação
direta entre as variáveis dependentes e independentes através de funções válidas em um determi-
nado intervalo. Os métodos qualitativos envolvem a análise do comportamento geral da equação
sem necessariamente buscar uma solução, como por exemplo através da construção do campo de
direções.
Os métodos de resolução numérica permitem que a solução seja estimada para uma dada condição
inicial e um conjunto de parâmetros especí�cos. A ideia geral é de que é possível obter aproximações
da solução de uma determinada EDO avançando em pontos que estão a uma distância ∆t da
condição inicial. Diferentemente dos métodos analíticos, a solução obtida através de métodos
numéricos é válida somente para um conjunto de parâmetros especí�cos e para uma dada condição
inicial. Caso esta condição inicial ou algum parâmetro sejam alterados, deve-se resolver o problema
novamente.
A determinação de qual forma de análise deve ser utilizada irá depender tanto das características
das equações diferenciais que estão sendo avaliadas quanto de que tipo de informação está se
buscando.
Assim como para o caso da resolução de sistemas de equações algébricas, existem diversos mé-
todos que podem ser utilizados para a resolução de sistemas de equações diferenciais. Inicialmente
será apresentado o método de Euler. Este método costuma ser pouco e�ciente para a resolução de
sistemas complexos, porém diversos conceitos fundamentais dos métodos de resolução podem ser
mais facilmente apresentados através deste método.
51
5.1. Método de Euler
O método de Euler é o método mais simples para a aproximação da solução de EDO's. Considere
o seguinte problema de valor inicial de primeira ordem:
y′ =dy
dt= f(t, y) y(t0) = y0
A solução deste PVI passa obrigatoriamente pelo ponto (t0, y0). O objetivo do método de Euler
é estimar o valor da solução y(t) em um ponto com uma distância ∆t do ponto inicial t0. Este
ponto passa a ser chamado de t1 = t0 + ∆t, de modo que o do método de Euler é determina o valor
da solução em t1, y1 = y(t1). A partir deste valor, pode-se estimar o valor da função em um ponto
t2 distante ∆t do ponto t1 e continuar com este procedimento até se obter uma aproximação para
a solução por quantos pontos forem necessários. Esta classe de métodos são chamados de métodos
passo-a-passo. Para avaliar o termo y1 = y(t0 + ∆t), pode-se aplicar uma expansão em séries de
Taylor em torno do ponto t0:
y(t1) = y(t0 + ∆t) = y0 + ∆ty′(t0) +∆t2
2!y′′(t0) +
∆t3
3!y′′′(t0) + . . .
Considerando que o espaçamento ∆t seja muito pequeno, os termos ∆t2, ∆t3, etc. podem ser
desprezados. Com isso:
y(t0 + ∆t) = y1 ≈ y0 + ∆ty′(t0)
Considerando também que y′ = f(t, y), a relação anterior pode ser reescrita como:
y1 = y0 + ∆tf(t0, y0)
De forma geral, a relação anterior pode ser utilizada para estimar a solução para qualquer valor
yn+1 com base no valor para yn:
yn+1 = yn + ∆tf(tn, yn)
Como o valor no novo ponto yn+1 é calculado com base somente em valores no ponto anterior
(já conhecidos), este método é dito explícito.
Estrutura de um código para resolver uma EDO dy/dt = f(t, y) utilizando o método de Euler:
Passo 1: De�nir f(t, y);
Passo 2: De�nir os valores iniciais t[1] = t0, y[1] = y0;
Passo 3: De�nir o tamanho do passo ∆t e o número de passos n;
Passo 4: Para i = 1 até i = n calcular:
k1 = f(t[i], y[i])
y[i+ 1] = y[i] + ∆t× k1
t[i+ 1] = t[i] + ∆t
(5.1)
52
Passo 5: Plotar os resultados.
Exemplo 01): Utilizando o método de Euler, obtenha a solução aproximada até t = 0.5 para o
seguinte PVI, utilizando ∆t = 0.1:
dy
dt= −2t− y y(0) = −1
Neste caso f(t, y) = −2t− y. No ponto inicial temos:
t0 = 0 y0 = −1
Como o passo ∆t é constante, os valores de tn são automaticamente de�nidos, t1 = t0 +∆t = 0.1,
t2 = t1 + ∆t = 0.2, . . .
Avaliando y1 = y(t1) = y(0.1):
y1 = y0 + ∆tf(t0, y0) = −1 + 0.1(−2× 0− (−1)) = −0.9
Repetindo para os próximos passos:
y2 = y1 + ∆tf(t1, y1) = −0.9 + 0.1(−2× 0.1− (−0.9)) = −0.83
y3 = y2 + ∆tf(t2, y2) = −0.83 + 0.1(−2× 0.2− (−0.83)) = −0.787
y4 = y3 + ∆tf(t3, y3) = −0.787 + 0.1(−2× 0.3− (−0.787)) = −0.7683
y5 = y4 + ∆tf(t4, y4) = −0.7683 + 0.1(−2× 0.4− (−0.7683)) = −0.77147
Para comparação, a solução exata da equação diferencial é:
y(t) = −3e−t − 2t+ 2
sendo que para os pontos avaliados a solução exata é:
y0 = −1 y1 = −0.9145 y2 = −0.85619 y3 = −0.8224
y4 = −0.8109 y5 = −0.81959
Exemplo 02): Utilizando o método de Euler, obtenha a solução aproximada para t = 1 para o
seguinte PVI, utilizando ∆t = 0.2:
dy
dt= 2t2y2 y(0) = 1
Com base nos dados fornecidos, t0 = 0 e y0 = 1. Como ∆t = 0.2, temos que t1 = 0.2, t2 = 0.4,
t3 = 0.6, t4 = 0.8 e t5 = 1. Avaliando os termos intermediários:
y1 = y0 + 0.2 · (2 · t20y20) = 1 + 0.2 · (2 · 02 · 12) = 1
53
y2 = y1 + 0.2 · (2 · t21y21) = 1 + 0.2 · (2 · 0.22 · 12) = 1.016
y3 = y2 + 0.2 · (2 · t22y22) = 1 + 0.2 · (2 · 0.42 · 1.0162) = 1.0821
y4 = y3 + 0.2 · (2 · t23y23) = 1 + 0.2 · (2 · 0.62 · 1.08212) = 1.2507
y5 = y4 + 0.2 · (2 · t24y24) = 1 + 0.2 · (2 · 0.82 · 1.25072) = 1.6511
A solução exata em t = 1 é y(1) = 3, portanto a solução obtida está com um erro signi�cativo.
Por este exemplo, �ca claro que é fundamental avaliar os erros associados à utilização do método
de Euler.
5.1.1. Erro Associado ao Método de Euler
A utilização de métodos numéricos sempre leva à obtenção de soluções aproximadas. Uma
importante propriedade dos métodos numéricos é a convergência. Um método é dito convergente
quando a solução obtida tende à solução exata quando o espaçamento ∆t→ 0.
Na resolução de EDO's pelo método de Euler (ou por qualquer outro método), existem duas
fontes de erros:
- Erros de truncamento: erros associados com o truncamento da expansão em série de Taylor no
segundo termo. Como a determinação do ponto yn+1 depende do valor de yn, o erro de truncamento
pode aumentar rapidamente ao longo da resolução. Para reduzir os erros de truncamento, pode-se
reduzir o passo de tempo ∆t.
- Erros de arredondamento: erro associado à precisão dos valores numéricos utilizados (número
de dígitos signi�cativos: 6-9 para precisão única e 15-17 para precisão dupla). Quanto maior for o
número de operações necessárias, maior será o erro de arredondamento. Assim, uma maneira de
reduzir este erro é aumentar o passo de tempo, de modo que menos passos precisam ser resolvidos
para atingir o tempo desejado.
Dessa forma, conforme o passo de tempo aumenta, o erro de arredondamento diminui e o de
truncamento aumenta. Por isso, existe um ponto ótimo onde o erro total é mínimo, como ilustrado
na �gura a seguir. Usualmente os erros de arredondamento são menos signi�cativos, por isso a
tendência é que passos pequenos gerem melhores resultados.
Como visto anteriormente, pode-se obter o valor de uma função y(t) em um ponto tn+1 com base
no valor em tn através de uma expansão em séries de Taylor:
yn+1 = yn + ∆t y′(tn) +∆t2
2!y′′(tn) +
∆t2
3!y′′′(tn) + . . .
A diferença entre o valor exato de yn+1 e o valor aproximado obtido com o uso do método de
Euler corresponde ao erro local de truncamento (para um determinado valor de n):
en+1 =∆t2
2!y′′(tn) +
∆t2
3!y′′′(tn) + . . .
54
Nesta forma, o erro ainda representa uma série in�nita. Para evitar este problema, pode-se
utilizar a fórmula de Taylor com resto de Lagrange:
yn+1 = yn + ∆t y′(tn) +∆t2
2!y′′(c)
onde c ∈ [tn, tn+1]. Este resultado é uma extensão do teorema do valor médio, que diz que dada
uma função contínua f de�nida num intervalo fechado [a,b] e diferenciável em (a,b), existe algum
ponto c em (a,b) tal que :
f ′(c) =f(b)− f(a)
b− a
Utilizando a relação anterior, o erro en+1 pode ser avaliado como:
en+1 =y′′(c)
2∆t2
Como y′′(c) é uma constante (valor �nito), temos que:
en+1 = O(∆t2)
ou seja, o erro local é da ordem de ∆t2.
Como cada passo gera um erro local, quanto mais passos forem utilizados, maior será o acúmulo
de erros. Por isso, quando o valor yn+1 estiver sendo determinado, o erro associado à determinação
do valor de yn também deve ser considerado. Para n passos, o erro global En pode ser avaliado
como:
En+1 = en+1 · n = O(h2) · n = O(h2)n · hh
= O(h)tn
onde h = ∆t. Novamente, como tn é um escalar:
En+1 = O(h)
Assim, o erro global no método de Euler é da ordem do tamanho do passo utilizado. Esta relação
mostra que o erro tende a zero conforme h→ 0 e portanto o método é convergente. De forma geral,
55
um dado método é convergente quando:
En+1 = O(hp) p > 0
Neste caso, o método possui ordem p, portanto, o método de Euler é um método de primeira ordem.
Métodos de ordem superior convergem mais rapidamente para a solução exata (não exigem passos
tão pequenos), sendo por isso mais indicados que os métodos de primeira ordem.
A utilização de um passo muito pequeno (tendendo a zero) é impraticável, pois exigiria um tempo
computacional demasiadamente alto, além de fazer com que os erros de arredondamento aumen-
tassem rapidamente. Um procedimento simples que pode na maioria dos casos ser utilizado para
determinar se o passo utilizado é adequado é resolver o problema com valores de ∆t gradativamente
menores. A partir de um determinado ponto as soluções obtidas serão muito parecidas, sendo que
uma maior redução em ∆t a partir deste ponto não irá reduzir o erro global de forma signi�cativa
e irá aumentar o erro de arredondamento.
5.1.2. Método de Euler para Sistemas de EDO's
O método de Euler explícito pode ser estendido para aplicação em sistemas de EDO's de primeira
ordem. Considere o seguinte sistema de PVI's:
dx
dt= f(t, x, y) x(0) = x0
dy
dt= g(t, x, y) y(0) = y0
De forma semelhante ao realizado para uma única equação, pode-se partir das condições iniciais
e ir avançando ao longo de t com base nos valores já conhecidos:
xn+1 = xn + ∆t · f(tn, xn, yn)
yn+1 = yn + ∆t · g(tn, xn, yn)
Generalizando para um sistema de m equações da forma:
dy1
dt= f1(t, y1, y2, y3, . . . , ym)
dy2
dt= f2(t, y1, y2, y3, . . . , ym)
dy3
dt= f3(t, y1, y2, y3, . . . , ym)
...dym
dt= fm(t, y1, y2, y3, . . . , ym)
y1(t0) = y10
y2(t0) = y20
y3(t0) = y30
...
ym(t0) = ym0
(5.2)
56
A utilização do método de Euler explícito implica em:
y1n+1
y2n+1
y3n+1
...
ymn+1
=
y1n
y2n
y3n
...
ymn
+ ∆t
f1(tn, y1n, y
2n, . . . , y
mn )
f2(tn, y1n, y
2n, . . . , y
mn )
f3(tn, y1n, y
2n, . . . , y
mn )
...
fm(tn, y1n, y
2n, . . . , y
mn )
(5.3)
A aplicação do método para resolução de sistemas também permite que ele seja utilizado para a
resolução de equações de ordem maior que 1. Por exemplo, considere o seguinte PVI:
d2y
dx2= f
(x, y,
dy
dx
)y(0) = y0
dy
dx
∣∣∣x=0
= y1
Esta equação pode ser transformada em um sistema de primeira ordem através da de�nição de
uma variável adicional u:
u =dy
dx→ d2y
dx2=du
dx
Com isso, o PVI pode ser reescrito como:
dy
dx= u y(0) = y0
du
dx= f (x, y, u) u(0) = y1
Este procedimento pode ser aplicado para escrever uma EDO de qualquer ordem como um
sistema de EDO's de primeira ordem.
Exemplo 03: Utilizando o método de Euler, obtenha a solução aproximada para os três pri-
meiros passos de tempo para o seguinte sistema, considerando ∆t = 0.1:
dx
dt= y x(0) = 0
dy
dt= x√y + 3y y(0) = 2
Desse modo, f(t, x, y) = y e g(t, x, y) = x√y + 3y.
Neste caso, temos que t0 = 0, x0 = 0 e y0 = 2. Para avaliar os próximos passos, deve-se
determinar todas as variáveis em t1, na sequência todas as variáveis em t2 e assim sucessivamente:
x1 = x0 + ∆t · f(t0, x0, y0) = 0 + 0.1 · (2) = 0.2
y1 = y0 + ∆t · g(t0, x0, y0) = 2 + 0.1 · (0 ·√
2 + 3 · 2) = 2.6
x2 = x1 + ∆t · f(t1, x1, y1) = 0.2 + 0.1 · (2.6) = 0.46
57
y2 = y1 + ∆t · g(t1, x1, y1) = 2.6 + 0.1 · (0.2 ·√
2.6 + 3 · 2.6) = 3.4122
x3 = x2 + ∆t · f(t2, x2, y2) = 0.46 + 0.1 · (3.4122) = 0.80122
y3 = y2 + ∆t · g(t2, x2, y2) = 3.4122 + 0.1 · (0.46 ·√
3.4122 + 3 · 3.4122) = 4.520896
Exemplo 04: Determine o valor de y(t) em t = 0.2 utilizando como passo de tempo ∆t = 0.1:
d3y
dx3+√xd2y
dx2− 3y = 0 y(0) = 0
dy
dx
∣∣∣x=0
= 2d2y
dx2
∣∣∣x=0
= 1
De�nindo das variáveis adicionais:
u =dy
dxv =
du
dx=d2y
dx2
Com isto, a equação anterior é retomada como:
du
dx= v u(0) = 2
dy
dx= u y(0) = 0
dv
dx+√xv + 3y = 0 v(0) = 1
58
Lista de Exercícios 05 - Método de Euler
1) Utilizando o método de Euler explícito e considerando ∆t = 0.25, determine o valor aproxi-
mado da solução dos seguintes PVI's para t1 = t0 + ∆t, t2 = t0 + 2∆t, t3 = t0 + 3∆t (ou seja, para
os 3 primeiros passos de tempo), onde t0 é o valor de t onde a condição inicial é especi�cada:
a)dy
dt= y2 − t, y(−1) = −1
b)dy
dt= e2/y y(0) = 2
c)eydy
dt+ t2y2 = 0 y(1) = 1
d)dy
dt+y
t2= 2te1/t y(1) = e
2) Utilizando o método de redução de ordem e o método de Euler explícito, obtenha a solução
aproximada dos seguintes PVI's para os quatro primeiros passos de tempo, considerando ∆t = 0.1.
a)d2y
dt2+ t
dy
dt= et, y(0) = 0
dy
dt
∣∣∣t=0
= 1
b) sin(t)d2y
dt2+dy
dt= 2t3 + 1, y(1) = π
dy
dt
∣∣∣t=1
= 0
3) As equações de Lotka-Volterra, também chamadas de equação presa-predador, são um con-
junto de EDO's não-lineares muito empregadas para descrever a dinâmica de sistemas biológicos.
Estas equações são dadas por:dx
dt= αx− βxy
dy
dt= δxy − γy
onde x representa o número de presas, y o número de predadores e α, β, γ e δ são constantes
positivas. Considere um ambiente contento lobos e coelhos, onde estas constantes assumem os
valores de α = 0.3 β = 0.5, γ = 0.6 e δ = 1, sendo que o número de indivíduos é dado em milhares
e o tempo em meses. Obtenha a variação no número de coelhos (x(t)) e lobos (y(t)) entre t = 0 e
t = 16, considerando que para t = 0 temos x = 1.2 e y = 0.3. Utilize ∆t = 0.1.
59
4) Utilizando o método de Euler explícito, obtenha a solução aproximada do seguinte PVI no
intervalo 0 ≤ t ≤ 1, utilizando diferentes valores de ∆t: (i) ∆t = 0.25, (ii) ∆t = 0.1, (iii) ∆t = 0.05
e (iv) ∆t = 0.01:dy
dt=√t+ y y(0) = 4
5) Descreva as principais diferenças entre um método de marcha no tempo, como o método de
Euler, e um método iterativo, como por exemplo os métodos de Jacobi e Newton.
60
6. Métodos de Runge-Kutta
A utilização do método de Euler para a resolução de problemas típicos da engenharia usualmente
implica no uso de passos de tempo muito pequenos para garantir a convergência. Normalmente,
melhores resultados são obtidos com o uso de métodos de maior ordem ou que ao menos possuam
características de convergência mais atrativas.
Como visto na aula passada, o método de Euler possui diversas limitações que restringem o seu
uso a problemas muito especí�cos. Dentre as principais causas destas limitações pode-se citar os
termos desprezados na expansão em série de Taylor, a necessidade de utilizar passos de tempo
muito pequenos e o fato de que o método considera que o valor da derivada y′(ti) é constante em
todo o intervalo (ti, ti+1). O método de Euler serviu como base para o desenvolvimento de métodos
gradativamente mais complexos e com melhor desempenho.
O método de Euler e outros métodos explícitos de maior ordem fazem parte de uma família de
métodos numéricos mais abrangentes chamados de métodos de Runge-Kutta (RK). O método de
Euler corresponde ao método RK de primeira ordem. Além dos métodos RK, outras abordagens
podem ser empregadas, como por exemplo a utilização de métodos implícitos e os métodos de
passos múltiplos. A seguir serão apresentadas três modi�cações do método de Euler que pertencem
a estas categorias.
Assim como para o método de Euler, o objetivo continua sendo buscar uma solução aproximada
para o PVI:dy
dt= f(t, y) y(t0) = y0
6.1. Método de Euler Aprimorado (Fórmula de Heun)
Este método faz parte da categoria de passos múltiplos, onde os valores da derivada em mais de
um ponto são utilizados para determinar o próximo ponto.
A fórmula de Heun é uma modi�cação simples do método de Euler e consiste em uma abordagem
preditiva-corretiva. O passo inicial consiste determinar um valor preditor com base no método de
Euler:
y∗n+1 = yn + ∆t · f(tn, yn)
61
A partir deste valor, é calculada uma etapa corretora com base no valor médio da função avaliada
em yn e no valor preditor y∗n+1:
yn+1 = yn +∆t
2· (f(tn, yn) + f(tn+1, y
∗n+1))
Esta fórmula representa uma correção do valor estimado anteriormente y∗n+1.
Para implementar computacionalmente este método, pode-se utilizar a mesma estrutura geral
apresentada para o método de Euler, sendo necessário somente modi�car o passo 4:
Passo 4: Para i = 1 até i = n calcular:
k1 = f(t[i], y[i])
yp[i+ 1] = y[i] + ∆t× k1
t[i+ 1] = t[i] + ∆t
k2 = f(t[i+ 1], yp[i+ 1])
y[i+ 1] = y[i] + (∆t/2)(k1 + k2)
Exemplo 01) Repita o exemplo visto anteriormente utilizando a fórmula de Euler aprimorada.
Lembrando do PVI (∆t = 0.2):
dy
dt= 2t2y2 y(0) = 1
A resolução com o método de Euler modi�cado envolve mais etapas:
- Passo 1:
k1 = f(t0, y0) = 0 yp1 = y0 + ∆t · k1 = 1 t1 = t0 + ∆t = 0.2
k2 = f(t1, yp1) = 0.08 y1 = y0 + (∆t/2) · (k1 + k2) = 1.008
- Passo 2:
k1 = f(t1, y1) = 0.08128 yp2 = y1 + ∆t · k1 = 1.0243 t2 = t1 + ∆t = 0.4
k2 = f(t2, yp2) = 0.3357 y2 = y1 + (∆t/2) · (k1 + k2) = 1.0497
- Passo 3:
k1 = f(t2, y2) = 0.35259 yp3 = y2 + ∆t · k1 = 1.1202 t3 = t2 + ∆t = 0.6
k2 = f(t3, yp3) = 0.90349 y3 = y2 + (∆t/2) · (k1 + k2) = 1.1753
- Passo 4:
k1 = f(t3, y3) = 0.99456 yp4 = y3 + ∆t · k1 = 1.3742 t4 = t3 + ∆t = 0.8
62
k2 = f(t4, yp4) = 2.4172 y4 = y3 + (∆t/2) · (k1 + k2) = 1.5165
- Passo 5:
k1 = f(t4, y4) = 2.94371 yp5 = y4 + ∆t · k1 = 2.1052 t5 = t4 + ∆t = 1
k2 = f(t5, yp5) = 8.8637 y5 = y4 + (∆t/2) · (k1 + k2) = 2.6973
Para comparação, a solução exata para t = 0.8 é y = 1.5182 e para t = 1 é y = 3.
6.2. Método de Euler Implícito (Inverso)
O método de Euler explícito utiliza a inclinação da reta tangente no ponto n para estimar o valor
da solução no ponto n+ 1:
yn+1 = yn + ∆t · (f(tn, yn))
De forma alternativa, poderia-se utilizara a inclinação da reta tangente no próprio ponto n+ 1.
Esta formulação dá origem ao método de Euler implícito ou inverso ou regressivo:
yn+1 = yn + ∆t · (f(tn+1, yn+1))
Como a variável yn+1 aparece nos dois lados da igualdade, pode ser necessário utilizar algum
método iterativo para a resolução do problema, caso não seja possível explicitar o valor yn+1. Para
EDO's lineares sempre é possível isolar yn+1, no entanto para não-lineares isso usualmente não é
possível.
Esta formulação representa um método implícito, pois a variável yn+1 depende implicitamente
dela mesmo. Assim como a formulação explícita, este método representa uma aproximação de
primeira ordem, porém, como será visto nas próximas aulas, os métodos implícitos possuem uma
grande vantagem sobre os explícitos em relação à estabilidade do método.
Exemplo 02) Resolva o seguinte PVI utilizando o método de Euler implícito, com ∆t = 0.1 até
t = 0.3:dy
dt= t2 + ty y(0) = 1
Usando a formulação implícita, temos que:
yn+1 = yn + ∆t · f(tn+1, yn+1) = yn + ∆t · (t2n+1 + tn+1yn+1)
Isolando yn+1:
yn+1 =yn + ∆t · t2n+1
1− tn+1∆t
63
Como o valor de tn+1 é conhecido, esta relação recursiva pode ser empregada para determinar
yn+1 com base no valor para yn:
y1 =y0 + ∆t · t21
1− t1∆t=
1 + 0.1 · (0.1)2
1− (0.1)(0.1)= 1.0111
y2 =y1 + ∆t · t22
1− t2∆t=
1.0111 + 0.1 · (0.2)2
1− (0.2)(0.1)= 1.0358
y3 =y2 + ∆t · t23
1− t3∆t=
1.0358 + 0.1 · (0.3)2
1− (0.3)(0.1)= 1.0771
6.3. Regra do Ponto Médio
Lembrando da Fórmula de Taylor com o resto de Lagrange:
yn+1 = yn + ∆t y′(tn) +∆t2
2!y′′(c)
Quando os termos de segunda ordem são desconsiderados, obtém-se o método de Euler explícito.
Uma maneira de se conseguir uma aproximação mais precisa (com maior ordem) é considerar um
maior número de termos na expansão. Por exemplo, caso o termo de terceira ordem também for
considerado, temos que:
yn+1 = yn + ∆t y′(tn) +∆t2
2!y′′(tn) +
∆t3
3!y′′′(c)
onde novamente c ∈ (tn, tn+1).
De forma semelhante, pode-se substituir ∆t por −∆t para se obter uma aproximação para yn−1:
yn−1 = yn −∆t y′(tn) +∆t2
2!y′′(tn)− ∆t3
3!y′′′(d)
onde d ∈ (tn−1, tn).
Fazendo a expansão para yn+1 menos a expansão para yn−1:
yn+1 − yn−1 = 2∆ty′(tn) +y′′′(c) + y′′′(d)
3!∆t3
Novamente, como as derivadas y′′′(c) e y′′′(d) são dois escalares, a relação anterior pode ser
expressa como:
yn+1 = yn−1 + 2∆ty′(tn) +O(∆t3)
Desconsiderando os termos de terceira ordem:
yn+1 = yn−1 + 2∆ty′(tn)
64
Esta relação é conhecida como regra do ponto médio e representa uma aproximação de segunda
ordem para yn+1. Esta fórmula depende do conhecimento do valor da variável em três pontos,
por isso não pode ser utilizara para determinar y1, já que y−1 não existe. Outra relação pode ser
utilizada para determinar o ponto y1, e a relação anterior pode ser usada para os demais pontos.
Comparando com o método de Euler explícito:
yn+1 = yn + ∆ty′(tn) → y′(tn) =yn+1 − yn
∆t
yn+1 = yn−1 + 2∆ty′(tn) → y′(tn) =yn+1 − yn−1
2∆t
Exemplo 07:) Utilize a regra do ponto médio para resolver o seguinte PVI até t = 0.3, utilizando
∆t = 0.1:dy
dt= y + 2t+ t2 y(0) = 1
Para avaliar o primeiro ponto, pode-se utilizar alguma formulação distinta. Como a regra do
ponto médio é um método de segunda ordem, é recomendável a utilização de outro método de
segunda ordem para não haver uma perda muito grande de precisão.
Utilizando o método de Euler aprimorado:
k1 = f(t0, y0) = 1
yp1 = y0 + ∆t · k1 = 1.1
t1 = t0 + ∆t = 0.1
k2 = f(t1, y1) = 1.31
y1 = y0 + (∆t/2)(k1 + k2) = 1.1155
A partir dos valores conhecidos para y0 e y1, pode-se agora determinar os demais pontos:
y2 = y0 + 2∆tf(t1, y1) = 1 + 2 · 0.1 · (1.1155 + 2 · 0.1 + 0.12) = 1.2651
y3 = y1 + 2∆tf(t2, y2) = 1.1155 + 2 · 0.1 · (1.2651 + 2 · 0.2 + 0.22) = 1.4565
6.4. Métodos de Runge-Kutta
Os métodos de Runge-Kutta (RK) utilizam a aproximação em série de Taylor para obter formu-
lações de alta ordem sem necessitar o cálculo das derivadas de alta ordem. De forma geral, estes
métodos podem ser expressos de forma geral como:
yi+1 = yi + ∆tφ(ti, yi,∆t)
65
onde a função φ(ti, yi,∆t) é chamada de incremento e pode ser interpretada como uma representação
da inclinação no intervalo entre ti e ti+1. Como esta função só depende de pontos já conhecidos,
os métodos de Runge-Kutta clássicos são explícitos.
Para um método de ordem n, a função incremento costuma ser expressa na seguinte forma:
φ(ti, yi,∆t) = a1k1 + a2k2 + a3k3 + . . .+ ankn
onde a1, a2, a3, . . . , an são constantes e os termos ki são dados por:
k1 = f(ti, yi)
k2 = f(ti + p1∆t, yi + q11k1∆t)
k3 = f(ti + p2∆t, yi + q21k1∆t+ q22k2∆t)
...
kn = f(ti + pn−1∆t, yi + qn−1,1k1∆t+ qn−1,2k2∆t+ . . .+ qn−1,n−1kn−1∆t)
onde os termos pi e qij são constantes. Como pode ser observado, a determinação do parâmetros
kn depende os valores ki onde i < n.
Por exemplo, para um método de primeira ordem a função incremento é avaliada como:
φ(ti, yi,∆t) = a1k1
onde k1 = f(ti, yi). Substituindo na expressão para a forma geral dos métodos de Runge-Kutta:
yi+1 = yi + ∆t(a1f(ti, yi))
Os métodos RK estão baseados diretamente na expansão em série de Taylor em torno do ponto
yi. Como visto anteriormente, a expansão de primeira ordem resulta em:
yi+1 = yi + ∆tf(ti, yi)
Comparando os termos semelhantes com a equação anterior, observa-se que a1 = 1. O método de
Runge-Kutta de primeira ordem corresponde, de fato, ao método de Euler.
6.4.1. Método de Runge-Kutta de 2a Ordem
Considere agora que se deseja obter uma aproximação de segunda ordem. Neste caso, temos que:
yi+1 = yi + (a1k1 + a2k2)∆t
k1 = f(ti, yi)
k2 = f(ti + p1∆t, yi + q11k1∆t)
66
Para determinar os valores de a1, a2, p1 e q11 pode-se primeiramente avaliar a expansão em séries
de Taylor de segunda ordem em torno de yi é dada por:
yi+1 = yi + ∆tf(ti, yi) +df
dy
∆t2
2
Considerando que f = f(t, y), a derivada total de f em relação a t é dada por:
df
dt=∂f
∂t+∂f
∂y
dy
dt
Substituindo na expressão anterior:
yi+1 = yi + ∆tf(ti, yi) +
(∂f
∂t+∂f
∂y
dy
dt
)∆t2
2
Utilizando um procedimento semelhante, pode-se utilizar a expansão em séries de Taylor para
expandir a própria função f(t, y). Lembrando, para uma função de duas variáveis, a expansão em
série de Taylor é dada por:
f(x, y) = f(x0, y0) +∂f
∂x(x− x0) +
∂f
∂y(y − y0)+
1
2!
(∂2f
∂x2(x− x0)2 +
∂2f
∂x∂y(x− x0)(y − y0) +
∂2f
∂y2(y − y0)2
)+ . . .
De forma equivalente, pode-se avaliar a função em um ponto qualquer f(x+ a, y + b) com base
no valor de f(x, y). Considerando uma aproximação de primeira ordem:
f(x+ a, y + b) = f(x, y) +∂f
∂xa+
∂f
∂yb
Assim, considerando a de�nição de k2, o termo f(ti+p1∆t, yi+q11k1∆t) pode ser expresso como:
k2 = f(ti + p1∆t, yi + q11k1∆t) = f(ti, yi) + p1∆t∂f
∂t+ q11k1∆t
∂f
∂y
Substituindo os valores de k1 e k2 na expressão para yi+1 = yi + (a1k1 + a2k2)∆t e colocando os
termos de mesma ordem em evidência:
yi+1 = yi + (a1f(ti, yi) + a2f(ti, yi))∆t+
(a2p1
∂f
∂t+ a2q11f(ti, yi)
∂f
∂y
)∆t2
Comparando com a equação obtida anteriormente:
yi+1 = yi + ∆tf(ti, yi) +
(∂f
∂t+∂f
∂y
dy
dt
)∆t2
2
Igualando os coe�cientes com os termos de mesma ordem, observa-se que as seguintes relações
devem ser satisfeitas:
a1 + a1 = 1
a2p1 = 1/2
a2q11 = 1/2
67
Este sistema possui três equações e quatro variáveis, portanto não existe solução única. No entanto,
a partir do momento em que um dos valores é especi�cado, os demais podem ser calculados. Isto
implica que existem in�nitas formulações para o método de Runge-Kutta de segunda ordem.
Euler Modi�cado (a2 = 0.5)
Assumindo que a2 = 0.5, obtém-se que a1 = 0.5 e p1 = q11 = 1. Assim, o método de Runge-Kutta
de segunda ordem resulta em:
k1 = f(ti, yi)
k2 = f(ti + ∆t, yi + k1∆t)
yi+1 = yi +(k1 + k2)
2∆t
Este método corresponde ao método de Euler modi�cado (fórmula de Heun).
Regra do Ponto Médio (a2 = 1)
Fazendo a2 = 1, temos que a1 = 0 e p1 = q11 = 1/2:
k1 = f(ti, yi)
k2 = f(ti + ∆t/2, yi + k1∆t/2)
yi+1 = yi + k2∆t
Esta formulação corresponde ao método de Euler modi�cado com base na regra do ponto médio.
Método de Ralston (a2 = 2/3)
Fazendo a2 = 2/3, os demais valores são avaliados como a1 = 1/3 e p1 = q11 = 3/4:
k1 = f(ti, yi)
k2 = f(ti + 3∆t/4, yi + 3k1∆t/4)
yi+1 = yi + (k1/3 + 2k2/3)∆t
Esta formulação é chamada de Método de Ralston
68
6.4.2. Método de Runge-Kutta de 4a Ordem
Seguindo o mesmo procedimento mostrado anteriormente para uma aproximação de quarta or-
dem, obtém-se o método RK4. Este é possivelmente o método mais empregado para a resolução
de PVI's, devido a sua alta precisão e por ser um método explícito.
Neste caso, os parâmetros k1, k2, k3 e k4 são avaliados como:
k1 = f(ti, yi)
k2 = f(ti + ∆t/2, yi + k1∆t/2)
k3 = f(ti + ∆t/2, yi + k2∆t/2)
k4 = f(ti+1, yi + k3∆t)
Com base nestes valores, o ponto yn+1 é avaliado como:
yn+1 = yn + (∆t/6)(k1 + 2 · k2 + 2 · k3 + k4)
A utilização de passos de tempo ∆t constantes para todos os casos possui uma série de desvan-
tagens, especialmente porque em muitos casos a equação pode precisar de valores muito pequenos
para manter a precisão em alguns pontos, enquanto que em outros pontos valores maiores poderiam
ser utilizados para reduzir o número de cálculos realizados.
Muitos softwares utilizam uma abordagem que determina localmente o tamanho necessário para
os passos, através da comparação dos resultados obtidos com RK4 e uma formulação de Runge-
Kutta de quinta ordem (ex. ode45 do Matlab).
Exemplo 08:) Utilize o método RK4 para resolver o seguinte PVI, adotando ∆t = 0.1 até
t = 0.3:dy
dt= −y + 2t y(0) = 2
69
Lista de Exercícios 06 - Métodos de Runge-Kutta
1) Obtenha a solução dos seguintes PVI's no intervalo 0 ≤ t ≤ 0.4 através dos métodos de Euler
explícito e implícito, considerando ∆t = 0.1. Compare os valores obtidos com a solução exata e
calcule o desvio:
a)dy
dt= t2y + sin(t) y(0) = π
R: desvios para t = 0.4: y = 1.33% (exp.), 1.495% (imp.)
b)dy
dt= −5y y(0) = 10
R: desvios para t = 0.4: y = 53.81% (exp.), 45.95% (imp.)
2) Considere o seguinte PVI:
dy
dt= 10 ln(y) + 3ty2 y(0) = 1
a) Utilize o método Euler aprimorado (Fórmula e Heun) para estimar a solução até t = 1,
utilizando ∆t = 0.25;
R: y(1) = 2.14623
b) Compare o resultado do item (a) com o obtido com o método de Euler modi�cado com a regra
do ponto médio.
R: y(1) = 2.16306
3) O método de Runge-Kutta de terceira ordem é de�nido da seguinte forma:
k1 = f(tn, yn)
k2 = f(tn + ∆t/2, yn + ∆tk1/2)
k3 = f(tn+1, yn −∆tk1 + 2∆tk2)
yn+1 = yn + (1/6)(k1 + 4k2 + k3)
Considere o seguinte PVI:
dy
dt= −t√y + 7y y(0) = 4
a) Utilize o método de Euler explícito (1a ordem), o método de Euler aprimorado (2a ordem)
e os métodos de Runge-Kutta de 3a e 4a ordem para estimar a solução para t = 0.4, utilizando
∆t = 0.1. Compare com a solução exata y(0.4) = 64.687.
R: y(0.4) = 33.085 (Euler exp.), y(0.4) = 56.3685 (Euler aprim.), y(0.4) = 63.2304 (RK3), y(0.4) =
64.48745 (RK4)
70
b) Faça um esboço de um algoritmo que possa ser utilizado par resolver a equação utilizando, ao
mesmo tempo, o método de Runge-Kutta de terceira e quarta ordens. Crie um vetor que armazene
a diferença entre o valor obtido com cada um dos métodos para cada passo de tempo.
4) A reação irreversível onde duas moléculas de dicromato de potássio (K2Cr2O7), duas moléculas
de água e três átomos de enxofre reagem para formar três moléculas de gás dióxido de enxofre
(SO2), quatro moléculas de hidróxido de potássio sólido (KOH) e duas moléculas de óxido de
cromo (Cr2O3) pode ser representada estequiometricamente por:
2K2Cr2O7 + 2H2O + 3S → 4KOH + 2Cr2O3 + 3SO2
Se n1 moléculas de K2Cr2O7, n2 moléculas de H2O e n3 moléculas de S estão inicialmente dispo-
níveis, a variação na quantidade de KOH ao longo do tempo (x(t)) é dada por:
dx
dt= k
(n1 −
x
2
)2 (n2 −
x
2
)2(n3 −
3x
4
)3
onde k é a constante de velocidade de reação. Considerando que k = 6.22×10−19, n1 = n2 = 2×103
e n3 = 3 × 103, implemente um algoritmo utilizando o método de Runge-Kutta de quarta ordem
para determinar quantas unidades de hidróxido de potássio será formada após 0.5 segundos, sendo
que inicialmente o sistema está isento de hidróxido de potássio. Considere ∆t = 0.01. Repita o
exemplo utilizando ∆t = 0.1.
R: x(0.5) = 2356.3 unidades
5) Obtenha o valor de y para t = 2 para o seguinte PVI:
dy
dt= (1 + 2t)
√y y(1) = 1
Utilize um passo ∆t = 0.25 e resolva através dos seguintes métodos:
a) Analiticamente;
R: y(2) = 9
b) Método de Euler explícito;
R: y(2) = 7.02
c) Método de Heun;
R: y(2) = 8.831
d) Método de Ralston;
R: y(2) = 8.8272
e) RK4.
R: y(2) = 8.998
71
7. Runge-Kutta Adaptativo e Métodos
de Passos-Múltiplos
7.1. Método de Runge-Kutta para Sistemas
O método de Runge-Kutta pode ser utilizado para a resolução de sistemas de EDO's. Considere,
por exemplo, um sistema com duas equações:
dy
dt= f(y, x, t) y(t0) = y0
dx
dt= g(y, x, t) x(t0) = x0
Neste caso os parâmetros k1, . . . , k4 irão depender de qual equação está sendo avaliada:
ky1 = f(tn, yn, xn)
kx1 = g(tn, yn, xn)
ky2 = f(tn + ∆t/2, yn + ky1∆t/2, xn + kx1 ∆t/2)
kx2 = g(tn + ∆t/2, yn + ky1∆t/2, xn + kx1 ∆t/2)
ky3 = f(tn + ∆t/2, yn + ky2∆t/2, xn + kx2 ∆t/2)
kx3 = g(tn + ∆t/2, yn + ky2∆t/2, xn + kx2 ∆t/2)
ky4 = f(tn + ∆t, yn + ky3∆t, xn + kx3 ∆t)
kx4 = g(tn + ∆t, yn + ky3∆t, xn + kx3 ∆t)
Com base nestes valores, a solução no ponto n+ 1 pode ser aproximada:
yn+1 = yn +∆t
6(ky1 + 2ky2 + 2ky3 + ky4)
xn+1 = xn +∆t
6(kx1 + 2kx2 + 2kx3 + kx4 )
Considere agora um sistema de m equações:
72
dy1
dt= f1(t, y1, y2, y3, . . . , ym)
dy2
dt= f2(t, y1, y2, y3, . . . , ym)
dy3
dt= f3(t, y1, y2, y3, . . . , ym)
...dym
dt= fm(t, y1, y2, y3, . . . , ym)
y1(t0) = y10
y2(t0) = y20
y3(t0) = y30
...
ym(t0) = ym0
(7.1)
Neste caso, as quantidades k1, k2, etc. passam a ser vetores com m componentes:
k1 =
f1(xn, y
1n, y
2n, . . . , y
mn )
f2(xn, y1n, y
2n, . . . , y
mn )
...
fm(xn, y1n, y
2n, . . . , y
mn )
k2 = ∆t
f1(xn + ∆t/2, y1
n + ∆t · k1[1]/2, y2n + ∆t · k1[2]/2, . . . ymn + ∆t · k1[m]/2)
f2(xn + ∆t/2, y1n + ∆t · k1[1]/2, y2
n + ∆t · k1[2]/2, . . . ymn + ∆t · k1[m]/2)...
fm(xn + ∆t/2, y1n + ∆t · k1[1]/2, y2
n + ∆t · k1[2]/2, . . . ymn + ∆t · k1[m]/2)
k3 = ∆t
f1(xn + ∆t/2, y1
n + ∆t · k2[1]/2, y2n + ∆t · k2[2]/2, . . . ymn + ∆t · k2[m]/2)
f2(xn + ∆t/2, y1n + ∆t · k2[1]/2, y2
n + ∆t · k2[2]/2, . . . ymn + ∆t · k2[m]/2)...
fm(xn + ∆t/2, y1n + ∆t · k2[1]/2, y2
n + ∆t · k2[2]/2, . . . ymn + ∆t · k2[m]/2)
k4 = ∆t
f1(xn + ∆t, y1
n + ∆t · k3[1], y2n + ∆t · k3[2], . . . ymn + ∆t · k3[m])
f2(xn + ∆t, y1n + ∆t · k3[1], y2
n + ∆t · k3[2], . . . ymn + ∆t · k3[m])...
fm(xn + ∆t, y1n + ∆t · k3[1], y2
n + ∆t · k3[2], . . . ymn + ∆t · k3[m])
Com base nestes vetores, a solução para o sistema pode ser avaliada:
yin+1 = yin +∆t
2(k1[i] + 2k2[i] + 2k3[i] + k4[i])
Exemplo 01:) Utilize o método RK4 para resolver os dois primeiros passos para o seguinte
sistema, considerando ∆t = 0.2:
dy
dt= −7y sin(x+ 2t) y(0) = 1
73
dx
dt= 4x− y2 x(0) = 0
De�nindo:
f(t, y, x) = −7y sin(x+ 2t) g(t, y, x) = 4x− y2 t0 = 0 y0 = 1 x0 = 0
Para o primeiro passo de tempo, temos que:
t1 = t0 + ∆t = 0.2
Avaliando primeiramente k1 para as duas equações:
ky1 = f(t0, y0, x0) = (−7 · (1) sin(0 + 2 · 0)) = 0
kx1 = g(t0, y0, x0) = (4 · (0)− 12) = −1
Avaliando agora k2
ky2 = f(t0 + ∆t/2, y0 + ∆tky1/2, x0 + ∆tkx1/2) = (−7 · (1) sin(−1 · 0.2/2 + 2 · 0.2/2)) = −0.6988339
kx2 = g(t0 + ∆t/2, y0 + ∆tky1/2, x0 + ∆tkx1/2) = (4 · (−1 · 0.2/2)− (1)2) = −1.4
Para k3:
ky3 = ∆tf(t0 + ∆t/2, y0 + ∆tky2/2, x0 + ∆tkx2/2)
= (−7 · (1 + 0.2(−0.6988339)/2) sin((0.2 ∗ (−1.4)/2) + 2 ∗ 0.1)) = −0.3904146283
kx3 = ∆tg(t0 + ∆t/2, y0 + ∆tky2/2, x0 + ∆tkx2/2)
= (4(0.2 · (−1.4)/2)− (1 + 0.2(−0.6988339)/2)2) = −1.42511690
Para k4:
ky4 = f(t1, y0 + ∆tky3 , x0 + ∆tkx3 )
= (−7(1 + 0.2 · (−0.3904146283)) sin((0.2 · (−1.42511690))− 2 · (0.2))) = −0.7403586
kx4 = g(t1, y0 + ∆tky3 , x0 + ∆tkx3 )
= (4(0.2 · (−1.42511690))− (1 + 0.2 · (−0.3904146283))2) = −1.99002461
Agora os pontos y1 e x1 podem ser avaliados:
y1 =∆t
6(ky1 + 2ky2 + 2ky3 + ky4) = 0.9027048
x1 =∆t
6(kx1 + 2kx2 + 2kx3 + kx4 ) = −0.2880086
Repetindo o procedimento para o próximo passo, obtém-se os seguintes coe�cientes:
ky1 = −0.706188 kx1 = −1.9669104 ky2 = −0.6700916 kx2 = −2.6311658
ky3 = −0.285797 kx3 = −2.902888 ky4 = 0.405631 kx4 = −4.1892917
Com isso, obtém-se:
y2 = 0.828960 x2 = −0.8621522
74
7.2. Métodos de Runge-Kutta Adaptativos
Como visto anteriormente, o passo de tempo utilizado (∆t) possui uma grande in�uência no erro
associado à resolução de equações diferenciais através de métodos numéricos. Além disso, o valor
de ∆t irá de�nir quantos passos serão necessários para atingir o tempo �nal desejado. Para reduzir
o gasto computacional envolvido, deve-se utilizar o maior passo de tempo possível que garanta que
o erro esteja dentro do limite estabelecido.
Para um grande número de problemas comuns na engenharia, a resolução pode necessitar de pas-
sos muito pequenos em um determinado intervalo de tempo e possibilitar que passos maiores sejam
utilizados para os demais intervalos. Por exemplo, quando a solução representa um decaimento
exponencial, usualmente nos instantes iniciais ocorre uma rápida variação na solução que tende a
estabilizar conforme o tempo avança. Como consequência, passos de tempo pequenos são neces-
sários nos instantes inicias, porém após um determinado tempo os passos podem ser aumentados
sem que o erro seja superior ao especi�cado.
Para evitar estes inconvenientes, pode-se utilizar um passo de tempo que se adapte a solução.
A implementação deste tipo de algoritmo requer que o erro de truncamento local seja de alguma
forma estimado ao longo da resolução (para cada passo de tempo). Apesar de isto gerar um gasto
computacional extra, normalmente o ganho associado ao uso de passos adaptativos supera em muito
este gasto.
Existem duas formas duas abordagens distintas para implimentar métodos de Runge-Kutta com
passo adaptativo. Uma delas consiste em estimar o erro através da diferença entre duas predições
obtidas com passos diferentes usando um método de mesma ordem. A outra abordagem consiste
em avaliar o erro local de truncamento através da comparação entre os resultados obtidos com
métodos de ordem distintas, utilizado o mesmo passo de tempo.
7.2.1. Método de Passo Duplo
O método adaptativo mais simples é o método de passo duplo, que consiste em avaliar cada
ponto duas vezes, uma vez através de um único passo e outra através de dois passos com a metade
do tamanho do primeiro. A diferença entre os dois resultados representa uma estimativa do erro
de truncamento local. Por exemplo, quando o ponto yi+1 vai ser calculado com base no ponto yi,
primeiramente calcula-se utilizando um passo ∆t e na sequência calcula-se novamente yi+1 através
de dois passos com tamanho ∆t/2.
Suponha que y∗1 representa o valor calculado em t + ∆ com o passo ∆t e y∗2 o valor calculado
para o mesmo tempo t+ ∆t mas com o passo ∆t/2, como ilustrado na �gura a seguir.
Por exemplo, considere o método de Runge-Kutta de primeira ordem (Euler explícito). Como
75
visto anteriormente, neste caso o erro de truncamento local é da ordem de ∆t2. De�nindo a solução
exata em t+ ∆t como x, pode-se de�nir a solução exata em termos de y∗1:
x = y∗1 + ∆t2φ+O(∆t3)
onde φ é um escalar. De forma semelhante, para y∗2 são necessários dois passos, de modo que:
x = y∗2 + 2
(∆t
2
)2
φ+O(∆t3) = y∗2 +∆t2
2φ+O(∆t3)
Desprezando os termos da ordem de ∆t3, igualando as duas expressões temos que:
y∗1 + ∆t2φ = y∗2 + 2
(∆t
2
)2
φ
De�nindo ∆ = y∗2 − y∗1:
∆ = y∗2 − y∗1 =∆t2
2φ
Assim, o termo ∆ representa uma estimativa do erro associado com y∗2. Para métodos de maior
ordem, o parâmetro ∆ também irá representar uma estimativa do erro associado com y∗2, porém
neste caso o erro não será da ordem de ∆t2 mas irá depender da ordem do método utilizado. Por
exemplo, para o método RK4, o parâmetro ∆ será da orde de ∆t5.
Se o valor ∆ for inferior ao erro local permitido, pode-se aumentar o passo ∆t, enquanto que se
∆ for maior que o erro permitido, deve-se diminuir ∆t.
Considere, por exemplo, que o erro máximo permitido seja emax = 10−6. Se ∆ = |y∗2−y∗1| < 10−6,
valida-se o passo e utiliza-se o valor y∗2. Para corrigir o passo de tempo ∆t, diferentes relações podem
ser utilizadas, como por exemplo:
∆t =(emax
∆
)α∆t∗
onde ∆t∗ representa o passo de tempo antigo e ∆t o valor corrigido. Como neste caso emax > ∆, o
valor novo obtido será maior que o anterior. O valor de α recomendado para este caso (emax > ∆)
é de α = 0.2
76
Considerando agora que ∆ > emax. Neste caso, o passo é invalidado e deve ser recalculado com
um passo menor. A relação utilizada para recalcular o passo é a mesma apresentada anteriormente,
porém neste caso o valor corrigido será menor que o anterior e o valor recomendado para α é de
α = 0.25.
Exemplo 02) Utilize o método de Runge-Kutta de quarta ordem juntamente com o método do
passo duplo para estimar o valor de y(1.25). Considere que o erro de truncamento local não pode
ser superior a 10−3 e como estimativa inicial para o passo de tempo considere ∆t = 1:
dy
dt= 4e0.8t − 0.5y y(0) = 2
Avaliando o primeiro passo com ∆t = 1, obtemos y(1) = y∗1 = 6.201. Considerando agora
∆t = 0.5, a resolução de dois passos implica que y(1) = y∗2 = 6.195. Assim:
∆ = y∗2 − y∗1 = 0.006
Como o valor é superior ao erro máximo, deve-se refazer este passo. Recalculando o passo de tempo:
∆t =
(10−3
0.006
)0.25
1 = 0.638943
Recalculando o primeiro passo de tempo com o novo valor de ∆t, obtém-se que y∗1 = 4.3481 e
y∗2 = 4.3475, de modo que ∆ = 6× 10−4. Como o valor é inferior ao erro máximo, este ponto pode
ser validado:
t1 = t0 + ∆t = 0.638943
y(t1) = y1 = 4.3475
Para avaliar o próximo passo, primeiramente pode-se avaliar um novo ∆t:
∆t =
(10−3
6× 10−4
)0.2
· 0.638943 = 0.707672
Utilizando este valor, obtém-se qu para t2 = t1 + ∆t = 0.638943 + 0.707672 = 1.346615, y∗1 =
8.4886328 e y∗2 = 8.4869326, de modo que ∆ = 0.0017. Como o valor está acima do erro máximo,
deve-se reduzir o passo de tempo:
∆t =
(10−3
0.0017
)0.25
0.707672 = 0.619755
Recalculado os valores, agora para t2 = t1 + ∆t = 0.638943 + 0.619755 = 1.258698, obtém-se que
y∗1 = 7.849350209 e y∗2 = 7.84849122, de modo que ∆ = 8.59 × 10−4. Como o erro está abaixo do
especi�cado, pode-se validar o passo. Assim:
t2 = 1.258698
77
y(t2) = y2 = 7.84849122
Como deseja-se saber y(1.25), o valor de t2 já está acima do especi�cado. Para obter o valor no
ponto t = 1.25, pode-se realizar uma interpolação linear entre os valores para t1 e t2:
y(1.25) = y1 +(t2 − 1.25)
(t2 − t1)(y2 − y1) = 7.79936
7.2.2. Método de Runge-Kutta-Fehlberg
Outra alternativa para estimar o erro local de truncamento é avaliar um dado ponto através de
métodos com ordem distinta. Por exemplo, pode-se avaliar a solução em um dado ponto y(ti+1)
através de um método de segunda ordem (y∗i+1) e de um método de terceira ordem (yi+1). A
diferença entre os dois valores (yi+1 − y∗i+1) representa uma estimativa do erro de truncamento
neste ponto. Se os dois valores forem muito próximos, isto indica que a redução no passo de tempo
não irá diminuir signi�cativamente o erro local de truncamento.
A abordagem mais utilizada consiste em avaliar a solução em um ponto através de métodos de
Runge-Kutta de quarta e quinta ordem, sendo que as estimativas de quarta ordem (y∗i+1) e de
quinta ordem (yi+1) podem ser representadas como:
y∗i+1 = yi + ∆t
(37
378k1 +
250
621k3 +
125
594k4 +
512
1771k6
)yi+1 = yi + ∆t
(2825
27648k1 +
18575
48384k3 +
13525
55296k4 +
277
14336k5
1
4+ k6
)onde:
k1 = f(ti, yi)
k2 = f
(ti +
∆t
5, yi +
∆t
5k1
)k3 = f
(ti +
3∆t
10, yi +
3∆t
40k1 +
9∆t
40k2
)k4 = f
(ti +
3∆t
5, yi +
3∆t
10k1 −
9∆t
10k2 +
6∆t
5k3
)k5 = f
(ti + ∆t, yi −
11∆t
54k1 +
5∆t
2k2 −
70∆t
27k3 +
35∆t
27k4
)k6 = f
(ti +
7∆t
8, yi +
1631∆t
55296k1 +
175∆t
512k2 +
575∆t
13824k3 +
44275∆t
110592k4 +
253∆t
4096k5
)Da mesma forma como para o método anterior, o erro associado com a estimativa do ponto yi+1
é avaliado como:
∆ = yi+1 − y∗i+1
78
Com base neste valor, utiliza-se o mesmo critério apresentado anteriormente para corrigir o passo
de tempo ∆t, ou seja, se o erro for menor que o especi�cado aumenta-se o passo de tempo e se
o erro for menor descarta-se o valor obtido e reduz-se o passo de tempo até que o erro esteja
dentro do valor tolerável. As relações utilizadas para reduzir ou aumentar o passo são as mesmas
apresentadas para o método do passo duplo.
7.3. Métodos de Passos Múltiplos
Os métodos de passos múltiplos são aqueles onde a variável yn+1 é determinada com base nos
valores desta variável em mais de um ponto, como por exemplo no método baseado na regra do
ponto médio:
yn+1 = yn−1 + 2∆ty′(tn) → y′(tn) =yn+1 − yn−1
2∆t
Os demais métodos, que determinam yn+1 com base somente nos valores de yn, são chamados
de métodos de passo único.
Como visto anteriormente, os métodos de passos múltiplos não iniciam automaticamente, sendo
necessário avaliar alguns pontos iniciais através de outro método. Dentre os métodos de passos
múltiplos, os mais utilizados são os da família dos métodos de Adams, como apresentado a seguir.
7.3.1. Método de Adams-Bashforth
Considere novamente o seguinte PVI:
dy
dt= f(t, y) y(t0) = y0
Uma maneira de obter o valor em um ponto yn+1 com base em um valor conhecido yn é integrar a
equação desde um ponto tn até um ponto tn+1:∫ tn+1
tn
y′(t)dt =
∫ tn+1
tn
f(t, y)dt
Como o lado esquerdo avalia a integral de uma derivada, podemos escrever a expressão anterior
como:
y(tn+1)− y(tn) = yn+1 − yn =
∫ tn+1
tn
f(t, y)dt
Como a função y(t) não é conhecida, não é possível resolver diretamente a integral do lado direito da
equação. O método de Adams-Bashforth consiste em substituir a função f(t, y) por um polinômio
p(t), permitindo assim a resolução da integral:
yn+1 = yn +
∫ tn+1
tn
p(t)dt
79
Dependendo da ordem escolhida para o polinômio p(t), diferentes formulações são obtidas. Os
coe�cientes associados ao polinômio são determinados com base nos valores já conhecidos para yn,
yn−1, yn−2, etc. Caso um polinômio de ordem k for utilizado, é necessário conhecer a solução em
k + 1 pontos.
Por exemplo, caso um polinômio de primeira ordem for empregado:
p(t) = At+B
é necessário conhecer o valor da função f(x, y) em dois pontos, ou seja, é necessário determinar
dois valores (yn e yn−1) para encontrar as constantes A e B. Com isso:
Atn +B = f(tn, yn) = fn
Atn−1 +B = A(tn −∆t) +B = f(tn−1, yn−1) = fn−1
Resolvendo para A e B:
A =fn − fn−1
∆tB =
fn−1tn − fntn−1
∆t
Substituindo p(t) = At+B na expressão anterior e resolvendo a integral:
yn+1 = yn +
∫ tn+1
tn
(At+B)dt = yn +A
2(t2n+1 − t2n) +B(tn+1 − tn)
Substituindo as expressões obtidas para A e B e simpli�cando o resultado obtido:
yn+1 = yn +3
2∆t · fn −
1
2∆t · fn−1
Esta relação é conhecida como método de Adams-Bashforth de 2a ordem, e representa um método
explícito onde é necessário conhecer a solução nos dois pontos anteriores.
Usando polinômios de maior ordem, pode-se obter métodos de maior ordem. Um dos mais
utilizados é o de quarta ordem:
yn+1 = yn +∆t
24(55fn − 59fn−1 + 37fn−2 − 9fn−3)
Neste caso, é necessário conhecer 4 pontos anteriores. Em comparação com outros métodos de
quarta ordem, como RK4, o método de Adams-Bashforth costuma apresentar melhores resultados.
7.3.2. Método de Adams-Moulton
O método de Adams-Moulton é uma modi�cação do método de Adams-Bashftorh que consiste
em avaliar o polinômio interpolador p(t) em tn+1, tn, tn−1, . . . ao invés de tn, tn−1, tn−2, . . ..
80
Por exemplo, considere novamente um polinômio de primeira ordem p(t) = αt+ β. Neste caso,
as constantes são avaliadas através da relações:
αtn+1 + β = fn+1
αtn + β = fn
De onde se obtém que:
α =fn+1 − fn
∆tβ =
fntn+1 − fn+1tn∆t
De modo que yn+1 pode ser obtido como:
yn+1 = yn +∆t
2fn +
∆t
2fn+1
Considerando que fn+1 = f(tn+1, yn+1), esta relação representa uma fórmula implícita de segunda
ordem.
Utilizando polinômios de ordem maior, obtém-se formulações de ordem superior. O método de
Adams-Moulton de quarta ordem é dado como:
yn+1 = yn +∆t
24(9fn+1 + 19fn − 5fn−1 + fn−2)
Para evitar as di�culdades associadas ao uso de métodos implícitos, é comum adotar uma aborda-
gem preditiva-corretiva, utilizando Adams-Bashforth como uma etapa preditiva e Adams-Moulton
como corretora.
Por exemplo, utilizando uma abordagem de segunda ordem, a etapa preditiva é dada como:
y∗n+1 = yn +3
2∆t · fn −
1
2∆t · fn−1
Sendo este valor posteriormente corrigido com a relação de Adams-Moulton:
yn+1 = yn +∆t
2fn +
∆t
2f∗n+1
onde f∗n+1 = f(tn+1, y∗n+1)
Exemplo 03:) Utilizando uma abordagem preditiva-corretiva, utilize os métodos de Adams de
segunda ordem para obter a solução aproximada do seguinte PVI até t = 0.4, utilizando ∆t = 0.1:
dy
dt= −y + 2t y(0) = 2
Esta equação foi avaliada anteriormente com o método de Runge-Kutta. Para utilizar Adams-
Bashforth, neste caso é necessário conhecer a solução em dois pontos anteriores. Pode-se utilizar a
condição inicial como um destes pontos:
t0 = 0 y0 = 2
81
e o valor obtido com o método de Runge-Kutta para y1:
t1 = 0.1 y1 = 1.82
Com isso, pode-se determinar o valor preditivo em t2 = 0.2:
y∗2 = y1 +3
2∆t · f(t1, y1)− 1
2∆t · f(t0, y0) = 1.577
Utilizando Adams-Moulton para corrigir o valor:
y2 = y1 +∆t
2f(t1, y1) +
∆t
2f(t2, y
∗2) = 1.68015
Repetindo o procedimento para o próximo passo de tempo (t3 = 0.3):
y∗3 = y2 +3
2∆t · f(t2, y2)− 1
2∆t · f(t1, y1) = 1.48313
y3 = y2 +∆t
2f(t2, y2) +
∆t
2f(t3, y
∗3) = 1.57199
Finalmente, para o último passo de tempo (t4 = 0.4):
y∗4 = y3 +3
2∆t · f(t3, y3)− 1
2∆t · f(t2, y2) = 1.4902
y4 = y3 +∆t
2f(t3, y3) +
∆t
2f(t4, y
∗4) = 1.4889
82
Lista de Exercícios 07 - Métodos de Runge-Kutta Adaptativos e de Passos-Múltiplos
1) Utilizando o método de Runge-Kutta de quarta ordem, obtenha uma aproximação para a
solução da seguinte equação de Hermite no intervalo 0 ≤ t ≤ 1, considerando ∆t = 0.2. Compare
a solução para y(1) com a solução exata e determine o erro associado.
d2y
dt2− 2t
dy
dt+ 8y = 0 y(0) = 12 y′(0) = 0
R: erro para y(1) = 25.2%
2) Utilize o método de Euler explícito e o método de Runge-Kutta de quarta ordem para obter
os valores de y(1) e z(1) utilizando um passo ∆x = 0.2:
dy
dx= −2y + 4e−x y(0) = 2
dz
dx= −yz
2
3z(0) = 4
R: Euler: z(1) = 0.9139, RK4: z(1) = 1.2429
3) Através do método de Runge-Kutta de quarta ordem, obtenha y(1) para o seguinte PVI:
dy
dt= −4y + e−2(t−10)2 y(0) = 1
Utilize o método de passo duplo para adaptar o passo de tempo. Como estimativa inicial, assuma
∆t = 0.5 e considere um erro de truncamento local de emax = 5× 10−3.
R: y(1) = 0.02127
4) Mostre que a utilização de um polinômio de ordem zero p(x) = A para a obtenção dos
métodos de Adams-Bashforth e Adams-Moultoun resulta nos métodos de Euler explícito e implícito,
respectivamente.
5) Considere o seguinte PVI:dy
dx= 2xy y(0) = 1
a) Utilize o método de Adams-Bashforth de segunda ordem para estimar a solução até t = 0.4,
com ∆t = 0.1;
R: y(0.4) = 1.17021
b) Estime a solução usando uma abordagem preditiva-corretiva com os métodos de segunda
ordem de Adams-Brashforth como preditivo e Adams-Moulton como corretivo;
R: y(0.4) = 1.17430
c) Obtenha a solução aproximada utilizando o método de Runge-Kutta de quarta ordem;
83
R: y(0.4) = 1.17351
d) Compare os resultados anteriores com a solução exata e discuta os resultados.
6) Utilizando um polinômio de segunda ordem como interpolador, obtém-se os métodos de
Adams-Bashforth e Adams-Moulton de terceira ordem, sendo expressos respectivamente como
yn+1 = yn +∆t
12(23fn − 16fn−1 + 5fn−2)
yn+1 = yn +∆t
12(5fn+1 + 8fn − fn−1)
Considere o seguinte PVI:dy
dt= 40te−y y(0) = 3
Obtenha a solução aproximada até t = 1, utilizando ∆t = 0.2, através de uma aborgade preditiva-
corretiva com os métodos de Adams-Brashforth como preditivo e Adams-Moulton como corretivo.
Compare os valores obtidos com as formulações de primeira, segunda, terceira e quarta ordem.
Utilize o método de Runge-Kutta de quarta ordem para estimar os valores iniciais necessários.
R: 1a ordem: y(1) = 3.04037, 2a ordem: y(1) = 3.02299, 3a ordem: y(1) = 3.0837, 4a ordem: y(1) =
2.9841
7) Considere o seguinte PVI:
dy
dt= −7y y(0) = 100
Utilizando o método de Adams-Bashforth de segunda ordem, obtenha a solução aproximada até
t = 0.5, utilizando ∆t = 0.1. Compare os resultados obtidos quando os passos iniciais são calculados
através dos métodos de Euler explícito e de Runge Kutta de quarta ordem. Avalie a solução exata
e determine o desvio para os dois casos.
R: Desvio: 6.27% (Euler), 3.00% (RK4)
8) Faça um esboço de um algoritmo para resolver o seguinte PVI:
dy
dt= f(t, y) y(0) = y0
utilizando uma abordagem preditiva-corretiva com o método de Adams-Bashforth de quarta ordem
como preditor e o método de Adams-Moulton de quarta ordem como corretor. Considere ∆t = 0.1
e avalie até um tempo �nal t = 100. Liste todas as hipóteses adotadas.
84
8. Estabilidade de Métodos Numéricos
para EDO's e Equações Rígidas
8.1. Estabilidade dos Métodos de Resolução de EDO's
Na passagem do método de Euler explícito para métodos mais complexos, o principal objetivo
foi obter métodos com melhor precisão (reduzir os erros de truncamento). No entanto, em muitos
casos os resultados obtidos não só possuem uma baixa precisão como também são catastro�camente
distintos da solução exata.
Por exemplo, considere o seguinte PVI:
dy
dt= −12y y(0) = 1
A utilização do método de Euler explícito com ∆t = 0.2 gera o resultado ilustrado a seguir.
Neste caso, o erro aumenta rapidamente conforme se avança na solução. Este problema está
associado com a falta de estabilidade do método empregado.
Antes de avaliar a estabilidade dos métodos, é necessário de�nir dois conceitos relacionados a
análise de estabilidade:
Consistência: Um método de passo único (como os da família de Runge-Kutta) é dito consis-
tência se o erro de truncamento local ei tende a zero conforme ∆t → 0 para todos os passos de
tempo, ou seja:
lim∆t→0
max1≤i≤N
|ei| = 0
85
onde N representa o número total de iterações.
Convergência: Um método de passo único é dito convergente com respeito ao pro-blema de
valor inicialdy
dt= f(t, y) y(t0) = y0
se a diferença entre a solução obtida através do método numérico yi e a solução exata no mesmo
ponto φi tender a zero conforme ∆t→ 0:
lim∆t→0
max1≤i≤N
|yi − φi| = 0
Dessa forma, um método consistente possui a propriedade de que as equações obtidas para cada
passo se aproximada da própria equação diferencial conforme o passo de tempo tende a zero, de
modo que o erro de truncamento local também tende a zero.
Porém, além do erro de truncamento, deve-se considerar a in�uência do erro de arredondamento,
associado ao fato de que os valores numéricos não são representados de forma exata. Na prática,
os parâmetros do sistema, as condições inicias e todo o processo aritmético subsequente possuem
erros associados com a precisão numérica �nita dos valores empregados.
Para garantir que um determinado método seja convergente, deve-se então garantir que além
de ser consistente, o erro de arredondamento deve �car limitado a um valor aceitável. O controle
do erro de arredondamento está associado com a estabilidade do método. Este conceito é muito
similar ao conceito de condicionamento de um sistema linear, no sentido de que um método é
dito estável quando pequenas variações nos parâmetros ou condições iniciais levam a igualmente
pequenas variações na solução obtida. A seguir será apresentada uma análise da estabilidade para
os métodos de passo único. Para os métodos de passos-múltiplos, como existem diversas etapas de
aproximação envolvidas em cada passo, a análise é mais complexa.
8.2. Análise de Estabilidade de Métodos de Passo Único
Para avaliar a estabilidade de um dado método, considere o seguinte PVI:
dy
dt= f(t, y) y(t0) = y0
Considere que a solução exata deste PVI em um ponto tn é dada por φ(tn) e que a solução obtida
com o uso de método numérico neste ponto é yn. Como comentado anteriormente, na resolução
computacional do problema, existem associados erros de arredondamento devido à precisão limitada
da representação numérica. Considere que y∗n é o valor arredondado obtido em uma máquina real
e yn é o valor com precisão in�nita obtido em uma máquina ideal.
86
O erro total associado será a diferença entre a solução exata e o valor fornecido pelo computador:
Erro total = φ(tn)− y∗n = (φ(tn)− yn) + (yn − y∗n)
O primeiro termo representa o erro de truncamento e o segundo o erro de arredondamento associado
ao ponto tn.
Para que um dado método numérico seja adequado, são necessárias duas condições:
- O erro de truncamento acumulado (global) deve tender a zero conforme ∆t→ 0 (consistência);
- O erro de arredondamento acumulado (que não pode ser eliminado) deve ser pequeno em
comparação com a solução exata (estabilidade).
8.2.1. Equação Modelo: Decaimento de Primeira Ordem
Para ilustrar as características de estabilidade de um método, considere a equação:
dy
dt= −λy y(0) = 1
onde λ > 0. Esta equação representa uma taxa de decaimento de primeira ordem, que surge, por
exemplo, na análise da variação na fração de um dado reagente em uma reação de primeira ordem.
Considerando novamente que φ(t) é a solução exata da equação, o valor calculado numericamente
pode ser expresso como:
y(t) = φ(t) + ε(t)
Substituindo na equação diferencial:
d(φ+ ε)
dt= −λ(φ+ ε)
Como as solução exata deve satisfazer a equação diferencial, temos que:
dε
dt= −λε
Esta equação serve como uma relação para determinar como o erro varia ao longo do tempo, ou
seja, ao longo dos passos avaliados. Se o erro diminuir com o tempo, o método é estável, caso
contrário será instável.
Por exemplo, considere que o método de Euler explícito seja utilizado para avaliar ε(t):
εn+1 = εn + ∆t(−λεn) = εn(1−∆tλ) → εn+1
εn= 1−∆tλ
Para garantir a estabilidade, é preciso que o erro em tn+1 seja menor que o erro em tn, assim:∣∣∣εn+1
εn
∣∣∣ ≤ 1
87
Considerando a relação anterior:
|1−∆tλ| ≤ 1
Desse modo, o passo de tempo para garantir a estabilidade deve ser maior que zero e menor que
2/λ.
A região contendo os valores de λ∆t que levam a uma solução estável é chamado de domínio
de estabilidade linear. O parâmetro λ pode ser um número complexo, de modo que o domínio de
estabilidade costuma ser representado no plano complexo. De�nindo z = −λ∆t, temos que para o
método de Euler explícito ser estável a seguinte condição deve ser satisfeita:
|1 + z| ≤ 1
Fazendo z = a+ bi:
|1 + (a+ bi)| ≤ 1 → |(a+ 1) + bi| ≤ 1
Para um número complexo qualquer α+ βi, o módulo é de�nido como:
|α+ βi| =√α2 + β2
Assim, para o caso anterior, temos que:
|(a+ 1) + bi| =√
(a+ 1)2 + b2 ≤ 1 → (a+ 1)2 + b2 ≤ 1
Esta relação representa um círculo de raio menor ou igual a 1, deslocado em uma unidade para a
esquerda no eixo equivalente a a. Como a é a parte real de z e b a parte imaginária de z, o domínio
de estabilidade do método de Euler explícito representa a região indicada na �gura a seguir.
Considere agora que seja empregado o método de Euler implícito:
εn+1 = εn + ∆t(−λεn+1) → εn+1(1 + ∆tλ) = εn
88
Com isso:εn+1
εn=
1
1 + ∆tλ
Como λ > 0 e ∆t > 0, esta relação mostra que o método de Euler implícito é estável para
qualquer valor de ∆t, o que é uma característica comum dos métodos implícitos.
Considere agora a modi�cação de segunda ordem baseada na regra do ponto médio:
εn+1 = εn +∆t
2(−λεn − λεn+1)
De modo que:
εn+1(1 + ∆tλ/2) = εn(1−∆tλ/2) → εn+1
εn=
1−∆tλ/2
1 + ∆tλ/2
Considerando a condição para estabilidade:∣∣∣1−∆tλ/2
1 + ∆tλ/2
∣∣∣ ≤ 1
Neste caso, a solução também será estável para qualquer ∆t > 0.
Para os demais métodos explícitos, a estabilidade também está condicionada a um domínio
especí�co. Em particular para o caso dos métodos de RK de ordem maior que 1, pode-se mostrar
que o domínio de estabilidade linear engloba o domínio associado ao método de Euler explícito (RK
de primeira ordem). Assim, se a condição ∆t < 2/λ for respeitada, os métodos de RK de ordem
superior serão estáveis. O domínio de estabilidade de métodos de Runge-Kutta de ordem 1 até 5 é
representado na �gura a seguir:
8.3. Problemas Rígidos (Sti�)
Algumas equações ou sistemas de equações diferenciais são classi�cados como rígidos (sti�). Não
existe uma de�nição precisa para classi�car uma EDO como rígida, mas estes tipos de problema
compartilham características em comum:
- Normalmente existem termos que levam à uma rápida variação na solução;
- Problemas rígidos possuem uma variedade de escalas de tempo associadas, ou seja, em deter-
minados pontos a solução varia muito mais rapidamente que em outras;
- Métodos explícitos só são estáveis para a resolução de EDO's rígidas se o passo de tempo
utilizado for muito pequeno;
- Usualmente, o passo de tempo utilizado para garantir a estabilidade é menor que o necessário
para garantir a convergência desejada.
89
A equação teste utilizada anteriormente:
dy
dt= −λy y(t0) = y0
é um exemplo de equação rígida, especialmente para altos valores de λ. Esta equação possui solução
da forma:
y = y0e−λt
Como visto anteriormente, se um método explícito for empregado, deve-se usar um valor de ∆t
su�cientemente pequeno para garantir a estabilidade da solução. Por exemplo, para o método de
Euler explícito:
∆t <2
λ
Caso for necessário avaliar a solução até um tempo �nal t1, o número de passos necessários (n)
será:
n =t1∆t
→ n >λt12
Assim, o número de passos mínimo necessários é diretamente proporcional ao valor de λ.
90
8.3.1. Sistemas de Equações Diferenciais Rígidas Lineares
Considere o seguinte PVI:
dy1
dt= −500.5y1 + 499.5y2 y1(0) = 2
dy2
dt= 499.5y1 − 500.5y2 y2(0) = 1
A solução deste problema é a seguinte:
y1(t) = 1.5e−t + 0.5e−1000t
y2(t) = 1.5e−t − 0.5e−1000t
Assim, a solução possui dois termos: um termo e−t que varia lentamente com o tempo e outro
e−1000t que varia rapidamente. Para garantir a estabilidade, é preciso que a solução se mantenha
estável durante toda a resolução, por isso, a estabilidade deve ser assegurada para o termo e−1000t.
De modo geral, os valores de ∆t empregados devem ser determinados sem o conhecimento da
solução. O PVI anterior pode ser reescrito como:
dY
dt=
−500.5 499.5
499.5 −500.5
Y = AY
O valor de ∆t necessário é de�nido com base nos autovalores da matriz A. Lembrando que os
autovalores λ são de�nidos como os valores onde:
|A− λI| = 0
Assim, para este caso:∣∣∣∣∣−500.5− λ 499.5
499.5 −500.5− λ
∣∣∣∣∣ = 0 → (−500.5− λ)2 − 499.52 = 0
Resolvendo a equação de segundo grau, obtém-se as seguintes raízes:
λ1 = −1 λ2 = −1000
Para garantir a estabilidade em um método explícito, pode-se considerar a função teste usada
anteriormente dy/dt = −λy, com λ sendo o maior dos autovalores (em módulo) associados com o
problema. Por exemplo, caso o método de Euler explícito seja empregado, deve-se garantir que:
∆t ≤ 2
|λmax|
Considerando que no exemplo |λmax| = 1000, então temos que o passo de tempo máximo é de
0.002. Caso o menor autovalor fosse empregado, seria obtido um valor de ∆tmax = 2. Após os
instantes iniciais, o problema passa a ser controlado pelo menor autovalor.
91
Para medir a importância da rigidez na resolução do problema, pode-se determinar o grau de
rigidez (sti�ness ratio) do problema, de�nido com:
SR =|λmax||λmin|
Normalmente, para SR > 20 o problema já é classi�cado como rígido, sendo necessário avaliar com
cuidado os passos de tempo empregados.
8.3.2. Sistemas Não-Lineares
Para problemas não-lineares, a análise é mais complexa. Para problemas autônomos, da forma:
dY
dt= f(Y )
pode-se linearizar a equação através de uma expansão em série de Taylor em torno do ponto tn.
Desconsiderando os termos de alta ordem:
dY
dt= f(Yn) + J(tn)(Y − Yn)
onde J(tn) é a matriz Jacobiana avaliada em t = tn, de�nida como:
J(tn) = aij =
[∂fi(y)
∂yj
]tn
Por exemplo, em um sistema 2× 2 da forma:
dy
dt= f(x, y)
dx
dt= g(x, y)
O Jacobiano em um ponto tn é determinado da forma:
J(tn) =
∂f∂x
∣∣∣tn
∂f∂y
∣∣∣tn
∂g∂x
∣∣∣tn
∂g∂y
∣∣∣tn
Neste caso, a razão de rigidez é de�nida com base nos autovalores da matriz Jacobiana. Como
J(tn) pode depender do tempo, a razão de rigidez pode variar ao longo da solução.
Os valores de ∆t necessários para garantir a estabilidade também podem ser de�nidos com base
nos autovalores da matriz Jacobiana.
Obs.: Caso tn for um ponto �xo, os autovalores do Jacobiano também servem para de�nir se o
ponto é estável ou não, sendo instável caso algum autovalor tenha parte real positiva.
Exemplo: Considere o seguinte PVI:
dy
dt= y2x y(0) = 2
dx
dt= −400yx2 x(0) = 1
Determine a razão de rigidez em t = 0. Caso o método de Euler explícito for empregado, qual o
valor máximo de ∆t?
92
Lista de Exercícios 08 - Estabilidade e Problemas Rígidos
1) Determine o passo de tempo máximo que pode ser utilizado para garantir a estabilidade na
resolução dos seguintes sistemas, considerando que o método de Euler explícito seja empregado em
t = 0:
a)dy
dt= y − 5x y(0) = 1
dx
dt= 3x+ 17y x(0) = 0
R: ∆tmax = 0.125
b)dy
dt= 10y
dx
dt= 3y + 2x+ z
dz
dt= 7y − z
y(0) = 1 x(0) = 1 z(0) = 2
R: ∆tmax = 0.2
c)dy
dt= y2 + x
√y y(0) = 1
dx
dt= x3 + x2y2 x(0) = 4
R: ∆tmax = 0.0526
2) Considere a EDO:dy
dt= −1× 105y + 0.9× 105e−t
(a) Estime o passo de tempo requerido para manter a estabilidade utilizando o método de Euler
explícito (Dica: Refaça o procedimento apresentado para a equação modelo y′ = −λy substituindo
a equação);
R: ∆tmax = 2× 10−5
(b) Utilizando a condição inicial y(0) = 0, utilize o método de Euler implícito para obter a
solução no intervalo de t = 0 até t = 2, utilizando ∆t = 0.1. Compare com a solução exata.
R: y(2) = 0.1218 (Euler), y(2) = 0.1218 (Exata)
3) Considere o PVI:
dy
dt= 30(sin(t)− y) + 3 cos(t) y(0) = 0
a) Utilize o método de Euler implícito para obter a solução até t = 2 utilizando um passo de
∆t = 0.4. Compare com a solução exata.
R: y(2) = 0.8773 (Euler), y(2) = 0.8836 (Exata)
b) Faça um esboço de um algoritmo para avaliar a solução do PVI até t = 50, utilizando o
método de Euler implícito.
93
5) Utilize o método de Euler implícito para obter a solução até t = 1 para o seguinte PVI,
considerando ∆t = 0.2:dy
dt= 5e−0.1y + sin(y) y(0) = 1
Compare com o valor obtido através do método RK4.
R: y(1) = 4.43417 (Euler), y(1) = 4.6238 (RK4)
94
9. Métodos Numéricos para Problemas
de Valor de Contorno
Equações diferenciais de ordem maior que um podem gerar problemas de valor inicial (PVI) ou
problemas de valor de contorno (PVC), dependendo da forma como as condições conhecidas são
especi�cadas. Por exemplo, considere a EDO:
y′′ + p(x)y′ + q(x)y = g(x)
Até o momento, foram analisados principalmente casos onde condições iniciais conhecidas são es-
peci�cadas da forma:
y(x0) = y0 y′(x0) = y′0
originando desta forma um PVI. Para a resolução numérica de PVI's, pode-se partir da condição
inicial e ir avançando até um tempo �nal arbitrário.
Em muitos casos, os problemas envolvem condições conhecidas em pontos diferentes, sendo estas
chamadas de condições de contorno, podendo ser expressas, por exemplo, como:
y(α) = y0 y(β) = y1
De forma geral, os PVC's envolvem uma coordenada espacial como variável independente. Assim,
a resolução de um PVC's consiste em buscar uma solução que satisfaz a equação diferencial no
intervalo α < x < β juntamente com as condições de contorno especi�cadas. Isto implica que
existem duas condições, em pontos diferentes do domínio de solução, que deve ser simultaneamente
satisfeitas. Por isso, os métodos de marcha (como os de Runge-Kutta) não podem ser empregados
neste caso.
9.1. Estratégias de Solução de PVC's
Os métodos para resolver problemas de valor de contorno se dividem em duas categorias: os
baseados em transformar o PVC em um PVI e os baseados em discretizar a equação utilizando
métodos de diferenças �nitas.
96
Os métodos que transformação PVC's e PVI's consistem basicamente em utilizar uma das con-
dições de contorno como condição inicial e assumir (chutar) diferentes valores para uma segunda
condição inicial de modo que o resultado obtido satisfaça a segunda condição de contorno. Por
exemplo, considere a seguinte equação utilizada para descrever a variação na temperatura em uma
barra que perde calor para o ambiente por convecção, como apresentado na �gura a seguir.
Considerando que a barra seja muito �na, com raio muito menor que o comprimento, pode-se
assumir que a equação que descreve a variação na temperatura ao longo de x pode ser expressa
como:d2T
dx2+ h′(Ta − T ) = 0
onde h′ é um coe�ciente de troca térmica e Ta é a temperatura ambiente.
As condições de contorno corresponde a temperatura �xas nas extremidades, em x = 0 e x = L,
de modo que:
T (0) = T1 T (L) = T2
Para transforma a equação em um PVI equivalente, primeiramente é preciso aplicar o método
de redução de ordem. Escrevendo o PVI como:
dT
dx= z T (0) = T1
dz
dx+ h′(Ta − T ) = 0 z(0) = z0
O valor de z0 não é conhecido, pois o valor da derivada de T em x = 0 não foi especi�cado.
O método utilizado neste caso consiste em assumir diferentes valores para z0 até que a condição
T (L) = T2 seja satisfeita. Para equação lineares, este método funciona razoavelmente bem, pois
pode-se interpolar os valores para T (L) obtidos para diferentes valores de z0 para encontrar o valor
de z0 que corresponde a solução correta do problema. No entanto, de modo geral este método é
pouco utilizado, em particular porque os métodos baseados em aproximações por diferenças �nitas
costumam ser mais e�cientes, como ser apresentado a seguir.
97
9.2. Aproximações por Diferenças Finitas
O método de diferenças �nitas é um método de discretização de equações diferenciais. Isto
signi�ca que ele transforma uma função contínua em uma representação discreta (pontos). Por
exemplo, considere uma função f(x) = 2x de�nida em um intervalo entre 0 e 1. Esta função pode
ser representada de forma discreta como, por exemplo, f [x] = [0, 0.4, 0.8, 1.2, 1.6, 2], assumindo um
espaçamento entre os pontos de 0.2, ou seja, esta representação está relacionada como um domínio
discreto da forma x = [0, 0.2, 0.4, 0.6, 0.8, 1].
As soluções obtidas com a aplicação do método de diferenças �nitas sempre serão discretas. Caso
for necessário obter os valores para algum valor de x que não corresponda exatamente aos pontos
do domínio, pode-se interpolar os valores.
A primeira etapa da aplicação do método de diferenças �nitas consiste exatamente em de�nir o
domínio discreto onde a solução será buscada. Por exemplo, considere o caso apresentado anteri-
ormente para a distribuição de calor em uma barra estacionária. A região onde se deseja obter a
distribuição de temperatura é no intervalo de x = 0 até x = L. Este intervalo corresponde ao domí-
nio de solução da equação diferencial. No entanto, ele está em uma forma contínua e não discreta.
Para discretizar o domínio, deve-se dividi-lo em um determinado número de pontos. Por exemplo,
considere que L = 1 e que se deseja dividir o domínio em pontos com espaçamento ∆x = 0.1, ou
seja, deseja-se dividir o domínio em 10 elementos de igual tamanho. Quanto mais elementos forem
utilizados, maior será a precisão do método, porém o gasto computacional também irá aumentar.
O domínio discreto será então:
x = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9.1]
Como pode ser visto, este conjunto contém 11 pontos. De maneira geral, o número de pontos
sempre será igual ao número de elementos em que o domínio é dividido mais 1. Este vetor pode
ser representado de uma forma mais simples como:
x[i] = i∆x i = 0, 1, 2, . . . 10
Na resolução de PVI's, não é necessário inicialmente de�nir o domínio de solução, pois pode-
se continuar avançando por quantos passos forem necessários, partindo de um valor inicial. No
entanto, para o caso de PVC's, o domínio de solução é fechado e deve ser considerado como um
todo. Dependendo da formulação utilizada, pode até mesmo ser necessário obter os valores para
todos os pontos ao mesmo tempo.
A estratégia do método de diferenças �ntas consiste em buscar equações algébricas que aproxi-
mem a solução em cada ponto i. Para isso, as derivadas são aproximadas como relações algébricas
envolvendo a solução em diferentes valores de i. Esta aproximação pode ser realizada de diferentes
98
formas, dependendo da precisão desejada e da natureza do problema e das condições de contorno.
Porém, a origem destas aproximações sempre é uma aproximação em série de Taylor em torno de
cada ponto i, como será discutido a seguir.
9.2.1. Aproximação da Derivada Primeira
Para apresentar o processo de discretização da derivada de uma função contínua y(x) em um
intervalo 0 ≤ x ≤ L, será considerado um domínio discreto como o apresentado na �gura a seguir,
onde o domínio físico contínuo (região entre 0 e L) é dividido em N + 1 pontos. Lembrando
novamente, o objetivo do método de diferenças �nitas é obter aproximações para o valor da função
y(x) em cada um destes N + 1 pontos.
Esta representação discreta do domínio de solução é normalmente chamada de grid numérico
ou malha numérica.
Como visto em aulas anteriores, a expansão em série de Taylor pode ser utilizada para avaliar o
valor de uma função em um dado ponto com base no valor conhecido em outro ponto. Dependendo
da forma como a aproximação é realizada, obtém-se diferentes formulações para o método de
diferenças �nitas, como será apresentado a seguir.
Aproximação para Frente (Foward)
Considere que se deseja aproximar o valor em xi+1 com base no valor em xi, ou seja, deseja-se
aproximar y(xi+1) = yi+1 com base em y(xi) = yi.
A expansão em série de Taylor neste caso pode ser expressa como:
yi+1 = yi + (xi+1 − xi)dy
dx
∣∣∣x=xi
+(xi+1 − xi)2
2!
d2y
dx2
∣∣∣x=xi
+(xi+1 − xi)3
3!
d3y
dx3
∣∣∣x=xi
+ . . . (9.1)
Considerando novamente que (xi+1−xi) seja relativamente pequeno, os termos de alta proporci-
onais a (xi+1− xi)2, (xi+1− xi)3, . . . podem ser desprezados. Assim, a derivada primeira da função
y(x) no ponto xi pode ser aproximada como:
dy
dx
∣∣∣x=xi
=yi+1 − yixi+1 − xi
De�nindo ∆x = xi+1 − xi, a expressão pode ser dada por:
dy
dx
∣∣∣x=xi
=yi+1 − yi
∆x
99
Esta expressão é conhecida como aproximação por diferenças �nitas para frente (ou método de
diferenças �nitas para frente), pois utiliza o valor da função em um ponto a frente xi+1 para
estimar o valor da derivada em um ponto anterior xi. Fazendo o limite de ∆x tendendo a zero:
dy
dx
∣∣∣x=xi
= lim∆x→0
yi+1 − yi∆x
obtém-se a própria de�nição da derivada em um ponto. Portanto, esta formulação é consistente.
Como pode ser visto, este método é equivalente ao método de Euler explícito, sendo que a
diferença é que no método de Euler deseja-se aproximar o valor da função em diferentes pontos
com base no conhecimento da derivada dy/dt = f(t, y) e no método de diferenças �nitas deseja-se
aproximar o valor da derivada com base no valor em diferentes pontos. Nos dois casos, porém,
ocorre uma linearização da função em torno de um ponto.
Na aproximação da derivada, foram desprezados os termos O(xi+1 − xi)2, assim, o erro de
truncamento local do método de diferenças para frente é da ordem de O(∆x2). De forma semelhante
ao apresentado para o método de Euler, pode-se mostrar que quando aplicado para avaliarN pontos,
o erro associado será da ordem de O(xi+1 − xi) = O(∆x), ou seja, a aproximação por diferenças
para frente é um método de primeira ordem.
Aproximação para Trás (Backward)
De forma semelhante ao realizado para obter a derivada em xi com base na expansão para obter
yi+1, pode-se realizar uma expansão para obter a função em xi−1:
yi−1 = yi + (xi−1 − xi)dy
dx
∣∣∣x=xi
+(xi−1 − xi)2
2!
d2y
dx2
∣∣∣x=xi
+(xi−1 − xi)3
3!
d3y
dx3
∣∣∣x=xi
+ . . .
Considerando que o espaçamento entre os pontos é constante, temos novamente que ∆x =
xi − xi−1 = −(xi−1 − xi), assim:
yi−1 = yi − (∆x)dy
dx
∣∣∣x=xi
+(∆x)2
2!
d2y
dx2
∣∣∣x=xi
− (∆x)3
3!
d3y
dx3
∣∣∣x=xi
+ . . . (9.2)
Novamente, desprezando os termos de ordem maior ou igual a 2, obtém-se:
dy
dx
∣∣∣x=xi
=yi − yi−1
∆x
esta aproximação é conhecida como aproximação por diferenças �nitas para trás (ou método
de diferenças �nitas para trás), e também representa uma aproximação de primeira ordem para a
derivada em um dado ponto xi.
A utilização dos métodos para trás ou para frente é, a princípio, equivalente. A única restrição
ocorre nos pontos extremos do domínio. Por exemplo, no ponto x0 não pode ser aplicado o método
para trás pois não existe um ponto anterior a este. De forma semelhante, no ponto xN a formulação
100
para frente não pode ser utilizada, pois de maneira equivalente não existe nenhum ponto após este
para ser utilizado de base.
Aproximação Central
De forma geral, a utilização de métodos de primeira ordem para a discretização de todos os pontos
do domínio não costuma apresentar bons resultados, especialmente nos casos envolvendo gradientes
aproximadamente simétricos em relação a direção x, como por exemplo problemas envolvendo
condução de calor ou difusão de massa.
Uma aproximação de segunda ordem pode ser obtida fazendo a expansão para yi+1 (Eq. 1)
menos a expansão para yi−1 (Eq. 2). Com isso, obtém-se:
yi+1 − yi−1 = 2∆xdy
dx
∣∣∣x=xi
+2(∆x)3
3!
d3y
dx3
∣∣∣x=xi
+ . . .
Desprezando agora os termos da ordem de O(∆x)3, pode-se obter a seguinte expressão para uma
aproximação da derivada primeira em xi:
dy
dx
∣∣∣x=xi
=yi+1 − yi−1
2∆x
Esta expressão é conhecida como aproximação pode diferenças �nitas central (ou método de dife-
renças �nitas central). Neste caso, o erro de truncamento local é da ordem de O(∆x)3, de modo
que o erro global será da ordem de O(∆x)2. Assim, esta aproximação é de segunda ordem.
Existem aproximações de ordem superior, porém a aproximação central é a mais empregada,
sendo adequada para a maioria dos casos. Novamente, dever-se observar que esta aproximação não
pode ser aplicada nos pontos extremos do sistema. A melhor estratégia para a discretização da
equação é utilizar o método central para os pontos internos, o método para frente no ponto x0 e o
método para trás no ponto xN .
Uma comparação geométrica dos três esquemas de discretização é apresentada na �gura a seguir.
9.2.2. Aproximação da Derivada Segunda
O método de diferenças �nitas pode ser aplicado também para a discretização de derivadas de
maior ordem. As aproximações para a derivada segunda são obtidas considerando a de�nição da
derivada em um ponto. Da mesma forma que a derivada primeira pode ser aproximada em termos
da variação da função em dois pontos, a derivada segunda pode ser aproximada em termos da
variação na derivada primeira em dois pontos. Por exemplo, utilizando um esquema para frente:
d2y
dx2
∣∣∣x=xi
=
dy
dx
∣∣∣x=xi+1
− dy
dx
∣∣∣x=xi
xi+1 − xi
101
onde a derivada avaliada no ponto xi+1, utilizando novamente um esquema para frente, é obtida
de forma equivalente a derivada no ponto xi como:
dy
dx
∣∣∣x=xi+1
=yi+2 − yi+1
xi+2 − xi+1
Considerando que os pontos sejam igualmente espaçados (grid igualmente espaçado), pode-se juntar
as expressões para de derivada em xi+1 e a expressão para a derivada em xi, obtém-se a seguinte
expressão para a derivada segunda em xi:
d2y
dx2
∣∣∣x=xi
=yi − 2yi+1 + yi+2
(∆x)2
Esta expressão representa o esquema para frente aplicado à derivada segunda. Como ele se baseia
em esquemas de primeira ordem, também é uma aproximação de primeira ordem.
Fazendo um procedimento semelhante utilizando o esquema para trás, obtém-se:
d2y
dx2
∣∣∣x=xi
=yi − 2yi−1 + yi−2
(∆x)2
sendo este o esquema para trás aplicado para a derivada segunda, sendo também um método de
primeira ordem.
Utilizando o esquema central, obtém-se a seguinte aproximação:
d2y
dx2
∣∣∣x=xi
=yi+1 − 2yi + yi−1
(∆x)2
sendo esta uma aproximação de segunda ordem. Novamente, a estratégia que normalmente resulta
em um melhor resultado é utilizar o esquema central para os pontos internos e os esquemas para
frente e para trás para o primeiro e para o último ponto, respectivamente.
102
9.2.3. Discretização das Condições de Contorno
Além da equação diferencial envolvendo a derivada da função, a resolução de Problemas de Valor
de Contorno necessita que determinadas condições de contorno também sejam em determinados
pontos do domínio.
Para o caso de condições que consistem em de�nir o valor da função em um dado ponto, basta
atribuir este valor para a função discretizada no ponto. Por exemplo, considere o exemplo anterior
de transferência de calor em uma barra, onde a temperatura nas duas extremidades era conhecida:
T = T1 em x = 0 e T = T2 em x = L. Considerando que x0 corresponde ao ponto inicial x = 0 e
xN corresponde ao ponto x = L, as condições de contorno são implementadas de�nindo:
T0 = T1 TN = T2
Em muitos casos, a condição de contorno envolve a própria derivada de função em algum ponto.
Por exemplo, considere que no exemplo da transferência de calor na barra metálica, a extremidade
x = L fosse mantida isolada termicamente. Neste caso, a condição de contorno é expressa como:
dT
dx
∣∣∣x=L
= 0
Neste caso, é necessário discretizar a condição de contorno para transforma-la numa relação algé-
brica. Como este ponto corresponde ao último ponto do domínio, os esquemas para frente e central
não pode ser utilizados, pois iriam depender de um ponto yN+1 que está fora do domínio de solução.
Assim, é necessário utilizar o esquema para trás, de modo que a condição pode ser discretizada
como:dT
dx
∣∣∣x=L
=TN − TN−1
xN − xN−1= 0 → TN = TN−1
ou seja, a condição de derivada nula na posição x = L implica que a variável em no ponto xN é
igual a variável no ponto anterior (xN−1).
9.2.4. Discretização de PVC's utilizando Diferenças Finitas
A partir das expressões obtidas para aproximar a derivada em um ponto através de expressões
algébricas, pode-se transformar um problema de valor de contorno em um conjunto de equações
algébricas, sendo que para cada ponto do domínio discreto será atribuída uma equação. Esta é
uma característica importante dos métodos de diferenças �nitas: para que a resolução seja possível,
deve-se atribuir uma equação para cada ponto do domínio discreto.
Considere novamente a equação utilizada anteriormente para modelar a transferência de calor
em um barra metálica:d2T
dx2+ h′(Ta − T ) = 0
103
Para ilustrar os diferentes tipos de condição de contorno, considere agora que na fronteira x = 0 a
barra seja mantida a uma temperatura T = Text e na extremidade x = L a barra esteja isolada, de
modo que as condições de contorno neste caso serão:
T (0) = TextdT
dx
∣∣∣x=L
= 0
onde Text, h′, Ta e L são constantes. Para discretizar a equação, deve-se primeiramente de�nir
o grid numérico, ou seja, deve-se de�nir em quantos pontos o domínio de solução contínuo será
dividido e como estes pontos estão distribuídos. Neste caso, será assumido que o número de pontos
será N + 1 = 6 e, por simplicidade, será considerado que os pontos estão igualmente espaçados,
portanto o domínio discreto será um conjunto de 6 pontos igualmente espaçados, como ilustrado
na �gura a seguir.
Como pode ser observado, quando 6 pontos são utilizados, o domínio contínuo é dividido em 5
subdomínios com tamanho ∆x, ou seja, ∆x = L/5.
O objetivo do método de diferenças �nitas é obter uma aproximação para a temperatura em cada
um dos pontos xi, ou seja, deve encontrar 6 valores T0, T1, T2, T3, T4 e T5. Para isso, é necessário
que cada ponto possua uma equação algébrica associada. O primeiro passo para a resolução é
discretizar a equação. Neste caso, a equação possui somente uma derivada segunda que deve ser
discretizada. Para isso, será utilizar o esquema de diferenças central:
d2T
dx2=Ti+1 − 2Ti + Ti−1
∆x2
Além da derivada segunda, a equação também envolve o termo h′(Ta − T ). Como h′ e Ta são
constantes, basta utilizar os seus valores na equação discretizada. Como a expressão anterior é
utilizara para avaliar a derivada segunda no ponto xi, a temperatura T deve ser substituída pela
sua equivalente discreta Ti. Assim, a equação discretizada será:
Ti+1 − 2Ti + Ti−1
∆x2+ h′(Ta − Ti) = 0
104
Multiplicando por ∆x2 e agrupando os termos:
Ti+1 + Ti−1 − (2 + h′∆x2)Ti + ∆x2h′Ta = 0
ou ainda:
(2 + h′∆x2)Ti − Ti+1 − Ti−1 = ∆x2h′Ta
Esta relação pode ser utilizada para obter equações para a temperatura em todos os pontos
internos, ou seja, para todos os pontos exceto x0 e x5. Assim, para o ponto x1 temos que:
(2 + h′∆x2)T1 − T2 − T0 = ∆x2h′Ta
De forma semelhante, para o ponto x2:
(2 + h′∆x2)T2 − T3 − T1 = ∆x2h′Ta
e para os pontos x3 e x4:
(2 + h′∆x2)T3 − T4 − T2 = ∆x2h′Ta
(2 + h′∆x2)T4 − T5 − T3 = ∆x2h′Ta
Para estes pontos x0 e x5, deve-se utilizar as condições de contorno. Considerando a primeira
condição T (0) = Text, isto resulta em:
T0 = Text
A segunda condição de contorno é dada em termos de derivada nula. Neste caso, é preciso discretizar
a condição. Como comentado anteriormente, neste caso somente uma aproximação para trás pode
ser utilizada, de modo que:
dT
dx
∣∣∣x=L
= 0 → T5 − T4
∆x= 0 → T5 − T4 = 0
Isto forma um conjunto de 6 equações lineares que podem ser utilizadas para a obtenção das 6
variáveis T0, T1, T2, . . . Na forma matricial, estas equações podem ser expressas como:
1 0 0 0 0 0
−1 (2 + h′∆x2) −1 0 0 0
0 −1 (2 + h′∆x2) −1 0 0
0 0 −1 (2 + h′∆x2) −1 0
0 0 0 −1 (2 + h′∆x2) −1
0 0 0 0 −1 1
T0
T1
T2
T3
T4
T5
=
Text
∆x2h′Ta
∆x2h′Ta
∆x2h′Ta
∆x2h′Ta
0
Assim, obtém-se um sistema linear tridiagonal que pode ser resolvido para obter a temperatura
em cada um dos pontos do domínio discreto. Para ilustrar, considere um caso onde L = 1 cm (de
105
modo que ∆x = L/5 = 0.2 cm), Text = 100◦C, Ta = 25◦C e h′ = 0.1 cm−2. Com isso, o sistema
linear pode ser avaliado como:
1 0 0 0 0 0
−1 2.004 −1 0 0 0
0 −1 2.004 −1 0 0
0 0 −1 2.004 −1 0
0 0 0 −1 2.004 −1
0 0 0 0 −1 1
T0
T1
T2
T3
T4
T5
=
100
0.1
0.1
0.1
0.1
0
Para resolver este sistema linear, pode-se utilizar o algoritmo de Thomas (TDMA), como visto
em aulas anteriores. Relembrando, este método irá transforma a matriz dos coe�cientes em uma
matriz triangular superior. Os elementos abaixo da diagonal principal serão zerados e os acima da
diagonal principal não serão afetados. Os elementos da diagonal principal (a partir da linha 2) são
reavaliados como:
a′i,i = ai,i − (ai,i−1/ai−1,i−1)ai−1,i
De forma semelhante, os termos do lado direito são reavaliados como:
b′i = bi − (ai,i−1/ai−1,i−1)bi−1
Assim, o sistema pode ser reescrito como:
1 0 0 0 0 0
0 2.004 −1 0 0 0
0 0 1.505 −1 0 0
0 0 0 1.33955 −1 0
0 0 0 0 1.2575 −1
0 0 0 0 0 0.204759
T0
T1
T2
T3
T4
T5
=
100
100.1
50.0501
33.35
25.0008
19.8814
Resolvendo o sistema, obtém-se:
T [0] = T0 = 100◦C
T [0.2] = T1 = 98.83◦C
T [0.4] = T2 = 97.96◦C
T [0.6] = T3 = 97.38◦C
T [0.8] = T4 = 97.09◦C
T [1] = T5 = 97.09◦C
106
Para comparação, a solução exata em cada um destes pontos é:
T [0] = T0 = 100◦C
T [0.2] = T1 = 98.697◦C
T [0.4] = T2 = 97.689◦C
T [0.6] = T3 = 96.97◦C
T [0.8] = T4 = 96.54◦C
T [1] = T5 = 96.4◦C
Na �gura a seguir é apresenta uma comparação entre a solução exata (linha) e a solução apro-
ximada obtida com o método de diferenças �nitas (pontos). Pode-se observar que o desvio é
relativamente alto, sendo que um resultado melhor pode ser obtido aumentado-se o número de
pontos.
107
Neste exemplo, a resolução do problema envolveu um sistema linear tridiagonal. Quando o
método de diferenças �nitas é aplicado a um PVC linear, este sempre será o caso. Quando aplicado
em equações não-lineares, o sistema de equações algébricas obtido também será não-linear e deverá
ser resolvido com métodos adequados (método de Newton, por exemplo).
108
Lista de Exercícios 09 - Métodos Numéricos para Problemas de Valor de Contorno
01) Em conforto térmico, é frequentemente analisada a perda de calor através de um determinado
corpo, que é dada pela variação da temperatura T através da seguinte expressão:
d2T
dx2− h(Text − T ) = 0
Considere o caso de um casaco com espessura L = 1.5cm onde h = 0.13 cm−2. Na região interior,
em contato com o usuário, a temperatura é de T0 = 28◦C, enquanto que a temperatura na região
exterior é de Text = −5◦C. Pode-se assumir também que a temperatura na superfície externa
do casaco (em x = L) é igual a temperatura externa. Utilizando o método de diferenças �nitas,
determine a temperatura em x = 0.5 cm e em x = 1 cm, considerando ∆x = 0.25 cm.
R: T [0.5] = 17.61◦C, T [1] = 6.49◦C
02) A seguinte equação pode ser utilizada para descrever a variação na temperatura ao longo do
raio r de uma barra circular com fonte interna de calor, como por exemplo um �o metálico por
onde passa uma corrente elétrica:d2T
dr2+
1
r
dT
dr+ S = 0
Esta equação esta expressa em uma forma adimensional, de modo que nenhuma das variáveis possui
unidade. A superfície externa da barra corresponde a r = 1 e o ponto central corresponde a r = 0.
Como condições de contorno, temos que:
T = 1 em r = 1
dT
dr= 0 em r = 0
Isto signi�ca que a temperatura na superfície externa é mantida constante e que o �uxo de calor é
simétrico.
a) Considerando que S = 10, utilize o método de diferenças �nitas com ∆r = 0.2 para obter a
variação na temperatura ao longo do raio. Obs.: A variável independente r que aparece de forma
explícita na EDO também deve ser discretizada.
R: T0 = T1 = 3.23, T2 = 3.055, T3 = 2.575, T4 = 1.889, T5 = 1
b) Faça um esboço de um algoritmo que possa ser utilizado para obter a solução aproximada
utilizando ∆r = 0.02.
109
03 ) Um bio�lme com espessura Lf cresce sobre uma superfície sólida, como indicado na �gura
a seguir. Sobre a superfície do bio�lme, existe uma camada com espessura L por onde difunde um
determinado composto A, que ao entrar no bio�lme é sujeito a uma reação irreversível de primeira
ordem que converte o composto A em um composto B.
As equações de balanço de massa em estado estacionário que descrevem a variação na concen-
tração de A ao longo da camada de difusão e do bio�lme são as seguintes:
Dd2CAdx2
= 0 0 ≤ x < L
Dfd2CAdx2
− kCA = 0 L ≤ x ≤ L+ Lf
onde D = 0.8 cm2/s é o coe�ciente de difusão na camada de difusão, Df = 0.064 cm2/s é o
coe�ciente de difusão no bio�lme e k = 100 s−1 é a taxa para a reação de conversão de A em B.
Como condições de contorno, pode-se assumir que a concentração do composto A é constante no
meio líquido (x = 0) de modo que:
CA = CA,0 x = 0
A superfície sólida pode ser considerada impermeável, de modo que a seguinte condição é satisfeita:
dCAdx
= 0 x = L+ Lf
Considerando que L = 0.004 cm, Lf = 0.008 cm e CA,0 = 0.1mol/cm3, utilize o método de di-
ferenças �nitas com ∆x = 0.001 para obter a distribuição do composto A ao longo da camada
de difusão e do bio�lme. Pode-se assumir que a resistência a transferência de massa na interface
bio�lme/camada de difusão é desprezível, de modo que a concentração nos dois lados da interface
é a mesma.
R: Concentração na interface com a superfície sólida: CA(L+ Lf ) = 0.0913mol/cm3
110
04) Descreva as principais diferenças entre um método de marcha no tempo (como o método de
Euler) um método iterativo (como os métodos de Jacobi e Newton) e um método de discretização,
como o método de diferenças �nitas.
111
10. Equações Diferenciais Parciais e
Método das Linhas
10.1. Características Gerais das EDP's
Uma equação diferencial parcial é uma equação representando a relação entre uma função de
duas ou mais variáveis independentes e as derivadas parciais desta função com respeito a estas va-
riáveis independentes. Nos problemas encontrados com mais frequência na engenharia, as variáveis
independentes são usualmente as dimensões espaciais x, y e z e o tempo t.
A grande maioria das EDP's não possui solução analítica, sendo necessário utilizar algum método
numérico para obter uma solução aproximada. Dentre as poucas que possuem solução analítica, as
mais comuns são a equação de Laplace bidimensional, a equação do calor (ou equação da difusão)
e a equação da onda, dadas, respectivamente, por:
∂2f
∂x2+∂2f
∂y2= 0
∂f
∂t= α
∂2f
∂x2
∂2f
∂t2= c2∂
2f
∂x2
Dentre as características gerais mais importantes para o estudo e classi�cação das EDP's, pode-se
destacar a ordem, linearidade e homogeneidade:
� A ordem de uma equação diferencial é de�nida como a ordem da derivada de maior ordem
presente. Na maioria dos casos (quando termos difusivos são considerados) obtém-se equações
de segunda ordem;
� Uma EDP é dita linear se todas as derivadas parciais (incluindo de ordem zero, ou seja, a
própria variável dependente) aparecem de uma forma linear e se nenhum dos coe�cientes
depende da variável dependente;
� A homogeneidade está relacionada com a presença de algum termo que não esteja multiplicado
pela variável dependente ou alguma de suas derivadas, sendo uma EDP dita homogênea se
nenhum destes termos aparecer na equação. Na maioria dos casos, os termo não-homogêneos
estão diretamente relacionados com termos fonte, ou seja, aqueles que não dependem da
variável dependente (taxas de geração/consumo, por exemplo).
112
Além destas classi�cações comuns a todas as equações diferenciais, as EDP's podem ser classi�-
cadas de acordo com como uma perturbação irá se propagar pelo domínio de solução, do ponto de
vista geométrico. Esta classi�cação de�ne a forma como a equação pode ser resolvida e quais os
métodos mais adequados, sendo portanto esta classi�cação fundamental para uma análise correta
do problema.
De forma geral os problemas modelados por EDP's são resolvidos com quatro variáveis indepen-
dentes (três direções espaciais e o tempo). No entanto, a classi�cação geral pode ser analisadas
considerando-se o caso de equações com somente duas variáveis independentes. Além disso, será
considero que a EDP é linear. A análise de EDP's não-lineares é mais complexa, porém em muitos
casos os problemas podem ser modelados ou aproximados por EDP's lineares. Não-linearidades
normalmente estão associados à dependência de algum coe�ciente com as variáveis dependentes.
Por exemplo, a aplicação das equações de conservação de momento para �uidos não-newtonianos
leva a EDP's não-lineares, pois a relação entre a tensão de cisalhamento e a taxa de deformação
não é linear. De forma semelhante, caso a condutividade térmica de um material depender da
temperatura, as equações de transferência de calor neste material serão não-lineares.
10.2. Classi�cação das EDP's de 2ª Ordem Lineares
De forma geral, uma EDP linear de segunda ordem contendo duas variáveis independentes x e y
com uma variável dependente φ pode ser expressa como:
A∂2φ
∂x2+B
∂2φ
∂x∂y+ C
∂2φ
∂y2+D
∂φ
∂x+ E
∂φ
∂y+ Fφ+G = 0 (10.1)
os coe�cientes A,B,C,D,E, F e G podem ser funções das variáveis independentes x e y, mas não
da variável φ.
A equação característica associada a esta EDO é da forma:
−B ±√B2 − 4AC
2A= 0
As EDP's são classi�cadas com base no discriminante δ = B2 − 4AC. As equações onde δ < 0,
δ = 0 e δ > 0 são chamadas, respectivamente de elípticas, parabólicas e hiperbólicas, sendo que
muitas características fundamentais das equações, incluindo os métodos numéricos mais apropriados
para resolver a equação, estão diretamente relacionados com esta classi�cação. Observe que a
natureza da equação depende somente dos coe�cientes associados com os termos de segunda ordem,
sendo que os termos de primeira e de ordem zero não possuem nenhuma in�uência na classi�cação.
A classi�cação das EDP's como elípticas, parabólicas e hiperbólicas está diretamente relacionada
com a presença ou não de caminhos característicos nas equações. O caminho característico repre-
senta a direção no domínio de solução onde a informação é transportada. Por exemplo, considere
113
o caso onde uma determinada espécie química se propaga em um meio contínuo. Caso o meio for
estacionário (por exemplo, um perfume difundido em uma sala com ar estagnado), a propagação
será em todas das direções, sem uma direção preferencial. Neste caso, diz-se que não existe um
caminho preferencial. Porém, caso exista um campo de velocidades (por exemplo, se um ventilador
for ligado), a propagação irá ocorrer com maior intensidade em uma direção, neste caso existe então
um caminho característico.
A quantidade de caminhos característicos está associado com as raízes da equação característica,
conforme a tabela a seguir.
B2 − 4AC Raízes da eq. caract. Caminhos caract. Classi�cação
< 0 Complexas 0 Elíptica
= 0 Real e repetida 1 Parabólica
> 0 Reais e distintas 2 Hiperbólica
A presença de caminhos característicos no domínio de solução leva ao conceito de domínio de
dependência e domínio de in�uência. Considere um ponto P no domínio de solução. O domínio
de dependência do ponto P é de�nido como a região do domínio de solução que afeta o ponto
P . Assim, o ponto P depende de tudo que acontece no domínio de dependência. O domínio de
in�uência do ponto P é de�nido como a região do domínio de solução que é in�uenciada pelo ponto
P , ou seja, o ponto P afeta tudo que está em seu domínio de dependência. Caso uma perturbação
seja causada no ponto P , esta perturbação irá afetar tudo que está no domínio de in�uência de
P . De forma semelhante, qualquer perturbação no domínio de dependência irá afetar a solução no
ponto P .
As equações parabólicas e hiperbólicas possuem caminhos característicos reais e, como con-
sequência, domínios de dependência e de in�uência especí�cos. As equações elípticas, no entanto,
não possuem caminhos característicos. Neste caso, tanto o domínio de dependência quanto o de
in�uência correspondem a todo o domínio de solução da equação. Estes resultados são ilustrados
na Figura 1.
Em resumo, a interpretação física da classi�cação das EDP's pode ser explicada em termo da
equação característica:
� Se raízes reais existirem (EDP's parabólicas e hiperbólicas), caminhos preferenciais de propa-
gação de informação existem, sendo que a velocidade de propagação irá depender da inclina-
ção dos caminhos característicos. Como consequência, domínios de in�uência e dependência
especí�cos irão existir para cada ponto no domínio de solução. Problemas físicos governa-
114
Figura 10.1.: Domínio de dependência (linhas horizontais) e de in�uência (linhas verticais)
para EDP's (a) elípticas, (b) parabólicas e (c) hiperbólicas. y e x representam
as variáveis independentes.
dos por este tipo de equação são chamados de problemas de propagação e usualmente estão
associados a um comportamento transiente;
� Se as raízes da equação característica forem complexas (EDP elíptica), não existe um caminho
preferencial de propagação. A solução em cada ponto in�uencia e é in�uenciada pela solução
em todos os outros pontos do domínio de solução. Os problemas físicos governados por este
tipo de equação são chamados de problemas de equilíbrio, estando associados com problemas
estacionários.
10.2.1. EDP's Elípticas, δ < 0
As EDP's elípticas surgem naturalmente quando o termo de derivada cruzada é nulo e A e C
(coe�cientes associados às derivadas de 2a ordem) são positivos. Um exemplo de EDP elíptica é a
Equação de Laplace mencionada anteriormente.
Considere, por exemplo, a equação que descreve a condução de calor em um meio bidimensional
(B = 0, A = 1, C = 1):∂2T
∂x2+∂2T
∂y2= 0
Esta equação admite solução analítica através do método de separação de variáveis. No entanto,
para �ns de de�nir as características geras associadas às equações elípticas, a equação para condução
unidimensional mantém todas as características mais importantes associadas e por isso será usada
como exemplo.
Considere a equação:∂2T
∂x2= 0
115
Com condições de contorno de temperatura �xa T (0) = T0 e T (L) = TL, com TL > T0. A solução
desta equação é da forma:
T (x) = T0 +(TL − T0)
Lx
Esta equação apresenta duas características associadas ao comportamento elíptico da equação:
1 - A temperatura em qualquer ponto P no domínio é in�uenciada pela temperatura nas duas
extremidades x = 0 e x = L;
2 - Na ausência de termos-fonte, T (x) é limitada pelas temperaturas nas extremidades, sendo
que T (x) não pode ser maior que TL nem menor que T0.
Como esta equação não possui caminhos característicos, os domínios de dependência e de in�uên-
cia são iguais a todo o domínio de solução. Além disso, como a derivada não apresenta nenhuma
descontinuidade ao longo do domínio, a distribuição de temperatura será contínua.
10.2.2. EDP's Parabólicas, δ = 0
As EDP's parabólicas surgem quando B = 0 e A = 0 ou C = 0. Um exemplo clássico de EDP
parabólica é a equação da difusão (de calor ou massa) transiente:
∂T
∂t= α
∂2T
∂x2
Esta equação é uma EDP de segunda ordem em relação a x, sendo portanto necessário especi�car
duas condições de contorno, por exemplo:
T (0, t) = T0 T (L, t) = T0
Em relação ao tempo, a equação é de primeira ordem, de modo que somente uma condição inicial
precisa ser especi�cada, por exemplo:
T (x, 0) = Ti
Esta é uma característica das EDP's parabólicas, onde não é necessário de�nir duas condições para
uma das variáveis, ou seja, não é necessário de�nir uma condição �nal para o sistema (não é preciso
prever o futuro para resolver a EDP!).
Utilizando o método de separação de variáveis, obtém-se a seguinte solução para a EDP:
T (x, t) = T0 +
∞∑n=1
Bn sin(c1nx)ec
2nt
onde
c1n =
nπ
Lc2n = −αn
2π2
L2
e
Bn =2
L
∫ L
0(Ti − T0) sin(c1
nx)dx
116
ou seja, Bn é uma função da condição inicial e da direção x.
Através desta solução, pode-se observar que:
� A temperatura nas extremidades, T0, in�uencia a temperatura T (x, t) em qualquer ponto do
domínio, da mesma forma que para as EDP's elípticas;
� A condição inicial Ti in�uencia a temperatura para todos os tempos futuros. No entanto,
como c2n é negativo, esta in�uência diminui com o passar do tempo. No limite quando t→∞,
esta in�uência tende a zero e a equação passa a ter um comportamento elíptico;
� A temperatura em qualquer ponto do domínio de solução é limitada pelas condições de
contorno e inicial.
Com base neste exemplo, pode-se perceber que a variável t possui um comportamento bem
distinto da variável x. As variações em t admitem somente in�uência em uma direção, enquanto
que as variações em x ocorrem em duas direções. Como, neste caso, t representa o tempo, este
comportamento já é esperado pelo comportamento físico do sistema (o presente altera somente o
futuro e não o passado), no entanto, este comportamento é observado em qualquer EDP parabólica,
mesmo quando somente variáveis espaciais são consideradas. Por exemplo, no escoamento no
interior de tubos (função das direções radial e axial), a direção axial possui um comportamento
parabólico. Os métodos numéricos utilizados para este tipo de equação devem considerar este
comportamento, sendo necessário o uso de métodos de marcha no tempo (time-marching) para a
resolução da equação.
10.2.3. EDP's Hiperbólicas, δ > 0
Considere o caso do escoamento unidimensional transiente de um �uido no interior de um tubo
com uma velocidade constante U > 0. O �uido é alimentado a uma temperatura T0 e, nas condições
do escoamento, a transferência de calor por condução pode ser desprezada. A equação que descreve
a variação da temperatura ao longo do escoamento é:
∂
∂t(ρcpT ) +
∂
∂x(ρcpUT ) = 0
com as condições:
T (x, 0) = Ti T (0, t) = T0
Apesar de possuir some termos de primeira ordem, está é uma equação hiperbólica. Para provar
isto, basta diferenciar a equação em relação a t ou a x, onde se obtém que os coe�cientes A ou C
são nulos e B > 0, considerando que as propriedades físicas e a velocidade são positivas.
117
A solução para este problema será uma função descontínua da forma:
T (x, t) =
Ti t <
x
U
T0 t ≥ x
U
Basicamente, esta função representa uma descontinuidade (degrau) na solução que viaja ao longo
do domínio. Neste caso, o termo x/U funciona como um tempo característico. Conforme o �uido é
alimentado com uma temperatura T0, leva um determinado tempo para que este afete a temperatura
em um posição x longe da entrada, sendo este tempo uma função somente da velocidade U .
Com base nesta solução, pode-se observar as seguintes características associadas com as EDP's
hiperbólicas:
� A condição de contorno especi�cada em x = 0 afeta somente a temperatura para x > 0. Caso
valores de x < 0 fossem avaliados, estes não seriam afetados por T0;
� A condição de contorno na entrada se propaga ao longo do domínio de solução com uma
velocidade �nita U ;
� Qualquer variação nas condições da entrada não serão sentidas em um ponto x até que
t = x/U .
10.3. Método das Linhas
O método das linhas é um método semi-discreto para a resolução de EDP's que consiste em
discretizar as variáveis espaciais e manter uma das varáveis contínua (usualmente o tempo), de modo
a transformar a EDP em um sistema de EDO's que pode então ser resolvido através dos métodos
vistos anteriormente para a resolução de PVI's (como os métodos de Runge-Kutta). A abordagem
utilizada para a discretização das variáveis espaciais usualmente é o método de diferenças �nitas,
por isso o método das linhas é muitas vezes chamado de método de diferenças �nitas semi-discreto.
Este método é aplicado principalmente para equações parabólicas, pois sua aplicação em equações
elípticas origina um conjunto de PVC's, o que por sua vez também precisam ser resolvido por
métodos de discretização. Quando aplicado em equações parabólicas, a variável que possui um
caminho característico é mantida contínua enquanto as demais são discretizadas.
Por exemplo, considere a equação do calor:
∂T
∂t= α
∂2T
∂x2
118
Para obter uma solução particular para esta equação, é preciso especi�car duas condições de con-
torno e uma condição inicial. Considere, por exemplo, as seguintes condições:
T (0, t) = Ta T (L, t) = Tb T (x, 0) = sin(x)
Neste caso, pode-se discretizar a derivada em relação à direção x. Usando um esquema central:
Ti+1 − 2Ti + Ti−1
∆x2
Substituindo esta forma discreta na EDP, obtém-se um sistema de EDO's para avaliar a variação
temporal das variáveis Ti:dTidt
=α
∆x2(Ti+1 − 2Ti + Ti−1)
A aplicação das condições de contorno vão resultar em valores especí�cos para a variável Ti nas
extremidades x = 0 e x = L que serão válidos para qualquer tempo, visto que estas condições são
�xas. A condição T (0, t) = Ta vai resultar em T0 = Ta, enquanto que a condição T (L, t) = Tb vai
resultar em TN = Tb, onde N + 1 é o número total de pontos utilizados para discretizar o domínio
de solução na direção x.
Para resolver este sistema de EDO's para os i pontos, é preciso especi�car condições iniciais para
cada valor Ti. Como a variável Ti representa a temperatura na posição xi, o valor inicial pode ser
obtido diretamente da condição inicial especi�cada anteriormente aplicada no ponto xi. A condição
inicial era da forma:
T (x, 0) = sin(x)
Assim, para cada variável Ti teremos uma condição inicial associada da forma:
Ti(0) = sin(xi)
Observe que enquanto a temperatura é uma função da posição e do tempo (T (x, t)), as variáveis
Ti são funções apenas do tempo Ti(t), pois representam a temperatura em um ponto �xo xi. A
aplicação do método das linhas vai originar uma série de curvas (daí o nome método das linhas),
contínuas em relação ao tempo, que representam como a temperatura varia em cada ponto xi. A
�gura a seguir ilustra a forma da solução de uma EDP com duas variáveis independentes obtida
com o método das linhas.
119
Para ilustrar a aplicação do método das linhas, considere que se deseje obter a variação de
temperatura ao longo de uma barra metálica com uma extremidade isolada e outra mantida a
uma temperatura Text e que perde calor para o meio externo por convecção, da mesma forma que
analisado na aula anterior. Neste caso, porém, considere que se deseje obter como a temperatura
varia ao longo do tempo a partir de um estado inicial T (x, 0) = Tini.
A equação que descreve a variação na temperatura ao longo da posição x e do tempo t neste
caso será:∂T
∂t= α
∂2T
∂x2− h′α(T − Ta)
As condições de contorno associadas a este problema são:
T (0, t) = Text∂T
∂x
∣∣∣x=L
= 0
Além disso, a condição inicial utilizada é da forma:
T (x, 0) = Tini
De forma geral, as condições de contorno podem ser função do tempo, da mesma forma que a
condição inicial pode ser uma função de x.
120
Para resolver esta equação com o método das linhas, é preciso discretizar a equação na direção
espacial e manter a função contínua no tempo. Assim, deve-se de�nir um domínio discreto na
direção x. Neste caso, será considerado o mesmo domínio discreto utilizada anteriormente, com
N + 1 = 6 pontos:
Neste caso, a discretização da EDP na direção x irá resultar um conjunto de valores (T0, T1, T2, T3, T4, T5)
que representam a temperatura nos pontos respectivos (x0, x1, x2, x3, x4, x5). Neste caso, porém,
estes valores Ti não são necessariamente constantes, mas são uma função do tempo.
A EDP avaliada neste exemplo envolve a derivada segunda em relação a direção x, então deve-se
discretizar esta derivada. Considerando um esquema central, a derivada segunda nos pontos xi são
dadas por:∂2T
∂x2=Ti+1 − 2Ti + Ti−1
(∆x)2
Substituindo na EDP, obtém-se:
dTidt
= α
(Ti+1 − 2Ti + Ti−1
(∆x)2
)− h′α(Ti − Ta)
Esta equação pode ser aplicada nos pontos i = 1, 2, 3, 4 para obter uma EDO para a temperatura
em cada um destes pontos. Para resolver este sistema de EDO's, é preciso de�nir uma condição
inicial para cada ponto. Como a temperatura inicial é considerada constante e igual a Tini, basta
associar este valor com a temperatura em cada ponto:
Ti(0) = Tini
Para fechar o sistema de equações, é preciso ainda de�nir equações para T0 e T5, que são obtidas
através da aplicação das condições de contorno. A condição T (0, t) = Text resulta diretamente em:
T0 = Text
Assim, obtém-se uma equação para a temperatura na extremidade x = 0. Na extremidade x = L,
a condição é de derivada nula. Como visto anteriormente, neste caso pode-se aplicar um esquema
121
de discretização para trás, de onde se obtém que T5 = T4. Com estas duas condições extras, o
sistema de EDO's pode ser resolvido.
De forma resumida, as equações para os 6 pontos são:
T0 = Text
dT1
dt= α
(T2 − 2T1 + T0
(∆x)2
)− h′α(T1 − Ta) T1(0) = Tini
dT2
dt= α
(T3 − 2T2 + T1
(∆x)2
)− h′α(T2 − Ta) T1(0) = Tini
dT3
dt= α
(T4 − 2T3 + T2
(∆x)2
)− h′α(T3 − Ta) T1(0) = Tini
dT4
dt= α
(T5 − 2T5 + T3
(∆x)2
)− h′α(T4 − Ta) T1(0) = Tini
T5 = T4
As equações para i = 1, 2, 3, 4 formam um sistema de PVI's que pode ser resolvido por algum
dos métodos vistos anteriormente para a resolução de PVI's, como os métodos de Runge-Kutta.
Considere, por exemplo, novamente que um caso onde L = 1 cm (∆x = 0.2 cm), Text = 100◦C,
Ta = 25◦C e h′ = 0.1 cm−2. Além disso, considere que α = 0.01 cm2/s e Tini = 25◦C. Neste caso,
a barra metálica está inicialmente na mesma temperatura que o ambiente externo. Em um dado
instante, a temperatura na extremidade x = 0 é aumentada para 100◦C.
Resolvendo o sistema de equações utilizando Runge-Kutta de quarta ordem, obtém-se as curvas
apresentadas na �gura a seguir.
122
Pode-se observar que para altos valores de tempo as temperaturas tendem a um valor especí�co,
ou seja, tendem para um valor estacionário. Estes valores correspondem exatamente aos obtidos
na aula anterior para a resolução do caso onde o comportamento transiente foi desprezado.
123
Lista de Exercícios 10 - Classi�cação de EDP's e Métodos das Linhas
01) Classi�que as seguintes equações diferencias em parabólicas, elípticas ou hiperbólicas:
a)∂2u
∂x2+∂2u
∂y2= ex + ey
b) ρu∂u
∂x= µ
∂2u
∂x2+ ρgx
c)∂2u
∂x2+
∂2u
∂x∂y= 0
d) ∇u = ∇2u
02) a) Considere a seguinte equação:
∂u
∂t= a
∂2u
∂x2− b∂u
∂x
Com as seguintes condições de contorno e condição inicial:
u(0, t) = 0 u(1, t) = 1 u(x, 0) = x2
Utilizando o método das linhas, obtenha o sistema de EDO's que descreve a variação de u em
diferentes pontos ao longo do domínio. Considere ∆x = 0.2.
b) Utilize o método de Euler explícito para estimar o valor de u em x = 0.8 para t = 0.6.
Considere ∆t = 0.2 e a = 0.1 e b = 0.5.
R: u4(0.6) = 0.415
03) Utilize o método das linhas para obter uma aproximação para a equação do calor:
∂T
∂t= α
∂2T
∂x2
com as seguintes condições:
∂T
∂x
∣∣∣x=0
= 0 T (1, t) = 2.5 T (x, 0) = 0
onde α = 0.1. Considere ∆x = 0.25. Utilizando o método de Runge-Kutta de quarta ordem, estime
a temperatura em x = 0.5 para um tempo t = 1, utilizando ∆t = 0.25. Faça um esboço de um
algoritmo que possa ser utilizado para resolver o problema usando ∆x = ∆t = 0.025.
R: T2(1) = 0.6879
124
11. Método de Diferenças Finitas para
EDP's Elípticas
As equações elípticas surgem com frequência na modelagem de problemas de equilíbrio, como por
exemplo na descrição de transferência de calor em sistemas bidimensionais em estado estacionário.
Como visto na aula anterior, as equações elípticas possuem a característica de que o domínio de
dependência e o domínio de in�uência são iguais e englobam todo o domínio de solução. Por isso,
para conhecer o valor de uma dada variável em um ponto, deve-se conhecer os valores em todos os
outros pontos. Isto implica que para resolver uma equação elíptica através de métodos numéricos,
deve-se resolver todo o domínio de solução simultaneamente. Por isso, o método das linhas não
pode ser aplicado neste caso.
Dentre as EDP's elípticas mais importantes, pode-se destacar as equações de Laplace e de Pois-
son. Em um sistema bidimensional, estas equações são expressas, respectivamente, como:
∂2u
∂x2+∂2u
∂y2= 0
∂2u
∂x2+∂2u
∂y2= f(x, y)
11.1. Equação de Laplace
Para ilustrar a aplicação do método de diferenças �nitas para equações elípticas, considere a
distribuição de temperatura em um sistema 2D com dimensões L × W onde três contornos são
mantidos em uma temperatura fria TF e a superfície superior é mantida em uma temperatura
quente TQ. Pode-se de�nir uma temperatura adimensional u = (T − TF )/(TQ − TF ) para facilitar
a resolução, de modo que quando T = TF , u = 0 e quanto T = TQ, u = 1. Um esquema deste
sistema é apresentado na �gura a seguir.
Neste caso, a equação que governa a distribuição de temperatura é a equação de Laplace:
∂2u
∂x2+∂2u
∂y2= 0
com as seguintes condições de contorno associadas:
u(0, y) = 0 u(W, y) = 0 u(x, 0) = 0 u(x, L) = 1
125
Para resolver este tipo de equação, pode-se aplicar o método de diferenças �nitas. Anteriormente,
o método foi aplicado para a resolução de EDO's, de modo que a solução buscada era função de
somente uma variável independente. O domínio de solução desta variável foi então dividido em
um dado número de pontos e aproximações por diferença �nitas foram aplicadas para obter uma
representação discreta da derivada em cada um destes pontos.
No caso da equação de Laplace, a solução buscada é função de duas variáveis independentes,
de modo que o domínio de solução é um plano e não uma reta. Neste caso, também é necessário
dividir o domínio em um conjunto de pontos, porém estes pontos irão gerar uma matriz e não um
vetor como no caso das EDO's.
Por exemplo, considere que o domínio de solução seja dividido em Ni elementos com tamanho
∆x na direção x (ou Ni + 1 pontos) e em Nj elementos com tamanho ∆y na direção y (ou Nj + 1
pontos), como indicado na �gura a seguir.
Neste caso, o grid numérico (ou malha numérica) possui duas dimensões, de modo que a solução
será deverá ser indicada com dois índices, neste caso u[i, j]. O índice i se refere à direção x e o
índice j à direção y. Por exemplo, considerando ∆x e ∆y constantes, o termo u[3, 6] se refere a
aproximação da solução em x = 3∆x e y = 6∆y.
A equação de Laplace possui derivadas segundas em relação a duas variáveis independentes x e
y. Neste caso, a aproximação por diferenças �nitas das derivadas parciais parte de uma expansão
em séries de Taylor na direção especí�ca da variável independente analisada. Por exemplo, para
avaliar a derivada em relação a x, considera-se y constante e portanto o índice j é mantido �xo
e o índice i é variado de acordo com o esquema utilizado. Utilizando um esquema central para a
aproximação nas duas direções, temos:
∂2u
∂x2=u[i− 1, j]− 2u[i, j] + u[i+ 1, j]
∆x2
∂2u
∂y2=u[i, j − 1]− 2u[i, j] + u[i, j + 1]
∆y2
126
Substituindo na EDP:
u[i− 1, j]− 2u[i, j] + u[i+ 1, j]
∆x2+u[i, j − 1]− 2u[i, j] + u[i, j + 1]
∆y2= 0
Multiplicando a equação por ∆x e de�nindo α = ∆x/∆y:
u[i− 1, j]− 2u[i, j] + u[i+ 1, j] + α2(u[i, j − 1]− 2u[i, j] + u[i, j + 1]) = 0
Colocando os termos u[i, j] em evidência:
u[i− 1, j] + u[i+ 1, j] + α2(u[i, j − 1] + u[i, j + 1])− (2 + 2α2)u[i, j] = 0
De modo que:
u[i, j] =u[i− 1, j] + u[i+ 1, j] + α2(u[i, j − 1] + u[i, j + 1])
2(1 + α2)
Esta expressão pode ser utilizada para determinar a solução em um dado ponto com base nos
valores dos pontos vizinhos. Como envolve o conhecimento de pontos vizinhos em todas as direções,
esta expressão não pode ser utilizada nas fronteiras, onde algum dos vizinhos não é de�nido. Assim
pode-se utilizar a expressão anterior para qualquer valor de i diferente de 0 ou Ni e para qualquer
valor de j diferente de 0 ou Nj .
Como pode ser observado, no caso de um grid quadrado, com ∆x = ∆y, teremos que α2 = 1,
de modo que a solução no ponto [i, j] será simplesmente a média aritmética da solução nos seus
quatro vizinhos.
Por envolver o valor da variável em um dado ponto e em seus quatro vizinhos, esta forma de
aproximação é muitas vezes chamada de aproximação em 5 pontos.
127
Uma notação muito útil para apresentar relações similares a esta pode ser conseguida utilizando
o conceito de pontos cardeais. Com isso, os vizinhos a um dado ponto P são representados como
pontos leste (E), oeste (W ), norte (N) e sul (S), por comparação com uma projeção cartográ�ca
cartesiana, como indicado na �gura a seguir.
Neste esquema, o ponto [i, j] é identi�cado como ponto P , o ponto [i + 1, j] como ponto E, e
assim sucessivamente. A vantagem de utilizar este esquema é que pode-se associar um coe�ciente
A com cada ponto, de modo a escrever a equação discretizada como:
AP (u[i, j]) +AW (u[i− 1, j]) +AE(u[i+ 1, j]) +AS(u[i, j − 1]) +AN (u[i, j + 1]) = 0
No exemplo anterior, os coe�cientes associados são:
AP = −(2 + 2α2) AW = AE = 1 AN = AS = α2
A discretização de equações elípticas homogêneas em um sistema bidimensional sempre irá gerar
uma relação desta forma, portanto pode-se simplesmente alterar os coe�cientes A para incluir as
modi�cações em relação a este caso.
11.1.1. Discretização das Condições de Contorno
Para resolver o sistema de equações lineares, cada ponto do grid deve possuir uma equação
linearmente independente associada. A relação anterior pode ser aplicada para todos os pontos
externos, enquanto que nas fronteiras pode-se utilizar as condições de contorno.
Relembrando, as condições de contorno associadas são:
u(0, y) = 0 u(W, y) = 0 u(x, 0) = 0 u(x, L) = 1
128
A primeira condição, u(0, y) = 0, é aplicada em x = 0, ou seja, na extremidade esquerda do
domínio de solução. Como a direção x é representa pelo ínidice i, a fronteira x = 0 equivale a i = 0.
Com relação a direção y, identi�cada pelo índice j, a condição deve ser válida para todos os valores
de j = 0 até j = Nj . Assim, pode-se especi�car esta condição de contorno como:
u(0, y) = 0 → u[0, j] = 0 j = 0 até Nj
A utilização de índices partindo de 0 e indo até Ni ou Nj causa problema nos vértices do grid,
pois nestes pontos pode haver sobreposição de condições de contorno. Por exemplo, considere a
condição na superfície superior (y = L). Esta condição estabelece que u(x, L) = 1. Assim, pode-se
de�nir esta condição na forma discreta como:
u(x, L) = 1 → u[i,Nj ] = 1 i = 0 até Ni
ou seja, �xa-se a direção y e varia-se a direção x para cobrir todo o domínio de solução. No entanto,
no vértice u[0, Nj ] (canto superior esquerdo), já havia sido atribuída a condição u[0, Nj ] = 0. O
mesmo problema irá ocorrer em todos os vértices, pois representam uma interseção entre fronteiras
que podem ou não ter condições distintas associadas. A pergunta óbvia que deve ser feita neste
caso é qual condição deve ser aplicada nos vértices. A resposta não tão óbvia é que não existe uma
regra geral para isto. Normalmente, o grid numérico possui um número elementos su�cientemente
grande para a escolha não ter uma importância tão signi�cativa. Neste caso, será considere que
nos vértices superiores u = 1. Assim, a primeira condição deve ser expressa como:
u(0, y) = 0 → u[0, j] = 0 j = 0 até Nj − 1
e as demais condições resultam em:
u(W, y) = 0 → u[Ni, j] = 0 j = 0 até Nj − 1
u(x, 0) = 0 → u[i, 0] = 0 i = 1 até Ni − 1
Na última condição, foram especi�cados valores a partir de i = 1 até i = Ni−1 porque os vértices
já haviam sido de�nidos nas demais condições.
Dessa forma, todos os pontos do grid possuem uma equação algébrica associada. Resolvendo
este sistema de equações, obtém-se uma aproximação para a solução da EDP.
11.1.2. Obtenção do Sistema de Equações Algébricas
Para ilustrar este problema, considere uma malha simpli�cada com Ni = Nj = 4 e com igual
espaçamento nas direções x e y, de modo que ∆x = ∆y e como consequência α = 1. Certamente
129
um grid com este número de elementos não é adequado para representar um sistema físico real,
mas será utilizado somente para ilustrar a obtenção das equações.
As condições de�nidas anteriormente, na forma discretizada, foram:
fronteira esquerda u[0, j] = 0 j = 0 até Nj − 1
fronteira superior u[i,Nj ] = 1 i = 0 até Ni
fronteira direita u[Ni, j] = 0 j = 0 até Nj − 1
fronteira inferior u[i, 0] = 0 i = 1 até Ni − 1
A aplicação da condição na fronteira esquerda resulta em:
u[0, 0] = u[0, 1] = u[0, 2] = u[0, 3] = 0
De forma semelhante, a aplicação das condições nas fronteiras superior, direita e inferior resulta,
respectivamente, em:
u[0, 4] = u[1, 4] = u[2, 4] = u[3, 4] = u[4, 4] = 1
u[4, 0] = u[4, 1] = u[4, 2] = u[4, 3] = 0
u[1, 0] = u[2, 0] = u[3, 0] = 0
Estas condições de�nem os Ni ×Nj = 16 pontos da fronteira. Para os pontos internos, deve-se
utilizar a equação discretizada obtida anteriormente:
AP (u[i, j]) +AW (u[i− 1, j]) +AE(u[i+ 1, j]) +AS(u[i, j − 1]) +AN (u[i, j + 1]) = 0
130
Com os coe�cientes
AP = −(2 + 2α2) = −4 AW = AE = 1 AN = AS = α2 = 1
Por exemplo, para j = 1, estas equações resultam em:
APu[1, 1] +AWu[0, 1] +AEu[2, 1] +ASu[1, 0] +ANu[1, 2] = 0
APu[2, 1] +AWu[1, 1] +AEu[3, 1] +ASu[2, 0] +ANu[2, 2] = 0
APu[3, 1] +AWu[2, 1] +AEu[4, 1] +ASu[3, 0] +ANu[3, 2] = 0
Como pode ser visto, estas equações dependem também dos valores nas posições j = 0 e j = 2.
Fazendo o mesmo procedimento para as demais linhas, irá se obter equações semelhantes. Neste
caso, serão 9 equações além das condições de contorno. Por simplicidade, as aproximações u[i, j]
serão representadas por uij . Assim, considerando os valores dos coe�cientes e as condições de
contorno, as equações anteriores podem ser expressas como:
−4u11 + u21 + u12 = 0
−4u21 + u11 + u31 + u22 = 0
−4u31 + u21 + u32 = 0
De forma semelhante, para j = 2, as equações obtidas são:
−4u12 + u22 + u13 + u11 = 0
−4u22 + u12 + u32 + u23 + u21 = 0
−4u32 + u31 + u22 + u33 = 0
Finalmente, para j = 3
−4u13 + u12 + u23 = −1
−4u23 + u13 + u33 + u22 = −1
−4u33 + u23 + u32 = −1
131
Este sistema pode ser representado na forma matricial como:
−4 1 0 1 0 0 0 0 0
1 −4 1 0 1 0 0 0 0
0 1 −4 0 0 1 0 0 0
1 0 0 −4 1 0 1 0 0
0 1 0 1 −4 1 0 1 0
0 0 1 0 1 −4 0 0 1
0 0 0 1 0 0 −4 1 0
0 0 0 0 1 0 1 −4 1
0 0 0 0 0 1 0 1 −4
u11
u21
u31
u12
u22
u32
u13
u23
u33
=
0
0
0
0
0
0
−1
−1
−1
Este sistema pode ser apresentado de uma forma simpli�cada como:
B I 0
I B I
0 I B
u1
u2
u3
=
0
0
−1
onde I é a matriz identidade 3× 3 e os blocos B são dados por:
−4 1 0
1 −4 1
0 1 −4
os vetores ux representam os pontos associados com valores �xos de j = x.
O sistema linear formado com estas equações irá apresentar uma estrutura conhecida como
tridiagonal em blocos. A resolução deste sistema linear através de técnicas de eliminação não
costuma apresentar bons resultados, pois a matriz dos coe�cientes usualmente é muito esparsa (a
maioria dos elementos são nulos). Em contrapartida, métodos iterativos como Jacobi e Gauss-Siedel
apresentam excelentes resultados, pois usualmente a matriz possui a diagonal principal dominante.
Resolvendo o sistema de equações, obtém-se os seguintes valores:
u11 = u31 = 0.0714 u21 = 0.0982
u12 = u32 = 0.1875 u22 = 0.25
u13 = u33 = 0.4286 u23 = 0.5268
132
Lista de Exercícios 11 - Diferenças Finitas para EDP's Elípticas
1) (Equação de Poisson) Considere um sistema bidimensional, como na Figura a seguir,
representando um meio sólido com condutividade térmica constante onde existe uma fonte uniforme
de calor q/k e as fronteiras são mantidas em T = 0◦C. Neste caso, a equação que descreve a variação
de temperatura ao longo das direções x e y, em estado estacionário, é dada por:
∂T
∂x2+∂2T
∂y2=q
k
As equações com este formato são chamadas de equação de Poisson e são uma importante classe
de equações elípticas.
Considere um sistema onde L = W = 1 cm e q/k = 1.5 × 103K/cm2 correspondendo, por
exemplo, a um microchip onde ocorre dissipação de calor devido à passagem de uma corrente
elétrica. Utilizando uma malha com Ni = Nj = 5, obtenha a temperatura no centro do microchip.
Se necessário, interpole os valores dos pontos vizinhos ao ponto central.
R: T = 67.5◦C
2) (Utilização de Planos de Simetria) Considere novamente o sistema descrito no exemplo
anterior. Como as condições de contorno impostas são iguais em todos as fronteiras e a fonte de
calor é homogênea, os planos paralelos aos eixos x e y e que cruzam o ponto central representam
planos de simetria. Isto implica que é su�ciente considerar somente 1/4 do domínio de solução, já
que o comportamento neste quadrante será idêntico ao comportamento nos demais1. A condição
matemática que representa os planos simetrias é de derivada nula em relação à direção normal.
Dessa forma, o problema anterior pode ser representado da forma:
1Alguns sistemas podem apresentar quebra de simetria devido à �utuações ini�nitesimais próximas a pontos
de bifurcação, mas este comportamento é raro e usualmente não precisa ser considerado.
133
a) Utilizando novamente Ni = Nj = 5, obtenha a temperatura no ponto central. Observe que
neste caso o ponto central corresponde exatamente ao vértice T [Ni, Nj ].R: T = 51.465◦C
134
12. Método de Diferenças Finitas para
EDP's Parabólicas
Como visto em aulas anteriores, as equações parabólicas possuem uma separação entre o domínio
de in�uência e o domínio de dependência dos pontos. A principal categoria de equações parabólicas
são as relacionadas com a equação do calor:
∂u
∂t= α∇2u
Sendo que esta equação governa a variação de um potencial u ao longo do tempo e das direções
espaciais.
Para equações parabólicas, a separação entre os domínios de in�uência e de dependência pos-
sibilita o uso de métodos de marcha para avaliar a solução a partir de uma condição inicial até
um ponto �nal que não precisa ser previamente de�nido, ou seja, pode-se construir o domínio
discretizado conforme se avança na solução.
12.1. Equação do Calor Unidimensional
Para ilustrar a aplicação do método de diferenças �nitas para a discretização de equações para-
bólicas, será considerado a equação do calor unidimensional por simplicidade:
∂u
∂t= α
∂2u
∂x2
Neste caso, assim como para a equação de Laplace vista anteriormente, o domínio de solução
também possui duas dimensões, de modo que a variável discretizada será identi�cada como u[i,m] =
ui,m onde i representa a direção x e m o tempo. A solução da EDP neste caso será da forma u(x, t),
enquanto que sua aproximação discreta será da forma ui,m.
Para resolver esta equação, é necessário especi�car duas condições de contorno em x e uma
condição inicial no tempo. Por exemplo, considere que as extremidades x = 0 e x = L sejam
mantidas em uma condição tal que u = 0 para todo o tempo.
u(0, t) = 0 u(L, t) = 0
135
Além disso, considere que inicialmente o sistema esteja mantido em uma condição u = 1 ao longo
de toda a direção x:
u(x, 0) = 1
Uma das principais diferenças em relação às equações elípticas é que no caso das parabólicas
o domínio de solução é aberto em uma das direções, no exemplo anterior em relação ao tempo.
Isto implica que não é necessário conhecer condições em um valor �nal de tempo para resolver a
equação. Na �gura a seguir é representado um exemplo de grid numérico associado a uma equação
parabólica.
O grid neste caso possui Ni elementos na direção x, ou seja, esta direção já está totalmente
de�nida. Na direção t, pode-se continuar avaliando o sistema conforme for necessário. Neste caso,
é comum dizer que cada valor m corresponde a um nível de tempo distinto. Por exemplo, u2,4
representa uma aproximação para a solução no ponto i = 2 no nível de tempo m = 4. Em termos
do domínio contínuo, isto representa uma aproximação na posição x = 2∆x e no tempo t = 4∆t.
Para aplicar o método de diferença �nitas nesta equação, deve-se discretizar a derivada espacial,
assim como realizado para a equação de Laplace, e a derivada temporal, como será apresentado a
seguir
12.1.1. Discretização das Derivadas Temporal e Espacial
A existência de um caminho preferencial nas EDP's parabólicas facilita a sua análise numérica,
pois para determinar a solução em um dado ponto ui,m basta considerar o seu domínio de depen-
136
dência. Analisando em termos físicos, isto signi�ca que não é preciso avaliar um nível de tempo
m+ 1 (futuro) para determinar a solução em um nível de tempo m (presente). Assim, para avaliar
a derivada primeira em uma posição i e em um nível m, deve-se utilizar um esquema para trás, de
forma que:∂u
∂t=u[i,m]− u[i,m− 1]
∆t
Para a discretização da derivada espacial em x, como comentado anteriormente, considera-se
as demais variáveis independentes constantes. Neste caso, existem duas possibilidades para a
discretização: manter o tempo constante no nívelm ou no nívelm−1. Cada uma das possibilidades
possui suas vantagens e desvantagens. A avaliação no nível m − 1 é conhecida como formulação
explícita, e utilizando um esquema central resulta em:
∂2u
∂x2=u[i− 1,m− 1]− 2u[i,m− 1] + u[i+ 1,m− 1]
∆x2
De forma equivalente, a formulação baseada no nível m é conhecida como formulação implícita, e
resulta em:∂2u
∂x2=u[i− 1,m]− 2u[i,m] + u[i+ 1,m]
∆x2
Pode-se observar que se a derivada segunda for substituída por uma função f(t, y) qualquer, a
formulação explícita é equivalente ao método de Euler explícito e a formulação implícita ao método
de Euler implícito. A principal vantagem do método explícito é sua facilidade de implementação,
pois pode-se partir da condição inicial de�nida no nível m = 0 para avaliar de forma explícita
todos os pontos no nível m = 1 e continuar com este processo até atingir o tempo �nal desejado.
Já a formulação implícita requer a resolução de um conjunto de equações algébricas para cada
nível de tempo. No entanto, assim como para o método de Euler, a formulação explícita possui
sérios problemas de estabilidade, sendo em muitos casos necessário o uso de passos de tempo
muito pequenos, enquanto que a formulação implícita é automaticamente estável. A seguir serão
apresentados mais detalhes sobre as duas possíveis formulações.
12.2. Método Explícito
Utilizando a formulação explícita, a equação do calor unidimensional pode ser expressa na forma
discretizada como:
u[i,m]− u[i,m− 1]
∆t= α
(u[i− 1,m− 1]− 2u[i,m− 1] + u[i+ 1,m− 1]
∆x2
)Como pode ser visto, esta equação possui somente um termo avaliado no nível de tempo m. De�-
nindo o seguinte parâmetro adimensional, conhecido como número de Fourier:
Fo =α∆t
∆x2
137
A equação anterior pode ser escrita como:
u[i,m] = u[i,m− 1] + Fo(u[i− 1,m− 1]− 2u[i,m− 1] + u[i+ 1,m− 1])
Assim, o termo Fo(u[i− 1,m− 1]− 2u[i,m− 1] +u[i+ 1,m− 1]) pode ser visto como uma correção
para o valor no ponto i devido a uma passagem de tempo ∆t. Desta forma, os valores para um novo
nível de tempo m podem ser obtido somente com base nos valores do passo anterior (já conhecidos),
de forma que este procedimento é um método de marcha no tempo (não é necessário convergir no
passo atual para avançar para o próximo). Este comportamento é ilustrado na �gura a seguir:
Conforme comentado anteriormente, o principal problema com a formulação explícita é a di�-
culdade em garantir a estabilidade. Para analisar a estabilidade desta formulação pode-se utilizar
um método chamado de método de von Neumann. A obtenção do critério de estabilidade não será
apresentada aqui por brevidade, porém pode-se mostrar que o método será estável somente se:
Fo =α∆t
∆x2<
1
2
ou seja, deve-se utilizar valores de ∆x e ∆t que garantam que esta condição seja satisfeita. Da
mesma forma que os critérios utilizados para manter a estabilidade do método de Euler, esta
condição não garante que a precisão desejada será atingida, garante somente que os erros de ar-
redondamento não serão ampli�cados ao longo da solução. De fato, a redução no valor de ∆x
irá aumentar o número de Fourier e como consequência prejudicar a estabilidade. Porém como a
aproximação por diferenças �nitas é baseada em um truncamento da série de Taylor, a redução em
∆x reduz os erros de truncamento. A estratégia que costuma ser aplicada neste caso é determinar o
∆x tal que os erros de truncamento sejam su�cientemente baixos e com base neste valor determinar
qual o passo de tempo que pode ser utilizado para garantir a estabilidade.
Para ilustrar a aplicação do método explícito, considere um caso onde deseja-se remover uma
dada espécie química A do interior de um meio poroso até o meio externo, como por exemplo em
um processo de extração sólido-líquido ou processo de sacagem, como ilustrado na �gura a seguir:
138
Mediante alguns hipóteses simples, a equação que descreve a transferência de massa da espécie
A é dada por:∂CA∂t
= DA∂2CA∂x2
onde DA é o coe�ciente de difusão e CA a concentração da espécie A. A solução neste caso será da
forma CA(x, t). Como condições de contorno, temos que:
CA(L, t) = KpCA,∞ = C∗A
∂CA∂x
∣∣∣x=0
= 0
Como condição inicial, será considerado que o sistema está com uma concentração constante:
CA(x, 0) = CA,0
Para facilitar a resolução deste problema, pode-se de�nir uma variável adimensional da forma:
u =CA − C∗ACA,0 − C∗A
de forma que a equação governante, as condições de contorno e a condição inicial podem ser
reescritas como:∂u
∂t= DA
∂2u
∂x2
u(L, t) = 0∂u
∂x
∣∣∣x=0
= 0 u(x, 0) = 1
A discretização da equação governante através do método de diferenças �nitas explícito resulta
em:
u[i,m] = u[i,m− 1] + Fo(u[i− 1,m− 1]− 2u[i,m− 1] + u[i+ 1,m− 1])
139
ou em notação compacta:
ui,m = ui,m−1 + Fo(ui−1,m−1 − 2ui,m−1 + ui+1,m−1)
onde neste caso Fo = DA∆t/∆x2. Como a difusividade é uma propriedade física do sistema, este
é um valor �xo e previamente conhecido. Assim, é necessário de�nir dois parâmetros, por exemplo
∆x e Fo, de modo que ∆t pode ser calculado.
Por exemplo, considere um caso onde L = 1mm e ∆x = 0.2, de modo que Ni = L/∆x =
5. O valor de ∆t deve ser pequeno o su�ciente para garantir a estabilidade. O critério para
estabilidade é Fo < 0.5, porém é recomendável utilizar um valor relativamente menor. Neste caso,
será considerado que Fo < 0.25, de modo que o passo de tempo será:
∆t =Fo∆x2
DA
Por exemplo, pode-se considerar que um valor razoável para DA é 0.01mm2/s, de modo que:
∆t =(0.25)(0.2)2
0.01= 1 s
Considerando que Ni = 5, o grid numérico será da forma como apresentado na �gura seguir.
Para inicar o processo de aproximação da solução, pode-se primeiramente de�nir as condições de
contorno e a condição inicial. Novamente, nos vértices do grid existe uma sobreposição de condições,
pois as condições de contorno indicam que u(0, t) = u(L, t) = 0 para qualquer t e a condição inicial
indica que u(x, 0) = 1 para qualquer x. Neste caso será considerado que a condição inicial seja
satisfeita nos vértices, de modo que para o nível de tempo m = 0 (condição inicial), temos que:
u0,0 = u1,0 = u2,0 = u3,0 = u4,0 = u5,0 = 1
Com base nestes valores, pode-se determinar o próximo nível de tempo, m = 1. Primeiramente,
pode-se de�nir as condições de contorno. Na extremidade x = L, a condição de primeira espécie
140
pode ser expressa na forma discreta como:
u(L, t) = 0 → u5,m = 0 m ≥ 1
sendo esta condição válida para qualquer nível de tempo além do inicial. De forma semelhante, a
condição de segunda espécie na fronteira x = 0 implica que:
∂u
∂x
∣∣∣x=0
= 0 → u0,m = u1,m m ≥ 1
Assim, resta avaliar os pontos internos (i = 1 até i = 4). Por exemplo, para i = 1 temos que:
u1,1 = u1,0 + Fo(u0,0 − 2u1,0 + u2,0) = 1 + 0.25(1− 2 + 1) = 1
De forma semelhante, para os demais pontos:
u2,1 = u2,0 + Fo(u1,0 − 2u2,0 + u3,0) = 1 + 0.25(1− 2 + 1) = 1
u3,1 = u3,0 + Fo(u2,0 − 2u3,0 + u4,0) = 1 + 0.25(1− 2 + 1) = 1
u4,1 = u4,0 + Fo(u3,0 − 2u4,0 + u5,0) = 1 + 0.25(1− 2 + 1) = 1
Como pode ser visto, somente o ponto associado a condição de contorno em x = L foi alterado.
Resumindo:
u0,1 = u1,1 = u2,1 = u3,1 = u4,1 = 1 u5,1 = 0
Esta característica é comum dos métodos de diferenças �nitas explícito. No próximo nível de
tempo, m = 2, somente os valores em i = 5 e i = 4 serão diferentes dos valores iniciais, ou seja,
para cada nível de tempo somente um ponto adicional é afetado pela condição de contorno. Neste
caso, os valores nestes pontos serão:
u5,2 = 0
u4,2 = u4,1 + Fo(u3,1 − 2u4,1 + u5,1) = 1 + 0.25(1− 2 + 0) = 0.75
De modo que:
u0,2 = u1,2 = u2,2 = u3,2 = 1 u4,2 = 0.75 u5,1 = 0
De forma semelhante, para o próximo nível de tempo somente os valores associados a i = 3, i = 4
e i = 5 serão diferentes da condição inicial:
u5,3 = 0
u4,3 = u4,2 + Fo(u3,2 − 2u4,2 + u5,2) = 0.75 + 0.25(1− 2(0.75) + 0) = 0.625
u3,3 = u3,2 + Fo(u2,2 − 2u3,2 + u4,2) = 1 + 0.25(1− 2 + 0.75) = 0.9375
141
Assim:
u0,3 = u1,3 = u2,3 = 1 u3,3 = 0.9375 u4,3 = 0.625 u5,1 = 0
Para m = 4, obtém-se:
u5,4 = 0
u4,4 = u4,3 + Fo(u3,3 − 2u4,3 + u5,3) = 0.625 + 0.25(0.9375− 2(0.625) + 0) = 0.54687
u3,4 = u3,3 + Fo(u2,3 − 2u3,3 + u4,3) = 0.9375 + 0.25(1− 2(0.9375) + 0.625) = 0.875
u2,4 = u2,3 + Fo(u1,3 − 2u2,3 + u3,3) = 1 + 0.25(1− 2 + 0.9375) = 0.9844
Assim:
u0,4 = u1,4 = 1 u2,4 = 0.9844 u3,4 = 0.875 u4,4 = 0.54687 u5,1 = 0
Pode-se continuar com este procedimento até atingir o tempo �nal desejado.
12.3. Método Implícito
Na formulação implícita, a derivada espacial é avaliada no mesmo nível de tempo onde o ponto
está sendo avaliado. Com isso, a equação do calor unidimensional é discretizada como:
u[i,m]− u[i,m− 1]
∆t= α
(u[i− 1,m]− 2u[i,m] + u[i+ 1,m]
∆x2
)Considerando novamente a de�nição do número de Fourier, esta expressão pode ser escrita como:
u[i,m] = u[i,m− 1] + Fo(u[i− 1,m]− 2u[i,m] + u[i+ 1,m])
Assim, o valor no ponto irá depender do valor no mesmo ponto e no tempo anterior e dos valores
vizinhos no mesmo passo de tempo, como representado na �gura a seguir. A formulação implícita
é automaticamente estável para qualquer valor de Fo.
142
Para ilustrar a aplicação do método implícito, será considerado o mesmo exemplo utilizado
anteriormente para o método explícito, mantendo um grid com Ni = 5 elementos. Neste caso
pode-se utilizar um valor de Fo maior, já que não existe problemas de estabilidade. No entanto,
será considerado o mesmo valor Fo = 0.25 para possibilitar uma comparação direta. Relembrando,
a equação governante e as condições associadas são:
∂u
∂t= DA
∂2u
∂x2
u(L, t) = 0∂u
∂x
∣∣∣x=0
= 0 u(x, 0) = 1
A equação discretizada é dada por:
ui,m = ui,m−1 + Fo(ui−1,m − 2ui,m + ui+1,m) = ui,m−1 + Fo(ui−1,m + ui+1,m)− 2Foui,m
Esta relação também pode ser expressa como:
(2Fo+ 1)ui,m − ui,m−1 − Foui−1,m − Foui+1,m = 0
Novamente, para o nível de tempo inicial, temos que a condição inicial resulta em:
u0,0 = u1,0 = u2,0 = u3,0 = u4,0 = u5,0 = 1
Para o próximo nível de tempo, as condições de contorno resultam em:
u5,1 = 0 u0,1 = u1,1
Para os pontos internos, neste caso será obtido o seguinte sistema de equações:
(2Fo+ 1)u1,1 − u1,0 − Fou0,1 − Fou2,1 = 0 → (1.25)u1,1 − 0.25u2,1 = 1
(2Fo+ 1)u2,1 − u2,0 − Fou1,1 − Fou3,1 = 0 → (1.5)u2,1 − 0.25u1,1 − 0.25u3,1 = 1
(2Fo+ 1)u3,1 − u3,0 − Fou2,1 − Fou4,1 = 0 → (1.5)u3,1 − 0.25u2,1 − 0.25u4,1 = 1
(2Fo+ 1)u4,1 − u4,0 − Fou3,1 − Fou5,1 = 0 → (1.5)u4,1 − 0.25u3,1 = 1
Este sistema linear pode ser expresso como:1.25 −0.25 0 0
−0.25 1.5 −0.25 0
0 −0.25 1.5 −0.25
0 0 −0.25 1.5
u1,1
u2,1
u3,1
u4,1
=
1
1
1
1
143
Como pode ser visto, neste caso se obtém um sistema tridiagonal que pode ser resolvido, por
exemplo, com o uso do algoritmo de Thomas. Resolvendo este sistema, obtém-se em conjunto com
as condições de contorno:
u0,1 = u1,1 = 0.999 u2,1 = 0.9949 u3,1 = 0.9706 u4,1 = 0.8284 u5,1 = 0
Neste caso, pode-se observar que a condição de contorno em x = L afeta todos os pontos do grid.
Este resultado é mais coerente com o comportamento físico do sistema.
Avaliando para o próximo nível de tempo (m = 2):
(2Fo+ 1)u1,2 − u1,1 − Fou0,2 − Fou2,2 = 0 → 1.25u1,2 − 0.25u2,2 = 0.999
(2Fo+ 1)u2,2 − u2,1 − Fou1,2 − Fou3,2 = 0 → 1.5u2,2 − 0.25u1,2 − 0.25u3,2 = 0.9949
(2Fo+ 1)u3,2 − u3,1 − Fou2,2 − Fou4,2 = 0 → 0.5u3,2 − 0.25u2,2 − 0.25u4,2 = 0.9706
(2Fo+ 1)u4,2 − u4,1 − Fou3,2 − Fou5,2 = 0 → 1.5u4,2 − 0.25u3,2 = 0.8284
Na forma matricial, este sistema resulta em:1.25 −0.25 0 0
−0.25 1.5 −0.25 0
0 −0.25 1.5 −0.25
0 0 −0.25 1.5
u1,2
u2,2
u3,2
u4,2
=
0.999
0.9949
0.9706
0.8284
Como pode ser visto, a matriz dos coe�cientes não é alterada, havendo uma mudança somente
na parte não-homogênea. Resolvendo o sistema, obtém-se:
u0,2 = u1,2 = 0.9968 u2,2 = 0.9842 u3,2 = 0.929 u4,2 = 0.7071 u5,2 = 0
Fazendo o mesmo procedimento para o próximo nível de tempo (m = 3), será obtido o sistema:1.25 −0.25 0 0
−0.25 1.5 −0.25 0
0 −0.25 1.5 −0.25
0 0 −0.25 1.5
u1,3
u2,3
u3,3
u4,3
=
0.9968
0.9842
0.929
0.7071
Resolvendo o sistema:
u0,3 = u1,3 = 0.9912 u2,3 = 0.9686 u3,3 = 0.8839 u4,3 = 0.6187 u5,3 = 0
Finalmente, para m = 4:1.25 −0.25 0 0
−0.25 1.5 −0.25 0
0 −0.25 1.5 −0.25
0 0 −0.25 1.5
u1,4
u2,4
u3,4
u4,4
=
0.9912
0.9686
0.8839
0.6187
144
Resolvendo o sistema:
u0,4 = u1,4 = 0.9829 u2,4 = 0.9495 u3,4 = 0.8396 u4,4 = 0.5524 u5,4 = 0
Comparando com os valores obtidos com o método explícito para o mesmo nível de tempo:
u0,4 = u1,4 = 1 u2,4 = 0.9844 u3,4 = 0.875 u4,4 = 0.54687 u5,1 = 0
Como visto, os resultados obtidos com os dois métodos estão bem próximos, com a diferença que
o método explícito tende a provocar uma variação mais rápida nos pontos próximos a condição de
contorno em x = L e uma variação mais lenta nos pontos mais internos.
De forma geral, o sistema obtido para cada nível m será da forma:
A~um = ~um−1
onde
~um = (u1,m, u2,m, u3,m, u4,m)
145
Lista de Exercícios 12 - Diferenças Finitas para EDP's Parabólicas
1) (Equação do Calor) Uma das equações mais importantes para a engenharia é a equação
do calor, de�nida de forma geral como:
∂u
∂t= α
∂2u
∂x2
onde α é uma constante representando o coe�ciente de difusão. Esta equação é utilizada para des-
crever processos transientes unidirecionais (não somente de calor). Considere as seguintes condições
de contorno:
u(0, t) = 0 u(1, t) = 0
e a seguinte condição inicial:
u(x, 0) = 1
a) Considerando uma malha com ∆x = 0.2 e α = 0.5, determine o passo de tempo máximo que
pode ser utilizado para garantir a estabilidade da solução com o uso de uma formulação explícita;R: ∆t ≤ 0.04
b) Utilizando o método explícito, determine o valor de u em x = 0.6 e x = 0.8 para os três
primeiros passos de tempo, considerando o valor de ∆t obtido no item anterior;R: t = ∆t : u(0.6) = 1, u(0.8) = 0.5; t = 2∆t : u(0.6) = 0.75, u(0.8) = 0.5; t = 3∆t : u(0.6) =
0.625, u(0.8) = 0.375
c) Determine u em x = 0.6 e x = 0.8 para os três primeiros passos de tempo utilizando uma
formulação implícita. Considere o mesmo passo de tempo adotado no item b.
R: t = ∆t : u(0.6) = 0.909, u(0.8) = 0.727; t = 2∆t : u(0.6) = 0.7934, u(0.8) = 0.562; t = 3∆t : u(0.6) =
0.679, u(0.8) = 0.451
2) (Transferência de Massa em um Filme Descendente)Muitos processos de interesse na
engenharia química envolvem o transporte através de �lmes líquidos que se formam sobre superfícies
verticais. Considere, por exemplo, um caso onde uma espécie química A é absorvida pelo meio
líquido, conforme ilustrado na �gura a seguir.
A variação na concentração da espécie A ao longo de y e z é dada por:
uy(z)∂CA∂y
= DA∂2CA∂z2
Mesmo não envolvendo uma derivada temporal, esta equação é uma EDP parabólica, pois existe
um caminho característico associado à direção y (a informação viaja de cima para baixo).
Através da aplicação das equações de Navier-Stokes, pode-se mostrar que no regime laminar o
per�l de velocidade é dado por:
uy(z) =ρgδ2
2µ
(1− z2
δ2
)146
Como as propriedades físicas e a espessura do �lme δ são constantes, pode-se ainda expressar o
per�l como:
uy(z) = k1
(1− z2
δ2
)Como condições de contorno, pode-se considerar que em y = 0 o líquido está isento do composto
A, de modo que:
CA(0, z) = 0
Na interface com o gás, pode-se assumir uma relação de equilíbrio:
CA(y, 0) = CAe
Além disso, pode-se também considerar que a parede é impermeável, resultando em uma condição
de derivada nula em relação a z:∂CA∂z
(y, δ) = 0
Com base nestas informações, utilize o método de diferenças �nitas com formulação explícita
para discretizar a equação para CA, ou seja, obtenha as equações algébricas que descrevem a
concentração ao longo do sistema.
147