SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
M´etodos Num´ericos para An´alise de Equa¸c˜oes Diferenciais
Ordin´arias Lineares com Foco nos Problemas de Valor
Inicial.
Michel A. dos Santos ∗
Maio de 2010
Resumo
Inicialmente iremos abordar alguns aspectos gerais da an´alise e resolu¸c˜ao num´erica de
Equa¸c˜oes Diferenciais Ordin´arias Lineares. Exploraremos alguns conceitos como erros de
truncamento local e global, uma breve introdu¸c˜ao a S´erie de Taylor e alguns exemplos de
m´etodos de resolu¸c˜ao baseados em estrat´egias de passos simples e passos m´ultiplos. Ao longo
do texto ser´a n´ıtida a percep¸c˜ao de que a maioria dos problemas de resolu¸c˜ao num´erica de
equa¸c˜oes dessa natureza s˜ao fortemente direcionados a modelagem de problemas oriundos da
observa¸c˜ao de fenˆomenos. Esse direcionamento possui aspectos que v˜ao desde a concep¸c˜ao de
circuitos el´etricos at´e a an´alise de sistemas presa-predador. Por fim, ser˜ao analisados algumas
caracter´ısticas relativas a empregabilidade dos m´etodos abordados.
Palavras-Chave: Equa¸c˜oes Diferenciais Ordin´arias, M´etodo de Euler, M´etodo de Runge-
Kutta, Solu¸c˜oes Num´ericas, Modelagem, C´alculo Num´erico, M´etodos Num´ericos, F´ormula de
Heun.
1 Introdu¸c˜ao
Modelagem ´e o tema que unifica o tratamento introdut´orio dado as equa¸c˜oes diferenciais. Tal-
vez as aplica¸c˜oes mais importantes do c´alculo sejam pertencentes a natureza dessas equa¸c˜oes.
Quando f´ısicos e cientistas sociais usam o c´alculo, em geral o fazem para analisar uma equa¸c˜ao
diferencial surgida no processo de modelagem de algum fenˆomeno que eles estejam estudando.
Embora seja freq¨uentemente imposs´ıvel encontrar uma f´ormula expl´ıcita para a solu¸c˜ao de uma
equa¸c˜ao diferencial, podemos observar que m´etodos como aproxima¸c˜oes gr´aficas e num´ericas con-
seguem fornecer bons resultados. Resultados estes, advindos de bons modelos matem´aticos que
frequentemente possuem o formato de uma equa¸c˜ao diferencial, isto ´e, uma equa¸c˜ao que cont´em
uma fun¸c˜ao desconhecida e algumas de suas derivadas. Isso n˜ao nos surpreende porque em um
problema real normalmente notamos que as mudan¸cas ocorrem e queremos predizer o compor-
tamento futuro com base na maneira como os valores presentem variam. Geralmente o processo
de solu¸c˜ao dessas equa¸c˜oes consiste em uma transforma¸c˜ao das mesmas em equa¸c˜oes alg´ebricas
atrav´es da discretiza¸c˜ao do dom´ınio e aproxima¸c˜ao de suas derivadas por diferen¸cas finitas (Hull
et al., 1972). Atualmente a criatividade ´e o limite. As formas ou a empregabilidade de m´etodos
para an´alise e resolu¸c˜ao num´erica de Equa¸c˜oes Diferenciais Ordin´arias permea v´arios campos,
sendo empregados at´e mesmo algoritmos gen´eticos (Cao et al., 2000) e paraleliza¸c˜ao (Burrage,
1997; Burrage & Suhartanto, 1997, 2000) para aferi¸c˜ao de uma malha de pontos condizentes com
uma determinada equa¸c˜ao pertencente a essa classe. O presente trabalho tem como objetivo ape-
nas apresentar uma breve introdu¸c˜ao no que diz respeito ao tratamento de solu¸c˜oes num´ericas de
∗Bacharelando em Ciˆencia da Computa¸c˜ao, Universidade Federal do Estado de Alagoas(UFAL), Bolsista do
Laborat´orio de Modelagem Geom´etrica e Vis˜ao Computacional do Centro de Pesquisa em Matem´atica Computacio-
nal(CPMAT), Brasil - Macei´o/AL, Tel: 8805-0582 E-mail: michel.mas@gmail.com, michelalvessantos@hotmail.com
1
equa¸c˜oes diferenciais (ordin´arias) por´em, antes mesmo de adentrar ao assunto, forneceremos uma
motiva¸c˜ao para o estudo s´erio e cuidadoso do c´alculo num´erico.
1.1 O C´alculo Num´erico
O C´alculo Num´erico corresponde a um conjunto de ferramentas ou m´etodos usados para se
obter a solu¸c˜ao de problemas matem´aticos de forma aproximada. Esses m´etodos se aplicam prin-
cipalmente a problemas que n˜ao apresentam uma solu¸c˜ao exata (de origem anal´ıtica), portanto
precisam ser resolvidos numericamente. Um bom exemplo que ilustra essa necessidade pode ser
dado pela avalia¸c˜ao de circuitos el´etricos. Em um circuito el´etrico composto de uma fonte de
tens˜ao e um resistor, a solu¸c˜ao exata (ou anal´ıtica) pode ser dada por:
V − R · i = 0 i =
V
R
(1)
Por´em com a introdu¸c˜ao de um simples diˆodo no circuito, ter´ıamos um aumento na complexidade
de avalia¸c˜ao dos estados pelos quais esse circuito passa, produzindo a seguinte situa¸c˜ao (Ruggiero
& Lopes, 1996):
v(i) =
kT
q
· ln
i
Is
+ 1 v(i) = 0 ⇒ V − R · i −
kT
q
· ln
i
Is
+ 1 = 0 (2)
A complexidade de avalia¸c˜ao de v(i) quando a mesma ´e nula extrapola os m´etodos convencionais
anal´ıticos. Logo a maneira mais indicada para avalia¸c˜ao dos estados desse circuito seria uma na
qual houvesse o emprego de uma solu¸c˜ao baseada em m´etodos num´ericos.
O caso acima evidenciado, aos olhos de muitos ainda possui caracter´ısticas anal´ıticas, onde
uma solu¸c˜ao exata ainda seria uma boa sa´ıda. Por´em vale lembrar que introduzimos apenas, e
s´o, um diˆodo. Os circuitos reais espalhados pela vida cotidiana possuem dezenas de milhares
desses componentes. Por isso a necessidade de produzir resultados num´ericos. Pois mesmo que
um problema matem´atico possa ser resolvido analiticamente, ainda assim, ele pode se tornar
impratic´avel caso haja uma aumento consider´avel em seu tamanho. Um bom exemplo para ilustrar
essa situa¸c˜ao seria a busca por solu¸c˜oes de sistemas de equa¸c˜oes lineares que modelam c´alculo de
estruturas, componentes horizontais e verticais das for¸cas que atuam em um determinado corpo
que se encontra em equil´ıbrio est´atico (Ruggiero & Lopes, 1996), redes el´etricas, etc.
Logo, a maior motiva¸c˜ao para o emprego de m´etodos num´ericos seria a existˆencia de problemas
para os quais n˜ao existem m´etodos matem´aticos exatos para a obten¸c˜ao de uma solu¸c˜ao (ou seja,
n˜ao podem ser resolvidos analiticamente). Tal motiva¸c˜ao pode ser evidenciada quando avaliamos
certos tipos de integrais que n˜ao possuem uma primitiva em forma simples, como ex2
dx, ou ten-
tamos resolver determinadas equa¸c˜oes diferenciais parciais n˜ao lineares (que podem ser resolvidas
analiticamente s´o em casos particulares.)
1.2 A Necessidade de Boas Aproxima¸c˜oes
Os m´etodos num´ericos buscam solu¸c˜oes aproximadas para as formula¸c˜oes matem´aticas (Os-
borne & Watson, 1968). Nos problemas reais os dados s˜ao medidas e como tal, n˜ao s˜ao exatas. Uma
medida f´ısica n˜ao ´e um n´umero e sim um intervalo advindo da pr´opria imprecis˜ao das medidas.
Da´ı, trabalha-se sempre com a figura do erro inerente `a pr´opria medi¸c˜ao.
Os m´etodos aproximados buscam uma adequa¸c˜ao do que seria o valor exato. Dessa forma
´e inerente ao m´etodo se trabalhar com a figura da aproxima¸c˜ao, erro ou desvio. Na Figura 1
podemos visualizar um fluxograma no qual ocorre a confrota¸c˜ao entre etapas para obten¸c˜ao de
modelos matem´aticos precisos (no sentido de exatos) e a resolu¸c˜ao de problemas atrav´es de m´etodos
num´ericos.
Por´em em certos casos devemos ter cuidado redobrado ao adotar um determinado modelo,
pois a influˆencia dos erros nas solu¸c˜oes podem ocasionar acontecimentos indesejados, muitos deles
com finais catastr´oficos tanto no ponto de vista monet´ario quanto do ponto de vista humano.
2
Figura 1: Etapas no desenvolvimento de m´etodos anal´ıticos e m´etodos de aproxima¸c˜ao. Observe que nos m´etodos
de aproxima¸c˜ao existe uma etapa de an´alise dos resultados feita com o intuito de comprovar a veracidade da
informa¸c˜ao obtida e uma verifica¸c˜ao final que comprova que o m´etodo adotado ´e o mais adequado ao modelo ou
situa¸c˜ao.
Exemplos para esses tipos de situa¸c˜ao seriam o afundamento da plataforma mar´ıtima Sleipner A,
em 23/08/1991, na Noruega, com um preju´ızo de mais de 700 milh˜oes de d´olares e a explos˜ao do
foguete Ariane 5 em 04/06/1996 na Guiana Francesa, com um preju´ızo de 7,5 bilh˜oes de d´olares.
A maioria desses acontecimentos s˜ao causados por limita¸c˜oes na representa¸c˜ao num´erica.
1.3 No¸c˜oes B´asicas Sobre Erros
No estudo de M´etodos Num´ericos para a resolu¸c˜ao de situa¸c˜oes/modelos que surgem das mais
diversas ´areas ocasionalmente ocorrem problemas. A resolu¸c˜ao de tais problemas envolve v´arias
fases. N˜ao ´e raro acontecer que os resultados finais estejam distantes do que se esperaria obter,
ainda que todas as fases de resolu¸c˜ao tenham sido realizadas corretamente. O resultados obtidos
dependem tamb´em:
• da precis˜ao dos dados de entrada;
• da forma como estes dados s˜ao representados no computador;
• das opera¸c˜oes num´ericas efetuadas.
Os dados de entrada contˆem uma imprecis˜ao inerente, isto ´e, n˜ao h´a como evitar que ocorram,
uma vez que representam medidas obtidas usando equipamentos espec´ıficos, como, por exemplo, no
caso de medidas de corrente e tens˜ao num circuito el´etrico, ou ent˜ao podem ser dados resultantes
de pesquisas ou levantamentos, como no caso de dados populacionais obtidos num recenseamento.
De modo corriqueiro a maioria das literaturas executam um estudo dos erros que surgem da
representa¸c˜ao num´erica em computadores e erros resultantes das opera¸c˜oes num´ericas efetuadas
que podem ocorrer na convers˜ao de n´umeros de um determinado sistema de representa¸c˜ao para
outro (exemplo: convers˜ao de decimal para bin´aro), erros de arredondamento e truncamento e em
opera¸c˜oes aritm´eticas de ponto flutuante (Ruggiero & Lopes, 1996).
2 Equa¸c˜oes Diferenciais
Equa¸c˜oes diferenciais aparecem com grande frequˆencia em modelos que descrevem quantita-
tivamente fenˆomenos em diversas ´areas, como por exemplo, mecˆanica dos fluidos, fluxo de calor,
3
vibra¸c˜oes, economia, ecologia, biomedicina, rea¸c˜oes qu´ımicas, nucleares, etc.
Representam com alta fidelidade sistemas f´ısicos, estat´ısticos e comportamentais dos mais
diferentes tipos e complexidades. Sendo assim, ´e de suma importˆancia o conhecimento de t´ecnicas
de manipula¸c˜ao de tais equa¸c˜oes para uma an´alise detalhada dos sistemas anteriormente citados,
visto que, sua aplica¸c˜ao ´e expandida dentro das mais diversas ´areas da ciˆencia.
Estas equa¸c˜oes podem ter formas t˜ao variadas que se analisarmos as que possuem solu¸c˜ao
ou m´etodos de resolu¸c˜ao anal´ıtica j´a desenvolvidas, veremos que estamos muito longe de poder
modelar problemas f´ısicos reais, esperando assim que a Matem´atica nos forne¸ca uma express˜ao
exata para a solu¸c˜ao de tais objetos. Por outro lado, os m´etodos num´ericos j´a s˜ao bem mais
abrangentes e, quando levam a convergˆencia, ´e poss´ıvel se obter gr´aficos e tabelas com valores de
solu¸c˜ao para um maior n´umero de problemas.
2.1 Equa¸c˜oes Diferenciais Gerais
Em geral, uma equa¸c˜ao diferencial ´e aquela que cont´em uma fun¸c˜ao desconhecida e uma ou
mais de suas derivadas. A ordem de uma equa¸c˜ao diferencial ´e a mesma da derivada mais alta que
ocorre na equa¸c˜ao. Dessa maneira as equa¸c˜oes (3) e (4) visualizadas logo abaixo s˜ao exemplos de
equa¸c˜ao de primeira ordem enquanto a equa¸c˜ao (5) ´e um exemplo de equa¸c˜ao de segunda ordem
(Stewart, 2009).
dP
dt
= kP (3)
dP
dt
= kP · 1 −
P
K
(4)
m ·
d2
x
dt2
= −kx (5)
Em todas as trˆes equa¸c˜oes, a vari´avel independente ´e chamada t e representa o tempo, mas, em
geral, a vari´avel independente n˜ao precisa representar o tempo. Por exemplo, quando consideramos
a equa¸c˜ao diferencial
y = xy (6)
entendemos que y seja a fun¸c˜ao descohecida de x. Uma fun¸c˜ao f ´e denominada solu¸c˜ao de uma
equa¸c˜ao diferencial se a equa¸c˜ao ´e satisfeita quando y = f(x) e suas derivadas s˜ao substitu´ıdas na
equa¸c˜ao. Assim, f ´e uma solu¸c˜ao da Equa¸c˜ao (6) se
f (x) = xf(x) (7)
para todos os valores de x em algum intervalo. Quando tentamos resolver uma equa¸c˜ao dife-
rencial, esperamos encontrar todas as solu¸c˜oes poss´ıveis da equa¸c˜ao. Algumas dessas equa¸c˜oes j´a
s˜ao de conhecimento da maioria dos estudantes de c´alculo, pois representam equa¸c˜oes diferenciais
particularmente simples; a saber, aquelas da forma
y = f(x) (8)
Por exemplo, sabemos que a solu¸c˜ao geral da equa¸c˜ao diferencial
y = x3
(9)
´e dada por
y =
x4
4
+ C (10)
4
onde C ´e uma constante arbitr´aria. Mas, em geral, resolver uma equa¸c˜ao diferencial n˜ao ´e
uma tarefa f´acil. N˜ao existe uma t´ecnica sistem´atica que nos permita resolver todas as equa¸c˜oes
diferenciais.
Se uma equa¸c˜ao diferencial tem apenas uma vari´avel independente, como ´e o caso das equa¸c˜oes
(3) e (4), ent˜ao ela ´e uma equa¸c˜ao diferencial ordin´aria (EDO), que ser´a o objeto do nosso estudo
neste trabalho. Outros exemplos de equa¸c˜oes diferenciais ordin´arias s˜ao:
dy
dx
= x + y; y = x2
+ y2
; y + (1 − y2
)y = 0 e u + e−u
− eu
= f(x) (11)
Geralmente uma equa¸c˜ao diferencial ordin´aria de ordem n ´e uma equa¸c˜ao da seguinte forma:
F(x, y(x), y (x), y (x), y (x), . . . , yn
(x)) = 0 (12)
onde est˜ao envolvidas a fun¸c˜ao inc´ognita y = y(x) e suas derivadas at´e ordem n, sendo x a
vari´avel independente. A nota¸c˜ao yj
representa a derivada de ordem j da fun¸c˜ao inc´ognita y em
rela¸c˜ao `a vari´avel independente x e pode tamb´em ser representada por dj
y
dxj (Arenales & Darezzo,
2008).
Se a equa¸c˜ao diferencial envolve mais do que uma vari´avel independente ent˜ao ela ´e uma
equa¸c˜ao diferencial parcial, como a equa¸c˜ao
∂2
u
∂x2
+
∂2
u
∂y2
= 0 com u ≡ u(x, y) e
∂2
u
∂2β
(13)
indicando a derivada parcial segunda de u(x, y), em rela¸c˜ao `a vari´avel (β).
Figura 2: Aplica¸c˜oes de Equa¸c˜oes Diferenciais Parciais. Em (A) Equa¸c˜oes Diferenciais Parciais s˜ao aplicadas `as
leis da conserva¸c˜ao da massa, momento e energia que por sua vez s˜ao a base dos fenˆomenos de transporte. Em (B)
Difus˜ao de macromol´eculas e liberta¸c˜ao controlada de medicamentos(Movimento do medicamento atrav´es da pele a
partir do local de aplica¸c˜ao). Em (C) Migra¸c˜ao de c´elulas em material prot´estico vascular(Controle do movimento
de leuc´ocitos em meio material devido a inflama¸c˜oes).
Uma solu¸c˜ao de uma equa¸c˜ao diferencial ordin´aria ´e uma fun¸c˜ao da vari´avel independente que
satisfa¸ca a equa¸c˜ao. Assim,
1. dy
dx = ˙y = y tem y(x) = a · ex
, a ∈ R como solu¸c˜ao;
2. u = 0 ´e satisfeita para u(x) = p2(x) onde p2(x) ´e qualquer polinˆomio de grau 2.
Isto ilustra um fato bem geral: uma equa¸c˜ao diferencial possui uma fam´ılia de solu¸c˜oes e n˜ao
apenas uma (Ruggiero & Lopes, 1996). Al´em disso uma equa¸c˜ao diferencial ordin´aria ´e dita linear
se a fun¸c˜ao e suas derivadas aparecem linearmente na equa¸c˜ao. Assim, xy = x − y ´e linear e
y + (1 − y2
)y + y = 0 e u + e−u
= f(x) s˜ao n˜ao lineares.
5
Figura 3: Uma fam´ılia de solu¸c˜oes para ˙y = y e para ˙y = −y (Ruggiero & Lopes, 1996).
Figura 4: Em (A) uma fam´ılia de solu¸c˜oes para dP/dt = kP. Em (B) solu¸c˜oes da equa¸c˜ao log´ıstica (Stewart,
2009).
J´a que, como ilustramos anteriormente, uma equa¸c˜ao diferencial n˜ao possui solu¸c˜ao ´unica,
vemos que para individualizar uma solu¸c˜ao temos de impor condi¸c˜oes suplementares. Em geral,
uma equa¸c˜ao de ordem m requer m condi¸c˜oes adicionais a fim de ter uma ´unica solu¸c˜ao. Em
princ´ıpio, estas condi¸c˜oes podem ser de qualquer tipo, por exemplo:
y(0) = 1 (14)
y (4) = −5 (15)
y(2) + 5y (3) = 6 (16)
1
0
xy sin xdx = 0 (17)
lim
x→∞
y(x) = k (18)
Se, dada uma equa¸c˜ao de ordem m, a fun¸c˜ao, assim como suas derivadas at´e ordem m -1, s˜ao
especificadas em um mesmo ponto, ent˜ao temos um problema de valor inicial (Ruggiero & Lopes,
1996) (normalmente abreviado para PVI), como s˜ao os casos:
1.
y (x) = y
y(0) = 1
2.
y + (x + 1)y + cos xy − (x2
− 1)y = x2
+ y2
sin x + y
y(0) = 1.1, y (0) = 2.2, y (0) = 3.3
Se, em problemas envolvendo equa¸c˜oes diferenciais ordin´arias de ordem m, m ≥ 2, as m con-
di¸c˜oes fornecidas para a busca de solu¸c˜ao ´unica n˜ao s˜ao todas dadas num mesmo ponto, ent˜ao
temos um problema de valor de contorno (Ruggiero & Lopes, 1996) (normalmente abreviado para
PVC).
6
Um exemplo de problema de contorno ´e o de uma barra de comprimento L sujeita a uma carga
uniforme q. Se, no ponto x0 = 0 est´a barra est´a presa e em xL = L ela est´a s´o apoiada, este
problema ´e descrito pelo seguinte problema de contorno:



y (x) + ky(x) = q
y(0) = y (0) = 0
y(L) = y (L) = 0
(19)
onde k ´e uma constante que depende do material da barra.
Ao contr´ario do que ocorre com os PVI, ´e comum que problemas de contorno n˜ao tenham
unicidade de solu¸c˜ao. Por exemplo, para todo α ∈ R, y(x) = α · (1 + x) ´e a solu¸c˜ao do PVC
(Ruggiero & Lopes, 1996):



y = 0
y(−1) = 0
y(1) − 2y (1) = 0
(20)
Figura 5: Passos para a resolu¸c˜ao de uma EDO de maneira anal´ıtica. Uma das principais propriedades das
equa¸c˜oes diferenciais ordin´arias (EDO), lineares e com coeficientes constantes ´e que elas sempre possuem uma
solu¸c˜ao anal´ıtica que pode ser encontrada de forma sistem´atica. No entanto, nem todas as equa¸c˜oes diferenciais
possuem esta propriedade, existindo equa¸c˜oes que n˜ao possuem solu¸c˜ao na forma anal´ıtica, logo sua solu¸c˜ao deve
ser encontrada de forma num´erica.
2.2 Problemas de Valor Inicial
A raz˜ao mais forte para a introdu¸c˜ao de m´etodos num´ericos para a aproxima¸c˜ao de solu¸c˜oes
de problemas de valor inicial(PVI) ´e a dificuldade de se encontrar, analiticamente, as solu¸c˜oes
da equa¸c˜ao. Em muitos casos, a teoria nos garante a existˆencia e unicidade de solu¸c˜ao, mas n˜ao
sabemos qual ´e a express˜ao anal´ıtica desta solu¸c˜ao. Uma condi¸c˜ao que garante a existˆencia e a
unicidade da solu¸c˜ao do PVI ´e dado pelo seguinte teorema:
Teorema 1 (Existˆencia e Unicidade - Teorema de Picard). Considere uma fun¸c˜ao real f(x, y)
cont´ınua no intervalo a ≤ x ≤ b, com a e b finitos e −∞ < y < +∞. Se existe uma constante L tal
que para todo x ∈ [a, b] e para todo par (y, y1) tivermos: |f(x, y) − f(x, y1)| ≤ L|y − y1| (Condi¸c˜ao
de Lipschitz) ent˜ao existe uma ´unica fun¸c˜ao y = y(x) satisfazendo as seguintes condi¸c˜oes:
1. y(x) ´e cont´ınua e diferenci´avel para todo x ∈ [a, b];
2. y = f(x, y(x)) para x ∈ [a, b];
3. y(x0) = y0, onde y0 ´e um valor conhecido.
Em outras palavras, a solu¸c˜ao do PVI ´e uma fun¸c˜ao y = y(x) cont´ınua e diferenci´avel que
satisfaz a equa¸c˜ao diferencial y = f(x, y) e passa pelo ponto (x0, y0) (a prova desse teorema pode
ser encontrada em Sotomayor,J.D.. Vale a pena ressaltar que tal prova baseia-se no teorema do
ponto fixo de Banach) (Arenales & Darezzo, 2008; Zill, 2003; Sotomayor, 1979; Zarowski, 2004).
Os m´etodos que estudaremos neste pequeno trabalho introdut´orio se baseiam em:
dado o PVI:
y = f(x, y)
y(x0) = y0
(21)
7
constru´ımos x1, x2, . . . , xn que, embora n˜ao necessariamente, para n´os ser˜ao igualmente espa-
¸cados, ou seja : xi+1 −xi = h, i = 0, 1, . . . , e calculamos as aproxima¸c˜oes yi y(xi) nestes pontos,
usando informa¸c˜oes anteriores.
Se, para calcular yj usamos apenas yj−1 teremos um m´etodo de passo simples ou passo um.
Por´em, se usarmos mais valores, teremos um m´etodo de passo m´ultiplo.
Como estamos trabalhando essencialmente com PVI de primeira ordem, temos uma aproxi-
ma¸c˜ao inicial y(x0) para a solu¸c˜ao. Dessa forma, os m´etodos de passo um s˜ao classificados como
auto-iniciantes. J´a para os m´etodos de passo m´ultiplo temos de lan¸car m˜ao de alguma estra-
t´egia (como usar m´etodos de passo simples) para obtermos as aproxima¸c˜oes iniciais necess´arias
(Ruggiero & Lopes, 1996).
Outras caracter´ısticas dos m´etodos de passo simples s˜ao:
• necessidade de c´alculo do valor de f(x, y) e suas derivadas em muitos pontos;
• dificuldades em estimar o erro.
2.3 Discretiza¸c˜ao
Resolver numericamente um PVI consiste em calcular aproxima¸c˜oes para y = y(x) em pontos
discretos x0, x1, x2, . . . , xN de um intervalo [a, b]. Para discretizar o intervalo [a, b], tomamos N
subintervalos N ≥ 1 e fazemos xn = x0 + nh, n = 0, 1, 2, . . . , N com x0 = a e xN = b, sendo
h = (xN −x0)
N .
A este conjunto de pontos x0, x1, x2, . . . , xN denominamos rede ou malha de pontos discretos e
calculamos aproxima¸c˜oes para y(x) nestes pontos, isto ´e, determinamos yn tal que yn
∼= y(xn), n =
0, 1, 2, . . . , N.
A partir de um ponto inicial dado y(x0) = y0 (valor inicial), calculamos passo a passo, nos
pontos x1 = x0 + h, x2 = x0 + 2h, x3 = x0 + 3h, . . . , xn = x0 + nh, solu¸c˜oes aproximadas yn para
a solu¸c˜ao exata y(xn), n = 0, 1, 2, . . . , N, conforme ilustrado na Figura 6.
Figura 6: O problema da discretiza¸c˜ao e a rela¸c˜ao entre as solu¸c˜oes exatas e num´ericas (Arenales & Darezzo,
2008).
O erro local, cometido nas aproxima¸c˜oes em cada ponto, ´e a diferen¸ca entre o valor exato da
equa¸c˜ao diferencial e eo valor num´erico aproximado em cada um dos pontos do intervalo [a, b], isto
´e:
e(xn) = y(xn) − yn, n = 1, . . . , N (22)
8
2.4 Modelagem de Problemas que Envolvem Equa¸c˜oes Diferenciais
Nesta se¸c˜ao ser˜ao listados apenas alguns problemas que podem ser modelados atrav´es de Equa-
¸c˜oes Diferenciais Ordin´arias. A maioria dos problemas s˜ao de natureza f´ısica, por´em vale ressaltar
que o escopo para uso das Equa¸c˜oes Diferenciais Ordin´arias ´e ilimitado. Como poder´a ser obser-
vado com os modelos de Dinˆamica Populacional e Modelo Predador-Presa. Alguns exemplos de
modelagem que podem ser citados s˜ao:
Desintegra¸c˜ao Radioativa: Em muitos materiais radioativos, a sua massa decai ao longo do
tempo de acordo com a equa¸c˜ao dM
dt = −kM, em que M ´e a massa do material num dado
instante.
Arrefecimento de um Corpo: A temperatura de um corpo T em contacto com um ambiente
a uma temperatura A, constante, ´e modelado pela equa¸c˜ao de arrefecimento de Newton
dT
dt = −k(T − A), em que k ´e uma constante de transmiss˜ao de calor.
Circuito RC: Em um circuito constitu´ıdo por uma bateria com diferen¸ca de potencial V, uma
resistˆencia R e um condensador de capacidade C. O circuito obedece `as seguintes equa¸c˜oes
diferenciais
V = RI +
Q
C
e I =
dQ
dt
(23)
Dinˆamica Populacional: Um modelo simplificado de dinˆamica poulacional (modelo de Verhulst-
Pearl) prevˆe que a varia¸c˜ao da popula¸c˜ao M se fa¸ca de acordo com a equa¸c˜ao diferencial
dP
dt
= −kP 1 −
P
L
(24)
em que P ´e a popula¸c˜ao num dado tempo, k uma constante (de crescimento inicial) e L um
valor limite.
Modelo Predador-Presa: Um sistema ecol´ogico com duas esp´ecies (predador-presa) pode ser
modelado pelas equa¸c˜oes abaixo (Lotka-Volterra), neste caso referentes `a varia¸c˜ao do n´umero
de raposas (F) e de coelhos (R) dR
dt = −aR − bRF e dF
dt = ebRF − cF onde os parˆametros
tˆem o seguinte significado
• a ´e a taxa de crescimento natural de coelhos, na ausˆencia de predadores;
• b ´e a taxa de mortalidade por encontro de coelhos com raposas;
• c ´e a taxa de mortalidade natural de raposas na falta de coelhos;
• e ´e a eficiˆencia de transforma¸c˜ao de coelhos em raposas.
Movimento de um Pˆendulo: O movimento de um pˆendulo pode ser modelado atrav´es da equa-
¸c˜ao diferencial
d2
α
dt2
= −
g
L
sin α − k
dα
dt
(25)
em que α ´e o ˆangulo de desvio da vertical em cada instante, m a masssa do pˆendulo
(assumindo-se que a massa do fio ´e deprez´avel) g a acelera¸c˜ao da gravidade (9.8ms−2
),
L o comprimento do pˆendulo e k uma constante (nula no caso de um pˆendulo sem fric¸c˜ao).
Circuito RLC: Em um circuito constitu´ıdo por uma bateria com diferen¸ca de potencial V, uma
resistˆencia R, um condensador de capacidade C e uma bobina de indutˆancia L. O circuito
obedece `as seguintes equa¸c˜oes diferenciais
V = VR + VC + VL; VL = L
dI
dt
; VR = RI; VC =
Q
C
e I =
dQ
dt
(26)
9
Figura 7: Problemas que s˜ao cotidianamente modelados atrav´es de Equa¸c˜oes Diferenciais Ordin´arias: Circuitos
RC, Movimento Pendular e Circuitos RLC.
3 Resolu¸c˜ao de Equa¸c˜oes Diferenciais Ordin´arias
3.1 M´etodos Num´ericos Para a Resolu¸c˜ao de Equa¸c˜oes Diferenciais Or-
din´arias
O estudo e a implementa¸c˜ao de m´etodos num´ericos para a solu¸c˜ao de equa¸c˜oes diferenciais
ordin´arias(EDO) ´e uma ferramenta de grande utilidade para a solu¸c˜ao de muitos problemas, sejam
em Matem´atica ou ´areas afins, cuja as t´ecnicas conhecidas de resolu¸c˜ao de equa¸c˜oes diferenciais
mediante solu¸c˜oes anal´ıticas, como a integra¸c˜ao ou os desenvolvimentos em s´eries de potˆencias n˜ao
se aplicam ou s˜ao de utiliza¸c˜ao muito complicada ou praticamente invi´avel.
Desta forma,o emprego de m´etodos num´ericos tˆem a finalidade de se conseguir aproxima¸c˜oes
num´ericas muito acuradas em rela¸c˜ao `a solu¸c˜ao exata de uma equa¸c˜ao diferencial do tipo y (x) =
f(x, y(x)), onde f(x, y) ´e uma fun¸c˜ao estabelecida. Por´em, para se definir uma ´unica fun¸c˜ao y(x)
temos de fornecer dados adicionais `a equa¸c˜ao diferencial para o qual ´e necess´ario uma condi¸c˜ao que
denominamos de problema de valor inicial ou problema de valor de contorno, mais se restringiremos
somente ao primeiro caso em nosso estudo. Num problema de valor inicial (PVI), procuramos y(x),
solu¸c˜ao de uma equa¸c˜ao diferencial em estudo, que satisfa¸ca a seguinte condi¸c˜ao:
y (x) = f(x, y); y(x0) = y0 (27)
com x0 e y0 sendo valores conhecidos.
No entanto o problema descrito acima ´e poss´ıvel de se implementar em uma linguagem de
programa¸c˜ao para computadores e tamb´em em algumas calculadoras cient´ıficas port´ateis.
Nas se¸c˜oes subsequentes trataremos dos m´etodos num´ericos de passo simples, onde estes re-
querem somente o conhecimento de yn para a determina¸c˜ao de yn+1, como o M´etodo de Euler,
M´etodo de Euler Inverso, M´etodo de Euler Aprimorado, assim como Runge-Kutta de ordem dois
e quatro.
Mais adiante trataremos dos m´etodos de passos m´ultiplos, onde estes utilizam dados de outros
pontos al´em do ponto pr´evio, digamos yn, yn−1, yn−2 para a determina¸c˜ao de yn+1, como o M´etodo
de Adams e f´ormulas inversas de diferencia¸c˜ao, assim como a discuss˜ao de erros e estabilidade destes
m´etodos, podendo compar´a-los em rela¸c˜ao aos resultados obtidos nos m´etodos de passo simples.
Por´em, antes mesmo da introdu¸c˜ao desses m´etodos, faz-se necess´ario a demostra¸c˜ao de algumas
das f´ormulas matem´aticas que regem os mesmos, com a inten¸c˜ao de deixar mais claro e coeso o
pr´oposito de nosso estudo.
As nota¸c˜oes que ser˜ao usadas ao longo do trabalho s˜ao as seguintes. A solu¸c˜ao exata do
problema de valor inicial dado pelas equa¸c˜oes (27) ser´a representada por φ ou y = φ(x), deste
modo, o valor da solu¸c˜ao exata em xn ´e φ(xn). Para um dado procedimento num´erico, os s´ımbolos
yn e yn = φ(xn, yn) representar˜ao os valores aproximados da solu¸c˜ao exata e de sua derivada no
ponto xn. Obviamente, φ(x0) = y0, mas em geral, φ(xn) = yn, para n ≥ 1. De modo an´alogo,
φ (x0) = y0, mas em geral, φ (xn) = f[xn, φ(xn)] n˜ao ´e igual a yn = f(xn, yn), para n ≥ 1. Al´em
disso, em toda a discuss˜ao, utilizaremos um espa¸camento 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.
10
4 M´etodos de Passo Simples
4.1 O M´etodo de Euler
O m´etodo de Euler ´e o m´etodo num´erico mais elementar de um passo para a resolu¸c˜ao de
equa¸c˜oes diferenciais ordin´arias. Deste modo,vamos discutir o desenvolvimento e o emprego dos
procedimentos num´ericos deste m´etodo.
Primeiramente, vamos nos concentrar principalmente nos problemas de valor inicial de equa¸c˜oes
diferenciais de primeira ordem, constitu´ıdos pela equa¸c˜ao diferencial
y = f(x, y) eq.1 (28)
e pela condi¸c˜ao inicial
y(x0) = y0 eq.2 (29)
e seguiremos o seguinte teorema
Teorema 2. Sejam as fun¸c˜oes f e fy cont´ınuas num certo retˆangulo α < x < β; γ < y < δ que
cont´em o ponto (x0, y0). Ent˜ao num certo intervalo x0 − h < x < x0 + h, contido em α < x < β
h´a uma ´unica solu¸c˜ao y = f(x) do problema de valor inicial:
y (x) = f(x, y); y(x0) = y0 (30)
A primeira tentativa de resolu¸c˜ao num´erica de uma equa¸c˜ao diferencial foi feita por Eu-
ler,aproximadamente em 1768. Usou o que se chama hoje o m´etodo da reta tangente, ou
tamb´em m´etodo de Euler. Uma vez que, x0 e y0 s˜ao conhecidos, a inclina¸c˜ao ou coeficiente
angular da reta tangente `a solu¸c˜ao em x = x0, especificamente f0(x0) = f(x0, y0), tamb´em ´e
conhecida. Deste modo, podemos construir a reta tangente `a solu¸c˜ao em x0, e ent˜ao obter um
valor aproximado y1 de f(x1) por meio de um deslocamento ao longo da reta tangente desde de
x0 at´e x1.
Assim,
y1 = y0 + φ (x0)(x1 − x0) = y0 + f(x0, y0)(x1 − x0) eq.3 (31)
Uma vez que se tenha determinado y1, podemos calcular y1 = f(x1, y1) e usar este valor como
o coeficiente angular para uma nova aproxima¸c˜ao, ao nos deslocarmos de x1 at´e x2.
Obtendo assim,
y2 = y1 + y1(x2 − x1) = y1 + f(x1, y1)(x2 − x1) eq.4 (32)
Em geral y1 = f(x1) e ent˜ao, em geral, f(x1, y1) n˜ao ´e igual a f[x1, f(x1)], que ´e o coeficiente
angular da solu¸c˜ao exata em x1. Continuando desta maneira, usamos o valor de y calculado em
cada passo para determinar o coeficiente angular da aproxima¸c˜ao do passo seguinte. A f´ormula
geral da aproxima¸c˜ao de Euler ´e:
yn+1 = yn + f(xn, yn)(xn+1 − xn) eq.5 (33)
Se admitirmos que o incremento h entre os pontos x0, x1, x2, . . . seja uniforme, ent˜ao xn+1 =
xn + h e a f´ormula de Euler assumem o aspecto
yn+1 = yn + hf(xn, yn) = yn + hfn, n = 0, 1, 2, . . . eq.6 (34)
Antes de discutirmos o m´etodo de Euler com mais profundidade, ilustraremos o seu uso num
problema de valor inicial.
11
Consideremos o problema a seguir:
y = x − 2xy (eq.7), y(0) = 1 (eq.8) (35)
No decorrer deste trabalho, usaremos este pequeno exemplo para demostra¸c˜oes e compara¸c˜oes
dos diferentes m´etodos num´ericos. A equa¸c˜ao (7)[35] ´e uma equa¸c˜ao diferencial ordin´aria linear de
primeira ordem, cuja solu¸c˜ao satisfaz a condi¸c˜ao inicial (8)[35]. Deste modo, obteremos a solu¸c˜ao
geral e particular da equa¸c˜ao diferencial proposta.
Sabemos que uma equa¸c˜ao diferencial ordin´aria linear de primeira ordem, tem a forma:
y + p(x)y = q(x) (eq.9), (36)
onde p(x) e q(x) s˜ao fun¸c˜oes cont´ınuas dadas, num certo intervalo α < x < β , segundo o
Teorema 2;
Assim da eq.(9)[36], obtemos o fator integrante:
µ(x) = e
R
p(x)dx
(eq.10), (37)
e a sua primitiva ´e:
y(x)e
R
p(x)dx
= q(x)e
R
p(x)dx
dx + C (eq.11) (38)
A constante arbitr´aria C ´e usada para satisfazer a condi¸c˜ao inicial estabelecida no problema.
Desta maneira, podemos escrever a equa¸c˜ao(7) na forma da equa¸c˜ao(9) acima.
y + 2xy = x (eq.12) (39)
onde p(x) = 2x e q(x) = x s˜ao fun¸c˜oes cont´ınuas no intervalo [0, 1] escolhido. O fator integrante
´e:
µ(x) = e
R
2xdx
= ex2
(eq.13) (40)
e sua primitiva ´e:
y(x)ex2
= xex2
dx + C (eq.14) (41)
onde;
xex2
dx =
1
2
ex2
+ C (eq.15) (42)
utilizando-se a integra¸c˜ao por mudan¸ca de vari´avel. Atrav´es da condi¸c˜ao inicial (8), encontramos
que c = 1
2 e assim;
y = φ(x) =
1
2
+
1
2
e−x2
(eq.16) (43)
´e a solu¸c˜ao particular do problema dado.
Uma vez que a solu¸c˜ao exata ´e conhecida, n˜ao precisamos de m´etodos num´ericos para resolver
o problema de valor inicial (7) e (8). Mas por outro lado, a disponibilidade de uma solu¸c˜ao exata
facilitar´a o c´alculo da exatid˜ao dos diversos procedimentos num´ericos que ser˜ao adotados neste
problema e nos demais seguintes.
Tomemos como exemplo, a utiliza¸c˜ao da f´ormula de Euler (6), com um incremento h = 0, 1;
e, em seguida para h = 0, 05, onde deseja-se calcular um valor aproximado da solu¸c˜ao y = φ(x)
em x = 0, 2 para o problema de valor inicial (7) e (8). Identificamos inicialmente yn = f(x, y) =
x − 2xy, de modo que a f´ormula de Euler (6) se escreve como :
yn+1 = yn + h(xn − 2xnyn)
Ent˜ao, para h = 0, 1, utilizando a f´ormula do m´etodo de Euler, calculamos inicialmente,
y0 = f(0, 1) = 0 − 2 · 0 · 1 = 0
12
ent˜ao,
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 ´e uma estimativa do valor de y(0, 2) com x = 0, 2. Entretanto, tomando h = 0, 05,
tornam-se necess´arias quatro itera¸c˜oes para chegarmos a x = 0, 2.
Se prosseguirmos com a aproxima¸c˜ao do m´etodo de Euler, ao longo do intervalo desejado [0, 1],
obedecendo os valores de incremento determinados h = 0, 1 e h = 0, 05, encontraremos os demais
valores aproximados da solu¸c˜ao exata. Seguindo a elabora¸c˜ao de um algoritmo para o m´etodo
(podendo utilizar um programa em linguagem C, por exemplo) obteremos os demais valores de
xn ao longo do intervalo analisado. Desta forma, podemos construir uma tabela de dados que nos
permitir´a estruturar, para uma melhor an´alise, `as demais solu¸c˜oes aproximadas.[Para uma melhor
introdu¸c˜ao a algoritmos e linguagens de programa¸c˜ao ler ”Aprendendo a Programar Programando
em C”] (Evaristo, 2001)
Figura 8: Ilustra¸c˜ao do m´etodo de Euler. Observe como se comporta o gr´afico em rela¸c˜ao a solu¸c˜ao num´erica
(m´etodo de Euler) e anal´ıtica de uma equa¸c˜ao diferencial ordin´aria de 1a ordem. O m´etodo pode ser aplicado com
o uso de l´apis, papel e calculadora. No entanto, este processo ´e fastidioso pelo n´umero de itera¸c˜oes. Seu desenvol-
vimento utilizando um computador ´e muito mais simples. Repare que o valor do passo ´e escolhido considerando-se
o erro desejado. O erro no m´etodo de Euler ´e da ordem de O(h2).
ALGORITMO DO M´ETODO DE EULER
• No intervalo , selecione os pontos x0 < x1 < . . . < xn = x0 + nh com um incremento
h = (x0+nh)−x0
n entre eles.
• Calcule a aproxima¸c˜ao x1 de φ(x1) usando a f´ormula descrita pelo m´etodo x1 = x0 +
hf(x0, y0)
• Agora, calcule a aproxima¸c˜ao x2 de φ(x2) usando novamente a f´ormula descrita pelo m´etodo
x2 = x1 + hf(x1, y1)
• Continue o processo e obtenha as aproxima¸c˜oes x3, x4, . . . , xn usando sucessivamente a f´or-
mula xn+1 = xn + hf(xn, yn) ao longo do intervalo [x0, x0 + nh].
13
¨§ ¤
1 Entre com a funcao f(x, y) .
2 Entre com os v a l o r e s i n i c i a i s x0 e y0 .
3 Entre com o passo h .
4 Enquanto xn  xfinal Execute :
5 Escreva n, xn, yn .
6 Avalie xn+1 = xn + h .
7 Avalie yn+1 = yn + h · f(xn, yn) .
8 Faca xn = xn+1 e yn = yn+1
9 Fim.
 ©¦ ¥
C´odigo Fonte 1: Algoritmo Simplificado do M´etodo de Euler, tamb´em conhecido como m´etodo da reta secante.
´E um dos m´etodos mais antigos que se conhece para a solu¸c˜ao de equa¸c˜oes diferenciais ordin´arias. Problemas
pr´aticos n˜ao devem ser resolvidos com o m´etodo de Euler. Existem outros m´etodos que proporcionam resultados
com uma melhor precis˜ao e estabilidade se comparados ao m´etodo de Euler para o mesmo passo.
Para ilustrar ainda mais a obten¸c˜ao dos valores do exemplo padr˜ao, exibiremos uma pequena
implementa¸c˜ao do M´etodo de Euler em C++ [C´odigo Fonte 2]. Observe que neste exemplo de
codifica¸c˜ao utilizamos h = 0.001 apenas a t´ıtutlo explorat´orio. Na tabela de valores utilizamos a
equa¸c˜ao y = x − 2xy, y(0) = 1 que possibilitou gerar os demais valores aproximados xn ao longo
do intervalo em [0, 1] com valores de incrementos h = 0, 1 e h = 0, 05.
 ¨§ ¤
1 #i n c l u d e cmath
2 #i n c l u d e c s t d l i b 
3 #i n c l u d e iostream
4
5 /∗ Solucao y(x) da equacao − Definicao da funcao ∗/
6 double y ( double x ) { return . . . }
7
8 /∗ A funcao f(x, y) ∗/
9 double f ( double x , double y ) { return . . . }
10
11 /∗ Funcao P r i n c i p a l do Programa ∗/
12 int main( int argc , char∗ argv [ ] )
13 {
14 double xn , xn1 , xmax ; /∗ v a r i a v e i s xn e xn+1 ∗/
15 double yn , yn1 ; /∗ v a r i a v e i s yn e yn+1 ∗/
16 double y0 , x0 ; /∗ v a l o r e s i n i c i a i s de y e x ∗/
17 double h ; /∗ passo ∗/
18 int n ;
19
20 x0 = 0 . 0 ; /∗ v a lo r i n c i a l para x ∗/
21 y0 = 1 . 0 ; /∗ v a lo r i n i c i a l para y ∗/
22 xmax = 2 . 0 ; /∗ v a lo r maximo para x ∗/
23 h = 0 . 0 0 1 ; /∗ o v a l or do passo ∗/
24 xn = t0 ;
25 yn = y0 ;
26 n = 0 ; /∗ numero de i t e r a c o e s ∗/
27 while ( xn  xmax)
28 {
29 /∗ Escreva os v a l o r e s das v a r i a v e i s ∗/
30 std : : cout  n    t   xn    t   yn    t   y ( xn )  std : : endl ;
31
32 /∗ Estime yn+1 pelo metodo de Euler ∗/
33 yn1 = yn + h∗ f ( xn , yn ) ;
34 xn1 = xn + h ;
35
36 /∗ Atribua os v a l o r e s para a proxima i t e r a c a o ∗/
37 n = n + 1 ;
38 yn = yn1 ;
39 xn = xn1 ;
40 }
41
42 /∗ Termino do programa ∗/
43 return EXIT SUCCESS ;
44 }
 ©¦ ¥
C´odigo Fonte 2: Exemplo de um programa em C++ para a solu¸c˜ao de uma EDO pelo m´etodo de Euler. Este
programa foi escrito apenas com intuito did´atico, o uso de outras t´ecnicas inerentes a linguagem como Orienta¸c˜ao
`a Objetos, defini¸c˜ao de classes para avalia¸c˜ao de fun¸c˜oes, Objetos-Fun¸c˜ao e o pr´oprio uso da STL podem dar um
semblante mais profissional ao pequeno trecho de c´odigo apresentado.
Nas tabelas [1] e [2], os valores encontrados para a solu¸c˜ao exata, foram calculados a partir
14
xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo %
0,00 1,0000 1,0000 0,0000 0,00
0,10 1,0000 0,9950 0,0050 0,50
0,20 0,9900 0,9804 0,0096 0,97
0,30 0,9704 0,9570 0,0134 1,40
0,40 0,9422 0,9261 0,0161 1,73
0,50 0,9068 0,8894 0,0233 2,61
0,60 0,8661 0,8488 0,0174 2,04
0,70 0,8222 0,8063 0,0159 1,97
0,80 0,7771 0,7636 0,0135 1,76
0,90 0,7327 0,7224 0,0103 1,42
1,00 0,6908 0,6839 0,0069 1,00
Tabela 1: Resultado da aplica¸c˜ao do m´etodo de Euler, com valor do incremento h = 0, 1, na resolu¸c˜ao num´erica
de y = x − 2xy, y(0) = 1
xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo %
0,00 1,0000 1,0000 0,0000 0,00
0,05 1,0000 0,9988 0,0012 0,12
0,10 0,9975 0,9950 0,0025 0,25
0,15 0,9925 0,9889 0,0036 0,36
0,20 0,9851 0,9804 0,0047 0,47
0,25 0,9754 0,9697 0,0057 0,58
0,30 0,9635 0,9570 0,0065 0,67
0,35 0,9496 0,9424 0,0072 0,76
0,40 0,9339 0,9261 0,0078 0,84
0,45 0,9165 0,9083 0,0082 0,90
0,50 0,8978 0,8894 0,0084 0,94
0,55 0,8779 0,8695 0,0084 0,96
0,60 0,8571 0,8488 0,0083 0,97
0,65 0,8357 0,8277 0,0080 0,96
0,70 0,8138 0,8063 0,0075 0,93
0,75 0,7919 0,7848 0,0071 0,90
0,80 0,7700 0,7636 0,0064 0,83
0,85 0,7484 0,7428 0,0056 0,75
0,90 0,7273 0,7224 0,0049 0,67
0,95 0,7068 0,7028 0,0040 0,56
1,00 0,6871 0,6839 0,0032 0,46
Tabela 2: Resultado da aplica¸c˜ao do m´etodo de Euler, com valor do incremento h = 0, 05, na resolu¸c˜ao num´erica
de y = x − 2xy, y(0) = 1.
15
da solu¸c˜ao anal´ıtica y = φ(x) = 1
2 + 1
2 e−x2
. Por outro lado, define-se o erro absoluto como:
|exata − aprox|.
Por outro lado, o erro relativo e erro relativo percentual s˜ao definidos como:
|exata − aprox|
|exata|
e
|exata − aprox|
|exata|
· 100 =
erro absoluto
|exata|
· 100
Um programa de computador permite-nos examinar aproxima¸c˜oes do gr´afico da solu¸c˜ao y(x)
de um problema de valor inicial, tra¸cando os gr´aficos de retas pelos pontos (xn, yn) gerados pelo
m´etodo de Euler.
Figura 9: Aqui comparamos no intervalo [0,1], o gr´afico da solu¸c˜ao exata do problema de valor inicial (B) com
o gr´afico obtido pelo m´etodo de Euler (A) utilizando o valores para h = 0, 05. Se fizessemos um comparativo para
h = 0, 1 seria f´acil observar que a aproxima¸c˜ao melhora quando o passo diminui.
Um fato relevante, ao adotar um procedimento num´erico, como o m´etodo de Euler, ´e ter
sempre em mente a quest˜ao de saber se os resultados s˜ao suficientemente muito pr´oximos da
solu¸c˜ao exata para terem utilidade. No exemplo precedente, a exatid˜ao dos resultados num´ericos
pode ser verificada graficamente, pela compara¸c˜ao com a solu¸c˜ao exata. Pois ´e natural, n˜ao se
dispor, em geral, da solu¸c˜ao exata quando se adota um procedimento num´erico.
Vamos agora apontar trˆes maneiras de demonstrar a f´ormula de Euler (6), que sugerem formas
de se encontrar f´ormulas melhores, e que tamb´em ajudam na investiga¸c˜ao dos erros cometidos com
ado¸c˜ao da equa¸c˜ao (6).
Em primeiro lugar, vamos escrever a equa¸c˜ao diferencial (1) no ponto x = xn na forma
dφ
dt
(xn) = f[xn, φ(xn)] (eq.17) (44)
Em seguida, aproximamos a derivada da equa¸c˜ao (17) pela rela¸c˜ao [φ(xn+1)−φ(xn)]/xn+1−xn,
e como, h = xn+1 − xn, obtendo-se assim
φ(xn+1) − φ(xn)
h
∼= f[xn, φ(xn)] (eq.18) (45)
Finalmente, substitu´ımos φ(xn+1) e φ(xn) pelos valores aproximados yn+1 e yn respectiva-
mente, obtendo a f´ormula de Euler (6)
yn+1 = yn + hfn
Em segundo lugar, como y = φ(x) ´e uma solu¸c˜ao do problema de valor inicial (1), (2), 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)]dt
Aplicando o 1o
Teorema Fundamental do C´alculo no 1o
membro da igualdade, temos que :
16
φ(x)|xn+1
xn
=
xn+1
xn
f[x, φ(x)]dt
φ(xn+1) − φ(xn) =
xn+1
xn
f[x, φ(x)]dt
φ(xn+1) = φ(xn) +
xn+1
xn
f[x, φ(x)]dt (eq.19) (46)
Se aproximarmos a integral, pela substitui¸c˜ao de f[x, φ(x)] por seu valor f[xn, φ(xn)] em x =
xn. Desta maneira, obteremos :
φ(xn+1) ∼= φ(xn) + f[xn, φ(xn)](xn+1 − xn)
φ(xn+1) = φ(xn) + hf[xn, φ(xn)] (eq.20) (47)
Finalmente para se ter uma aproxima¸c˜ao yn+1 para φ(xn+1) fazemos uma segunda aproxima¸c˜ao
pela substitui¸c˜ao de φ(xn) por seu valor aproximado yn na equa¸c˜ao (20). Isto nos leva `a f´ormula
de Euler (6)
yn+1 = yn + hf(xn, yn)
Pode-se obter uma f´ormula mais exata, se a integral for aproximada com maior exatid˜ao. Em
terceiro lugar, vamos admitir que a solu¸c˜ao y = φ(x) tenha uma s´erie de Taylor em torno do ponto
x = xn, ent˜ao :
φ(xn + h) = φ(xn) + φ (xn)h + φ (xn)
h2
2!
+ . . .
ou
φ(xn + h) = φ(xn) + f[xn, φ(xn)]h + φ (xn)
h2
2!
+ . . . (eq.21) (48)
Se a s´erie for truncada depois dos primeiros termos, e se φ(xn+1) e φ(xn) forem substitu´ıdas
pelos valores aproximados yn+1 e yn obteremos outra vez a f´ormula de Euler (6) :
yn+1 = yn + hf(xn, yn)
Quando utilizamos mais termos da s´erie, conseguimos f´ormulas mais exatas e precis˜oes muito
maiores.
4.1.1 F´ormula de Euler Inversa
Uma variante da f´ormula de Euler pode ser obtida aproximando a derivada da equa¸c˜ao (17)
pela express˜ao [φ(xn) − φ(xn−1)]/h em vez de usar a express˜ao do lado esquerdo da equa¸c˜ao (18).
Desta forma, obtemos :
φ(xn) − φ(xn−1) ∼= hf(xn, yn)
ou
yn = yn−1 + hf(xn, yn)
Mudando o ind´ıce de n para n + 1, obtemos a f´ormula de Euler inversa
yn+1 = yn + hf(xn+1, yn+1) (eq.22) (49)
17
Supondo que yn seja conhecido e que yn+1 deva ser calculado, observe que a equa¸c˜ao (22)
n˜ao fornece uma f´ormula expl´ıcita para calcular yn+1. Em vez disso, a equa¸c˜ao define yn+1
implicitamente e deve ser resolvida para determinar o valor de yn+1.
Como exemplo, use a f´ormula de Euler inversa (22) para determinar valores aproximados da
solu¸c˜ao do problema de valor inicial (7) e (8). Use h = 0, 1 e determine y1 e y2. No primeiro passo,
temos:
y1 = y0 + hf(x1, y1) = 1 + (0, 1)(0, 1 − 2 · (0, 1) · y1)
Tirando o valor de y1, obtemos:
y1 = 1, 01/1, 02 = 0, 99019607
com uma precis˜ao de oito algarismos significativos. Observe que como a equa¸c˜ao diferencial
´e linear, a equa¸c˜ao impl´ıcita para calcular y1 tamb´em ´e linear e portanto f´acil de resolver. Em
seguida, temos:
y2 = y1 + hf(x2, y2) = 0, 99019607 + (0, 1)(0, 2 − 2 · (0, 2) · y2),
o que leva a
y2 = 1, 01019607/1, 04 = 0, 971342375
Os valores de y1 e y2 determinados podem ser comparados com os valores correspondentes da
solu¸c˜ao exata, φ(0, 2) = 0, 9804. Continuando o processo iniciado no exemplo anterior e tomando
os mesmos valores para o incremento h = 0, 1 e h = 0, 05, respectivamente, podemos gerar os
dados que aparecem na Tabela (3) e (4)
xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo %
0,00 1,0000 1,0000 0,0000 0,00
0,10 0,9902 0,9950 0,0048 0,48
0,20 0,9713 0,9804 0,0091 0,93
0,30 0,9447 0,9570 0,0123 1,30
0,40 0,9117 0,9261 0,0143 1,57
0,50 0,8743 0,8894 0,0151 1,72
0,60 0,8342 0,8488 0,0146 1,75
0,70 0,7932 0,8063 0,0132 1,65
0,80 0,7527 0,7636 0,0109 1,45
0,90 0,7142 0,7224 0,0083 1,15
1,00 0,6785 0,6839 0,0055 0,80
Tabela 3: Resultado da aplica¸c˜ao do m´etodo de Euler inversa, com valor do incremento h = 0, 1, na resolu¸c˜ao
num´erica de y = x − 2xy, y(0) = 1.
Comparando os resultados da Tabela (1) e da Tabela (2), vemos que para este problema, a
f´ormula de Euler inversa ´e um pouco menos precisa que a f´ormula de Euler expl´ıcita. J´a que
ela tamb´em ´e um pouco mais dif´ıcil de usar, podemos ficar a nos perguntar por que nos demos o
trabalho de mencion´a-la. A resposta ´e que trata do exemplo mais simples de uma classe de m´etodos
conhecidos como f´ormulas inversas de diferencia¸c˜ao que podem ser muito ´uteis para resolver certas
classes de equa¸c˜oes diferenciais (Boyce  DiPrima, 2005; Zill, 2003).
4.1.2 F´ormula de Euler Aprimorada
Uma f´ormula aproximada melhor pode ser obtida se o integrando na equa¸c˜ao (19) for apro-
ximado com maior exatid˜ao. Uma forma de conseguir esta melhoria ´e a de substituir o inte-
grando pela m´edia dos seus valores nas duas extremidades do intervalo de integra¸c˜ao, ou seja,
por {f[xn, φ(xn)] + f[xn+1, φ(xn+1)]}/2. Al´em disso, se substituirmos φ(xn) e φ(xn+1) pelos
respectivos valores aproximados yn e yn+1, obteremos, da equa¸c˜ao (22),
yn+1 = yn +
f(xn, yn) + f(xn+1, yn+1)
2
h (eq.23) (50)
18
xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo %
0,00 1,0000 1,0000 0,0000 0,00
0,05 0,9975 0,9988 0,0024 0,12
0,10 0,9926 0,9950 0,0025 0,24
0,15 0,9853 0,9889 0,0036 0,36
0,20 0,9758 0,9804 0,0046 0,47
0,25 0,9642 0,9697 0,0055 0,57
0,30 0,9507 0,9570 0,0063 0,66
0,35 0,9354 0,9424 0,0069 0,74
0,40 0,9187 0,9261 0,0074 0,80
0,45 0,9007 0,9083 0,0077 0,85
0,50 0,8816 0,8894 0,0078 0,88
0,55 0,8617 0,8695 0,0078 0,90
0,60 0,8412 0,8488 0,0076 0,90
0,65 0,8204 0,8277 0,0073 0,89
0,70 0,7994 0,8063 0,0069 0,86
0,75 0,7785 0,7848 0,0064 0,81
0,80 0,7579 0,7636 0,0057 0,75
0,85 0,7377 0,7428 0,0051 0,68
0,90 0,7180 0,7224 0,0044 0,60
0,95 0,6992 0,7028 0,0036 0,51
1,00 0,6810 0,6839 0,0029 0,42
Tabela 4: Resultado da aplica¸c˜ao do m´etodo de Euler inversa, com valor do incremento h = 0, 05, na resolu¸c˜ao
num´erica de y = x − 2xy, y(0) = 1
Uma vez que a inc´ognita yn+1 aparece como um dos argumentos de f no segundo membro da
equa¸c˜ao (23) ´e muitas vezes bastante dif´ıcil resolver esta equa¸c˜ao em yn+1. Esta dificuldade pode
ser superada pela substitui¸c˜ao, no segundo membro da equa¸c˜ao (23), de yn+1 pelo valor obtido
mediante a f´ormula de Euler (6).
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 (eq.24) (51)
onde xn+1 foi substitu´ıdo por xn + h.
A equa¸c˜ao (24) d´a uma f´ormula para o c´alculo de yn+1, o valor aproximado de φ(xn+1), em
termos dos dados em xn. ´E conhecido como f´ormula de Euler aprimorada ou f´ormula de Heun.
O aprimoramento da equa¸c˜ao (22) em rela¸c˜ao `a f´ormula de Euler(6) est´a em que o erro de
truncamento local, com a equa¸c˜ao (24) ´e proporcional a O(h3
), enquanto com m´etodo de Euler
´e proporcional a O(h2
). Nota-se que esta melhoria da exatid˜ao ´e conseguida `as custas de maior
quantidade de trabalho computacional, pois se tem que estimar f(x, y) duas vezes a fim de passar
de xn para xn+1.
Se f(x, y) depender exclusivamente de x e n˜ao de y, a resolu¸c˜ao da equa¸c˜ao diferencial y =
f(x, y) se reduz `a integra¸c˜ao de f(x). Neste caso, a f´ormula de Euler aprimorada (24) fica
yn+1 − yn =
h
2
[f(xn) + f(xn + h)] (eq.25) (52)
que ´e a regra do trap´ezio para a integra¸c˜ao num´erica.
4.2 O M´etodo dos Trˆes Termos da S´erie de Taylor
Vimos em uma se¸c˜ao anterior que a f´ormula de Euler, yn+1 = yn + hf(xn, yn), para resolver o
problema de valor inicial y = f(x, y), y(x0) = y0 pode ser deduzida retendo-se os dois primeiros
termos na s´erie de Taylor para a solu¸c˜ao y = φ(x) em torno do ponto y = xn. Pode-se obter
uma f´ormula mais precisa usando-se os trˆes primeiros termos. Considerando-se que φ tem, pelo
menos, trˆes derivadas cont´ınuas no intervalo de interesse (ou seja, ´e pelo menos de classe C3
e
19
xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo %
0,00 1,0000 1,0000 0,0000 0,00
0,10 0,9950 0,9950 0,0000 0,00
0,20 0,9803 0,9804 0,0001 0,10
0,30 0,9569 0,9570 0,0001 0,01
0,40 0,9260 0,9261 0,0001 0,01
0,50 0,8894 0,8894 0,0000 0,00
0,60 0,8545 0,8488 0,0057 0,67
0,70 0,8114 0,8063 0,0051 0,63
0,80 0,7682 0,7636 0,0046 0,60
0,90 0,7264 0,7224 0,0040 0,55
1,00 0,6875 0,6839 0,0036 0,52
Tabela 5: Resultado da aplica¸c˜ao do m´etodo de Euler aprimorado, com valor do incremento h = 0, 1, na
resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1.
f tem derivadas parciais de segunda ordem cont´ınuas) e usando a s´erie de Taylor com um resto,
obtemos
φ(xn + h) = φ(xn) + φ (xn)h + φ (xn)
h2
2!
+ φ (xn)
h3
3!
(eq.26) (53)
onde xn ´e algum ponto no intervalo xn  xn  xn + h.
Da equa¸c˜ao (17),
φ (xn) = f[xn, φ(xn)]
Al´em disso, φ (xn) pode ser calculado da equa¸c˜ao anterior :
φ (x) = fx[x, φ(x)] + fy[x, φ(x)]φ (x) (eq.27) (54)
Deste modo,
φ (xn) = fx[xn, φ(xn)] + fy[xn, φ(xn)]φ (xn) (eq.28) (55)
Obt´em-se a f´ormula dos trˆes termos da s´erie de Taylor substituindo φ(xn) por seu valor apro-
ximado yn nas f´ormulas para φ (xn) e φ (xn) e ent˜ao desprezando o termo φ (xn)/3! na equa¸c˜ao
(26). Assim, obtemos:
yn+1 = yn + hyn +
h2
2
yn (eq.29) (56)
onde
yn = f(xn, yn) (eq.30) (57)
e
yn = fx(xn, yn) + fy(xn, yn)yn (eq.31) (58)
Assim,
yn+1 = yn + hf(xn, yn) +
h2
2
[fx(xn, yn) + fy(xn, yn)f(xn, yn)] (eq.32) (59)
´E trivial mostrar, considerando-se que φ(xn) = yn, que o erro de f´ormula local en+1 associado
`a f´ormula |exata − aprox| ´e:
en+1 = φ(xn+1) − yn+1 =
1
6
φ (xn)h3
(eq.33) (60)
onde xn  xn  xn + h.
Assim, o erro de f´ormula local para a f´ormula dos trˆes termos da s´erie de Taylor ´e proporcional a
O(h3
) exatamente como na f´ormula de Euler aprimorada discutida na se¸c˜ao anterior. Novamente,
pode-se tamb´em mostrar que, para um intervalo finito, o erro de f´ormula acumulado n˜ao ´e maior
que uma constante vezes O(h2
).
20
A f´ormula dos trˆes termos da s´erie de Taylor requer o c´alculo de fx(x, y) e fy(x, y) e ent˜ao a
avalia¸c˜ao destas fun¸c˜oes, bem como de f(x, y) em (xn, yn). Em alguns problemas, pode ser dif´ıcil,
ou bastante demorado, o c´alculo de fx e fy. Se este for o caso, ser´a provavelmente melhor usar
uma f´ormula com precis˜ao compar´avel, tal como a f´ormula de Euler aprimorada, que n˜ao requer
as derivadas parciais fx e fy. Em princ´ıpio, f´ormulas de quatro termos, ou mesmo mais, da s´erie
de Taylor podem ser desenvolvidas. Entretanto, tais f´ormulas envolvem derivadas parciais de f
ainda menores e s˜ao, em geral, impr´oprias para uso.
xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo %
0,00 1,0000 1,0000 0,0000 0,00
0,10 0,9900 0,9950 0,0050 0,50
0,20 0,9793 0,9804 0,0011 0,11
0,30 0,9507 0,9570 0,0062 0,64
0,40 0,9150 0,9261 0,0111 1,19
0,50 0,8739 0,8894 0,0155 1,74
0,60 0,8297 0,8488 0,0191 2,25
0,70 0,7842 0,8063 0,0221 2,74
0,80 0,7393 0,7636 0,0243 3,18
0,90 0,6967 0,7224 0,0257 3,55
1,00 0,6226 0,6839 0,0613 8,96
Tabela 6: Resultado da aplica¸c˜ao dos trˆes termos da s´erie de Taylor, com valor do incremento h = 0, 1, na
resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1
4.3 O M´etodo de Runge-Kutta
Os m´etodos de Runge-Kutta s˜ao os mais usados dentre aqueles apropriados para os problemas
de valor inicial. Os seus atrativos s˜ao simplicidade, alta precis˜ao e versatilidade nas aplica¸c˜oes a
serem utilizadas (Hull et al., 1972; Stabrowski, 1997; Gear, 1971). Tomemos a equa¸c˜ao diferencial
de primeira ordem, com o seguinte problema de valor inicial y = f(x, y), y(x0) = y0.
Considerando a malha definida pelo passo h, podemos usar a f´ormula de diferen¸cas finitas
avan¸cada para discretizar a derivada de y(x) no ponto xk. Assim, obtemos uma vers˜ao discretizada
de (18)
yk+1 − yk
h
= f(xk, yk) (eq.34) (61)
Esta equa¸c˜ao permite que calculemos yk+1 a partir de yk, e define o M´etodo de Euler (1707-1783),
estabelecido em 1768. Sua aplica¸c˜ao ´e muito simples:
y0 = y(x0)
yk+1 = yk + hf(xk, yk), para k = 0, 1, 2, . . .
O m´etodo num´erico de Euler foi usado por Cauchy (1789-1857) em um procedimento matem´a-
tico para demonstrar a existˆencia de solu¸c˜ao para o problema do valor inicial. O argumento de
Cauchy foi generelizado por Lipschitz (1832-1903), exigindo menos da fun¸c˜ao f(x, y).
Como vimos anteriormente, a f´ormula avan¸cada introduz erro da ordem de h em cada passo.
E nas se¸c˜oes anteriores, como introduzimos a f´ormula de Euler, a f´ormula de Euler aprimorada e a
f´ormula de Taylor com trˆes termos, verifica-se que os erros de truncamento locais nesses m´etodos
s˜ao proporcionais a h2
, h3
e h3
, respectivamente. Todos eles pertencem `a chamada classe de
m´etodos de Runge-Kutta.
A id´eia de Euler tem vers˜oes de maior precis˜ao nos trabalhos de Runge em 1895, para o caso
de uma equa¸c˜ao, e Kutta em 1901, para o caso de sistemas de equa¸c˜oes diferenciais de primeira
ordem.
21
4.3.1 O M´etodo Runge-Kutta de Segunda Ordem.
Consideremos inicialmente os m´etodos Runge-Kutta de segunda ordem definidos pela expres-
s˜ao:
yk+1 − yk
h
= β0f(xk, yk) + β1f(xk + γh, yk + δh),
onde os parˆametros β0, β1, γ e δ ser˜ao convenientemente calculados de modo a aumentar a
precis˜ao do resultado.
Explicitando yk+1 nesta rela¸c˜ao, temos :
yk+1 = yk + hβ0f(xk, yk) + hβ1f(xk + γh, yk + δh) (eq.35) (62)
O ´ultimo termo do lado direito desta equa¸c˜ao pode ser desenvolvido atrav´es da s´erie de Taylor
para fun¸c˜oes de duas vari´aveis, isto ´e :
f(xk + γh, yk + δh) = f(xk, yk) + hγfx(xk, yk) + hδfy(xk, yk) +
1
2
[h
2
γ
2
fxx(xk, yk) + 2h
2
γδfxy(xk, yk) + h
2
δ
2
fyy(xk, yk)] + O(h
3
)
Levando esta expans˜ao para a equa¸c˜ao (35) e agrupando os termos de iguais potˆencias de h
teremos:
yk+1 = yk + [(β0 + β1)f(xk, yk)] +
h2
2
[2β1γfx(xk, yk) + 2β1δfy(xk, yk)] +
h3
6
[3β1γ2
fxx(xk, yk) + 6β1γδfxy(xk, yk) + 3β1δ2
fyy(xk, yk)] + O(h4
)
Nos m´etodos de Runge-Kutta adota-se, como crit´erio de escolha dos quatro parˆametros β0, β1,
γ e δ, a ordem de aproxima¸c˜ao dos valores de yk+1 obtidos.
Detalharemos a seguir apenas o caso simples, que ´e chamado Runge-Kutta de segunda ordem.
Tomando os desenvolvimentos feitos, vamos escolher β0, β1, γ e δ de modo que os multiplicadores
de h e h2
sejam iguais nas duas express˜oes. Desta maneira, os parˆametros devem satisfazer `as trˆes
rela¸c˜oes;
β0 + β1 = 1
2β1γ = 1
2β1δ = f(xk, yk)
Como s˜ao quatro os parˆametros e trˆes as condi¸c˜oes que eles devem satisfazer, existem v´arias
escolhas de β0, β1, γ e δ de modo que o c´alculo de yk+1 coincida com o da s´erie de Taylor, at´e o
termo de segunda ordem.
Assim, poder´ıamos tomar :
β0 = β1 =
1
2
, γ = 1 e δ = f(xk, yk)
Isto caracteriza o chamado M´etodo de Euler modificado ou
β0 = β1 = 1, γ =
1
2
e δ =
1
2
f(xk, yk)
Enquanto, que para este valores caracteriza o chamado M´etodo de Euler aperfei¸coado.
Desta forma, estes s˜ao os parˆametros que definem M´etodos de Runge-Kutta de segunda
ordem.
Para estabelecer outras f´ormulas mais gerais de Runge-Kutta, que coincidam com a s´erie de
Taylor at´e os termos de ordem h3
, h4
, etc, generalizamos de modo que:
yk+1 = yk + h[β0f(xk, yk) + β1f(xk + γ1h, yk + δ1h)] + β2f(xk + γ2h, yk + δ2h) + β2f(xk + γ3h, yk + δ3h) + . . .]
e procedemos de maneira an´aloga para estabelecer rela¸c˜oes entre os parˆametros.
22
Figura 10: Ilustra¸c˜ao do M´etodo de Runge-Kutta de 2a Ordem ou M´etodo do Ponto M´edio. No m´etodo de Euler
de passo h , a estimativa de yn+1 ´e realizada com os valores de xn e da derivada de yn. No m´etodo de Runge-Kutta
de 2a ordem, o valor da estimativa de yn+1 ´e encontrado com o valor de yn e com uma estimativa da derivada em
um ponto mais pr´oximo de xn+1, em xn + h/2.
23
4.3.2 O M´etodo Runge-Kutta de Quarta Ordem.
Nesta se¸c˜ao, discutimos um m´etodo tamb´em formulado originalmente por Runge e Kutta.
Este m´etodo ´e hoje oficialmente conhecido como m´etodo cl´assico Runge-Kutta de quarta ordem
e quatro est´agios, mas muitos autores o chamam simplesmente de m´etodo de Runge-Kutta, pode
ser o mais usado, onde possui uma combina¸c˜ao de simplicidade, alta precis˜ao e economia. Neste
m´etodo, o erro de truncamento local ´e proporcional a h5
, isto devido a sua f´ormula cl´assica ser
equivalente a uma f´ormula de Taylor de cinco termos:
yn+1 = yn + hyn +
h2
2!
yn +
h3
3!
yn +
h4
4!
yiv
n (eq.36) (63)
Assim, ele ´e duas ordens de grandeza mais preciso que o m´etodo de Euler aperfei¸coado e
o m´etodo de Taylor de trˆes termos, e trˆes ordens de grandeza mais preciso que o m´etodo de
Euler. ´E relativamente f´acil de usar e suficientemente preciso para resolver muitos problemas de
forma eficiente. Melhor ainda, ´e o m´etodo de Runge-Kutta adaptativo, no qual se faz variar o
incremento de acordo com as necessidades. Desta forma, a f´ormula de Runge-Kutta envolve uma
m´edia ponderada dos valores de f(x, y) tomados em diferentes pontos do intervalo xn ≤ x ≤ xn+1.
Tal forma ´e dado por:
yn+1 = yn +
h
6
(kn1 + 2kn2 + 2kn3 + kn4) (eq.37) (64)
onde;
kn1 = f(xn, yn)
kn2 = f(xn +
1
2
h, yn +
1
2
hkn1)
kn3 = f(xn +
1
2
h, yn +
1
2
hkn2)
kn4 = f(xn + h, yn + hkn3)
Podemos interpretar a soma (kn1 + 2kn2 + 2kn3 + kn4)/6 como um coeficiente angular m´edio.
Note que kn1 ´e o coeficiente angular na extremidade esquerda do intervalo, kn2 ´e o coeficiente
angular no ponto m´edio estimado pela f´ormula de Euler para ir de xn at´e xn + h/2, kn3 ´e uma
segunda aproxima¸c˜ao do coeficiente angular no ponto m´edio e, finalmente, kn4 ´e o coeficiente
angular em xn + h estimado pela f´ormula de Euler e pelo coeficiente angular kn3 indo de xn at´e
xn + h.
Apesar de n˜ao ser muito dif´ıcil demonstrar, em princ´ıpio, que as equa¸c˜oes anteriormente esta-
belecidas [eq.36 e eq.37] diferem por termos no desenvolvimento de Taylor da solu¸c˜ao φ por termos
que s˜ao proporcionais a h5
, a ´algebra envolvida ´e bastante extensa. Deste modo, aceitaremos o
fato de que o erro de truncamento local ao usarmos a equa¸c˜ao (37) ´e proporcional a h5
e que, para
um intervalo finito, o erro de truncamento acumulado ´e, no m´aximo, igual a uma constante vezes
h4
. Obviamente a f´ormula de Runge-Kutta nas equa¸c˜oes (36)[63] e (37)[64] ´e mais complexa do
que qualquer uma das f´ormulas discutidas anteriormente. Por outro lado, devemos lembrar que
ela ´e uma f´ormula muito precisa, isto ´e, reduzindo o tamanho do passo `a metade, reduzimos o erro
de truncamento local por um fator de 1/32; al´em disso, n˜ao ´e necess´ario calcularmos nenhuma
derivada parcial de f. Al´em do mais, os c´alculos aqui descritos s˜ao rotineiros num computador
de alta velocidade e podem ser feitos em segundos para qualquer fun¸c˜ao f, exceto para aquelas
extremamente complicadas e longas. Note tamb´em que, se f n˜ao depende de y, ent˜ao
kn1 = f(xn), kn2 = kn3 = f(xn, h/2), kn4 = f(xn + h)
24
e a eq.(37)[64] ´e idˆentica `aquela obtida usando-se a regra de Simpson para avaliar a integral de
y = f(x);
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´a de acordo com o coment´ario
anterior sobre o erro na f´ormula de Runge-Kutta.
A f´ormula de Runge-Kutta, nas eqs.(36)[63] e (37)[64], s˜ao todas de um passo, de modo que s˜ao
amplamente usadas com maior sucesso em uma implementa¸c˜ao num´erica. Um fato interessante
de se realizar, seria a implementa¸c˜ao de um programa de computador que utiliza-se o m´etodo
num´erico descrito nesta se¸c˜ao. A estrutura do programa seria a mesma de um programa usado
para implementar o m´etodo de Euler. A diferen¸ca fundamental estaria na linha referente ao
sexto passo do algoritmo de Euler. Essa linha, ou as intru¸c˜oes contidas na mesma, deveriam ser
substitu´ıdas pelas estruturas do algoritmo de Runge-Kutta.
ALGORITMO DO M´ETODO DE RUNGE-KUTTA DE QUARTA ORDEM (RK4)
 ¨§ ¤
1 Entre com a funcao f(x, y) .
2 Entre com os v a l o r e s i n i c i a i s x0 e y0 .
3 Entre com o v a lo r para o incremento h e o numero de passos n .
4 Escreva x0 e y0 .
5 Desde do passo 1 Ate o passo n Faca .
6 Avalie k1 = f(x, y)
7 Avalie k2 = f(x + 0.5 ∗ h, y + 0.5 ∗ h ∗ k1)
8 Avalie k3 = f(x + 0.5 ∗ h, y + 0.5 ∗ h ∗ k2)
9 Avalie k4 = f(x + h, y + h ∗ k3)
10 Avalie y = y + (h/6) ∗ (k1 + 2 ∗ k2 + 2 ∗ k3 + k4)
11 Avalie x = x + h
12 Escreva x e y .
13 Fim.
 ©¦ ¥
C´odigo Fonte 3: O m´etodo de Runge-Kutta pode ser entendido como um aperfei¸coamento do m´etodo de Euler,
com uma melhor estimativa da derivada da fun¸c˜ao. No m´etodo de Euler a estimativa do valor de yn+1 ´e realizado
com o valor de yn e com a derivada no ponto xn . No m´etodo de Runge-Kutta, busca-se uma melhor estimativa
da derivada com a avalia¸c˜ao da fun¸c˜ao em mais pontos no intervalo [xn, xn+1]. Um m´etodo de Runge-Kutta de
ordem n possui um erro da ordem de O(hn+1). O m´etodo de Runge-Kutta de 4a ordem ´e o mais usado na solu¸c˜ao
num´erica de problemas com equa¸c˜oes diferenciais ordin´arias.
A seguir ser´a apresentado um pequeno exemplo usando o m´etodo de Runge-Kutta na solu¸c˜ao
de uma equa¸c˜ao diferencial [C´odigo Fonte 4]. O passo neste exemplo ser´a reduzido para 0,01s. A
solu¸c˜ao da equa¸c˜ao diferencial ´e encontrada pelo uso iterativo das equa¸c˜oes descritas pela equa¸c˜ao
(37)[64] relacionada aos termos kn1, kn2, kn3 e kn4.
 ¨§ ¤
1 #i n c l u d e cmath
2 #i n c l u d e c s t d l i b 
3 #i n c l u d e iostream
4
5 /∗ Solucao y(x) da equacao − Definicao da funcao ∗/
6 double y ( double x ) { return . . . }
7
8 /∗ A funcao f(x, y) ∗/
9 double f ( double x , double y ) { return . . . }
10
11 /∗ Funcao P r i n c i p a l do Programa ∗/
12 int main( int argc , char∗ argv [ ] )
13 {
14 double xn , xn1 , xmax ; /∗ v a r i a v e i s xn e xn+1 ∗/
15 double yn , yn1 ; /∗ v a r i a v e i s yn e yn+1 ∗/
16 double y0 , t0 ; /∗ v a l o r e s i n i c i a i s de y e x ∗/
17 double h ; /∗ passo ∗/
18 double k1 , k2 , k3 , k4 ; /∗ v a r i a v e i s a u x i l i a r e s ∗/
19 int n ; /∗ numero de i t e r a c o e s ∗/
20
21 x0 = 0 . 0 ; /∗ v a lo r i n c i a l para x ∗/
25
22 y0 = 1 . 0 ; /∗ v a lo r i n i c i a l para y ∗/
23 xmax = 2 . 0 ; /∗ v a lo r maximo para x ∗/
24 h = 0 . 0 1 ; /∗ o v a l or do passo ∗/
25 xn = t0 ;
26 yn = y0 ;
27 n = 0 ; /∗ numero de i t e r a c o e s ∗/
28 while ( xn  xmax)
29 {
30 /∗ Escreva os v a l o r e s das v a r i a v e i s ∗/
31 std : : cout  n    t   xn    t   yn    t   y ( xn )  std : : endl ;
32
33 /∗ a p l i c a o metodo de Runge−Kutta ∗/
34 k1 = h∗ f ( xn , yn ) ;
35 k2 = h∗ f ( xn+h/2 , yn+k1 / 2 . 0 ) ;
36 k3 = h∗ f ( xn+h/2 , yn+k2 / 2 . 0 ) ;
37 k4 = h∗ f ( xn+h , yn+k3 ) ;
38 xn1 = xn + h ;
39 yn1 = yn + ( k1+2∗k2+2∗k3+k4 ) / 6 . 0 ;
40
41 /∗ atribua os v a l o r e s para a proxima i t e r a c a o ∗/
42 n = n + 1 ;
43 xn = xn1 ;
44 yn = yn1 ;
45 }
46
47 /∗ Termino do programa ∗/
48 return EXIT SUCCESS ;
49 }
 ©¦ ¥
C´odigo Fonte 4: Exemplo de um programa em C++ para a solu¸c˜ao de uma equa¸c˜ao diferencial pelo m´etodo de
Runge-Kutta. Comparando-se os resultados da solu¸c˜ao num´erica usando o m´etodo de Euler com os resultados da
solu¸c˜ao usando o m´etodo de Runge-Kutta, observa-se que neste segundo m´etodo a precis˜ao ´e maior, mesmo com o
uso de um passo 10 vezes maior (Press et al., 1988).
4.3.3 O M´etodo de Runge-Kutta-Fehlberg.
Este m´etodo implementa procedimentos para verificar se o valor do passo de integra¸c˜ao h ´e
adequado. Em cada itera¸c˜ao s˜ao obtidas duas aproxima¸c˜oes para a solu¸c˜ao y(x). Se as duas
respostas satisfazem uma precis˜ao pr´e-estabelecida, a aproxima¸c˜ao ´e aceita. Se n˜ao, o tamanho
do passo de integra¸c˜ao ´e reduzido e uma nova itera¸c˜ao ´e realizada. Se as duas respostas possuem
mais d´ıgitos significativos que o requerido, o tamanho do passo de integra¸c˜ao ´e aumentado e uma
nova itera¸c˜ao ´e realizada. Cada itera¸c˜ao requer o c´alculo dos fatores :
f1 = h · f (xi, yi)
f2 = h · f xi +
1
4
h, yi +
1
4
f1
f3 = h · f xi +
3
8
h, yi +
3
32
f1 +
9
32
f2
f4 = h · f xi +
12
13
h, yi +
1932
2197
f1 −
7200
2197
f2 +
7296
2197
f3
f5 = h · f xi + h, yi +
439
216
f1 − 8f2 +
3680
513
f3 −
845
4104
f4
f6 = h · f xi +
1
2
h, yi −
8
27
f1 + 2f2 −
3544
2565
f3 +
1859
4104
f4 −
11
40
f5
Uma aproxima¸c˜ao para y(x) ´e obtida pela equa¸c˜ao:
yi+1 = yi +
256
216
f1 +
1408
2565
f3 +
2197
4104
f4 −
1
5
f5
Uma outra aproxima¸c˜ao, melhor que a primeira, ´e obtida atrav´es da utiliza¸c˜ao da equa¸c˜ao:
26
yi+1 = yi +
16
135
f1 +
6656
12825
f3 +
28561
56430
f4 −
9
5
f5 +
2
55
f6
O passo de integra¸c˜ao ´otimo, qh, ´e determinado multiplicando-se o valor de h pelo fator:
q =
δh
2|f(xi+1, yi+1) − yi+1|
1
4
sendo δ a precis˜ao desejada. O valor do passo de integra¸c˜ao obedece a rela¸c˜ao hmin ≤ h ≤ hmax.
Nesta rela¸c˜ao hmin e hmax s˜ao os limites m´ınimo e m´aximo permitidos para a varia¸c˜ao do passo
de integra¸c˜ao.
4.4 Erros nos Procedimentos Num´ericos
A ado¸c˜ao de um procedimento num´erico, como o da f´ormula de Euler yn+1 = yn + hf(xn, yn),
xn = x0 + nh para resolver um problema de valor inicial y = f(x, y), y(x0) = y0 levanta diversas
quest˜oes que devem ser respondidas antes que a solu¸c˜ao num´erica aproximada seja aceita como sa-
tisfat´oria. Uma das quest˜oes ´e a de convergˆencia. Isto ´e, `a medida que o incremento h tende para
zero, os valores da solu¸c˜ao num´erica y1, y2, . . . , yn, . . . se aproximam dos valores correspondentes
aos da solu¸c˜ao exata? Com a hip´otese da resposta ser afirmativa, ainda permanece a importante
quest˜ao pr´atica da velocidade com que a aproxima¸c˜ao num´erica se se estabelece perante a solu¸c˜ao
exata. Enfim, qual o tamanho necess´ario do incremento para que se garanta um n´ıvel de extid˜ao
dado? Queremos usar um incremento que seja suficientemente pequeno para assegurar a exatid˜ao
desejada, mas n˜ao o queremos muito pequeno. Um incremento desnecessariamente pequeno torna
o processo dos c´alculos lento, tornando-os mais caros e, em alguns casos, pode at´e provocar a
perda de exatid˜ao.
H´a duas fontes fundamentais de erro na resolu¸c˜ao num´erica de um problema de valor ini- cial.
Vamos admitir, inicialmente que o nosso computador possa efetuar todos os c´alculos com exatid˜ao
absoluta; isto ´e, que podemos garantir um n´umero infinito de casas decimais. A diferen¸ca En
entre a solu¸c˜ao exata y = φ(x) e a solu¸c˜ao aproximada do problema de valor inicial y = f(x, y),
y(x0) = y0 ´e dado por
En = φ(xn) − yn (eq.38) (65)
denominado de erro de f´ormula ou erro de f´ormula acumulado ou erro de trunca-
mento acumulado.
Esse erro prov´em de duas causas:
1. em cada passo, usamos uma f´ormula aproximada para determinar yn+1
2. os dados de entrada, em cada passo, n˜ao concordam, em geral, com a solu¸c˜ao exata, pois
tamb´em, em geral, φ(xn) n˜ao ´e igual a yn. Se admitirmos que os dados de entrada s˜ao
corretos, o ´unico erro, quando se avan¸ca um passo no processo, se deve ao uso de uma
f´ormula aproximada. Este erro ´e o erro de truncamento local ou erro de f´ormula local ou
erro de arrendondamento local en.
Depois, em virtude das limita¸c˜oes de todos os computadores, ´e imposs´ıvel, na pr´atica, cal- cular
exatamente yn+1 apartir da f´ormula dada. Temos, ent˜ao um erro de arrendodamento provocado
pela ausˆencia de exatid˜ao computacional. Analisemos juntos, esta situa¸c˜ao, se um computador
puder operar com apenas oito algarismos, e se y0 for 1, 017325842, os dois ´ultimos algarismos
devem ser arrendodados, o que introduz, imediatamente, um erro no c´alculo de y1. Ou ent˜ao,
se y = f(x, y) envolver fun¸c˜oes, tais como, a logar´ıtmica ou a exponencial, temos um erro de
arrendodamento ao se efetuarem estas opera¸c˜oes. Como no erro de f´ormula, ´e poss´ıvel falar de
erro de truncamento local e de erro de truncamento acumulado. O erro de truncamento Rn se
define como:
Rn = yn − Yn (eq.39) (66)
27
onde yn ´e o valor aproximado pelo procedimento num´erico dado e Yn ´e o valor realmente
calculado pelo procedimento num´erico dado - por exemplo, pela f´ormula de Euler o valor absoluto
do erro total no c´alculo de φ(xn) ´e dado por:
|φ(xn) − Yn| = |φ(xn) − yn + yn − Yn| (eq.40) (67)
Utilizando-se a desigualdade triangular, |a + b| ≤ |a| + |b|, e aplicando na equa¸c˜ao(40)[67],
temos:
|φ(xn) − Yn| ≤ |φ(xn) − yn| + |yn − Yn| ≤ |En| + |Rn| (eq.41) (68)
O erro total est´a assim limitado pela soma dos valores absolutos dos erros de truncamento
e dos erros de arrendondamento. Nos procedimentos num´ericos discutidos ´e poss´ıvel conseguir
estimativas ´uteis dos erros de f´ormula. Por´em, vamos nos limitar a discutir principalmente os
erros de f´ormula locais, que s˜ao um tanto mais simples, enquanto os erros de arrendondamento
tˆem, evidentemente, uma natureza mais aleat´oria. Pois a sua efic´acia, depende de um bom sistema
computacional de alta velocidade, da sequˆencia de execu¸c˜ao de seus c´alculos, assim como do m´etodo
de arrendondamento utilizado.
4.4.1 Erro de truncamento local no m´etodo de Euler
Vamos admitir que a solu¸c˜ao y = φ(x), do problema de valor inicial anteriormente fornecido
tenha derivada segunda cont´ınua no intervalo considerado. Para garantir esta hip´otese, pode-
mos admitir que f, fx, fy sejam cont´ınuas no intervalo mencionado. De fato, se f tiver estas
propriedades, e se φ for solu¸c˜ao do problema de valor inicial, ent˜ao:
φ (x) = f[x, φ(x)]
e pela regra da cadeia, temos:
φ (x) = fx[x, φ(x)] + fy[x, φ(x)]φ (x)
φ (x) = fx[x, φ(x)] + fy[x, φ(x)]f[x, φ(x)] (eq.42) (69)
Uma vez que o segundo membro desta equa¸c˜ao ´e cont´ınuo, φ tamb´em ´e cont´ınua. Ent˜ao,
desenvolvendo φ em torno de xn, por uma s´erie de Taylor com resto, obtemos:
φ(xn + h) = φ(xn) + φ (xn)h +
1
2
φ (xn)h2
(eq.43) (70)
onde xn ´e qualquer ponto no intervalo xn  xn  xn + h.
Subtraindo a equa¸c˜ao (43)[70] da equa¸c˜ao (6)[34], 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
(eq.44) (71)
Para calcular o erro de f´ormula local, consideramos que os dados no en´esimo passo est˜ao
corretos, isto ´e, yn = φ(xn). Ent˜ao, obtemos imediatamente da equa¸c˜ao (44)[71] que o erro de
f´ormula local en+1 ´e:
en+1 = φ(xn+1) − yn+1 =
1
2
φ (xn)h2
(eq.45) (72)
Deste modo, o erro de truncamento local para o m´etodo de Euler ´e proporcional ao quadrado
do incremento h e o fator de proporcionalidade depende da segunda derivada da solu¸c˜ao φ. A
28
express˜ao da equa¸c˜ao (45)[72] depende de n e em geral ´e diferente para cada passo. Um limite
uniforme para o erro, v´alido para um intervalo [a, b], ´e dado por:
|en| ≤
Mh2
2
(eq.46) (73)
onde M ´e o m´aximo de |φ (x)| no intervalo [a, b]. Como a equa¸c˜ao (45)[72] se baseia no pior caso
poss´ıvel de |φ (x)|, pode ser que o erro local seja consideravelmente superestimado em algumas
regiˆoes do intervalo [a, b]. A equa¸c˜ao (45)[72] pode ser usada, entre outras coisas, para escolher um
incremento que resulte em um erro de truncamento local que n˜ao exceda um determinado limite
de tolerˆancia. Por exemplo: se o erro de truncamento local n˜ao for maior do que ε, a equa¸c˜ao
(46)[73] revela que:
Mh2
2
≤=⇒ h ≤ 2ε/M (eq.47) (74)
A dificuldade prim´aria para com o uso das equa¸c˜oes (45)[72], (46)[73] e (47)[74] na estimativa
do erro de f´ormula local est´a na obten¸c˜ao de uma estimativa precisa de M ou |φ (x)|. Seja como
for, essas equa¸c˜oes mostram que o erro de truncamento local ´e proporcional a h2
(note que M ´e
independente de h); deste modo, reduzindo h por um fator de 1
2 , reduzimos o limite do erro por
um fator de 1
4 , e uma redu¸c˜ao por um fator de 1
10 em h reduz o limite do erro por um fator de
1
100 , (reduzimos h `a metade, o erro ´e reduzido `a quarta parte e assim por diante).
Mais importante, que o erro de truncamento local ´e o erro de truncamento global En. No
entanto, uma estimativa do erro de truncamento local fornece uma melhor compreens˜ao do pro-
cedimento num´erico e um modo de comparar a precis˜ao dos diferentes procedimentos num´ericos.
A an´alise para estimar En ´e mais dif´ıcil que no caso de en. Entretanto, conhecendo 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 ´e no m´aximo de Mh2
2 ; assim, o erro total nos n passos ´e no m´aximo de Mh2
2 .
Observando que, n = (x − x0)/h, descobrimos que o erro de truncamento global para o m´etodo
de Euler, ao passarmos de x0 para x, ´e dado no m´aximo por:
n
Mh2
2
= (x − x0)
Mh
2
(eq.48) (75)
Apesar deste argumento n˜ao ser totalmente correto por n˜ao levar em conta o efeito que um erro
cometido num passo causar´a nos pr´oximos passos, Entretanto, ´e poss´ıvel mostrar que, em qualquer
intervalo finito, o erro de truncamento global ao usarmos o m´etodo de Euler, nunca ´e 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. Infelizmente,
isto n˜ao ´e o fim da est´oria. Se tomarmos h muito pequeno, isto ´e, se usarmos muitos passos
para irmos de x0 a x, o erro de truncamento acumulado poder-se-´a tornar mais importante que
o erro de truncamento global. Na pr´atica, devemos considerar ambas as fontes de erro e devemos
fazer uma escolha ”´otima” de h de modo que nenhum dos erros seja muito grande. Como o erro
de truncamento global ´e mais f´acil de calcular, deste modo ele ser´a usado como nossa medida
principal da precis˜ao de cada um dos m´etodos num´ericos e para comparar diferentes m´etodos.
Mais vale ressaltar, que o m´etodo de Euler ´e considerado um m´etodo de primeira ordem, pois
o erro de truncamento global ´e proporcional ´a primeira potˆencia do tamanho do incremento.
4.4.2 Aplica¸c˜ao do Erro de Truncamento Acumulado no M´etodo de Euler
Vamos discutir o erro de truncamento acumulado associado ao m´etodo de Euler na resolu¸c˜ao
do problema de valor inicial y = f(x, y), y(x0) = y0. Admitindo que as fun¸c˜oes f e fy sejam
cont´ınuas numa regi˜ao 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˜ao dois pontos quaisquer em
R com a mesma coordenada x. Al´em disso, vamos admitir que fx seja cont´ınua, de modo que a
29
solu¸c˜ao φ tem uma derivada segunda cont´ınua. Com base nas constru¸c˜oes exibidas at´e o presente
momento teremos:
• Utilizando a equa¸c˜ao (41)[68], mostrar que
|En+1| ≤ |En|+h|f[xn, φ(xn)]−f(xn, yn)|+ frac12h2
|φ (xn)| ≤ α|En|+βh2
(eq.49) (76)
onde a = 1 + hL e β = max|φ (x)|/2 em x0 ≤ x ≤ xn.
• Admitindo, sem provas, que se E0 = 0, e que se |En| obedecer a equa¸c˜ao (41)[68], ent˜ao
|En| ≤
βh2
(αn
− 1)
α − 1
, para α = 1 [***]
Mostrar que;
|En| ≤
(1 − hL)n
− 1
L
βh (eq.50) (77)
A equa¸c˜ao (50)[77] d´a 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 ´e, o limite de erro aumenta quando
aumenta a distˆancia ao ponto de partida x0.
• Mostrar que (1 + hL)n
≤ enhL
e ent˜ao que :
|En| ≤
enhL
− 1
L
βh =
e(xn−x0)L
− 1
L
βh
Para um ponto fixo xn = x0 + nh, (isto ´e, nh ´e 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´em que quando nhL = (xn −x0)L for pequeno, o segundo membro da equa¸c˜ao
anterior ´e aproximadamente nh2
β = (xn −x0)βh, que foi obtido nas equa¸c˜oes anteriores por
um racioc´ınio intuitivo.
Solu¸c˜ao:
• Da defini¸c˜ao 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| (eq.51) (78)
Pela eq.(43)[70], temos:
φ(xn + h) = φ(xn) + φ (xn)h +
1
2
φ (xn)h2
e pela eq.(6)[34] temos yn+1 = yn + hf(xn, yn). Assim, substituindo as equa¸c˜oes (6)[34] e
(43)[70] em (51)[78] teremos:
|En+1| = |φ(xn) + φ (xn)h +
1
2
φ (xn)h2
− [yn + hf(xn, yn)]|
Substituindo φ (xn) por f[xn, φ(xn)] na equa¸c˜ao anterior;
|En+1| = |φ(xn) + f[xn, φ(xn)]h +
1
2
φ (xn)h2
− [yn + hf(xn, yn)]|
|En+1| = |φ(xn) − yn + h[f[xn, φ(xn)] − f(xn, yn)] +
1
2
φ (xn)h2
|
Aplicando a desigualdade triangular, tˆem-se
|En+1| ≤ |φ(xn) − yn| + |h[f[xn, φ(xn)] − f(xn, yn)]| + |
1
2
φ (xn)h2
|
|En+1| ≤ |φ(xn) − yn| + |h[f[xn, φ(xn)] − f(xn, yn)]| + |
1
2
h2
||φ (xn)|
|En+1| ≤ |En| + h|[f[xn, φ(xn)] − f(xn, yn)]| +
1
2
h2
|φ (xn)|
30
Com isso teremos :
|En+1| ≤ |En| + h|[f[xn, φ(xn)] − f(xn, yn)]| +
1
2
h2
|φ (xn)| (eq.52) (79)
Mas; como φ ´e cont´ınua e β = max|φ (xn)/2| em x0  xn  xn, ent˜ao da equa¸c˜ao (52)[79]
podemos afirmar que : |[f[xn, φ(xn)] − f(xn, yn)]|  L|φ(xn) − yn|, onde queremos que a
nossa hip´otese seja uma fun¸c˜ao lipschitziana quando existe uma constante L  0 (chamada
constante de Lipschitz da fun¸c˜ao 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
2
h2
|φ (xn)|
|En+1| ≤ |En| + hL|φ(xn) − yn| +
1
2
h2
|φ (xn)|
|En+1| ≤ |En| + hL|En| +
1
2
h2
|φ (xn)|
|En+1| ≤ (1 + hL)|En| +
1
2
h2
|φ (xn)|
|En+1| ≤ α|En| +
1
2
h2
|φ (xn)|
Logo;
|En+1| ≤ |En| + h|[f[xn, φ(xn)] − f(xn, yn)]| +
1
2
h2
|φ (xn)| ≤ α|En| + βh2
• Temos que, a = 1 + hL ⇒ hL = a − 1. Assim, da equa¸c˜ao [***], 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 ´e v´alido a desigualdade (1 + x) ≤ ex
, ∀x ∈ R e a expans˜ao de
ex
= 1 + (x − 0)e0
+ (x − 0)2
ex
/2!, segundo a s´erie de Taylor,com x0  x  xn; A partir da´ı,
podemos tamb´em 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˜ao :
(1 + hL)n
≤ (ehL
)n
, ∀ hL  0
Assim, mostraremos por indu¸c˜ao matem´atica que :
|En| ≤
βh2
(αn
− 1)
α − 1
Sabemos que, E0 = 0 e |En+1| ≤ α|En| + βh2
. Tomando n = 0; verifiquemos a equa¸c˜ao
anterior:
|E1| ≤ α|E0| + βh2
|E1| ≤ βh2
= βh2
(α − 1)/(α − 1)
31
Tomando n = 1; verifiquemos a equa¸c˜ao 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´otese, 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) ´e verdadeiro, assim |En| ≤ βh2
(αn
−1)/(α−1)
tamb´em ´e verdadeiro.
• Mostrar que (1 + hL)n
= enhL
, e ent˜ao que |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
− 1
L
βh ≤ [e(nh)L
− 1/L]βh
Por´em, xn = x0 +nh ⇒ nh = xn −x0. Assim, substituindo o valor de nh na equa¸c˜ao acima,
obtemos:
|En| ≤
(1 + hL)n
− 1
L
βh ≤ [e(xn−x0)L
− 1/L]βh
Quando; h → 0, temos que |En| → 0.
5 M´etodos de Passos M´ultiplos
At´e o atual momento, vinhamos discutindo procedimentos num´ericos para resolver o problema
de valor inicial y = f(x, y), y(x0) = y0 nos quais os dados no ponto x = xn eram usados para
calcular um valor aproximado da solu¸c˜ao φ(xn+1) no ponto seguinte da rede x = xn+1. Em outros
termos, o valor calculado de φ em qualquer ponto da rede de pontos dependia somente dos dados no
ponto precedente, que denominamos de m´etodos de passo simples ou m´etodos de partida.
A partir de agora, uma vez que se tenham conseguidos valores aproximados da solu¸c˜ao y = φ(x)
em alguns pontos al´em de x0, ´e natural perguntar se n˜ao pode usar parte da informa¸c˜ao conseguida
nestes outros pontos em lugar de se limitar ao valor obtido no ´ultimo ponto para calcular o valor de
f no ponto seguinte. Mais especificamente, se y1 em x1, y2 em x2, . . . , yn em xn forem conhecidos.
Ent˜ao, surge o seguinte questionamento. Como se pode usar esta informa¸c˜ao a fim de determinar
yn+1 em xn+1? Desta forma, surge m´etodos que usam informa¸c˜ao em mais de um ponto, al´em do
´ultimo de uma rede, denominados m´etodos de passos m´ultiplos.
Em futuros trabalhos iremos descrever dois m´etodos de passos m´ultiplos: o M´etodo de
Adams e o M´etodo Inverso de Diferencia¸c˜ao. Dentro de cada m´etodo, ´e poss´ıvel conse-
guir diferentes graus de precis˜ao, dependendo do n´umero de pontos precedentes que s˜ao utilizados.
32
6 Considera¸c˜oes Finais
Introduzimos o estudo e a implementa¸c˜ao dos m´etodos num´ericos para a solu¸c˜ao de equa¸c˜oes
diferenciais ordin´arias (EDO), de forma a ser observada a efic´acia destas ferramentas para a apro-
xima¸c˜ao de solu¸c˜oes inerentes ou muito semelhantes a uma solu¸c˜ao anal´ıtica de um problema de
valor inicial. Por´em, ´e da´ı que devemos estar atentos `as v´arias fontes de erros que podem deses-
tabilizar a precis˜ao de cada m´etodo apresentado(como o erro de arrendondamento, truncamento
local e global).
Vimos que o erro de truncamento local e global no m´etodo de Euler ´e de O(h2
) e O(h), enquanto
nos demais m´etodos observamos varia¸c˜oes conforme a ordem de h, e ainda conforme o truncamento
na s´erie de Taylor.
Al´em disso tivemos a possibilidade de verificar que os m´etodos de Runge-Kutta de quarta ordem
s˜ao os que mais se aproximam da solu¸c˜ao exata de um problema de valor inicial. Em futuros estudos
poderemos abordar outros m´etodos como o de Newmark, o de Crank-Nicholson, o M´etodo de
Dormand-Prince, o M´etodo Preditor-Corretor, o M´etodo Adams-Bashforth-Moulton, o
M´etodo Gear(para equa¸c˜oes stiff) e M´etodos de Passo Adaptativo al´em do uso desses para
Sistemas de Equa¸c˜oes de Primeira Ordem.
Referˆencias
Arenales, S.  Darezzo, A. (2008), C´alculo Num´erico: Aprendizagem com Apoio de Software,
Vol. 1, 1 ed., S˜ao Paulo: Thomson Learning.
Boyce, W.  DiPrima, R. (2005), Elementary Differential Equations and Boundary Value Pro-
blems, 8 ed., Hoboken, New Jersey: Wiley.
Burrage, K. (1997), ‘Parallel methods for odes’, Advances in Computational Mathematics 7(1-
2), 1–3.
Burrage, K.  Suhartanto, H. (1997), ‘Parallel iterated method based on multistep runge-kutta
of radau type for stiff problems’, Advances in Computational Mathematics 7(1-2), 59–77.
Burrage, K.  Suhartanto, H. (2000), ‘Parallel iterated methods based on variable step-size mul-
tistep runge-kutta methods of radau type for stiff problems’, Advances in Computational Mathe-
matics 13(3), 257–270.
Cao, H., Kang, L., Chen, Y.  Yu, J. (2000), ‘Evolutionary modeling of systems of ordinary
differential equations with genetic programming’, Genetic Programming and Evolvable Machines
1(4), 309–337.
Evaristo, J. (2001), Aprendendo a Programar Programando em C, Vol. 1, Book Express - Rio de
Janeiro. 3a Reimpress˜ao.
Gear, C. W. (1971), ‘The automatic integration of ordinary differential equations’, Commun. ACM
14(3), 176–179.
Hull, T. E., Enright, W. H., Fellen, B. M.  Sedgwick, A. E. (1972), ‘Comparing numerical methods
for ordinary differential equations’, Siam Journal on Numerical Analysis 9(4), 603–637.
Osborne, M.  Watson, G. (1968), ‘Note on two methods of solving ordinary linear differential
equations’, Computer Journal 10(4), 383–. Times Cited: 5.
Press, W., Teukolsky, S. A., Vetterling, W. T.  Flannery, B. P. (1988), Numerical Recipes in C
(The Art of Scientific Computing), 2 ed., Cambridge University Press.
Ruggiero, M.  Lopes, V. (1996), C´alculo Num´erico: Aspectos Te´oricos e Computacionais, 2 ed.,
Makron Books.
33
Sotomayor, J. (1979), Li¸c˜oes de Equa¸c˜oes Diferenciais Ordin´arias, Publica¸c˜ao do IMPA - Projeto
Euclides.
Stabrowski, M. M. (1997), ‘An efficient algorithm for solving stiff ordinary differential equati-
ons’, Simulation Practice and Theory 5(4), 333 – 344. URL http://www.sciencedirect.com/
science/article/B6V19-3SNV443-3/2/4e1e94c6bd30fb117691a3bf0764db3a.
Stewart, J. (2009), C´alculo - Volume II, Vol. 2, 5 ed., S˜ao Paulo: Cengage Learning.
Zarowski, C. (2004), An Introduction to Numerical Analysis for Electrical and Computer Engine-
ers, Wiley Interscience.
Zill, D. (2003), Equa¸c˜oes Diferenciais com Aplica¸c˜oes em Modelagem, Pioneira Thomson Learning.
34

Mais conteúdo relacionado

Mais procurados

Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Rodrigo Rodrigues
 
Pobabilidade e estatistica para engenheiros ufsc i
Pobabilidade e estatistica para engenheiros ufsc iPobabilidade e estatistica para engenheiros ufsc i
Pobabilidade e estatistica para engenheiros ufsc iAnderson Araujo
 
Multicolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicionalMulticolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicionalAdilson Gomes Veiga
 
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...Daniel Brandão de Castro
 
Estatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formandoEstatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formandoAntonio Mankumbani Chora
 
Modelos lineares mistos aplicados em ciências atuariais.
Modelos lineares mistos aplicados em ciências atuariais.Modelos lineares mistos aplicados em ciências atuariais.
Modelos lineares mistos aplicados em ciências atuariais.Universidade Federal Fluminense
 
Análise de correlação
Análise de correlaçãoAnálise de correlação
Análise de correlaçãoEconomia Silva
 
Apostila de-estatistica-experimental-20141234567
Apostila de-estatistica-experimental-20141234567Apostila de-estatistica-experimental-20141234567
Apostila de-estatistica-experimental-20141234567Erick Amâncio
 
Cap9 - Parte 1 - Conceitos Inciais
Cap9 - Parte 1 - Conceitos InciaisCap9 - Parte 1 - Conceitos Inciais
Cap9 - Parte 1 - Conceitos InciaisRegis Andrade
 

Mais procurados (20)

Regressao linear multipla
Regressao linear multiplaRegressao linear multipla
Regressao linear multipla
 
02 tópico 1 - regressão linear simples 01 - Econometria - Graduação - UFPA
02   tópico 1 - regressão linear simples 01 - Econometria - Graduação - UFPA02   tópico 1 - regressão linear simples 01 - Econometria - Graduação - UFPA
02 tópico 1 - regressão linear simples 01 - Econometria - Graduação - UFPA
 
Regressão Linear Múltipla
Regressão Linear MúltiplaRegressão Linear Múltipla
Regressão Linear Múltipla
 
03 tópico 2 - regressão multipla
03   tópico 2 - regressão multipla03   tópico 2 - regressão multipla
03 tópico 2 - regressão multipla
 
Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais
 
Regressao linear
Regressao linearRegressao linear
Regressao linear
 
Pobabilidade e estatistica para engenheiros ufsc i
Pobabilidade e estatistica para engenheiros ufsc iPobabilidade e estatistica para engenheiros ufsc i
Pobabilidade e estatistica para engenheiros ufsc i
 
Multicolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicionalMulticolinearidade%20em%20modelos%20de%20regressao adicional
Multicolinearidade%20em%20modelos%20de%20regressao adicional
 
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
 
3398 11579-1-pb
3398 11579-1-pb3398 11579-1-pb
3398 11579-1-pb
 
Análise de regressão linear
Análise de regressão linearAnálise de regressão linear
Análise de regressão linear
 
econometria
 econometria econometria
econometria
 
Estatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formandoEstatistica aplicada exercicios resolvidos manual tecnico formando
Estatistica aplicada exercicios resolvidos manual tecnico formando
 
Modelos lineares mistos aplicados em ciências atuariais.
Modelos lineares mistos aplicados em ciências atuariais.Modelos lineares mistos aplicados em ciências atuariais.
Modelos lineares mistos aplicados em ciências atuariais.
 
Análise de correlação
Análise de correlaçãoAnálise de correlação
Análise de correlação
 
Apostila de-estatistica-experimental-20141234567
Apostila de-estatistica-experimental-20141234567Apostila de-estatistica-experimental-20141234567
Apostila de-estatistica-experimental-20141234567
 
Cap9 - Parte 1 - Conceitos Inciais
Cap9 - Parte 1 - Conceitos InciaisCap9 - Parte 1 - Conceitos Inciais
Cap9 - Parte 1 - Conceitos Inciais
 
Estatistica completo revisado
Estatistica completo revisadoEstatistica completo revisado
Estatistica completo revisado
 
Correlação
CorrelaçãoCorrelação
Correlação
 
Regressão aula
Regressão aulaRegressão aula
Regressão aula
 

Semelhante a Numerical Methods for Solving Linear Ordinary Differential Equations

Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteAlexandre Grossi
 
Simulacao conf chapas [modo de compatibilidade]
Simulacao conf chapas [modo de compatibilidade]Simulacao conf chapas [modo de compatibilidade]
Simulacao conf chapas [modo de compatibilidade]vinibull
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteAlexandre Grossi
 
Métodos Para Resolver Sistemas de Equações Lineares
Métodos Para Resolver Sistemas de Equações LinearesMétodos Para Resolver Sistemas de Equações Lineares
Métodos Para Resolver Sistemas de Equações LinearesMayara Mônica
 
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...Luciano Araki
 
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...UFPA
 
2008 santiago marchi_cilamce_2008
2008 santiago marchi_cilamce_20082008 santiago marchi_cilamce_2008
2008 santiago marchi_cilamce_2008CosmoSantiago
 
Equacoes diferenciais parciais pelo metodo dos numeros finitos
Equacoes diferenciais parciais pelo metodo dos numeros finitosEquacoes diferenciais parciais pelo metodo dos numeros finitos
Equacoes diferenciais parciais pelo metodo dos numeros finitosRaianebrandao
 
Analise comparativa de métodos diretos e iterativos para a solução de sistema...
Analise comparativa de métodos diretos e iterativos para a solução de sistema...Analise comparativa de métodos diretos e iterativos para a solução de sistema...
Analise comparativa de métodos diretos e iterativos para a solução de sistema...Fabricio Magalhães
 
Projeto de Controle de Posição entre veículos, Análise de Sistemas III
Projeto de Controle de Posição entre veículos, Análise de Sistemas IIIProjeto de Controle de Posição entre veículos, Análise de Sistemas III
Projeto de Controle de Posição entre veículos, Análise de Sistemas IIICiro Marcus
 
Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosFlavio Gomes Lima
 
Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...
Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...
Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...Breno
 
Apresentação Método de Monte Carlo
Apresentação Método de Monte CarloApresentação Método de Monte Carlo
Apresentação Método de Monte CarloAngelo Polotto
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting AlgorithmsMichel Alves
 

Semelhante a Numerical Methods for Solving Linear Ordinary Differential Equations (20)

Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
 
Simulacao conf chapas [modo de compatibilidade]
Simulacao conf chapas [modo de compatibilidade]Simulacao conf chapas [modo de compatibilidade]
Simulacao conf chapas [modo de compatibilidade]
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
 
Métodos Para Resolver Sistemas de Equações Lineares
Métodos Para Resolver Sistemas de Equações LinearesMétodos Para Resolver Sistemas de Equações Lineares
Métodos Para Resolver Sistemas de Equações Lineares
 
Matematica computacional
Matematica computacionalMatematica computacional
Matematica computacional
 
Sdnotes
SdnotesSdnotes
Sdnotes
 
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
 
Sist cont i_conf2_2014
Sist cont i_conf2_2014Sist cont i_conf2_2014
Sist cont i_conf2_2014
 
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
Cinematica inversa de um manipulador robotico de quatro graus de liberdade ut...
 
4734 16435-1-pb
4734 16435-1-pb4734 16435-1-pb
4734 16435-1-pb
 
2008 santiago marchi_cilamce_2008
2008 santiago marchi_cilamce_20082008 santiago marchi_cilamce_2008
2008 santiago marchi_cilamce_2008
 
Equacoes diferenciais parciais pelo metodo dos numeros finitos
Equacoes diferenciais parciais pelo metodo dos numeros finitosEquacoes diferenciais parciais pelo metodo dos numeros finitos
Equacoes diferenciais parciais pelo metodo dos numeros finitos
 
Analise comparativa de métodos diretos e iterativos para a solução de sistema...
Analise comparativa de métodos diretos e iterativos para a solução de sistema...Analise comparativa de métodos diretos e iterativos para a solução de sistema...
Analise comparativa de métodos diretos e iterativos para a solução de sistema...
 
Projeto de Controle de Posição entre veículos, Análise de Sistemas III
Projeto de Controle de Posição entre veículos, Análise de Sistemas IIIProjeto de Controle de Posição entre veículos, Análise de Sistemas III
Projeto de Controle de Posição entre veículos, Análise de Sistemas III
 
Livro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios ResolvidosLivro Métodos Numéricos: Exercícios Resolvidos
Livro Métodos Numéricos: Exercícios Resolvidos
 
Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...
Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...
Cinemática inversa de um manipulado robótico de quatro graus de liberdade uti...
 
Apresentação Método de Monte Carlo
Apresentação Método de Monte CarloApresentação Método de Monte Carlo
Apresentação Método de Monte Carlo
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
07 tópico 6 - autocorrelação
07   tópico 6 - autocorrelação07   tópico 6 - autocorrelação
07 tópico 6 - autocorrelação
 
Cálculo numérico
Cálculo numéricoCálculo numérico
Cálculo numérico
 

Mais de Michel Alves

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseMichel Alves
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesMichel Alves
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresMichel Alves
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesMichel Alves
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel FunctionsMichel Alves
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceMichel Alves
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - ResultsMichel Alves
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseMichel Alves
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexMichel Alves
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationMichel Alves
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsMichel Alves
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMichel Alves
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in RMichel Alves
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel PrototypeMichel Alves
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh PlotMichel Alves
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesMichel Alves
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogMichel Alves
 

Mais de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 

Último

Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 

Último (20)

Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 

Numerical Methods for Solving Linear Ordinary Differential Equations

  • 1. M´etodos Num´ericos para An´alise de Equa¸c˜oes Diferenciais Ordin´arias Lineares com Foco nos Problemas de Valor Inicial. Michel A. dos Santos ∗ Maio de 2010 Resumo Inicialmente iremos abordar alguns aspectos gerais da an´alise e resolu¸c˜ao num´erica de Equa¸c˜oes Diferenciais Ordin´arias Lineares. Exploraremos alguns conceitos como erros de truncamento local e global, uma breve introdu¸c˜ao a S´erie de Taylor e alguns exemplos de m´etodos de resolu¸c˜ao baseados em estrat´egias de passos simples e passos m´ultiplos. Ao longo do texto ser´a n´ıtida a percep¸c˜ao de que a maioria dos problemas de resolu¸c˜ao num´erica de equa¸c˜oes dessa natureza s˜ao fortemente direcionados a modelagem de problemas oriundos da observa¸c˜ao de fenˆomenos. Esse direcionamento possui aspectos que v˜ao desde a concep¸c˜ao de circuitos el´etricos at´e a an´alise de sistemas presa-predador. Por fim, ser˜ao analisados algumas caracter´ısticas relativas a empregabilidade dos m´etodos abordados. Palavras-Chave: Equa¸c˜oes Diferenciais Ordin´arias, M´etodo de Euler, M´etodo de Runge- Kutta, Solu¸c˜oes Num´ericas, Modelagem, C´alculo Num´erico, M´etodos Num´ericos, F´ormula de Heun. 1 Introdu¸c˜ao Modelagem ´e o tema que unifica o tratamento introdut´orio dado as equa¸c˜oes diferenciais. Tal- vez as aplica¸c˜oes mais importantes do c´alculo sejam pertencentes a natureza dessas equa¸c˜oes. Quando f´ısicos e cientistas sociais usam o c´alculo, em geral o fazem para analisar uma equa¸c˜ao diferencial surgida no processo de modelagem de algum fenˆomeno que eles estejam estudando. Embora seja freq¨uentemente imposs´ıvel encontrar uma f´ormula expl´ıcita para a solu¸c˜ao de uma equa¸c˜ao diferencial, podemos observar que m´etodos como aproxima¸c˜oes gr´aficas e num´ericas con- seguem fornecer bons resultados. Resultados estes, advindos de bons modelos matem´aticos que frequentemente possuem o formato de uma equa¸c˜ao diferencial, isto ´e, uma equa¸c˜ao que cont´em uma fun¸c˜ao desconhecida e algumas de suas derivadas. Isso n˜ao nos surpreende porque em um problema real normalmente notamos que as mudan¸cas ocorrem e queremos predizer o compor- tamento futuro com base na maneira como os valores presentem variam. Geralmente o processo de solu¸c˜ao dessas equa¸c˜oes consiste em uma transforma¸c˜ao das mesmas em equa¸c˜oes alg´ebricas atrav´es da discretiza¸c˜ao do dom´ınio e aproxima¸c˜ao de suas derivadas por diferen¸cas finitas (Hull et al., 1972). Atualmente a criatividade ´e o limite. As formas ou a empregabilidade de m´etodos para an´alise e resolu¸c˜ao num´erica de Equa¸c˜oes Diferenciais Ordin´arias permea v´arios campos, sendo empregados at´e mesmo algoritmos gen´eticos (Cao et al., 2000) e paraleliza¸c˜ao (Burrage, 1997; Burrage & Suhartanto, 1997, 2000) para aferi¸c˜ao de uma malha de pontos condizentes com uma determinada equa¸c˜ao pertencente a essa classe. O presente trabalho tem como objetivo ape- nas apresentar uma breve introdu¸c˜ao no que diz respeito ao tratamento de solu¸c˜oes num´ericas de ∗Bacharelando em Ciˆencia da Computa¸c˜ao, Universidade Federal do Estado de Alagoas(UFAL), Bolsista do Laborat´orio de Modelagem Geom´etrica e Vis˜ao Computacional do Centro de Pesquisa em Matem´atica Computacio- nal(CPMAT), Brasil - Macei´o/AL, Tel: 8805-0582 E-mail: michel.mas@gmail.com, michelalvessantos@hotmail.com 1
  • 2. equa¸c˜oes diferenciais (ordin´arias) por´em, antes mesmo de adentrar ao assunto, forneceremos uma motiva¸c˜ao para o estudo s´erio e cuidadoso do c´alculo num´erico. 1.1 O C´alculo Num´erico O C´alculo Num´erico corresponde a um conjunto de ferramentas ou m´etodos usados para se obter a solu¸c˜ao de problemas matem´aticos de forma aproximada. Esses m´etodos se aplicam prin- cipalmente a problemas que n˜ao apresentam uma solu¸c˜ao exata (de origem anal´ıtica), portanto precisam ser resolvidos numericamente. Um bom exemplo que ilustra essa necessidade pode ser dado pela avalia¸c˜ao de circuitos el´etricos. Em um circuito el´etrico composto de uma fonte de tens˜ao e um resistor, a solu¸c˜ao exata (ou anal´ıtica) pode ser dada por: V − R · i = 0 i = V R (1) Por´em com a introdu¸c˜ao de um simples diˆodo no circuito, ter´ıamos um aumento na complexidade de avalia¸c˜ao dos estados pelos quais esse circuito passa, produzindo a seguinte situa¸c˜ao (Ruggiero & Lopes, 1996): v(i) = kT q · ln i Is + 1 v(i) = 0 ⇒ V − R · i − kT q · ln i Is + 1 = 0 (2) A complexidade de avalia¸c˜ao de v(i) quando a mesma ´e nula extrapola os m´etodos convencionais anal´ıticos. Logo a maneira mais indicada para avalia¸c˜ao dos estados desse circuito seria uma na qual houvesse o emprego de uma solu¸c˜ao baseada em m´etodos num´ericos. O caso acima evidenciado, aos olhos de muitos ainda possui caracter´ısticas anal´ıticas, onde uma solu¸c˜ao exata ainda seria uma boa sa´ıda. Por´em vale lembrar que introduzimos apenas, e s´o, um diˆodo. Os circuitos reais espalhados pela vida cotidiana possuem dezenas de milhares desses componentes. Por isso a necessidade de produzir resultados num´ericos. Pois mesmo que um problema matem´atico possa ser resolvido analiticamente, ainda assim, ele pode se tornar impratic´avel caso haja uma aumento consider´avel em seu tamanho. Um bom exemplo para ilustrar essa situa¸c˜ao seria a busca por solu¸c˜oes de sistemas de equa¸c˜oes lineares que modelam c´alculo de estruturas, componentes horizontais e verticais das for¸cas que atuam em um determinado corpo que se encontra em equil´ıbrio est´atico (Ruggiero & Lopes, 1996), redes el´etricas, etc. Logo, a maior motiva¸c˜ao para o emprego de m´etodos num´ericos seria a existˆencia de problemas para os quais n˜ao existem m´etodos matem´aticos exatos para a obten¸c˜ao de uma solu¸c˜ao (ou seja, n˜ao podem ser resolvidos analiticamente). Tal motiva¸c˜ao pode ser evidenciada quando avaliamos certos tipos de integrais que n˜ao possuem uma primitiva em forma simples, como ex2 dx, ou ten- tamos resolver determinadas equa¸c˜oes diferenciais parciais n˜ao lineares (que podem ser resolvidas analiticamente s´o em casos particulares.) 1.2 A Necessidade de Boas Aproxima¸c˜oes Os m´etodos num´ericos buscam solu¸c˜oes aproximadas para as formula¸c˜oes matem´aticas (Os- borne & Watson, 1968). Nos problemas reais os dados s˜ao medidas e como tal, n˜ao s˜ao exatas. Uma medida f´ısica n˜ao ´e um n´umero e sim um intervalo advindo da pr´opria imprecis˜ao das medidas. Da´ı, trabalha-se sempre com a figura do erro inerente `a pr´opria medi¸c˜ao. Os m´etodos aproximados buscam uma adequa¸c˜ao do que seria o valor exato. Dessa forma ´e inerente ao m´etodo se trabalhar com a figura da aproxima¸c˜ao, erro ou desvio. Na Figura 1 podemos visualizar um fluxograma no qual ocorre a confrota¸c˜ao entre etapas para obten¸c˜ao de modelos matem´aticos precisos (no sentido de exatos) e a resolu¸c˜ao de problemas atrav´es de m´etodos num´ericos. Por´em em certos casos devemos ter cuidado redobrado ao adotar um determinado modelo, pois a influˆencia dos erros nas solu¸c˜oes podem ocasionar acontecimentos indesejados, muitos deles com finais catastr´oficos tanto no ponto de vista monet´ario quanto do ponto de vista humano. 2
  • 3. Figura 1: Etapas no desenvolvimento de m´etodos anal´ıticos e m´etodos de aproxima¸c˜ao. Observe que nos m´etodos de aproxima¸c˜ao existe uma etapa de an´alise dos resultados feita com o intuito de comprovar a veracidade da informa¸c˜ao obtida e uma verifica¸c˜ao final que comprova que o m´etodo adotado ´e o mais adequado ao modelo ou situa¸c˜ao. Exemplos para esses tipos de situa¸c˜ao seriam o afundamento da plataforma mar´ıtima Sleipner A, em 23/08/1991, na Noruega, com um preju´ızo de mais de 700 milh˜oes de d´olares e a explos˜ao do foguete Ariane 5 em 04/06/1996 na Guiana Francesa, com um preju´ızo de 7,5 bilh˜oes de d´olares. A maioria desses acontecimentos s˜ao causados por limita¸c˜oes na representa¸c˜ao num´erica. 1.3 No¸c˜oes B´asicas Sobre Erros No estudo de M´etodos Num´ericos para a resolu¸c˜ao de situa¸c˜oes/modelos que surgem das mais diversas ´areas ocasionalmente ocorrem problemas. A resolu¸c˜ao de tais problemas envolve v´arias fases. N˜ao ´e raro acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resolu¸c˜ao tenham sido realizadas corretamente. O resultados obtidos dependem tamb´em: • da precis˜ao dos dados de entrada; • da forma como estes dados s˜ao representados no computador; • das opera¸c˜oes num´ericas efetuadas. Os dados de entrada contˆem uma imprecis˜ao inerente, isto ´e, n˜ao h´a como evitar que ocorram, uma vez que representam medidas obtidas usando equipamentos espec´ıficos, como, por exemplo, no caso de medidas de corrente e tens˜ao num circuito el´etrico, ou ent˜ao podem ser dados resultantes de pesquisas ou levantamentos, como no caso de dados populacionais obtidos num recenseamento. De modo corriqueiro a maioria das literaturas executam um estudo dos erros que surgem da representa¸c˜ao num´erica em computadores e erros resultantes das opera¸c˜oes num´ericas efetuadas que podem ocorrer na convers˜ao de n´umeros de um determinado sistema de representa¸c˜ao para outro (exemplo: convers˜ao de decimal para bin´aro), erros de arredondamento e truncamento e em opera¸c˜oes aritm´eticas de ponto flutuante (Ruggiero & Lopes, 1996). 2 Equa¸c˜oes Diferenciais Equa¸c˜oes diferenciais aparecem com grande frequˆencia em modelos que descrevem quantita- tivamente fenˆomenos em diversas ´areas, como por exemplo, mecˆanica dos fluidos, fluxo de calor, 3
  • 4. vibra¸c˜oes, economia, ecologia, biomedicina, rea¸c˜oes qu´ımicas, nucleares, etc. Representam com alta fidelidade sistemas f´ısicos, estat´ısticos e comportamentais dos mais diferentes tipos e complexidades. Sendo assim, ´e de suma importˆancia o conhecimento de t´ecnicas de manipula¸c˜ao de tais equa¸c˜oes para uma an´alise detalhada dos sistemas anteriormente citados, visto que, sua aplica¸c˜ao ´e expandida dentro das mais diversas ´areas da ciˆencia. Estas equa¸c˜oes podem ter formas t˜ao variadas que se analisarmos as que possuem solu¸c˜ao ou m´etodos de resolu¸c˜ao anal´ıtica j´a desenvolvidas, veremos que estamos muito longe de poder modelar problemas f´ısicos reais, esperando assim que a Matem´atica nos forne¸ca uma express˜ao exata para a solu¸c˜ao de tais objetos. Por outro lado, os m´etodos num´ericos j´a s˜ao bem mais abrangentes e, quando levam a convergˆencia, ´e poss´ıvel se obter gr´aficos e tabelas com valores de solu¸c˜ao para um maior n´umero de problemas. 2.1 Equa¸c˜oes Diferenciais Gerais Em geral, uma equa¸c˜ao diferencial ´e aquela que cont´em uma fun¸c˜ao desconhecida e uma ou mais de suas derivadas. A ordem de uma equa¸c˜ao diferencial ´e a mesma da derivada mais alta que ocorre na equa¸c˜ao. Dessa maneira as equa¸c˜oes (3) e (4) visualizadas logo abaixo s˜ao exemplos de equa¸c˜ao de primeira ordem enquanto a equa¸c˜ao (5) ´e um exemplo de equa¸c˜ao de segunda ordem (Stewart, 2009). dP dt = kP (3) dP dt = kP · 1 − P K (4) m · d2 x dt2 = −kx (5) Em todas as trˆes equa¸c˜oes, a vari´avel independente ´e chamada t e representa o tempo, mas, em geral, a vari´avel independente n˜ao precisa representar o tempo. Por exemplo, quando consideramos a equa¸c˜ao diferencial y = xy (6) entendemos que y seja a fun¸c˜ao descohecida de x. Uma fun¸c˜ao f ´e denominada solu¸c˜ao de uma equa¸c˜ao diferencial se a equa¸c˜ao ´e satisfeita quando y = f(x) e suas derivadas s˜ao substitu´ıdas na equa¸c˜ao. Assim, f ´e uma solu¸c˜ao da Equa¸c˜ao (6) se f (x) = xf(x) (7) para todos os valores de x em algum intervalo. Quando tentamos resolver uma equa¸c˜ao dife- rencial, esperamos encontrar todas as solu¸c˜oes poss´ıveis da equa¸c˜ao. Algumas dessas equa¸c˜oes j´a s˜ao de conhecimento da maioria dos estudantes de c´alculo, pois representam equa¸c˜oes diferenciais particularmente simples; a saber, aquelas da forma y = f(x) (8) Por exemplo, sabemos que a solu¸c˜ao geral da equa¸c˜ao diferencial y = x3 (9) ´e dada por y = x4 4 + C (10) 4
  • 5. onde C ´e uma constante arbitr´aria. Mas, em geral, resolver uma equa¸c˜ao diferencial n˜ao ´e uma tarefa f´acil. N˜ao existe uma t´ecnica sistem´atica que nos permita resolver todas as equa¸c˜oes diferenciais. Se uma equa¸c˜ao diferencial tem apenas uma vari´avel independente, como ´e o caso das equa¸c˜oes (3) e (4), ent˜ao ela ´e uma equa¸c˜ao diferencial ordin´aria (EDO), que ser´a o objeto do nosso estudo neste trabalho. Outros exemplos de equa¸c˜oes diferenciais ordin´arias s˜ao: dy dx = x + y; y = x2 + y2 ; y + (1 − y2 )y = 0 e u + e−u − eu = f(x) (11) Geralmente uma equa¸c˜ao diferencial ordin´aria de ordem n ´e uma equa¸c˜ao da seguinte forma: F(x, y(x), y (x), y (x), y (x), . . . , yn (x)) = 0 (12) onde est˜ao envolvidas a fun¸c˜ao inc´ognita y = y(x) e suas derivadas at´e ordem n, sendo x a vari´avel independente. A nota¸c˜ao yj representa a derivada de ordem j da fun¸c˜ao inc´ognita y em rela¸c˜ao `a vari´avel independente x e pode tamb´em ser representada por dj y dxj (Arenales & Darezzo, 2008). Se a equa¸c˜ao diferencial envolve mais do que uma vari´avel independente ent˜ao ela ´e uma equa¸c˜ao diferencial parcial, como a equa¸c˜ao ∂2 u ∂x2 + ∂2 u ∂y2 = 0 com u ≡ u(x, y) e ∂2 u ∂2β (13) indicando a derivada parcial segunda de u(x, y), em rela¸c˜ao `a vari´avel (β). Figura 2: Aplica¸c˜oes de Equa¸c˜oes Diferenciais Parciais. Em (A) Equa¸c˜oes Diferenciais Parciais s˜ao aplicadas `as leis da conserva¸c˜ao da massa, momento e energia que por sua vez s˜ao a base dos fenˆomenos de transporte. Em (B) Difus˜ao de macromol´eculas e liberta¸c˜ao controlada de medicamentos(Movimento do medicamento atrav´es da pele a partir do local de aplica¸c˜ao). Em (C) Migra¸c˜ao de c´elulas em material prot´estico vascular(Controle do movimento de leuc´ocitos em meio material devido a inflama¸c˜oes). Uma solu¸c˜ao de uma equa¸c˜ao diferencial ordin´aria ´e uma fun¸c˜ao da vari´avel independente que satisfa¸ca a equa¸c˜ao. Assim, 1. dy dx = ˙y = y tem y(x) = a · ex , a ∈ R como solu¸c˜ao; 2. u = 0 ´e satisfeita para u(x) = p2(x) onde p2(x) ´e qualquer polinˆomio de grau 2. Isto ilustra um fato bem geral: uma equa¸c˜ao diferencial possui uma fam´ılia de solu¸c˜oes e n˜ao apenas uma (Ruggiero & Lopes, 1996). Al´em disso uma equa¸c˜ao diferencial ordin´aria ´e dita linear se a fun¸c˜ao e suas derivadas aparecem linearmente na equa¸c˜ao. Assim, xy = x − y ´e linear e y + (1 − y2 )y + y = 0 e u + e−u = f(x) s˜ao n˜ao lineares. 5
  • 6. Figura 3: Uma fam´ılia de solu¸c˜oes para ˙y = y e para ˙y = −y (Ruggiero & Lopes, 1996). Figura 4: Em (A) uma fam´ılia de solu¸c˜oes para dP/dt = kP. Em (B) solu¸c˜oes da equa¸c˜ao log´ıstica (Stewart, 2009). J´a que, como ilustramos anteriormente, uma equa¸c˜ao diferencial n˜ao possui solu¸c˜ao ´unica, vemos que para individualizar uma solu¸c˜ao temos de impor condi¸c˜oes suplementares. Em geral, uma equa¸c˜ao de ordem m requer m condi¸c˜oes adicionais a fim de ter uma ´unica solu¸c˜ao. Em princ´ıpio, estas condi¸c˜oes podem ser de qualquer tipo, por exemplo: y(0) = 1 (14) y (4) = −5 (15) y(2) + 5y (3) = 6 (16) 1 0 xy sin xdx = 0 (17) lim x→∞ y(x) = k (18) Se, dada uma equa¸c˜ao de ordem m, a fun¸c˜ao, assim como suas derivadas at´e ordem m -1, s˜ao especificadas em um mesmo ponto, ent˜ao temos um problema de valor inicial (Ruggiero & Lopes, 1996) (normalmente abreviado para PVI), como s˜ao os casos: 1. y (x) = y y(0) = 1 2. y + (x + 1)y + cos xy − (x2 − 1)y = x2 + y2 sin x + y y(0) = 1.1, y (0) = 2.2, y (0) = 3.3 Se, em problemas envolvendo equa¸c˜oes diferenciais ordin´arias de ordem m, m ≥ 2, as m con- di¸c˜oes fornecidas para a busca de solu¸c˜ao ´unica n˜ao s˜ao todas dadas num mesmo ponto, ent˜ao temos um problema de valor de contorno (Ruggiero & Lopes, 1996) (normalmente abreviado para PVC). 6
  • 7. Um exemplo de problema de contorno ´e o de uma barra de comprimento L sujeita a uma carga uniforme q. Se, no ponto x0 = 0 est´a barra est´a presa e em xL = L ela est´a s´o apoiada, este problema ´e descrito pelo seguinte problema de contorno:    y (x) + ky(x) = q y(0) = y (0) = 0 y(L) = y (L) = 0 (19) onde k ´e uma constante que depende do material da barra. Ao contr´ario do que ocorre com os PVI, ´e comum que problemas de contorno n˜ao tenham unicidade de solu¸c˜ao. Por exemplo, para todo α ∈ R, y(x) = α · (1 + x) ´e a solu¸c˜ao do PVC (Ruggiero & Lopes, 1996):    y = 0 y(−1) = 0 y(1) − 2y (1) = 0 (20) Figura 5: Passos para a resolu¸c˜ao de uma EDO de maneira anal´ıtica. Uma das principais propriedades das equa¸c˜oes diferenciais ordin´arias (EDO), lineares e com coeficientes constantes ´e que elas sempre possuem uma solu¸c˜ao anal´ıtica que pode ser encontrada de forma sistem´atica. No entanto, nem todas as equa¸c˜oes diferenciais possuem esta propriedade, existindo equa¸c˜oes que n˜ao possuem solu¸c˜ao na forma anal´ıtica, logo sua solu¸c˜ao deve ser encontrada de forma num´erica. 2.2 Problemas de Valor Inicial A raz˜ao mais forte para a introdu¸c˜ao de m´etodos num´ericos para a aproxima¸c˜ao de solu¸c˜oes de problemas de valor inicial(PVI) ´e a dificuldade de se encontrar, analiticamente, as solu¸c˜oes da equa¸c˜ao. Em muitos casos, a teoria nos garante a existˆencia e unicidade de solu¸c˜ao, mas n˜ao sabemos qual ´e a express˜ao anal´ıtica desta solu¸c˜ao. Uma condi¸c˜ao que garante a existˆencia e a unicidade da solu¸c˜ao do PVI ´e dado pelo seguinte teorema: Teorema 1 (Existˆencia e Unicidade - Teorema de Picard). Considere uma fun¸c˜ao real f(x, y) cont´ınua no intervalo a ≤ x ≤ b, com a e b finitos e −∞ < y < +∞. Se existe uma constante L tal que para todo x ∈ [a, b] e para todo par (y, y1) tivermos: |f(x, y) − f(x, y1)| ≤ L|y − y1| (Condi¸c˜ao de Lipschitz) ent˜ao existe uma ´unica fun¸c˜ao y = y(x) satisfazendo as seguintes condi¸c˜oes: 1. y(x) ´e cont´ınua e diferenci´avel para todo x ∈ [a, b]; 2. y = f(x, y(x)) para x ∈ [a, b]; 3. y(x0) = y0, onde y0 ´e um valor conhecido. Em outras palavras, a solu¸c˜ao do PVI ´e uma fun¸c˜ao y = y(x) cont´ınua e diferenci´avel que satisfaz a equa¸c˜ao diferencial y = f(x, y) e passa pelo ponto (x0, y0) (a prova desse teorema pode ser encontrada em Sotomayor,J.D.. Vale a pena ressaltar que tal prova baseia-se no teorema do ponto fixo de Banach) (Arenales & Darezzo, 2008; Zill, 2003; Sotomayor, 1979; Zarowski, 2004). Os m´etodos que estudaremos neste pequeno trabalho introdut´orio se baseiam em: dado o PVI: y = f(x, y) y(x0) = y0 (21) 7
  • 8. constru´ımos x1, x2, . . . , xn que, embora n˜ao necessariamente, para n´os ser˜ao igualmente espa- ¸cados, ou seja : xi+1 −xi = h, i = 0, 1, . . . , e calculamos as aproxima¸c˜oes yi y(xi) nestes pontos, usando informa¸c˜oes anteriores. Se, para calcular yj usamos apenas yj−1 teremos um m´etodo de passo simples ou passo um. Por´em, se usarmos mais valores, teremos um m´etodo de passo m´ultiplo. Como estamos trabalhando essencialmente com PVI de primeira ordem, temos uma aproxi- ma¸c˜ao inicial y(x0) para a solu¸c˜ao. Dessa forma, os m´etodos de passo um s˜ao classificados como auto-iniciantes. J´a para os m´etodos de passo m´ultiplo temos de lan¸car m˜ao de alguma estra- t´egia (como usar m´etodos de passo simples) para obtermos as aproxima¸c˜oes iniciais necess´arias (Ruggiero & Lopes, 1996). Outras caracter´ısticas dos m´etodos de passo simples s˜ao: • necessidade de c´alculo do valor de f(x, y) e suas derivadas em muitos pontos; • dificuldades em estimar o erro. 2.3 Discretiza¸c˜ao Resolver numericamente um PVI consiste em calcular aproxima¸c˜oes para y = y(x) em pontos discretos x0, x1, x2, . . . , xN de um intervalo [a, b]. Para discretizar o intervalo [a, b], tomamos N subintervalos N ≥ 1 e fazemos xn = x0 + nh, n = 0, 1, 2, . . . , N com x0 = a e xN = b, sendo h = (xN −x0) N . A este conjunto de pontos x0, x1, x2, . . . , xN denominamos rede ou malha de pontos discretos e calculamos aproxima¸c˜oes para y(x) nestes pontos, isto ´e, determinamos yn tal que yn ∼= y(xn), n = 0, 1, 2, . . . , N. A partir de um ponto inicial dado y(x0) = y0 (valor inicial), calculamos passo a passo, nos pontos x1 = x0 + h, x2 = x0 + 2h, x3 = x0 + 3h, . . . , xn = x0 + nh, solu¸c˜oes aproximadas yn para a solu¸c˜ao exata y(xn), n = 0, 1, 2, . . . , N, conforme ilustrado na Figura 6. Figura 6: O problema da discretiza¸c˜ao e a rela¸c˜ao entre as solu¸c˜oes exatas e num´ericas (Arenales & Darezzo, 2008). O erro local, cometido nas aproxima¸c˜oes em cada ponto, ´e a diferen¸ca entre o valor exato da equa¸c˜ao diferencial e eo valor num´erico aproximado em cada um dos pontos do intervalo [a, b], isto ´e: e(xn) = y(xn) − yn, n = 1, . . . , N (22) 8
  • 9. 2.4 Modelagem de Problemas que Envolvem Equa¸c˜oes Diferenciais Nesta se¸c˜ao ser˜ao listados apenas alguns problemas que podem ser modelados atrav´es de Equa- ¸c˜oes Diferenciais Ordin´arias. A maioria dos problemas s˜ao de natureza f´ısica, por´em vale ressaltar que o escopo para uso das Equa¸c˜oes Diferenciais Ordin´arias ´e ilimitado. Como poder´a ser obser- vado com os modelos de Dinˆamica Populacional e Modelo Predador-Presa. Alguns exemplos de modelagem que podem ser citados s˜ao: Desintegra¸c˜ao Radioativa: Em muitos materiais radioativos, a sua massa decai ao longo do tempo de acordo com a equa¸c˜ao dM dt = −kM, em que M ´e a massa do material num dado instante. Arrefecimento de um Corpo: A temperatura de um corpo T em contacto com um ambiente a uma temperatura A, constante, ´e modelado pela equa¸c˜ao de arrefecimento de Newton dT dt = −k(T − A), em que k ´e uma constante de transmiss˜ao de calor. Circuito RC: Em um circuito constitu´ıdo por uma bateria com diferen¸ca de potencial V, uma resistˆencia R e um condensador de capacidade C. O circuito obedece `as seguintes equa¸c˜oes diferenciais V = RI + Q C e I = dQ dt (23) Dinˆamica Populacional: Um modelo simplificado de dinˆamica poulacional (modelo de Verhulst- Pearl) prevˆe que a varia¸c˜ao da popula¸c˜ao M se fa¸ca de acordo com a equa¸c˜ao diferencial dP dt = −kP 1 − P L (24) em que P ´e a popula¸c˜ao num dado tempo, k uma constante (de crescimento inicial) e L um valor limite. Modelo Predador-Presa: Um sistema ecol´ogico com duas esp´ecies (predador-presa) pode ser modelado pelas equa¸c˜oes abaixo (Lotka-Volterra), neste caso referentes `a varia¸c˜ao do n´umero de raposas (F) e de coelhos (R) dR dt = −aR − bRF e dF dt = ebRF − cF onde os parˆametros tˆem o seguinte significado • a ´e a taxa de crescimento natural de coelhos, na ausˆencia de predadores; • b ´e a taxa de mortalidade por encontro de coelhos com raposas; • c ´e a taxa de mortalidade natural de raposas na falta de coelhos; • e ´e a eficiˆencia de transforma¸c˜ao de coelhos em raposas. Movimento de um Pˆendulo: O movimento de um pˆendulo pode ser modelado atrav´es da equa- ¸c˜ao diferencial d2 α dt2 = − g L sin α − k dα dt (25) em que α ´e o ˆangulo de desvio da vertical em cada instante, m a masssa do pˆendulo (assumindo-se que a massa do fio ´e deprez´avel) g a acelera¸c˜ao da gravidade (9.8ms−2 ), L o comprimento do pˆendulo e k uma constante (nula no caso de um pˆendulo sem fric¸c˜ao). Circuito RLC: Em um circuito constitu´ıdo por uma bateria com diferen¸ca de potencial V, uma resistˆencia R, um condensador de capacidade C e uma bobina de indutˆancia L. O circuito obedece `as seguintes equa¸c˜oes diferenciais V = VR + VC + VL; VL = L dI dt ; VR = RI; VC = Q C e I = dQ dt (26) 9
  • 10. Figura 7: Problemas que s˜ao cotidianamente modelados atrav´es de Equa¸c˜oes Diferenciais Ordin´arias: Circuitos RC, Movimento Pendular e Circuitos RLC. 3 Resolu¸c˜ao de Equa¸c˜oes Diferenciais Ordin´arias 3.1 M´etodos Num´ericos Para a Resolu¸c˜ao de Equa¸c˜oes Diferenciais Or- din´arias O estudo e a implementa¸c˜ao de m´etodos num´ericos para a solu¸c˜ao de equa¸c˜oes diferenciais ordin´arias(EDO) ´e uma ferramenta de grande utilidade para a solu¸c˜ao de muitos problemas, sejam em Matem´atica ou ´areas afins, cuja as t´ecnicas conhecidas de resolu¸c˜ao de equa¸c˜oes diferenciais mediante solu¸c˜oes anal´ıticas, como a integra¸c˜ao ou os desenvolvimentos em s´eries de potˆencias n˜ao se aplicam ou s˜ao de utiliza¸c˜ao muito complicada ou praticamente invi´avel. Desta forma,o emprego de m´etodos num´ericos tˆem a finalidade de se conseguir aproxima¸c˜oes num´ericas muito acuradas em rela¸c˜ao `a solu¸c˜ao exata de uma equa¸c˜ao diferencial do tipo y (x) = f(x, y(x)), onde f(x, y) ´e uma fun¸c˜ao estabelecida. Por´em, para se definir uma ´unica fun¸c˜ao y(x) temos de fornecer dados adicionais `a equa¸c˜ao diferencial para o qual ´e necess´ario uma condi¸c˜ao que denominamos de problema de valor inicial ou problema de valor de contorno, mais se restringiremos somente ao primeiro caso em nosso estudo. Num problema de valor inicial (PVI), procuramos y(x), solu¸c˜ao de uma equa¸c˜ao diferencial em estudo, que satisfa¸ca a seguinte condi¸c˜ao: y (x) = f(x, y); y(x0) = y0 (27) com x0 e y0 sendo valores conhecidos. No entanto o problema descrito acima ´e poss´ıvel de se implementar em uma linguagem de programa¸c˜ao para computadores e tamb´em em algumas calculadoras cient´ıficas port´ateis. Nas se¸c˜oes subsequentes trataremos dos m´etodos num´ericos de passo simples, onde estes re- querem somente o conhecimento de yn para a determina¸c˜ao de yn+1, como o M´etodo de Euler, M´etodo de Euler Inverso, M´etodo de Euler Aprimorado, assim como Runge-Kutta de ordem dois e quatro. Mais adiante trataremos dos m´etodos de passos m´ultiplos, onde estes utilizam dados de outros pontos al´em do ponto pr´evio, digamos yn, yn−1, yn−2 para a determina¸c˜ao de yn+1, como o M´etodo de Adams e f´ormulas inversas de diferencia¸c˜ao, assim como a discuss˜ao de erros e estabilidade destes m´etodos, podendo compar´a-los em rela¸c˜ao aos resultados obtidos nos m´etodos de passo simples. Por´em, antes mesmo da introdu¸c˜ao desses m´etodos, faz-se necess´ario a demostra¸c˜ao de algumas das f´ormulas matem´aticas que regem os mesmos, com a inten¸c˜ao de deixar mais claro e coeso o pr´oposito de nosso estudo. As nota¸c˜oes que ser˜ao usadas ao longo do trabalho s˜ao as seguintes. A solu¸c˜ao exata do problema de valor inicial dado pelas equa¸c˜oes (27) ser´a representada por φ ou y = φ(x), deste modo, o valor da solu¸c˜ao exata em xn ´e φ(xn). Para um dado procedimento num´erico, os s´ımbolos yn e yn = φ(xn, yn) representar˜ao os valores aproximados da solu¸c˜ao exata e de sua derivada no ponto xn. Obviamente, φ(x0) = y0, mas em geral, φ(xn) = yn, para n ≥ 1. De modo an´alogo, φ (x0) = y0, mas em geral, φ (xn) = f[xn, φ(xn)] n˜ao ´e igual a yn = f(xn, yn), para n ≥ 1. Al´em disso, em toda a discuss˜ao, utilizaremos um espa¸camento 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. 10
  • 11. 4 M´etodos de Passo Simples 4.1 O M´etodo de Euler O m´etodo de Euler ´e o m´etodo num´erico mais elementar de um passo para a resolu¸c˜ao de equa¸c˜oes diferenciais ordin´arias. Deste modo,vamos discutir o desenvolvimento e o emprego dos procedimentos num´ericos deste m´etodo. Primeiramente, vamos nos concentrar principalmente nos problemas de valor inicial de equa¸c˜oes diferenciais de primeira ordem, constitu´ıdos pela equa¸c˜ao diferencial y = f(x, y) eq.1 (28) e pela condi¸c˜ao inicial y(x0) = y0 eq.2 (29) e seguiremos o seguinte teorema Teorema 2. Sejam as fun¸c˜oes f e fy cont´ınuas num certo retˆangulo α < x < β; γ < y < δ que cont´em o ponto (x0, y0). Ent˜ao num certo intervalo x0 − h < x < x0 + h, contido em α < x < β h´a uma ´unica solu¸c˜ao y = f(x) do problema de valor inicial: y (x) = f(x, y); y(x0) = y0 (30) A primeira tentativa de resolu¸c˜ao num´erica de uma equa¸c˜ao diferencial foi feita por Eu- ler,aproximadamente em 1768. Usou o que se chama hoje o m´etodo da reta tangente, ou tamb´em m´etodo de Euler. Uma vez que, x0 e y0 s˜ao conhecidos, a inclina¸c˜ao ou coeficiente angular da reta tangente `a solu¸c˜ao em x = x0, especificamente f0(x0) = f(x0, y0), tamb´em ´e conhecida. Deste modo, podemos construir a reta tangente `a solu¸c˜ao em x0, e ent˜ao obter um valor aproximado y1 de f(x1) por meio de um deslocamento ao longo da reta tangente desde de x0 at´e x1. Assim, y1 = y0 + φ (x0)(x1 − x0) = y0 + f(x0, y0)(x1 − x0) eq.3 (31) Uma vez que se tenha determinado y1, podemos calcular y1 = f(x1, y1) e usar este valor como o coeficiente angular para uma nova aproxima¸c˜ao, ao nos deslocarmos de x1 at´e x2. Obtendo assim, y2 = y1 + y1(x2 − x1) = y1 + f(x1, y1)(x2 − x1) eq.4 (32) Em geral y1 = f(x1) e ent˜ao, em geral, f(x1, y1) n˜ao ´e igual a f[x1, f(x1)], que ´e o coeficiente angular da solu¸c˜ao exata em x1. Continuando desta maneira, usamos o valor de y calculado em cada passo para determinar o coeficiente angular da aproxima¸c˜ao do passo seguinte. A f´ormula geral da aproxima¸c˜ao de Euler ´e: yn+1 = yn + f(xn, yn)(xn+1 − xn) eq.5 (33) Se admitirmos que o incremento h entre os pontos x0, x1, x2, . . . seja uniforme, ent˜ao xn+1 = xn + h e a f´ormula de Euler assumem o aspecto yn+1 = yn + hf(xn, yn) = yn + hfn, n = 0, 1, 2, . . . eq.6 (34) Antes de discutirmos o m´etodo de Euler com mais profundidade, ilustraremos o seu uso num problema de valor inicial. 11
  • 12. Consideremos o problema a seguir: y = x − 2xy (eq.7), y(0) = 1 (eq.8) (35) No decorrer deste trabalho, usaremos este pequeno exemplo para demostra¸c˜oes e compara¸c˜oes dos diferentes m´etodos num´ericos. A equa¸c˜ao (7)[35] ´e uma equa¸c˜ao diferencial ordin´aria linear de primeira ordem, cuja solu¸c˜ao satisfaz a condi¸c˜ao inicial (8)[35]. Deste modo, obteremos a solu¸c˜ao geral e particular da equa¸c˜ao diferencial proposta. Sabemos que uma equa¸c˜ao diferencial ordin´aria linear de primeira ordem, tem a forma: y + p(x)y = q(x) (eq.9), (36) onde p(x) e q(x) s˜ao fun¸c˜oes cont´ınuas dadas, num certo intervalo α < x < β , segundo o Teorema 2; Assim da eq.(9)[36], obtemos o fator integrante: µ(x) = e R p(x)dx (eq.10), (37) e a sua primitiva ´e: y(x)e R p(x)dx = q(x)e R p(x)dx dx + C (eq.11) (38) A constante arbitr´aria C ´e usada para satisfazer a condi¸c˜ao inicial estabelecida no problema. Desta maneira, podemos escrever a equa¸c˜ao(7) na forma da equa¸c˜ao(9) acima. y + 2xy = x (eq.12) (39) onde p(x) = 2x e q(x) = x s˜ao fun¸c˜oes cont´ınuas no intervalo [0, 1] escolhido. O fator integrante ´e: µ(x) = e R 2xdx = ex2 (eq.13) (40) e sua primitiva ´e: y(x)ex2 = xex2 dx + C (eq.14) (41) onde; xex2 dx = 1 2 ex2 + C (eq.15) (42) utilizando-se a integra¸c˜ao por mudan¸ca de vari´avel. Atrav´es da condi¸c˜ao inicial (8), encontramos que c = 1 2 e assim; y = φ(x) = 1 2 + 1 2 e−x2 (eq.16) (43) ´e a solu¸c˜ao particular do problema dado. Uma vez que a solu¸c˜ao exata ´e conhecida, n˜ao precisamos de m´etodos num´ericos para resolver o problema de valor inicial (7) e (8). Mas por outro lado, a disponibilidade de uma solu¸c˜ao exata facilitar´a o c´alculo da exatid˜ao dos diversos procedimentos num´ericos que ser˜ao adotados neste problema e nos demais seguintes. Tomemos como exemplo, a utiliza¸c˜ao da f´ormula de Euler (6), com um incremento h = 0, 1; e, em seguida para h = 0, 05, onde deseja-se calcular um valor aproximado da solu¸c˜ao y = φ(x) em x = 0, 2 para o problema de valor inicial (7) e (8). Identificamos inicialmente yn = f(x, y) = x − 2xy, de modo que a f´ormula de Euler (6) se escreve como : yn+1 = yn + h(xn − 2xnyn) Ent˜ao, para h = 0, 1, utilizando a f´ormula do m´etodo de Euler, calculamos inicialmente, y0 = f(0, 1) = 0 − 2 · 0 · 1 = 0 12
  • 13. ent˜ao, 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 ´e uma estimativa do valor de y(0, 2) com x = 0, 2. Entretanto, tomando h = 0, 05, tornam-se necess´arias quatro itera¸c˜oes para chegarmos a x = 0, 2. Se prosseguirmos com a aproxima¸c˜ao do m´etodo de Euler, ao longo do intervalo desejado [0, 1], obedecendo os valores de incremento determinados h = 0, 1 e h = 0, 05, encontraremos os demais valores aproximados da solu¸c˜ao exata. Seguindo a elabora¸c˜ao de um algoritmo para o m´etodo (podendo utilizar um programa em linguagem C, por exemplo) obteremos os demais valores de xn ao longo do intervalo analisado. Desta forma, podemos construir uma tabela de dados que nos permitir´a estruturar, para uma melhor an´alise, `as demais solu¸c˜oes aproximadas.[Para uma melhor introdu¸c˜ao a algoritmos e linguagens de programa¸c˜ao ler ”Aprendendo a Programar Programando em C”] (Evaristo, 2001) Figura 8: Ilustra¸c˜ao do m´etodo de Euler. Observe como se comporta o gr´afico em rela¸c˜ao a solu¸c˜ao num´erica (m´etodo de Euler) e anal´ıtica de uma equa¸c˜ao diferencial ordin´aria de 1a ordem. O m´etodo pode ser aplicado com o uso de l´apis, papel e calculadora. No entanto, este processo ´e fastidioso pelo n´umero de itera¸c˜oes. Seu desenvol- vimento utilizando um computador ´e muito mais simples. Repare que o valor do passo ´e escolhido considerando-se o erro desejado. O erro no m´etodo de Euler ´e da ordem de O(h2). ALGORITMO DO M´ETODO DE EULER • No intervalo , selecione os pontos x0 < x1 < . . . < xn = x0 + nh com um incremento h = (x0+nh)−x0 n entre eles. • Calcule a aproxima¸c˜ao x1 de φ(x1) usando a f´ormula descrita pelo m´etodo x1 = x0 + hf(x0, y0) • Agora, calcule a aproxima¸c˜ao x2 de φ(x2) usando novamente a f´ormula descrita pelo m´etodo x2 = x1 + hf(x1, y1) • Continue o processo e obtenha as aproxima¸c˜oes x3, x4, . . . , xn usando sucessivamente a f´or- mula xn+1 = xn + hf(xn, yn) ao longo do intervalo [x0, x0 + nh]. 13
  • 14. ¨§ ¤ 1 Entre com a funcao f(x, y) . 2 Entre com os v a l o r e s i n i c i a i s x0 e y0 . 3 Entre com o passo h . 4 Enquanto xn xfinal Execute : 5 Escreva n, xn, yn . 6 Avalie xn+1 = xn + h . 7 Avalie yn+1 = yn + h · f(xn, yn) . 8 Faca xn = xn+1 e yn = yn+1 9 Fim. ©¦ ¥ C´odigo Fonte 1: Algoritmo Simplificado do M´etodo de Euler, tamb´em conhecido como m´etodo da reta secante. ´E um dos m´etodos mais antigos que se conhece para a solu¸c˜ao de equa¸c˜oes diferenciais ordin´arias. Problemas pr´aticos n˜ao devem ser resolvidos com o m´etodo de Euler. Existem outros m´etodos que proporcionam resultados com uma melhor precis˜ao e estabilidade se comparados ao m´etodo de Euler para o mesmo passo. Para ilustrar ainda mais a obten¸c˜ao dos valores do exemplo padr˜ao, exibiremos uma pequena implementa¸c˜ao do M´etodo de Euler em C++ [C´odigo Fonte 2]. Observe que neste exemplo de codifica¸c˜ao utilizamos h = 0.001 apenas a t´ıtutlo explorat´orio. Na tabela de valores utilizamos a equa¸c˜ao y = x − 2xy, y(0) = 1 que possibilitou gerar os demais valores aproximados xn ao longo do intervalo em [0, 1] com valores de incrementos h = 0, 1 e h = 0, 05. ¨§ ¤ 1 #i n c l u d e cmath 2 #i n c l u d e c s t d l i b 3 #i n c l u d e iostream 4 5 /∗ Solucao y(x) da equacao − Definicao da funcao ∗/ 6 double y ( double x ) { return . . . } 7 8 /∗ A funcao f(x, y) ∗/ 9 double f ( double x , double y ) { return . . . } 10 11 /∗ Funcao P r i n c i p a l do Programa ∗/ 12 int main( int argc , char∗ argv [ ] ) 13 { 14 double xn , xn1 , xmax ; /∗ v a r i a v e i s xn e xn+1 ∗/ 15 double yn , yn1 ; /∗ v a r i a v e i s yn e yn+1 ∗/ 16 double y0 , x0 ; /∗ v a l o r e s i n i c i a i s de y e x ∗/ 17 double h ; /∗ passo ∗/ 18 int n ; 19 20 x0 = 0 . 0 ; /∗ v a lo r i n c i a l para x ∗/ 21 y0 = 1 . 0 ; /∗ v a lo r i n i c i a l para y ∗/ 22 xmax = 2 . 0 ; /∗ v a lo r maximo para x ∗/ 23 h = 0 . 0 0 1 ; /∗ o v a l or do passo ∗/ 24 xn = t0 ; 25 yn = y0 ; 26 n = 0 ; /∗ numero de i t e r a c o e s ∗/ 27 while ( xn xmax) 28 { 29 /∗ Escreva os v a l o r e s das v a r i a v e i s ∗/ 30 std : : cout n t xn t yn t y ( xn ) std : : endl ; 31 32 /∗ Estime yn+1 pelo metodo de Euler ∗/ 33 yn1 = yn + h∗ f ( xn , yn ) ; 34 xn1 = xn + h ; 35 36 /∗ Atribua os v a l o r e s para a proxima i t e r a c a o ∗/ 37 n = n + 1 ; 38 yn = yn1 ; 39 xn = xn1 ; 40 } 41 42 /∗ Termino do programa ∗/ 43 return EXIT SUCCESS ; 44 } ©¦ ¥ C´odigo Fonte 2: Exemplo de um programa em C++ para a solu¸c˜ao de uma EDO pelo m´etodo de Euler. Este programa foi escrito apenas com intuito did´atico, o uso de outras t´ecnicas inerentes a linguagem como Orienta¸c˜ao `a Objetos, defini¸c˜ao de classes para avalia¸c˜ao de fun¸c˜oes, Objetos-Fun¸c˜ao e o pr´oprio uso da STL podem dar um semblante mais profissional ao pequeno trecho de c´odigo apresentado. Nas tabelas [1] e [2], os valores encontrados para a solu¸c˜ao exata, foram calculados a partir 14
  • 15. xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo % 0,00 1,0000 1,0000 0,0000 0,00 0,10 1,0000 0,9950 0,0050 0,50 0,20 0,9900 0,9804 0,0096 0,97 0,30 0,9704 0,9570 0,0134 1,40 0,40 0,9422 0,9261 0,0161 1,73 0,50 0,9068 0,8894 0,0233 2,61 0,60 0,8661 0,8488 0,0174 2,04 0,70 0,8222 0,8063 0,0159 1,97 0,80 0,7771 0,7636 0,0135 1,76 0,90 0,7327 0,7224 0,0103 1,42 1,00 0,6908 0,6839 0,0069 1,00 Tabela 1: Resultado da aplica¸c˜ao do m´etodo de Euler, com valor do incremento h = 0, 1, na resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1 xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo % 0,00 1,0000 1,0000 0,0000 0,00 0,05 1,0000 0,9988 0,0012 0,12 0,10 0,9975 0,9950 0,0025 0,25 0,15 0,9925 0,9889 0,0036 0,36 0,20 0,9851 0,9804 0,0047 0,47 0,25 0,9754 0,9697 0,0057 0,58 0,30 0,9635 0,9570 0,0065 0,67 0,35 0,9496 0,9424 0,0072 0,76 0,40 0,9339 0,9261 0,0078 0,84 0,45 0,9165 0,9083 0,0082 0,90 0,50 0,8978 0,8894 0,0084 0,94 0,55 0,8779 0,8695 0,0084 0,96 0,60 0,8571 0,8488 0,0083 0,97 0,65 0,8357 0,8277 0,0080 0,96 0,70 0,8138 0,8063 0,0075 0,93 0,75 0,7919 0,7848 0,0071 0,90 0,80 0,7700 0,7636 0,0064 0,83 0,85 0,7484 0,7428 0,0056 0,75 0,90 0,7273 0,7224 0,0049 0,67 0,95 0,7068 0,7028 0,0040 0,56 1,00 0,6871 0,6839 0,0032 0,46 Tabela 2: Resultado da aplica¸c˜ao do m´etodo de Euler, com valor do incremento h = 0, 05, na resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1. 15
  • 16. da solu¸c˜ao anal´ıtica y = φ(x) = 1 2 + 1 2 e−x2 . Por outro lado, define-se o erro absoluto como: |exata − aprox|. Por outro lado, o erro relativo e erro relativo percentual s˜ao definidos como: |exata − aprox| |exata| e |exata − aprox| |exata| · 100 = erro absoluto |exata| · 100 Um programa de computador permite-nos examinar aproxima¸c˜oes do gr´afico da solu¸c˜ao y(x) de um problema de valor inicial, tra¸cando os gr´aficos de retas pelos pontos (xn, yn) gerados pelo m´etodo de Euler. Figura 9: Aqui comparamos no intervalo [0,1], o gr´afico da solu¸c˜ao exata do problema de valor inicial (B) com o gr´afico obtido pelo m´etodo de Euler (A) utilizando o valores para h = 0, 05. Se fizessemos um comparativo para h = 0, 1 seria f´acil observar que a aproxima¸c˜ao melhora quando o passo diminui. Um fato relevante, ao adotar um procedimento num´erico, como o m´etodo de Euler, ´e ter sempre em mente a quest˜ao de saber se os resultados s˜ao suficientemente muito pr´oximos da solu¸c˜ao exata para terem utilidade. No exemplo precedente, a exatid˜ao dos resultados num´ericos pode ser verificada graficamente, pela compara¸c˜ao com a solu¸c˜ao exata. Pois ´e natural, n˜ao se dispor, em geral, da solu¸c˜ao exata quando se adota um procedimento num´erico. Vamos agora apontar trˆes maneiras de demonstrar a f´ormula de Euler (6), que sugerem formas de se encontrar f´ormulas melhores, e que tamb´em ajudam na investiga¸c˜ao dos erros cometidos com ado¸c˜ao da equa¸c˜ao (6). Em primeiro lugar, vamos escrever a equa¸c˜ao diferencial (1) no ponto x = xn na forma dφ dt (xn) = f[xn, φ(xn)] (eq.17) (44) Em seguida, aproximamos a derivada da equa¸c˜ao (17) pela rela¸c˜ao [φ(xn+1)−φ(xn)]/xn+1−xn, e como, h = xn+1 − xn, obtendo-se assim φ(xn+1) − φ(xn) h ∼= f[xn, φ(xn)] (eq.18) (45) Finalmente, substitu´ımos φ(xn+1) e φ(xn) pelos valores aproximados yn+1 e yn respectiva- mente, obtendo a f´ormula de Euler (6) yn+1 = yn + hfn Em segundo lugar, como y = φ(x) ´e uma solu¸c˜ao do problema de valor inicial (1), (2), 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)]dt Aplicando o 1o Teorema Fundamental do C´alculo no 1o membro da igualdade, temos que : 16
  • 17. φ(x)|xn+1 xn = xn+1 xn f[x, φ(x)]dt φ(xn+1) − φ(xn) = xn+1 xn f[x, φ(x)]dt φ(xn+1) = φ(xn) + xn+1 xn f[x, φ(x)]dt (eq.19) (46) Se aproximarmos a integral, pela substitui¸c˜ao de f[x, φ(x)] por seu valor f[xn, φ(xn)] em x = xn. Desta maneira, obteremos : φ(xn+1) ∼= φ(xn) + f[xn, φ(xn)](xn+1 − xn) φ(xn+1) = φ(xn) + hf[xn, φ(xn)] (eq.20) (47) Finalmente para se ter uma aproxima¸c˜ao yn+1 para φ(xn+1) fazemos uma segunda aproxima¸c˜ao pela substitui¸c˜ao de φ(xn) por seu valor aproximado yn na equa¸c˜ao (20). Isto nos leva `a f´ormula de Euler (6) yn+1 = yn + hf(xn, yn) Pode-se obter uma f´ormula mais exata, se a integral for aproximada com maior exatid˜ao. Em terceiro lugar, vamos admitir que a solu¸c˜ao y = φ(x) tenha uma s´erie de Taylor em torno do ponto x = xn, ent˜ao : φ(xn + h) = φ(xn) + φ (xn)h + φ (xn) h2 2! + . . . ou φ(xn + h) = φ(xn) + f[xn, φ(xn)]h + φ (xn) h2 2! + . . . (eq.21) (48) Se a s´erie for truncada depois dos primeiros termos, e se φ(xn+1) e φ(xn) forem substitu´ıdas pelos valores aproximados yn+1 e yn obteremos outra vez a f´ormula de Euler (6) : yn+1 = yn + hf(xn, yn) Quando utilizamos mais termos da s´erie, conseguimos f´ormulas mais exatas e precis˜oes muito maiores. 4.1.1 F´ormula de Euler Inversa Uma variante da f´ormula de Euler pode ser obtida aproximando a derivada da equa¸c˜ao (17) pela express˜ao [φ(xn) − φ(xn−1)]/h em vez de usar a express˜ao do lado esquerdo da equa¸c˜ao (18). Desta forma, obtemos : φ(xn) − φ(xn−1) ∼= hf(xn, yn) ou yn = yn−1 + hf(xn, yn) Mudando o ind´ıce de n para n + 1, obtemos a f´ormula de Euler inversa yn+1 = yn + hf(xn+1, yn+1) (eq.22) (49) 17
  • 18. Supondo que yn seja conhecido e que yn+1 deva ser calculado, observe que a equa¸c˜ao (22) n˜ao fornece uma f´ormula expl´ıcita para calcular yn+1. Em vez disso, a equa¸c˜ao define yn+1 implicitamente e deve ser resolvida para determinar o valor de yn+1. Como exemplo, use a f´ormula de Euler inversa (22) para determinar valores aproximados da solu¸c˜ao do problema de valor inicial (7) e (8). Use h = 0, 1 e determine y1 e y2. No primeiro passo, temos: y1 = y0 + hf(x1, y1) = 1 + (0, 1)(0, 1 − 2 · (0, 1) · y1) Tirando o valor de y1, obtemos: y1 = 1, 01/1, 02 = 0, 99019607 com uma precis˜ao de oito algarismos significativos. Observe que como a equa¸c˜ao diferencial ´e linear, a equa¸c˜ao impl´ıcita para calcular y1 tamb´em ´e linear e portanto f´acil de resolver. Em seguida, temos: y2 = y1 + hf(x2, y2) = 0, 99019607 + (0, 1)(0, 2 − 2 · (0, 2) · y2), o que leva a y2 = 1, 01019607/1, 04 = 0, 971342375 Os valores de y1 e y2 determinados podem ser comparados com os valores correspondentes da solu¸c˜ao exata, φ(0, 2) = 0, 9804. Continuando o processo iniciado no exemplo anterior e tomando os mesmos valores para o incremento h = 0, 1 e h = 0, 05, respectivamente, podemos gerar os dados que aparecem na Tabela (3) e (4) xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo % 0,00 1,0000 1,0000 0,0000 0,00 0,10 0,9902 0,9950 0,0048 0,48 0,20 0,9713 0,9804 0,0091 0,93 0,30 0,9447 0,9570 0,0123 1,30 0,40 0,9117 0,9261 0,0143 1,57 0,50 0,8743 0,8894 0,0151 1,72 0,60 0,8342 0,8488 0,0146 1,75 0,70 0,7932 0,8063 0,0132 1,65 0,80 0,7527 0,7636 0,0109 1,45 0,90 0,7142 0,7224 0,0083 1,15 1,00 0,6785 0,6839 0,0055 0,80 Tabela 3: Resultado da aplica¸c˜ao do m´etodo de Euler inversa, com valor do incremento h = 0, 1, na resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1. Comparando os resultados da Tabela (1) e da Tabela (2), vemos que para este problema, a f´ormula de Euler inversa ´e um pouco menos precisa que a f´ormula de Euler expl´ıcita. J´a que ela tamb´em ´e um pouco mais dif´ıcil de usar, podemos ficar a nos perguntar por que nos demos o trabalho de mencion´a-la. A resposta ´e que trata do exemplo mais simples de uma classe de m´etodos conhecidos como f´ormulas inversas de diferencia¸c˜ao que podem ser muito ´uteis para resolver certas classes de equa¸c˜oes diferenciais (Boyce DiPrima, 2005; Zill, 2003). 4.1.2 F´ormula de Euler Aprimorada Uma f´ormula aproximada melhor pode ser obtida se o integrando na equa¸c˜ao (19) for apro- ximado com maior exatid˜ao. Uma forma de conseguir esta melhoria ´e a de substituir o inte- grando pela m´edia dos seus valores nas duas extremidades do intervalo de integra¸c˜ao, ou seja, por {f[xn, φ(xn)] + f[xn+1, φ(xn+1)]}/2. Al´em disso, se substituirmos φ(xn) e φ(xn+1) pelos respectivos valores aproximados yn e yn+1, obteremos, da equa¸c˜ao (22), yn+1 = yn + f(xn, yn) + f(xn+1, yn+1) 2 h (eq.23) (50) 18
  • 19. xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo % 0,00 1,0000 1,0000 0,0000 0,00 0,05 0,9975 0,9988 0,0024 0,12 0,10 0,9926 0,9950 0,0025 0,24 0,15 0,9853 0,9889 0,0036 0,36 0,20 0,9758 0,9804 0,0046 0,47 0,25 0,9642 0,9697 0,0055 0,57 0,30 0,9507 0,9570 0,0063 0,66 0,35 0,9354 0,9424 0,0069 0,74 0,40 0,9187 0,9261 0,0074 0,80 0,45 0,9007 0,9083 0,0077 0,85 0,50 0,8816 0,8894 0,0078 0,88 0,55 0,8617 0,8695 0,0078 0,90 0,60 0,8412 0,8488 0,0076 0,90 0,65 0,8204 0,8277 0,0073 0,89 0,70 0,7994 0,8063 0,0069 0,86 0,75 0,7785 0,7848 0,0064 0,81 0,80 0,7579 0,7636 0,0057 0,75 0,85 0,7377 0,7428 0,0051 0,68 0,90 0,7180 0,7224 0,0044 0,60 0,95 0,6992 0,7028 0,0036 0,51 1,00 0,6810 0,6839 0,0029 0,42 Tabela 4: Resultado da aplica¸c˜ao do m´etodo de Euler inversa, com valor do incremento h = 0, 05, na resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1 Uma vez que a inc´ognita yn+1 aparece como um dos argumentos de f no segundo membro da equa¸c˜ao (23) ´e muitas vezes bastante dif´ıcil resolver esta equa¸c˜ao em yn+1. Esta dificuldade pode ser superada pela substitui¸c˜ao, no segundo membro da equa¸c˜ao (23), de yn+1 pelo valor obtido mediante a f´ormula de Euler (6). 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 (eq.24) (51) onde xn+1 foi substitu´ıdo por xn + h. A equa¸c˜ao (24) d´a uma f´ormula para o c´alculo de yn+1, o valor aproximado de φ(xn+1), em termos dos dados em xn. ´E conhecido como f´ormula de Euler aprimorada ou f´ormula de Heun. O aprimoramento da equa¸c˜ao (22) em rela¸c˜ao `a f´ormula de Euler(6) est´a em que o erro de truncamento local, com a equa¸c˜ao (24) ´e proporcional a O(h3 ), enquanto com m´etodo de Euler ´e proporcional a O(h2 ). Nota-se que esta melhoria da exatid˜ao ´e conseguida `as custas de maior quantidade de trabalho computacional, pois se tem que estimar f(x, y) duas vezes a fim de passar de xn para xn+1. Se f(x, y) depender exclusivamente de x e n˜ao de y, a resolu¸c˜ao da equa¸c˜ao diferencial y = f(x, y) se reduz `a integra¸c˜ao de f(x). Neste caso, a f´ormula de Euler aprimorada (24) fica yn+1 − yn = h 2 [f(xn) + f(xn + h)] (eq.25) (52) que ´e a regra do trap´ezio para a integra¸c˜ao num´erica. 4.2 O M´etodo dos Trˆes Termos da S´erie de Taylor Vimos em uma se¸c˜ao anterior que a f´ormula de Euler, yn+1 = yn + hf(xn, yn), para resolver o problema de valor inicial y = f(x, y), y(x0) = y0 pode ser deduzida retendo-se os dois primeiros termos na s´erie de Taylor para a solu¸c˜ao y = φ(x) em torno do ponto y = xn. Pode-se obter uma f´ormula mais precisa usando-se os trˆes primeiros termos. Considerando-se que φ tem, pelo menos, trˆes derivadas cont´ınuas no intervalo de interesse (ou seja, ´e pelo menos de classe C3 e 19
  • 20. xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo % 0,00 1,0000 1,0000 0,0000 0,00 0,10 0,9950 0,9950 0,0000 0,00 0,20 0,9803 0,9804 0,0001 0,10 0,30 0,9569 0,9570 0,0001 0,01 0,40 0,9260 0,9261 0,0001 0,01 0,50 0,8894 0,8894 0,0000 0,00 0,60 0,8545 0,8488 0,0057 0,67 0,70 0,8114 0,8063 0,0051 0,63 0,80 0,7682 0,7636 0,0046 0,60 0,90 0,7264 0,7224 0,0040 0,55 1,00 0,6875 0,6839 0,0036 0,52 Tabela 5: Resultado da aplica¸c˜ao do m´etodo de Euler aprimorado, com valor do incremento h = 0, 1, na resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1. f tem derivadas parciais de segunda ordem cont´ınuas) e usando a s´erie de Taylor com um resto, obtemos φ(xn + h) = φ(xn) + φ (xn)h + φ (xn) h2 2! + φ (xn) h3 3! (eq.26) (53) onde xn ´e algum ponto no intervalo xn xn xn + h. Da equa¸c˜ao (17), φ (xn) = f[xn, φ(xn)] Al´em disso, φ (xn) pode ser calculado da equa¸c˜ao anterior : φ (x) = fx[x, φ(x)] + fy[x, φ(x)]φ (x) (eq.27) (54) Deste modo, φ (xn) = fx[xn, φ(xn)] + fy[xn, φ(xn)]φ (xn) (eq.28) (55) Obt´em-se a f´ormula dos trˆes termos da s´erie de Taylor substituindo φ(xn) por seu valor apro- ximado yn nas f´ormulas para φ (xn) e φ (xn) e ent˜ao desprezando o termo φ (xn)/3! na equa¸c˜ao (26). Assim, obtemos: yn+1 = yn + hyn + h2 2 yn (eq.29) (56) onde yn = f(xn, yn) (eq.30) (57) e yn = fx(xn, yn) + fy(xn, yn)yn (eq.31) (58) Assim, yn+1 = yn + hf(xn, yn) + h2 2 [fx(xn, yn) + fy(xn, yn)f(xn, yn)] (eq.32) (59) ´E trivial mostrar, considerando-se que φ(xn) = yn, que o erro de f´ormula local en+1 associado `a f´ormula |exata − aprox| ´e: en+1 = φ(xn+1) − yn+1 = 1 6 φ (xn)h3 (eq.33) (60) onde xn xn xn + h. Assim, o erro de f´ormula local para a f´ormula dos trˆes termos da s´erie de Taylor ´e proporcional a O(h3 ) exatamente como na f´ormula de Euler aprimorada discutida na se¸c˜ao anterior. Novamente, pode-se tamb´em mostrar que, para um intervalo finito, o erro de f´ormula acumulado n˜ao ´e maior que uma constante vezes O(h2 ). 20
  • 21. A f´ormula dos trˆes termos da s´erie de Taylor requer o c´alculo de fx(x, y) e fy(x, y) e ent˜ao a avalia¸c˜ao destas fun¸c˜oes, bem como de f(x, y) em (xn, yn). Em alguns problemas, pode ser dif´ıcil, ou bastante demorado, o c´alculo de fx e fy. Se este for o caso, ser´a provavelmente melhor usar uma f´ormula com precis˜ao compar´avel, tal como a f´ormula de Euler aprimorada, que n˜ao requer as derivadas parciais fx e fy. Em princ´ıpio, f´ormulas de quatro termos, ou mesmo mais, da s´erie de Taylor podem ser desenvolvidas. Entretanto, tais f´ormulas envolvem derivadas parciais de f ainda menores e s˜ao, em geral, impr´oprias para uso. xn yn Solu¸c˜ao Exata Erro Absoluto Erro Relativo % 0,00 1,0000 1,0000 0,0000 0,00 0,10 0,9900 0,9950 0,0050 0,50 0,20 0,9793 0,9804 0,0011 0,11 0,30 0,9507 0,9570 0,0062 0,64 0,40 0,9150 0,9261 0,0111 1,19 0,50 0,8739 0,8894 0,0155 1,74 0,60 0,8297 0,8488 0,0191 2,25 0,70 0,7842 0,8063 0,0221 2,74 0,80 0,7393 0,7636 0,0243 3,18 0,90 0,6967 0,7224 0,0257 3,55 1,00 0,6226 0,6839 0,0613 8,96 Tabela 6: Resultado da aplica¸c˜ao dos trˆes termos da s´erie de Taylor, com valor do incremento h = 0, 1, na resolu¸c˜ao num´erica de y = x − 2xy, y(0) = 1 4.3 O M´etodo de Runge-Kutta Os m´etodos de Runge-Kutta s˜ao os mais usados dentre aqueles apropriados para os problemas de valor inicial. Os seus atrativos s˜ao simplicidade, alta precis˜ao e versatilidade nas aplica¸c˜oes a serem utilizadas (Hull et al., 1972; Stabrowski, 1997; Gear, 1971). Tomemos a equa¸c˜ao diferencial de primeira ordem, com o seguinte problema de valor inicial y = f(x, y), y(x0) = y0. Considerando a malha definida pelo passo h, podemos usar a f´ormula de diferen¸cas finitas avan¸cada para discretizar a derivada de y(x) no ponto xk. Assim, obtemos uma vers˜ao discretizada de (18) yk+1 − yk h = f(xk, yk) (eq.34) (61) Esta equa¸c˜ao permite que calculemos yk+1 a partir de yk, e define o M´etodo de Euler (1707-1783), estabelecido em 1768. Sua aplica¸c˜ao ´e muito simples: y0 = y(x0) yk+1 = yk + hf(xk, yk), para k = 0, 1, 2, . . . O m´etodo num´erico de Euler foi usado por Cauchy (1789-1857) em um procedimento matem´a- tico para demonstrar a existˆencia de solu¸c˜ao para o problema do valor inicial. O argumento de Cauchy foi generelizado por Lipschitz (1832-1903), exigindo menos da fun¸c˜ao f(x, y). Como vimos anteriormente, a f´ormula avan¸cada introduz erro da ordem de h em cada passo. E nas se¸c˜oes anteriores, como introduzimos a f´ormula de Euler, a f´ormula de Euler aprimorada e a f´ormula de Taylor com trˆes termos, verifica-se que os erros de truncamento locais nesses m´etodos s˜ao proporcionais a h2 , h3 e h3 , respectivamente. Todos eles pertencem `a chamada classe de m´etodos de Runge-Kutta. A id´eia de Euler tem vers˜oes de maior precis˜ao nos trabalhos de Runge em 1895, para o caso de uma equa¸c˜ao, e Kutta em 1901, para o caso de sistemas de equa¸c˜oes diferenciais de primeira ordem. 21
  • 22. 4.3.1 O M´etodo Runge-Kutta de Segunda Ordem. Consideremos inicialmente os m´etodos Runge-Kutta de segunda ordem definidos pela expres- s˜ao: yk+1 − yk h = β0f(xk, yk) + β1f(xk + γh, yk + δh), onde os parˆametros β0, β1, γ e δ ser˜ao convenientemente calculados de modo a aumentar a precis˜ao do resultado. Explicitando yk+1 nesta rela¸c˜ao, temos : yk+1 = yk + hβ0f(xk, yk) + hβ1f(xk + γh, yk + δh) (eq.35) (62) O ´ultimo termo do lado direito desta equa¸c˜ao pode ser desenvolvido atrav´es da s´erie de Taylor para fun¸c˜oes de duas vari´aveis, isto ´e : f(xk + γh, yk + δh) = f(xk, yk) + hγfx(xk, yk) + hδfy(xk, yk) + 1 2 [h 2 γ 2 fxx(xk, yk) + 2h 2 γδfxy(xk, yk) + h 2 δ 2 fyy(xk, yk)] + O(h 3 ) Levando esta expans˜ao para a equa¸c˜ao (35) e agrupando os termos de iguais potˆencias de h teremos: yk+1 = yk + [(β0 + β1)f(xk, yk)] + h2 2 [2β1γfx(xk, yk) + 2β1δfy(xk, yk)] + h3 6 [3β1γ2 fxx(xk, yk) + 6β1γδfxy(xk, yk) + 3β1δ2 fyy(xk, yk)] + O(h4 ) Nos m´etodos de Runge-Kutta adota-se, como crit´erio de escolha dos quatro parˆametros β0, β1, γ e δ, a ordem de aproxima¸c˜ao dos valores de yk+1 obtidos. Detalharemos a seguir apenas o caso simples, que ´e chamado Runge-Kutta de segunda ordem. Tomando os desenvolvimentos feitos, vamos escolher β0, β1, γ e δ de modo que os multiplicadores de h e h2 sejam iguais nas duas express˜oes. Desta maneira, os parˆametros devem satisfazer `as trˆes rela¸c˜oes; β0 + β1 = 1 2β1γ = 1 2β1δ = f(xk, yk) Como s˜ao quatro os parˆametros e trˆes as condi¸c˜oes que eles devem satisfazer, existem v´arias escolhas de β0, β1, γ e δ de modo que o c´alculo de yk+1 coincida com o da s´erie de Taylor, at´e o termo de segunda ordem. Assim, poder´ıamos tomar : β0 = β1 = 1 2 , γ = 1 e δ = f(xk, yk) Isto caracteriza o chamado M´etodo de Euler modificado ou β0 = β1 = 1, γ = 1 2 e δ = 1 2 f(xk, yk) Enquanto, que para este valores caracteriza o chamado M´etodo de Euler aperfei¸coado. Desta forma, estes s˜ao os parˆametros que definem M´etodos de Runge-Kutta de segunda ordem. Para estabelecer outras f´ormulas mais gerais de Runge-Kutta, que coincidam com a s´erie de Taylor at´e os termos de ordem h3 , h4 , etc, generalizamos de modo que: yk+1 = yk + h[β0f(xk, yk) + β1f(xk + γ1h, yk + δ1h)] + β2f(xk + γ2h, yk + δ2h) + β2f(xk + γ3h, yk + δ3h) + . . .] e procedemos de maneira an´aloga para estabelecer rela¸c˜oes entre os parˆametros. 22
  • 23. Figura 10: Ilustra¸c˜ao do M´etodo de Runge-Kutta de 2a Ordem ou M´etodo do Ponto M´edio. No m´etodo de Euler de passo h , a estimativa de yn+1 ´e realizada com os valores de xn e da derivada de yn. No m´etodo de Runge-Kutta de 2a ordem, o valor da estimativa de yn+1 ´e encontrado com o valor de yn e com uma estimativa da derivada em um ponto mais pr´oximo de xn+1, em xn + h/2. 23
  • 24. 4.3.2 O M´etodo Runge-Kutta de Quarta Ordem. Nesta se¸c˜ao, discutimos um m´etodo tamb´em formulado originalmente por Runge e Kutta. Este m´etodo ´e hoje oficialmente conhecido como m´etodo cl´assico Runge-Kutta de quarta ordem e quatro est´agios, mas muitos autores o chamam simplesmente de m´etodo de Runge-Kutta, pode ser o mais usado, onde possui uma combina¸c˜ao de simplicidade, alta precis˜ao e economia. Neste m´etodo, o erro de truncamento local ´e proporcional a h5 , isto devido a sua f´ormula cl´assica ser equivalente a uma f´ormula de Taylor de cinco termos: yn+1 = yn + hyn + h2 2! yn + h3 3! yn + h4 4! yiv n (eq.36) (63) Assim, ele ´e duas ordens de grandeza mais preciso que o m´etodo de Euler aperfei¸coado e o m´etodo de Taylor de trˆes termos, e trˆes ordens de grandeza mais preciso que o m´etodo de Euler. ´E relativamente f´acil de usar e suficientemente preciso para resolver muitos problemas de forma eficiente. Melhor ainda, ´e o m´etodo de Runge-Kutta adaptativo, no qual se faz variar o incremento de acordo com as necessidades. Desta forma, a f´ormula de Runge-Kutta envolve uma m´edia ponderada dos valores de f(x, y) tomados em diferentes pontos do intervalo xn ≤ x ≤ xn+1. Tal forma ´e dado por: yn+1 = yn + h 6 (kn1 + 2kn2 + 2kn3 + kn4) (eq.37) (64) onde; kn1 = f(xn, yn) kn2 = f(xn + 1 2 h, yn + 1 2 hkn1) kn3 = f(xn + 1 2 h, yn + 1 2 hkn2) kn4 = f(xn + h, yn + hkn3) Podemos interpretar a soma (kn1 + 2kn2 + 2kn3 + kn4)/6 como um coeficiente angular m´edio. Note que kn1 ´e o coeficiente angular na extremidade esquerda do intervalo, kn2 ´e o coeficiente angular no ponto m´edio estimado pela f´ormula de Euler para ir de xn at´e xn + h/2, kn3 ´e uma segunda aproxima¸c˜ao do coeficiente angular no ponto m´edio e, finalmente, kn4 ´e o coeficiente angular em xn + h estimado pela f´ormula de Euler e pelo coeficiente angular kn3 indo de xn at´e xn + h. Apesar de n˜ao ser muito dif´ıcil demonstrar, em princ´ıpio, que as equa¸c˜oes anteriormente esta- belecidas [eq.36 e eq.37] diferem por termos no desenvolvimento de Taylor da solu¸c˜ao φ por termos que s˜ao proporcionais a h5 , a ´algebra envolvida ´e bastante extensa. Deste modo, aceitaremos o fato de que o erro de truncamento local ao usarmos a equa¸c˜ao (37) ´e proporcional a h5 e que, para um intervalo finito, o erro de truncamento acumulado ´e, no m´aximo, igual a uma constante vezes h4 . Obviamente a f´ormula de Runge-Kutta nas equa¸c˜oes (36)[63] e (37)[64] ´e mais complexa do que qualquer uma das f´ormulas discutidas anteriormente. Por outro lado, devemos lembrar que ela ´e uma f´ormula muito precisa, isto ´e, reduzindo o tamanho do passo `a metade, reduzimos o erro de truncamento local por um fator de 1/32; al´em disso, n˜ao ´e necess´ario calcularmos nenhuma derivada parcial de f. Al´em do mais, os c´alculos aqui descritos s˜ao rotineiros num computador de alta velocidade e podem ser feitos em segundos para qualquer fun¸c˜ao f, exceto para aquelas extremamente complicadas e longas. Note tamb´em que, se f n˜ao depende de y, ent˜ao kn1 = f(xn), kn2 = kn3 = f(xn, h/2), kn4 = f(xn + h) 24
  • 25. e a eq.(37)[64] ´e idˆentica `aquela obtida usando-se a regra de Simpson para avaliar a integral de y = f(x); 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´a de acordo com o coment´ario anterior sobre o erro na f´ormula de Runge-Kutta. A f´ormula de Runge-Kutta, nas eqs.(36)[63] e (37)[64], s˜ao todas de um passo, de modo que s˜ao amplamente usadas com maior sucesso em uma implementa¸c˜ao num´erica. Um fato interessante de se realizar, seria a implementa¸c˜ao de um programa de computador que utiliza-se o m´etodo num´erico descrito nesta se¸c˜ao. A estrutura do programa seria a mesma de um programa usado para implementar o m´etodo de Euler. A diferen¸ca fundamental estaria na linha referente ao sexto passo do algoritmo de Euler. Essa linha, ou as intru¸c˜oes contidas na mesma, deveriam ser substitu´ıdas pelas estruturas do algoritmo de Runge-Kutta. ALGORITMO DO M´ETODO DE RUNGE-KUTTA DE QUARTA ORDEM (RK4) ¨§ ¤ 1 Entre com a funcao f(x, y) . 2 Entre com os v a l o r e s i n i c i a i s x0 e y0 . 3 Entre com o v a lo r para o incremento h e o numero de passos n . 4 Escreva x0 e y0 . 5 Desde do passo 1 Ate o passo n Faca . 6 Avalie k1 = f(x, y) 7 Avalie k2 = f(x + 0.5 ∗ h, y + 0.5 ∗ h ∗ k1) 8 Avalie k3 = f(x + 0.5 ∗ h, y + 0.5 ∗ h ∗ k2) 9 Avalie k4 = f(x + h, y + h ∗ k3) 10 Avalie y = y + (h/6) ∗ (k1 + 2 ∗ k2 + 2 ∗ k3 + k4) 11 Avalie x = x + h 12 Escreva x e y . 13 Fim. ©¦ ¥ C´odigo Fonte 3: O m´etodo de Runge-Kutta pode ser entendido como um aperfei¸coamento do m´etodo de Euler, com uma melhor estimativa da derivada da fun¸c˜ao. No m´etodo de Euler a estimativa do valor de yn+1 ´e realizado com o valor de yn e com a derivada no ponto xn . No m´etodo de Runge-Kutta, busca-se uma melhor estimativa da derivada com a avalia¸c˜ao da fun¸c˜ao em mais pontos no intervalo [xn, xn+1]. Um m´etodo de Runge-Kutta de ordem n possui um erro da ordem de O(hn+1). O m´etodo de Runge-Kutta de 4a ordem ´e o mais usado na solu¸c˜ao num´erica de problemas com equa¸c˜oes diferenciais ordin´arias. A seguir ser´a apresentado um pequeno exemplo usando o m´etodo de Runge-Kutta na solu¸c˜ao de uma equa¸c˜ao diferencial [C´odigo Fonte 4]. O passo neste exemplo ser´a reduzido para 0,01s. A solu¸c˜ao da equa¸c˜ao diferencial ´e encontrada pelo uso iterativo das equa¸c˜oes descritas pela equa¸c˜ao (37)[64] relacionada aos termos kn1, kn2, kn3 e kn4. ¨§ ¤ 1 #i n c l u d e cmath 2 #i n c l u d e c s t d l i b 3 #i n c l u d e iostream 4 5 /∗ Solucao y(x) da equacao − Definicao da funcao ∗/ 6 double y ( double x ) { return . . . } 7 8 /∗ A funcao f(x, y) ∗/ 9 double f ( double x , double y ) { return . . . } 10 11 /∗ Funcao P r i n c i p a l do Programa ∗/ 12 int main( int argc , char∗ argv [ ] ) 13 { 14 double xn , xn1 , xmax ; /∗ v a r i a v e i s xn e xn+1 ∗/ 15 double yn , yn1 ; /∗ v a r i a v e i s yn e yn+1 ∗/ 16 double y0 , t0 ; /∗ v a l o r e s i n i c i a i s de y e x ∗/ 17 double h ; /∗ passo ∗/ 18 double k1 , k2 , k3 , k4 ; /∗ v a r i a v e i s a u x i l i a r e s ∗/ 19 int n ; /∗ numero de i t e r a c o e s ∗/ 20 21 x0 = 0 . 0 ; /∗ v a lo r i n c i a l para x ∗/ 25
  • 26. 22 y0 = 1 . 0 ; /∗ v a lo r i n i c i a l para y ∗/ 23 xmax = 2 . 0 ; /∗ v a lo r maximo para x ∗/ 24 h = 0 . 0 1 ; /∗ o v a l or do passo ∗/ 25 xn = t0 ; 26 yn = y0 ; 27 n = 0 ; /∗ numero de i t e r a c o e s ∗/ 28 while ( xn xmax) 29 { 30 /∗ Escreva os v a l o r e s das v a r i a v e i s ∗/ 31 std : : cout n t xn t yn t y ( xn ) std : : endl ; 32 33 /∗ a p l i c a o metodo de Runge−Kutta ∗/ 34 k1 = h∗ f ( xn , yn ) ; 35 k2 = h∗ f ( xn+h/2 , yn+k1 / 2 . 0 ) ; 36 k3 = h∗ f ( xn+h/2 , yn+k2 / 2 . 0 ) ; 37 k4 = h∗ f ( xn+h , yn+k3 ) ; 38 xn1 = xn + h ; 39 yn1 = yn + ( k1+2∗k2+2∗k3+k4 ) / 6 . 0 ; 40 41 /∗ atribua os v a l o r e s para a proxima i t e r a c a o ∗/ 42 n = n + 1 ; 43 xn = xn1 ; 44 yn = yn1 ; 45 } 46 47 /∗ Termino do programa ∗/ 48 return EXIT SUCCESS ; 49 } ©¦ ¥ C´odigo Fonte 4: Exemplo de um programa em C++ para a solu¸c˜ao de uma equa¸c˜ao diferencial pelo m´etodo de Runge-Kutta. Comparando-se os resultados da solu¸c˜ao num´erica usando o m´etodo de Euler com os resultados da solu¸c˜ao usando o m´etodo de Runge-Kutta, observa-se que neste segundo m´etodo a precis˜ao ´e maior, mesmo com o uso de um passo 10 vezes maior (Press et al., 1988). 4.3.3 O M´etodo de Runge-Kutta-Fehlberg. Este m´etodo implementa procedimentos para verificar se o valor do passo de integra¸c˜ao h ´e adequado. Em cada itera¸c˜ao s˜ao obtidas duas aproxima¸c˜oes para a solu¸c˜ao y(x). Se as duas respostas satisfazem uma precis˜ao pr´e-estabelecida, a aproxima¸c˜ao ´e aceita. Se n˜ao, o tamanho do passo de integra¸c˜ao ´e reduzido e uma nova itera¸c˜ao ´e realizada. Se as duas respostas possuem mais d´ıgitos significativos que o requerido, o tamanho do passo de integra¸c˜ao ´e aumentado e uma nova itera¸c˜ao ´e realizada. Cada itera¸c˜ao requer o c´alculo dos fatores : f1 = h · f (xi, yi) f2 = h · f xi + 1 4 h, yi + 1 4 f1 f3 = h · f xi + 3 8 h, yi + 3 32 f1 + 9 32 f2 f4 = h · f xi + 12 13 h, yi + 1932 2197 f1 − 7200 2197 f2 + 7296 2197 f3 f5 = h · f xi + h, yi + 439 216 f1 − 8f2 + 3680 513 f3 − 845 4104 f4 f6 = h · f xi + 1 2 h, yi − 8 27 f1 + 2f2 − 3544 2565 f3 + 1859 4104 f4 − 11 40 f5 Uma aproxima¸c˜ao para y(x) ´e obtida pela equa¸c˜ao: yi+1 = yi + 256 216 f1 + 1408 2565 f3 + 2197 4104 f4 − 1 5 f5 Uma outra aproxima¸c˜ao, melhor que a primeira, ´e obtida atrav´es da utiliza¸c˜ao da equa¸c˜ao: 26
  • 27. yi+1 = yi + 16 135 f1 + 6656 12825 f3 + 28561 56430 f4 − 9 5 f5 + 2 55 f6 O passo de integra¸c˜ao ´otimo, qh, ´e determinado multiplicando-se o valor de h pelo fator: q = δh 2|f(xi+1, yi+1) − yi+1| 1 4 sendo δ a precis˜ao desejada. O valor do passo de integra¸c˜ao obedece a rela¸c˜ao hmin ≤ h ≤ hmax. Nesta rela¸c˜ao hmin e hmax s˜ao os limites m´ınimo e m´aximo permitidos para a varia¸c˜ao do passo de integra¸c˜ao. 4.4 Erros nos Procedimentos Num´ericos A ado¸c˜ao de um procedimento num´erico, como o da f´ormula de Euler yn+1 = yn + hf(xn, yn), xn = x0 + nh para resolver um problema de valor inicial y = f(x, y), y(x0) = y0 levanta diversas quest˜oes que devem ser respondidas antes que a solu¸c˜ao num´erica aproximada seja aceita como sa- tisfat´oria. Uma das quest˜oes ´e a de convergˆencia. Isto ´e, `a medida que o incremento h tende para zero, os valores da solu¸c˜ao num´erica y1, y2, . . . , yn, . . . se aproximam dos valores correspondentes aos da solu¸c˜ao exata? Com a hip´otese da resposta ser afirmativa, ainda permanece a importante quest˜ao pr´atica da velocidade com que a aproxima¸c˜ao num´erica se se estabelece perante a solu¸c˜ao exata. Enfim, qual o tamanho necess´ario do incremento para que se garanta um n´ıvel de extid˜ao dado? Queremos usar um incremento que seja suficientemente pequeno para assegurar a exatid˜ao desejada, mas n˜ao o queremos muito pequeno. Um incremento desnecessariamente pequeno torna o processo dos c´alculos lento, tornando-os mais caros e, em alguns casos, pode at´e provocar a perda de exatid˜ao. H´a duas fontes fundamentais de erro na resolu¸c˜ao num´erica de um problema de valor ini- cial. Vamos admitir, inicialmente que o nosso computador possa efetuar todos os c´alculos com exatid˜ao absoluta; isto ´e, que podemos garantir um n´umero infinito de casas decimais. A diferen¸ca En entre a solu¸c˜ao exata y = φ(x) e a solu¸c˜ao aproximada do problema de valor inicial y = f(x, y), y(x0) = y0 ´e dado por En = φ(xn) − yn (eq.38) (65) denominado de erro de f´ormula ou erro de f´ormula acumulado ou erro de trunca- mento acumulado. Esse erro prov´em de duas causas: 1. em cada passo, usamos uma f´ormula aproximada para determinar yn+1 2. os dados de entrada, em cada passo, n˜ao concordam, em geral, com a solu¸c˜ao exata, pois tamb´em, em geral, φ(xn) n˜ao ´e igual a yn. Se admitirmos que os dados de entrada s˜ao corretos, o ´unico erro, quando se avan¸ca um passo no processo, se deve ao uso de uma f´ormula aproximada. Este erro ´e o erro de truncamento local ou erro de f´ormula local ou erro de arrendondamento local en. Depois, em virtude das limita¸c˜oes de todos os computadores, ´e imposs´ıvel, na pr´atica, cal- cular exatamente yn+1 apartir da f´ormula dada. Temos, ent˜ao um erro de arrendodamento provocado pela ausˆencia de exatid˜ao computacional. Analisemos juntos, esta situa¸c˜ao, se um computador puder operar com apenas oito algarismos, e se y0 for 1, 017325842, os dois ´ultimos algarismos devem ser arrendodados, o que introduz, imediatamente, um erro no c´alculo de y1. Ou ent˜ao, se y = f(x, y) envolver fun¸c˜oes, tais como, a logar´ıtmica ou a exponencial, temos um erro de arrendodamento ao se efetuarem estas opera¸c˜oes. Como no erro de f´ormula, ´e poss´ıvel falar de erro de truncamento local e de erro de truncamento acumulado. O erro de truncamento Rn se define como: Rn = yn − Yn (eq.39) (66) 27
  • 28. onde yn ´e o valor aproximado pelo procedimento num´erico dado e Yn ´e o valor realmente calculado pelo procedimento num´erico dado - por exemplo, pela f´ormula de Euler o valor absoluto do erro total no c´alculo de φ(xn) ´e dado por: |φ(xn) − Yn| = |φ(xn) − yn + yn − Yn| (eq.40) (67) Utilizando-se a desigualdade triangular, |a + b| ≤ |a| + |b|, e aplicando na equa¸c˜ao(40)[67], temos: |φ(xn) − Yn| ≤ |φ(xn) − yn| + |yn − Yn| ≤ |En| + |Rn| (eq.41) (68) O erro total est´a assim limitado pela soma dos valores absolutos dos erros de truncamento e dos erros de arrendondamento. Nos procedimentos num´ericos discutidos ´e poss´ıvel conseguir estimativas ´uteis dos erros de f´ormula. Por´em, vamos nos limitar a discutir principalmente os erros de f´ormula locais, que s˜ao um tanto mais simples, enquanto os erros de arrendondamento tˆem, evidentemente, uma natureza mais aleat´oria. Pois a sua efic´acia, depende de um bom sistema computacional de alta velocidade, da sequˆencia de execu¸c˜ao de seus c´alculos, assim como do m´etodo de arrendondamento utilizado. 4.4.1 Erro de truncamento local no m´etodo de Euler Vamos admitir que a solu¸c˜ao y = φ(x), do problema de valor inicial anteriormente fornecido tenha derivada segunda cont´ınua no intervalo considerado. Para garantir esta hip´otese, pode- mos admitir que f, fx, fy sejam cont´ınuas no intervalo mencionado. De fato, se f tiver estas propriedades, e se φ for solu¸c˜ao do problema de valor inicial, ent˜ao: φ (x) = f[x, φ(x)] e pela regra da cadeia, temos: φ (x) = fx[x, φ(x)] + fy[x, φ(x)]φ (x) φ (x) = fx[x, φ(x)] + fy[x, φ(x)]f[x, φ(x)] (eq.42) (69) Uma vez que o segundo membro desta equa¸c˜ao ´e cont´ınuo, φ tamb´em ´e cont´ınua. Ent˜ao, desenvolvendo φ em torno de xn, por uma s´erie de Taylor com resto, obtemos: φ(xn + h) = φ(xn) + φ (xn)h + 1 2 φ (xn)h2 (eq.43) (70) onde xn ´e qualquer ponto no intervalo xn xn xn + h. Subtraindo a equa¸c˜ao (43)[70] da equa¸c˜ao (6)[34], 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 (eq.44) (71) Para calcular o erro de f´ormula local, consideramos que os dados no en´esimo passo est˜ao corretos, isto ´e, yn = φ(xn). Ent˜ao, obtemos imediatamente da equa¸c˜ao (44)[71] que o erro de f´ormula local en+1 ´e: en+1 = φ(xn+1) − yn+1 = 1 2 φ (xn)h2 (eq.45) (72) Deste modo, o erro de truncamento local para o m´etodo de Euler ´e proporcional ao quadrado do incremento h e o fator de proporcionalidade depende da segunda derivada da solu¸c˜ao φ. A 28
  • 29. express˜ao da equa¸c˜ao (45)[72] depende de n e em geral ´e diferente para cada passo. Um limite uniforme para o erro, v´alido para um intervalo [a, b], ´e dado por: |en| ≤ Mh2 2 (eq.46) (73) onde M ´e o m´aximo de |φ (x)| no intervalo [a, b]. Como a equa¸c˜ao (45)[72] se baseia no pior caso poss´ıvel de |φ (x)|, pode ser que o erro local seja consideravelmente superestimado em algumas regiˆoes do intervalo [a, b]. A equa¸c˜ao (45)[72] pode ser usada, entre outras coisas, para escolher um incremento que resulte em um erro de truncamento local que n˜ao exceda um determinado limite de tolerˆancia. Por exemplo: se o erro de truncamento local n˜ao for maior do que ε, a equa¸c˜ao (46)[73] revela que: Mh2 2 ≤=⇒ h ≤ 2ε/M (eq.47) (74) A dificuldade prim´aria para com o uso das equa¸c˜oes (45)[72], (46)[73] e (47)[74] na estimativa do erro de f´ormula local est´a na obten¸c˜ao de uma estimativa precisa de M ou |φ (x)|. Seja como for, essas equa¸c˜oes mostram que o erro de truncamento local ´e proporcional a h2 (note que M ´e independente de h); deste modo, reduzindo h por um fator de 1 2 , reduzimos o limite do erro por um fator de 1 4 , e uma redu¸c˜ao por um fator de 1 10 em h reduz o limite do erro por um fator de 1 100 , (reduzimos h `a metade, o erro ´e reduzido `a quarta parte e assim por diante). Mais importante, que o erro de truncamento local ´e o erro de truncamento global En. No entanto, uma estimativa do erro de truncamento local fornece uma melhor compreens˜ao do pro- cedimento num´erico e um modo de comparar a precis˜ao dos diferentes procedimentos num´ericos. A an´alise para estimar En ´e mais dif´ıcil que no caso de en. Entretanto, conhecendo 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 ´e no m´aximo de Mh2 2 ; assim, o erro total nos n passos ´e no m´aximo de Mh2 2 . Observando que, n = (x − x0)/h, descobrimos que o erro de truncamento global para o m´etodo de Euler, ao passarmos de x0 para x, ´e dado no m´aximo por: n Mh2 2 = (x − x0) Mh 2 (eq.48) (75) Apesar deste argumento n˜ao ser totalmente correto por n˜ao levar em conta o efeito que um erro cometido num passo causar´a nos pr´oximos passos, Entretanto, ´e poss´ıvel mostrar que, em qualquer intervalo finito, o erro de truncamento global ao usarmos o m´etodo de Euler, nunca ´e 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. Infelizmente, isto n˜ao ´e o fim da est´oria. Se tomarmos h muito pequeno, isto ´e, se usarmos muitos passos para irmos de x0 a x, o erro de truncamento acumulado poder-se-´a tornar mais importante que o erro de truncamento global. Na pr´atica, devemos considerar ambas as fontes de erro e devemos fazer uma escolha ”´otima” de h de modo que nenhum dos erros seja muito grande. Como o erro de truncamento global ´e mais f´acil de calcular, deste modo ele ser´a usado como nossa medida principal da precis˜ao de cada um dos m´etodos num´ericos e para comparar diferentes m´etodos. Mais vale ressaltar, que o m´etodo de Euler ´e considerado um m´etodo de primeira ordem, pois o erro de truncamento global ´e proporcional ´a primeira potˆencia do tamanho do incremento. 4.4.2 Aplica¸c˜ao do Erro de Truncamento Acumulado no M´etodo de Euler Vamos discutir o erro de truncamento acumulado associado ao m´etodo de Euler na resolu¸c˜ao do problema de valor inicial y = f(x, y), y(x0) = y0. Admitindo que as fun¸c˜oes f e fy sejam cont´ınuas numa regi˜ao 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˜ao dois pontos quaisquer em R com a mesma coordenada x. Al´em disso, vamos admitir que fx seja cont´ınua, de modo que a 29
  • 30. solu¸c˜ao φ tem uma derivada segunda cont´ınua. Com base nas constru¸c˜oes exibidas at´e o presente momento teremos: • Utilizando a equa¸c˜ao (41)[68], mostrar que |En+1| ≤ |En|+h|f[xn, φ(xn)]−f(xn, yn)|+ frac12h2 |φ (xn)| ≤ α|En|+βh2 (eq.49) (76) onde a = 1 + hL e β = max|φ (x)|/2 em x0 ≤ x ≤ xn. • Admitindo, sem provas, que se E0 = 0, e que se |En| obedecer a equa¸c˜ao (41)[68], ent˜ao |En| ≤ βh2 (αn − 1) α − 1 , para α = 1 [***] Mostrar que; |En| ≤ (1 − hL)n − 1 L βh (eq.50) (77) A equa¸c˜ao (50)[77] d´a 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 ´e, o limite de erro aumenta quando aumenta a distˆancia ao ponto de partida x0. • Mostrar que (1 + hL)n ≤ enhL e ent˜ao que : |En| ≤ enhL − 1 L βh = e(xn−x0)L − 1 L βh Para um ponto fixo xn = x0 + nh, (isto ´e, nh ´e 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´em que quando nhL = (xn −x0)L for pequeno, o segundo membro da equa¸c˜ao anterior ´e aproximadamente nh2 β = (xn −x0)βh, que foi obtido nas equa¸c˜oes anteriores por um racioc´ınio intuitivo. Solu¸c˜ao: • Da defini¸c˜ao 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| (eq.51) (78) Pela eq.(43)[70], temos: φ(xn + h) = φ(xn) + φ (xn)h + 1 2 φ (xn)h2 e pela eq.(6)[34] temos yn+1 = yn + hf(xn, yn). Assim, substituindo as equa¸c˜oes (6)[34] e (43)[70] em (51)[78] teremos: |En+1| = |φ(xn) + φ (xn)h + 1 2 φ (xn)h2 − [yn + hf(xn, yn)]| Substituindo φ (xn) por f[xn, φ(xn)] na equa¸c˜ao anterior; |En+1| = |φ(xn) + f[xn, φ(xn)]h + 1 2 φ (xn)h2 − [yn + hf(xn, yn)]| |En+1| = |φ(xn) − yn + h[f[xn, φ(xn)] − f(xn, yn)] + 1 2 φ (xn)h2 | Aplicando a desigualdade triangular, tˆem-se |En+1| ≤ |φ(xn) − yn| + |h[f[xn, φ(xn)] − f(xn, yn)]| + | 1 2 φ (xn)h2 | |En+1| ≤ |φ(xn) − yn| + |h[f[xn, φ(xn)] − f(xn, yn)]| + | 1 2 h2 ||φ (xn)| |En+1| ≤ |En| + h|[f[xn, φ(xn)] − f(xn, yn)]| + 1 2 h2 |φ (xn)| 30
  • 31. Com isso teremos : |En+1| ≤ |En| + h|[f[xn, φ(xn)] − f(xn, yn)]| + 1 2 h2 |φ (xn)| (eq.52) (79) Mas; como φ ´e cont´ınua e β = max|φ (xn)/2| em x0 xn xn, ent˜ao da equa¸c˜ao (52)[79] podemos afirmar que : |[f[xn, φ(xn)] − f(xn, yn)]| L|φ(xn) − yn|, onde queremos que a nossa hip´otese seja uma fun¸c˜ao lipschitziana quando existe uma constante L 0 (chamada constante de Lipschitz da fun¸c˜ao 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 2 h2 |φ (xn)| |En+1| ≤ |En| + hL|φ(xn) − yn| + 1 2 h2 |φ (xn)| |En+1| ≤ |En| + hL|En| + 1 2 h2 |φ (xn)| |En+1| ≤ (1 + hL)|En| + 1 2 h2 |φ (xn)| |En+1| ≤ α|En| + 1 2 h2 |φ (xn)| Logo; |En+1| ≤ |En| + h|[f[xn, φ(xn)] − f(xn, yn)]| + 1 2 h2 |φ (xn)| ≤ α|En| + βh2 • Temos que, a = 1 + hL ⇒ hL = a − 1. Assim, da equa¸c˜ao [***], 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 ´e v´alido a desigualdade (1 + x) ≤ ex , ∀x ∈ R e a expans˜ao de ex = 1 + (x − 0)e0 + (x − 0)2 ex /2!, segundo a s´erie de Taylor,com x0 x xn; A partir da´ı, podemos tamb´em 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˜ao : (1 + hL)n ≤ (ehL )n , ∀ hL 0 Assim, mostraremos por indu¸c˜ao matem´atica que : |En| ≤ βh2 (αn − 1) α − 1 Sabemos que, E0 = 0 e |En+1| ≤ α|En| + βh2 . Tomando n = 0; verifiquemos a equa¸c˜ao anterior: |E1| ≤ α|E0| + βh2 |E1| ≤ βh2 = βh2 (α − 1)/(α − 1) 31
  • 32. Tomando n = 1; verifiquemos a equa¸c˜ao 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´otese, 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) ´e verdadeiro, assim |En| ≤ βh2 (αn −1)/(α−1) tamb´em ´e verdadeiro. • Mostrar que (1 + hL)n = enhL , e ent˜ao que |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 − 1 L βh ≤ [e(nh)L − 1/L]βh Por´em, xn = x0 +nh ⇒ nh = xn −x0. Assim, substituindo o valor de nh na equa¸c˜ao acima, obtemos: |En| ≤ (1 + hL)n − 1 L βh ≤ [e(xn−x0)L − 1/L]βh Quando; h → 0, temos que |En| → 0. 5 M´etodos de Passos M´ultiplos At´e o atual momento, vinhamos discutindo procedimentos num´ericos para resolver o problema de valor inicial y = f(x, y), y(x0) = y0 nos quais os dados no ponto x = xn eram usados para calcular um valor aproximado da solu¸c˜ao φ(xn+1) no ponto seguinte da rede x = xn+1. Em outros termos, o valor calculado de φ em qualquer ponto da rede de pontos dependia somente dos dados no ponto precedente, que denominamos de m´etodos de passo simples ou m´etodos de partida. A partir de agora, uma vez que se tenham conseguidos valores aproximados da solu¸c˜ao y = φ(x) em alguns pontos al´em de x0, ´e natural perguntar se n˜ao pode usar parte da informa¸c˜ao conseguida nestes outros pontos em lugar de se limitar ao valor obtido no ´ultimo ponto para calcular o valor de f no ponto seguinte. Mais especificamente, se y1 em x1, y2 em x2, . . . , yn em xn forem conhecidos. Ent˜ao, surge o seguinte questionamento. Como se pode usar esta informa¸c˜ao a fim de determinar yn+1 em xn+1? Desta forma, surge m´etodos que usam informa¸c˜ao em mais de um ponto, al´em do ´ultimo de uma rede, denominados m´etodos de passos m´ultiplos. Em futuros trabalhos iremos descrever dois m´etodos de passos m´ultiplos: o M´etodo de Adams e o M´etodo Inverso de Diferencia¸c˜ao. Dentro de cada m´etodo, ´e poss´ıvel conse- guir diferentes graus de precis˜ao, dependendo do n´umero de pontos precedentes que s˜ao utilizados. 32
  • 33. 6 Considera¸c˜oes Finais Introduzimos o estudo e a implementa¸c˜ao dos m´etodos num´ericos para a solu¸c˜ao de equa¸c˜oes diferenciais ordin´arias (EDO), de forma a ser observada a efic´acia destas ferramentas para a apro- xima¸c˜ao de solu¸c˜oes inerentes ou muito semelhantes a uma solu¸c˜ao anal´ıtica de um problema de valor inicial. Por´em, ´e da´ı que devemos estar atentos `as v´arias fontes de erros que podem deses- tabilizar a precis˜ao de cada m´etodo apresentado(como o erro de arrendondamento, truncamento local e global). Vimos que o erro de truncamento local e global no m´etodo de Euler ´e de O(h2 ) e O(h), enquanto nos demais m´etodos observamos varia¸c˜oes conforme a ordem de h, e ainda conforme o truncamento na s´erie de Taylor. Al´em disso tivemos a possibilidade de verificar que os m´etodos de Runge-Kutta de quarta ordem s˜ao os que mais se aproximam da solu¸c˜ao exata de um problema de valor inicial. Em futuros estudos poderemos abordar outros m´etodos como o de Newmark, o de Crank-Nicholson, o M´etodo de Dormand-Prince, o M´etodo Preditor-Corretor, o M´etodo Adams-Bashforth-Moulton, o M´etodo Gear(para equa¸c˜oes stiff) e M´etodos de Passo Adaptativo al´em do uso desses para Sistemas de Equa¸c˜oes de Primeira Ordem. Referˆencias Arenales, S. Darezzo, A. (2008), C´alculo Num´erico: Aprendizagem com Apoio de Software, Vol. 1, 1 ed., S˜ao Paulo: Thomson Learning. Boyce, W. DiPrima, R. (2005), Elementary Differential Equations and Boundary Value Pro- blems, 8 ed., Hoboken, New Jersey: Wiley. Burrage, K. (1997), ‘Parallel methods for odes’, Advances in Computational Mathematics 7(1- 2), 1–3. Burrage, K. Suhartanto, H. (1997), ‘Parallel iterated method based on multistep runge-kutta of radau type for stiff problems’, Advances in Computational Mathematics 7(1-2), 59–77. Burrage, K. Suhartanto, H. (2000), ‘Parallel iterated methods based on variable step-size mul- tistep runge-kutta methods of radau type for stiff problems’, Advances in Computational Mathe- matics 13(3), 257–270. Cao, H., Kang, L., Chen, Y. Yu, J. (2000), ‘Evolutionary modeling of systems of ordinary differential equations with genetic programming’, Genetic Programming and Evolvable Machines 1(4), 309–337. Evaristo, J. (2001), Aprendendo a Programar Programando em C, Vol. 1, Book Express - Rio de Janeiro. 3a Reimpress˜ao. Gear, C. W. (1971), ‘The automatic integration of ordinary differential equations’, Commun. ACM 14(3), 176–179. Hull, T. E., Enright, W. H., Fellen, B. M. Sedgwick, A. E. (1972), ‘Comparing numerical methods for ordinary differential equations’, Siam Journal on Numerical Analysis 9(4), 603–637. Osborne, M. Watson, G. (1968), ‘Note on two methods of solving ordinary linear differential equations’, Computer Journal 10(4), 383–. Times Cited: 5. Press, W., Teukolsky, S. A., Vetterling, W. T. Flannery, B. P. (1988), Numerical Recipes in C (The Art of Scientific Computing), 2 ed., Cambridge University Press. Ruggiero, M. Lopes, V. (1996), C´alculo Num´erico: Aspectos Te´oricos e Computacionais, 2 ed., Makron Books. 33
  • 34. Sotomayor, J. (1979), Li¸c˜oes de Equa¸c˜oes Diferenciais Ordin´arias, Publica¸c˜ao do IMPA - Projeto Euclides. Stabrowski, M. M. (1997), ‘An efficient algorithm for solving stiff ordinary differential equati- ons’, Simulation Practice and Theory 5(4), 333 – 344. URL http://www.sciencedirect.com/ science/article/B6V19-3SNV443-3/2/4e1e94c6bd30fb117691a3bf0764db3a. Stewart, J. (2009), C´alculo - Volume II, Vol. 2, 5 ed., S˜ao Paulo: Cengage Learning. Zarowski, C. (2004), An Introduction to Numerical Analysis for Electrical and Computer Engine- ers, Wiley Interscience. Zill, D. (2003), Equa¸c˜oes Diferenciais com Aplica¸c˜oes em Modelagem, Pioneira Thomson Learning. 34