Você está na página 1de 16

Universidade Estadual do Norte Fluminense Darcy Ribeiro

Centro de Ciência e Tecnologia


Cálculo Numérico

Relatório da Utilização do Método Previsor-Corretor de


Adams-Bashforth-Moulton para Resolução Numérica de
EDO’s
Um Estudo Utilizando Método de Runge-Kutta de 3ª Ordem, para passos simples, e o
Método de Adams-Bashforth-Moulton de 5ª Ordem

Ciência da Computação

Estefânio Silva Matrícula: 20201100011


Pablo Valadares Matrícula: 20221100016
Pedro Moreth Matrícula: 00118111392
Yro Manhães Matrícula: 00118112010

Professor: Oscar Alfredo Paz La Torre

29 de novembro de 2023
1

1 Introdução

A resolução numérica de equações diferenciais ordinárias (EDOs) desempenha um papel fundamental na


compreensão e modelagem de fenômenos dinâmicos em diversas áreas científicas e de engenharia. Diante da com-
plexidade analítica de muitos sistemas, métodos numéricos tornam-se ferramentas essenciais para obter soluções
aproximadas. Nesse contexto, o presente relatório aborda a aplicação e análise do Método de Adams-Bashforth-
Moulton de quinta ordem, um método preditor-corretor, para resolver EDOs. Adicionalmente, empregamos o
Método de Runge-Kutta de terceira ordem para calcular valores de passo simples.
O Método de Adams-Bashforth-Moulton é uma técnica preditora-corretora que combina a previsão do Mé-
todo de Adams-Bashforth com a correção do Método de Adams-Moulton, visando proporcionar uma solução mais
precisa e estável para EDOs (CHAPRA, 2013). Neste relatório, desenvolvemos o Método de Adams-Bashforth-
Moulton para m = 5 e aplicamos essa abordagem para aproximar soluções de Problemas de Valor Inicial (PVI)
específicos.
Para validar e comparar os resultados obtidos com o Método de Adams-Bashforth-Moulton, utilizamos o
Método de Runge-Kutta de terceira ordem para calcular valores de passo simples. Esta técnica clássica é
conhecida por sua robustez e eficácia na resolução de EDOs.
Os PVI’s apresentados neste estudo envolvem equações diferenciais com coeficientes não lineares, represen-
tando desafios significativos na obtenção de soluções analíticas. Os casos de teste incluem EDOs que modelam
diferentes fenômenos, como crescimento populacional, oscilação amortecida e interações não lineares.
Ao longo do relatório, apresentaremos as formulações teóricas dos métodos utilizados, detalharemos a im-
plementação computacional, discutiremos os resultados obtidos e faremos análises críticas sobre a eficácia e
precisão dos métodos empregados. Espera-se que este estudo contribua para a compreensão e aplicação prática
de métodos numéricos na solução de EDOs, fornecendo insights valiosos sobre as vantagens e limitações de cada
abordagem.

2 Ferramentas Teóricas

2.1 Equações Diferenciais Ordinárias (EDO’s)


Equações Diferenciais Ordinárias (EDOs) são uma classe importante de equações matemáticas que mode-
lam muitos fenômenos dinâmicos em diversas áreas da ciência e engenharia. Uma EDO envolve uma função
desconhecida e sua(s) derivada(s) em relação a uma variável independente. Segundo ( JR, 2016) geralmente, as
EDOs são expressas na forma:
F (t, y, y′, y′′, ..., y(n)) = 0

onde y(t) é a função desconhecida, t é a variável independente, y′ é a primeira derivada de y em relação a t, e


assim por diante até y(n) , que é a n-ésima derivada de y em relação a t.

2.2 Métodos Numéricos para EDO’s


Resolver Equações Diferenciais Ordinárias (EDOs) de forma analítica nem sempre é possível, especialmente
quando lidamos com equações complexas ou não lineares. Nesse contexto, métodos numéricos desempenham um
papel crucial ao fornecer aproximações eficientes e precisas para as soluções dessas equações ( FREITAS, 2019).
Alguns dos métodos numéricos comumente utilizados são elencados a seguir:

• Método de Euler: É um método simples de passo único que utiliza uma aproximação linear para a derivada.
Apesar de sua simplicidade, é menos preciso em comparação com métodos mais avançados.
2

• Métodos de Runge-Kutta:Esses métodos buscam igualar a precisão de Taylor sem ser computacionalmente
inviável como o mesmo, para isso são desenvolvidos métodos iguais de ordens diferentes que garantem mais
proximidade ao resultado. O Runge-Kutta de 2ª Ordem (RK2) oferece uma melhoria em relação ao Método
de Euler, usando um passo médio para calcular a derivada. Já Runge-Kutta de 3 ª Ordem (RK3) é uma
otimização do RK2, garantindo a existência de 3 pontos médios entre xn e xn+1.

• Métodos de Passo Múltiplo: Método de Adams-Bashforth é mm método de passo múltiplo preditor que
estima a derivada futura com base em derivadas anteriores. Já o Método de Adams-Moulton é um método
de passo múltiplo corretor que melhora a precisão ao ajustar as estimativas preditas.

A escolha do método depende da natureza da EDO, das condições iniciais, da precisão desejada e da efi-
ciência computacional requerida. Uma abordagem comum é começar com métodos simples e progredir para
métodos mais complexos conforme necessário. Métodos numéricos desempenham um papel vital em simulações,
modelagem de sistemas dinâmicos e análise de fenômenos complexos em diversas disciplinas científicas e de
engenharia.

2.3 Método de Runge-Kutta de 3ª ordem


O Método de Runge-Kutta de 3ª Ordem é um método numérico para resolver equações diferenciais ordinárias
(EDOs). Ele pertence à família de métodos de Runge-Kutta, que são amplamente utilizados devido à sua
simplicidade de implementação e eficácia na obtenção de soluções precisas ( RUGGIERO, 2008). A versão de 3ª
ordem é geralmente referida como RK3.
O RK3 calcula a solução da EDO em três estágios, usando uma combinação ponderada de gradientes em
diferentes posições dentro do intervalo do passo. Isso proporciona uma aproximação mais precisa em comparação
com métodos de ordens inferiores.

2.4 Método de Adams-Bashforth-Moulton


O Método de Adams-Bashforth-Moulton (ABM) é uma técnica numérica utilizada para resolver equações
diferenciais ordinárias (EDOs). Ele combina dois métodos distintos, o de Adams-Bashforth e o de Adams-
Moulton, para obter uma abordagem mais precisa na aproximação da solução de uma EDO ( BURDEN; FAIRES,
2008).
A essência do método pode ser resumida da seguinte forma:
Inicialmente, utiliza o método de Adams-Bashforth para fazer uma predição dos valores futuros da função.
Esse método é chamado de "preditor"e utiliza uma interpolação polinomial para estimar o próximo ponto com
base nos pontos anteriores.
Em seguida, usa o método de Adams-Moulton para corrigir essa predição. O Adams-Moulton é um método
corretor que leva em consideração o próximo ponto calculado pelo Adams-Bashforth e ajusta esse valor para
melhorar a precisão da solução.
O processo de predição e correção é iterado até que se alcance o ponto final desejado ou até que a precisão
desejada seja atingida.

3 Fundamentação Teórica

Nessa sessão iremos deduzir as expressões outrora modeladas nesse artigo. Vamos entender o método de
Rauge-Kutta de 3ª ordem (RK3) em detalhes, interpretanto-o geometricamente, bem como o desenvolvimento
do método previsor-corretor Adams-Bashforth-Moulton (ABM) com m = 5, ambos com passo h = 0.2.
3

3.1 Expressões Teóricas para o Método Runge-Kutta de 3ª Ordem


Considere dois pontos xn e xn+1, supondo que tenhamos o valor de y(xn) podemos, a partir da integração
numérica, obter, por meio de y′(x), a aproximação de y(xn+1). Supondo que y′(xn) = f (xn, yn):
∫ x
∫xn+1 ′ n+1

y (x)dx = f (x, y)dx (1)


xn
∫ xx
n+1

yn+1 = yn f (x, y)dx


x
Para a resolução da integral contida em 2, vamos utilizar o método de integração numérica, resultando assim
em:

yn+1 = yn + h(ak1 + bk2 + ck3) (3)

Onde k1, k2 e k3 são aproximações para as derivadas em outros pontos, dados por:

k1 = f (xn, yn) (4)


k2 = f (xn + αh, yn + αhk1) (5)
k3 = f (xn + βh, yn + γhk2 + (β − γ)hk1) (6)
Para determinar os coeficientes a, b, c, α, β e γ vamos expandir k2 e k3 em Taylor em torno de (xn, yn). Desse
modo é possível comparar as equações desenvolvidas com a série de Taylor de ordem 3 e chegar ao seguinte
sistema: 
a+b+c=1

b· α+c· β = 1
(7)
21
b · α + c · β =
2 2

2

c · α · γ tendo
Assim, esse é um sistema possível e indeterminado
6
infinitas soluções. Uma das soluções nos dá a
seguinte expressão para o método RK3: = 1

2k1 k2 4k3
y = y + h( + + ) (8)
n+1 n
9 3 9
k1 = f (xn, yn) (9)
1
k2 = f (xn + h, y 1hk1) (10)
2
n 2
+
k3 = f (xn + 3 3hk2) (11)
h, yn 4
4
+
Logo, as equações acima serão usadas durante o relatório para cálculos de passo simples.

3.2 Expressões Teóricas para o Método Adams-Bashforth-Moulton com m = 5


O método de Adams-Moulton itera a aproximação de yi+1 com uma estimativa inicial do próprio yi+1, no
entanto se escolhermos uma aproximação muito distante do valor real de yi+1 o método corre o risco de divergir
à solução desejada. Visando diminuir essa possibilidade de divergência, é apresentado um novo conceito de
método que consiste em, a partir de um chute inicial, ou seja, uma previsão para yi+1, calculado por um método
explícito, aplicar um método implícito, normalmente mais preciso, de maneira iterativa até que se encontre duas
aproximações suscetivas que satisfazem a condição de aproximação ε.
Esses métodos são de passo múltiplo, ou seja, dependem de resultados anteriores para que a aproximação
seja mais robusta. Portanto para aproximar o 8º ponto precisaríamos de todas as informações de derivadas
anteriores.
4

3.2.1 Desenvolvimento do Método de Adams-Bashforth de 5ª ordem

A seguir, vamos desenvolver uma expressão geral para o método AB de passo 5. Antes vamos
convencionar que y′(x) = f (x, y(x)), assim:
xn+1
∫ ∫xn+1
xn
y′(x)dx = f (x, y(x))dx (12)
xn

Resolvendo a integral definida do lado esquerdo da igualdade, temos:


yn+1 = yn + f (x, y(x))dx (13)
xn+1
xn
Com n = 5 resumimos a equação 9 em:

y5+1 = y5 + ∫ 5+1 f (x, y(x))dx


x

x5

Não podemos realizar a integração de f pois nem sequer temos informações sobre os valores que y, no entanto
podemos tentar utilizar um polinômio de grau m para aproximar a função e assim, realizar a integração
definida sobre ela.
Para tanto, vamos utilizar dois conceitos importantes os polinômios interpoladores de Lagrange para
pontos igualmente espaçados e a mudança de variáveis que é quem nos dará o direito de integrar
numericamente sobre o polinômio Pm(x).
Descrever a obtenção das expressões para os polinômios estão fora do escopo deste relatório, no entanto
podemos encontra-lá em (BURDEN; FAIRES, 2008)(FREITAS, 2019).
Sabe-se que um polinômio interpolador pode ser encontrado somando os polinômios de Lagrange, da seguinte
forma:
m
Pm(x) = ΣLif (xi) (14)
i=0

Logo, para nosso polinômio de grau 5 vem:

P5(x) = L0(x)f (x0, y0)+L1(x)f (x1, y1)+L2(x)f (x2, y2)+L3(x)f (x3, y3)+L4(x)f (x4, y4)+L5(x)f (x5, y5) (15)

Vamos obter os polinômios de Lagrange. Como os pontos são igualmente espaçados é mais fácil de obtê-los,
considere h a distância entre duas abscissas.
5

(x − x1)(x − x2)(x − x3)(x − x4)(x − x5)


L (x) =
0 (−h)(−2h)(−3h)(−4h)(−5h)

(x − x0)(x − x2)(x − x3)(x − x4)(x − x5)


L (x)
1
= (h)(−h)(−2h)(−3h)(−4h)

(x − x0)(x − x1)(x − x3)(x − x4)(x − x5)


L (x)
2
= (2h)(h)(−h)(−2h)(−3h)

(x − x0)(x − x1)(x − x2)(x − x4)(x − x5)


L (x)
3
= (3h)(2h)(h)(−h)(−2h)

(x − x0)(x − x1)(x − x2)(x − x3)(x − x5)


L (x)
4
= (4h)(3h)(2h)(h)(−h)

(x − x0)(x − x1)(x − x2)(x − x3)(x − x4)


L 5(x) =
(5h)(4h)(3h)(2h)(h)

No entanto, ainda é bem difícil integrar sobre xn e xn+1, no nosso caso x5 e x6, então vamos fazer uma
mudança de variáveis que vai nos garantir um intervalo numérico para a integração.
Considere:
x − xn
h =s
x = hs +

xn dx =

hds

Como xi pode ser escrito em função de x0 (xi = x0 + hi), onde i é a quantidade passos, conseguimos
transformar uma reta de pontos discretizados em uma reta de inteira. Logo x − x0 = (s + 5)h e x − x1 = (s + 4)
e assim em diante, por exemplo. Assim, os polinômios assumem outra forma:

(s + 4)h(s + 3)h(s + 2)h(s + 1)h


L0(s) =
sh
−120h5

(s + 5)h(s + 3)h(s + 2)h(s + 1)h


L1(s) =
sh
24h5

(s + 5)h(s + 4)h(s + 2)h(s + 1)h


L2(s) =
sh
−12h5

(s + 5)h(s + 4)h(s + 3)h(s + 1)h


L3(s) =
sh
12h5

(s + 5)h(s + 4)h(s + 3)h(s + 2)h


L4(s) =
sh
−24h5
6

(s + 5)h(s + 4)h(s + 3)h(s + 2)h(s + 1)h


L5(s) =
120h5
7

1
Em todos os polinômios, multiplicando em cima e em baixo por , e resolvendo as distributivas teremos
h
expressões mais integráveis.

s5 + 10s4 + 35s3 + 50s2 + 24s


L0(s) =
−120

s5 + 11s4 + 41s3 + 61s2 + 30s


L1(s) =
24h

s5 + 12s4 + 49s3 + 78s2 + 40s


L2(s) =
−12

s5 + 13s4 + 59s3 + 107s2 + 60s


L3(s) =
12h

s5 + 14s4 + 78s3 + 154s2 + 120s


L4(s) =
−24h

s5 + 15s4 + 85s3 + 225s2 + 274s + 120


L5(s) =
120
Como já mencionado, a mudança de variável para s nos entrega que entre xn e xn+1 é unitária. Logo a
integral em s deve pertencer a [0, 1].

∫1 ∫1 ∫1 ∫1 ∫1 ∫1
yn+1 = yn + L0f0hds + L1f1hds + L2f2hds + L3f3hds + L4f4hds + L5f5hds (16)
0 0 0 0 0 0

Substituindo os valores e calculando as devidas integrais, processo muito intensivo para ser demonstrado
aqui, teremos a seguinte expressão para o método de Adams-Bashforth.

y6 = y5 + h(2138.5f5 − 3961.5f4 + 4991f3 − 3649f2 + 1438.5f1 − 237.5f0) (17)


720

3.2.2 Desenvolvimento do Método de Adams-Moulton de 5ª ordem

Vimos que o método de AB5 foi obtido de maneira que para aproximar a integral de f (x, y(x)) usamos po-
linômios interpoladores de Lagrange, depois realizamos uma mudança de variáveis e integramos numericamente
esse polinômio P5(s).
O processo para obter a expressão de Adams-Moulton é bem semelhante com a simples diferença de que para
aproximar yn+1 utilizamos o próprio yn+1, portanto os pontos em abscissas e polinômios Li deixarão de utilizar
um ponto (x0, y0) para inserir (xn+1, yn+1). Como o processo é análogo, algumas etapas serão abstraídas.
xn+1
∫ ∫xn+1
xn
y′(x)dx = f (x, y(x))dx (18)
xn

Resolvendo a integral definida do lado esquerdo da igualdade, temos:


yn+1 = yn + f (x, y(x))dx (19)
xn+1
xn
Com n = 5 resumimos a equação 9 em:

y5+1 = y5 + ∫ 5+1 f (x, y(x))dx


x

x5
8

Para resolver a integral acima, vamos aproximar a função f por um polinômio interpolador de Lagrange.

m+1
Pm(x) = ΣLif (xi) (20)
i=1

Logo, para nosso polinômio de grau 5 vem:

P5(x) = L1(x)f (x1, y1)+L2(x)f (x2, y2)+L3(x)f (x3, y3)+L4(x)f (x4, y4)+L5(x)f (x5, y5)+L6(x)f (x6, y6) (21)

(x − x2)(x − x3)(x − x4)(x − x5)(x − x6)


L (x) =
1 (−h)(−2h)(−3h)(−4h)(−5h))

(x − x1)(x − x3)(x − x4)(x − x5)(x − x6)


L (x)
2
= (h)(−h)(−2h)(−3h)(−4h)

(x − x1)(x − x2)(x − x4)(x − x5)(x − x6)


L (x)
3
= (2h)(h)(−h)(−2h)(−3h))

(x − x1)(x − x2)(x − x3)(x − x5)(x − x6)


L (x)
4
= (3h)(2h)(h)(−h)(−2h)

(x − x1)(x − x2)(x − x3)(x − x4)(x − x6)


L (x)
5
= (4h)(3h)(2h)(h)(−h)

(x − x1)(x − x2)(x − x3)(x − x4)(x − x6)


L 6(x) =
(5h)(4h)(3h)(2h)(h)

Realizando a mesma mudança de variáveis descrita anteriormente, vem o seguinte:

(s + 3)h(s + 2)h(s + 1)h sh(s − 1)h


L (s) =
1 −120h5

(s + 4)h(s + 2)h(s + 1)h sh(s − 1)h


L 2(s) =
24h5

(s + 4)h(s + 3)h(s + 1)h sh(s − 1)h


L (s) =
3 −12h5

(s + 4)h(s + 3)h(s + 2)h sh(s − 1)h


L 4(s) =
12h5

(s + 4)h(s + 3)h(s + 2)h(s + 1)h(s − 1)h


L (s) =
5 −24h5

(s + 4)h(s + 3)h(s + 2)h(s + 1)h


L6(s) =
sh
120h5
9

Eliminando h no numerador e denominador, além de aplicar a distributiva, teremos a nova expressão para
os 6 polinômios.

s5 + 5s4 + 5s3 − 5s2 − 6s


L1(s) =
−120

s5 + 6s4 + 7s3 − 6s2 − 8s


L2(s) =
24h

s5 + 7s4 + 11s3 − 7s2 − 12s


L3(s) =
−12

s5 + 8s4 + 17s3 − 2s2 − 24s


L4(s) =
12h

s5 + 9s4 + 25s3 + 15s2 − 26s − 24


L5(s) =
−24h

s5 + 10s4 + 35s3 + 50s2 + 24s


L6(s) =
120
Como já mencionado, a mudança de variável para s nos entrega que entre xn e xn+1 é unitária. Logo a
integral em s deve pertencer a [0, 1].

∫1 ∫1 ∫1 ∫1 ∫1 ∫1
yn+1 = yn + L1f1hds + L2f2hds + L3f3hds + L4f4hds + L5f5hds L6f6hds (22)
0 0 0 0 0 0

Substituindo os valores e calculando as devidas integrais, processo muito intensivo para ser demonstrado
aqui, teremos a seguinte expressão para o método de Adams-Moulton.

y6 = y5 + h (237.5f6 + 713.5f5 − 399f4 + 241f3 − 86.5f2 + 13.5f1) (23)


720
10

4 Resultados

Nessa sessão, vamos nos ater a resolver os problemas propostos pelo script abaixo:

Figura 1 – Script para Realização dos Cálculos

Todos os métodos foram desenvolvidos nesse relatório, agora utilizaremos eles a partir de uma modelagem
proposta.
Devemos aproximar o valor de y(1.2) em todos os PVI’s pelo método previsor-corretor ABM, como o
passo h é de 0.2 temos uma coleção de pontos (xi, y1), i ∈ [0, 1.2
], no entanto esses métodos precisam de
h
informações de derivadas anteriores a (x6, y6).Logo é necessário que calculemos também f1, f2 até f5 para só então
obtermos uma previsão inicial para y6, pelo método de Adams-Bashforth, e realizarmos correções iterativas
utilizando o método de Adams-Moulton. Essa é a modelagem proposta para cada um dos exemplos contidos
no modelo
desse relatório.

4.1 Resolução Dos Problemas Propostos


4.1.1 Exercício 2.a

Vamos começar com o seguinte PVI:


 y = 2x − 3y +

(24)
1

y(0) = 1
Primeiramente, utilizaremos o método RK3 para determinar o valor para y1 = y(x1). Retomando a equação
8 vem:
2k1 k2 4k3
y = y + h( + + )
n+1 n
9 3 9
0.2
y1 = y0 (2f (0, 1) + 3f (0 + 0.1, 1 + 0.1f (0, 1) + 4f (0 + 0.15, 1 + 0.15f (0 + 0.1, 1 + 0.1f (0, 1)
+ 9

y1 = 0.728
Esses valores continuarão sendo calculados até o ponto anterior a (x6, y6), de modo que os resultados estão
nessa tabela a seguir.
11

i= 0 1 2 3 4 5
xi 0 0.2 0.4 0.6 0.8 1
yi 1 0.72800 0.64083 0.65421 0.72229 0.82012

Até o momento conseguimos então aproximações para os pontos (xi, yi), i ∈ [0, 5], no entanto o que nos
interessa para prosseguirmos e encontrar y(1.2) são as informações das derivadas nesses pontos. Esse cálculo
é relativamente simples, basta substituirmos (xi, yi), da tabela acima, em 24 para então obtermos fi.

i= 0 1 2 3 4 5
(xi, yi) (0, 1) (0.2, 0.72800) (0.4, 0.64083) (0.6, 0.65421) (0.8, 0.72229) (1, 0.82012)
fi −2 −0.78400 −0.12249 0.23737 0.43313 0.53964

Desse modo, temos as variáveis que serão usadas para determinar a previsão inicial de y6 = y(1, 2) através
do método AB, e ao mesmo tempo informações necessárias para corrigirmos esse valor pelo método de AM.
Esse processo é feito pelo script Python usado para realizar os cálculos numericamente.
Nesse script, que já tem os valores de RK3 calculados, vamos estimar as derivadas nos pontos (xi, yi), i ∈ [0, 5]
e depois aplicar o método de Adams-Bashforth para prever um valor para y(p), como demonstrado em 17, logo
6
após vamos calcular também a derivada em (x6, y(p)). Assim que terminarmos essa etapa vamos utilizar as
informações das derivadas em todos os pontos entre6(x1, y1) e (x6, yp) para calcularmos yp+1, como especificado
6 6
em 23.
O mesmo programa prevê uma condição de parada que consiste em estimar um valor entre duas aproxima-
ções suscetivas do método de Adams-Bashforth-Moulton e comparar esse valor com uma variável previamente
estabelecida, ε. Em termos de expressão algébrica estamos falando em:

(k)
(k−1)
|n+1 — y | <ε (25)
(k) n
|yn+1|
No programa mencionado, além da aproximação para y(1.2), também é calculado o número de iterações
realizadas pelo método de Adams-Moulton, no PVI em questão duas repetições foram suficientes para alcançar
(k)
|yn+1 (k−1)
−yn+1
(k) | < 0.0001. Esse fenômeno poderia ser imputado ao fato de ε ser relativamente grande porém,
|yn+1|
fazendo um teste para ε = 0.0000001 temos o mesmo número de iterações. Isso indica que o método que
estipula o valor inicial é extremamente eficiente, pois ele é de 5ª ordem porém é explícito, então um método
de mesma ordem e implícito garante que chegaremos a uma aproximação mais real. Portanto a aproximação
calculada foi:

y6 ≈ 0.93403 ⇒ y(1.2) ≈ 0.93403

Assim chegamos ao final dessa estimativa para y(1.2) do PVI em questão. Nos próximos PVI’s vamos utilizar
os mesmos procedimentos que foram aplicados aqui, entretanto abstraindo a explicação dos passos realizados.

4.1.2 Exercício 2.b

Segue o PVI:


 y′ = y + cos(x)
(26)

y(0) = 1

Aplicando o método de Runge-Kutta de 3ª ordem, descrito em 17, para aproximar valores para y1, y2, y3, y4
e y5 vem:
12

i= 0 1 2 3 4 5
xi 0 0.2 0.4 0.6 0.8 1
yi 1 1.44126 1.97159 2.60226 3.34774 4.22668

Agora obteremos informações das derivadas em (xi, yi), i ∈ [0, 5].

i= 0 1 2 3 4 5
(xi, yi) (0, 1) (0.2, 1.44126) (0.4, 1.97159) (0.6, 2.60226) (0.8, 3.34774) (1, 4.22668)
fi 2 2.42133 2.89265 3.42760 4.04445 4.76698

Nesse momento vamos calcular uma previsão inicial para y6, ou seja, y(p) através de Adams-Bashforth, logo após
6
iremos obter a derivada f6 no ponto (x6, y(p)). Assim, estamos aptos a executar o método de Adams-Moulton.
6
Lembrando que assim que uma nova aproximação y(p) é calculada, uma outra f6 é calculada para ser usada na
6
próxima iteração. Desse modo O resultado final vem:

y6 ≈ 5.26339 ⇒ y(1.2) = 5.26339

Nessa resolução o método AM, para um ε = 1.10−4, teve somente uma iteração. Já para ε = 1.10−7 foram
feitas duas iterações. Isso se deve ao fato de que quando ε = 1.10−4, a expressão descrita em 25 tem valor
de 4.69382.10−6 o que já satisfaz a condição de parada. Porém quando ε = 1.10−7, esse valor não satisfaz a
condição de parada, já que 4.69382.10−6 > 1.10−7, então outra iteração é realizada.

4.1.3 Exercício 2.c

Segue o PVI:



 y′ = xy + y (27)

y(0) = 1

Aplicando o método de Runge-Kutta de 3ª ordem, descrito em 17, para aproximar valores para y1, y2, y3, y4
e y5 vem:

i= 0 1 2 3 4 5
xi 0 0.2 0.4 0.6 0.8 1
yi 1 1.23365 1.55294 1.99575 2.62045 3.51879

Agora obteremos informações das derivadas em (xi, yi), i ∈ [0, 5].

i= 0 1 2 3 4 5
(xi, yi) (0, 1) (0.2, 1.23365) (0.4, 1.55294) (0.6, 1.99575) (0.8, 2.62045) (1, 3.51879)
fi 2 1.35743 1.86735 2.61016 3.71515 5.39463

Nesse momento vamos calcular uma previsão inicial para y6, ou seja, y(p) através de Adams-Bashforth, logo após
6
iremos obter a derivada f6 no ponto (x6, y(p)). Assim, estamos aptos a executar o método de Adams-Moulton.
6
Lembrando que assim que uma nova aproximação y(p) é calculada, uma outra f6 é calculada para ser usada na
6
próxima iteração, logo 6y(p) gera f6 (p). Desse modo o resultado final vem:

y6 ≈ 4.83924 ⇒ y(1.2) = 4.83924

O fenômeno de aumento de 1 iteração visto em 4.1.2 não é observado aqui, já que na 2º iteração a expressão
25 tão próximo de 0 que a linguagem interpreta como tal. Logo, como 0 < 1.10−7 não é necessario fazer outra
iteração.
13

5 Comparação Entre Valores Obtidos por Aproximações e por Solução Exata do PVI

Os métodos numéricos para resolução de EDO’s são aplicados normalmente quando as equações diferenciais
tem propriedades que garantem que sua primitiva tem lei de formação é muito difícil de ser deduzida. Assim,
é mais acessível, sobretudo computacionalmente falando, encontrar uma aproximação para o valor desejado.
Os exemplos contidos na sessão 4 desse relatório, exceto o último, permitem, através do método de resolução
de EDO de Laplace, deduzirmos sua primitiva. Logo, os valores obtidos através das primitivas são considerados
exatos frente as aproximações desenvolvidas nesse relatório. O objetivo aqui é exatamente a comparação entre
os valores obtidos, desenvolvendo uma análise sobre quão preciso são esses métodos.
Resolvendo os três PVI’s com as ferramentas conhecidas na disciplina de Métodos Matemáticos, temos as
seguintes equações:

Derivada Primitiva
y = 2x − 3y + 1
′ 1
y = 9 (1 + 6x + 8e−3x)
y′ = y + cos(x) y = 1 (−cos(x) + sen(x) + 3ex)
√ 2
y′ = xy + y Sem Primitiva

Como y′ = xy + y não tem primitiva exata, vamos comparar apenas as duas primeiras.

5.1 Comparação Entre as Soluções Exatas e Aproximadas para y′ = 2x − 3y + 1

y′ = 2x − 3y + 1
Aproximações RK3 ABM5 Sol. Exata
y1 0.72800 - 0.73227
y2 0.64083 - 0.64550
y3 0.65421 - 0.65804
y4 0.72229 - 0.72508
y5 0.82012 - 0.82203
y6 - 0.93402 0.93539
Tabela 1 – Tabela de Comparação Entre os Valores Exatos e Aproximações Para y′ = 2x − 3y + 1

5.2 Comparação Entre as Soluções Exatas e Aproximadas para y′ = y + cos(x)

y′ = y + cos(x)
Aproximações RK3 ABM5 Sol. Exata
y1 1.44126 - 1.44140
y2 1.97159 - 1.97191
y3 2.60226 - 2.60283
y4 3.34774 - 3.34863
y5 4.22668 - 4.22800
y6 - 5.26339 5.26501
Tabela 2 – Tabela de Comparação Entre os Valores Exatos e Aproximações Para y′ = y + cos(x)
14

Na tabela 2 é possível notar que os valores exatos diferem dos valores aproximados normalmente pela 3ª ou
4ª casa decimal, sendo assim uma boa aproximação. Já na tabela 1 os valores começam a destoar normalmente
pela 2ª ou 3ª casa decimal.
Essa pequena alteração pode ser estudada mais adiante em trabalhos futuros, entretanto o motivo mais
provável para essa divergência deve ser em relação a proximidade do polinômio P5(x) com a função
primitiva, ou seja, P5(x) se aproxima mais de y = 1
(1 + 6x + 8e−3x) do que de y = 1
(−cos(x) + sen(x) + 3ex).
9 2

6 Trabalhos Futuros

O objetivo desse relatório, de desenvolvimento e aplicação dos métodos de Runge-Kutta de ordem 3 e Adams-
Bashforth-Moulton de passo 5, foram atingidos. No entanto a precisão obtida bem como a simplicidade das
equações trabalhadas, abrem espaço para realização de trabalhos mais complexos com problemas aplicados. A
seguir estão algumas das principais atividades propostas para futuros projetos de aplicação reais:

• Aprimoramento da Precisão:
Investigar métodos para aumentar ainda mais a precisão dos resultados, seja explorando métodos de
maior ordem, técnicas adaptativas de tamanho de passo ou implementando técnicas de interpolação
mais avançadas.

• Implementação de Métodos Paralelos:


Investigar a implementação de métodos numéricos paralelos para melhorar a eficiência computacional,
aproveitando arquiteturas de hardware modernas e aceleradores.

• Aplicação em Problemas Mais Complexos:


Estender a aplicação dos métodos numéricos a problemas mais complexos e realistas, abordando sistemas
de EDOs acopladas ou incluindo condições de contorno mais desafiadoras.

• Comparação com Outros Métodos:


Realizar uma análise comparativa com outros métodos numéricos, como métodos de diferenças finitas,
métodos espectrais ou outros métodos de Runge-Kutta, para avaliar o desempenho relativo em diferentes
cenários.(TOMIASI; CARREIRA; BRANDI, 2022)

7 Conclusão

Neste relatório, exploramos a aplicação dos métodos numéricos de Runge-Kutta de ordem 3 e Adams-
Bashforth-Moulton de 5ª ordem na resolução de problemas de valor inicial (PVI) de equações diferenciais
ordinárias (EDOs). Inicialmente, desenvolvemos as formulas desses métodos, destacando seus passos de predição
e correção.
A precisão e eficiência desses métodos foram avaliadas através da resolução de três PVI distintos, abrangendo
equações lineares e não lineares. Os resultados obtidos foram comparados com as soluções exatas quando
disponíveis, destacando a capacidade desses métodos em fornecer aproximações precisas.
Ao longo do processo, identificamos a necessidade de considerar a adaptação dinâmica do tamanho de passo
para otimizar a eficiência computacional, bem como explorar métodos paralelos para melhorar o desempenho
em arquiteturas modernas.
No contexto da aplicação desses métodos, observamos que a escolha do tamanho de passo influencia di-
retamente na precisão dos resultados, e estratégias para aprimorar essa escolha podem ser objeto de estudos
futuros.
1

Referências

BURDEN, R. L.; FAIRES, J. D. Análise Numérica. [S.l.]: Cengage Learning, 2008. ISBN 9788522106011.
CHAPRA, S. C. Métodos Numéricos Aplicados com MATLAB® para Engenheiros e Cientistas-3.
[S.l.]: AMGH Editora, 2013.

FREITAS, R. d. O. Cálculo numérico. [S.l.]: SAGAH EDUCAÇÃO, 2019. 254 p. ISBN 9788595029453.
JR, J. V. Métodos matemáticos: volume 1. [S.l.]: Editora da Unicamp, 2016. ISBN 9788526813410.
RUGGIERO, M. A. G. Cálculo numérico aspectos teóricos e computacionais: aspectos teóricos e com-
putacionais. [S.l.]: Pearson Makron Books, 2008. 406 p. ISBN 9788534602044.
TOMIASI, G. C.; CARREIRA, B. L.; BRANDI, A. C. Comparação de métodos numéricos na solução de
edo s utilizando octave. Proceeding Series of the Brazilian Society of Computational and Applied
Mathematics, v. 9, n. 1, 2022.

Você também pode gostar