Você está na página 1de 34

Captulo 6

Metodos numericos para problemas


diferenciais ordinarios
6.1 Breve referencia hist orica
Os trabalhos preliminares na area dos metodos numericos para a solu c ao de equa c oes di-
ferenciais s ao devidos, entre outros, a Isaac Newton (1643-1729) e Gottfried Wilhelm Leibniz
(1643-1716), no seculo XVII, bem como a Lehonard Euler (1707-1783), no seculo XVIII. Mas
foi sobretudo devido aos trabalhos deste ultimo que foram impulsionados os estudos que
conduziram aos metodos que hoje conhecemos.
Euler deduziu um processo iterativo que permitia determinar, de forma aproximada, a
solu c ao de um problema de condi c ao inicial num determinado ponto. A demonstra c ao rigo-
rosa de que, de facto, o processo por ele apresentado conduzia ` a solu c ao da equa c ao s o foi
apresentada mais tarde, em 1824, por Augustine Cauchy (1789-1857) e melhorada por Rudolf
Lipschitz (1832-1908). No entanto, nem assim, o processo apresentado por Euler se tornou
popular. A ttulo de exemplo, Karl Weierstrass (1815-1897), famoso matem atico alem ao do
seculo XIX trabalhou nestes assuntos sem conhecer os trabalhos de Cauchy e Lipschitz.
Os nais do seculo XIX e princpios do seculo XX foram muito profquos ao orescimento
de metodos numericos para a resolu c ao de equa c oes diferenciais. Com os desenvolvimentos
efectuados na teoria do calor por Fourier e na mec anica celeste por Adams, Bessel, Cauchy,
Gauss, Laguerre, Laplace, Legendre, Leverrier, Poincare e outros vieram tornar imprescindvel
a existencia de esquemas para determinar a solu c ao numerica de equa c oes diferenciais. A
balstica foi outra ciencia que come cou a exigir resultados nesta area.
Poderemos dividir os metodos numericos para determinar a solu c ao de equa c oes diferen-
ciais em duas grandes classes: por um lado, os chamados metodos de passo unico aos quais
pertence o metodo de Euler-Cauchy-Lipschitz; por outro os chamados metodos de passo
m ultiplo.
Os sucessores do metodo de Euler-Cauchy-Lipschitz foram apresentados por K. Heun em
1900 e, sobretudo, por Carl Runge (1856-1927) em 1895 e 1908 e por Martin Wilhelm Kutta
(1867-1944) em 1901, tendo sido considerados como generaliza c oes das regras de integra c ao.
Estes metodos tornaram-se bastante populares devido ` as suas propriedades e ` a sua f acil
utiliza c ao.
1
1
De notar que o primeiro sistema de equa c oes diferenciais a ser resolvido pelo ENIAC foi integrado pelo
metodo de Heun.
104
Metodos numericos para problemas diferenciais ordin arios 105
Dos primeiros e mais conhecidos metodos de passo m ultiplo para a resolu c ao de equa c oes
diferenciais s ao os chamados metodos de Adams. John Couch Adams (1819-1892), famoso
astr onomo brit anico que descobriu, em co-autoria, o planeta Neptuno, baseou-se nos metodos
te oricos propostos por Cauchy para apresentar um metodo novo que usou na integra c ao da
equa c ao de Bashforth. Ali as, foi num trabalho de Francis Bashforth (1819-1912) de 1883 que
o metodo proposto por Adams foi apresentado, sendo por isso tambem conhecido por metodo
de Adams-Bashforth.
Foi possivelmente a primeira Grande Guerra que veio dar um forte impulso ao oresci-
mento dos metodos numericos. A grande quantidade de c alculos e a complexidade dos proble-
mas que a balstica exige n ao poderiam ser efectuadas facilmente sem a ajuda destes processos
alternativos. O primeiro contributo para o melhoramento dos metodos existentes foi dado
pelo matem atico americano Forest Ray Moulton (1872-1952) em 1925, propondo uma classe
de metodos conhecida por Adams-Moulton. Em 1928 apareceu um trabalho da autoria de
Richard Courant (1888-1972), Kurt Friedrichs (1901-1982) e Hans Lewy que revolucionou toda
a teoria dos metodos numericos para a resolu c ao de equa c oes diferenciais.
No entanto foi s o depois da segunda Grande Guerra e sobretudo depois do aparecimento do
primeiro computador e dos trabalhos de Herman Goldstine (1903-) e John von Neumann (1903-
1957), em 1947, que estes metodos come caram a ser usados de forma sistem atica. Conceitos
como erros de arredondamento, n umero de condi c ao e instabilidade numerica come caram
a surgir e a tornar-se de capital import ancia para o estudo da teoria subjacente. Os estudos
sobre metodos numericos para a resolu c ao de equa c oes diferenciais come caram a merecer a
aten c ao de um n umero crescente de matem aticos e outros cientistas e hoje e uma das areas
mais importantes e profquas da Matem atica em geral e da An alise Numerica em particular.
6.2 Introdu cao
As primeiras equa c oes diferenciais s ao t ao antigas quanto o c alculo diferencial. Newton
considerou-as, em 1671, no seu tratado de c alculo diferencial e discutiu a sua solu c ao por
integra c ao e por expans ao em serie. Leibniz, o segundo inventor do c alculo, chegou ` as equ c oes
diferenciais por volta de 1676 considerando o problema geometrico do inverso das tangentes:
para que curva y(x) a tangente em cada ponto P tem um comprimento constante (com o eixo
dos xs), digamos a? Este problema conduziu ` a equa c ao y

= y/
_
a
2
y
2
.
Em 1696, Johann Bernoulli (1667-1748) convidou os mais ilustres matem aticos do seu
tempo para resolver o problema da braquist ocrona (curva de tempo mnimo), principalmente
para refutar a resposta, que esperava errada, do seu irm ao Jacob Bernoulli (1657-1705). O
problema consistia em determinar a curva y(x) que une dois pontos P
0
e P
1
de tal modo
que um ponto, partindo de P
0
e deslizando, nessa curva, sujeito apenas a for cas gravticas,
atinja P
1
no menor tempo possvel. A resposta a este problema foi dada dada por v arios
matem aticos (inclusive Jacob Bernoulli) e e, como se sabe, a ciclode. Essa curva pode ser
determinada como sendo a solu c ao de uma equa c ao diferencial ordin aria.
Muitos problemas da engenharia e da ciencia tem como modelo equa c oes diferenciais.
Neste curso iremos efectuar uma breve introdu c ao ao estudo dos metodos numericos para a
resolu c ao de problemas que envolvem equa c oes diferenciais. Os problemas que iremos con-
siderar ser ao de dois tipos: problemas com condi c ao inicial e problemas com condi c oes de
fronteira. Neste captulo n ao iremos apresentar a demostra c ao de todos os teoremas; o aluno
interessado poder a ver essas demonstra c oes nas obras referenciadas no nal do captulo.
Metodos numericos para problemas diferenciais ordin arios 106
6.3 Problemas com condi cao inicial
6.3.1 Existencia e unicidade de solu cao. Condicionamento
Consideremos uma equa c ao diferenciaL ordin aria de primeira ordem, isto e, uma equa c ao da
forma
y

(t) = f(t, y), t [a, b], (6.1)


em que f : [a, b] IR IR. O estudo que iremos efectuar para este tipo de equa c oes pode
ser facilmente generalizado a sistemas de equa c oes diferencias ordin arias de primeira ordem,
isto e, para o caso em que f : [a, b] IR
N
IR
N
. Por uma quest ao de simplica c ao de
exposi c ao opt amos por apresentar o estudo para o caso escalar (N = 1).
Antes de se pensar em resolver uma determinada equa c ao diferencial h a que garantir que
essa equa c ao tem solu c ao e que e unica. Note-se que a solu c ao equa c ao (6.1), se existir, n ao
e unica pois, ao integrarmos, introduzimos sempre uma constante de integra c ao.
Uma das condi c oes para obter a unicidade da solu c ao e especicar y(t) num ponto t
0
do
intervalo [a, b], usualmente t
0
= a. Ficamos assim com o problema de condi cao inicial (PCI)
_
y

(t) = f(t, y), t [a, b],


y(a) = .
(6.2)
Apesar de contornado este problema ainda n ao temos a garantia da existencia e unicidade
da solu c ao do PCI (6.2). Antes de apresentarmos o teorema que estabelece as condi c oes
sucientes para que o problema tenha solu c ao unica consideremos a seguinte deni c ao.
Deni cao 6.1 Uma fun c ao f(t, y) verica a condi cao de Lipschitz (ou e lipschitziana), na
vari avel y, num conjunto D IR
2
se existir uma constante L > 0 tal que
|f(t, y
1
) f(t, y
2
)| L|y
1
y
2
|,
sempre que (t, y
1
), (t, y
2
) D. A L chama-se constante de Lipschitz.
Exerccio 6.3.1 Prove que a fun cao f(t, y) = t|y| e lipschitziana, na variavel y, no conjunto
D = {(t, y) IR
2
: 1 t 2; 3 y 4}.
Resolu cao: Temos que
|f(t, y
1
) f(t, y
2
)| = |t|y
1
| t|y
2
|| 2||y
1
| |y
2
|| 2|y
1
y
2
|.
Logo, a constante de Lipschitz e L = 2.
O teorema seguinte (cuja demonstra c ao pode ser vista em Kress (1998)) estabelece con-
di c oes sucientes para que um problema com condi c ao inicial tenha solu c ao unica.
Teorema 6.2 (Picard) Seja f(t, y) uma fun c ao contnua e lipschitziana (na vari avel y) em
D = {(t, y) : a t b, y IR}. Ent ao o PCI (6.2) tem solu c ao unica y(t) para t [a, b].
Metodos numericos para problemas diferenciais ordin arios 107
Observa cao 6.3 A demonstra c ao deste teorema estabelece um processo iterativo de aproxi-
ma c ao da solu c ao do PCI (6.2) conhecido por metodo de Emile Picard (1856-1941). Se f for
contnua em rela c ao a t, determinar a solu c ao do PCI (6.2) e equivalente a determinar y,
continuamente diferenci avel, que verica
y(t) = +
_
t
a
f(, y())d. (6.3)
O que se prova na demonstra c ao do Teorema de Picard e que a sucess ao de fun c oes (y
j
(t))
denida recursivamente por
y
0
(t) = ,
y
j+1
= +
_
t
a
f(, y
j
()d. j = 0, 1, . . . ,
converge para a unica solu c ao de (6.3).
Como corol ario do Teorema de Picard temos o seguinte resultado que apresentamos igual-
mente sem demonstra c ao.
Corolario 6.4 Suponhamos que f(t, y) est a denida num conjunto convexo
2
D IR
2
. Se
existir uma constante L > 0 tal que

f
y
(t, y)

L, (t, y) D,
ent ao f satisfaz a condi c ao de Lipschitz, na vari avel y, com L a respectiva constante e, como
tal, o PCI (6.2) tem solu c ao unica y(t) para t [a, b].
Observa cao 6.5 Note-se que o conjunto D = {(t, y) : a t b, y IR} e, obviamente,
convexo.
Exerccio 6.3.2 Mostre que o problema de condi cao inicial
_
_
_
y

(t) =
1
1 + y
2
,
y(a) = ,
para t
[a, b], tem solu cao unica.
Resolu cao: Seja D = {(t, y) : a t b, y IR} e
f(y) =
1
1 + y
2
.
Vamos provar que a fun cao

f
y
(t, y)

2y
(1 y
2
)
2

e limitada em D. Para isso ha que determinar


L = max
yIR

2y
(1 y
2
)
2

.
2
Um conjunto D R
2
diz-se convexo se, para qualquer (t
1
, y
1
), (t
2
, y
2
) D, se verica
((1 )t
1
+ t
2
, (1 )y
1
+ y
2
) D, [0, 1].
Metodos numericos para problemas diferenciais ordin arios 108
Como a fun cao que queremos provar limitada e par temos que
L = max
yIR
+
0
2y
(1 y
2
)
2
.
Consideremos
g(y) =
2y
(1 y
2
)
2
.
Como
g

(y) = 0 y =

3
3
temos que
L = max
_
g(0), g
_
3
3
_
, lim
y+
g(y)
_
= max{0, 0.6594, 0} = 0.6594.
Esta assim provado o pretendido.
Outra quest ao que se coloca e a de saber se o PCI (6.2) e sensvel a pequenas perturba c oes
nos dados do problema, isto e, se pequenas altera c oes nas condi c oes iniciais n ao provocam
grandes altera c oes nos resultados. Jacques Hadamard, em 1923, sugeriu duas condi c oes que
devem ser vericadas quando se formula um PCI: (i) a solu c ao deve existir e ser unica; (ii)
a solu c ao deve depender de forma contnua dos dados iniciais do problema. Temos ent ao a
seguinte deni c ao.
Deni cao 6.6 O PCI (6.2) e bem posto se:
1. possui solu c ao unica y(t);
2. for est avel, isto e, se existirem constantes positivas e k (independente de ) tais que
o problema perturbado
_
z

(t) = f(t, z) + (t), t [a, b]


z(a) = +
0
possui solu c ao unica z(t) com
|z(t) y(t)| < k, t [a, b],
sempre que |
0
| < e |(t)| < .
As hip oteses do Corol ario 6.4 s ao sucientes para garantir que o PCI (6.2) e bem posto
no sentido de Hadamard. De facto, o referido corol ario j a estabelece a existencia e unicidade
e solu c ao; falta apenas provar que o problema e estavel. Considerando
w(t) = z(t) y(t),
temos
w

(t) = f(t, z(t)) f(t, y(t)) + (t) = f


y
(t, y(t))w(t) + (t),
com a condi c ao inicial
w(a) =
0
,
Metodos numericos para problemas diferenciais ordin arios 109
em que f
y
representa a derivada parcial de f em ordem a y e y(t) pertence ao intervalo
denido por y(t) e z(t). Integrando a equa c ao anterior obtemos
w(t) = e
_
t
a
f
y
d
__
t
a
()e

a
f
y
d
d +
0
_
, (6.4)
o que prova que o problema perturbado e est avel.
Poder-se-a tambem provar que, para que o PCI (6.2) tenha solu c ao unica e seja bem
posto, e suciente que se veriquem as hip oteses do Teorema de Picard. Vamos assumir
todos os problemas considerados neste captulo vericam tais hip oteses.
Exerccio 6.3.3 Mostre que o problema de condi cao inicial
_
y

(t) = y + t + 1,
y(0) = 1,
para
t [0, 1], e bem posto.
Resolu cao: Seja D = {(t, y) : 0 t 1, y IR} e f(t, y) = y + t + 1. Como
L = max
(t,y)D

f
y
(t, y)

= 1
temos que o problema de condi cao inicial dado e bem posto.
Observa cao 6.7 Note-se que o facto de
f
y
ser limitada nem sempre garante que pequenas
perturba c oes nas condi c oes iniciais impliquem uma pequena perturba c ao na solu c ao. No en-
tanto, se (x) = 0, para todo x [a, b], e f acil concluir que se a derivada for negativa ent ao o
PCI (6.2) e bem condicionado, isto e, que pequenas perturba c oes na condi c ao inicial implicam
pequenas varia c oes na solu c ao. Se a derivada for muito negativa, ent ao o problema, apesar
de bem posto, pode trazer problemas ` a sua resolu c ao aproximada por metodos numericos. Se
a referida derivada for positiva, embora limitada, ent ao o PCI (6.2) apesar de est avel, e mal
condicionado.
Exerccio 6.3.4 Considere a equa cao diferencial
y

= 100y 101e
t
, t [0, 3],
com as condi c oes iniciais: (i) y(0) = 1; (ii) y(0) = 1 + 10
130
. Compare as solu c oes obtivas.
6.3.2 Metodos numericos
Consideremos de novo o PCI bem posto (6.2). Os metodos numericos para resolver este pro-
blema s ao metodos dicretos, isto e, s ao metodos que determinam aproxima c oes y
0
, y
1
, . . . , y
n
para a solu c ao exacta y(t
0
), y(t
1
), . . . , y(t
n
) nos pontos distintos da malha
a = t
0
< t
1
< < t
n1
< t
n
= b.
`
As dist ancias h
i
= t
i
t
i1
, i = 1, . . . , n, d a-se o nome de passos (ou medidas do passo) de
malha. Se os dpassos forem todos iguais a malha diz-se uniforme ou de passo constante. Caso
contr ario diz-se de passo variavel. Neste curso vamos apenas considerar malhas uniformes,
isto e, tais que t
i
= t
0
+ ih, i = 0, . . . , n, onde h =
ba
n
.
Metodos numericos para problemas diferenciais ordin arios 110
Os metodos numericos permitem determinar valores y
i
y(t
i
) por meio de rela c oes de
recorrencia deduzidas do PCI (6.2) de modo a que o valor de y
i+1
venha expresso em fun c ao de
y
i
, y
i1
, . . . , y
0
, sendo y
0
= y(a) = .

E usual agrupar os metodos numericos para a resolu c ao
de problemas de condi c ao inicial em duas grandes classes.
Metodos de passo unico: S ao metodos que determinam o valor de y
i+1
apenas ` a custa
de y
i
.
Metodos de passo m ultiplo: S ao metodos que determinam o valor de y
i+1
` a custa de
y
i
, y
i1
, . . . , y
ir+1
. Neste caso diz-se que o metodo e de r passos.
Neste curso iremos apenas abordar os metodos de passo unico. Estes metodos, por sua
vez, podem ainda ser de dois tipos.
Metodos explcitos: S ao metodos em que o valor de y
i+1
e determinado directamente a
partir de y
i
. Estes metodos podem ser escritos na forma
y
i+1
= y
i
+ h(t
i
, y
i
, ; h). (6.5)
Metodos implcitos: S ao metodos em que o valor de y
i+1
depende implicitamente de si
mesmo atraves de f. Estes metodos podem ser escritos na forma
y
i+1
= y
i
+ h(t
i
, t
i+1
, y
i
, y
i+1
; h). (6.6)
A fun c ao que dene os metodos (6.5) e (6.6) e chamada fun cao de itera cao ou fun cao
incremento do metodo numerico.
6.3.3 Metodos baseados na serie de Taylor
Consideremos o PCI (6.2) com f uma fun c ao sucientemente diferenci avel nas vari aveis t e
y. Ent ao
y(t) = y(t
0
) + (t t
0
)y

(t
0
) +
(t t
0
)
2
2!
y

(t
0
) + ,
com t
0
= a. As derivadas desta express ao n ao s ao conhecidas explicitamente visto que a
solu c ao tambem n ao e conhecida. No entanto, podemos escrever
y

(t) = f(t, y),


y

(t) =
df
dt
(t, y) = (f
t
+ f
y
y

)(t, y) = (f
t
+ f
y
f)(t, y),
y

(t) =
d
f
dt
2
(t, y) = (f
tt
+ 2f
ty
f + f
yy
f
2
+ f
t
f
y
+ f
2
y
f)(t, y),
.
.
.
onde
f
t
(t, y) =
f
t
(t, y), f
y
(t, y) =
f
y
(t, y), . . . .
Metodos numericos para problemas diferenciais ordin arios 111
Por raz oes pr aticas temos que limitar o n umero de termos na expans ao em serie de y(t) a um
n umero razo avel, o que nos conduz a restri c oes nos valores de t para os quais a expans ao nos
d a uma boa aproxima c ao.
Se tomarmos a serie de Taylor truncada temos, para t = t
1
,
y(t
1
) y
1
= y
0
+ hf(t
0
, y
0
) +
h
2
2
f

(t
0
, y
0
) + +
h
k
k!
f
(k1)
(t
0
, y
0
),
onde
f
(j)
(t
0
, y
0
) =
d
j
f
dt
j
(t
0
, y
0
).
Podemos denir assim, para cada k = 1, 2 . . ., um metodo de passo unico explcito que
permite obter solu c oes aproximadas y
i
y(t
i
) da forma (6.5) em que
(t, y; h) = f(t, y) +
h
2
f

(t, y) + +
h
k
k!
f
(k1)
(t, y). (6.7)
Os metodos assim denidos s ao conhecidos por metodos de Taylor. O metodo desta classe
mais simples e quando k = 1, isto e, o metodo
y
i+1
= y
i
+ hf(t
i
, y
i
), i = 0, . . . , n, y
0
= , (6.8)
designado por metodo de Euler (explcito).
O seguinte algoritmo permite determinar a solu c ao do PCI (6.2) em t = b, usando o
metodo com fun c ao incremento (6.7).
Algoritmo 6.1 Metodo de Taylor
Ler n e k;
Ler a, b e ;
h :=
ba
n
;
t := a;
y := ;
Para i de 1 ate n fazer
:= 0;
Para j de 1 ate k fazer
:= + f
(j)
(t, y)h
j
/j!;
y := y + h;
t := t + h;
Escrever y.
Exerccio 6.3.5 Considere o problema de condi cao inicial
_
y

(t) = 2y,
y(0) = 1.
Determine, u-
sando o metodo de Euler, o valor aproximado de y(1), fazendo h = 1, h = 0.5 e h = 0.25.
Compare os resultados obtidos sabendo que y(t) = e
2t
.
Metodos numericos para problemas diferenciais ordin arios 112
Resolu cao: A solu cao exacta deste problema e y(1) = 0.135335283. Consideremos agora as
solu c oes numericas para os tres casos propostos. Seja f(y) = 2y.
h = 1
y(0) = y
0
= 1
y(1) y
1
= y
0
+ hf(y
0
) = 1 + 1 (2) = 1.
Logo |y
1
y(1)| = 1.135335283.
h = 0.5
y(0) = y
0
= 1
y(0.5) y
1
= y
0
+ hf(y
0
) = 1 + 0.5 (2) = 0
y(1) y
2
= y
1
+ hf(y
1
) = 0 + 0.5 0 = 0.
Logo |y
2
y(1)| = 0.135335283.
h = 0.25
y(0) = y
0
= 1
y(0.25) y
1
= y
0
+ hf(y
0
) = 1 + 0.25 (2) = 0.5
y(0.5) y
2
= y
1
+ hf(y
1
) = 0.5 + 0.25 (1) = 0.25
y(0.75) y
3
= y
2
+ hf(y
2
) = 0.25 + 0.25 (0.5) = 0.125
y(1) y
4
= y
3
+ hf(y
3
) = 0.125 + 0.25 (0.25) = 0.0625.
Logo |y
4
y(1)| = 0.072835283.
Nota-se que, quanto menor for a medida do passo mais pequeno e o erro cometido.
Exerccio 6.3.6 Seja dado o problema de condi cao inicial
_
_
_
y

(t) =
1
1 + y
2
,
y(0) = 1.
Use o metodo
de Taylor, com k = 2, para determinar o valor aproximado de y(1), fazendo h = 0.5.
Resolu cao: Seja f(y) = (1 + y
2
)
1
. Temos que o metodo de Taylor com k = 2 e dado por
y
i+1
= y
i
+ hf(y
i
) +
h
2
2
df
dt
(y
i
) = y
i
+ h
1
1 + y
2
i
h
2
y
i
(1 + y
2
)
3
.
Assim, fazendo h = 0.5 temos
y(0) = y
0
= 1
y(0.5) y
1
= 1 + 1 + 0.5
1
2
0.25
1
8
= 1.21875
y(1) y
2
= 1.21875 + 0.5
1
2.485351563
0.25
1.21875
15.35194798
= 1.4.
6.3.4 Metodos de Runge-Kutta
O metodo mais simples para aproximar a solu c ao do PCI (6.2) e o metodo (6.8), descrito por
Euler, em 1768, na sua obra Institutiones Calculi Integralis.

E um metodo muito simples de
entender e de programar mas, como se ir a ver na pr oxima sec c ao, pouco preciso. Por exemplo,
Metodos numericos para problemas diferenciais ordin arios 113
se pretendermos uma precis ao de, digamos, 6 casas decimais, o metodo de Euler necessita de
aproximadamente um milh ao de passos.
Se usarmos outros metodos de Taylor, a precis ao pode ser aumentada. A grande desvan-
tagem destes metodos reside no facto de termos necessidade de calcular muitas derivadas
da fun c ao f para obter metodos precisos. Esse c alculo, alem de muito fastidioso, torna im-
pratic avel a aplica c ao de tais metodos na resolu c ao de (6.2) quando a fun c ao f tem uma
express ao analtica complicada.
Uma alternativa a esses metodos foi dada por Runge, em 1875, e que consistia em, partindo
do conhecimento de y(a), considerar
y(a + h) + hf
_
a +
h
2
, y
_
a +
h
2
__
;
mas, que valor atribuir a y
_
a +
h
2
_
? A sugest ao de Runge foi a de considerar o metodo de
Euler com passo
h
2
. A aplica c ao sucessiva deste processo permitiu a Runge denir o seguinte
metodo iterativo:
k
1
= f(t
i
, y
i
),
k
2
= f
_
t
i
+
h
2
, y
i
+
h
2
k
1
_
,
y
i+1
= y
i
+ hk
2
.
(6.9)
Como veremos este metodo, apesar de recorrer ao metodo de Euler, vai ser mais preciso e
n ao necessita de calcular derivadas de f. A generaliza c ao desta ideia deu origem ` a seguinte
deni c ao.
Deni cao 6.8 Seja s um n umero inteiro e a
2,1
, a
3,1
, a
3,2
, . . . , a
s,1
, . . . , a
s,s1
, c
2
, c
3
, . . . , c
s
,
b
1
, b
2
, . . . , b
s
, coecientes reais. O metodo
k
1
= f(t
i
, y
i
),
k
2
= f(t
i
+ c
2
h, y
i
+ a
2,1
hk
1
),
k
3
= f(t
i
+ c
3
h, y
i
+ a
3,1
hk
1
+ a
3,2
hk
2
),
.
.
.
k
s
= f(t
i
+ c
s
h, y
i
+ a
s,1
hk
1
+ a
s,2
hk
2
+ + a
s,s1
hk
s1
),
y
i+1
= y
i
+ h[b
1
k
1
+ b
2
k
2
+ + b
s
k
s
],
e chamado metodo de Runge-Kutta explcito de s etapas para o PCI (6.2).
Usualmente considera-se
c
i
=
i1

j=1
a
i,j
, i = 2, 3, . . . , s. (6.10)
Uma nota c ao muito usada na pr atica para os metodos de Runge-Kutta foi apresentada
por Butcher em 1964 e e dada pelo seguinte quadro, designado por quadro de Butcher:
0
c
2
a
2,1
c
3
a
3,1
a
3,2
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a
s,1
a
s,2
a
s,s1
b
1
b
2
b
s1
b
s
.
Metodos numericos para problemas diferenciais ordin arios 114
Antes de continuarmos, notemos que os metodos de Runge-Kutta constituem uma exce-
lente ideia. A unica solu c ao do PCI bem posto (6.2) e uma curva integral em IR
2
. No entanto,
devido aos erros cometidos, a solu c ao numerica vai ser afectada pelo comportamento das cur-
vas integrais vizinhas.

E assim importante conhecer o comportamento de toda a famlia de
curvas integrais e n ao apenas o de uma unica curva.
Os metodo de Runge-Kutta usam, deliberadamente, informa c ao de v arias curvas integrais
em simult aneo. A ttulo de exemplo considere-se o metodo de tres etapas
k
1
= f(t
i
, y
i
),
k
2
= f(t
i
+ c
2
h, y
i
+ c
2
hk
1
),
k
3
= f(t
i
+ c
3
h, y
i
+ (c
3
a
3,2
)hk
1
+ a
3,2
hk
2
),
y
i+1
= y
i
+ h[b
1
k
1
+ b
2
k
2
+ +b
3
k
3
].
Para determinar a solu c ao numerica do PCI (6.2) por este metodo, come ca-se pelo ponto
(t
i
, y
i
) e aplica-se um passo do metodo de Euler com passo c
2
h. Seguidamente, calcula-se o
valor de k
2
como sendo o vector derivada no ponto obtido. Temos assim dois valores para a
derivada: k
1
e k
2
; iremos usar uma media pesada entre estes dois valores (c
3
a
3,2
)hk
1
+a
3,2
hk
2
numa nova aplica c ao do metodo de Euler, a partir do ponto (t
i
, y
i
), com passo c
3
h. Calculando
a derivada novamente obtem-se o valor de k
3
. O ultimo passo do algoritmo e mais uma
aplica c ao do metodo de Euler, a partir do ponto (t
i
, y
i
), com passo h.
Exerccio 6.3.7 Considere o problema de condi cao inicial
_
y

(t) = ty
2
,
y(1) = 2.
Determine um
valor aproximado para y(1.1), usando o metodo de Heun, dado por
k
1
= f(t
i
, y
i
); k
2
= f(t
i
+ h, y
i
+ hk
1
);
y
i+1
= y
i
+
h
2
(k
1
+ k
2
),
com h = 0.05.
Resolu cao: Seja f(t, y) = ty
2
. Temos que
y(1) = y
0
= 2
y(1.05) y
1
= y
0
+
h
2
(k
1
+ k
2
) = 2 + 0.025(k
1
+ k
2
).
Por outro lado
k
1
= f(t
0
, y
0
) = f(1, 2) = 4
k
2
= f(t
0
+ h, y
0
+ hk
1
) = f(1.05, 2.2) = 5.082.
Assim, y(1.05) y
1
= 2.22705. Continuando a aplica cao do metodo
y(1.1) y
2
= y
1
+
h
2
(k
1
+ k
2
) = 2.22705 + 0.025(k
1
+ k
2
).
Para este segundo passo temos que voltar a calcular k
1
e k
2
. Assim,
k
1
= f(t
1
, y
1
) = f(1.05, 2.22705) = 5.207739
k
2
= f(t
1
+ h, y
1
+ hk
1
) = f(1.1, 2.487437) = 6.806077.
Logo, y(1.1) y
2
= 2.5273954.
Metodos numericos para problemas diferenciais ordin arios 115
Um metodo de Runge-Kutta muito famoso e dado pela express ao
k
1
= f(t
i
, y
i
); k
2
= f(t
i
+
h
2
, y
i
+
h
2
k
1
); k
3
= f(t
i
+
h
2
, y
i
+
h
2
k
2
); k
4
= f(t
i
+ h, y
i
+ hk
3
);
y
i+1
= y
i
+
h
6
(k
1
+ 2k
2
+ 2k
3
+ k
4
).
O seguinte algoritmo permite determinar a solu c ao do PCI (6.2) em t = b, usando este metodo
de Runge-Kutta.
Algoritmo 6.2 Metodo de Runge-Kutta
Ler n;
Ler a, b e alpha;
h :=
ba
n
;
t := a;
y := ;
Para i de 1 ate n fazer
s := 0;
k
1
:= f(t, y);
k
2
:= f(t + 0.5h, y + 0.5hk
1
);
k
3
:= f(t + 0.5h, y + 0.5hk
2
);
k
4
:= f(t + h, y + hk
3
);
y := y + h(k
1
+ 2k
2
+ 2k
3
+ k
4
)/6;
t := t + h;
Escrever y.
Exerccio 6.3.8 Construa um algoritmo que permita determinar a solu cao do PCI (6.2) em
t = b, usando um metodo de Runge-Kutta explcito de s etapas qualquer.
6.3.5 Estudo do erro
Quando se determinam valores numericos para aproximar quantidades desconhecidas, temos
necessidade de conhcer estimativas para o erro que se comete nessa aproxima c ao. No caso
dos metodos numericos para a resolu c ao de equa c oes diferenciais vamos considerar dois tipos
de erros: o erro de truncatura local e o erro global (ou da aproxima c ao).
Deni cao 6.9 Consider-se o PCI (6.2) e um metodo numerico de passo unico
y
i+1
= y
i
+ h(t
i
, y
i
; h), i = 0, . . . , n 1, y
0
= , (6.11)
que determine aproxima c oes y
i
para a solu c ao exacta y(t
i
), i = 0, 1, . . . , n. Supondo que
y
i
= y(t
i
), a T
i+1
= y(t
i+1
) y
i+1
chama-se erro de truncatura local do metodo no ponto t
i+1
.
Se
lim
h0
max
0in1
|
T
i+1
h
| = 0,
Metodos numericos para problemas diferenciais ordin arios 116
o metodo diz-se consistente com o PCI (6.2). O metodo diz-se de ordem p > 0 se existir um
C > 0 tal que
|T
i+1
| Ch
p+1
, i = 0, . . . , n 1,
isto e, se |T
i+1
| = O(h
p+1
), i = 0, . . . , n 1.
Da deni c ao anterior conclui-se que o erro de truncatura local e denido com sendo
T
i+1
= y(t
i+1
) y(t
i
) h(t
i
, y(t
i
); h).
Assim, o erro local pode ser determinado atraves dos seguintes passos: (i) substituir na
express ao que dene o metodo numerico a solu c ao aproximada no ponto t
i+1
, y
i+1
, pela
solu c ao exacta y(t
i+1
); (ii) considerar a hip otese y(t
i
) = y
i
; (iii) efectuar o desenvolvimento
em serie de Taylor de y(t
i+1
) em torno de t
i
.
Certos autores consideram a deni c ao de erro local de forma diferente.

E muito frequente
encontrar a deni c ao de erro de truncatura local no ponto t
i+1
como sendo
T
i+1
=
y(t
i+1
) y(t
i
)
h
(t
i
, y(t
i
); h), i = 0, . . . , n 1.
De acordo com esta deni c ao (que e a que foi usada em Ferreira e Patrcio (1999)) o metodo
(6.11) tem ordem p se |T
i+1
| = O(h
p
), i = 0, . . . , n 1.
Observa cao 6.10
1. Um metodo e consistente se tiver, pelo menos, ordem um ou, o que e equivalente, se
(t, y; 0) = f(t, y).
2. O erro local para o metodo de Taylor de fun c ao incremento (6.7) e dado por
T
i+1
=
h
k+1
(k + 1)!
y
(k+1)
(), (t
i
, t
i+1
),
ou seja, T
i+1
= O(h
k+1
) e, como tal, o metodo tem ordem k.
3. Para o caso particular do metodo de Euler temos que T
i+1
= O(h
2
) e assim sendo o
metodo tem ordem um.
O estudo da ordem para os metodos de Runge-Kutta n ao e uma tarefa f acil e, como tal,
n ao o iremos efectuar neste curso introdut orio. A ttulo exemplicativo consideremos este
estudo apenas para um caso muito simples.
Exemplo 6.11 O metodo de Heun e dado por
k
1
= f(t
i
, y
i
); k
2
= f(t
i
+ h, y
i
+ hk
1
);
y
i+1
= y
i
+
h
2
(k
1
+ k
2
).
Metodos numericos para problemas diferenciais ordin arios 117
Vamos determinar qual o seu erro local e, consequentemente, qual a sua ordem. Atendendo
`a deni cao de erro local temos que, supondo y(t
i
) = y
i
, T
i+1
= y(t
i+1
) y
i+1
. Desenvolvendo
y(t
i+1
) em serie de Taylor em torno do ponto t
i
temos
y(t
i+1
) = y
i
+ hf(t
i
, y
i
) +
h
2
2
df
dt
(t
i
, y
i
) +
h
3
6
d
2
f
dt
2
(t
i
, y
i
) + .
Por outo lado, considerando o desenvolvimento de y
i+1
, recorrendo `a serie de Taylor para duas
variaveis,
y
i+1
= y
i
+
h
2
_
f(t
i
, y
i
) + f(t
i
, y
i
) + h(f
t
+ f
y
f)(t
i
, y
i
) +
h
2
2
(f
tt
+ 2ff
ty
+ f
2
fyy)(t
i
, y
i
) +
_
.
Subtraindo membro a membro, e uma vez que y(t
i
) = y
i
, temos
T
i+1
=
h
3
12
(f
tt
+ 2ff
ty
+ f
2
f
yy
2f
t
f
y
2ff
2
y
)(t
i
, y
i
) + .
Assim sai que
T
i+1
=
h
3
12
(f
tt
+ 2ff
ty
+ f
2
f
yy
2f
t
f
y
2ff
2
y
)(, y()), (t
i
, t
i+1
).
Como T
i+1
= O(h
3
) conclumos que o metodo de Heun tem ordem 2.
Exerccio 6.3.9 Mostre que o metodo de Runge (6.9) tem ordem dois.
Vamos considerar agora a deni c ao de erro global.
Deni cao 6.12 Considere-se o PCI (6.2) e um metodo numerico de passo unico explcito
(6.11) que determine aproxima c oes y
i
para a solu c ao exacta y(t
i
), i = 0, 1, . . . , n. A e(t
i
) =
y(t
i
) y
i
chama-se erro global do metodo no ponto t
i
. Se
lim
h0
max
1in
|e(t
i
)| = 0,
o metodo diz-se convergente.
Note-se que, uma vez que o n umero de vezes que aplicamos um determinado metodo itera-
tivo e n =
b a
h
, podemos ser levados a armar que o erro global e(t
i
) dever a ser proporcional
a
T
i
h
. Por outras palavras, se T
i
= O(h
p+1
) tudo nos leva a crer que e(t
i
) = O(h
p
). De facto,
o que se pode concluir e o que vem expresso no pr oximo teorema.
Teorema 6.13 Seja y(t) a unica solu c ao do PCI, bem posto, (6.2) e (6.11) um metodo
numerico que supomos ser consistente com o problema e ter ordem p, isto e, |T
i+1
| Ch
p+1
,
i = 0, . . . , n 1, p 1. Se vericar as hip oteses do Teorema de Picard ent ao
|e(t
i
)|
C
L
h
p
_
e
L(tia)
1
_
, i = 1, . . . , n.
sendo L a constante de Lipschitz de .
Metodos numericos para problemas diferenciais ordin arios 118
Demonstra cao: Considerando a deni c ao de erro global temos que
e(t
i+1
) = e(t
i
) + h[(t
i
, y(t
i
); h) (t
i
, y
i
; h)] + T
i+1
, i = 0, . . . , n 1.
Uma vez que a fun c ao e lipschitziana, na vari avel y, e o metodo tem ordem p 1 conclumos
que
|e(t
i+1
)| (1 + hL)|e(t
i
)| + Ch
p+1
.
Como e(t
0
) = 0 obtem-se
|e(t
i+1
)| Ch
p+1
i

j=0
(1 + hL)
j
= Ch
p+1
1 (1 + hL)
i+1
1 (1 + hL)

C
L
h
p
_
e
(i+1)hL
1
_
.
O teorema ca assim demonstrado uma vez que t
i+1
= a + (i + 1)h.
Note-se que a consistencia, por si s o, n ao implica convergencia uma vez que existem mais
tipos de erros que podem ocorrer para alem do erro de truncatura local. De facto, nem as
condi c oes iniciais nem a aritmetica usada est ao isentas de erros. Temos portanto necessidade
de garantir que os metodos usados sejam estaveis no sentido de que pequenas altera c oes nas
condi c oes iniciais n ao produzam, por aplica c ao do metodo, grandes altera c oes nos resultados.
No caso dos metodos de passo unico, o teorema anterior permite-nos estabelecer o seguinte
resultado.
Corolario 6.14 Suponhamos que o PCI (6.2) e aproximado pelo metodo (6.11). Se existir
h
0
> 0 tal que (t, y; h) e contnua e lipschitziana, na vari avel y, no conjunto
D = {(t, y; h) : a t b, y IR, 0 h h
0
}
ent ao:
1. o metodo (6.11) e est avel;
2. o metodo e convergente se e s o se e consistente.
Exerccio 6.3.10 Mostre que o metodo de Heun, aplicado `a resolu cao do PCI (6.2), e conver-
gente.
Resolu cao: Atendendo `a deni cao do metodo de Heun temos que este pode ser dado pela
expressao
y
i+1
= y
i
+ h(t
i
, y
i
; h),
com
(t, y; h) =
1
2
[f(t, y) + f(t + h, y + hf(t, y))].
Para provar que o metodo e convergente vamos provar que e consistente e estavel.
1. Consistencia. Provamos que o metodo de Heun tem ordem dois e, assim sendo, e
consistente. Poderiamos ainda provar a consistencia provando que (t, y; 0) = f(t, y).
De facto,
(t, y; 0) =
1
2
[f(t, y) + f(t, y)] = f(t, y).
Metodos numericos para problemas diferenciais ordin arios 119
2. Estabilidade. Para provar que o metodo e estavel vamos provar que (t, y; h) e lips-
chitziana, na variavel y, em D = {(t, y; h) : a t b, y IR, 0 h h
0
}.
Seja L a constante de Lipschitz de f(t, y) na variavel y. Entao
|(t, y
1
; h) (t, y
2
; h)| =

1
2
[f(t, y
1
) + f(t + h, y
1
+ hf(t, y
1
))]

1
2
[f(t, y
2
) + f(t + h, y
2
+ hf(t, y
2
))]

1
2
[L|y
1
y
2
| + L|y
1
+ hf(t, y
1
) y
2
hf(t, y
2
)|]
L|y
1
y
2
| +
1
2
hL
2
|y
1
y
2
|

_
L +
1
2
hL
2
_
|y
1
y
2
|.
Assim (t, y; h) satisfaz a condi cao de Lipschitz, na variavel y, em D sendo a sua
constante de Lipschitz dada por
K =
_
L +
1
2
h
0
L
2
_
.
Finalmente, tanto como f sao contnuas em D. Esta assim provada a estabilidade
do metodo.
Atendendo `a consistencia e estabilidade temos que o metodo converge para a solu cao de
(6.2).
6.3.6 Metodos de passo unico implcitos
Nesta sec c ao vamos considerar a classe dos metodos de passo unico implcitos da forma (6.6).
N ao havendo possibilidade de explicitar o valor de y
i+1
temos necessidade de o calcular re-
solvendo a equa c ao (geralmente n ao linear)
y
i+1
y
i
h(t
i
, t
i+1
, y
i
, y
i+1
; h) = 0.
Usualmente considera-se um metodo numerico na resolu c ao desta equa c ao.
Se considerarmos o metodo de Newton, a primeira quest ao a resolver e a da determina c ao
de uma aproxima c ao inicial y
(0)
i+1
. Normalmente toma-se para aproxima c ao inicial o valor de
y
i
; outra hip otese ser a a de considerar a aproxima c ao inicial obtida pela aplica c ao de um
metodo explcito. Deteminado o valor de y
(0)
i+1
temos que
y
(k+1)
i+1
= y
(k)
i+1

F(y
(k)
i+1
)
F(y
(k)
i+1
)
, k = 0, 1, . . . ,
sendo
F(y
i+1
) = y
i+1
h(t
i
, t
i+1
, y
i
, y
i+1
; h).
Metodos numericos para problemas diferenciais ordin arios 120
Os metodos implcitos s ao usados visto que, em geral, s ao mais precisos e menos sensveis
a erros que os metodos explcitos. Por outro lado, o esfor co computacional exigido no c alculo
de y
i+1
e, para os metodos implcitos, muito maior. Assim, estes metodos s o devem ser usados
quando h a necessidade de uma precis ao muito elevada em problemas sensveis a erros.
Exemplos comuns de metodos implcitos s ao o chamado metodo de Euler implcito, dado
pela express ao
y
i+1
= y
i
+ hf(t
i+1
, y
i+1
), i = 0, . . . , n 1, y(a) = ,
e o metodo dos trapezios, dado por
y
i+1
= y
i
+
h
2
[f(t
i
, y
i
) + f(t
i+1
, y
i+1
), i = 0, . . . , n 1, y(a) = .
Apesar do estudo da consistencia e convergencia de um metodo iterativo ter sido efectuado
apenas para metodos explcitos, estes conceitos ainda s ao v alidos para metodos implcitos.
Para o metodo implcito (6.6) o erro de truncatura local e denido por
T
i+1
= y(t
i+1
) y(t
i
) h(t
i
, t
i+1
, y(t
i
), y(t
i+1
); h), i = 0, . . . , n 1.
Vamos considerar o seguinte exerccio.
Exerccio 6.3.11 Considere o metodo dos trapezios na resolu cao de um problema de condi cao
inicial.
1. Determine a ordem e o erro de truncatura local do metodo.
2. Aplique o metodo ao problema de condi cao inicial
_
y

(t) = ty
2
,
y(0) = 2,
e obtenha uma
aproxima cao em t = 1 usando h < 1. (Considere a solu cao exacta positiva em [0, 1].)
Resolu cao: 1. Atendendo `a deni cao de erro local temos que T
i+1
= y(t
i+1
) y
i+1
, onde
y(t
i
) = y
i
. Desenvolvendo y(t
i+1
) e y
i+1
em serie de Taylor em torno do ponto t
i
,
temos que
y(t
i+1
) = y
i
+ hf(t
i
, y
i
) +
h
2
2
df
dt
(t
i
, y
i
) +
h
3
6
d
2
f
dt
2
(t
i
, y
i
) +
e
y
i+1
= y
i
+
h
2
_
f(t
i
, y
i
) + f(t
i
, y
i
) + h
df
dt
(t
i
, y
i
) +
h
2
2
d
2
f
dt
2
(t
i
, y
i
) +
_
.
Subtraindo membro a membro vem
T
i+1
=
h
3
12
d
2
f
dt
2
(t
i
, y
i
) + .
Assim sai que
T
i+1
=
h
3
12
y

(), (t
i
, t
i+1
).
Como T
i+1
= O(h
3
) temos que o metodo dos trapezios tem ordem 2.
Metodos numericos para problemas diferenciais ordin arios 121
2. Seja f(t, y) = ty
2
e h = 0.5. Assim,
y(0) = y
0
= 2
y(0.5) y
1
= y
0
+
h
2
[f(t
0
, y
0
) + f(t
1
, y
1
)] = 2 0.125y
2
1
.
Vamos agora resolver a equa cao 0.125y
2
1
+ y
1
2 = 0. Esta equa cao resolve-se sem
diculdade pois
0.125y
2
1
+ y
1
2 = 0 y
1
= 9.6598 ou y
1
= 1.6568.
Como a solu cao e positiva temos que y
1
= 1.6568. Continuando,
y(1) y
2
= y
1
+
h
2
[f(t
1
, y
1
) + f(t
2
, y
2
)] = 1.3137 0.25y
2
2
.
Resolvendo a equa cao 0.25y
2
2
+ y
2
1.3137 = 0, temos
0.25y
2
2
+ y
2
1.3137 = 0 y
1
= 5.0422 ou y
1
= 1.0422.
Como a solu cao e positiva temos que y
1
= 1.0422.
Exerccio 6.3.12 Considere o problema de condi cao inicial
_
y

= 30y,
y(0) = 1,
e os metodo de Euler e Euler impcito. Usando cada um dos metodos determine a solu cao do
problema em t = 1 com h < 1, comparando os resultados obtidos.
Resolu cao: Seja f(y) = 30y e consideremos h = 0.5. Vamos aplicar os dois metodos sepa-
radamente.
1. Metodo de Euler
y(0) = y
0
= 1;
y(0.5) y
1
= 1 + 0.5 (30) = 14;
y(1) y
2
= 14 + 0.5 (30 (14)) = 196.
2. Metodo de Euler implcito
y(0) = y
0
= 1;
y(0.5) y
1
= 1 + 0.5 (30y
1
) = 1 15y
1
.
Resolvendo a equa cao temos que y(0.5) y
1
= 0.0625. Continuando temos
y(1) y
2
= 0.0625 + 0.5 (30y
2
) = 0.0625 15y
1
,
e assim, y(1) y
2
= 3.9 10
3
.
Atendendo a que a solu cao exacta e dada por y(t) = e
30t
temos que y(1) = 9.36 10
14
.
Note-se que, enquanto o metodo implcito se aproxima da solu cao o metodo explcito da
um resultado completamente disparatado. Os problemas que nao podem ser resolvidos por
metodos explcitos sao chamados sti e ocorrem com muita frequencia em problemas de
Engenharia Qumica (ver Hairer e Wanner (1991)).
Metodos numericos para problemas diferenciais ordin arios 122
6.4 Sistemas de equa c oes diferenciais
A teoria apresentada nas sec c oes precedentes pode ser facilmente generalizadas para sistemas
de equa c oes diferenciais ordin arias de primeira ordem. Todos os metodos numericos apresen-
tados podem ser adaptados ao c alculo da solu c ao aproximada do PCI
_
Y

(t) = F(t, Y ), t [a, b],


Y (a) = .
(6.12)
onde
Y (t) =
_

_
Y
1
(t)
Y
2
(t)
.
.
.
Y
N
(t)
_

_
, F(x) =
_

_
F
1
(t, Y )
F
2
(t, Y )
.
.
.
F
N
(t, Y )
_

_
.
Os metodos numericos ir ao, neste caso, determinar aproxima c oes Y
(i)
para Y (t
i
). O
metodo de Euler, por exemplo, e dado por
Y
(i+1)
= Y
(i)
+ hF(t
i
, Y
(i)
).
Equa c oes diferenciais de ordem superior a um. Uma situa c ao importante onde surgem
sistemas de equa c oes diferenciais e quando pretendemos resolver uma equa c ao diferencial
de ordem superior a um. Note-se que qualquer equa c ao diferencial de ordem N pode ser
escrita como um sistema de N equa c oes diferenciais de primeira ordem. A forma como essa
passagem se processa e bastante simples e pode ser facilmente compreendida com a ajuda de
um exemplo.
Exemplo 6.15 Consideremos o problema de condi cao inicial
y

3y

+ 2y = 0, y(0) = y

(0) = 1.
Efectuando a mudan ca de variavel z = y

obtemos o problema de condi cao inicial de primeira


ordem
_

_
y

(t) = z
z

(t) = 3z 2y
y(0) = 1
z(0) = 1

_
_
y
z
_

(t) =
_
z
3z 2y
_
,
_
y
z
_
(0) =
_
1
1
_
.
Exerccio 6.4.1 Converta num sistema de equa c oes diferenciais de primeira ordem o problema
y

0.1(1 y
2
)y

+ y = 0, y(0) = 1, y

(0) = y

(0) = 0.
Resolu cao: Efectuando a mudan ca de variavel z = y

e w

= y

obtemos o problema de condi cao


inicial de primeira ordem
_

_
y

(t) = z
z

(t) = w
w

(t) = 0.1(1 y
2
)z y
y(0) = 1
z(0) = 0
w(0) = 0
.
Metodos numericos para problemas diferenciais ordin arios 123
Exerccio 6.4.2 Considere a equa cao diferencial y

+ 4ty

+ 2y
2
= 0 com condi c oes iniciais
y(0) = 1 e y

(0) = 0. Com h = 0.1, utilize o metodo de Euler e de Heun para obter aproxima c oes
para y(0.2) e y

(0.2).
Resolu cao: Seja z = y

. Assim o nosso problema e equivalente a


_

_
y

(t) = z
z

(t) = 4tz 2y
2
y(0) = 1
z(0) = 0

_
_
y
z
_

(t) =
_
z
4tz 2y
2
_
,
_
y
z
_
(0) =
_
1
0
_
.
Seja
F
_
t,
_
y
z
__
=
_
z
4tz 2y
2
_
.
1. Metodo de Euler
_
y
z
_
(0) =
_
y
z
_
(0)
=
_
1
0
_
;
_
y
z
_
(0.1)
_
y
z
_
(1)
=
_
y
z
_
(0)
+ hF
_
_
t
0
,
_
y
z
_
(0)
_
_
=
_
1
0.2
_
;
_
y
z
_
(0.2)
_
y
z
_
(2)
=
_
y
z
_
(1)
+ hF
_
_
t
1
,
_
y
z
_
(1)
_
_
=
_
0.98
0.392
_
.
.
Temos assim que y(0.2) 0.98 e y

(0.2) 0.392.
2. Metodo de Heun
_
y
z
_
(0)
=
_
y
z
_
(0) =
_
1
0
_
,
_
y
z
_
(0.1)
_
y
z
_
(1)
=
_
y
z
_
(0)
+
h
2
[K
1
+ K
2
],
onde
K
1
= F
_
_
t
0
,
_
y
z
_
(0)
_
_
=
_
0
2
_
K
2
= F
_
_
t
0
+ h,
_
y
z
_
(0)
+ hK
1
_
_
=
_
0.2
1.92
_
.
Logo
_
y
z
_
(0.1)
_
y
z
_
(1)
=
_
0.99
0.196
_
.
Metodos numericos para problemas diferenciais ordin arios 124
Continuando a aplica cao do metodo temos
_
y
z
_
(0.2)
_
y
z
_
(2)
=
_
y
z
_
(1)
+
h
2
[K
1
+ K
2
],
onde
K
1
= F
_
_
t
1
,
_
y
z
_
(1)
_
_
=
_
0.196
1.8818
_
,
K
2
= F
_
_
t
1
+ h,
_
y
z
_
(1)
+ hK
1
_
_
=
_
0.38418
1.6335
_
.
Logo
_
y
z
_
(0.2)
_
y
z
_
(2)
=
_
0.988059
0.371765
_
.
Temos assim que y(0.2) 0.988059 e y

(0.2) 0.371765.
Exerccio 6.4.3 Adapte o algoritmo 6.2 a sistemas de equa c oes diferenciais.
6.5 Problemas com condi c oes de fronteira
Na sec c ao anterior estud amos as equa c oes diferenciais ordin arias no contexto dos sistema
din amicos em que a vari avel independente natural e o tempo (nem sempre assim e). Vamos
agora considerar o estudo orientado para regimes estacion arios em que o objectivo consiste
em determinar a distribui c ao espacial de uma grandeza.
Exemplo 6.16 Um problema comum em Engenharia Civil tem a ver com a deexao de uma
barra de sec cao rectangular sujeita a uma carga uniforme quando os extremos estao xos. A
equa cao diferencial que serve de modelo a esta situa cao fsica e da forma
w

=
S
EI
w +
qx
2EI
(x l),
onde w = w(x) e a deexao no ponto que dista x do extremo esquerdo da barra, e l, q, E, S
e I representam, respectivamente, o comprimento da barra, a intensidede da carga uniforme, o
m odulo da elasticidade, a tensao nos extremos e o momento central de inercia. Uma vez que os
extremos da barra estao xos, temos associadas a esta equa cao diferencial as equa c oes de fronteira
w(0) = w(l) = 0.
Quando a barra e feita de material uniforme EI e uma constante e como tal a solu cao da equa cao
e imediata. Caso contrario I = I(x) e temos que usar metodos numericos para determinar uma
aproxima cao para a solu cao.
Os problemas fsicos que dependem de uma posi c ao no espa co em vez de um instante no
tempo s ao muitas vezes descritos em termos de equa c oes diferenciais com condi c oes impostas
Metodos numericos para problemas diferenciais ordin arios 125
em mais do que um ponto: problemas com condi c oes de fronteira (PCF). Os PCF que iremos
considerar nesta sec c ao envolvem uma equa c ao diferencial ordin aria de segunda ordem
y

= f(x, y, y

), x (a, b), (6.13)


e as condi c oes de fronteira
_

1
y(a) +
1
y

(a) =
1
,

2
y(b) +
2
y

(b) =
2
,
(6.14)
com
i
,
i
,
i
IR, i = 1, 2. Estas condi c oes de fronteira podem ser de tres tipos:
1. Dirichelet, se
1
=
2
= 0;
2. Neumann, se
1
=
2
= 0;
3. Robin ou mistas, se |
1
| +|
2
| = 0 e |
1
| +|
2
| = 0.
Quando
1
=
2
= 0 dizemos que as condi c oes de fronteira s ao homogeneas. No caso em que
a equa c ao (6.13) e da forma
y

= p(x)y

+ q(x)y + r(x), x (a, b), (6.15)


dizemos que (6.13)(6.14) e um problema com condi c oes de fronteira linear.
Tal como no caso dos problemas de condi c ao inicial tambem aqui se torna importante
saber em que condi c oes (6.13)(6.14) tem solu c ao unica. Esse estudo foge ao ambito deste
curso e como tal n ao ir a ser apresentado. No entanto, para problemas com condi c ao de
fronteira lineares a teoria e mais simples e, a ttulo ilustrativo, iremos considerar apenas o
seguinte teorema.
Teorema 6.17 Sejam q, r C([a, b]) e q 0. Ent ao o PCF linear
_
y

+ q(x)y = r(x), x (a, b),


y(a) = y(b) = 0,
(6.16)
tem uma unica solu c ao y C
2
([a, b]).
Demonstra cao: Ver Kress (1998).
6.5.1 Metodo das diferen cas nitas
Um metodo muito usado para determinar solu c oes aproximadas do PCF (6.13)(6.14) consiste
em substituir as derivadas que nela intervem por f ormulas de diferen cas nitas.
Suponhamos que o problema (6.13)(6.14) admite uma e uma s o solu c ao e consideremos
a parti c ao
a = x
0
< x
1
< < x
n1
< x
n
= b (6.17)
do intervalo [a, b]. O metodo das diferen cas nitas permite-nos obter aproxima c oes y
i
, i =
1, . . . , n, para os valores da solu c ao nos pontos da parti c ao, isto e, y
i
y(x
i
), i = 1, . . . , n.
Por uma quest ao de simplica c ao da abordagem vamos considerar a parti c ao (6.17) uniforme,
ou seja, tal que x
i
x
i1
= h, i = 1, . . . , n.
Metodos numericos para problemas diferenciais ordin arios 126
Exemplo 6.18 Pretende-se obter a solu cao aproximada do problema
_
y

+ y = x, x (0, 1),
y(0) = y(1) = 0,
usando o metodo das diferen cas nitas com uma malha uniforme de espa camento h =
1
n
.
O PCF dado pode ser escrito, para cada ponto da parti cao (6.17) na forma
_
y

(x
i
) + y(x
i
) = x
i
, i = 1, . . . , n 1,
y(x
0
) = y(x
n
) = 0,
com x
i
= ih, i = 0, . . . , n.
Se aproximarmos y

pela f ormula de diferen cas centradas de segunda ordem (tres pontos)


temos
y

(x
i
)
1
h
2
(y
i1
2y
i
+ y
i+1
),
com y
i
y(x
i
), i = 1, . . . , n 1. Substituindo na equa cao temos, em cada ponto da parti cao, o
problema (linear) aproximado
_
(y
i1
2y
i
+ y
i+1
) + h
2
y
i
= ih
3
, i = 1, . . . , n 1,
y
0
= y
n
= 0
,
Notemos que o sistema linear obtido e da forma
Ay = b,
em que b = (ih
3
)
n1
i=1
e A = (a
ij
)
n1
i,j=1
com
a
ij
=
_

_
h
2
+ 2, i = j
1, j = i 1, j = i + 1
0, |j i| > 1
.
A matriz do sistema e tridiagonal, simetrica e estritamente diagonal dominante por linhas; logo e
invertvel. Fica deste modo garantida a existencia e unicidade de solu cao.
Considerando n = 4, ou seja h =
1
4
, obtemos
_

_
2.03125 1 0
1 2.03125 1
0 1 2.03125
_

_
_

_
y
1
y
2
y
3
_

_ =
_

_
1/128
1/64
3/128
_

_
_

_
0.03484
0.05633
0.05004
_

_.
Vamos considerar, tal como no exemplo anterior, o PCF linear (6.15) com condi c oes de
fronteira (6.14) de Dirichlet (
1
=
2
= 1,
1
=
2
= 1). Este problema pode ser escrito,
para cada ponto da parti c ao (6.17), na forma
_
y

(x
i
) = p(x
i
)y

(x
i
) + q(x
i
)y(x
i
) + r(x
i
), i = 1, . . . , n 1,
y(x
0
) =
1
, y(x
n
) =
2
,
com x
i
= ih, i = 0, . . . , n. Substituindo as derivadas pelas f ormulas de diferen cas centradas
de segunda ordem
y

(x
i
) =
y(x
i+1
) y(x
i1
)
2h

h
2
6
y

(
i
),
i
(x
i1
, x
i+1
),
Metodos numericos para problemas diferenciais ordin arios 127
e
y

(x
i
) =
y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2

h
2
12
y
(4)
(
i
),
i
(x
i1
, x
i+1
),
obtemos
_

_
y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2
= p(x
i
)
y(x
i+1
) y(x
i1
)
2h
+ q(x
i
)y(x
i
)
+r(x
i
)
h
2
12
_
2p(x
i
)y

(
i
) y
(4)
(
i
)
_
, i = 1, . . . , n 1,
y(x
0
) =
1
, y(x
n
) =
2
.
Se tomarmos y
i
y(x
i
), i = 1, . . . , n 1, um metodo de diferen cas nitas com erro O(h
2
)
pode ser denido pelo sistema linear
_

_
y
i+1
2y
i
+ y
i1
h
2
p(x
i
)
y
i+1
y
i1
2h
q(x
i
)y
i
= r(x
i
), i = 1, . . . , n 1,
y
0
=
1
, y
n
=
2
,
ou, de forma equivalente,
_

_
_
1 +
h
2
p(x
i
)
_
y
i1

_
2 + h
2
q(x
i
)
_
y
i
+
_
1
h
2
p(x
i
)
_
y
i+1
= h
2
r(x
i
), i = 1, . . . , n 1,
y
0
=
1
, y
n
=
2
,
Notemos que o sistema linear obtido e da forma
AY = B, (6.18)
em que Y = [y
1
, y
2
, . . . , y
n2
, y
n1
]
T
,
A =
_

_
2 h
2
q(x
1
) 1
h
2
p(x
1
)
1 +
h
2
p(x
2
) 2 h
2
q(x
2
) 1
h
2
p(x
2
)
.
.
.
.
.
.
.
.
.
1 +
h
2
p(x
n2
) 2 h
2
q(x
n2
) 1
h
2
p(x
n2
)
1 +
h
2
p(x
n1
) 2 h
2
q(x
n1
)
_

_
e
B =
_

_
h
2
r(x
1
)
_
1 +
h
2
p(x
1
)
_

1
h
2
r(x
2
)
.
.
.
h
2
r(x
n2
)
h
2
r(x
n1
)
_
1
h
2
p(x
n1
)
_

2
_

_
.
A quest ao que naturalmente se coloca e a de saber se o sistema (6.18) tem solu c ao unica.
Para responder a essa quest ao considerere-se o seguinte exerccio cuja resolu c ao pode ser vista
em Burden e Faires (1988).
Metodos numericos para problemas diferenciais ordin arios 128
Exerccio 6.5.1 Suponhamos que A = (a
ij
)
n
i,j=1
e uma matriz de ordem n, tridiagonal, com
a
i,i1
, a
i,i+1
= 0, para cada i = 2, . . . , n 1. Se
|a
11
| > |a
12
|, |a
nn
| > |a
n,n1
|
e
|a
ii
| |a
i,i1
| +|a
i,i+1
|, i = 2, . . . , n 1,
entao A e nao singular.
O resultado estabelecido neste exerccio permite concluir, de forma imediata, o seguinte
teorema.
Teorema 6.19 Considere-se o PCF linear (6.15) com condi c oes de fronteira (6.14) de Di-
richlet (
1
=
2
= 1,
1
=
2
= 1) e com p, q, r fun c oes contnuas em [a, b]. Se q(x) 0, para
todo o x [a, b], ent ao o sistema tridiagonal (6.18) tem solu c ao unica desde que h < 2/L,
onde
L = max
x[a,b]
|p(x)|.
Pode dar-se o caso (muito frequente) das condi c oes de fronteira n ao serem de Dirichlet
mas de Neumann ou mistas. Suponhamos que temos o PCF
_
y

= p(x)y

+ q(x)y + r(x), x (a, b),


y

(a) =
1
, y

(b) =
2
.
(6.19)
Considerando, tal como para o caso anterior, a substitui c ao das derivadas que aparecem na
equ c ao diferencial pelas f ormulas de diferen cas centradas de segunda ordem obtemos
_
1 +
h
2
p(x
i
)
_
y
i1
+
_
2 + h
2
q(x
i
)
_
y
i

_
1
h
2
p(x
i
)
_
y
i+1
= h
2
r(x
i
), i = 1, . . . , n 1,
com y
i
y(x
i
), i = 1, . . . , n 1. Quanto ` as equa c oes de fronteira, o mais comum e
considerarem-se diferen cas progressivas na discretiza c ao de y

(a) e regressivas na descretiza c ao


de y

(b). Se usarmos diferen cas progressivas e regressivas com dois pontos (ordem um) obte-
mos
y
0
= y
1
h
1
, y
n
= y
n1
+ h
2
,
onde y
0
y(x
0
) e y
n
y(x
n
). Deste modo, o sistema linear a resolver difere, em rela c ao ao
caso em que consider amos condi c oes de Dirichlet, apenas nas primeira e ultima linhas. Neste
caso, a primeira e a ultima linha do sistema linear a resolver s ao, respectivamente,
_
1 +
h
2
p(x
1
) h
2
q(x
1
)
_
y
1
+
_
1
h
2
p(x
1
)
_
y
2
= h
2
r(x
1
) + h
_
1 +
h
2
p(x
1
)
_

1
e
_
1 +
h
2
p(x
n1
)
_
y
n2
+
_
1
h
2
p(x
n1
) h
2
q(x
n1
)
_
y
n1
= h
2
r(x
n1
)h
_
1 p(x
n1
)
h
2
_

2
Metodos numericos para problemas diferenciais ordin arios 129
Finalmente, fa camos uma pequena abordagem ao caso n ao linear. Consideremos o pro-
blema n ao linear geral (6.13) com condi c oes de fronteira (6.14) de Dirichlet (
1
=
2
= 1,

1
=
2
= 1). Tal como no caso linear, vamos substituir as derivadas que aparecem na equ c ao
diferencial pelas f ormulas de diferen cas centradas de segunda ordem. Obtemos assim
_

_
y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2
= f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h

h
2
12
_
2p(x
i
)y

(
i
) y
(4)
(
i
)
_
_
, i = 1, . . . , n 1,
y(x
0
) =
1
, y(x
n
) =
2
,
com
i
,
i
(x
i1
, x
i+1
). O metodo de diferen cas nitas que resulta quando se desprezam os
termos O(h
2
) das f ormulas de diferen cas centradas e se usam as condi c oes de fronteira e
_

_
y
i+1
2y
i
+ y
i1
h
2
= f
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
, i = 1, . . . , n 1,
y
0
=
1
, y
n
=
2
,
com y
i
y(x
i
), i = 1, . . . , n 1. Temos ent ao necessidade de resolver um sistema n ao linear
da forma
F(X, Y ) = 0,
onde X = [x
1
, x
2
, . . . , x
n2
, x
n1
]
T
, Y = [y
1
, y
2
, . . . , y
n2
, y
n1
]
T
e
_

_
f
1
(X, Y ) = 2y
1
+ y
2
h
2
f
_
x
1
, y
1
,
y
2

1
2h
_
+
1
,
f
i
(X, Y ) = y
i1
2y
i
+ y
i+1
h
2
f
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
, i = 2, . . . , n 2,
f
n1
(X, Y ) = y
n2
2y
n1
h
2
f
_
x
n1
, y
n1
,

2
y
n2
2h
_
+
2
.
Prova-se (ver Burden e Faires (1988)) que este sistema n ao linear tem solu c ao unica se
h < 2L onde
L = max
x[a,b]
|f
y
(x, y, y

)|.
A sua solu c ao pode ser obtida, de forma aproximada, pelo metodo de Newton estudado no
Captulo 2.
Metodos numericos para problemas diferenciais ordin arios 130
6.6 Exerccios de aplica cao `a engenharia
Exerccio 6.6.1 Um projectil e lan cado da superfcie terreste com uma velocidade V . Supondo
que nao ha arrasto a equa cao do movimento e

d
dr
= g
R
2
r
2
,
onde e a velocidade `a distancia r do centro da Terra que tem raio R. Considerando g =
9.81 m/seg
2
, R = 6.37 10
6
m e V = 15000 m/seg, calcule a velocidade quando r = 2R.
Exerccio 6.6.2 Uma solu cao lquida ui de forma constante ao longo de um tubo na direc cao
x. Alguns dos solutos contidos na solu cao difundem-se atraves da parede do tubo reduzindo a
concentra cao z no tubo. A concentra cao z e dada por
dz
dx
= z(0.2 +

z)e
0.03x
.
Se tomarmos z = 1.5 em x = 2 determine o valor de z em x = 2.4.
Exerccio 6.6.3 Uma quantidade de 10 quilogramas de material e despejada num reservat orio
contendo 60 quilogramas de agua. A concentra cao da solu cao, c (em percentagem), vem dada
em fun cao do tempo, t (em segundos), por
(60 1.2112c)c

=
k
3
(200 14c)(100 4c),
onde k, o coeciente de transferencia de massa, e igual a 0.0589. A condi cao inicial em t = 0 e
c = 0. Determine a rela cao entre c e t.
Exerccio 6.6.4 A equa cao qumica irreverssvel na qual duas moleculas de dicromato de po-
tassio (K
2
Cr
2
O
7
) s olido, duas moleculas de agua (H
2
O) e tres atomos de enxofre (S) s olido dao
origem a tres moleculas de di oxido de enxofre (SO
2
) gasoso, quatro moleculas de hidr oxido de
potassio (KOH) s olido e duas moleculas oxido de cr omio (Cr
2
O
3
) s olido pode ser representada,
simbolicamente, pelo esquema
2K
2
Cr
2
O
7
+ 2H
2
O + 3S 4KOH + 2Cr
2
O
3
+ 3SO
2
.
Se existirem inicialmente n
1
moleculas de 2K
2
Cr
2
O
7
, n
2
moleculas de H
2
O e n
3
moleculas de
S a equa cao seguinte descreve a quantidade x(t) de KOH ao m de um tempo t (em segundos)
x

= k
_
n
1

x
2
_
2
_
n
2

x
2
_
2
_
n
3

3x
4
_
3
,
onde k e a velocidade da rea cao (constante). Se k = 6.2210
19
, n
1
= n
2
= 1000 e n
3
= 1500,
quantas unidades de hidr oxido de potassio serao formadas ao m de 2 segundos?
Exerccio 6.6.5 Na teoria da prolifera cao de uma doen ca contagiosa, podem ser usadas equa-
c oes diferenciais relativamente elementares para prever o n umero de indivduos infectados na
popula cao em cada instante, desde que sejam efectuadas simplica c oes apropriadas. Esta teoria
foi estudada por N.T.J. Bayley em 1957 e 1967 em dois livros, um sobre matematica aplicada
`a medecina (The Mathematical Approach to Biology and Medicine, John Wiley & Sons, NY,
Metodos numericos para problemas diferenciais ordin arios 131
1967) e outro sobre a teoria matematica das epidemias (The Mathematical Theory of Epidemics,
Hafner, NY, 1957).
Em particular, consideremos que todos os indivduos numa popula cao xa tem uma probabil-
idade igual de ser infectados e que uma vez portadores da doen ca permanecerao sempre nessa
condi cao. Se x(t) denotar o n umero de indivduos susceptveis de contrair a doen ca no instante
t e y(t) o n umero de indivduos infectados, e razoavel assumir que a razao `a qual o n umero de
infectados varia e proporcional ao produto de x(t) por y(t) visto que a razao depende tando do
n umero de infectados como do n umero de susceptveis presentes, para cada t. Se a popula cao for
sucientemente grande para considerarmos que x(t) e y(t) sao variaveis contnuas, o problema
pode ser expresso na forma
y

(t) = kx(t)y(t),
onde k e uma constante e x(t) + y(t) = m e a popula cao total. Esta equa cao pode ser reescrita
por forma a depender apenas de y(t). Assim
y

(t) = ky(t)(my(t)). (6.20)


1. Assumindo que m = 100000, y(0) = 1000, k = 2 10
6
e o tempo medido em dias,
determine o n umero de indivduos infectados ao m de 30 dias.
2. A equa cao (6.20) e conhecida por equa cao de Bernoulli e pode ser transformada numa
equa cao diferencial linear em z(t) se efectuarmos a mudan ca de variavel z(t) = (y(t))
1
.
Usando esta tecnica, determine a solu cao exacta y(t) da equa cao diferencial (6.20), com as
hip oteses consideradas no ponto anterior, e compare-a com a solu cao numerica obtida.
3. Determine lim
t
y(t). Este resultado esta de acordo com a sua intui cao?
Exerccio 6.6.6 No exerccio anterior, todos os indivduos infectados permanecem na popula cao
ajudando a difundir a doen ca. Uma situa cao mais realista consiste em introduzir uma nova variavel
z(t) para representar tanto o n umero de indivduos que sao retirados da popula cao infectada num
determinado instante t, por isolamento, como os que sao tratados (e consequentemente tornados
imunes) ou os que morrem. O problema posto nestes termos e, naturalmente, mais complicado
mas Bayley mostrou que a solu cao aproximada do problema pode ser dada na forma
x(t) = x(0)e
(k
1
/k
2
)z(t)
e y(t) = mx(t) z(t),
onde k
1
e k
2
sao, respectivamente, as taxas de crescimento de y(t) e de z(t), sendo z(t) deter-
minada pela equa cao diferencial
z

(t) = k
2
_
mz(t) x(0)e
(k
1
/k
2
)
_
.
Como nao e possvel determinar a solu cao exacta deste problema, temos que recorrer `a solu cao
numerica. Assim, determine uma aproxima cao para z(30), y(30) e x(30) assumindo que m =
100000, x(0) = 99000, k
1
= 2 10
6
e k
2
= 10
4
.
Exerccio 6.6.7 O estudo de modelos matematicos para estimar a evolu cao de uma popula cao
de especies que competem entre si teve a sua origem no incio do seculo com os trabalhos de
A.J. Lotka e V. Volterra. Consideremos o problema de estimar a popula cao constituida por duas
especies, uma das quais e predadora, cuja popula cao no instante t e x
2
(t), e que se alimenta
Metodos numericos para problemas diferenciais ordin arios 132
comendo a outra especie, a que chamamos presa e cuja popula cao e x
1
(t). Este problema e
usualmente designado por predador-presa. Vamos assumir que a presa possui sempre uma quan-
tidade de comida adequada e que a sua taxa de natalidade em todos os instantes e proporcional
ao n umero de presas vivas nesse instante; isto e, a taxa de natalidade (presa) = k
1
x
1
(t). A taxa
de mortalidade das presas depende tanto do n umero de presas como de predadores vivos nesse
instante. Por uma questao de simplicidade vamos assumir que a taxa de mortalidade (presa)
= k
2
x
1
(t)x
2
(t). A taxa de natalidade dos predadores, por outro lado, depende da quantidade de
comida existente, x
1
(t), assim como do n umero de predadores existentes para ns de reprodu cao.
Por essas raz oes vamos assumir que a taxa de natalidade (predador) = k
3
x
1
(t)x
2
(t). A taxa de
mortalidade dos predadores sera tomada proporcionalmente ao n umero de predadores vivos nesse
instante; isto e, a taxa de mortalidade (predador) = k
4
x
2
(t).
A varia cao da popula cao de presas e predadores pode ser dada pelas seguintes equa c oes
diferenciais
_

_
x

1
(t) = k
1
x
1
(t) k
2
x
1
(t)x
2
(t)
x

2
(t) = k
3
x
1
(t)x
2
(t) k
4
x
2
(t)
.
Assumindo que a popula cao inicial de presas e 1000 e a de predadores 200, e que as constantes
k
1
= 3, k
2
= 0.002, k
3
= 0.0006 e k
4
= 0.5, trace o graco das solu c oes deste problema e
descreva o fen omeno fsico representado. Sera que o problema possui alguma solu cao estavel? Se
sim, para que valores de x
1
e x
2
e que tal acontece?
Exerccio 6.6.8 Num livro intitulado Looking at History Through Mathematics, MIT Press,
Cambridge MA, 1968, N. Rashevsky considerou um modelo para um problema envolvendo o
evolu cao de nao conformistas
3
na sociedade. Suponhamos que uma sociedade tem uma popula cao
de x(t) indivduos no instante t, em anos, e que todos os nao conformistas que acasalam com
outros nao conformistas tem uma descendencia que tambem e nao conformista. Por outro lado,
para todas as outras descendencias, existe uma propor cao xa r que sao ainda nao conformistas.
Se as taxas de natalidade e mortalidade para todos os indivduos se assumir como sendo as
constantes n e m, respectivamente, e se conformistas e nao conformistas acasalarem de forma
aleat oria, o problema pode ser expresso pelas equa c oes diferenciais
_

_
x

(t) = (n m)x(t)
y

(t) = (n m)y(t) + rn(x(t) y(t))


,
onde y(t) denota o n umero de nao conformistas na popula cao no instante t.
1. Se a variavel p(t) = y(t)/x(t) for introduzida para representar a propor cao de nao con-
formistas na sociedade no instante t, mostre que o sistema de equa c oes diferenciais se reduz
a
p

(t) = rn(1 p(t)).


2. Assumindo que p(0) = 0.01, n = 0.002, m = 0.015 e r = 0.1, aproxime a solu cao p(t) para
os primeiros 50 anos.
3. Resolva a equa cao diferencial para p(t) de forma exacta, e compare o resultado com a
solu cao numerica.
3
Conformista e a pessoa que adopta ou segue o conformismo (anglicanismo).
Metodos numericos para problemas diferenciais ordin arios 133
Exerccio 6.6.9 Consideremos um pendulo simples constitudo por uma bola uniforme de massa
m e uma barra na de comprimento l e massa negligenciavel. Se considerarmos que a resistencia
do ar e porpocional ao quadrado da velocidade angular do pendulo, a equa cao do movimeto e
dada por

+ 2k
_

_
2
=
g
l
sin ,
sendo o angulo agudo que a barra do pendulo faz com a vertical. Considerando que em t = 0
se tem =

3
determine o valor de e de

nos instantes (em minutos) t


i
= ih, com h = 0.05 e
i = 0, 1, . . . , 50.
Exerccio 6.6.10 A equa cao de Van der Pol, que aparece na electr onica, e
x

+ (1 x
2
)x

+ x = 0.
Com as condi c oes iniciais x(0) = 0.5 x

(0) = 0, determine x, x

e x

para nos instantes t


i
= ih,
com h = 0.1 e i = 0, 1, . . . , 40.
Exerccio 6.6.11 Um cao, num campo ao lado de uma estrada, ve o dono a caminhar nela e
corre para ele. Supondo que o cao corre sempre na direc cao do dono e que a estrada e rectilnea,
a equa cao que dene a traject oria por ele seguida e denida pela equa cao
x
d
2
y
dx
2
= c

1 +
_
dy
dx
_
2
,
sendo c a razao entre as velocidades do homem e do cao. Supondo que c = 0.5 e que inicialmente
o cao se encontra parado na posi cao (x, y) = (1, 0) e o dono na posi cao (x, y) = (0, 0), determine
em que posi cao termina a corrida.
Exerccio 6.6.12 Um circuito electrico que e formado por um condensador de capacidede
electrica constante C = 1.1 farad em serie com uma resistencia constante de R
0
= 2.1 ohm.
A voltagem E(t) = 110 sin t e aplicada no instante t = 0.
`
A medida que o calor aumenta, a
resistencia torna-se fun cao da corrente I,
R(t) = R
0
+ kI(t),
com k = 0.9. A equa cao diferencial para I e
_
1 +
2k
R
0
i(t)
_
I

(t) +
1
R
0
C
I(t) =
1
R
0
E

(t).
Determine a corrente I ao m de 2 segundos, assumindo que I(0) = 0.
6.7 Referencias bibliogracas
A.C. Bajpai; L.R. Mustoe e D. Walker (1992), Engineering Mathematics, 2th ed., John
Wiley & Sons, Chichester.
R.L. Burden e J.D. Faires (1988), Numerical Analysis, 4th ed., PWS-Kent, Boston.
B.J. Cara ca (1989), Conceitos Fundamentais da Matem atica, 9
a
ed., Livraria S a Costa,
Lisboa.
Metodos numericos para problemas diferenciais ordin arios 134
S.D. Conte e C. de Boor (1980), Elementary Numerical Analysis, 3th ed., McGraw-Hill, New
York.
J.A. Ferreira e M.F. Patrcio (1999), An alise Numerica, Textos de Apoio, DMUC, Coimbra.
H. Goldstine (1977), A History of Numerical Analysis from 16
th
Through the 19
th
Century,
Springer-Verlag, New York.
E. Hairer, S.P. Nrsett e G. Wanner (1987), Solving Ordinary Dierential Equations I,
Springer Series in Comput. Mathematics, Vol. 8, Springer-Verlag, Heidelberg.
E. Hairer e G. Wanner (1991), Solving Ordinary Dierential Equations II, Springer Series
in Comput. Mathematics, Vol. 14, Springer-Verlag, Heidelberg.
R. Kress (1998), Numerical Analysis, Springer-Verlag, New York.
J.R. Rice (1983), Numerical Methods, Software, and Analysis, McGraw-Hill, Tokyo.
M. Rosa (1992), T opicos de An alise Numerica, Dep. Matem atica, Univ. Coimbra.
M.R. Valen ca (1988), Metodos Numericos, INIC, Braga.
Conte udo
1 Preliminares 2
1.1 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Breve referencia hist orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 No c oes e teoremas b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Breve referencia ` a teoria dos erros . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1 Erros de arredondamento . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.2 Erros de truncatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Exerccios de aplica c ao ` a engenharia . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Referencias bibliogr acas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Solu cao numerica de equa c oes e sistemas nao lineares 13
2.1 Breve referencia hist orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Determina c ao da aproxima c ao inicial . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.1 Localiza c ao gr aca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 Metodo de Rolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 C alculo das razes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1 Metodo da bissec c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.2 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5.3 Metodo do ponto xo . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6 Zeros de polin omios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.1 Resultados b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6.2 C alculo de valores de um polin omio. Factoriza c ao . . . . . . . . . . . 36
2.6.3 C alculo dos zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7 Sistemas de equa c oes n ao lineares (breve introdu c ao) . . . . . . . . . . . . . . 39
2.7.1 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.7.2 Metodo iterativo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 42
2.8 Exerccios de aplica c ao ` a engenharia . . . . . . . . . . . . . . . . . . . . . . . 45
2.9 Referencias bibliogr acas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3 Sistemas de equa c oes lineares 48
3.1 Breve referencia hist orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3 Classes de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Metodos directos: revis ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
135
Metodos numericos para problemas diferenciais ordin arios 136
3.5 Metodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5.1 Normas de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5.2 Convergencia dos metodos iterativos . . . . . . . . . . . . . . . . . . . 57
3.5.3 Metodos de Jacobi e Gauss-Seidel . . . . . . . . . . . . . . . . . . . . 58
3.6 Condicionamento de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.7 Exerccios de aplica c ao ` a engenharia . . . . . . . . . . . . . . . . . . . . . . . 61
3.8 Referencias bibliogr acas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4 Interpola cao polinomial 64
4.1 Breve referencia hist orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.2 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Interpola c ao polinomial de Lagrange . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.1 Existencia e unicidade. F ormula de Lagrange . . . . . . . . . . . . . . 66
4.3.2 Erro de interpola c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.3 Diferen cas divididas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.4 F ormula de Newton das diferen cas divididas . . . . . . . . . . . . . . . 73
4.3.5 Interpola c ao em pontos igualmente distanciados . . . . . . . . . . . . 76
4.3.6 Interpola c ao segmentada linear . . . . . . . . . . . . . . . . . . . . . . 77
4.4 Interpola c ao de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.1 Existencia e unicidade . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.2 Erro de interpola c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.3 Interpola c ao segmentada c ubica . . . . . . . . . . . . . . . . . . . . . . 82
4.4.4 Polin omios osculadores . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5 Interpola c ao bidimensional de Lagrange . . . . . . . . . . . . . . . . . . . . . 84
4.6 Exerccios de aplica c ao ` a engenharia . . . . . . . . . . . . . . . . . . . . . . . 87
4.7 Referencias bibliogr acas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5 Deriva cao e integra cao numerica 89
5.1 Breve referencia hist orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2 Deriva c ao numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.1 Aproxima c ao da primeira derivada . . . . . . . . . . . . . . . . . . . . 90
5.2.2 Aproxima c ao da segunda derivada. Algumas f ormulas . . . . . . . . . 93
5.2.3 Aproxima c ao de derivadas de ordem superior . . . . . . . . . . . . . . 94
5.3 Integra c ao numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.1 F ormulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.2 F ormulas compostas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.4 Exerccios de aplica c ao ` a engenharia . . . . . . . . . . . . . . . . . . . . . . . 102
5.5 Referencias bibliogr acas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6 Metodos numericos para problemas diferenciais ordinarios 104
6.1 Breve referencia hist orica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.2 Introdu c ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.3 Problemas com condi c ao inicial . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.3.1 Existencia e unicidade de solu c ao. Condicionamento . . . . . . . . . . 106
6.3.2 Metodos numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3.3 Metodos baseados na serie de Taylor . . . . . . . . . . . . . . . . . . . 110
6.3.4 Metodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 112
Metodos numericos para problemas diferenciais ordin arios 137
6.3.5 Estudo do erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.3.6 Metodos de passo unico implcitos . . . . . . . . . . . . . . . . . . . . 119
6.4 Sistemas de equa c oes diferenciais . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.5 Problemas com condi c oes de fronteira . . . . . . . . . . . . . . . . . . . . . . 124
6.5.1 Metodo das diferen cas nitas . . . . . . . . . . . . . . . . . . . . . . . 125
6.6 Exerccios de aplica c ao ` a engenharia . . . . . . . . . . . . . . . . . . . . . . . 130
6.7 Referencias bibliogr acas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Você também pode gostar