ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf ·...

54
UNIVERSIDADE FEDERAL DO PARÁ. INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS. FACULDADE DE MATEMÁTICA. Giovanni Almeida Marques. ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS NUMÉRICOS PARA A SOLUÇÃO DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS. BELÉM - PA 2009

Transcript of ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf ·...

Page 1: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

UNIVERSIDADE FEDERAL DO PARÁ.

INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS.

FACULDADE DE MATEMÁTICA.

Giovanni Almeida Marques.

ESTUDO E IMPLEMENTAÇÃO DEMÉTODOS NUMÉRICOS PARA A

SOLUÇÃO DE EQUAÇÕES DIFERENCIAISORDINÁRIAS.

BELÉM - PA

2009

Page 2: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

UNIVERSIDADE FEDERAL DO PARÁ

INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS

FACULDADE DE MATEMÁTICA

Giovanni Almeida Marques.

ESTUDO E IMPLEMENTAÇÃO DEMÉTODOS NUMÉRICOS PARA A

SOLUÇÃO DE EQUAÇÕES DIFERENCIAISORDINÁRIAS.

Trabalho de Conclusão de Curso apresentado

como requisito parcial para obtenção do grau

de Bacharel em Matemática pela Faculdade

de Matemática da Universidade Federal do

Pará.

Orientador: Prof. Dr. Manoel Silvino Batalha de Araújo.

BELÉM - PA

2009

Page 3: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

CERTIFICADO DE AVALIAÇÃO

GIOVANNI ALMEIDA MARQUES

ESTUDO E IMPLEMENTAÇÃO DE MÉTODOSNUMÉRICOS PARA A SOLUÇÃO DE EQUAÇÕES

DIFERENCIAIS ORDINÁRIAS.

Trabalho de Conclusão de Curso apresentado como requisito parcial para

obtenção do grau de Bacharel em Matemática, pela Faculdade de Matemática

da Universidade Federal do Pará, julgado pela seguinte banca examinadora:

Orientador : Prof.Dr.Manoel Silvino Batalha de Araújo.

Faculdade de Matemática, UFPA

Prof.Dr.

Faculdade de Matemática, UFPA

Prof.Dr.

Faculdade de Matemática, UFPA

DATA DA AVALIAÇÃO: / /

CONCEITO:

Page 4: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Dedicatória

À Deus,pela força e sabedoria,assim

como a minha amada família pelo

incentivo e apoio por estudar

Matemática .

3

Page 5: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Agradecimentos

À Deus, pelo dom da vida e por estar ao meu lado em todos os momentos, me dando

força para superar as dificuldades, me concedendo sabedoria e iluminando sempre meus

caminhos.

Ao professor Silvino, pela amizade, seriedade, paciência e o conhecimento adquirido

mediante a orientação deste trabalho.

À minha família, principalmente a minha mãe Denize e meus avós maternos Carlos (em

memória) e Maria de Lourdes que sempre me apoiaram e acreditaram em meu potencial,

assim como respeitaram minha vontade de vencer todos os obstáculos para chegar neste

instante tão especial que estou vivenciando.

Aos meus colegas de trabalho, que a todo instante me transmitem uma força positiva.

À Darciane, pelo o amor, carinho e atenção doada, além de ser um modelo para mim

de estudo e dedicação.

Ao Léo César, que nos momentos mais difíceis da graduação estivemos juntos nesta

labuta.

À Universidade Federal do Pará por ter aberto portas e por estar me dando agora a

oportunidade de uma profissão.

À direção da Faculdade de Matemática por oferecer um curso de Bacharelado em

Matemática de grande renome em toda região amazônica, me capacitando ter um ótima

qualificação.

À Ana Calandrini e a todos os bolsistas da Faculdade de Matemática pela bela edu-

cação e recepção ao atender minhas solicitações e responder minhas dúvidas em relação ao

Page 6: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

funcionamento do curso.

À todos os colegas e amigos que caminharam comigo nesta importante etapa de minha

vida acadêmica.

À todos os professores da Faculdade de Matemática que contribuíram com a minha

formação ao longo destes 5 anos.

À todos que aqui não citados, mas que estiveram ao meu lado e torceram por mim. O

meu muito obrigado!

5

Page 7: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

"A Matemática, quando a compreendemos

bem, possui não somente a verdade, mas

também a suprema beleza."

(Bertrand Russel)

Page 8: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Resumo

O presente estudo e implementação de métodos numéricos para a solução de equações

diferenciais ordinárias(E.D.O) tem como objetivo encontrar em um problema de valor ini-

cial,através de procedimentos numéricos soluções aproximadas da solução exata,em um

dado intervalo real,de maneira que a função em estudo seja contínua no mesmo inter-

valo,cuja solução analítica em muitos casos se torna difícil ou inviável.Neste propósito,

trataremos dos métodos de passo simples , como o método de Euler,o método dos três

termos da série de Taylor e método de Runge-Kutta, assim como o método de passos

múltiplos, como o método de Adams e suas fórmulas inversas de diferenciação, como tam-

bém o controle de erros e estabilidade destes métodos e a utilização dos mesmos em sis-

temas de equações de primeira ordem. Nosso objeto de implementação será a linguagem

de programação C que nos permite interagir com alguns dos métodos em questão.

Palavras-chave: E.D.O, Métodos numéricos, Euler, Runge-Kutta.

Page 9: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Conteúdo

Introdução 1

1 Métodos de Passos Simples 3

1.1 O Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Erro de truncamento local e global no método de Euler . . . . . . . . . . . 11

1.3 Aplicação do Erro de Truncamento Acumulado no Método de Euler . . . . 15

1.4 Os Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.4.1 O Método Runge-Kutta de Primeira Ordem. . . . . . . . . . . . . . 21

1.4.2 O Método Runge-Kutta de Segunda Ordem. . . . . . . . . . . . . . 22

1.4.3 O Método Runge-Kutta de Terceira Ordem. . . . . . . . . . . . . . 26

1.4.4 O Método Runge-Kutta de Quarta Ordem. . . . . . . . . . . . . . . 27

2 Métodos de Passos Múltiplos 31

2.1 Método de Adams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.1.1 Método de Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . 32

2.1.2 Método de Adams-Moulton . . . . . . . . . . . . . . . . . . . . . . 38

A Algoritmos e Implementação dos Métodos numéricos 43

A.1 O Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Referências Bibliográficas 44

Page 10: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Introdução

O estudo e a implementação de métodos numéricos para a solução de equações diferen-

ciais ordinárias(EDO) é uma ferramenta de grande utilidade para a solução de muitos pro-

blemas, sejam em Matemática ou áreas afins, cujas as técnicas conhecidas de resolução de

equações diferenciais mediante soluções analíticas, como a integração ou os desenvolvimen-

tos em séries de potências não se aplicam ou são de utilização muito complicada ou inviável.

Desta forma, o emprego de métodos numéricos têm a finalidade de conseguir aproximações

numéricas muito acuradas em relação à solução exata de uma equação diferencial.

Estaremos interessados em resolver um problema de valor inicial (PVI) da forma

y′ = f(x, y); y(x0) = y0

em que x0 e y0 são valores conhecidos e f(x, y) é uma função estabelecida. Nosso obje-

tivo é resolver o problema acima utilizando técnicas numéricas, implementadas em uma

linguagem de programação para computadores. Neste trabalho será usado a linguagem de

programação C para a implementação dos métodos clássicos e a comparação da solução

aproximada com a solução exata de uma dada equação diferencial ordinária de primeira

ordem. Além dos programas em C serão utilizados os aplicativos gnuplot ou scilab, que

possibilitarão fazer a análise gráfica de comparação das soluções aproximada e exata , assim

como o controle dos erros e estabilidade de cada método numérico trabalhado.

No capítulo 1, trataremos dos métodos numéricos de passo simples, como o de Eu-

ler,Euler inverso,Euler aprimorado, assim como Runge-Kutta de ordem dois e quatro, com

seus respectivos algoritmos, tabelas de dados e programas estruturados em linguagem de

programação C

1

Page 11: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

No capítulo 2, trataremos do método de passos múltiplos, como o de Adams e fórmu-

las inversas de diferenciação,assim como a discussão de erros e estabilidade destes méto-

dos,podendo compará-los em relação aos resultados obtidos nos métodos de passo simples.

Temos no entanto ao longo dos capítulos, a preocupação de demonstrar algumas das

fórmulas matemáticas que regem os métodos numéricos,de forma a deixar mais claro e

coeso o próposito de nosso estudo.

A notação que será usada ao longo do trabalho são as seguintes. A solução exata

do problema de valor inicial dado pelas equações (1.1) e (1.2) será representada por φ ou

y = φ(x), deste modo, o valor da solução exata em xn é φ(xn). Para um dado procedimento

numérico, os símbolos yn e y′n = f(xn, yn) representarão os valores aproximados da solução

exata e de sua derivada no ponto xn. Obviamente, φ(x0) = y0, mas em geral, φ(xn) 6= yn,

para n ≥ 1. De modo análogo, φ′(x0) = y′0, mas em geral, φ′(xn) = f [xn, φ(xn)] não

é igual a y′n = f(xn, yn), para n ≥ 1. Além disso, em toda a discussão, utilizaremos

um espaçamento ou tamanho de passo uniforme h no eixo dos x. Assim, x1 = x0 + h,

x2 = x1 + h = x0 + 2h e, em geral xn = x0 + nh.

2

Page 12: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Capítulo 1

Métodos de Passos Simples

Neste capítulo, nosso objetivo é mostrar métodos que determinam aproximações numéri-

cas para a solução de um problema de valor inicial(P.V.I), no qual requer somente o con-

hecimento das condições iniciais x0 e y0, que será a nossa aproximação numérica inicial

yn, para determinar uma aproximação posterior yn+1 ao longo do intervalo [x0, x0 + nh]

estudado. A seguir, descrevemos dois métodos de passos simples, o método de Euler e o

método de Runge-Kutta. Dentro de cada método, é possível conseguir diferentes graus de

precisão dependendo do número de pontos precedentes que são utilizados em [x0, x0 + nh].

1.1 O Método de Euler

O método de Euler é o método numérico mais elementar de um passo para a resolução de

equações diferenciais ordinárias, porém computacionalmente pouco eficiente. Apesar de ele

ser raramete utilizado na prática, a simplicidade de sua derivação serve para exemplificar

as técnicas envolvidas na construção de alguns métodos mais avançados[4] .

Vamos nos concentrar nos problemas de valor inicial de equações diferenciais de primeira

ordem, constituídos pela equação diferencial

y′ = f(x, y) ; y(x0) = y0

3

Page 13: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Seguiremos o que diz o

Teorema 1.1 Sejam as funções f e fy =∂

∂yf(x, y) contínuas num certo retângulo α <

x < β; γ < y < δ que contém o ponto (x0, y0). Então num certo intervalo x0 − h < x <

x0 + h, contido em α < x < β há uma única solução y = φ(x) do problema de valor

inicial;

y′ = f(x, y)

y(x0) = y0

(1.1)

A primeira tentativa de resolução numérica de uma equação diferencial foi feita por

Euler, aproximadamente em 1768 [3]. Ele usou o que se chama hoje o método da reta

tangente, ou simplesmente método de Euler.

A fórmula do método de Euler pode ser obtida admitindo que f(x, y) em (1.1) seja

suficientemente derivável, e assim pode-se expandir a solução y = φ(x) em série de Taylor

em torno do ponto x = xn, para obter a solução em xn+1 = xn + h. Então,

φ(xn + h) = φ(xn) + φ′(xn)h + φ′′(xn)h2

2!+ φ′′′(xn)

h3

3!+ ... + φ(n)(xn)

hn

n!+ ... (1.2)

ou

φ(xn+1) = φ(xn) + f [xn, φ(xn)]h + φ′′(xn)h2

2!+ φ′′′(xn)

h3

3!+ ... + φ(n)(xn)

hn

n!+ ...

onde

φ′(xn) = f [xn, φ(xn)] (1.3)

e pela regra da cadeia, temos:

φ′′(xn) = fx[xn, φ(xn)] + fy[xn, φ(xn)]φ′(xn) (1.4)

= fx[xn, φ(xn)] + fy[xn, φ(xn)]f [xn, φ(xn)]

4

Page 14: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Se a série de Taylor for truncada depois dos dois primeiros termos, e se φ(xn+1) e φ(xn)

forem substituídas pelos valores aproximados yn+1 e yn, obtemos que:

φ(xn+1) = φ(xn) + f [xn, φ(xn)]h

yn+1 = yn + hf(xn, yn), (n = 0, 1, 2, · · · ) (1.5)

que é a fórmula numérica do método de Euler

Uma outra maneira de se chegar a fórmula recursiva (1.5) é escrever a equação (1.1) no

ponto x = xn na formadφ(xn)

dx= f [xn, φ(xn)] e aproximar por [φ(xn+1)− φ(xn)]/[xn+1 −

xn], e como h = xn+1 − xn, resultando em:

φ(xn+1)− φ(xn)

h∼= f [xn, φ(xn)] (1.6)

Substituindo φ(xn+1) e φ(xn) pelos seus valores aproximados yn+1 e yn, respectivamente,

obtemos novamente a fórmula de Euler

yn+1 = yn + hf(xn, yn)

Uma vez que x0 e y0 são conhecidos, a inclinação ou coeficiente angular da reta tangente

à solução em x = x0, especificamente φ′(x0) = f(x0, y0), também é conhecida. Deste modo,

podemos construir a reta tangente à solução em x0, e então obter um valor aproximado y1

de φ(x1) por meio de um deslocamento ao longo da reta tangente desde de x0 até x1. (fig.

1.1)

Figura 1.1: No método de Euler o valor aproximado da função f é obtido por valores na

reta tangente

Assim,

y1 = y0 + φ′(x0)(x1 − x0) = y0 + f(x0, y0)(x1 − x0) (1.7)

Uma vez que se tenha determinado y1, podemos calcular y′1 = f(x1, y1) e usar este valor

como o coeficiente angular para uma nova aproximação, ao nos deslocarmos de x1 até x2.

5

Page 15: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Obtendo assim,

y2 = y1 + y′1(x2 − x1) = y1 + f(x1, y1)(x2 − x1) (1.8)

Em geral, y1 6= φ(x1) e então, f(x1, y1) 6= f [x1, φ(x1)], que é o coeficiente angular da

solução exata em x1. Continuando desta maneira, usamos o valor de y calculado em cada

passo para determinar o coeficiente angular da aproximação do passo seguinte.

Agora consideremos o seguinte problema de valor inicial

y′ = x− 2xy

y(0) = 1(1.9)

A equação (1.9) é uma equação diferencial ordinária linear de primeira ordem, cuja

solução satisfaz a condição inicial y(0) = 1. Deste modo, obteremos a solução geral e

particular da equação diferencial proposta.

Solução analítica

Sabemos que uma equação diferencial ordinária linear de primeira ordem, tem a forma:

y′ + p(x)y = q(x) (1.10)

onde p(x) e q(x) são funções contínuas dadas, num certo intervalo α < x < β, segundo o

Teorema (1.1).

Assim da eq.(1.11), obtemos o fator integrante:

µ(x) = e∫

p(x)dx (1.11)

e a sua primitiva é:

y(x).e∫

p(x)dx =

∫q(x).e

∫p(x)dxdx + C (1.12)

A constante arbitrária C é usada para satisfazer a condição inicial estabelecida no problema.

Desta maneira, podemos escrever a equação (1.9) na forma da equação (1.10) acima.

y′ + 2xy = x (1.13)

6

Page 16: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

onde p(x) = 2x e q(x) = x são funções contínuas no intervalo [0, 1] escolhido.

O fator integrante é:

µ(x) = e∫

2xdx = ex2

(1.14)

e a sua primitiva é:

y(x).ex2

= (

∫x.ex2

dx + C) (1.15)

onde; ∫x.ex2

dx =1

2ex2

+ C (1.16)

utilizando-se a técnica de integração por mudança de variável.

Através da condição inicial (1.9), encontramos que c = 12

e assim,

y = φ(x) =1

2+

1

2e−x2

(1.17)

é a solução particular do problema dado.

Solução numérica

Uma vez que a solução analítica é conhecida, não precisamos de métodos numéricos

para resolver o problema de valor inicial (1.9). Mas por outro lado, a disponibilidade de

uma solução exata facilitará o cálculo da exatidão dos diversos procedimentos numéricos

que serão usados neste problema.

Tomemos como exemplo, a utilização da fórmula de Euler (1.5), com um incremento

h = 0, 1 e seguidamente para h = 0, 05; onde deseja-se calcular um valor aproximado da

solução y = φ(x) em x = 0, 2 para o problema de valor inicial (1.9).

Identificamos inicialmente y′n = f(xn, yn) = xn − 2xnyn, de modo que a fórmula de

Euler (1.5) se escreve como

yn+1 = yn + h.(xn − 2.x.nyn)

Então, para h = 0, 1, utilizando a fórmula do método de Euler, calculamos inicialmente,

y′0 = f(0, 1) = 0− 2.0.1 = 0

7

Page 17: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

então,

y1 = y0 + hf(0, 1) = 1 + (0, 1).0 = 1

Na etapa seguinte,

y2 = y1+hf(x1, y1) = 1+(0, 1)f(0, 1; 1) = 1+(0, 1)×(0, 1−2×0, 1×1) = 1+(0, 1)×(−0, 1) = 0, 99.

Isto é uma estimativa do valor de y( 0, 2 ) com x = 0, 2. Entretanto, tomando h = 0, 05,

tornam-se necessárias quatro iterações para chegarmos a x = 0, 2.

Se prosseguirmos com a aproximação do método de Euler, tomando valores menores

de incremento, como h = 0, 2, h = 0, 025 e h = 0, 001, encontraremos soluções que se

aproximam melhor da solução analítica. Porém, com o valor do incremento menor, será

necessário um maior número de iterações pelo método de Euler para obter soluções nos

pontos ao longo do intervalo [0, 1].

A figura 1.2 mostra uma comparação entre a solução analítica da equação 1.5 e os resul-

tados numéricos obtidos com a implementação do método de Euler, cujo código e algoritmo

encontran-se no apêndice A.1. Foram testados os incrementos h= 0,1 , ..... Observa-se que

a medida que o intervalo é refinado, a solução numérica se aproxima da solução analítica.

Entretanto, para valres de h acima de ..... não há uma variação significativa na solução

numérica, o que mostra que, para este problema o valor de h = ... é sufuciente. Na

tabela 1.1 são mostrados os resultados numéricos para diferentes valores do passo h. Estes

resultados estão também demonstrados na figura 1.2.

Graficamente temos, no intervalo [0,1], a solução exata do problema de valor inicial e as

soluções aproximadas com os valores de incremento da tabela acima obtidos pelo método

de Euler.(fig.1.2)

Figura 1.2: Podemos observar as soluções aproximadas em relação à exata.

Percebe-se que a aproximação numérica melhora quando o incremento diminui, pois à

8

Page 18: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Tabela 1.1: Aplicação do método de Euler,na resolução númerica de y′ = x−2xy, y(0) = 1,

com diferentes valores de incremento.x h = 0, 1 h = 0, 05 h = 0, 025 h = 0, 02 h = 0, 001 Sol. exata

0,00 1.0000 1.0000 1.0000 1.0000 1.0000 1,0000

0,10 0.9900 0.9975 0.9937 0.9940 0.9949 0,9950

0,20 0.9704 0.9851 0.9779 0.9784 0.9802 0,9804

0,30 0.9421 0.9635 0.9533 0.9540 0.9568 0,9570

0,40 0.9068 0.9339 0.9213 0.9222 0.9258 0,9261

0,50 0.8661 0.8978 0.8836 0.8848 0.8891 0,8894

0,60 0.8221 0.8571 0.8423 0.8436 0.8485 0,8488

0,70 0.7770 0.8138 0.7991 0.8005 0.8060 0,8063

0,80 0.7327 0.7700 0.7560 0.7576 0.7633 0,7636

0,90 0.6908 0.7272 0.7146 0.7162 0.7221 0,7224

1,00 0.6526 0.6871 0.6762 0.6777 0.6803 0,6839

medida que foi se reduzindo o incremento h pela metade do incremento anterior, como em

h = 0.1, h = 0.05 e h = 0.025, as curvas das soluções aproximadas tendem a se aproximar

da curva da solução analítica, porém a curva da solução aproximada em h = 0.001 foi a

que mais se aproximou da curva da solução analítica. Porém, não chegam a incidir com a

curva da solução analítica do problema inicial, devido haver uma diferença entre a solução

aproximada e a analítica.

Definimos o erro absoluto como

ErrAbs = |exata− aprox.|,

O erro relativo como

ErrRel =|exata− aprox.|

|exata|,

e o erro relativo percentual como

9

Page 19: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Tabela 1.2: Erro relativo no método de Euler, na resolução númerica de y′ = x−2xy, y(0) =

1.Erro

x h = 0, 1 h = 0, 05 h = 0, 025 h = 0, 02 h = 0, 001

0,00 0.0000 0.0000 0.0000 0.0000 0.0000

0,10 0.0050 0.0025 0.0012 0.0010 0.0000

0,20 0.0101 0.0050 0.0025 0.0020 0.0001

0,30 0.0154 0.0076 0.0038 0.0030 0.0001

0,40 0.0208 0.0102 0.0051 0.0040 0.0002

0,50 0.0261 0.0129 0.0064 0.0051 0.0002

0,60 0.0313 0.0154 0.0076 0.0061 0.0003

0,70 0.0362 0.0178 0.0088 0.0070 0.0003

0,80 0.0404 0.0199 0.0099 0.0079 0.0003

0,90 0.0437 0.0215 0.0107 0.0085 0.0004

1,00 0.0457 0.0222 0.0112 0.0090 0.0004

ErrRel(%) =|exata− aprox.|

|exata|× 100 =

erro absoluto

|exata|× 100

Na figura .... temos representação gráfica do erro relativo entros a solução analitica e a

soluçao numérica obtida com a implementação do método de Euler. Observa-se ... ... .. ...

Figura 1.3: Note que o erro relativo se aproxima de zero para h = 0, 001.

Deste modo, o erro relativo no método de Euler diminui à medida que o incremento

tomado diminui.

10

Page 20: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

1.2 Erro de truncamento local e global no método de

Euler

Avaliar os erros de um método numérico é uma tarefa importante para verificar a

convergência das soluções aproximadas em relação à exata. Desta forma, descrevamos os

diferentes tipos de erros.

Define-se o valor absoluto da diferença entre o valor exato φ(xn) e a valor aproximado

yn do problema de valor inicial (1.1), como o erro de truncamento local en na etapa

n e dada por:

en = |φ(xn)− yen| (1.18)

isto ocorre devido termos suposto que o processo de aproximação tenha começado somente

nesta etapa, isto é, yn−1 = φ(xn−1), e deste modo os dados são considerados exatos.

Agora, definimos o erro de truncamento global En na etapa n como o valor

absoluto da diferença entre a solução exata e a solução aproximada, e é dada por:

En = |φ(xn)− yn| (1.19)

isto já ocorre devido termos suposto que o processo de aproximação tenha começado

na etapa 0, isto é, o único valor na sequência x0, x1, ..., xn é x0. Em geral, este erro é difícil

de determinar; portanto, geralmente trataremos com o erro de truncamento local.

Desta forma, também podemos falar de erro de arrendondamento Rn, como sendo

a diferença de yn o valor aproximado pelo método numérico dado e Yn o valor realmente

calculado pelo método numérico dado por:

Rn = |yn − Yn| (1.20)

O valor absoluto do erro total no cálculo de φ(xn) é dado por:

|φ(xn)− Yn| = |φ(xn)− yn + yn − Yn| (1.21)

11

Page 21: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Utilizando-se a desigualdade triangular |a + b| ≤ |a| + |b| e aplicando na equação

(1.21),temos:

|φ(xn)− Yn| ≤ |φ(xn)− yn|+ |yn − Yn|

|φ(xn)− Yn| ≤ |En|+ |Rn| (1.22)

O erro total está assim limitado pela soma dos valores absolutos dos erros de trunca-

mento e dos erros de arrendondamento.

A ocorrência destes erros provém de duas causas:

(1) em cada passo, usamos uma fórmula aproximada para determinar yn+1

(2) os dados de entrada, em cada passo, não concordam, em geral, com a solução exata,

pois também, em geral, φ(xn) não é igual a yn. Se admitirmos que os dados de entrada são

corretos, o único erro, quando se avança um passo no processo, novamente ao uso de uma

fórmula aproximada.

Para determinarmos o erro de truncamento local no método de Euler, vamos admitir

que a solução y = φ(x), do problema de valor inicial (1.1), tenha derivada segunda contínua

no intervalo considerado. Para garantir esta hipótese, podemos admitir que f, fx, fy sejam

contínuas no intervalo mencionado. De fato, se f tiver estas propriedades, e se φ for solução

do problema de valor inicial (1.1), então:

φ′(x) = f [x, φ(x)],

e pela regra da cadeia, temos:

φ′′(x) = fx[x, φ(x)] + fy[x, φ(x)]φ′(x)

= fx[x, φ(x)] + fy[x, φ(x)]f [x, φ(x)])

Uma vez que o segundo membro desta equação é contínuo, φ′′ também é contínua.

12

Page 22: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Então, desenvolvendo φ em torno de xn, por uma série de taylor com resto, obtemos:

φ(xn + h) = φ(xn) + φ′(xn)h +1

2φ′′(xn)h2 (1.23)

onde xn é qualquer ponto no intervalo xn < xn < xn + h.

Subtraindo a equação (1.5) da equação (1.23), e observando que φ(xn + h) = φ(xn+1)

e φ′(xn) = f [xn, φ(xn)], temos que:

φ(xn+1)− yn+1 = [φ(xn)− yn] + h[f(xn, φ(xn))− f(xn, yn)] +1

2φ′′(xn)h2 (1.24)

Para calcular o erro de fórmula local, consideramos que os dados no enésimo passo estão

corretos, isto é, yn = φ(xn). Então, obtemos imediatamente da equação (1.24) que o erro

de truncamento local en+1 é:

en+1 = φ(xn+1)− yn+1 =1

2φ′′(xn)h2 (1.25)

Deste modo, o erro de truncamento local para o método de Euler é proporcional ao

quadrado do incremento h e o fator de proporcionalidade depende da segunda derivada da

solução φ. A expressão da equação (1.25) depende de n e em geral é diferente para cada

passo. Um limite uniforme para o erro, válido para um intervalo[a, b], é dado por:

|en| ≤Mh2

2(1.26)

onde M é o máximo de |φ′′(x)| no intervalo [a, b]. Como a equação (1.26) se baseia no

pior caso possível de |φ′′(x)|, pode ser que o erro local seja consideravelmente superestimado

em algumas regiôes do intervalo [a, b]. A equação (1.26) pode ser usada, entre outras coisas,

para escolher um incremento que resulte em um erro de truncamento local que não exceda

um determinado limite de tolerância. Por exemplo: se o erro de truncamento local não for

maior do que ε, a equação (1.26) revela que:

Mh2

2≤ ε =⇒ h ≤

√2ε/M (1.27)

13

Page 23: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

A dificuldade primária para com o uso das equações (1.24), (1.26) e (1.27) na estimativa

do erro de fórmula local está na obtenção de uma estimativa precisa de M ou |φ′′(x)|. Seja

como for, essas equações mostram que o erro de truncamento local é proporcional a h2

(note que M é independente de h); deste modo, reduzindo h por um fator de 12, reduzimos

o limite do erro por um fator de 14, e uma redução por um fator de 1

10em h reduz o limite

do erro por um fator de 1100

, (reduzimos h à metade, o erro é reduzido à quarta parte e

assim por diante).

Mais importante, que o erro de truncamento local é o erro de truncamento global En. No

entanto, uma estimativa do erro de truncamento local fornece uma melhor compreensão do

procedimento numérico e um modo de comparar a precisão dos diferentes procedimentos

numéricos. A análise para estimar En é mais difícil que no caso de en. Entretanto, con-

hecendo o erro de truncamento local podemos fazer uma estimativa intuitiva do erro de

truncamento global para um valor fixo x > x0 da seguinte forma. Suponha que damos n

passos para ir de x0 a x =x0 +nh. Em cada passo, o erro é no máximo de Mh2/2; assim, o

erro total nos n passos é no máximo de Mh2/2. Observando que, n = (x− x0)/h, descob-

rimos que o erro de truncamento global para o método de Euler, ao passarmos de x0 para

x, é dado no máximo por:

nMh2

2= (x− x0)

Mh

2(1.28)

Apesar deste argumento não ser totalmente correto por não levar em conta o efeito que

um erro cometido num passo causará nos próximos passos, Entretanto, é possível mostrar

que, em qualquer intervalo finito, o erro de truncamento global ao usarmos o método de

Euler, nunca é maior do que o produto de h por uma constante. Assim, ao irmos de x0 a um

ponto fixado x, o erro de truncamento global pode ser reduzido tomando-se um tamanho

de passo h menor. Se tomarmos h muito pequeno, isto é, se usarmos muitos passos para

irmos de x0 a x, o erro de truncamento acumulado poder-se-á tornar mais importante que

o erro de truncamento global. Na prática, devemos considerar ambas as fontes de erro e

devemos fazer uma escolha "ótima" de h de modo que nenhum dos erros seja muito grande.

14

Page 24: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

O método de Euler é considerado como um método de primeira ordem, porque o erro

de truncamento global é proporcional á primeira potência do tamanho do incremento.

1.3 Aplicação do Erro de Truncamento Acumulado no

Método de Euler

Vamos discutir o erro de truncamento acumulado associado ao método de Euler na

resolução do problema de valor inicial

y′ = f(x, y), y(x0) = y0.

Admitindo que as funções f e fy sejam contínuas numa região R do plano xy que inclui

o ponto (x0, y0), pode-se mostrar que existe uma constante L tal que

|f(x, y)− f(x, y)| < L|y − y|

onde (x, y) e (x, y) são dois pontos quaisquer em R com a mesma coordenada x. Além

disso, vamos admitir que fx seja contínua, de modo que a solução φ tem uma derivada

segunda contínua.

(a) Utilizando a equação (1.24), mostrar que

|En+1| ≤ |En|+ h|f [xn, φ(xn)]− f(xn, yn)|+ 1

2h2|φ′′(xn)| ≤ α|En|+ βh2 (1.29)

onde α = 1 + hL e β = max|φ′′(x)|/2 em x0 ≤ x ≤ xn.

(b) Admitindo, sem provas, que se E0 = 0, e que se |En| obedecer a equação(1.29),

então|En| ≤βh2(αn − 1)

(α− 1), para α 6= 1 Mostrar que;

|En| ≤(1− hL)n − 1

Lβh (1.30)

15

Page 25: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

A equação (1.30) dá um limite para |En| em termos de h, L, n e β. Observar que para um

h fixo, este limite de erro cresce quando n cresce; isto é, o limite de erro aumenta quando

aumenta a distância ao ponto de partida x0.

(c) Mostrar que 1 + hL)n ≤ enhL e então que;

|En| ≤enhL − 1

Lβh =

e(xn−x0)L − 1

Lβh (1.31)

Para um ponto fixo xn = x0 + nh, (isto é, nh é constante e h = (xn − x0)/n este limite

de erro tem a forma do produto de uma constante por h e se aproxima de zero quando

h → 0.) Observar também que quando nhL = (xn − x0)L for pequeno, o segundo membro

da equação anterior é aproximadamente nh2β = (xn − x0)βh, que foi obtido na equação

(1.28) por um raciocínio intuitivo.

Solução:

(a) Da definição de erro de truncamento acumulado, podemos escrever

En+1 = φ(xn+1)− yn+1,

Deste modo,

|En+1| = |φ(xn+1)− yn+1| = |φ(xn+h)− yn+1| (1.32)

Pela (1.23), temos:

φ(xn + h) = φ(xn) + φ′(xn)h +1

2φ′′(xn)h2

e pela eq.(1.5) temos

yn+1 = yn + hf(xn, yn)

Assim; substituindo a (1.23) e (1.5) em (1.32), temos:

|En+1| = |φ(xn) + φ′(xn)h +1

2φ′′(xn)h2 − [yn + hf(xn, yn)]| (1.33)

16

Page 26: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Substituindo φ′(xn) por f [xn, φ(xn)] na equação anterior;

|En+1| = |φ(xn) + f [xn, φ(xn)]h +1

2φ′′(xn)h2 − [yn + hf(xn, yn)]|

= |φ(xn)− yn + h[f [xn, φ(xn)]− f(xn, yn)] +1

2φ′′(xn)h2| (1.34)

Aplicando a desigualdade triangular, têm-se

|En+1| ≤ |φ(xn)− yn|+ |h[f [xn, φ(xn)]− f(xn, yn)]|+ |12φ′′(xn)h2|

|En+1| ≤ |φ(xn)− yn|+ |h[f [xn, φ(xn)]− f(xn, yn)]|+ |12h2||φ′′(xn)|

|En+1| ≤ |En|+ h|[f [xn, φ(xn)]− f(xn, yn)]|+ 1

2h2|φ′′(xn)| (1.35)

Mas; como φ′′ é contínua e β = max|φ′′(xn)/2| em x0 < xn < xn, então da eq.(1.31)

podemos afirmar que;

|[f [xn, φ(xn)]− f(xn, yn)]| < L|φ(xn)− yn|,

onde é a nossa hipótese que ela seja uma função lipschitziana quando existe uma con-

stante L>0(chamada constante de Lipschitz da função f) tal que

|f(x, y)− f(x, y)| < L|y − y|

seja quais forem (x, y) e (x, y) dois pontos quaisquer em R

Temos, φ(xn) ∼= f [xn, φ(xn)], assim como, yn∼= f(xn, yn) podemos obter:

|En+1| ≤ |En|+ h|[f [xn, φ(xn)]− f(xn, yn)]|+ 1

2h2|φ′′(xn)|

|En+1| ≤ |En|+ hL|φ(xn)− yn|+1

2h2|φ′′(xn)|

|En+1| ≤ |En|+ hL|En|+1

2h2|φ′′(xn)|

17

Page 27: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

|En+1| ≤ (1 + hL)|En|+1

2h2|φ′′(xn)|

|En+1| ≤ α|En|+1

2h2|φ′′(xn)|

Logo;

|En+1| ≤ |En|+ h|[f [xn, φ(xn)]− f(xn, yn)]|+ 1

2h2|φ′′(xn)| ≤ α|En|+ βh2

(b) Temos que, α = 1 + hL ⇒ hL = α− 1

Assim, da equação |En| ≤βh2(αn − 1)

(α− 1), onde substituindo o valor de hL obtemos:

|En| ≤βh2(αn − 1)

hL

|En| ≤βh(αn − 1)

L

|En| ≤(1 + hL)n − 1

Lβh

Utilizando, o fato de que é válido a desigualdade (1 + x) ≤ ex,∀x ∈ R e a expansão de

ex = 1 + (x− 0)e0 + (x− 0)2 ex/2!, segundo a série de Taylor,com x0 < x < xn;

Apartir daí, podemos também afirmar que (1 + x)n < (ex)n e tomando x = hL; temos:

(1 + hL)n ≤ (ehL)n

Assim,

ehL = 1 + (hL− 0)e0 + (hL− 0)2 ex/2! ≥ 1 + hL ⇒ 1 + hL ≤ ehL

Então;

(1 + hL)n ≤ (ehL)n, ∀hL > 0

Assim; mostraremos por indução matemática que

18

Page 28: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

|En| ≤βh2(αn − 1)

(α− 1)

Sabemos que; E0 = 0 e |En+1| ≤ α|En|+ βh2

Tomando n=0; verifiquemos a equação acima:

|E1| ≤ α|E0|+ βh2

|E1| ≤ βh2 = βh2(α− 1)/α− 1

Tomando n=1; verifiquemos a equação acima:

|E2| ≤ α|E1|+ βh2 ≤ αβh2 + βh2 =

= βh2(α + 1) = βh2(α + 1)(α− 1)/(α− 1) = βh2(α2 − 1)/(α− 1)

Supondo-se, que vale para n = k − 1, temos:

|Ek| ≤ α|Ek−1|+ βh2 ≤ βh2(αk − 1)/(α− 1)

Por hipótese, tomemos para n=k;

|Ek+1| ≤ α|Ek|+ βh2 ≤ αβh2(αk − 1)/(α− 1) + βh2 =

= βh2[(αk+1 − α)/(α− 1)] + 1

= βh2(αk+1 − α + α− 1)/(α− 1)

= βh2(αk+1 − 1)/(α− 1)

Logo, o fato de

|Ek+1| ≤ βh2(αk+1 − 1)/(α− 1) é verdadeiro

Assim;

|En| ≤ βh2(αn − 1)/(α− 1) também é verdadeiro.

(c) Mostrar que (1 + hL)n ≤ enhL, e então que

19

Page 29: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

|En| ≤ [enhL − 1/L]βh = [e(xn−x0)L − 1/L]βh

sabemos do item anterior que;

|En| ≤(1 + hL)n − 1

Lβh

Utilizando, o fato de (1 + hL)n ≤ enhL, temos que:

|En| ≤ (1+hL)n−1L

βh ≤ [e(nh)L − 1/L]βh

Porém, xn = x0 + nh ⇒ nh = xn − x0

Assim, substituindo o valor de nh na equação acima, obtemos:

|En| ≤ (1+hL)n−1L

βh ≤ [e(xn−x0)L − 1/L]βh

Quando; h → 0, temos que |En| → 0.

1.4 Os Métodos de Runge-Kutta

O uso dos métodos de Runge-Kutta na resolução de problemas de valor inicial produzem

resultados equivalentes aos obtidos caso a série de Taylor com termos de ordem maior ou

igual a dois fosse usada. A vantagem de sua utilização em relação à série de Taylor está

no fato de que não será necessário o cálculo de derivadas de f(x, y).

Por simplicidade, daqui por diante abrevia-se Runge-Kutta por RK. Todos os métodos

de RK de R estágios têm algoritmo na forma

yn+1 − yn = hφ(xn, yn, h), com k ≥ 0 (1.36)

onde a função φ representa uma aproximação para f(x, y) no intervalo [xn, xn+1].

20

Page 30: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Temos que

φ(x, y, h) =R∑

r=1

crkr (1.37)

k1 = f(x, y)

kr = f

(x + arh, y + h

r−1∑s=1

brsks

), com r = 2, 3, · · · , R

ar =r−1∑s=1

brs, com r = 2, 3, · · · , R

e a função f do método de Taylor calculada no ponto (x, y)

φT (x, y, h) = f(x, y) +h

2!f ′(x, y) +

h2

3!f ′′(x, y) +

h3

4!f ′′′(x, y) +

h4

5!f (iv)(x, y) +

h5

6!f (v)(x, y)+

+ · · ·+ hq−1

q!f (q−1)(x, y) (1.38)

Para obter métodos de RK, devemos determinar as constantes cr, ar e brs, compara-

ndo a expansão da função φ(x, y, h) definida por (1.37) em potências de h, com a função

φT (x, y, h) do método de Taylor, no sentido de se obter métodos de determinda ordem.

Veremos a seguir como fazer isto.

1.4.1 O Método Runge-Kutta de Primeira Ordem.

O método de Euler, segundo a equação (1.5) é um método de série de Taylor de primeira

ordem, onde podemos perceber que é um Método de Runge-Kutta de Primeira Ordem. Ele

se caracteriza por ter um estágio e possui ordem um.

Isto porque tomamos em (1.37), R = 1.

Onde obtemos:

φ(x, y, h) = c1k1, (1.39)

com k1 = f(x, y)

21

Page 31: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Tomando c1 = 1 em (1.39). Portanto:

yn+1 = yn + hf(xn, yn)

1.4.2 O Método Runge-Kutta de Segunda Ordem.

Consideremos, inicialmente, que desejamos obter métodos de Runge-Kutta de dois es-

tágios. Devemos tomar, em (1.37), R = 2. Fazendo isto, obtemos:

φ(x, y, h) = c1k1 + c2k2, (1.40)

k1 = f(x, y),

k2 = f(x + a2h, y + hb21k1),

a2 = b21,

Substituindo os valores de b21 e k1 em k2, segue que:

k2 = f(x + a2h, y + ha2f).

Desenvolvendo k2 em série de Taylor em torno do ponto (x, y), obtemos:

k2 = f(x, y) + (a2h)fx(x, y) + (ha2f)fy(x, y) +(a2h)2

2!fxx(x, y) + (a2h)(ha2f)fxy(x, y)+

+(ha2f)2

2!fyy(x, y) + O(h3). (1.41)

Substituindo o valor de k1 por f e k2 pela expressão (1.41), em (1.40), segue que:

φ(x, y, h) = c1f+c2

[f + (a2h)fx + (a2hf)fy +

(a2h)2

2!fxx + (a2h)2ffxy +

(a2hf)2

2!fyy + O(h3)

]

φ(x, y, h) = (c1 + c2)f + c2a2h(fx + fyf) +(a2h)2

2!c2[fxx + 2ffxy + fyyf

2] + O(h3)

22

Page 32: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

onde agrupamos os termos de mesma potência de h. Observe que, na expressão anterior,

f e suas derivadas estão calculadas em (x, y). Denotando por:

F = fx + fyf e G = fxx + 2ffxy + fyyf2 (1.42)

obtemos:

φ(x, y, h) = (c1 + c2)f + c2a2hF +(a2h)2

2!c2G + O(h3) (1.43)

Note que podemos escrever a função φT (x, y, h) em (1.38), com q = 3, como:

φT (x, y, h) = f(x, y) +h

2!f ′(x, y) +

h2

3!f ′′(x, y) + O(h3)

= f +h

2!(fx + fyf) +

h2

3!(fxx + 2fxyf + fyyf

2 + fxfy + f 2y f) + O(h3)

= f +h

2!(fx + fyf) +

h2

3![fxx + 2fxyf + fyyf

2 + fy(fx + fyf)] + O(h3)

Usando (1.42), obtemos:

φT (x, y, h) = f +h

2F +

h2

3![G + fyF ] + O(h3) (1.44)

Para determinarmos métodos de Runge-Kutta de 2 estágios e ordem máxima, compara-

mos (1.43) com (1.44), obtendo:

c1 + c2 = 1

c2a2 = 12

(1.45)

Resolvendo este sistema, iremos obter métodos de Runge-Kutta de ordem 2, pois em

(1.36) temos hφ(x, y, h) e portanto, estamos impondo igualdade até termos da O(h2). Além

disso, como o sistema(1.45) possui duas equações e três incógnitas, ele possui infinitas

soluções e, portanto, podemos afirmar que existem infinitos métodos de Runge-Kutta de 2

estágios e ordem 2.

23

Page 33: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Assim atribuindo um valor para uma das constantes em (1.45), obtemos as outras duas

em função desta. Os Métodos de Runge-Kutta de 2 estágios e ordem 2 mais usados

são obtidos a seguir.

a) Tomando em (1.45), c1 = 1 e c2 = 12. Portanto:

yn+1 = yn + hk2, onde :

k1 = f(xn, yn) (1.46)

k2 = f

(xn +

1

2h, yn +

1

2hk1

)que é conhecido como Método de Euler Modificado., ou simplesmente fórmula do ponto

médio[4].

b) Tomando em (1.45), c1 = 12, c2 = 1

2e a2 = 1 Portanto:

yn+1 = yn +h

2(k1 + k2), onde :

k1 = f(xn, yn) (1.47)

k2 = f(xn + h, yn + hk1)

que é conhecido como Método de Euler Melhorado ou simplesmente fórmula de Heun[4].

Uma fórmula aproximada melhor pode ser obtida se o segundo membro na equação (1.6)

for aproximado com maior exatidão. Uma forma de conseguir esta melhoria é a de substitui-

lo pela média dos seus valores nas duas extremidades do intervalo de integração, ou seja,

por {f [xn, φ(xn)]+f [xn+1, φ(xn+1)]}/2. Além disso, se substituirmos φ(xn) e φ(xn+1) pelos

respectivos valores aproximados yn e yn+1, obteremos, da equação (1.6),

yn+1 = yn +f(xn, yn) + f(xn+1, yn+1)

2× h (1.48)

Uma vez que a incógnita yn+1 aparece como um dos argumentos de f no segundo

membro da equação (1.48), é muitas vezes bastante difícil resolver esta equação em yn+1.

Esta dificuldade pode ser superada pela substituição, no segundo membro da equação

(1.48), de yn+1 pelo valor obtido mediante a fórmula de Euler (1.5).

24

Page 34: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Assim,

yn+1 = yn +f(xn, yn) + f [xn + h, yn + hf(xn, yn)]

2× h

yn+1 = yn +fn + f(xn + h, yn + hfn)

2× h (1.49)

onde xn+1 foi substituído por xn + h

Os valores f(xn, yn) e f(xn+1, yn+1) são aproximações do coeficiente angular da curva

em (xn, y(xn)) e (xn+1, y(xn+1)) e consequentemente, o quocientef(xn, yn) + f(xn+1, y

∗n+1)

2em (1.48) pode ser interpretado como um coeficiente angular médio no intervalo entre xn

e xn+1.

Na figura 1.4 mostramos o caso em que n = 0. Notemos que f(x0, y0) e f(x1, y∗1)

são coeficientes angulares das retas indicadas que passam pelos pontos (x0, y0) e (x1, y∗1),

respectivamente. Tomando uma média desses coeficientes angulares, obtemos o coeficiente

angular das retas tracejadas. Em lugar de avançarmos ao longo da reta de coeficiente

angular m = f(x0, y0) até o ponto com ordenada y∗1 obtido pelo método usual de Euler,

avançamos ao longo da reta por (x0, y0) com coeficiente angular mmed até atingirmos x1.

Pela observação da figura (1.4), parece plausível que y1 constitua uma melhora em relação

a y∗1. De fato, veremos que o método de Euler melhorado é mais preciso do que o método

de Euler.

Podemos também dizer que o valor de

y∗1 = y0 + hf(x0, y0)

prediz um valor de y(x1), enquanto que

y = y +f(x0, y0) + f(x1, y

∗1)

2× h

corrige essa estimativa

Outro fato importante, é que para obtermos métodos de Runge-Kutta de 2 estágios e

ordem 3, é necessário que além de (1.45), tenhamos:

25

Page 35: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Figura 1.4: O Método de Euler melhorado

a22c2

2G =

1

6(G + fyF )

=⇒(

a22c2

2− 1

6

)G =

1

6fyF

A igualdade acima só pode ser satisfeita impondo-se severas condições sobre a função

f e, portanto, não existem métodos de Runge-Kutta de 2 estágios e ordem 3.

1.4.3 O Método Runge-Kutta de Terceira Ordem.

Se desejarmos obter métodos de Runge-Kutta de três estágios, devemos desenvolver

também k3 em série de Taylor, pois os métodos de Runge-Kutta de 3 estágios são obtidos

a partir de:

yn+1 = yn + h(c1k1 + c2k2 + c3k3)

onde k1 e k2 possuem as mesmas expressões do método de dois estágios e

k3 = f(x + ha3, y + hb31k1 + hb32k2)

= f(x + ha3, y + h(a3 − b32)k1 + hb32k2)

desde que a3 = b31 + b32. Devemos então agrupar os termos semelhantes e compará-los

com a φT (x, y, h). Como pode ser observado na seção anterior, a obtenção de métodos de

Runge-Kutta envolve manipulações tediosas, e portanto serão omitidas. Daremos apenas

o sistema obtido quando se compara φ com φT para se obter métodos de Runge-Kutta de

3 estágios e ordem máxima. Assim:

26

Page 36: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

c1 + c2 + c3 = 1

c2a2 + c3a3 = 12

c3b32a2 = 16

c2a22 + c3a

23 = 1

3

(1.50)

que é um sistema de quatro equações e seis incógnitas, onde comparamos os termos de

φ e φT até O(h3). Atribuindo valores a duas das variáveis, obtemos as outras quatro em

função destas.

O Método de Runge-Kutta de 3 estágios e ordem 3 mais popular é obtido a

seguir.

Tomando em (1.50), c2 = 23, c3 = 1

6, calcula-se c1 = 1

6, a2 = 1

2, a3 = 1 e b32 = 2, que

fornece o seguinte algoritmo para um método de RK de terceira ordem:

yn+1 = yn +h

6(k1 + 4k2 + k3)

onde:

k1 = f(xn, yn)

k2 = f

(xn +

1

2h, yn +

1

2hk1

)(1.51)

k3 = f(xn + h, yn + 2hk2 − hk1)

1.4.4 O Método Runge-Kutta de Quarta Ordem.

Agora , discutiremos um método também formulado originalmente por Runge e Kutta.

Este método é hoje oficialmente conhecido como método clássico Runge-Kutta de quarta

ordem e quatro estágios, mas muitos autores o chamam simplesmente de método de Runge-

Kutta, pode ser o mais usado, onde possui uma combinação de simplicidade, alta precisão

e economia. Neste método, o erro de truncamento local é proporcional a h5, isto devido a

sua fórmula clássica ser equivalente a uma fórmula de Taylor de cinco termos:

yn+1 = yn + hy′n +h2

2!y′′n +

h3

3!y′′′n +

h4

4!y(iv)

n (1.52)

27

Page 37: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Assim, como desejamos obter métodos de Runge-Kutta de quatro estágios e ordem

máxima, devemos desenvolver também k4 em série de Taylor, sendo que k1, k2 e k3 possuem

as mesmas expressões do método de dois e três estágios e são obtidos apartir de (1.37):

yn+1 = yn + h(c1k1 + c2k2 + c3k3 + c4k4)

onde

φ(x, y, h) = c1k1 + c2k2 + c3k3 + c4k4

e

k4 = f(x + a4h, y + hb41k1 + hb42k2 + hb43k3)

desde que a4 = b41 + b42 + b43. Devemos então agrupar os termos semelhantes na série

de Taylor e compará-los com a φT (x, y, h) em (1.38). Assim obtemos o sistema quando

se compara φ com φT , onde temos 8 equações e 10 incógnitas, em que b21 = a2; b31 =

a3 − b32; b41 = a4 − b42b43,como fizemos para o método RK2.

c1 + c2 + c3 + c4 = 1

c2a2 + c3a3 + c4a4 = 12

c2a22 + c3a

23 + c4a

24 = 1

3

c2a32 + c3a

33 + c4a

34 = 1

4

a2b32c3 + (a2b42 + a3b43)c4 = 16

a2a3b32c3 + a4(a2b42 + a3b43)c4 = 18

a22b32c3 + (a2

2b42 + a23b43)c4 = 1

12

a2b32b43c4 = 124

(1.53)

Cada solução deste sistema define um método de Runge-Kutta com ordem 4. Portanto,

existem muitos métodos de Runge-Kutta de 4 estágios e ordem 4, mais trataremos somente

de um caso particular, sendo este o mais utilizado. Assim, temos:

28

Page 38: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

yn+1 = yn +h

6(k1 + 2(k2 + k3) + k4) (1.54)

onde;

k1 = f(xn, yn) (1.55)

k2 = f(xn +1

2h, yn +

1

2hk1)

k3 = f(xn +1

2h, yn +

1

2hk2)

k4 = f(xn + h, yn + hk3)

Desta forma, esta fórmula de Runge-Kutta envolve uma média ponderada dos valores

de f(x, y) tomados em diferentes pontos do intervalo xn ≤ x ≤ xn+1.

Podemos interpretar a soma (k1 +2k2 +2k3 +k4)/6 como um coeficiente angular médio.

Note que k1 é o coeficiente angular na extremidade esquerda do intervalo, k2 é o coeficiente

angular no ponto médio estimado pela fórmula de Euler para ir de xn até xn + h/2,k3

é uma segunda aproximação do coeficiente angular no ponto médio e, finalmente, k4 é o

coeficiente angular em xn +h estimado pela fórmula de Euler e pelo coeficiente angular k3,

indo de xn até xn + h.

Note que é duas ordens de grandeza mais preciso que o método de Euler melhorado e

três ordens de grandeza mais preciso que o método de Euler.

Temos também, que a equação (1.52) difere por termos no desenvolvimento de Taylor

da solução φ por termos que são proporcionais a h5, a álgebra envolvida é bastante extensa.

Deste modo, o erro de truncamento local ao usarmos a equação (1.52) é proporcional a h5

e que, para um intervalo finito, o erro de truncamento global é, no máximo, igual a uma

constante vezes h4.

Note também que, se f não depende de y, então

k1 = f(xn), k2 = k3 = f(xn, h/2), k4 = f(xn + h) (1.56)

e a equação(1.54) é idêntica àquela obtida usando-se a regra de Simpson para avaliar a

integral de y′ = f(x):

29

Page 39: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

∫ yn+1

yn

dy =

∫ xn+h

xn

f(x) dx

ou

yn+1 − yn =h

6[f(xn) + 4f(xn + h/2) + f(xn + h)]

O fato de a regra de Simpson possuir um erro proporcional a h5 está de acordo com o

comentário anterior sobre o erro de truncamento de Runge-Kutta de ordem 4.

30

Page 40: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Capítulo 2

Métodos de Passos Múltiplos

O foco deste capítulo é mostrar métodos que se utilizam das aproximações numéricas

obtidas em um dos métodos de passos simples, para se determinar a aproximação seguinte

ao longo do intervalo [x0, x0 + nh] estudado, onde estes métodos são ditos não-iniciáveis,

o que dificulta o seu uso, mas que que será compensada por possuir uma maior precisão

à solução analítica do problema de valor inicial (1.1), quando comparados aos métodos

numéricos estudados anteriormente ao longo deste trabalho. Dizemos que um método de

passo múltiplo é de passo s se a cada passo ele usar s valores, ou seja, a aproximação yn+1 é

calculada usando-se valores yn, yn−1, yn−2, · · · , yn−(s+1), isto é, onde se faz necessário dados

de outros pontos anteriores, além do ponto prévio a se determinar.

Um método de Passo Múltiplo é definido pela seguinte relação:

k∑j=0

αjyn+j = hk∑

j=0

βjfn+j (2.1)

onde αj e βj são constantes arbitrárias independentes de n, com αk 6= 0 e α0 e β0 não

ambos nulos.

Dizemos que o método (2.1) é explícito se βk = 0, e implícito se βk 6= 0

31

Page 41: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

2.1 Método de Adams

Este método é obtido pela solução do problema de valor inicial (1.1), através da técnica

de integração numérica.

Considerando y = φ(x) solução de (1.1) e φ′(x) = f [x, φ(x)], desta forma, integrando-se

de xn a xn+1, obtemos:

∫ xn+1

xn

φ′(x) dt =

∫ xn+1

xn

f [x, φ(x)] dx

Aplicando o 1◦ Teorema Fundamental do Cálculo no 1◦ membro da igualdade,temos

que:

φ(x) |xn+1xn

=

∫ xn+1

xn

f [x, φ(x)] dx

φ(xn+1)− φ(xn) =

∫ xn+1

xn

f [x, φ(x)] dx (2.2)

φ(xn+1) = φ(xn) +

∫ xn+1

xn

f [x, φ(x)] dx

A idéia do método de Adams é aproximar φ′(x) por um polinômio Pk(x) de grau k− 1

e usar o polinômio para determinar a integral do lado direito de (2.2)

A seguir, descrevemos dois métodos de passos múltiplos, o método de Adams-Bashforth

e o método de Adams-Moulton, onde esses são determinados, conforme os coeficientes de

Pk(x), dependendo do número de pontos precedentes que são utilizados em [x0, x0 + nh].

2.1.1 Método de Adams-Bashforth

Método de Adams-Bashforth de primeira ordem

Para que possamos obter a fórmula de Adams-Bashforth de primeira ordem,utilizamos

o polinômio P1(x) = fn de grau zero, como uma aproximação de φ′ na equação (2.2) ,que

tem a forma P1(x) = Bx0 = B. Utilizemos os pontos (xn, yn) e (xn−1, yn−1), resultando

que P1(xn) = f(xn, yn) e P1(xn−1) = f(xn−1, yn−1).

32

Page 42: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Veja que estamos usando a notação, fj para f(xj, yj) para qualquer inteiro j e B, onde

estes deverão satisfazer às equações:

B = fn (2.3)

B = fn−1

Substituindo φ′(x) por P1(x) e calculando a integral da equação (2.2), encontramos:

φ(xn+1 − φ(xn) =

∫ xn+1

xn

B dx (2.4)

φ(xn+1 − φ(xn) = B[x]xn+1xn

φ(xn+1 − φ(xn) = B(xn+1 − xn)

mas, temos que B = fn e h = xn+1 − xn

Então,

φ(xn+1 − φ(xn) = hfn

Porém,substituindo φ(xn+1) e φ(xn) por yn+1 e yn, tem-se que :

yn+1 − yn = hfn

yn+1 = yn + hfn

Assim, obtemos a fórmula numérica do método de Adams-Bashforth de primeira ordem,

que também corresponde a fórmula do método de Euler, obtida no primeiro capítulo deste

trabalho.

Método de Adams-Bashforth de segunda ordem

Suponha que agora, queremos usar apenas os pontos (xn, yn)e(xn−1, yn−1). Neste caso,

o polinômio Pk(x) é de primeiro grau e tem a forma P2(x) = Ax + B. Como P2 é uma

aproximação de φ′, fazemos P2(xn) = f(xn, yn) e P2(xn−1) = f(xn−1, yn−1). Se chamarmos

f(xj, yj) de fj para qualquer inteiro j, A e B deverão satisfazer às equações;

33

Page 43: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Axn + B = fn (2.5)

Axn−1 + B = fn−1

Para resolver o sistema acima,temos que primeiramente subtrair a primeira equação em

relação à segunda no sistema(2.5), e assim encontramos:

A(xn − xn−1) = fn − fn−1 (2.6)

A =fn − fn−1

xn − xn−1

mas

xn − xn−1 = h

, e assim

A =fn − fn−1

h

Agora, na primeira equação de (2.5),encontremos o valor de B:

B = fn − Axn

B = fn −(

fn − fn−1

xn − xn−1

)× xn

B = fn −fnxn + fn−1xn

xn − xn−1

B =fnxn − fnxn−1 − fnxn + fn−1xn

xn − xn−1

onde xn − xn−1 = h

B =fn−1xn − fnxn−1

h

Assim o valor de A e B são:

A =fn − fn−1

h, B =

fn−1xn − fnxn−1

h

34

Page 44: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Substituindo φ′(x) por P2(x) e calculando a integral da equação (2.2 , encontramos:

φ(xn+1 − φ(xn) =

∫ xn+1

xn

Ax + B dx (2.7)

φ(xn+1 − φ(xn) = A[x2]xn+1xn

+ B[x]xn+1xn

φ(xn+1 − φ(xn) =A

2(x2

n+1 − x2n) + B(xn+1 − xn)

Finalmente, substituímos φ(xn+1) e φ(xn) por yn+1 e yn, respectivamente, e executamos

algumas simplificações algébricas, para um incremento h constante, obtemos:

yn+1 − yn =fn − fn−1

2h(x2

n+1 − x2n) +

fn−1xn − fnxn−1

h(xn+1 − xn) (2.8)

yn+1 − yn =fn − fn−1

2h(xn+1 − xn)(xn+1 + xn) +

fn−1xn − fnxn−1

h(xn+1 − xn)

mas, h = xn+1 − xn

yn+1 − yn =fn − fn−1

2h(xn+1 + xn)× h +

fn−1xn − fnxn−1

h× h

yn+1 − yn =fn − fn−1

2(xn+1 + xn) + (fn−1xn − fnxn−1)

mas, xn+1 = xn + h e xn−1 = xn − h

yn+1 − yn =fn − fn−1

2(xn + h + xn) + (fn−1xn − fn(xn − h))

yn+1 − yn =fn − fn−1

2(2xn + h) + (fn−1xn − xnfn + hfn)

yn+1 − yn = xnfn − xnfn−1 +h

2(fn − fn−1) + xnfn−1 − xnfn + hfn

yn+1 − yn = xnfn − xnfn−1 +h

2(fn − fn−1) + xnfn−1 − xnfn + hfn

yn+1 − yn =h

2fn −

h

2fn−1 + hfn

yn+1 = yn +3

2hfn −

1

2hfn−1

A equação é a fórmula de Adams-Bashforth de segunda ordem. Trata-se de uma fór-

mula explícita para calcular o valor de yn+1 a partir dos valores de yn e yn−1. O erro de

truncamento local é proporcional a h3.

35

Page 45: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Método de Adams-Bashforth de quarta ordem

Fórmulas de Adams mais precisas podem ser obtidas seguindo os passos descritos an-

teriormente, mas usando um polinômio de grau mais elevado e portanto um número maior

de pontos. Suponha, por exemplo, que seja usado um polinômio P4(x) de terceiro grau. Os

coeficientes são determinados a partir dos quatro pontos (xn, yn), (xn−1, yn−1), (xn−2, yn−2)

e (xn−3, yn−3). Substituindo φ′(x) por este polinômio da equação (2) , calculando a integral

e simplificando o resultado, obtemos a fórmula de Adams-Bashforth de quarta ordem. Mais

demonstraremos esta fórmula por integração númerica, a seguir.

Primeiramente, aproximamos f(x, y(x)) pelo polinômio de grau m, pm(x) que interpola

f(x, y) em xn, xn−1, ..., xn−m e então

y(xn+1) ≈ y(xn) +

∫ xn+1

xn

pm(x)dx

Escolhemos m = 3, a função f(x, y(x)) será aproximada pelo polinômio p3(x) que inter-

pola nos pontos (xn, yn), (xn−1, yn−1), (xn−2, yn−2), (xn−3, yn−3), chamando fn−j = f(xn−j, yn−j), j =

0, 1, 2, 3, teremos:

f(x, y(x)) = y′(x) ∼= p3(x) = L−3(x)fn−3 + L−2(x)fn−2 + L−1(x)fn−1 + L0(x)fn

onde, para xj+1 − xj = h

L−3(x) =[(x− xn−2)(x− xn−1)(x− xn)]

(−h)(−2h)(−3h)=

=−1

6h3[(x− xn−2)(x− xn−1)(x− xn)]

L−2(x) =[(x− xn−3)(x− xn−1)(x− xn)]

(h)(−h)(−2h)=

=1

2h3[(x− xn−3)(x− xn−1)(x− xn)]

L−1(x) =[(x− xn−3)(x− xn−2)(x− xn)]

(2h)(h)(−h)=

36

Page 46: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

=−1

2h3[(x− xn−3)(x− xn−2)(x− xn)]

L0(x) =[(x− xn−3)(x− xn−2)(x− xn−1)]

(3h)(2h)(h)=

=1

6h3[(x− xn−3)(x− xn−2)(x− xn−1)]

Fazendo a mudança de variáveisx− xn

h= s, temos dx = hds e x = hs + xn. Então,

x−xn−3 = (s+3)h, x−xn−2 = (s+2)h, x−xn−1 = (s+1)h e x−xn = sh donde teremos:

L−3(x) =−1

6(s + 2)(s + 1)s =

−1

6(s3 + 3s2 + 2s)

L−2(x) =1

2(s + 3)(s + 1)s =

1

2(s3 + 4s2 + 3s)

L−1(x) =−1

2(s + 3)(s + 2)s =

−1

2(s3 + 5s2 + 6s)

L0(x) =1

6(s + 3)(s + 2)s =

1

6(s3 + 6s2 + 11s + 6)

Assim,

∫ xn+1

xn

f(x, y(x))dx ∼=∫ xn+1

xn

p3(x)dx =−h

6fn−3

∫ 1

0

(s3+3s2+2s)ds+h

2fn−2

∫ 1

0

(s3+4s2+3s)ds−

−h

2fn−1

∫ 1

0

(s3 + 5s2 + 6s)ds +h

6fn

∫ 1

0

(s3 + 6s2 + 11s + 6)ds

=−h

6fn−3(

1

4+ 1 + 1) +

h

2fn−2(

1

4+

4

3+

3

2)− h

2fn−1(

1

4+

5

3+ 3) +

h

6fn(

1

4+ 2 +

11

2+ 6)

=−9h

24fn−3 +

37h

24fn−2 −

−59h

24fn−1 +

55h

24fn

Assim, o método de passo múltiplo por nós escolhido,

37

Page 47: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

y(xn+1) ∼= y(xn) +

∫ xn+1

xn

f(x, y(x))dx

é

yn+1 = yn + (h/24)(55fn − 59fn−1 + 37fn−2 − 9fn−3) (2.9)

que é um método de passo múltiplo explícito pois, para o cálculo de yn+1 usaremos yn,

yn−1, yn−2 e yn−3, onde yn+1 tem forma explícita em função dos outros yk, k = n− 1, n−

2, n− 3.

O erro de truncamento local da fórmula de quarta ordem é proporcional a h5.

2.1.2 Método de Adams-Moulton

Método de Adams-Moulton de segunda ordem

Uma pequena modificação na dedução das fórmulas de Adams-Bashforth resulta em

outro conjunto de fórmulas denominadas fórmulas de Adams-Moulton. Para compreender-

mos a diferença, vamos voltar ao caso de segunda ordem. Usamos novamente um polinômio

de primeiro grau Q2(x) = α(x) + β, mas determinamos os coeficientes usando os pontos

(xn, yn) e (xn+1, yn+1).

Assim, α e β devem satisfazer ao sistema de equações:

αxn + β = fn (2.10)

αxn+1 + β = fn+1

e portanto, subtraindo a segunda equação da primeira no sistema(2.10), temos:

fn+1 − fn = α(xn+1 − xn)

com h = xn+1 − xn

α =fn+1 − fn

xn+1 − xn

38

Page 48: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

α =fn+1 − fn

h

Isolando o valor de β na primeira equação de (2.10), temos:

β = fn − αxn

β = fn −(

fn+1 − fn

xn+1 − xn

)xn

com h = xn+1 − xn

β =fnxn+1 − fnxn − fn+1xn + fnxn

h

β =fnxn+1 − fn+1xn

h

Assim,

α =fn+1 − fn

h, β =

fnxn+1 − fn+1xn

h

Substituindo φ′(x) por Q2(x) na equação (2.2) e simplificando, obtemos:

φ(xn+1 − φ(xn) =

∫ xn+1

xn

Q2(x) dx (2.11)

φ(xn+1 − φ(xn) =

∫ xn+1

xn

(αx + β) dx

φ(xn+1 − φ(xn) =α

2[x2]xn+1

xn+ β[x]xn+1

xn

φ(xn+1 − φ(xn) =α

2(x2

n+1 − x2n) + β(xn+1 − xn)

Finalmente, substituímos φ(xn+1) e φ(xn) por yn+1 e yn, respectivamente, e executamos

algumas simplificações algébricas, para um incremento h constante, obtemos:

yn+1 − yn =fn+1 − fn

2h[x2

n+1 − x2n] +

fnxn+1 − fn+1xn

h(xn+1 − xn) (2.12)

39

Page 49: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

mas, h = xn+1 − xn

logo,

yn+1 − yn =fn+1 − fn

2h(xn+1 − xn)(xn+1 + xn) +

fnxn+1 − fn+1xn

h× h

yn+1 − yn =fn+1 − fn

2(xn+1 + xn) + (fnxn+1 − fn+1xn)

como,xn = xn+1 − h

entanto,

yn+1 − yn =fn+1 − fn

2(xn+1 + xn+1 − h) + fnxn+1 − fn+1xn+1 + fn+1h

yn+1 − yn =fn+1 − fn

2(2xn+1 − h) + fnxn+1 − fn+1xn+1 + fn+1h

yn+1 − yn = (xn+1fn+1 − xn+1fn)− h

2(fn+1 − fn)(fnxn+1 − fn+1xn+1 + fn+1h)

yn+1 − yn = −h

2fn+1 +

h

2fn + hfn+1

Concluímos que:

yn+1 = yn +1

2hfn +

1

2hf(xn+1, yn+1)

que é a fórmula de Adams-Moulton de segunda ordem. Escrevemos f(xn+1, yn+1) no

último termo para enfatizar que a fórmula de Adams-Moulton é implícita, já que a incógnita

yn+1 aparece nos dois membros da equação. o erro de truncamento local para a fórmula de

Adams-Moulton de segunda ordem é proporcional a h3.

Método de Adams-Moulton de quarta ordem

Fórmulas mais precisas podem ser obtidas recorrendo-se a polinômios de grau mais

elevado.

40

Page 50: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Sua dedução matemática é semelhante ao que vimos no método de Adams-bashforth

de quarta ordem, pois também trabalhamos com quatro pontos, e portanto m=2, já que tra-

balhamos nos pontos xn+1, xn, · · · , xn−m, isto é, tomemos (xn+1yn+1), (xnyn)(xn−1yn−1)(xn−2yn−2)

da mesma forma como fizemos anteriormente:

yn+1 = yn +

∫ Xn+1

xn

p3(x)dx

= yn +

∫ xn+1

xn

[L−2(x)fn−2 + L−1(x)fn−1 + L0(x)fn + L1(x)fn+1]

onde

L−2(x) =[(x− xn−1)(x− xn)(x− xn+1)]

(−3h)(−2h)(−h)=

=−1

6h3[(x− xn−1)(x− xn)(x− xn+1)]

L−1(x) =[(x− xn−2)(x− xn)(x− xn+1)]

(h)(−h)(−2h)=

=1

2h3[(x− xn−2)(x− xn)(x− xn+1)]

L0(x) =[(x− xn−2)(x− xn−1)(x− xn+1)]

(2h)(h)(−h)=

=−1

2h3[(x− xn−2)(x− xn−1)(x− xn+1)]

L1(x) =[(x− xn−2)(x− xn−1)(x− xn)]

(3h)(2h)(h)=

=1

6h3[(x− xn−2)(x− xn−1)(x− xn)]

Fazendo a mudança x−xn

h= s, obtemos de maneira análoga

L−2(x) =−1

6(s3 − s)

41

Page 51: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

L−1(x) =1

2(s3 + s2 − 2s)

L0(x) =−1

2(s3 + 2s2 − s− 2)

L1(x) =1

6(s3 + 3s2 + 2s)

Assim,

yn+1 = yn −h

6fn−2

∫ 1

0

(s3 − s)ds +h

2fn−1

∫ 1

0

(s3 + s2 − 2s)ds−

−h

2fn

∫ 1

0

(s3 + 2s2 − s− 2)ds +h

6fn+1

∫ 1

0

(s3 + 3s2 + 2s)ds

Donde:

yn+1 = yn + (h/24)(9fn+1 + 19fn − 5fn−1 + fn−2) (2.13)

que é um método de passo múltiplo implícito pois, no cálculo de yn+1 aparece fn+1 =

f(xn+1, yn+1), ou seja, a fórmula não é explicíta para yn+1 e ele aparece em f(xn+1, yn+1)

no segundo membro.

A fórmula de Adams-Moulton de quarta ordem possui erro de truncamento local é

proporcional a h5

Ela juntamente com a fórmula numérica de Adams-Bashforth de quarta ordem são

utilizados como um método de previsão-correção nos métodos de passos múltiplos.

42

Page 52: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Apêndice A

Algoritmos e Implementação dos

Métodos numéricos

A.1 O Método de Euler

Algoritmo Euler

Etapa 1. Defina uma função f(x, y) para estudo, suas condições iniciais x0 e y0.

Etapa 2. No intervalo em que se deseja estudar, determine os pontos x0 < x1 < ... <

xn = x0 + nh com um incremento h = (x0+nh)−x0

nentre eles.

Etapa 3. Calcule a aproximação x1 de φ(x1) usando a fórmula descrita pelo método

x1 = x0 + hf(x0, y0)

Etapa 4. Agora, calcule a aproximação x2 de φ(x2) usando novamente a fórmula descrita

pelo método

x2 = x1 + hf(x1, y1)

Etapa 5. Continue o processo e obtenha as aproximações x3, x4, ..., xn usando sucessi-

vamente a fórmula xn+1 = xn + hf(xn, yn) ao longo do intervalo [x0, x0 + nh].

43

Page 53: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

Bibliografia

[1] ALBRECHT, Peter.Análise numérica: um curso moderno.[Rio de Janeiro]:Livros Téc-

nicos e Científicos,[1973]

[2] BARROSO,Leônidas Conceição.Cálculo numérico: com aplicações. 2. ed.[São

Paulo]:Ed.Harbra,1987

[3] BOYCE, William E.; DIPRIMA, Richard C.Equações diferenciais elementares e prob-

lemas de valores de contorno. 7. ed. [Rio de Janeiro]: Livros Técnicos e Científicos,

[C2002]. 416 p. ISBN 8521613121 (broch.)

[4] BURDEN, R. L and Faires, J. D. - Análise Numérica - Tompson, 2003

[5] CUMINATO, José Alberto and Junior,Messias Meneguette - Discretização de

Equações Diferenciais Parciais - USP, 2006

[6] CUNHA, M.Cristina C. Métodos numéricos. 2a ed. rev.ampl. [Campinas]: Ed.da UNI-

CAMP,[2003]. 276p. ISBN 852680636X (broch.)

[7] DIACU,Florin. Introdução a equações diferenciais-Teoria e Aplicações.[Rio de

Janeiro]:LTC,[2004]. ISBN 85-216-1403-9.

[8] FRANCO,Neide Bertoldi.Cálculo Numérico[São Paulo]:Pearson Hall,[2006].

ISBN 85-7605-087-0.

44

Page 54: ESTUDO E IMPLEMENTAÇÃO DE MÉTODOS …static.recantodasletras.com.br/arquivos/5651576.pdf · Trabalho de Conclusão de Curso apresentado como requisito parcial para obtenção do

[9] RUGGIERO, Márcia Aparecida Gomes; LOPES, Vera Lúcia da Rocha.Cálculo

numérico:aspectos teóricos e computacionais. 2. ed. São Paulo: Makron Books; Pear-

son Education do Brasil,[1997]. 406p. ISBN 8534602042 (broch.)

[10] SCHILDT, Herbert. C completo e total. 3. ed. rev. atual. São Paulo: Makron Books;

McGraw-Hill, [c1997]. 1 Disquete ISBN 8534605955 (broch.)

[11] SPERANDIO,Décio;MENDES,João Teixeira;SILVA,Luiz Henry Monken e .Cálculo

Numérico:características matemáticas e computacionais dos métodos numéricos.[São

Paulo]:Pearson Prentice Hall,[2003]. ISBN 85-87918-74-5.

[12] Conteúdo da apostila disponível no site do Curso de Linguagem C da UFMG- Uni-

versidade Federal de Minas Gerais. (http://www.ead.eee.ufmg.br/cursos/C/).

[13] ZILL,Dennis G.;CULLEN,Michael R.Equações Diferenciais-Vol.2[São Paulo]:Pearson

Education do Brasil,[2001]. ISBN 85-346-1141-6.

45