Вы находитесь на странице: 1из 56

UNIVERSIDADE FEDERAL RURAL DO SEMIÁRIDO – UFERSA

DEPARTAMENTO DE CIÊNCIAS EXATAS, TECNOLÓGICAS E


HUMANAS – DCETH
CAMPUS ANGICOS
BACHARELADO EM CIÊNCIA E TECNOLOGIA

PEDRO THIAGO VILELA DE MENDONÇA

COMPARATIVO ENTRE OS MÉTODOS NUMÉRICOS DE EULER, HEUN E


RUNGE-KUTTA NA RESOLUÇÃO DE PROBLEMAS DE VALOR INICIAL DE
PRIMEIRA ORDEM

ANGICOS – RN
2016
PEDRO THIAGO VILELA DE MENDONÇA

COMPARATIVO ENTRE OS MÉTODOS NUMÉRICOS DE EULER, HEUN E


RUNGE-KUTTA NA RESOLUÇÃO DE PROBLEMAS DE VALOR INICIAL DE
PRIMEIRA ORDEM

Trabalho de conclusão de curso apresentado


a Universidade Federal Rural do Semi-Árido
– UFERSA, Campus Angicos para a
obtenção do título de Bacharelado em
Ciência e Tecnologia.

Orientador: Prof. Dr. Matheus da Silva


Menezes - UFERSA
PEDRO THIAGO VILELA DE MENDONÇA

COMPARATIVO ENTRE OS MÉTODOS NUMÉRICOS DE EULER, HEUN E


RUNGE-KUTTA NA RESOLUÇÃO DE PROBLEMAS DE VALOR INICIAL DE
PRIMEIRA ORDEM

Trabalho de conclusão de curso


apresentado a Universidade Federal Rural
do Semi-Árido como requisito para
obtenção do título de Bacharel em Ciência
e Tecnologia.

Defendido em: _____ / _____ / _____.

BANCA EXAMINADORA

_________________________________________
Profº. Dr. Matheus da Silva Menezes - UFERSA
Presidente

_________________________________________
Profº. Dr. Ivan Mezzomo - UFERSA
Membro Examinador

_________________________________________
Profº. Dr. Stefeson Bezerra de Melo - UFERSA
Membro Examinador

_________________________________________
Dedico primeiramente a Deus que em todo momento esteve comigo, me
dando força, sustento, conforto e sabedoria.

A toda minha família. Em especial, meu pai Pedro Segundo de Mendonça e


minha mãe Vera Lúcia Câmara Vilela de Mendonça por serem minha base.
AGRADECIMENTOS

Agradeço primeiramente a Deus, por todo seu amor e misericórdia, que me


possibilitou estar nesta caminhada, dando todo sustento e sabedoria necessários para
que essa conquista pudesse ser realizada.

Agradeço a meus pais, Pedro Segundo de Mendonça, Vera Lúcia Câmara Vilela, e
meu irmão João Victor Vilela de Mendonça, por fazerem parte da base da minha vida,
contribuindo para a minha formação, e sempre me suprindo com o apoio necessário.

Ao restante de minha família, em especial, ao meu tio Paulo Sérgio Câmara Vilela,
que sempre me ajudou e incentivou nos estudos da matemática e lógica, despertando
em mim a curiosidade pela área da engenharia.

Ao meu orientador Matheus da Silva Menezes, primeiramente como professor, onde


me despertou o desejo pela área de matemática computacional, e principalmente pelo
comprometimento, compreensão e paciência, que foram fundamentais neste trabalho.

Aos professores que compõem a minha banca Ivan Mezzomo e Stefeson Bezerra
Melo. Que também deram uma grande colaboração à minha formação acadêmica
como professores.

Aos irmãos da igreja em Angicos, que durante todo esse período acadêmico, tem sido
minha segunda família e contribuíram grandemente durante todo o período que passei
em Angicos, com suas orações e apoio.

Aos companheiros da república Arthur Mathaus, Diego Zacarias, Gabriel Gomes,


Paulo Norberto e Ian Patrick, que estiveram durante todo esse tempo, sempre com
companheirismo e suporte.

Aos também companheiros de caminhada, José Rivaelton, Antônio Ricarte, Quezia


Lima, Raquel Torquato, Pedro Vinicius, Felipe Augusto e Junior Alburquerque, que
estiveram comigo, sofrendo juntos, em madrugadas de estudos, que certamente
foram recompensadas.
Ao corpo docente da UFERSA Angicos, que foi fundamental na minha formação
acadêmica, por todo conhecimento

Por fim, a toda comunidade acadêmica da UFERSA Angicos, por ter possibilitado a
conclusão deste trabalho e a todos que acreditaram e me apoiaram nesta luta.
“Não que por nós mesmos, sejamos
capazes de pensar alguma coisa, como se
partisse de nós; pelo contrário, a nossa
suficiência vem de Deus.”

(2 Corinthios 3:5 – Bíblia Sagrada)


RESUMO

Com o avanço da ciência e da engenharia, cada vez mais nos deparamos com
fenômenos de taxas de variações de grandezas como tempo e espaço. A modelagem
destes fenômenos é feita com Equações Diferenciais (ED), o que torna de grande
importância o estudo destas equações. Os métodos numéricos oferecem um
importante recurso para trabalhar com essas equações diferenciais, que muitas vezes
não podem ser resolvidas analiticamente. O presente trabalho apresenta 3 métodos
numérico, classificados como de passo único, para resolver Problemas de Valor Inicial
de primeira ordem. Estes métodos são, o método de Euler, método de Heun e método
de Runge-Kutta. Foi feita uma análise comparativa entre esses métodos, através de
um experimento computacional, utilizando um software denominado Scilab, em 5
problemas encontrados na literatura, a partir dos quais foi constatado, tanto pela
análise teórica quanto pelo teste computacional, que o método de Runge-Kutta
apresenta maior precisão dentre os métodos analisados. Destaca-se também que o
método de Heun foi analisado na sua forma direta e iterativa, onde foi constatado que
a forma iterativa não garante o aumento da precisão numérica em relação ao mesmo
método na forma direta, mas na maioria dos problemas, se mostrou mais eficiente.

Palavras-chave: Equação Diferenciais. Métodos numéricos. Euler. Heun. Runge-


Kutta.
LISTA DE FIGURAS

Figura 1:Gráfico de 𝐿(𝑥) e 𝑓(𝑥), onde 𝐿(𝑥) é a reta tangente a 𝑓(𝑥) no ponto

(𝑥0, 𝑦0). ..................................................................................................................... 23

Figura 2:Gráfico mostrando a inclinação nos pontos 𝑥𝑖, 𝑦𝑖 e (𝑥𝑖 + 1, 𝑦𝑖 + 1)............. 25

Figura 3: Gráfico mostrando a nova inclinação em 𝑥𝑖, 𝑦𝑖 gerando uma nova reta 𝐿′(𝑥)

.................................................................................................................................. 25

Figura 4: Curvas das soluções analíticas e numéricas do problema A1 ................... 43

Figura 5: Curvas das soluções analíticas e numéricas do problema A2 ................... 45

Figura 6: Curvas das soluções analíticas e numéricas do problema A ..................... 47

Figura 7: Curvas das soluções analíticas e numéricas do problema A4 ................... 49

Figura 8: Curvas das soluções analíticas e numéricas do problema A5 ................... 51


LISTA DE QUADROS

Quadro 1: Dados referentes ao computador utilizado nos testes .............................. 33

Quadro 2: Dados referentes ao sistema operacional utilizado nos testes ................. 33

Quadro 3: Dados referentes ao sistema operacional utilizado nos testes ................. 34

Quadro 4: Algoritmo u[sado para o método de Heun direto ...................................... 35

Quadro 5: Algoritmo usado para o método de Heun iterativo.................................... 36

Quadro 6: Algoritmo usado para o método de Runge-Kutta ..................................... 37

Quadro 7: Dados do problema A1 ............................................................................. 38

Tabela 8: Solução analítica para valores em I, do problema A1 ............................... 38

Quadro 9: Dados do problema A2 ............................................................................ 39

Quadro 10: Solução analítica para valores em I, do problema A2 ............................ 39

Quadro 11: Dados do problema A3 ........................................................................... 39

Quadro 12: Solução analítica para valores em I, do problema A3 ............................ 40

Quadro 13: Dados do problema A4 ........................................................................... 40

Quadro 14: Solução analítica para valores em I, do problema A4 ............................ 40

Quadro 15: Dados do problema A5 ........................................................................... 41

Quadro 16: Solução analítica para valores em I, do problema A5 ............................ 41

Quadro 17: Soluções analíticas e numéricas do problema A1 .................................. 42

Quadro 18: Erro relativo das soluções numéricas do problema A1........................... 42

Quadro 19: Soluções analíticas e numéricas do problema A2 .................................. 44

Quadro 20: Erro relativo das soluções numéricas do problema A2........................... 44

Quadro 21: Soluções analíticas e numéricas do problema A3 .................................. 46

Quadro 22: Erro relativo das soluções numéricas do problema A3........................... 46

Quadro 23: Soluções analíticas e numéricas do problema A4 .................................. 48

Quadro 24: Erro relativo das soluções numéricas do problema A4........................... 48


Quadro 25: Soluções analíticas e numéricas do problema A5 .................................. 50

Quadro 26: Erro relativo das soluções numéricas do problema A5........................... 50


SUMÁRIO

1 INTRODUÇÃO ....................................................................................................... 13

1.1 OBJETIVOS ........................................................................................................ 14

1.2 ORGANIZAÇÃO DO TRABALHO ....................................................................... 14

2 FUNDAMENTAÇÃO TEÓRICA ............................................................................. 15

2.1 CONCEITOS BÁSICOS DE EQUAÇÕES DIFERENCIAIS ................................. 15

2.1.1 Classificação de uma ED ................................................................................. 15

2.1.2 Solução de uma ED ......................................................................................... 17

2.2 CONCEITOS INTRODUTÓRIOS DOS MÉTODOS NUMÉRICOS DE PASSO


ÚNICO PARA SOLUÇÃO DE PVI DE 1ª ORDEM .................................................... 18

2.3 POLINÔMIO DE TAYLOR ................................................................................... 19

2.3.2 Erro de truncamento local ................................................................................ 21

2.3.3 Polinômio de Taylor para funções de duas variáveis ....................................... 22

2.4 MÉTODOS DE EULER, HEUN E RUNGE-KUTTA ............................................. 22

2.4.1 Método de Euler ............................................................................................... 23

2.4.2 Método de Heun ............................................................................................... 24

2.4.3 Métodos de Runge-Kutta.................................................................................. 26

2.4.4 Análise do erro ................................................................................................. 31

3 MATERIAIS E MÉTODOS ..................................................................................... 32

3.1 METODOLOGIA .................................................................................................. 32

3.2 ALGORÍTIMOS ................................................................................................... 33

3.3 PROBLEMAS ...................................................................................................... 38

3.3.1 Problema A1..................................................................................................... 38

3.3.2 Problema A2..................................................................................................... 39

3.3.3 Problema A3..................................................................................................... 39

3.3.4 Problema A4..................................................................................................... 40


3.3.5 Problema A5..................................................................................................... 41

4 RESULTADOS E DISCUSSÕES ........................................................................... 42

4.1 COMENTÁRIO SOBRE OS RESULTADOS ENCONTRADOS .......................... 52

5 CONSIDERAÇÕES FINAIS ................................................................................... 53

REFERÊNCIAS ......................................................................................................... 54
13

1 INTRODUÇÃO

Muitos problemas fundamentais da mecânica, biologia, física, química,


economia, e nas diversas áreas da engenharia são dados em termos de variações
espaciais e/ou temporais, e definem mecanismos de variação (CHAPRA 2013, p.
547). A abordagem de tais problemas é feita através de equações diferenciais, que
envolve uma função desconhecida e suas derivadas.

Para a ciência, a invenção do cálculo diferencial foi um passo


gigantesco. Pela primeira vez na história humana, a concepção de
infinito, que tinha intrigado filósofos e poeta desde tempos imemoriais,
tinha recebido uma definição matemática precisa, que abria inúmeras
possibilidades novas para a análise dos fenômenos naturais. (CAPRA
2006, p. 104).

Para trabalhar com tais mecanismos de variação dentro de uma função, há


vários métodos analíticos para encontrar a solução de equações diferenciais.
Contudo, segundo Barroso et al (1987, p. 275), nem sempre é possível obter uma
solução analítica
Neste caso, os métodos numéricos são uma alternativa válida para se
encontrar uma solução aproximada. Segundo Chapra (2013, p. 1), os métodos
numéricos são ferramentas extremamente poderosas para resolver problemas de
modelagem matemática, devido a sua capacidade em lidar com um grande número
de equações, não linearidades e geometrias complexas. Portanto é uma boa
alternativa para se trabalhar com solução numérica de equações diferenciais.
Outro desafio, presente nos métodos numéricos, é obter uma solução numérica
que se encaixe dentro de limites razoáveis, com o mínimo de erro possível. Portanto
é muito importante ter conhecimento dos fatores que geram erros dentro da solução
numérica, para procurar obter uma solução cada vez mais precisa.
Nesse contexto, os métodos de Euler, Heun e Runge-Kutta surgem como
alternativas viáveis para resolução de alguns tipos de equações diferenciais. Neste
trabalho será feito um estudo desses métodos através de sua descrição teórica,
seguida de um experimento computacional envolvendo a implementação desses
métodos e finalmente uma análise comparativa de seu desempenho.
14

Dessa forma, fica evidente a importância do presente trabalho que vislumbra o


estudo e implementação de métodos numéricos, que são de suma importância, pois
envolve a área de cálculo diferencial e integral, que é uma área fundamental para a
engenharia e possibilita a mesma resolver problemas de modelagem matemática
virtualmente impossíveis de se resolver analiticamente.

1.1 OBJETIVOS

 Objetivo Geral

Estudar a aplicação do método de Euler, método de Heun, e o método de


Runge-Kutta na resolução de problemas de valor inicial, analisando os erros, e
comparando os resultados.

 Objetivos Específicos

 Analisar os aspectos teóricos e práticos referentes aos métodos numéricos


de Euler, Heun e Runge-Kutta em sua formulação tradicional;
 Efetuar um experimento computacional em problemas de teste já
consolidados na literatura, de forma a verificar o desempenho numérico, de
cada um dos métodos estudados e comparar com os resultados analíticos.

1.2 ORGANIZAÇÃO DO TRABALHO

O presente trabalho será realizado com base em uma pesquisa bibliográfica,


com o auxílio computacional, para a aplicação dos métodos apresentados. Neste
capítulo 1 foi introduzido o trabalho, apresentando a justificativa e objetivos do mesmo.
O capítulo 2 apresenta a fundamentação teórica, que será a base do estudo. O
capítulo 3 mostra os procedimentos metodológicos adotados na realização dos
experimentos computacionais executados no trabalho, as características do
computador utilizado nos testes, os algoritmos utilizados e os problemas abordados.
No capítulo 4, estão os resultados dos experimentos, assim como a análise, através
de gráficos e tabelas. Por fim, o capítulo 5 apresenta as considerações finais do
trabalho.
15

2 FUNDAMENTAÇÃO TEÓRICA

Neste tópico serão apresentados o problema abordado, conceitos teóricos


básicos de equações diferenciais, classificação de equações diferenciais, definição do
campo de estudo desse trabalho, apresentação dos métodos numéricos de Euler,
Heun e Runge-Kutta e a definição de alguns conceitos elementares que são
necessários para a formulação matemática destes métodos.

2.1 CONCEITOS BÁSICOS DE EQUAÇÕES DIFERENCIAIS

A definição formal de equações diferenciais, em sua etimologia, varia um pouco


de acordo com os autores. As definições apresentadas a seguir, contudo, preservam
a sua essência.
Para Stewart (2013, p. 539), uma equação diferencial é aquela que contém uma
função desconhecida e uma ou mais de suas derivadas. Já para Boyce e DiPrima
(2006, p. 1), Equações que contém derivadas são chamadas de equações
diferenciais.
Uma definição mais completa pode ser vista em Zill (1993, p. 2), que diz: Uma
equação que contém as derivadas ou diferencias de uma ou mais varáveis
dependentes, em relação a uma ou mais variáveis independentes, é chamada de
Equação Diferencial (ED). Segundo Bronson e Costa (2006), essas variáveis
dependentes podem também ser chamadas de funções incógnitas, visto que elas se
apresentam como desconhecidas no início do problema.

2.1.1 Classificação de uma ED

As equações diferenciais possuem características que nos permitem classificá-


las de acordo com suas propriedades específicas. Podemos classificá-las de forma
geral, quanto ao seu tipo, ordem e linearidade:
16

 Quanto ao tipo:

Uma ED pode ser classificada quanto ao tipo em: Equação Diferencial Ordinária
(EDO) e Equação Diferencial Parcial (EDP), onde o número de variáveis na função
incógnita irão definir seu tipo.
Bronson e Costa (2006, p. 15), mostra que uma EDO é aquela em que a função
incógnita depende de apenas uma variável independente. Ou seja, a variável
dependente da equação diferencial é derivada em uma só variável independente.
A forma geral de uma EDO, segundo Zill (1993, p. 5), é dada por:

𝑑(𝑛) 𝑦 𝑑𝑦 𝑑 (𝑛−1) 𝑦
= 𝑓 (𝑥, 𝑦, 𝑑𝑥 , … , 𝑑𝑥 (𝑛−1) ) (1)
𝑑𝑥 𝑛

Bronson e Costa (2006, p. 15) ainda, define a EDP como sendo aquela em que
a função incógnita depende de duas ou mais variáveis independentes, portanto é uma
equação que envolve uma função incógnita de mais de uma variável e suas derivadas
parciais. Neste trabalho, entretanto, iremos abordar apenas as equações diferenciais
ordinárias.

 Quanto a ordem:

Também podemos classificar as equações diferenciais quanto à ordem das


derivadas, onde a ordem da equação diferencial é, por definição, a ordem da derivada
de maior grau da equação. Portanto, uma EDO de n-ésima ordem é representada pela
equação (1).

 Quanto a linearidade:

Boyce e DiPrima (2006, p. 12) definem como crucial a classificação quanto a


linearidade, ou seja, definir se uma equação diferencial é linear ou não-linear. Essa
classificação toma como base os coeficientes que acompanham a função incógnita e
suas derivadas.
17

Uma ED é dita linear se a função incógnita e suas derivadas, tem como


coeficientes, funções lineares. Portanto, uma EDO linear geral, de ordem 𝑛, é dada
por:

𝑎0 (𝑥) ∙ 𝑦 𝑛 + 𝑎1 (𝑥) ∙ 𝑦 𝑛−1 + ⋯ + 𝑎𝑛 (𝑥) ∙ 𝑦 = 𝑔(𝑥) (2)

onde 𝑎0 (𝑥) é não nulo e 𝑎𝑖 (𝑥), para 𝑖 = 0,1, … , 𝑛, são funções que dependem
exclusivamente das variáveis independentes. Além disso, a variável dependente e
todas as suas derivadas são de primeiro grau. Se a equação não atender a esses
critérios, é classificada como não-linear.

2.1.2 Solução de uma ED

Para Zill (1993, p. 4), quando analisamos uma ED em um intervalo 𝐼, temos


que, quando uma função 𝑓 (derivável no intervalo 𝐼) substituída na equação
diferencial, reduz a mesma a uma identidade, dizemos que a função 𝑓 é solução da
equação diferencial no intervalo 𝐼.
Portanto, dada uma EDO de primeira ordem, da forma:

𝑑𝑦
= 𝑓(𝑥, 𝑦) (3)
𝑑𝑥

onde 𝑓(𝑥, 𝑦) é uma função implícita de 𝑦 na variável 𝑥, temos que, a solução desta
equação diferencial é dada por uma função: 𝑦 = 𝑓(𝑥), suficientemente derivável, que
satisfaça a equação (3) em um dado intervalo.
A solução geral de uma equação diferencial é composta por uma família de
soluções que dependem de um parâmetro 𝑐, que por sua vez gera uma família de
curvas, suficientemente deriváveis, que satisfaçam a equação diferencial no dado
intervalo. Quando resolvemos uma equação de 𝑛-ésima ordem, da forma da equação
(1), esperamos uma família a 𝑛-parâmetros de soluções G(x, y, c1 , … cn ) = 0.
Para obter uma solução única são necessários parâmetros ou condições
auxiliares para redefinir essa família de curvas em uma só curva. Segundo Barroso et
al (1987, p. 276), podem existir condições auxiliares cujo número coincide com a
18

ordem da EDO. Se essas condições se referem a um único valor da variável


independente, temos um Problema de Valor Inicial (PVI).
Se as condições auxiliares são especificadas para mais de um valor da variável
independente, temos um problema de valores de contorno, onde as condições
auxiliares são condições de contorno.
Uma EDO da forma da equação (3), cuja condição inicial é: 𝑓(𝑥0 ) = 𝑦0 , é um
exemplo de um PVI. Portanto, a solução geral da EDO, que abrange uma família de
curvas, passa a ser uma solução particular, representado pela curva 𝑓(𝑥) que passa
pelo ponto (𝑥0 , 𝑦0 ).

2.2 CONCEITOS INTRODUTÓRIOS DOS MÉTODOS NUMÉRICOS DE PASSO


ÚNICO PARA SOLUÇÃO DE PVI DE 1ª ORDEM

O campo de estudo desse trabalho consiste em analisar alguns tipos de


métodos numéricos para resolução de equações diferenciais. Para fins de análise,
serão tratados aqui como problema, ED’s do tipo: ordinária; de primeira ordem, linear;
e com PVI conhecido. Portanto, serão abordados problemas representados pela
seguinte equação:

𝑑𝑦
= 𝑓(𝑥, 𝑦)
𝑑𝑥
{ (4)
𝑓(𝑥0 ) = 𝑦0

onde 𝑓(𝑥0 ) = 𝑦0 é a condição inicial.

Segundo Chapra (2006, p. 551), [...] as condições iniciais, em geral, têm


interpretação física tangível nas equações diferenciais provenientes de situações de
problemas físicos reais. Portanto, a modelagem com equações diferenciais
acompanhadas de condições auxiliares são uma ocorrência muito comum na ciência.
Para resolução desse tipo de problema, na abordagem numérica, métodos
numéricos são utilizados para aproximar soluções de PVI. Existem diversos métodos
que são aplicados nesta problemática, utilizando de vários artifícios matemáticos.
19

Segundo Chapra (2006, p. 551), métodos de passo único trabalham com base
apenas na informação de um único ponto, e calculam uma predição futura. Tomando
a equação (4) como base, os métodos de passo único calculam um valor para 𝑦𝑖+1
(predição futura), com base no valor inicial 𝑦𝑖 .
A seguir, estudaremos alguns métodos de passo único, que são: o método de
Euler; o método de Heun; e métodos de Runge-Kutta. Segundo Franco (2006, p. 405),
temos que um método geral explícito de passo único, é representado pela seguinte
expressão:

𝑦𝑖+1 = 𝑦𝑖 + ℎ ∙ ∅(𝑥𝑖 , 𝑦𝑖 , ℎ) (5)

para 𝑖 = 0,1, … , (𝑛 − 1), onde ∅ é uma função que depende de 𝑥𝑖 , 𝑦𝑖 𝑒 ℎ, chamada


função incremento e ℎ é o tamanho de passo.

Uma vez resolvida a equação (5), encontra-se um valor aproximado para 𝑦𝑖+1 .
Portanto, os métodos que serão estudados a seguir, fornecerão uma solução
aproximada para a EDO, na forma de pares ordenados do tipo:
(𝑦1 ; 𝑥1 ), (𝑦2 , 𝑥2 ), … , (𝑦𝑛 , 𝑥𝑛 ), onde 𝑥𝑖 = 𝑥𝑖−1 + ℎ.
Para analisar a eficiência dos métodos que serão estudados, é necessário
observar a diferença entre a solução numérica encontrada e a solução analítica. Para
tal análise, a solução real ou analítica será representada pelo conjunto de pontos
(𝑦(𝑥1 ), 𝑦(𝑥2 ), … , 𝑦(𝑥𝑛 )). Portanto o erro relativo local é definido como:

𝑦(𝑥𝑖 )−𝑦𝑖
𝐸𝑖 = | |∙ 100 (6)
𝑦(𝑥𝑖 )

onde 𝑖 = 0,1, … , 𝑛.

2.3 POLINÔMIO DE TAYLOR

Antes de introduzir os métodos numéricos a serem trabalhados, é importante


conceituar o Polinômio de Taylor, pois o mesmo tem aplicação importante na
resolução numéricas de equações diferenciais.
20

Representar funções em séries de potência é um passo importante na análise


numérica. Chapra (2013, p.104) diz que, “[...] o teorema de Taylor afirma que qualquer
função suave pode ser aproximada por um polinômio”. Essa é uma tática válida, visto
que os polinômios apresentam derivadas e integrais elementares.
Segundo Stewart (2013, p. 680), se uma função 𝑓(𝑥) possuir uma
representação em série de potências em 𝑎, podemos representar a função 𝑓(𝑥) por:


𝑓 (𝑛) (𝑎)
𝑓(𝑥) = ∑ ∙ (𝑥 − 𝑎)𝑛
𝑛!
𝑛=0

𝑓 ′ (𝑎) 𝑓 ′′ (𝑎) 𝑓 (𝑛) (𝑎)


∴ 𝑓(𝑥) = 𝑓(𝑎) + ∙ (𝑥 − 𝑎) + ∙ (𝑥 − 𝑎)2 + ⋯ + ∙ (𝑥 − 𝑎)𝑛 (7)
1! 2! 𝑛!

A equação (7) é chamada série de Taylor de 𝑓(𝑥) em torno de 𝑎.

Quando a equação (7) é limitada em um termo finito, temos um Polinômio de


Taylor (𝑇(𝑥)), de ordem 𝑗, que é dado por:

𝑗 𝑓 (𝑛) (𝑎)
𝑇𝑗 (𝑥) = ∑𝑛=0 ∙ (𝑥 − 𝑎)𝑛 (8)
𝑛!

onde 𝑇(𝑥) representa um polinômio que tende a se aproxima da função 𝑓(𝑥).

Os métodos numéricos que serão estudados neste trabalho, como já foi citado,
apresentam a solução em um conjunto de pontos 𝑦𝑖 , 𝑦𝑖+1 , … , 𝑦𝑛 , onde o ponto inicial
(𝑦𝑖 ) é sempre conhecido. Portanto, podemos usar o polinômio de Taylor para
aproximar 𝑦𝑖+1 em torno de 𝑦𝑖 , por 𝑇𝑗 (𝑥𝑖+1 ), como segue na equação:

𝑗 𝑓 (𝑛) (𝑥𝑖 )
𝑇𝑗 (𝑥𝑖+1 ) = ∑𝑛=0 ∙ (𝑥𝑖 − 𝑥𝑖+1 )𝑛 (9)
𝑛!

Fazendo (𝑥𝑖 − 𝑥𝑖+1 ) = ℎ, temos:

𝑗 𝑓 (𝑛) (𝑥𝑖 )
𝑇𝑗 (𝑥𝑖+1 ) = ∑𝑛=0 ∙ ℎ𝑛 (10)
𝑛!
21

2.3.2 Erro de truncamento local

Chapra (2013, p. 106) mostra que, para fins práticos, a utilização do polinômio
de Taylor resulta na inclusão de apenas poucos termos da série. A avaliação de
quantos termos são necessários para encontrar um polinômio que obtenha uma boa
representação de uma dada função é baseada no resto da série de Taylor.
Esse resto da série de Taylor, que foi truncado, é chamado Erro de
Truncamento Local (𝐸𝑇𝐿𝑖 ), onde o índice 𝑖, indica a ordem a ordem da série de Taylor,
a partir de qual a mesma foi truncada.
Usando esse conceito, pode-se, uma que seja conhecido o valor exato do 𝐸𝑇𝐿𝑖
encontrar a solução precisa de 𝑦𝑖+1 , como segue na equação:

𝑦𝑖+1 = 𝑇𝑗 (𝑥𝑖+1 ) + 𝐸𝑇𝐿𝑖 , (11)

onde, segundo Barroso et al (1987, p. 283), temos que esse erro truncamento local, é
dado pela seguinte equação:

ℎ𝑖+1
𝐸𝑇𝐿𝑖 = (𝑖+1)! ∙ 𝑓 (𝑖+1) (𝜉) (12)

para 𝑖 = 0,1, … , (𝑛 − 1), onde, 𝜉 é algum valor de 𝑥 localizado em algum ponto entre
𝑥𝑖 e 𝑥𝑖+1 . Para mais informações ver Barroso et al (1987, p. 283)

Nesta equação, temos dois impertinentes, que impedem a obtenção de um


valor exato do 𝐸𝑇𝐿𝑖 . O primeiro é o fato de 𝜉 não ser conhecido, e o segundo é que
para calcular a equação (12) é necessário a (𝑖 + 1)-ésima derivada da função 𝑓(𝑥),
enquanto a mesma é desconhecida no contexto atual.
Contudo, segundo Chapra (2006), a equação (12) ainda é útil para a análise do
erro presente em um polinômio de Taylor. Pois, há controle sobre o termo ℎ presente
na equação, onde o erro de truncamento local é da ordem ℎ𝑖+1. Portanto o mesmo
pode ser escrito como:
22

𝐸𝑇𝐿𝑖 = 𝑂(ℎ𝑖+1 ) (13)

onde 𝑖 = 0,1, … , (𝑛 − 1).

2.3.3 Polinômio de Taylor para funções de duas variáveis

Podemos ainda determinar, de maneira análoga, a série de Taylor para funções


de duas variáveis. Dada uma função 𝑓(𝑥, 𝑦), que possui uma representação em série
de potência, podemos representá-la por:

𝜕𝑓 𝜕𝑓 1 𝜕2 𝑓
𝑓(𝑥, 𝑦) = 𝑓(𝑥0 , 𝑦0 ) + 𝜕𝑥 (𝑥0 , 𝑦0 ) ∙ (𝑥 − 𝑥0 ) + 𝜕𝑥 (𝑥0 , 𝑦0 ) ∙ (𝑦 − 𝑦0 ) + 2! ∙ (𝜕𝑥 2 (𝑥0 , 𝑦0 ) ∙ (𝑥 −
𝜕2 𝑓 𝜕2 𝑓 1 𝑛
𝑥0 )2 + 2 ∙ 𝜕𝑥∙𝜕𝑦 (𝑥0 , 𝑦0 ) ∙ (𝑥 − 𝑥0 ) ∙ (𝑦 − 𝑦0 ) + 𝜕𝑦 2 (𝑥0 , 𝑦0 ) ∙ (𝑦 − 𝑦0 )2 ) + ⋯ + 𝑛! ∑𝑛𝑗=0( 𝑗 ) ∙

𝜕(𝑛) 𝑦
(𝜕𝑥 𝑛−𝑗∙𝜕𝑥 𝑗 (𝑥0 , 𝑦0 ) ∙ (𝑥 − 𝑥0 )𝑛−𝑗 ∙ (𝑦 − 𝑦0 )𝑗 ) (14)

onde a equação (14) é chamada série de Taylor de 𝑓(𝑥, 𝑦) em torno de 𝑎.

Os conceitos de polinômio de Taylor e erro de truncamento local, vistos nas


subseções anteriores, em relação a série de Taylor para funções de uma variável,
também se aplicam a série de Taylor para funções de duas variáveis.

2.4 MÉTODOS DE EULER, HEUN E RUNGE-KUTTA

Este tópico mostrará conceitos e definições relacionados a cada método


apresentado a seguir. Conforme será visto, os métodos de Runge-Kutta de ordem
𝑛 apresentam uma abordagem matemática mais completa. Entretanto, os métodos de
Euler e Heun possuem sua importância.
23

2.4.1 Método de Euler

O método de Euler é o método mais antigo e simples para resolução de


equações diferenciais ordinárias. Desenvolvido por Euler (1707 – 1783) por volta de
1768, esse método é também chamado de método da reta tangente, pois sua
abordagem é feita a partir da equação da reta tangente.
Dado o PVI, definido na equação (4), deseja-se obter as aproximações
𝑦1 , 𝑦2 , … , 𝑦𝑛 para as soluções exatas 𝑦(𝑥1 ), 𝑦(𝑥2 ), … , 𝑦(𝑥𝑛 ), uma vez que estas últimas
são desconhecidas. Segundo Chapra (2006, p. 555), a primeira derivada da função
𝑦 = 𝑓(𝑥), em 𝑥0 , fornece uma estimativa direta da inclinação em 𝑥0 . Portanto, para
determinar a projeção aproximada de um ponto seguinte (𝑥1 ) em 𝑦, é feita uma
estimativa através desta inclinação, que é definida pela função da reta tangente a
curva 𝑦 no ponto (𝑥0 , 𝑦0 ), como pode ser visto graficamente:

Figura 1:Gráfico de L(x) e f(x), onde L(x) é a reta tangente a f(x) no ponto (𝑥0 , 𝑦0 ).

𝑳(𝒙)

𝒚𝟏 = 𝑳(𝒙𝟏 )

𝒚(𝒙𝟏 ) 𝒇(𝒙)

𝒚(𝒙𝟎 ) = 𝒚𝟎

𝒙𝟎 𝒙𝟏
Fonte: Autoria própria (2016)

De acordo com Barroso et al (1987, p. 280), tem-se que, uma vez desconhecido
o valor de 𝑦(𝑥1 ), adota-se 𝑦1 como aproximação para 𝑦(𝑥1 ). Para determinar seu valor,
é utilizada a equação da reta tangente (𝐿(𝑥)), cuja equação é definida por:

𝐿(𝑥) = 𝑦(𝑥0 ) + 𝑦 ′ (𝑥0 ) ∙ (𝑥1 − 𝑥0 ) (15)


24

Portanto, dada a equação (15), podemos projetar o ponto seguinte (𝑥1 , 𝑦1 ).


Fazendo (𝑥1 − 𝑥0 ) = ℎ, 𝑦 ′ (𝑥0 ) = 𝑓(𝑥0 , 𝑦0 ) e 𝐿(𝑥1 ) = 𝑦1, temos:

𝑦1 = 𝑦0 + 𝑓(𝑥0 , 𝑦0 ) ∙ ℎ (16)

Para determinar o valor de 𝑦2 , avançam-se os índices em (16), em uma


unidade. Portanto, por indução, a equação (16), pode ser escrita em relação ao índice
𝑖, como segue:

𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥𝑖 , 𝑦𝑖 ) ∙ ℎ (17)

onde 𝑖 = 0,1, … , (𝑛 − 1).

A equação (17) é a forma explícita do método de Euler, onde o mesmo é


caracterizado como um método de passo único, com ∅(𝑥𝑖 , 𝑦𝑖 , ℎ) = 𝑓(𝑥𝑖 , 𝑦𝑖 ).

2.4.2 Método de Heun

Segundo Chapra (2013, p. 561), uma grande fonte de erro, no método de Euler,
é considerar que a derivada no início do intervalo pode ser usada em todo o intervalo.
O método de Heun, que também é chamado de método de Euler melhorado,
apresenta uma estratégia para melhorar a precisão da solução numérica.
Uma das estratégias abordadas nesse método, consiste em envolver a
determinação de duas derivadas, uma no ponto inicial e outra no ponto final, onde a
nova inclinação será dada pela média das duas derivadas. As figuras 2 e 3 ilustram
essa abordagem:
25

Figura 2:Gráfico mostrando a inclinação nos pontos (𝑥𝑖 , 𝑦𝑖 ) e


(𝑥𝑖+1 , 𝑦𝑖+1 ). 𝑳(𝒙)

𝒚𝒊+𝟏 = 𝑳(𝒙𝒊+𝟏 )
Inclinação = 𝒇(𝒙𝒊+𝟏 , 𝒚𝒊+𝟏 )
𝒚(𝒙𝒊+𝟏 )
𝒇(𝒙)
Inclinação = 𝒇(𝒙𝒊 , 𝒚𝒊 )
𝒚(𝒙𝒊 ) = 𝒚𝒊

𝒙𝒊 𝒙𝒊+𝟏
Fonte: Autoria própria (2016)

Figura 3: Gráfico mostrando a nova inclinação em (𝑥𝑖 , 𝑦𝑖 ) gerando uma


nova reta 𝐿′(𝑥)

𝑳′ (𝒙)
𝒚(𝒙𝒊+𝟏 )
𝒚𝒊+𝟏 = 𝑳′ (𝒙𝒊+𝟏 ) 𝒇(𝒙)

𝒚(𝒙𝒊 ) = 𝒚𝒊 𝒇(𝒙𝒊 ,𝒚𝒊 )+𝒇(𝒙𝒊+𝟏 ,𝒚𝒊+𝟏 )


Inclinação =
𝟐

𝒙𝒊 𝒙𝒊+𝟏
Fonte: Autoria própria (2016)

𝑓(𝑥𝑖 ,𝑦𝑖 )+𝑓(𝑥𝑖 ,𝑦𝑖 )


Deste modo, tomando a equação (17), e substituindo 𝑓(𝑥𝑖 , 𝑦𝑖 ) por ,
2

temos:


𝑦𝑖+1 = 𝑦𝑖 + 2 ∙ (𝑓(𝑥𝑖 , 𝑦𝑖 ) + 𝑓(𝑥𝑖+1 , 𝑦𝑖+1 )) (18)

Com 𝑖 = 0,1, … , (𝑛 − 1).

A equação (18) é a forma explícita do método de Heun, que pode ser obtida
𝑓(𝑥𝑖 ,𝑦𝑖 )+𝑓(𝑥𝑖+1 ,𝑦𝑖+1 )
fazendo ∅(𝑥𝑖 , 𝑦𝑖 , ℎ) = 2
na equação (5).

Com o auxílio da figura 2 e 3, observamos que a distância de 𝑦(𝑥𝑖+1 ) e 𝑦𝑖+1


tende a diminuir ao aplicar a nova estimativa de inclinação. Deste modo, de acordo
26

com a equação (6), o erro relativo local também tende a diminuir, aumentando,
portanto, a precisão da solução numérica.
Segundo Chapra (2013, p. 563), há ainda uma possibilidade de abordar de
forma iterativa, o método de Heun, visto que na equação (18), o termo 𝑦𝑖+1 se repete
em ambos os lados do sinal de igualdade.
Essa nova abordagem, consiste em utilizar o valor estimado de 𝑦𝑖+1 , na
equação (18), para fornecer uma estimativa melhorada da solução, de forma
sucessiva, dado um critério de parada. Essa nova abordagem é mostrada na equação
a seguir:

𝑗 ℎ 𝑗−1
𝑦𝑖+1 = 𝑦𝑖 𝑚 + 2 (𝑓(𝑥𝑖 , 𝑦𝑖 𝑚 ) + 𝑓(𝑥𝑖+1 , 𝑦𝑖+1 )) (19)

para 𝑗 = 1,2, … , 𝑚 e 𝑖 = 0,1, … , (𝑛 − 1)

𝑗
Nesta equação o índice 𝑗 se refere as iterações. Portanto, a medida que 𝑦𝑖+1
𝑗
for calculado, uma nova iteração é feita, onde o valor encontrado de 𝑦𝑖+1 é devolvido
𝑗+1
a equação, para encontrar um novo valor, 𝑦𝑖+1 . Esse processo é repetido até 𝑗 = 𝑚
ou quando um critério de parada seja atingido.

2.4.3 Métodos de Runge-Kutta

Os métodos de Runge-Kutta são os mais populares e eficientes métodos para


encontrar a solução de problemas de valor inicial. Desenvolvidos pelos matemáticos
Carl David Runge e M. Wilhelm Kutta, estes métodos são muito atrativos devido a sua
fácil implementação, entre outros motivos.
Barroso et al (1987, p. 288), mostra que os métodos que utilizam a fórmula de
Taylor exibem alguns impertinentes computacionais, como complexas funções
analíticas envolvendo derivadas de grau elevado. Entretanto, segundo Chapra (2013,
p.567), [...] os métodos de Runge-Kutta (RK) alcançam a acurácia de uma abordagem
por série de Taylor sem exigir cálculos de derivadas de ordem superior, o que justifica
sua popularidade.
27

Os métodos de RK, tomam como base a representação por polinômio de Taylor


e são classificados quanto a ordem, que é definida através do índice 𝑛 na função
incremento, da equação (5), que é dada por:

∅(𝑥𝑖 , 𝑦𝑖 , ℎ) = 𝑎1 ∙ 𝑘1 + 𝑎2 ∙ 𝑘2 + ⋯ + 𝑎𝑛 ∙ 𝑘𝑛 (20)

Os termos 𝑎 e 𝑘 serão ilustrados na sequência.

Juntando as equações (5) e (20), temos que, o método de RK de n-ésima ordem é


dado por:

𝑦𝑖+1 = 𝑦𝑖 + ℎ ∙ (∑𝑛𝐽=1 𝑎𝐽 ∙ 𝑘𝐽 ) (21)

Com 𝑖 = 0,1, … , (𝑛 − 1), onde 𝑎𝑗 são constantes e 𝑘𝑗 são funções dadas por:

𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖 ) (21.a)
𝑘2 = 𝑓(𝑥𝑖 + 𝑝1 ℎ, 𝑦𝑖 + 𝑞11 𝑘1 ℎ) (21.b)
𝑘3 = 𝑓(𝑥𝑖 + 𝑝2 ℎ, 𝑦𝑖 + 𝑞21 𝑘1 ℎ + 𝑞22 𝑘2 ℎ) (21.c)
(...)
𝑘𝑛 = 𝑓(𝑥𝑖 + 𝑝𝑛−1 ℎ, 𝑦𝑖 + 𝑞𝑛−1,1 𝑘1 ℎ + 𝑞𝑛−1,2 𝑘2 ℎ + ⋯ + 𝑞𝑛−1,𝑛−1 𝑘𝑛−1 ℎ) (21.d)

em que os termos 𝑞 e 𝑝 são constantes arbitrárias.

Para chegar na expressão final, aplicável numericamente, é necessário seguir


uma série de passos, conforme será visto a seguir. Primeiro será demostrado como o
Método de RK de ordem 1 é o próprio método de Euler.

Fazendo 𝑛 = 1 em (21), temos que:

𝑦𝑖+1 = 𝑦𝑖 + ℎ ∙ (𝑘1 ∙ 𝑎1 ) (22)

Expandindo 𝑦𝑖+1 𝑜𝑢 (𝑦1 + ℎ) em série de Taylor em torno de 𝑥𝑖 , até 𝑂(ℎ²), temos:


28

𝑦𝑖+1 = 𝑦(𝑥𝑖 ) + ℎ ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) + 𝑂(ℎ²) (23)

Substituindo (21.a) em (22) e comparando as equações (23) e (22), temos 𝑎1 =


1, resultando novamente na equação (17). Deste modo, temos que o método de
Runge-Kutta de ordem 1, é o método de Euler, definido na subseção 2.4.1, onde o
erro de truncamento local é dado por 𝑂(ℎ²).
Para os métodos de RK de grau superior a um, teremos o acréscimo de
constantes 𝑎′ 𝑠 e funções 𝑓′𝑠, conforme o grau do método é aumentado, porém a
sequência de operações, para determinar estes termos, é a mesma, conforme será
visto na demonstração do método de Runge-Kutta de 2ª ordem.
Seja, 𝑦𝑖+1 dado pela equação (21), fazendo 𝑛 = 2 temos como incógnitas para
o método, 𝑎1 , 𝑎2 , 𝑘1 𝑒 𝑘2 , onde os dois primeiros são constantes e os dois últimos são
funções, dadas respectivamente pelas equações (21.a) e (21.b).

Primeiro, expandimos 𝑘2 em série de Taylor de duas variáveis, centrado em (𝑥𝑖 , 𝑦𝑖 )


até O(ℎ2 ):

𝜕(𝑥𝑖 ,𝑦𝑖 ) 𝜕(𝑥𝑖 ,𝑦𝑖 )


𝑘2 = 𝑓(𝑥𝑖 , 𝑦𝑖 ) + 𝑝1 ∙ ℎ + 𝑞11 ∙ ℎ ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) ∙ + 𝑂(ℎ2 ) (24)
𝜕𝑥 𝜕𝑦

Substituindo as equações (24) e (21.a) em (21), para 𝑛 = 2, temos:

𝜕(𝑥𝑖 ,𝑦𝑖 )
𝑦𝑖+1 = 𝑦𝑖 + ℎ ∙ (𝑐1 ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) + 𝑐2 ∙ [𝑓(𝑥𝑖 , 𝑦𝑖 ) + 𝑝1 ∙ ℎ ∙ + 𝑞11 ∙ ℎ ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) ∙
𝜕𝑥
𝜕(𝑥𝑖 ,𝑦𝑖 )
]) + 𝑂(ℎ3 )
𝜕𝑦

𝜕𝑓(𝑥𝑖 ,𝑦𝑖 )
∴ 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥𝑖 , 𝑦𝑖 ) ∙ ℎ ∙ (𝑐1 + 𝑐2 ) + 𝑝1 ∙ ℎ2 ∙ 𝑐2 ∙ + 𝑞11 ∙ ℎ2 ∙ 𝑐2 ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) ∙
𝜕𝑥
𝜕(𝑥𝑖 ,𝑦𝑖 )
+ 𝑂(ℎ3 ) (25)
𝜕𝑥

Para determinar as constantes 𝑐1 , 𝑐2 , 𝑝1 𝑒 𝑝2 , é necessário comparar com a


solução teórica, Barroso et al (1987, p. 289) sugere que, o próximo passo consiste em
expandir, em série de Taylor, a solução teórica 𝑦(𝑥𝑖+1 ) 𝑜𝑢 𝑦(𝑥𝑖 + ℎ) em torno de 𝑥𝑖 até
o termo 𝑂(ℎ3 ), como segue na equação:
29

ℎ² 𝜕(𝑥𝑖 ,𝑦𝑖 ) 𝜕(𝑥𝑖 ,𝑦𝑖 )


𝑦(𝑥𝑖 + ℎ) = 𝑦(𝑥𝑖 ) + ℎ ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) + 2! ∙ [ + 𝑓(𝑥𝑖 , 𝑦𝑖 ) ] + 𝑂(ℎ3 )
𝜕𝑥 𝜕𝑦

ℎ² 𝜕(𝑥𝑖 ,𝑦𝑖 ) ℎ²𝑓(𝑥𝑖 ,𝑦𝑖 ) 𝜕(𝑥𝑖 ,𝑦𝑖 )


∴ 𝑦(𝑥𝑖 + ℎ) = 𝑦(𝑥𝑖 ) + ℎ ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ) + + + 𝑂(ℎ3 ) (26)
2 𝜕𝑥 2 𝜕𝑦

Comparando os termos de mesma potência nas equações (25) e (26), temos o


sistema:

𝑐1 + 𝑐2 = 1
1
{ 𝑝1 ∙ 𝑐2 = 2 (27)
1
𝑞11 ∙ 𝑐2 = 2

O sistema (27) tem 4 variáveis para 3 equações. Deste modo, tomamos uma
1
das incógnitas arbitrariamente, com o objetivo de resolver o sistema. Para 𝑐2 = 2,

temos, 𝑝1 = 1 e 𝑞11 = 1 e 𝑐1 = 1. Logo o RK de segunda ordem para esses valores


será:


𝑦𝑖+1 = 𝑦𝑖 + 2 ∙ (𝑘1 + 𝑘2 ) (28)

para 𝑖 = 0,1, … , (𝑛 − 1), onde, 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖 ) e 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ ∙ 𝑓(𝑥𝑖 , 𝑦𝑖 ))

Observamos para esses termos que 𝑘1 e 𝑘2 , se referem respectivamente a


inclinação no início e no final do intervalo. Portanto o método de Runge-Kutta de
segunda ordem para esses valores das constantes é na realidade o método de Heun,
sem iteração, definido na subseção 2.4.2, onde este apresenta um erro de 𝑂(ℎ3 ).

1 1
Já para 𝑐2 = 1, temos, 𝑝1 = 2, 𝑞11 = 2 e 𝑐1 = 0, logo, temos:

𝑦𝑖+1 = 𝑦𝑖 + ℎ ∙ 𝑘2 (29)

para 𝑖 = 0,1, … , (𝑛 − 1), onde:


30

𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖 ) (29.a)

𝑘2 = 𝑓(𝑥𝑖 + 2 , 𝑦𝑖 + ℎ ∙ 𝑘1 ) (29.b)

Como observado, podemos escolher arbitrariamente infinitos valores para 𝑐2 ,


resultando em infinitas formas de representar o método de RK de 2ª ordem.
Mostramos, a título de ilustração, apenas 2 exemplos de versões mais utilizadas na
prática.
Segundo Chapra (2013, p. 570) e Barroso et al (1987, p. 292), dentre os
métodos de Runge-Kutta, os de quarta ordem são os mais populares, por
apresentarem maior precisão na prática.
A obtenção da expressão destes métodos segue os mesmos passos vistos na
dedução das fórmulas do RK de ordem 2, porém, aumentando dois termos, na série
de Taylor truncada.
Repetindo os passos algébricos, descritos nessa subseção, temos que o
método de Runge-Kutta de quarta ordem fornece um sistema de 11 equações e 13
variáveis, onde cada solução deste sistema define um método de RK de ordem 4, com
um erro de truncamento local de 𝑂(ℎ5 ).
Portanto, assim como nos métodos de RK de segunda ordem, existem infinitas
formas de representar o método de RK de quarta ordem. Neste trabalho, entretanto,
utilizaremos apenas a forma mais popular, chamada Método de Runge-Kutta de
quarta ordem clássico, cuja equação é dada por:


𝑦𝑖+1 = 𝑦𝑖 + 6 ∙ (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 ) (30)

para 𝑖 = 0,1, … , (𝑛 − 1), onde:

𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖 ) (30.a)
ℎ ℎ
𝑘2 = 𝑓(𝑥𝑖 + 2 , 𝑦𝑖 + 2 ∙ 𝑘1 ) (30.b)
ℎ ℎ
𝑘3 = 𝑓(𝑥𝑖 + 2 , 𝑦𝑖 + 2 ∙ 𝑘2 ) (30.c)

𝑘4 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + ℎ ∙ 𝑘3 ) (30.d)
31

2.4.4 Análise do erro

Uma vez definido os métodos de Euler, Heun e Runge-Kutta é importante ter


conhecimento sobre a fonte de erro resultante de suas formulações matemáticas. Na
subseção 2.4.3 foi mostrado que o método de Euler e Heun referem-se
respectivamente, aos métodos de RK de ordem 1 e 2. Portanto, podemos relacionar
a precisão dos métodos ao número de termos da série de Taylor usado na formulação
de cada método.
Na subseção 2.3.2 foi mostrado uma análise do erro de truncamento local. Essa
abordagem é extremamente útil quando se utiliza métodos numéricos com base em
expansão em série de Taylor, uma vez que se tem controle no valor de ℎ. Por exemplo:
para um erro de 𝑂(ℎ), ao dividir o tamanho de passo para a metade, o erro também
será reduzido a metade, já para um erro de 𝑂(ℎ2 ), dividir o tamanho de passo pela
metade, fará com que o erro seja reduzido a um quarto.
A partir deste procedimento, pode-se observar que o método de Runge-Kutta
de quarta ordem clássico tende a apresentar uma solução numérica mais precisa, pois
apresenta um erro de 𝑂(ℎ5 ) em sua formulação matemática, ao passo que os métodos
de Heun e Euler, apresentam respectivamente um erro de 𝑂(ℎ2 ) e 𝑂(ℎ3 ). Os
experimentos computacionais envolvendo os métodos serão úteis para comprovar
essa tese, como será visto nos próximos capítulos.
32

3 MATERIAIS E MÉTODOS

3.1 METODOLOGIA

Este trabalho objetiva estudar métodos numéricos, cujo finalidade é aproximar


a solução de Equações Diferenciais Ordinárias de primeira ordem. A metodologia do
presente trabalho consiste na implementação e análise de destes métodos numéricos
através da resolução de problemas registrados na literatura.
Os métodos utilizados foram: o método de Euler; método de Heun, na forma
direta e iterativa; e o método de Runge-Kutta de quarta ordem clássico. Estes métodos
são classificados como de passo único, onde sua abordagem exclui o cálculo de
derivadas e integrais, que por sua vez são impertinentes computacionais.
Os parâmetros necessários para implementação destes métodos são: intervalo
de pontos em 𝑥, onde se deseja analisar a solução; O valor inicial de 𝑦, cuja
informação é vinculada ao PVI; e o tamanho de passo. Estes parâmetros são
específicos para cada problema, conforme será visto.
No caso específico do método de Heun na forma iterativa, é necessário um
parâmetro extra, que é o critério de parada. Neste trabalho, iremos usar como critério
de parada 𝑝 = 10−4 , onde:

𝑗 𝑗−1
𝑦𝑖+1 −𝑦𝑖+1
𝑝=| 𝑗 | ∙ 100. (31)
𝑦𝑖+1

para 𝑖 = 0,1, … , (𝑛 − 1), e 𝑗 variando de 1, passo 1 até o critério de parada 𝑝 ser


atingido.

A aplicação dos métodos nos problemas selecionados, foram feitos com auxílio
computacional. As configurações do computador utilizado no teste estão indicadas
nos quadros a seguir:
33

Quadro 1: Dados referentes ao computador utilizado nos testes

CARACTERÍSTICAS GERAIS
Fabricante: Acer
Modelo: Aspire E1-471
Processador: Intel(R) Core(TM) i3-2348M CPU @ 2.30GHz 2.30 GHz
Memória RAM: 2 GB
HD: 249 GB
Fonte: Manual do fabricante 2012.

Quadro 2: Dados referentes ao sistema operacional utilizado nos testes

CARACTERÍSTICAS GERAIS
Fabricante: Microsoft
Modelo: Windows 10 Profissional 64 bits
Fonte: Manual do fabricante 2012.

Para a realização dos testes, o software utilizado foi o Scilab, que é um software
livre para computação numérica. O mesmo é encontrado para download no site do
desenvolvedor em: < http://www.scilab.org/ >, onde encontra-se também, informações
referentes ao software como manuais e características da versão. Para
implementação neste trabalho foi usado a versão 5.5.2, para Windowns 64 bits.

3.2 ALGORÍTIMOS

Os algoritmos usados nos testes computacionais, são mostrados a seguir, nos


quadros 3, 4 e 5, onde cada algoritmo se refere à um método, definido na descrição
teórica. Os códigos nestes quadros são mostrados em português estruturado, para
fins ilustrativos.
34

Quadro 3: Dados referentes ao sistema operacional utilizado nos testes

Algoritmo: Método de Euler

Declare

𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (inicio do intervalo em x)


𝑥_𝑓𝑖𝑛𝑎𝑙 (fim do intervalo em x)
𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (valor inicial de y)
ℎ (tamanho de passo)
𝑥 (vetor com os valores de x)
𝑦_𝑒𝑢𝑙𝑒𝑟 (vetor com os valores da solução numérica)
𝑑𝑥𝑑𝑦 (função na variável x e y, da equação diferencial)

Numérico

Leia 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, 𝑥_𝑓𝑖𝑛𝑎𝑙, 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, ℎ, 𝑑𝑥𝑑𝑦

𝑥 ← 𝑣𝑒𝑡𝑜𝑟[𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙: ℎ: 𝑥_𝑓𝑖𝑛𝑎𝑙]
𝑦_𝑒𝑢𝑙𝑒𝑟 ← 𝑥
𝑦_𝑒𝑢𝑙𝑒𝑟(1) ← 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙

Para 𝑖 de 1 até (𝑥_𝑓𝑖𝑛𝑎𝑙 − 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙)/ℎ faça

𝑦_𝑒𝑢𝑙𝑒𝑟(𝑖 + 1) = 𝑦_𝑒𝑢𝑙𝑒𝑟(𝑖) + ℎ ∗ 𝑑𝑦𝑑𝑥(𝑥(𝑖), 𝑦_𝑒𝑢𝑙𝑒𝑟(𝑖))

Fim para

Escreva 𝑦_𝑒𝑢𝑙𝑒𝑟

Fonte: Autoria própria (2016)


35

Quadro 4: Algoritmo usado para o método de Heun direto

Algoritmo: Método de Heun (direto)

Declare

𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (variável com o inicio do intervalo em x)


𝑥_𝑓𝑖𝑛𝑎𝑙 (variável com o fim do intervalo em x)
𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (variável com o valor inicial de y)
ℎ (variável com o tamanho de passo)
𝑦_𝑎𝑢𝑥 (variável auxiliar)
𝑥 (vetor com os valores de x)
𝑦_ℎ𝑒𝑢𝑛_𝑑 (vetor com os valores da solução numérica)
𝑑𝑥𝑑𝑦 (função na variável x e y, da equação diferencial)

Numérico

Leia 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, 𝑥_𝑓𝑖𝑛𝑎𝑙, 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, ℎ, 𝑑𝑥𝑑𝑦

𝑥 ← 𝑣𝑒𝑡𝑜𝑟[𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙: ℎ: 𝑥_𝑓𝑖𝑛𝑎𝑙]
𝑦_ℎ𝑒𝑢𝑛_𝑑 ← 𝑥
𝑦_ℎ𝑒𝑢𝑛_𝑑(1) ← 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙

Para 𝑖 de 1 até (𝑥_𝑓𝑖𝑛𝑎𝑙 − 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙)/ℎ faça

𝑦_𝑎𝑢𝑥 ← 𝑦(𝑖) + ℎ ∗ 𝑑𝑦𝑑𝑥(𝑥(𝑖), 𝑦(𝑖))


𝑦_ℎ𝑒𝑢𝑛_𝑑(𝑖 + 1) ← 𝑦_ℎ𝑒𝑢𝑛_𝑑(𝑖) + (ℎ/2) ∗ (𝑑𝑦𝑑𝑥(𝑥(𝑖), 𝑦_ℎ𝑒𝑢𝑛_𝑑) +
+𝑑𝑦𝑑𝑥(𝑥(𝑖 + 1), 𝑦_𝑎𝑢𝑥))

Fim para

Escreva 𝑦_ℎ𝑒𝑢𝑛_𝑑

Fonte: Autoria própria (2016)


36

Quadro 5: Algoritmo usado para o método de Heun iterativo

Algoritmo: Método de Heun (iterativo)

Declare

𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (variável com o inicio do intervalo em x)


𝑥_𝑓𝑖𝑛𝑎𝑙 (variável com o fim do intervalo em x)
𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (variável com o valor inicial de y)
ℎ (variável com o tamanho de passo)
𝑦_𝑎𝑢𝑥 (variável auxiliar)
𝑦_𝑎𝑢𝑥2 (variável auxiliar)
𝑝 (variável auxiliar)
𝑥 (vetor com os valores de x)
𝑦_ℎ𝑒𝑢𝑛_𝑖 (vetor com os valores da solução numérica)
𝑑𝑥𝑑𝑦 (função na variável x e y, da equação diferencial)
𝑖𝑡𝑒𝑟𝑎𝑐𝑜𝑒𝑠 (variável que mede o número de iterações)

Numérico

Leia 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, 𝑥_𝑓𝑖𝑛𝑎𝑙, 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, ℎ, 𝑑𝑥𝑑𝑦

𝑥 ← 𝑣𝑒𝑡𝑜𝑟[𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙: ℎ: 𝑥_𝑓𝑖𝑛𝑎𝑙]
𝑦_ℎ𝑒𝑢𝑛_𝑖 ← 𝑥
𝑦_ℎ𝑒𝑢𝑛_𝑖(1) ← 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙

Para 𝑖 de 1 até (𝑥_𝑓𝑖𝑛𝑎𝑙 − 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙)/ℎ faça

𝑦_𝑎𝑢𝑥 ← 𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖) + ℎ ∗ 𝑑𝑦𝑑𝑥(𝑥(𝑖), 𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖))


𝑦_𝑎𝑢𝑥2 ← 𝑦_𝑎𝑢𝑥
𝑝 ← 1000

Enquanto 𝑝 > 0,0001 faça

𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖 + 1) ← 𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖) + (ℎ/2) ∗


∗ (𝑑𝑦𝑑𝑥(𝑥(𝑖), 𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖)) +
+𝑑𝑦𝑑𝑥(𝑥(𝑖 + 1), 𝑦_𝑎𝑢𝑥2))
𝑝 ← |((𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖 + 1) − 𝑦_𝑎𝑢𝑥2)/(𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖 + 1))| ∗ 100
𝑦_𝑎𝑢𝑥2 ← 𝑦_ℎ𝑒𝑢𝑛_𝑖(𝑖 + 1)

Fim enquanto

𝑝 ← 1000

Fim para

Escreva 𝑦_ℎ𝑒𝑢𝑛_𝑖
Fonte: Autoria própria (2016)
37

Quadro 6: Algoritmo usado para o método de Runge-Kutta

Algoritmo: Método de Runge-Kutta

Declare

𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (variável com o inicio do intervalo em x)


𝑥_𝑓𝑖𝑛𝑎𝑙 (variável com o fim do intervalo em x)
𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙 (variável com o valor inicial de y)
ℎ (variável com o tamanho de passo)
𝑘1 (variável auxilar)
𝑘2 (variável auxilar)
𝑘3 (variável auxilar)
𝑘4 (variável auxilar)
𝑥 (vetor com os valores de x)
𝑦_𝑟𝑘 (vetor com os valores da solução numérica)
𝑑𝑥𝑑𝑦 (função na variável x e y, da equação diferencial)

Numérico

Leia 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, 𝑥_𝑓𝑖𝑛𝑎𝑙, 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙, ℎ, 𝑑𝑥𝑑𝑦

𝑥 ← 𝑣𝑒𝑡𝑜𝑟[𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙: ℎ: 𝑥_𝑓𝑖𝑛𝑎𝑙]
𝑦_𝑟𝑘 ← 𝑥
𝑦_𝑟𝑘(1) ← 𝑦_𝑖𝑛𝑖𝑐𝑖𝑎𝑙

Para 𝑖 de 1 até (𝑥_𝑓𝑖𝑛𝑎𝑙 − 𝑥_𝑖𝑛𝑖𝑐𝑖𝑎𝑙)/ℎ faça

𝑘1 ← 𝑑𝑦𝑑𝑥(𝑥(𝑖), 𝑦_𝑟𝑘(𝑖))
𝑘2 ← 𝑑𝑦𝑑𝑥((𝑥(𝑖) + 0.5 ∗ ℎ), (𝑦_𝑟𝑘(𝑖) + 0.5 ∗ 𝑘1 ∗ ℎ))
𝑘3 ← 𝑑𝑦𝑑𝑥((𝑥(𝑖) + 0.5 ∗ ℎ), (𝑦_𝑟𝑘(𝑖) + 0.5 ∗ 𝑘2 ∗ ℎ))
𝑘4 ← 𝑑𝑦𝑑𝑥((𝑥(𝑖) + ℎ), (𝑦_𝑟𝑘(𝑖) + 𝑘3 ∗ ℎ)
𝑦_𝑟𝑘(𝑖 + 1) ← 𝑦_𝑟𝑘(𝑖) + (ℎ/6) ∗ (𝑘1 + 2 ∗ 𝑘2 + 2 ∗ 𝑘3 + 𝑘4)

Fim para

Escreva 𝑦_rk

Fonte: Autoria própria (2016)


38

3.3 PROBLEMAS

Para a análise dos métodos numéricos estudados até então, foram separados
5 problemas, cujo objetivo é determinar em todos, a solução numérica do problema
de valor inicial dado, em um determinado intervalo.
Os dados dos problemas serão dados em um quadro, conforme será visto,
contendo: a equação diferencial ordinária; o intervalo de pontos em 𝑥; o ponto inicial
em 𝑦; o tamanho de passo ℎ; bem como um quadro contendo os pontos da solução
𝑑𝑦
analítica no intervalo analisado. Para todos os problemas será adotado 𝑦 ′ = .
𝑑𝑥

3.3.1 Problema A1

O problema A1 foi retirado do Chapra (2013, p. 557) e possui as seguintes


características:

Quadro 7: Dados do problema A1

Características Gerais
EDO: 𝑦 ′ = 𝑓(𝑥, 𝑦) 𝑦 ′ = 4 ∙ 𝑒 0,8∙𝑥 − 0,5 ∙ 𝑦
Intervalo: 𝐼 = [𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ; 𝑥𝑓𝑖𝑛𝑎𝑙 ] 𝐼 = [0; 4]
Ponto inicial: 𝑦(𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ) = 𝑦𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑦(0) = 2
Tamanho de passo: ℎ ℎ=1
Fonte: Chapra (2013)

Para esse problema de valor inicial, temos como solução analítica, a função:
4
𝑦 = 1,3 ∙ (𝑒 0,8∙𝑥 − 𝑒 −0,5∙𝑥 ) + 2 ∙ 𝑒 −0,5∙𝑥 . Aplicando a solução para alguns valores em 𝐼, e

adotando 5 casas decimais, obtemos:

Tabela 8: Solução analítica para valores em I, do problema A1

𝒙 0 1 2 3 4
𝒚 2 6,19463 14,84392 33,67717 75,33896
Fonte: Autoria própria (2016)
39

3.3.2 Problema A2

O problema A2 foi retirado do Burden (2013, p.248) e possui as seguintes


características:

Quadro 9: Dados do problema A2

Características Gerais
EDO: 𝑦 ′ = 𝑓(𝑥, 𝑦) 𝑦 ′ = 𝑦 − 𝑥² + 1
Intervalo: 𝐼 = [𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ; 𝑥𝑓𝑖𝑛𝑎𝑙 ] 𝐼 = [0; 2]
Ponto inicial: 𝑦(𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ) = 𝑦𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑦(0) = 0,5
Tamanho de passo: ℎ ℎ = 0,2
Fonte: Burden (2013)

Para esse problema de valor inicial, temos como solução analítica, a função:
𝑦 = (𝑥 + 1)2 − 0,5 ∙ 𝑒 𝑥 . Aplicando a solução para alguns valores em 𝐼, e adotando 5
casas decimais, obtemos:

Quadro 10: Solução analítica para valores em I, do problema A2

𝒙 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2


𝒚 0,5 0,8293 1,21409 1,64894 2,12723 2,64086 3,17994 3,7324 4,28348 4,81518 5,30547
Fonte: Autoria própria (2016)

3.3.3 Problema A3

O problema A3 foi retirado do Franco (2006, p. 404) e possui as seguintes


características

Quadro 11: Dados do problema A3

Características Gerais

EDO: 𝑦 = 𝑓(𝑥, 𝑦) 𝑦′ = 𝑥2 + 𝑦
Intervalo: 𝐼 = [𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ; 𝑥𝑓𝑖𝑛𝑎𝑙 ] 𝐼 = [0; 2]
Ponto inicial: 𝑦(𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ) = 𝑦𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑦(0) = 1
Tamanho de passo: ℎ ℎ = 0.2
Fonte: Franco (2006)
40

Para esse problema de valor inicial, temos como solução analítica, a função:
2 −1
𝑦 = 𝑒𝑥 . Aplicando a solução para alguns valores em 𝐼, e adotando 5 casas
decimais, obtemos:

Quadro 12: Solução analítica para valores em I, do problema A3

𝒙 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2


𝒚 1 1,22408 1,515474 1,90636 2,43662 3,15485 4,12035 5,40560 7,09910 9,30894 12,16717
Fonte: Autoria própria (2016)

3.3.4 Problema A4

O problema A4 foi retirado do Stewart (2013, p.545) e possui as seguintes


características:

Quadro 13: Dados do problema A4

Características Gerais

EDO: 𝑦 = 𝑓(𝑥, 𝑦) 𝑦′ = 𝑥 + 𝑦
Intervalo: 𝐼 = [𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ; 𝑥𝑓𝑖𝑛𝑎𝑙 ] 𝐼 = [0; 1]
Ponto inicial: 𝑦(𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ) = 𝑦𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑦(0) = 1
Tamanho de passo: ℎ ℎ = 0,1
Fonte: Stewart (2013)

Para esse problema de valor inicial, temos como solução analítica, a função:
𝑦 = −𝑥 − 1 + 2 ∗ 𝑒 𝑥 . Aplicando a solução para alguns valores em 𝐼, e adotando 5
casas decimais, obtemos:

Quadro 14: Solução analítica para valores em I, do problema A4

𝒙 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1


𝒚 1 1,11034 1,24281 1,39972 1,58365 1,79744 2,04424 2,32751 2,65108 3,01921 3,43656
Fonte: Autoria própria (2016)
41

3.3.5 Problema A5

O problema A5 foi retirado do Boyce e DiPrima (2006, p. 236) e possui as


seguintes características:

Quadro 15: Dados do problema A5

Características Gerais

EDO: 𝑦 = 𝑓(𝑥, 𝑦) 𝑦′ = 1 − 𝑥 + 4 ∙ 𝑦
Intervalo: 𝐼 = [𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ; 𝑥𝑓𝑖𝑛𝑎𝑙 ] 𝐼 = [0; 0.5]
Ponto inicial: 𝑦(𝑥𝑖𝑛𝑖𝑐𝑖𝑎𝑙 ) = 𝑦𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑦(0) = 1
Tamanho de passo: ℎ ℎ = 0,05
Fonte: Boyce e DiPrima (2006)

Para esse problema de valor inicial, temos como solução analítica, a função:
1 3 19
𝑦 = 4 ∙ 𝑥 − 16 + 16 ∙ 𝑒 4∙𝑥 . Aplicando a solução para alguns valores em 𝐼, e adotando 5

casas decimais, obtemos:

Quadro 16: Solução analítica para valores em I, do problema A5

𝒙 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1


𝒚 1 1,27542 1,60904 2,01377 2,50533 3,10296 3,83014 4,71555 5,79423 7,10896 8,712
Fonte: Autoria própria (2016)
42

4 RESULTADOS E DISCUSSÕES

Serão mostrados a seguir os resultados obtidos a partir da implementação dos


métodos numéricos discutidos nesse trabalho, em cada problema citados no capítulo
anterior, utilizando os algoritmos mostrados nos quadros 3, 4, 5 e 6.
A análise dos resultados será feita a partir de 2 quadros e 1 figura. O primeiro
quadro contém, respectivamente, em suas colunas: os pontos analisados; os valores
da solução analítica; seguidas das soluções numéricas de Euler, Heun na forma
direta, Heun na forma iterativa e Runge-Kutta de quarta ordem.
No segundo quadro será mostrada respectivamente: os pontos analisados; e
os erros relativos dos métodos numéricos citados na primeira tabela, em relação a
solução analítica. Por fim, será mostrado uma figura, contendo um gráfico que
apresenta a curva da solução analítica e das soluções numéricas, no intervalo de
pontos analisados em cada problema.

 Resultados do problema A1:

Quadro 17: Soluções analíticas e numéricas do problema A1

𝑥𝑖 𝑦𝑖 (𝐴𝑛𝑎𝑙í𝑡𝑖𝑐𝑜) 𝑦𝑖 (𝐸𝑢𝑙𝑒𝑟) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝑦𝑖 (𝑅𝐾)


0 2,00000 2,00000 2,00000 2,00000 2,00000
1 6,19463 5,00000 6,70108 6,36087 6,20104
2 14,84392 11,40216 16,31978 15,30224 14,86248
3 33,67717 25,51321 37,19925 34,74327 33,72135
4 75,33896 56,84931 83,33777 77,73508 75,43917
Fonte: Fonte própria (2016)

Quadro 18: Erro relativo das soluções numéricas do problema A1

𝑥𝑖 𝐸%(𝐸𝑢𝑙𝑒𝑟) 𝐸%(𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝐸%(𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝐸%(𝑅𝐾)


0 0,00000 0,00000 0,00000 0,00000
1 19,28495 8,17564 2,68352 0,10341
2 23,18631 9,94252 3,08756 0,12505
3 24,24182 10,45835 3,16564 0,13118
4 24,54195 10,61709 3,18044 0,13301
Fonte: Fonte própria (2016)
43

Figura 4: Curvas das soluções analíticas e numéricas do problema A1

PROBLEMA A1
Analítico Euler Heun direto Heun iterativo Runge-Kutta

90,0

80,0

70,0

60,0

50,0
EIXO Y

40,0

30,0

20,0

10,0

0,0
0 1 2 3 4
EIXO X

Fonte: Autoria própria (2016)

De acordo com os resultados obtidos nos testes, podemos observar que o


método de Runge-Kutta de quarta ordem clássico obteve maior êxito, pois apresentou
valores da solução numérica mais próximas da analítica e consequentemente, um erro
relativo menor, conforme visto nos quadros 17 e 18. Nessa análise também podemos
destacar o refinamento na precisão numérica do método de Heun na forma iterativa
em relação a forma direta.
A figura 4 nos mostra o comportamento das soluções numéricas e analítica
dentro do intervalo analisado no problema. Nesta figura podemos observar que os
métodos de Euler e Heun direto, fornecem uma solução que converge para uma
estimativa de erro cada vez maior, enquanto os métodos de Heun iterativo e Runge-
Kutta obtiveram uma aproximação melhor.
44

 Resultados do problema A2:

Quadro 19: Soluções analíticas e numéricas do problema A2

𝑥𝑖 𝑦𝑖 (𝐴𝑛𝑎𝑙í𝑡𝑖𝑐𝑜) 𝑦𝑖 (𝐸𝑢𝑙𝑒𝑟) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝑦𝑖 (𝑅𝐾)


0 0,50000 0,50000 0,50000 0,50000 0,50000
0,2 0,82930 0,80000 0,82600 0,82889 0,82929
0,4 1,21409 1,15200 1,20692 1,21309 1,21408
0,6 1,64894 1,55040 1,63724 1,64711 1,64892
0,8 2,12723 1,98848 2,11024 2,12424 2,12720
1 2,64086 2,45818 2,61769 2,63629 2,64082
1,2 3,17994 2,94981 3,14958 3,17325 3,17989
1,4 3,73240 3,45177 3,69369 3,72286 3,73234
1,6 4,28348 3,95013 4,23510 4,27016 4,28341
1,8 4,81518 4,42815 4,75562 4,79686 4,81509
2 5,30547 4,86578 5,23305 5,28061 5,30536
Fonte: Autoria própria (2016)

Quadro 20: Erro relativo das soluções numéricas do problema A2

𝑥𝑖 𝐸%(𝐸𝑢𝑙𝑒𝑟) 𝐸%(𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝐸%(𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝐸%(𝑅𝐾)


0 0,00000 0,00000 0,00000 0,00000
0,2 3,53294 0,39776 0,04941 0,00064
0,4 5,11393 0,59037 0,08247 0,00094
0,6 5,97599 0,70944 0,11129 0,00113
0,8 6,52255 0,79887 0,14054 0,00126
1 6,91756 0,87742 0,17290 0,00138
1,2 7,23694 0,95482 0,21053 0,00149
1,4 7,51866 1,03724 0,25568 0,00161
1,6 7,78235 1,12961 0,31108 0,00173
1,8 8,03756 1,23688 0,38037 0,00188
2 8,28743 1,36496 0,46865 0,00205
Fonte: Autoria própria (2016)
45

Figura 5: Curvas das soluções analíticas e numéricas do problema A2

PROBLEMA A2
Analítico Euler Heun direto Heun iterativo Runge-Kutta

6,0

5,0

4,0

3,0
Y

2,0

1,0

0,0
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2
X

Fonte: Autoria própria (2016)

Com vista os resultados obtidos nos testes, observamos, que o método de


Runge-Kutta alcançou maior precisão, na solução numérica, conforme visto no quadro
20, em relação aos demais métodos analisados. Destacamos também que o método
de Heun na forma iterativa foi mais preciso que na forma direta.
A figura 5 nos mostra o comportamento das soluções numéricas e analítica
dentro do intervalo analisado no problema. Podemos observar na figura que a curva
da solução numérica de Euler fornece uma solução que converge para uma estimativa
de erro cada vez maior em relação aos outros métodos.
46

 Resultados do problema A3:

Quadro 21: Soluções analíticas e numéricas do problema A3

𝑥𝑖 𝑦𝑖 (𝐴𝑛𝑎𝑙í𝑡𝑖𝑐𝑜) 𝑦𝑖 (𝐸𝑢𝑙𝑒𝑟) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝑦𝑖 (𝑅𝐾)


0 1,00000 1,00000 1,00000 1,00000 1,00000
0,2 1,22421 1,20000 1,22400 1,22667 1,22421
0,4 1,51547 1,44800 1,51408 1,52148 1,51547
0,6 1,90636 1,76960 1,90238 1,91737 1,90634
0,8 2,43662 2,19552 2,42810 2,45456 2,43660
1 3,15485 2,76262 3,13908 3,18224 3,15481
1,2 4,12035 3,51515 4,09368 4,16051 4,12029
1,4 5,40560 4,50618 5,36309 5,46285 5,40550
1,6 7,09910 5,79941 7,03417 7,17904 7,09895
1,8 9,30894 7,47130 9,21289 9,41882 9,30873
2 12,16717 9,61356 12,02852 12,31634 12,16686
Fonte: Autoria própria (2016)

Quadro 22: Erro relativo das soluções numéricas do problema A3

𝑥𝑖 𝐸%(𝐸𝑢𝑙𝑒𝑟) 𝐸%(𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝐸%(𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝐸%(𝑅𝐾)


0 0,00000 0,00000 0,00000 0,00000
0,2 1,97746 0,01701 0,20081 0,00013
0,4 4,45234 0,09199 0,39640 0,00036
0,6 7,17371 0,20871 0,57753 0,00064
0,8 9,89496 0,34975 0,73609 0,00096
1 12,43235 0,49963 0,86827 0,00128
1,2 14,68812 0,64727 0,97473 0,00158
1,4 16,63870 0,78636 1,05907 0,00186
1,6 18,30772 0,91457 1,12606 0,00210
1,8 19,74064 1,03185 1,18038 0,00233
2 20,98772 1,13950 1,22601 0,00253
Fonte: Autoria própria (2016)
47

Figura 6: Curvas das soluções analíticas e numéricas do problema A

PROBLEMA A3
14 Analítico Euler Heun direto Heun iterativo Runge-Kutta

12

10

8
Y

0
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2
X

Fonte: Autoria própria (2016)

Neste problema o método de Runge-Kutta, também se sobressaiu em relação


aos demais métodos, conforme observado no quadro 22. Entretanto neste problema
destacamos o fato que o método de Heun na forma direta obteve uma solução
numérica mais próxima da analítica, em comparativo com a forma iterativa. Desta
forma fica evidente que o número de iterações realizadas não refinou a solução.
A figura 6 nos mostra o comportamento das soluções numéricas e analítica
dentro do intervalo analisado no problema, onde podemos observar que a estimativa
de solução, pelo método de Euler, mais uma vez, converge para um erro relativo cada
vez maior. Enquanto os demais métodos obtiveram uma aproximação melhor.
48

 Resultados do problema A4:

Quadro 23: Soluções analíticas e numéricas do problema A4

𝑥𝑖 𝑦𝑖 (𝐴𝑛𝑎𝑙í𝑡𝑖𝑐𝑜) 𝑦𝑖 (𝐸𝑢𝑙𝑒𝑟) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝑦𝑖 (𝑅𝐾)


0 1,00000 1,00000 1,00000 1,00000 1,00000
0,1 1,11034 1,10000 1,11000 1,11053 1,11034
0,2 1,24281 1,22000 1,24205 1,24321 1,24281
0,3 1,39972 1,36200 1,39847 1,40039 1,39972
0,4 1,58365 1,52820 1,58180 1,58465 1,58365
0,5 1,79744 1,72102 1,79489 1,79882 1,79744
0,6 2,04424 1,94312 2,04086 2,04606 2,04424
0,7 2,32751 2,19743 2,32315 2,32986 2,32750
0,8 2,65108 2,48718 2,64558 2,65405 2,65108
0,9 3,01921 2,81590 3,01236 3,02290 3,01921
1 3,43656 3,18748 3,42816 3,44110 3,43656
Fonte: Autoria própria (2016)

Quadro 24: Erro relativo das soluções numéricas do problema A4

𝑥𝑖 𝐸%(𝐸𝑢𝑙𝑒𝑟) 𝐸%(𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝐸%(𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝐸%(𝑅𝐾)


0 0,00000 0,00000 0,00000 0,00000
0,1 0,93141 0,03079 0,01661 0,00002
0,2 1,83500 0,06079 0,03281 0,00003
0,3 2,69466 0,08947 0,04830 0,00004
0,4 3,50137 0,11652 0,06290 0,00006
0,5 4,25174 0,14181 0,07657 0,00007
0,6 4,94637 0,16535 0,08929 0,00008
0,7 5,58844 0,18724 0,10111 0,00009
0,8 6,18254 0,20761 0,11213 0,00010
0,9 6,73392 0,22664 0,12241 0,00011
1 7,24790 0,24449 0,13206 0,00012
Fonte: Autoria própria (2016)
49

Figura 7: Curvas das soluções analíticas e numéricas do problema A4

PROBLEMA 4
Analítico Euler Heun direto Heun iterativo Runge-Kutta

4,0

3,5

3,0

2,5

2,0
Y

1,5

1,0

0,5

0,0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
X

Fonte: Autoria própria (2016)

Neste problema, mais uma vez o método de Runge-Kutta obteve a melhor


precisão na sua solução numérica, com um erro relativo tendendo a aproximadamente
10−4 %. Em relação ao método de Heun, a maior precisão pode ser vista na sua forma
iterativa.
A figura 7 nos mostra o comportamento das soluções numéricas e analítica
dentro do intervalo analisado no problema. Nesta figura podemos observar que os
métodos de Euler, fornecem uma solução que converge para uma estimativa de erro
cada vez maior, ao passo que os outros métodos alcançaram, segundo a figura, uma
precisão melhor.
50

 Resultados do problema A5:

Quadro 25: Soluções analíticas e numéricas do problema A5

𝑥𝑖 𝑦𝑖 (𝐴𝑛𝑎𝑙í𝑡𝑖𝑐𝑜) 𝑦𝑖 (𝐸𝑢𝑙𝑒𝑟) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝑦𝑖 (𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝑦𝑖 (𝑅𝐾)


0 1,00000 1,00000 1,00000 1,00000 1,00000
0,05 1,27542 1,25000 1,27375 1,27639 1,27541
0,1 1,60904 1,54750 1,60498 1,60904 1,60903
0,15 2,01377 1,90200 2,00632 2,01377 2,01375
0,2 2,50533 2,32490 2,49321 2,51243 2,50531
0,25 3,10296 2,82988 3,08447 3,11380 3,10292
0,3 3,83014 3,43336 3,80305 3,84604 3,83009
0,35 4,71555 4,15503 4,67697 4,73821 4,71547
0,4 5,79423 5,01853 5,74040 5,82587 5,79412
0,45 7,10896 6,05224 7,03504 7,15245 7,10881
0,5 8,71200 7,29019 8,61175 8,77105 8,71181
Fonte: Autoria própria (2016)

Quadro 26: Erro relativo das soluções numéricas do problema A5

𝑥𝑖 𝐸%(𝐸𝑢𝑙𝑒𝑟) 𝐸%(𝐻𝑒𝑢𝑛 𝑑𝑖𝑟𝑒𝑡𝑜) 𝐸%(𝐻𝑒𝑢𝑛 𝑖𝑡𝑒𝑟𝑎𝑡𝑖𝑣𝑜) 𝐸%(𝑅𝐾)


0 0,00000 0,00000 0,00000 0,00000
0,05 1,99274 0,13061 0,07630 0,00026
0,1 3,82475 0,25275 0,14778 0,00050
0,15 5,55010 0,36978 0,21641 0,00073
0,2 7,20184 0,48377 0,28337 0,00095
0,25 8,80062 0,59600 0,34943 0,00117
0,3 10,35949 0,70730 0,41506 0,00139
0,35 11,88669 0,81816 0,48056 0,00161
0,4 13,38735 0,92892 0,54611 0,00183
0,45 14,86459 1,03975 0,61182 0,00205
0,5 16,32021 1,15076 0,67776 0,00227
Fonte: Autoria própria (2016)
51

Figura 8: Curvas das soluções analíticas e numéricas do problema A5

PROBLEMA A5
Analítico Euler Heun direto Heun iterativo Runge-Kutta

10,0

9,0

8,0

7,0

6,0

5,0
Y

4,0

3,0

2,0

1,0

0,0
0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5
X

Fonte: Autoria própria (2016)

O problema A5, nos mostra mais uma vez, o método de Runge-Kutta de quarta
ordem clássico, como a melhor aproximação da solução analítica, dentre os métodos
analisados, seguido pelo método de Heun iterativo, método de Heun direto e, por fim,
o método de Euler.
A figura 8 nos mostra o comportamento das soluções numéricas e analítica
dentro do intervalo analisado no problema. Nesta figura vemos que a curva
representando a solução numérica de Euler se distancia cada vez mais da solução
analítica, enquanto os outros métodos possuem um erro menor, confirmando os dados
do quadro 26.
52

4.1 COMENTÁRIO SOBRE OS RESULTADOS ENCONTRADOS

Comparando os resultados de todos os problemas, podemos constar que o


método de Runge-Kutta de quarta ordem clássico, em todos os problemas, obteve a
melhor aproximação, em sua solução numérica, portanto se mostrou como o método
mais eficiente para resolver problema de valor incial de primeira ordem.
Em relação ao método de Heun, com exceção do problema A1, A2, A4 e A5,
vimos que o método que obteve a segunda melhor aproximação, em sua solução
numérica, foi o método de Heun iterativo, seguido do método de Heun direto. No
problema A3, entretanto, vimos através dos resultados obtidos, que o método de Heun
na forma direta obteve uma precisão numérica maior que na forma iterativa. Já em
relação ao método de Euler, foi visto que este alcançou a precisão mais baixa, em
relação aos métodos analisados, em todos os problemas.
Os resultados obtidos, conforme foi mostrado, atenderam ao que se era
esperado, uma vez que foi analisado o erro de truncamento local de cada método. A
partir da análise na subseção 2.4.4, foi constatado que o método de Runge-Kutta de
quarta ordem, tendia a apresentar uma maior precisão numérica, seguido do método
de Heun, que tendia a apresentar uma estimativa de solução mais precisa do que o
método de Euler. Ambas as teses foram comprovadas com sucesso no experimento
computacional realizado.
53

5 CONSIDERAÇÕES FINAIS

Neste trabalho foi apresentado um estudo e implementação de 3 métodos


numéricos para resolução de problemas de valor inicial, que foram, o método de Euler,
o método de Heun (direto e iterativo) e o método de Runge-Kutta de quarta ordem
clássico, onde estes são classificados como de passo único. Foi discutida a
importância destes métodos, visto que não há o cálculo de derivadas e integrais em
suas formulações matemáticas, e possuem fácil implementação computacional.
O objetivo deste trabalho foi alcançado, uma vez que foi demostrado a
eficiência destes métodos a partir da resolução de 5 problemas. Vimos também, a
partir da análise dos resultados obtidos, que o método de Runge-Kutta apresentou
uma maior precisão numérica em todos os problemas analisados, como já era
esperado, devido ao estudo do erro de truncamento local.
Tendo em vista a abordagem matemática mais simples, os outros métodos
também alcançaram resultados razoáveis, destacando-se o método de Heun, que
mesmo com poucas modificações, na formulação matemática, em relação ao método
de Euler, apresentou uma estimativa de erro consideravelmente menor em todos os
problemas analisados.
Ainda sobre o método de Heun, neste trabalho, foi realizado o experimento
computacional deste método, tanto na forma direta, quanto iterativa. Foi constatado
nos problemas A1, A2, A4 e A5 que as iterações realizadas conseguiram aproximar
mais a solução numérica da solução analítica, entretanto, no problema A4 o método
direto obteve uma solução numérica mais precisa. Desta forma ficou evidente que o
método de Heun na forma iterativa não garante o refinamento da solução numérica
do método de Heun direto.

Sugestões para trabalhos futuros:

Neste trabalho foram utilizados métodos numéricos, classificados como de


passo único. Segue como sugestão de trabalhos futuros, analisar resoluções de
problemas de valor inicial, utilizando métodos de passo múltiplo, comparando a
eficiência numérica com os métodos demonstrados neste trabalho.
54

REFERÊNCIAS

BARROSO, Leônidas C. et al. Cálculo Numérico (com aplicações). 2. ed. São


Paulo: Habra, 1987.

BOYCE, William E; DIPRIMA, Richard C. Equação Diferenciais Elementares e


Problema de Valores de Contorno. 8.ed. Rio de Janeiro: LTC, 2006.

BRONSON, Richard; COSTA, Gabriel. Equações Diferenciais. 3. ed. São Paulo:


Bookman, 2006. (Coleção Schaum)

BURDEN, Richard L; FAIRES, Douglas. Análise Numérica. São Paulo: Cengage


Learning, 2013.

CAPRA, Fritjof. A teia da vida: uma nova compreensão científica dos sistemas vivos.
São Paulo: Cultrix, 2006.

CHAPRA, Steven C. Métodos Numéricos Aplicados com MATLAB para


Engenheiros e Cientistas. 3 ed., Porto Algre: Bookman, 2013.

FRANCO, Neide Bertoldi. Cálculo Numérico. São Paulo: Prentice Hall, 2006.

KREYSZIG, Erwin. Matemática Superior para Engenharia. 9. ed. Rio de Jeneiro:


LTC, 2008. 3v.

STEWART, James. Cálculo. 7. ed., São Paulo, Cengage Learning, 2013. 2v.

VALLE, Karine, Nayara F. Métodos numéricos de Euler e Runge-Kutta. 2012. 40f.


Monografia (Especialização em educação matemática) – Universidade Federal de
Minas Gerais, Belo Horizonte, 2012. Disponível em: <
http://www.mat.ufmg.br/~espec/Monografias_Noturna/Monografia_KarineNayara.pdf
>. Acesso em: 10 abr. 2016.
55

ZILL, Dennis G; CULLEN, Michael R. Equações Diferenciais 3 ed. São Paulo:


Pearson, 1993. 1v.

ZILL, Dennis G; CULLEN, Michael R. Equações Diferenciais 3. ed. São Paulo:


Pearson, 2001. 3v

Вам также может понравиться