Sunteți pe pagina 1din 206

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados

Prof. Henrique Mariano C. do Amaral


1




EQUAES DIFERENCIAIS ORDINRIAS
MTODOS NUMRICOS



Cpitulo do volume 2 do Livro de Anlise e Mtodos Numricos em Engenharia, do prof. Henrique Mariano C Amaral, a ser publicado.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
2

13. Equaes Diferenciais Ordinrias
As equaes diferenciais tm uma ampla aplicao na soluo de problemas cientficos e de
engenharia, nos quais os fenmenos so modelados em termo de taxas de variao de diversas
quantidades variveis.
13.1 Definies e Conceitos Bsicos
Definio 1: Equaes diferenciais ordinrias EDO - so funes que envolvem
derivadas ordinrias de diversas ordens de uma funo ( ) y f x = \ definida em um espao \
qualquer:

1
1
, , ,
n n
n n
d y dy d y
g x
dx
dx dx

1


=


( )
. (13.1.1)

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
3
Definio 2: Chama-se ordem de uma equao diferencial ao ordinal correspondente a
ordem da maior derivada envolvidade nela.
Exemplos: seja ( ) y f x = ento
3
4
dy
x
dx
= ... 1 ordem
4
2
3
2
2 3 0
d y dy
x y
dx
dx
1

=



( )
... 2 ordem
4
3 2
2
3 2
0
x
d y d y dy
x ye
dx
dx dx
1


=



( )
... 3 ordem
5
4 3 2
4 3 2
0
d y d y d y dy
xy
dx
dx dx dx
1


=



( )
... 4 ordem
Em geral, se tem N funes desconhecidas de uma nica varivel independente x, ( ), 1,...,
i
f x i N = :
( )
1 2
, ,..., ,
i
i N
dy
f y y y x
dx
= (13.1.2)
As equaes (13.1.2) podem ser representadas de forma vetorial, fazendo-se ( )
1
,...,
T
N
y y = y e
( )
1
,...,
T
N
f f = f , se tem
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
4
( ) ,
d
x
dx
=
y
f y (13.1.3)
Teorema 1: Seja a funo vetorial ( ) ,x f y diferencivel continuamente duas vezes em
alguma proximidade da soluo ( )
0
y x y = . Se a parte real de todos os seus autovalores ( ), 1,...,
j
x j n l =
da matriz jacobiana ( )
0
, y x
y
0
0
f for negativa, ento a soluo
0
y do sistema (13.1.3) assintoticamente
estvel.

Definio 3: Uma equao diferencial ordinria EDO - se chama equao diferencial
linear quando as derivadas envolvidas esto em uma combinao linear, com coeficientes genricos,
como:
( ) ( ) ( ) ( ) ( )
1 2
1 2 1
1 2
n n
n n n
n n
d y d y d y dy
a x a x a x a x y k x
dx
dx dx dx

= (13.1.4)
onde
1
, , ,
n
a a k . so funes da mesma varivel independente de ( ) y f x = e no mesmo domnio. Dizer,
portanto, que uma equao diferencial linear o mesmo que dizer que se temos duas solues ( )
1
y x
e ( )
2
y x de uma EDO, ento ( ) ( )
1 1 2 2
c y x c y x tambm soluo da equao, onde
1 2
, c c so constantes.
Pode trabalhar com EDO de ordem n ou transform-la em um sistema com n EDO de primeira
ordem.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
5
Exemplo
Seja a equao de Mathieus ( )
2
2
2 cos2 0
d y
p q x y
dx
= que descreve o fenmeno fsico caracterizado pelo
comportamento oscilatrio, incluindo a vibrao de um pndulo cujo piv sofre oscilaes verticais, a propagao de ondas
acsticas atravs de um cilindro elstico com seo transversal elptica, ou ainda oscilaes de pequena amplitude da
interface de um lquido que est sujeito a vibraes externas.
V-se que esta equao linear, mas um dos seus coeficientes harmnico da varivel independente x, com perodo igual a
p .
Fazendo
2
1
2
2
dy d y
y
dx
dx
= = pode-se reduzir a equao de Mathieus em duas EDOs de primeira ordem

( )
1
2
2
1
2 cos2
dy
y
dx
dy
p q x y
dx
'
1
1
=
1
1
1
!
1
1
= 1
1
1+
`

Pode-se trabalhar de forma similar com qualquer EDO de ordem n , reduzindo-a e um sistema de
EDO de primeira ordem, permitindo simplificar o escopo do trabalho em epgrafe.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
6
Quando uma EDO de n-sima ordem contiver funes no lineares das derivadas , 1,...,
k
k
d y
k n
dx
= , a
soluo das primeiras derivadas das funes intermedirias no sentido de obter as n EDO de primeira
ordem pode requerer a soluo ou inverso de equaes algbricas no lineares, por meio de mtodos
numricos.

Exemplo
Seja a equao ( )
2
2 2
4
2 2
exp ln 2 5 0
d y d y dy
x y x
dx
dx dx
1 1
1


=



( )
( ) ( )
. Reduzindo-a para um conjunto de EDOs de
primeira ordem, se tem:

( )
1
2
2
2 1 2
, ,
dy
y
dx
dy
f y y x
dx
'
1
1
=
1
1
1
!
1
1
= 1
1
1+
`
onde a funo
2
f precisa ser encontrada atravs da soluo da seguinte equao algbrica no-linear, para valores
especficos de
1 2
, , y y x :
( ) ( )
2 4 2
2 2 2 1
exp ln 2 5 0 f f x y y x =



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
7
Definio 4: A equao (13.1.4) define um operador linear
( ) ( ) ( ) ( )
1 2
1 2 1
1 2
n n
n n n
n n
d d d d
L a x a x a x a x
dx
dx dx dx

= (13.1.5)
denominado operador diferencial linear de ordem n.
Definio 5: Se em (13.1.4) a funo ( ) 0 k x = a respectiva equao diferencial linear
dita homognea; caso contrrio dito ser no-homognea.

Definio 6: Se em (13.1.4) as funes
1
, , ,
n
a a k . forem constantes a respectiva equao
diferencial linear dita ter coeficientes constantes.

Definio 7: Uma funo ( ) y f x = sobre algum intervalo I , a qual substituda na
equao diferencial ordinria a reduz a uma identidade, dita ser uma soluo da equao diferencial
ordinria no intervalo I .

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
8

Aqui se est interessado na soluo numrica de equaes diferenciais ordinrias; dessa forma, a
seguir, far-se- consideraes sobre aspectos relevantes das tcnicas numricas e suas condies de
aplicao na soluo de equaes diferenciais ordinrias, ou EDOs.
Em engenharia, em geral, a varivel independente x o tempo, tambm denotada por t , mas tambm
pode representar qualquer outra quantidade fsica, como uma coordenada espacial, etc. Assim uma
derivada do tipo
dy
dx
representa a variao da quantidade y em relao varivel x; representa
tambm a inclinao da tangente da funo ( ) y f x = no ponto x.
tambm verdade que, em geral, a modelagem da grande maioria dos problemas fsicos e de
engenharia leva a EDO de segunda ordem ou de ordem mais elevada; a segunda derivada, em geral,
associada ao conceito de acelerao.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
9
Um dos problemas a ser estudado aquele denominado de problema de valor inicial ou PVI:
Definio 8: Define-se o problema de valor inicial ou PVI, (ou ainda denominado de
problema de Cauchy) como um problema onde envolve uma EDO ou um sistema de EDOs sobre um
intervalo , I a b
l

l
, em que

( )
( )
0
, ,
d
f x x I
dx
a
=
=
y
y
y y
(13.1.6)
Quando as restries so impostas em ambos os extremos do intervalo , I a b
l

l
, isto , quando
existem valores impostos nos limites extremos do intervalo de validade de x, por exemplo, em ( ) y a e
( ) y b se tem um problema denominado de problema de valores de contorno.
Definio 9: Denomina-se problema de valores de contorno ou PVC quele problema
que envolve uma EDO ou um sistema de EDOs sobre um intervalo , I a b
l

l
, em que

( )
( )
( )
, ,
a
b
d
f x x I
dx
a
b
=
=
=
y
y
y y
y y
(13.1.7)
Quanto x o tempo, as equaes diferenciais (13.1.6) determinam o vetor velocidade de uma partcula
como funo de seu vetor posio y, e dessa forma elas definem um campo denominado campo de
velocidades.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
10
Exemplos:
Gerar um campo de velocidades para
2 2
2;2
1;
2;2
x
dy
x y
y dx
' l
1
l 1
=
!
l
1
1 l +
e para ( )
;
sin ;
;
x
dy
xy
y dx
p p
p p
' l
1
l 1
=
!
l
1
1 l +
.
Usando o Maple 10, com o seguinte comando:
with(plots):
gradplot( (x^2+y^2+1)^(1/2),x=-2..2,y=-2..2);
gradplot(sin(x*y),x=-Pi..Pi,y=-Pi..Pi,arrows=SLIM);
produz-se os seguintes grficos:












Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
11
Resolvendo os mesmos problemas no Matlab, se tem:
%PROGRAM 1
%=========
Cl c; cl ear ;
xmi n = - 2; hx = 0. 25; xmax = +2;
ymi n = - 2; hy = 0. 25; ymax = +2;
[ X, Y] = meshgr i d( xmi n: hx: xmax, ymi n: hy: ymax) ;
Z = ( X. ^2+Y. ^2+1) ^( 1/ 2) ;
[ DX, DY] = gr adi ent ( Z) ;
cont our ( X, Y, Z) ;
hol d on
qui ver ( X, Y, DX, DY, ' Mar ker Si ze' , . 2) ;
col or map hsv
hol d of f

%PROBLEMA 2
xmi n = - pi ; hx = 0. 2; xmax = +pi ;
ymi n = - pi ; hy = 0. 2; ymax = +pi ;
[ X, Y] = meshgr i d( xmi n: hx: xmax, ymi n: hy: ymax) ;
Z1 = si n( X. *Y) ;
[ DX, DY] = gr adi ent ( Z1) ;
f i gur e( )
cont our ( X, Y, Z1) ;
hol d on
%
qui ver ( X, Y, DX, DY, ' Mar ker Si ze' , . 2) ;
col or map hsv
hol d of f


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
12
As figuras geradas e apresentadas abaixo apresentam os campos de velocidade das funes dadas:



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
13
Em qualquer dos dois tipos de problemas acima definidos, a classe de mtodos que se discutira a
seguir exigir uma subdiviso do intervalo , I a b
l

l
num nmero finito de pontos, cujo conjunto , em
geral, denominado de grid, grelha ou malha enquanto a distancia entre esses pontos denominado de
espaamento ou passo:

0 0 0
0
0
0
: , ,..., ,...,
; ; ;
h n
n
n
i
I x x h x ih x
x x
a x b x h
n
x x ih
=

= = =
=

No caso apresentado acima, diz-se que o passo constante sobre , I a b
l

l
e a malha dita regular. No
caso em que
1 i i i
h x x

= for varivel em , I a b
l

l
, diz-se que a malha irregular.
A cada ponto i desse associado uma quantidade
i
u que aproxima o valor ( )
i i
y f x = o valor exato da
soluo neste ponto.
Definio 10: Ao conjunto dos valores
i
u se denomina de conjunto aproximao.
Em alguns mtodos as quantidades
i
u so determinadas de um conjunto de equaes (em geral no
algbricas) que aproximam, em algum sentido, ( )
i i
u y x . Essas equaes de aproximao so
chamadas de equaes de diferena.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
14
Os requerimentos naturais para as equaes de diferena se aproximem dos valores reais so aqueles
em que, para qualquer funo ( ) , f x y se tenha:
a) as funes ( ) , f x y pertenam a alguma classe de funes que sejam suficientemente
diferenciveis;
b) elas tenham uma soluo nica;
c) sua soluo, para passos, suficientemente pequenos, tendam para a soluo exata;
d) sua soluo seja efetivamente calculada.
As condies (a) e (b) acima so evidentes e triviais quando se tem esquemas explcitos. Quando elas
forem colocadas na forma implcita, a condio (b) precisa ser determinada por estudo das razes de
uma seqncia de equaes na forma ( ) z g z = .
A condio (c) esta associada questo de convergncia, de modo que,
0
i i i
h u y =
Por ultimo, a condio (d) est associada preciso do clculo e do erro de truncamento ou
arredondamento efetuado no clculo da soluo. Lembre-se que a questo do crescimento do erro
intimamente relacionado a questo de estabilidade das equaes de diferena.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
15

Quando em (13.1.2) [ ( )
1 2
, ,..., ,
i
i N
dy
f y y y x
dx
= ] a varivel x representar o tempo, ela assume a identidade
de equaes evolutivas provendo uma taxa de variao das variveis dependentes como funes de
seus valores instantneos no tempo. Assim, se tem:

( )
( )
1 2
, ,..., ,
, 1,...
i
i N
i i
dy
f y y y x
dx
y a i N h
=
= =
(13.1.8)
que um sistema dinmico.
Um mtodo numrico um conjunto de procedimentos construidos para realizar uma aproximao de um
problema analtico.
Definio 11: Um mtodo numrico dito ser convergente se,
( ) 0,1,..., ,
h n n
n N u y C h \ = _
Onde ( ) C h um infinitesimal com relao a h. O mtodo dito ser convergente de ordem p se
( ) 0|
p
C C h Ch = .
Definio 12: Se em (13.1.8) f no depende explicitamente da varivel x, ele dito
sistema autnomo; caso contrrio dito sistema no-autnomo.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
16
Na anlise da soluo de um sistema de equaes diferenciais ordinrias til introduzir-se o espao
de fases, n-dimensional, cujas coordenadas so os valores ( )
i i
y x j = . Essas equaes, ( )
i i
y x j = ,
descrevem uma curva denominada de orbita da soluo no espao de fases.
Exemplo:
Suponha que um sistema de duas EDO tenha a seguinte soluo numrica para as funes
1
y e
2
y , (usando Matlab):
x = [ 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0. 8 0. 9 1. 0] '
y1= [ 0. 499 0. 750 0. 750 0. 495 0. 008 - 0. 500 - 0. 750 - 0. 754 - 0. 499 - 0. 008 0. 498] '
y2= [ 1. 000 0. 850 0. 310 - 0. 250 - 0. 750 - 1. 000 - 0. 750 - 0. 250 0. 485 0. 751 1. 000] '
Construindo os grficos x y e
1 2
y y , por meio de uma rotina Matlab simples, se tem:
%PROGRAMA 2
cl c; cl ear ;
%vet or dos pont os x
x = [ 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0. 8 0. 9 1. 0] '
%vet or dos val or es da f uno y1 nos r espect i vos pont os x
y1= [ 0. 499 0. 750 0. 750 0. 495 0. 008 - 0. 500 - 0. 750 - 0. 754 - 0. 499 - 0. 008 0. 498] '
%vet or dos val or es da f uno y2 nos r espect i vos pont os x
y2= [ 1. 000 0. 850 0. 310 - 0. 250 - 0. 750 - 1. 000 - 0. 750 - 0. 250 0. 485 0. 751 1. 000] '
pl ot ( x, y1, ' r ' )
hol d
pl ot ( x, y2, ' b' )
f i gur e( 2)
pl ot ( y1, y2)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
17


Ilustrao 1: Grfico de x versus y

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
18
ILUSTRAO 2: RBITA Y1VERSUS Y2

V-se assim que a rbita mostrada na Ilustrao 2 acima representa um movimento virtual de uma
partcula num fluxo dentro do espao de fases, cujos valores so os pontos soluo das EDOs
( ) ( )
1 1 2 2
, y x y x j j = = .



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
19
Revisando o conceito de condio de Lipschitz
1
apresentado no volume 1(pag.75), considerando-se
que x X e y Y , define-se:
Definio 13: Seja a equao diferencial ( ) ,
dy
f
dx
= x y com condio inicial ( ) y =
0 0
x y ,
sendo a funo f definida e contnua em um espao que contenha o ponto ( ) ,
0 0
x y e verifica a
condio de contrao em relao y:
( ) ( )
1 2 1 2
: , , y f f r a r _ y y
isto ,
( ) ( )
2 2
, , f f a _
1 1
x y x y y y (13.1.9)
conhecida tambm por condio de Lipschitz. A constante a denominada de constante de Lipschitz.
Pode-se demonstrar que existe em um segmento d _
0
x x uma soluo, e somente uma soluo
( ) j = y x da equao diferencial dada, que verifica a condio inicial dada (Teorema de Picard):


1
Rudolfo Lipschitz (1832-1903).
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
20
A equao diferencial junto com a sua condio inicial equivalente equao integral
( ) ( ) ( )
0
0
,
x
x
f t t dt j j =
]
x y
Devido continuidade de f tem-se que ( ) , f a _ x y para um conjunto X Y A que contenha o
ponto ( )
0
,
0
x y . Seja 0 d de maneira que se cumpram as condies:
1) ( ) , x y A , sempre que , , d d a _ = _
0 0
x x y y
2) 1 d a <
Seja ento o espao
0
,
l
l
x x C das funes contnuas definidas no segmento ,
l
l 0
x x e tais que
( ) d j a _
0
x y com mtrica ( ) ( ) ( )
1 2 2
, max
x
r j j j j =
1
x x . Como o espao
0
,
l
l
x x C completo e
fechado, seja a aplicao L y j = definida por:
( ) ( ) ( ) , f t t dt y j =
]
0
x
0
x
x y
onde d _
0
x x . Esta aplicao transforma o espao completo
0
,
l
l
x x C em si mesmo e contrado
nele, pois satisfaz condio de contrao ou condio de Lipschistz. Com efeito, sejam , j
l

l 0
x x C e
0
d < x x . Nesse caso
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
21
( ) ( ) ( ) , f t t dt d y j a = _
]
0
x
0
x
x y
e, por conseguinte ( ) L , , C C
l l

l l 0 0
x x x x . Alm disso
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
1 2 1 2 1 2
, , max
x
f t t f t t dt d y y j j a j j _ _
]
0
x
x
x x x x
Posto que 1 d a < , a aplicao L contrada e ( ) j = y x soluo nica da EDO no segmento
d _
0
x x .
Recomenda-se realiza uma reviso dos conceitos estabelecidos no captulo 2 do volume 1deste livro,
em particular dos itens 2.7 a 2.9.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
22
Definio 14: Um PVI tipo (13.1.6) dito ser um problema bem posto se
a) existir um soluo nica, ( ) ( ) y x x j = , e
b) existirem constantes
0
0 e e 0 k tais que para qualquer
0
0 e e , ( ) x d contnua
com ( ) , , x x a b d e
l
< \
l
, e quando
0
d e < , o PVI
( ) ( ) ( )
0 0
, , , ,
dz
f x z x x a b z a y
dx
d d
l
= =
l

c) tiver soluo nica ( ) z x que satisfaz a condio ( ) ( ) , , z x y x x a b ae
l
< \
l
.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
23
Definio 15: O PVI
( ) ( ) ( )
0 0
, , , ,
dz
f x z x x I a b z a y
dx
d d
l
= =
l
(13.1.10)
denominado de problema perturbado associado ao problema de Cauchy ou PVI original (13.1.6),
( ) ( )
0
, , ,
dy
f x y x I y a y
dx
= = , no qual se admite a possibilidade de um erro ( ) x d ter sido introduzido
na EDO, bem como um erro
0
d introduzido nas condies iniciais.
Como I um conjunto limitado, o problema de Cauchy (13.1.6) estvel no sentido de Liapunov (ou
simplesmente estvel) sobre I se, para qualquer perturbao ( ) ( )
0
, x d d satisfaz a
( )
0
, x x I d e d e < < \ , onde 0 e suficientemente pequeno para garantir que a soluo do
problema perturbado exista e mais,
( ) ( ) 0 , C y x z x C x I e < \ (13.1.11)
A constante C depende, em geral, dos dados do problema
0 0
( ), , a oudex y f , mas no de e.
Se I no tiver limite superior diz-se que (13.1.6) assintoticamente estvel se, como na estabilidade de
Liapunov em qualquer intervalo I , o seguinte limite permanece vlido:
( ) ( ) 0, y x z x x = (13.1.12)
considerando-se que ( ) lim 0
x
x d

= .
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
24
Teorema 2: Supondo ( ) ( ) , | , , x y x a b
l
\ =
l
y e se f for contnua e satisfaz a
condio de Lipschitz na varivel y sobre o conjunto \, ento o PVI
( ) ( )
0
, , , ,
d
f x x a b a
dx
l
= =
l
y
y y y (13.1.13)
um problema bem posto.
Exemplo
Verificar se o PVI com a EDO
2
1
dy
x y
dx
= bem posto em ( ) ( ) , | 0,1 , x y x y
l
\ =
l
, com
( ) 0 1 y = .
Primeiramente tem-se que verificar se a funo ( )
2
, 1 f x y x y = satisfaz a condio de Lipschitz sobre
( ) ( ) , | 0,1 , x y x y
l
\ =
l
. Assim,
2
f
x
y
a
0
= _
0
, donde a a constante de Lipschitz. Logo, para
1 2
y y < se tem,
( ) ( )
2 2 2
2 1 2 1 2 1 2 1
, , 1 1 1 f x y f x y x y x y x y y y y = _ =
Com constante de Lipschitz igual a 1, o que satisfaz a condio
2
f
x
y
a
0
= _
0
e f contnua. Aplicando-se o teorema
acima, v-se que o PVI bem-posto.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
25
A soluo de um PVI (13.1.13) pode ser considerada uma funo ( )
0
, x y y , onde
0
y o vetor de
condies iniciais. Como a soluo genrica uma famlia de curvas que dependem de
0
y , ento
qualquer distrbio ou erro
0
e em
0
y ,
0 0 0
= u y e , forar a soluo desejada se desviar para outra
curva na famlia de solues. Como normalmente os mtodos de soluo de um PVI so iterativos
(mtodos de passo nico, etc.), tem-se uma seqncia da forma na qual, para se determinar
1 n
y se
depende de
n
y para 0,1,2, n = ..
Se em cada passo for cometido algum distrbio (arredondamento, truncamento, etc.), vai-se
produzindo um caminho forado para outra soluo que no a desejada. Portanto, preciso muito
cuidado na questo do controle de propagao de erros.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
26
Definio 16: Denomina-se erro global de uma aproximao em um ponto
1 i
x


quantidade
( )
1 1 i i
x

= u y (13.1.14)
onde ( )
1 i
x

y a soluo exata da EDO no ponto


1 n
x

para o PVI, e ( )
1 1 i i
u y x

~ uma aproximao
dessa valor, obtido por qualquer processo de aproximao.

Definio 17: Denomina-se erro local de truncamento ou erro de discretizao de uma
aproximao em um ponto
1 i
x

diferena entre o valor calculado


1 i
y e o valor em
1 i
x

da soluo da
EDO que passa atravs do ponto ( ) ,
i i
x y :
( )
1 1 1 i i i
x t

= y u (13.1.15)

Definio 18: Denomina-se erro relativo local de truncamento a relao
1 i
h t

cuja
expresso completa :
( )
1
1
,
i i
i i i
E f x
h

=
u u
y (13.1.16)

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
27
Lema 1: Para todo nmero real z R , a relao abaixo verdadeira:
1
z
z e _ (13.1.17)
Demonstrao:
Uma vez que a funo
z
e contnua e tem derivadas contnuas de toda ordem, pelo Teorema de Taylor se tem:

2
1 , 0 1
2!
z z
z
e z e
q
q = < <
O ltimo termo do lado direita da expresso acima no negativo e se anula apenas para 0 z = , e assim est
demonstrado o lema.
Um corolrio deste lema ,

Corolrio: Para todo z C tal que 1 0 z _ , ento
( ) 0 1 , 0
n
nz
z e n _ _ _ (13.1.18)
Nos teoremas que se apresentam a seguir, considerar-se- que
f
y
a
0
_
0
para todo ( ) , x y em alguma
regio \ onde ( ) , x a b

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
28
Teorema 3: A desigualdade que segue permanece vlida se a for negativo:
( ) ( )
( ) ( )
, ,
x a
u x u a e x a b
a
l
_
l
(13.1.19)
Teorema 4: Seja ( )
i
y x perturbada por uma quantidade
i
e . O efeito deste distrbio
sobre no exceder a

( ) ( )
i
x x
i
e
a
e

(13.1.20)
E mais, no entorno de
i
x garantido que a curva soluo perturbada permanece em \
.

Teorema 5: Supondo que em uma soluo passo-a-passo, a magnitude do erro local t
nos pontos , 1,2,
i
x i = sejam menores que z . Ento o erro global satisfazer a seguinte inequao:
( )
1
, 1,2,
1
ih
i i i
h
e
u y x i
e
a
a
t z

= _ =

.
Alm do mais, se 0 a ou se 1 h a ento
( )
1
, 1,2,
ih
i i i
e
u y x i
h
a
z
t
a

= _ = . (13.1.21)
E se 0 a = se tem
( ) , 1,2,
i i i
u y x i i t z = _ = . (13.1.22)

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
29
Generalizando os trs teoremas acima para um sistema de EDOs, deve-se trocar a condio
f
y
a
0
_
0

para todo ( ) , x y em alguma regio \, pela condio
( ) , ,
d
x y
d
m a
1

_ \ \



( )
f
y

Onde \ uma regio ( ) 1 N -dimensional, e onde ( ) m- a norma matricial logartmica, definida por:

Definio 19: Seja - denotar alguma norma vetorial e sua norma matricial subordinada.
Ento a norma subordinada de uma matriz A uma norma logartmica se for dada por,
( )
0
1
lim
e
e
m
e

=
I A
A (13.1.23)


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
30

13.2 Integrao de EDO com auxilio de Series
Este mtodo apresenta duas maneiras de solucionar as EDO. Uma o mtodo das diferenciaes
sucessivas e a outra o mtodo dos coeficientes indefinidos. O primeiro mtodo bastante simples; o
segundo se presta para solucionar EDO lineares com coeficientes variveis. Verificar-se- que estes
mtodos no so prticos para programar em procedimentos computacionais em computadores
digitais, mas as suas apresentaes tm o carter pedaggico de aprender como resolver EDOs.
A seguir apresentar-se- ambos os mtodos de maneira bem explicita.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
31
13.2.1 Mtodo das Diferenciaes Sucessivas
Seja o PVI com uma EDO de n-sima ordem

( )
( )
1
1
1
, , , ,
, , ', ,...,
n n
n n
n
d y dy d y
f x y
dx
dx dx
f x y y y y

1


=



( )
=
.
(13.2.1)
sujeita as condies iniciais

( )
( )
( )
( )
( )
0 0
'
0 0
1 1
0
'
n n
o
y x y
y x y
y x y

=
=
=

(13.2.2)
onde
( ) 1
'
0 0
, , ,
n
o
y y y

so nmeros dados.
Supondo que a funo ( ) y y x = possa ser expandida em serie de Taylor em potencias da diferena
( )
0
x x , se tem,
( ) ( )
( )
( )
( )
( )
( )
( )
( )
2
0 0 0
0 0 0 0
'
1! 2! !
n
n
y x y x y x
y x y x x x x x x x
n

= (13.2.3)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
32
As condies iniciais (13.2.2) nos do diretamente os valores de
( )
( )
0
, 0,1,2, , 1
i
y x i n = . . O valor de
( )
( )
0
n
y x determinado diretamente de (13.2.1) substituindo-se
0
x x = e usando as condies iniciais.
Assim,

( )
( )
( )
( )
1
0 0 0 0 0 0
, , ' , ,...,
n n
y x f x y y y y

=
Os valores de
( )
( )
( )
( )
1 2
0 0
, ,...
n n
y x y x

so determinados por diferenciao sucessiva da equao (13.2.3)
e substituindo
( )
( )
( )
0 0 0
, , 0,1,2,...
k k
x x y x y k = = = como indicado nas equaes (13.2.2).
Se o mtodo for aplicado a um sistema de EDO com PVI, deve-se proceder aos procedimentos
simultaneamente em todas as equaes do sistema.
Exemplo
Encontre os sete primeiros termos da expanso em serie da soluo ( ) y f x = dada pelo PVI:
( ) ( )
( )
( )
2
0 1
0.1 1 0.1 0,
0 2
y
y y x y com
y
'
= 1
1
=
!
1 =
1
+
(13.2.4)
Soluo:
Desenvolvendo uma serie de Taylor para uma funo genrica ( ) y f x = em torno do ponto zero, se tem um serie similar a
(13.2.3):
( ) ( )
( )
( )
( )
( )
( )
( )
( )
2
0 0 0
0 0 0 0
'
1! 2! !
n
n
y x y x y x
y x y x x x x x x x
n

=
Aplicando-se as condies iniciais, ( ) ( )
0 0 0
0, 1, ' 2 x y x y x = = = , se obtm:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
33

( ) ( )
( )
( )
( )
( )
( )
2
0 0
0 0 0
2
0
'
1! 2!
1
1 2
2
y x y x
y x y x x x x x
x y x x

=
=
(13.2.5)
De (13.2.4) tira-se o valor de y :
( ) ( )
2
0.1 1 0.1 y y x y = (13.2.6)
Usando novamente as condies iniciais, tem-se

( ) ( ) ( ) ( ) ( )
( )
2
0 0
2
0 0.1 1 0.1
0.1 2 1 0.1 0 1
0.4 1
1.4
y y x x y x =
=
=
=

Tomando-se (13.2.6) e diferenciando-se sucessivamente se obtm

( )
0.2 0.1 0.1
0.2 0.1
y y y y xy y
y y xy y y
=
=


( )
( )
( )
( )
( )
2
4
2
0.2 0.2 0.1 0.1 0.1
0.2 0.1 1.1
y y y y y xy y y
y y y xy y y
=
=


( ) ( ) ( )
( )
( )
( )
( )
5 4 4
4 4
0.2 0.2 0.4 0.1 0.1 0.1 0.1
0.2 3 0.1 1.2
y y y y y y y y xy y y y
y y y y xy y y
=
=


( ) ( ) ( ) ( )
( )
( )
( )
( ) ( ) ( ) ( )
( ) ( )
( )
( )
( )
( )
( )
2 2
6 5 4 4 4
4 5 4 4
2
5 4 5 4
0.2 0.2 0.2 0.2 0.4 0.4
0.1 0.1 0.2 0.1
0.2 4 3 0.1 1.3
y y y y y y y y y y y
y xy y y y
y y y y y xy y y
=

=

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
34
Aplicando-se as condies iniciais, encontra-se sucessivamente,

( )
( )
( )
4
5
6
1.54
1.564
0.0688
1.5780
y
y
y
y
=
=
=
=

Levando esses resultados na equao (13.2.3), se tem:

( ) ( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
3
2 3
0 0 0
0 0 0 0
4 5 6
4 5 6
0 0 0
0 0 0
2 3 4 5 6
2 3 4 4 5 6
'
1! 2! 3!
4! 5! 6!
2 1.4 1.54 1.564 0.0688 1.5780
1
1 2 6 24 120 720
1 2 0.7 0,2566 0.06517 5.733 10 0.0021917
y x y x y x
y x y x x x x x x x
y x y x y x
x x x x x x
x x x x x x
x x x x x x

=


=
=

que o resultado que se procurava.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
35
13.2.2 Mtodo dos Coeficientes Indefinidos
Como j citado anteriormente, este mtodo recomendado para a soluo de EDO lineares com
coeficientes variveis.
Para se expr o mtodo, dar-se- um exemplo genrico com um PVI de segunda ordem. Assim, seja a
EDO:
( ) ( ) ( ) ( ) ( )
0 0
, 0 , 0 y p x y q x y r x comy y y y = = = (13.2.7)
Considerando-se que cada coeficiente da equao (13.2.7) possa ser desenvolvido em serie, se tem
respectivamente,

( )
( )
( )
0
0
0
n
n
n
n
n
n
n
n
n
p x p x
q x q x
r x r x

=
=
=
=
_
_
_
(13.2.8)
Assim, a soluo ( ) y x tambm ter a forma de uma srie:
( )
0
n
n
n
y x a x

=
=
_
(13.2.9)
onde
n
a so os coeficientes a serem determinados.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
36
Tomando (13.2.9) e diferenciando tantas vezes quanto for a ordem da equao (13.2.7), que neste caso
de segunda ordem, se tem

( )
( ) ( )
1
1
2
2
1
n
n
n
n
n
n
y x na x
y x n n a x

=
=
=
_
_
(13.2.10)
Levando-se (13.2.8), (13.2.9), (13.2.10) em (13.2.7), obtm-se
( )
2 1
2 0 1 0 0 0
1
n n n n n n
n n n n n n
n n n n n n
n n a x p x na x q x a x r x


= = = = = =
=
_ _ _ _ _ _
(13.2.11)
Multiplicando-se as series e igualando os termos correspondentes do lado esquerdo com os do lado
direito, obtm-se o seguinte sistema:

( ) ( ) ( )
0
2 1 0 0 0 0
1
3 2 0 1 1 1 0 0 1 1
2
4 3 0 2 1 1 2 2 0 1 1 0 2 2
2 1 1 1 0
2
3 2 2
4 3 3 2
2 1 , , , , ,
n
n n n n n
x a a p a q r
x a a p a p aq a q r
x a a p a p a p a q aq a q r
x n n a L a a a a a r

=
=
=
=
. . . . . .
.
(13.2.12)
Onde ( )
1 1 1 0
, , , , ,
n n n
L a a a a a

. a notao de uma funo linear com argumentos
1 1 1 0
, , , , ,
n n n
a a a a a

. .
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
37
Cada equao de (13.2.12), olhando e cima para baixo, tem uma incgnita a mais que a anterior. Os
coeficientes
0 1
, a a so determinados pelas condies iniciais, enquanto que as restantes sero
determinadas sucessivamente.
Note-se que se o ponto das condies iniciais no for o zero e sim um ponto qualquer
0
x , ento
necessrio que se faa a substituio
0
x x z = , reduzindo-se o PVI para outro semelhante ao descrito
acima.
Exemplo
Ache a soluo do PVI abaixo na forma de uma serie de potencias de x:
( ) ( ) 2 12, 0 5, 0 2 y xy y comy y = = = (13.2.13)
Soluo
A soluo procurada do tipo (13.2.9):
( )
0
n
n
n
y x a x

=
=
_

Logo, a exemplo do que se fez no exemplo anterior (13.2.10), se tem:

( )
( ) ( ) ( )
1 2 1
1 2 3
1
2 2 2
2 3 4
2
2 3 ... ...
1 2 2 3 3 4 ... 1 ...
n n
n n
n
n n
n n
n
y x na x a a x a x na x
y x n n a x a a x a x n n a x


=
= =
= =
_
_

Substituindo-se as sries acima na equao (13.2.13) e arrumando os coeficientes de mesma potencia de x em ambos os
membros dela, se tem:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
38

( ) ( ) ( )
0
2 0
1
3 1
2
4 2
3
5 3
2
2 2 12
3 2 3 0
4 3 4 0
5 4 5 0
2 1 2 0
n
n n
x a a
x a a
x a a
x a a
x n n a n a

=
=
=
=
=
. .

Aplicando as condies iniciais, encontra-se

( )
( )
( )
( )
0 1
1
2 0 3
2 3 1
4 5
4 5
6 7
7 6
8 9
1
2 2 2 1
2 2 1
1,2,... 1,2,...
5 2
6 1
2
1 2
3 3 4 2 4 2 4
1 2
5 3 5 6 2 4 6
1 2
7 3 5 7 8 2 4 6 8
1 1 2
2 1 2 1 2 2
k k
k k
k k
k k
a a
a
a a a
a a a
a a
a a
a a
a a
a a
a a
a a
k k k k

= =
= =
= = =
= = = = =

= = = =

= = = =


= = = =

] ]
.

Logo, a soluo requerida (lembrando que a soluo em serie s possvel, quando, como neste caso, as series dos
coeficientes sejam convergentes):
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
39
( )
( )
( )
( )
( )
1
2 2 1
1 1
1,2,..., 1,2,...,
1 1 2
5 2 2
2 1 2
k k
k k
k k
i k i k
y x x x x
i i

= =
= =
1 1






=




( ) ( )
_ _
] ]


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
40
13.3 Mtodo de Euler ou de Euler-Cauchy
13.3.1 O Mtodo de Euler
O mtodo de Euler
2
ME - uma tcnica numrica para resolver equaes diferenciais ordinrias
EDO - da forma:
( ) ( ) ( )
0
, , , , ,
d
x y a x C a b
dx
l
= =
l
y
f y y f y (13.3.1)
Dessa forma uma nica EDO pode ser resolvida usando-se o mtodo de Euler - ME. Mais adiante,
discutir-se- a aplicao do ME para EDOs de alta ordem ou equaes diferenciais acopladas.
Portanto, o problema est em si estimar ( ), 0,1,...,
i
y x i N = onde os
i
x esto igualmente espaados no
intervalo , a b
l
l
. Assim, primeiramente, si constri uma malha de N pontos igualmente espaados;
determinando-se o passo ou distancia entre os pontos h b a N = ter-se-
i
x a ih = .
O ME aproxima, ento, os valores de ( )
i
y u x y
i i
~ = , fazendo-se primeiro ( )
0 0
y x y = , onde
0
y
conhecido; em seguida determinam-se os valores aproximados
1 2
, ,... y y para os valores exatos
( ) ( )
1 2
, ,... y x y x por aproximao da derivada nos pontos ( ) ,
i i
x y usando-se a primeira diferena finita, ou
o Teorema de Taylor (aqui se usa a notao
i
u y
i
= como uma aproximao de ( )
i
y x de maneira
indistinta):

2
Leonhar Euler, 1707-1783
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
41
( ) ( )
( )
( )
2
1
1 1 1 1
...,
2
i i
i i i i i i i i i
x x
u y y x x y x y x x x x

= = < <
Como se sabe, o passo entre dois pontos vizinhos h, logo
1 i i
x x h

= . Assim,
( ) ( )
2
1 1
...,
2
i i i i i i
h
y y hy x y x x x x

= < <
Por (13.3.1) se v que ( ) , y f x y = logo ( ) ,
i i i
y f x y = , ( ) ,
i i i
y f x y = , e assim por diante; levando essas
definies na expresso acima se tem:

( ) ( )
( ) ( )
2
1 1
1
, , ...,
2
, , ..., 0,1,..., 1
2
i i i i i i i i
i i
i i i i
h
y y hf x y f y x x
y y
h
f x y f y i N
h
x x
x

= < <

= =

Pelo ME se deseja estabelecer uma expresso ou frmula de iterao que se calcule as aproximaes
i i
u y ~ . Assim, na expresso acima, desprezando-se os termos de
( )
2
O h e superiores (erro por
truncamento local), se pode inferir a frmula de recurso:
( )
1 1 0 0
, , , 0,1,..., 1
i i i i i
u u hf x u h u y i N t

= = = (13.3.2)
Onde , , 0,1,...,
i i
u y i i N ~ \ = . O erro local por truncamento cometido dado por (13.1.16),
1 i
t

, e da
ordem de
( )
2
O h , podendo ser expresso assim:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
42

( )
( ) ( )
( )
1 2
1
1 1
, ,
, ...
2! 3!
,
i i i i i i
i i i
i i i i i
f x u f x u u u
f x u h h
h
ou
u u hf x u h
t
t

= =
=
(13.3.3)
Lembre-se que (13.3.2) vlida se ( ) , f x y for contnua em x em alguma regio , S C a b
l

l
e satisfaz a
condio de Lipschitz na varivel y :

( ) ( ) ( )
( ) ( ) ( )
* *
* *
, , , ,
, , , ,
f x y f x y y y x y S
ou
f x y f x y y y x y S
a
a
_ \
_ \
(13.3.4)
Onde - alguma norma, e mais,
, constante
df f f
f M M
dx x y
0 0
= _ =
0 0
(13.3.5)
O mtodo de Euler tambm pode ser aplicado a PVI com sistemas de EDO de primeira ordem.
Observe que quando as EDO envolvidas forem complicadas e no lineares este mtodo, em geral,
falha.
Para aplicar o ME deve-se sempre reescrever as equaes dadas para a forma (13.3.1). Seja o exemplo a
seguir.


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
43
Exemplos
1. Escrever ( ) 2 1.3 , 0 5
x
dy
y e y
dx

= = na forma
0
( , ), (0)
dy
f x y y y
dx
= = .
Soluo
( ) 2 1.3 , 0 5
x
dy
y e y
dx

= =
( ) 1.3 2 , 0 5
x
dy
e y y
dx

= =
Neste caso, se tem ( ) , 1.3 2
x
f x y e y

= .

2. Reescrever ( )
2 2
2sin(3 ), 0 5
y
dy
e x y x y
dx
= = na forma
0
( , ), (0)
dy
f x y y y
dx
= = .
Soluo
( )
2 2
2sin(3 ), 0 5
y
dy
e x y x y
dx
= =
( )
2 2
2sin(3 )
, 0 5
y
x x y dy
y
dx
e

= =
Neste caso se tem ( )
2 2
2sin(3 )
,
y
x x y
f x y
e

= .
3. Uma bola a 1200K est sendo resfriada no ar em um ambiente cuja temperatura de 300K . Considerando que o calor
perdido apenas devido radiao, a equao diferencial para a temperatura da bola dada por
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
44

( ) ( )
12 4 8
2.2067 10 81 10 , 0 1200K
d
dt
q
q q

= =
Onde a temperatura q est em K e o tempo t em segundos. Ache a temperatura em 480 t s = usando o mtodo de
Euler. Considerar um passo de 240 h s = .
Soluo

( )
12 4 8
2.2067 10 81 10
d
dt
q
q

=
( ) ( )
12 4 8
, 2.2067 10 81 10 f t q q

=
Face (13.3.2) o mtodo de Eulers se reduz a ( )
1
,
i i i i
f t h q q q

=
Para
0 0
0, 0, 1200 i t q = = = , ( )
1 0 0 0
, 106.09 f t h K q q q = =
Para
1 1
1, 240, 106.09 i t q = = = , ( )
2 1 1 1
, 110.32 f t h K q q q = =
Esta a soluo numrica usando o ME para um passo de tamanho 240 h = .
A soluo exata da equao diferencial dada por uma equao no linear:

( )
1 2 3
300
0.92593ln 1.8519tan 0.333 10 0.22067 10 2.9282
300
t
q
q
q


A soluo desta equao no linear para t=480 647.57K q =

Resolvendo novamente o problema utilizando um passo menor, se tem o resultado mostrado na tabela abaixo:




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
45
passo, h ( ) 480 q ( )
1 1 n exata n
x q q

=
%
| | % e
480
240
120
60
30
-987.81
110.32
546.77
614.97
632.77
1635.4
537.26
100.80
32.607
14.806
252.54
82.964
15.566
5.0352
2.2864

A tabela apresentada acima mostra como a temperatura em 480K t = varia como uma funo do tempo para passos de
diferentes tamanhos.
O erro por truncamento cometido em cada passo dado por (13.3.3). O erro relativo de truncamento,
%
| | % e , a razo
entre o erro de truncamento (a diferena entre o valor achado pelo ME e o valor real) e o valor real.
Sabe-se que o erro de truncamento local da ordem de
2
h , isto , se reduzir o passo por dois, reduzir-
se-ia o erro de truncamento por quatro. Mas no o que se v na tabela anterior. Isto devido a que o
erro verdadeiro global devido ao truncamento proporcional apenas ao tamanho do passo; mas esse
um assunto que se tratar no prximo tpico.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
46
13.3.2 Algoritmo para o Mtodo de Euler
Nesta seo se desenvolver um algoritmo computacional para o ME e sua implementao no Matlab.
O algoritmo ser relativo soluo do PVI
( ) ( ) , , , ,
a
y f x y x a b y a y
l = =
l

Com um grid com 1 N pontos no intervalo a x b _ _ .
Algoritmo Mtodo de Euler: PVI com uma nica equao:
Ent r ar comos pont os f i nai s a e b;
Ent r ar como nmer o de i nt er val os, N;
Ent r ar coma condi o i ni ci al ya;
Cal cul ar o passo h = ( a- b) / N; ;
Fazer x=a, u=ya;
I mpr i ma x, u;
Par a i =1, 2, . . . , N f aa
u = u + h. f ( x, u) ;
x = a + i h;
i mpr i ma x, u;
f i mf aa

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
47
Sua implementao em Matlab
%PROGRAMA 3
f unct i on [ x, u] = eul er _pvi 1( a, b, n, ya)
f = @( x, y) y- x^2+1; - - def i na aqui a f uno f ( x, y)
x = zer os( 1, n+1) ; u = zer os( 1, n+1) ; h = ( b- a) / n;
x( 1) = a;
u( 1) = ya;
f or i =2: n+1
u( i ) = u( i - 1) + h*f ( x( i - 1) , u( i - 1) ) ;
x( i ) = a + ( i - 1) *h;
end
r et ur n
Exemplo:
Aplicar o mtodo de Euler para solucionar o PVI:
( )
2
1, 0,2 , 0 0.5
dy
y x x y
dx
l
= =
l

Cuja soluo exata ( ) ( )
2
1 0.5
x
y x x e = . Aplique primeiramente para 10 N = e depois para 50 N = . Faa uma
tabela comparativa para cada caso, contendo os valores aproximados ( ) ( )
i i
u x y x ~ , os valores exatos ( )
i
y x e o erro
definido como o valor absoluta da diferena entre eles.
Soluo
Independente do algoritmo j desenvolvido acima, se programou a soluo por um programa especfico em Matlab, como o
descrito abaixo:

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
48
%PROGRAMA 4
%==================================================
%=== Test e Eul er par a PI V comuma ni ca equao ===
%==================================================
cl ear ;
cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
a = 0; b = 2; n = 10; ya = 0. 5;
%
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%
x = zer os( 1, n+1) ;
y = zer os( 1, n+1) ;
yex = zer os( 1, n+1) ;
er r o = zer os( 1, n+1) ;
%
h=( b- a) / n;
f or i =1: n+1
x( i ) = a+( i - 1) *h; %det er mi na os pont os
i f i ==1
y( i ) =ya; %det er mi na u( i )
el se
y( i ) = y( i - 1) +h*f ( x( i - 1) , y( i - 1) ) ;
end
yex( i ) = exat a( x( i ) ) ; %val or exat o da sol uo
er r o( i ) = abs( yex( i ) - y( i ) ) ; %det er mi nao do er r o
end
f pr i nt f ( ' \ n=== Tabel a do Pr obl ema PVI por Eul er par a N=%g ===\ n' , n) ;
f or i =1: n+1
f pr i nt f ( ' x= %4. 2f u( %3. 2f ) = %8. 5f y( %3. 2f ) = %8. 5f er r o= %8. 5f \ n' , . . .
x( i ) , x( i ) , y( i ) , x( i ) , yex( i ) , er r o( i ) ) ;
end
f i gur e;
pl ot ( x, y, ' - . r ' ) ; hol d on;
pl ot ( x, yex, ' - b' ) ;
t i t l e( ' Sol uo de PVI pel o Mt odo de Eul er ' ) ;
l egend( ' Eul er ' , ' Exat a' ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
49
Para N=10, se tem:
===Tabela do Problema PVI por Euler para N=10 ===
x=0.00 u(0.00)= 0.50000 y(0.00)= 0.50000 erro= 0.00000
x=0.20 u(0.20)= 0.80000 y(0.20)= 0.82930 erro= 0.02930
x=0.40 u(0.40)= 1.15200 y(0.40)= 1.21409 erro= 0.06209
x=0.60 u(0.60)= 1.55040 y(0.60)= 1.64894 erro= 0.09854
x=0.80 u(0.80)= 1.98848 y(0.80)= 2.12723 erro= 0.13875
x=1.00 u(1.00)= 2.45818 y(1.00)= 2.64086 erro= 0.18268
x=1.20 u(1.20)= 2.94981 y(1.20)= 3.17994 erro= 0.23013
x=1.40 u(1.40)= 3.45177 y(1.40)= 3.73240 erro= 0.28063
x=1.60 u(1.60)= 3.95013 y(1.60)= 4.28348 erro= 0.33336
x=1.80 u(1.80)= 4.42815 y(1.80)= 4.81518 erro= 0.38702
x=2.00 u(2.00)= 4.86578 y(2.00)= 5.30547 erro= 0.43969

Soluo do PVI pelo mtodo de Euler, para N=10
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
50
Agora reaplicando para N=50 se tem:
===Tabela do Problema PVI por Euler para N=50 ===
x=0.00 u(0.00)= 0.50000 y(0.00)= 0.50000 erro= 0.00000
x=0.04 u(0.04)= 0.56000 y(0.04)= 0.56119 erro= 0.00119
x=0.08 u(0.08)= 0.62234 y(0.08)= 0.62476 erro= 0.00242
x=0.12 u(0.12)= 0.68697 y(0.12)= 0.69065 erro= 0.00368
x=0.16 u(0.16)= 0.75388 y(0.16)= 0.75884 erro= 0.00497
x=0.20 u(0.20)= 0.82301 y(0.20)= 0.82930 erro= 0.00629
x=0.24 u(0.24)= 0.89433 y(0.24)= 0.90198 erro= 0.00765
... ... ... ... ... ... ... ... ... ...
x=1.56 u(1.56)= 4.10076 y(1.56)= 4.17419 erro= 0.07343
x=1.60 u(1.60)= 4.20745 y(1.60)= 4.28348 erro= 0.07603
x=1.64 u(1.64)= 4.31335 y(1.64)= 4.39202 erro= 0.07867
x=1.68 u(1.68)= 4.41830 y(1.68)= 4.49962 erro= 0.08133
x=1.72 u(1.72)= 4.52213 y(1.72)= 4.60614 erro= 0.08400
x=1.76 u(1.76)= 4.62468 y(1.76)= 4.71138 erro= 0.08670
x=1.80 u(1.80)= 4.72577 y(1.80)= 4.81518 erro= 0.08941
x=1.84 u(1.84)= 4.82520 y(1.84)= 4.91733 erro= 0.09214
x=1.88 u(1.88)= 4.92278 y(1.88)= 5.01765 erro= 0.09487
x=1.92 u(1.92)= 5.01831 y(1.92)= 5.11592 erro= 0.09761
x=1.96 u(1.96)= 5.11159 y(1.96)= 5.21194 erro= 0.10035
x=2.00 u(2.00)= 5.20239 y(2.00)= 5.30547 erro= 0.10308
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
51
Soluo do PVI pelo mtodo de Euler, para N=50
Note que medida que o numero de pontos do grid aumenta, o passo diminui e a tendncia de erro tambm diminui.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
52
Ver-se- agora exemplos da aplicao do mtodo de Euler no caso de um sistema de equaes
diferenciais ordinrias de primeira ordem. Em geral, quando se tem PVI com uma EDO de ordem n,
pode-se convert-la em n equaes diferenciais de primeira ordem.
Algoritmo Mtodo de Euler: PVI com duas equaes
Um PVI com duas EDO de primeira ordem do tipo

( ) ( )
( ) ( )
1 0 0
2 0 0
, , ,
, , ,
y f x y z y x y
z f x y z z x z
= =
= =

Assim, usa-se formulas de ME para aproximar os valores reais das funes , y z :

( )
( )
1 1
1 2
, ,
, ,
0,1,...
i i i i i
i i i i i
y y hf x y z
z z hf x y z
i

=
=
=
(13.3.6)
Exemplo 1
Resolver o PVI pelo mtodo de Euler:
( ) ( ) 0, 1 0.77, 1 0.44, 1, 1.5
y
y y y y x
x

l
= = = =
l
l

Soluo
Como o PVI dado de segunda ordem, deve-se convert-lo em duas EDO de primeira ordem, assim faz-se
, y z y z = =
Com isso o PVI dado se transforma em
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
53

( )
( )
, 1 0.77
1 0.44
y z y
z
z y z
x
= =
= =

Para se aplicar (13.3.6) se tem
( )
( )
1
2
, ,
, ,
f x y z z
z
f x y z y
x
'
= 1
1
1
!
1
=
1
1
+

Desenvolvendo um algoritmo em Matlab para resolver o problema dado, com diversos passos, comeando com h e depois
com / 2 h , / 3 h e assim sucessivamente at e imprimindo uma tabela com os resultados em cada
i
x . Como o passo h
depende do nmero de pontos ( 1 N ) ento o algoritmo far o nmero de passos no segmento de validade da EDO variar
de N at
2
N , variando de N em N . Assim, se tem:
%PROGRAMA 5
%=============================================================
%=== Mt odo Eul er par a PI V comduas EDOs de pr i mei r a or dem===
%=============================================================
cl ear ; cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - - - - - - -
f 1 = @( x, y, z) z;
f 2 = @( x, y, z) - ( z/ x) - y;
%- - - def i ni o do i nt er val o, numer o de pont o - - -
a = 1; b = 1. 5; n = 5;
%- - - def i ni o das condi es i ni ci ai s - - - - - - - - -
ya = 0. 77; za = - 0. 44;
%
x = zer os( n*n+1, n) ; y = zer os( n*n+1, n) ; z = zer os( n*n+1, n) ;
%
j = 0;
f or k = n: n: n^2
j = j + 1; h=( b- a) / k;
f or i =1: k+1
x( i , j ) = a+( i - 1) *h; %det er mi na os pont os
i f i ==1
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
54
y( i , j ) = ya; %det er mi na u( i )
z( i , j ) = za;
el se
y( i , j ) = y( i - 1, j ) +h*f 1( x( i - 1, j ) , y( i - 1, j ) , z( i - 1, j ) ) ;
z( i , j ) = z( i - 1, j ) +h*f 2( x( i - 1, j ) , y( i - 1, j ) , z( i - 1, j ) ) ;
end
end
di sp( ' ' ) ; di sp( ' ' ) ; di sp( ' ' ) ;
f pr i nt f ( ' \ n===== Tabel a do PVI comduas ODE por Eul er ===== \ n===== par a N=%3d e passo
h=%5. 4f ===== \ n' , k, h) ;
f or i =1: k+1
f pr i nt f ( ' x= %5. 4f y( %5. 4f ) = %8. 5f z( %5. 4f ) = %8. 5f \ n' , x( i , j ) , x( i , j ) , y( i , j ) , x( i , j ) , z( i , j ) ) ;
end
% i f mod( j , 2) ==0
% f i gur e( ) ;
% end
% pl ot ( x( : , j ) , y( : , j ) , ' - . r ' ) ; hol d on;
% pl ot ( x( : , j ) , z( : , j ) , ' - b' ) ; hol d on
end
Cuja execuo, para os dois primeiros
( )
5 10 N N e N = = est listado abaixo:
===== Tabel a do PVI comduas ODE por Eul er =====
===== par a N= 5 e passo h=0. 1000 =====
x= 1. 0000 y( 1. 0000) = 0. 77000 z( 1. 0000) = - 0. 44000
x= 1. 1000 y( 1. 1000) = 0. 72600 z( 1. 1000) = - 0. 47300
x= 1. 2000 y( 1. 2000) = 0. 67870 z( 1. 2000) = - 0. 50260
x= 1. 3000 y( 1. 3000) = 0. 62844 z( 1. 3000) = - 0. 52859
x= 1. 4000 y( 1. 4000) = 0. 57558 z( 1. 4000) = - 0. 55077
x= 1. 5000 y( 1. 5000) = 0. 52050 z( 1. 5000) = - 0. 56899


===== Tabel a do PVI comduas ODE por Eul er =====
===== par a N= 10 e passo h=0. 0500 =====
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
55
x= 1. 0000 y( 1. 0000) = 0. 77000 z( 1. 0000) = - 0. 44000
x= 1. 0500 y( 1. 0500) = 0. 74800 z( 1. 0500) = - 0. 45650
x= 1. 1000 y( 1. 1000) = 0. 72518 z( 1. 1000) = - 0. 47216
x= 1. 1500 y( 1. 1500) = 0. 70157 z( 1. 1500) = - 0. 48696
x= 1. 2000 y( 1. 2000) = 0. 67722 z( 1. 2000) = - 0. 50086
x= 1. 2500 y( 1. 2500) = 0. 65218 z( 1. 2500) = - 0. 51386
x= 1. 3000 y( 1. 3000) = 0. 62648 z( 1. 3000) = - 0. 52591
x= 1. 3500 y( 1. 3500) = 0. 60019 z( 1. 3500) = - 0. 53701
x= 1. 4000 y( 1. 4000) = 0. 57334 z( 1. 4000) = - 0. 54713
x= 1. 4500 y( 1. 4500) = 0. 54598 z( 1. 4500) = - 0. 55625
x= 1. 5000 y( 1. 5000) = 0. 51817 z( 1. 5000) = - 0. 56437`



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
56
Exemplo 2
Seja agora se resolver o problema mecnico a seguir, que caracterizado como de segunda
ordem, pois se trata de uma massa mligada a uma mola de resistncia k e um
amortecedor com coeficiente de amortecimento c. Na massa se aplica uma fora ( ) F t e
se quer determinar o deslocamento ( ) x t .
Sabe-se da 2 Lei de Newton que F ma =
_
, onde a a acelerao da massa, que
representado pela segunda derivada, no tempo, da funo deslocamento, x`` .
As foras atuantes no sistema representado pela figura ao lado so:
( )
mola
amortecimento
F kx
F cx
F t kx cx mx
=
=
=
`
` ``

A equao diferencial que governa esse sistema dada por:

2
2
;
2
n
n
F
x x x
m
c
k m
km
zw w
z w
=
= =
`` `
(13.3.7)
Onde os parmetros w e z so adimensionais.




Soluo
Para se solucionar este problema, como j se viu anteriormente, necessrio de decompor a EDO de 2 grau em duas EDO de
1 ordem: para isso sejam
FIGURA 1- SISTEMA MASSA-MOLA-
AMORTECEDOR
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
57

1
2
y x
y x
=
= `

ento

1
2
2
2
2
2 1
2
2
n n
n n
dy
x y
dt
dy
x
dt
F
x x
m
F
y y
m
zw w
zw w
= =
=
=
=
`
``
`

Para soluo numrica deste problema, usar-se- a funo do Matlab ode45, no seguinte programa:
%PROGRAMA 6
f unct i on t est e_smma( f , zet a, omegan, t st op)
%demo_smma Si st ema de 2 or demde ODE par a uma massa- mol a- amor t ecedor
%
%Chamada: t est e_smma( f , zet a, omegan, t st op)
%
%Ent r ada:
%f = ( opci onal ) t axa de g apl i cada Def aul t : f = 1
%zet a = ( opci onal ) t axa de amor t eci ment o; Def aul t : zet a = 0. 1
%omegan = ( opci onal ) f r equenci a nat ur al ; Def aul t : omegan = 35
%t st op = ( opci onal ) t empo de par ada; Def aul t : t st op = 1. 5s
%
%Sa da:
%gr f i co do desl ocament o e vel oci dade ver sus t empo
%
i f nar gi n<1, f = 0. 1; end
i f nar gi n<2, zet a = 0. 1; end
i f nar gi n<3, omegan = 35; end
i f nar gi n<4, t st op = 1. 5; end
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
58
%
y0 = [ 0; 0] ; g0 = 9. 8; %Condi o i ni ci al e g=gr avi dade=f or ce/ mass
g = f * g0; %f or a apl i cada, donde f =numer o de gs
[ t , y] = ode45( ' smma' , t st op, y0, [ ] , zet a, omegan, g) ; %ssma = f uno a sol uci onar
f i gur e( ) ;
subpl ot ( 2, 1, 1) ;
pl ot ( t , y( : , 1) ) ; yl abel ( ' Desl ocament o' ) ; gr i d;
t i t l e( spr i nt f ( ' f or a = %5. 3f g zet a = %5. 3f omegan = %5. 1f ' , f , zet a, omegan) ) ;
subpl ot ( 2, 1, 2) ;
pl ot ( t , y( : , 2) ) ; xl abel ( ' Tempo ( s) ' ) ; yl abel ( ' Vel oci dade' ) ; gr i d;

f unct i on dydt = smma( t , y, f l ag, zet a, omegan, g)
%r hsSmd Ri ght - hand si des of coupl ed ODEs f or a spr i ng- mass- damper syst em
%
%Chamada: dydt = smma( t , y, f l ag, zet a, omegan, g)
%
%Ent r ada:
%t = t empo, a var i vel i ndependent e
%y = vet or ( compr i ment o 2) das var i vei s dependent es
% y( 1) = desl ocament o e
% y( 2) = vel oci dade
%f l ag = ar gument o dummy par a compat i bi l i zar coma f uno ode45
%zet a = t axa de amor t eci ment o ( adi mensi onal )
%omegan = f r equenci a nat ur al ( r ad/ s)
%g = f *9, 8 = f or ce i ni ci al ment e apl i cada, por uni dade de massa
%
%Sa da:
%dydt = vet or col una de val or es de dy( i ) / dt
%
i f t <=0
f onm= 0. 0;
el se,
f onm= g; %For a/ massa ( acel er ao)
end
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
59
dydt = [ y( 2) ; f onm- 2*zet a*omegan*y( 2) - omegan*omegan*y( 1) ] ;
A chamada, no Matlab, feito simplesmente da seguinte forma: teste_smma(), quando os valores de
(f,zeta,omegan,tstop) tomam os valores default (1,0.1,35,1.5), ou na forma: teste_smma(1,0.1,35,1.5)
Assim fazendo, obtemos o seguinte grfico:

0 0.5 1 1.5
0
0.005
0.01
0.015
D
e
s
l
o
c
a
m
e
n
t
o
fora =1.000g zeta =0.100 omegan = 35.0
0 0.5 1 1.5
-0.2
-0.1
0
0.1
0.2
0.3
Tempo (s)
V
e
l
o
c
i
d
a
d
e
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
60
13.3.3 Erro no Mtodo de Euler
Seja a expresso dada por (13.3.2):
( )
1 1 0 0
, , , 0,1,..., 1
i i i i i
u u hf x u h u y i N t

= = =
Donde o erro de truncamento local dado por (13.3.3):

( )
( ) ( )
( )
1 2
1
1 1
, ,
, ...
2! 3!
,
i i i i i i
i i i
i i i i i
f x u f x u u u
f x u h h
h
ou
u u hf x u h
t
t

= =
=

Seja tambm a expresso do erro global de truncamento dado por (13.1.14)
( ) ( )
1 1 1 1 i i i i
x u y x

= = y y
Se 0
i
t quando 0 h , diz-se que a equao de diferenas, como a do ME, consistente com a
equao diferencial.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
61

Teorema: Seja
i
u a soluo de ( )
1
,
i i
i i
u u
f x y
h


= e ( ) y x a soluo exata da
respectiva EDO, onde ( ) , f x y satisfaz a condio de Lipschitz num intervalo , a b
l
l
onde y < ; ento,
( )
( )
0
, max , 0,1,...,
i
x a
i i i
i
u y x e i N
a
t
e t t
a

l
l _ = =
l
l
(13.3.8)
Demonstrao:
Subtraindo (13.3.3) de (13.3.2), se tem

( ) ( )
( ) ( )
1 1 1
1 1
, , , 0,1,.., 1
, , , 0,1,.., 1
i i i i i i i i i
i i i i i i i
u y u y h f x u f x y h i N
h f x u f x y h i N
t
e e t


l
= =
l
l
= =
l

Usando a condio de Lipschitz
( )
1
1
i i
h h e a e t

_
Esta inequao produz recursivamente o seguinte

( ) ( )
( ) ( ) ( )
( )
( )
2
1 1
3 2
2
1
1
0
1 1 1
1 1 1 1
1 1
1
i i
i
i
i
h h h
h h h h
h
h
e a e a t
a e a a t
a
a e t
a

l
_
l
l
_
l
l
l

l
_ l
l
l
l
.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
62
Onde o termo ( ) ( )
2
1 1 1 ... h h a a
l

l
l
soma de uma progresso geomtrica com razo ( ) 1 h a , cuja
soma
( )
( )
( )
1 1
1 1
1 1
1 1 1
n
n
n
h
razo
h
razo h h
a
a
a a

l
= =
l
l
.
Uma vez que 0 a pode-se aplicar (13.1.18) ( ( ) 0 1 , 0
n
nz
z e n _ _ _ ):
( )
( ) ( )
1 0
1
1
1
j
i x x i h
h e e
a a
a


_ =
Assim, para todo 1 i N _ se tem

( )
1 0
1 0
i
x x
i
e
a
t
e e
a

1

_



( )
(13.3.9)
Como se queria demonstrar.

A expresso (13.3.9) informa que o erro em qualquer ponto
i
x ser menor se tanto o erro inicial
0
e e o
mximo erro de truncamento local t forem pequenos. O erro de
0
e determinado pela preciso da
condio inicial,
0
y . Por outro lado, precisa-se garantir que t pode ser feito o menor possvel fazendo
o passo h pequeno o suficiente se
2
2
d y
dx
for contnua em , a b
l
l
; seja ento, de (13.3.3), se representar
1 i
t


da seguinte forma:
( )
( )
2
1 1
2
1 1
, , , 0,1,..., 1
2! 2!
i i i
d y
f x y h h x x i N
dx
x
t x

= = < < =
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
63
Desenvolvendo-se a derivada segunda que aparece acima
( ) ( ) ( )
2
2
, , ,
x y
d y dy d dy
f x y f x y f x y
dx dx dx
dx

= = = (13.3.10)
Analisando essa expresso, v-se que possvel obter um erro limite para y sem se conhecer
explicitamente y . Aplicando esse resultado em (13.3.8), se tem o seguinte corolrio:
Corolrio: Se, alm das hipteses do teorema anterior, ( ) ,
x
f x y e ( ) ,
y
f x y forem
contnuas sobre , a b
l
l
, ento

( ) ( )
0
0 0
2
2
2 2 2 2
max
i
x x b a
i
a x b
C hC C hC
e h e h
d y
C
dx
a a
e e e
a a a a

_ _
1 1

_ _



( ) ( )
=
(13.3.11)


Exemplo
Ache os erros limite dado por (13.3.11) para o PVI
( )
2
1, 0,2 , 0 0.5
dy
y x x y
dx
l
= =
l

Cuja soluo exata ( ) ( )
2
1 0.5
x
y x x e = . Aplique para 10 N = .
Soluo
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
64
Da EDO dada se tira que ( )
2
, 1 f x y y x = . Lembrando o que a condio de Lipschitz diz:

( ) ( )
( ) ( )
( )
* *
*
*
, ,
, ,
,
y
f x y f x y y y
f x y f x y
f x y
y y
a
a
_


V-se que ( ) , 1
y
f x y = para todo y ; assim, 1 a = (constante de Lipschitz). Considerando a soluo exata da EDO dada,
ento ( ) 2 0.5
x
y x e = , logo
( )
2
0.5 2, 0,2 y x e x
l _ \
l

Assim pode-se ver que
2
1, 0.5 2 C e a = = e considerando 0.2 h = e que
0
0 e = , pois dado, e usando o erro limite
mximo do mtodo de Euler dado por (13.3.11), se tem

( )
( )
( )
( ) ( ) ( )
( )( )
0
2
2
1 2 0
2 2 2
2 2
, 0,1,...,
2 2
0.2 0.5 2
0.5 2
0 0.2
2.1 2.1
0.1 0.5 2 0.1 0.5 2
0.1 0.5 2 1
1.0826
b a
i
i
i
i
i
C hC
e h i N
e
e
e
e e e
e e
a
e e
a a
e
e
e
e

1

_ \ =



( )
1


( )
_
_
_

E para cada ponto, usando o erro limite para cada ponto, dado em (13.3.11), se tem
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
65

( )
( )
( )
( )
( )
( )( )
0
0
2
2
2 2
1 , 0,1,...,
2
0.2 0.5 2
1
2.1
0.1 0.5 2 1
i
i
i
i
x x
i
x a
i
x
i
x
i
C hC
e h
hC
e i N
e
e
e e
a
a
e e
a a
e
a
e
e

1

_



( )
_ \ =

_
_

Achando e tabelando os erros, se tem:
%PROGRAMA 7
%==================================================
%=== Test e Eul er par a PI V comuma ni ca equao ===
%==================================================
cl ear ; cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
a = 0; b = 2; n = 10; ya = 0. 5;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%
x = zer os( 1, n+1) ; y = zer os( 1, n+1) ;
yex = zer os( 1, n+1) ; er r o = zer os( 1, n+1) ; el i m= zer os( 1, n+1) ;
%
h=( b- a) / n;
f or i =1: n+1
x( i ) = a+( i - 1) *h; %det er mi na os pont os
i f i ==1
y( i ) =ya; %det er mi na u( i )
el se
y( i ) = y( i - 1) +h*f ( x( i - 1) , y( i - 1) ) ;
end
yex( i ) = exat a( x( i ) ) ; %val or exat o da sol uo
er r o( i ) = abs( yex( i ) - y( i ) ) ; %det er mi nao do er r o
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
66
el i m( i ) = 0. 1*( 0. 5*exp( 2) - 2) *( exp( x( i ) ) - 1) ;
end
emax = 0. 1*( 0. 5*exp( 2) - 2) *( exp( 2) - 1) ;
f pr i nt f ( ' \ n=== Tabel a de Er r os do Pr obl ema PVI por Eul er par a N=%g ===\ n' , n) ;
f or i =1: n+1
f pr i nt f ( ' x= %4. 2f er r o= %8. 5f el i m= %8. 5f < %8. 5f \ n' , . . .
x( i ) , er r o( i ) , el i m( i ) , emax) ;
end
st em( x, er r o, ' b' ) ; hol d on;
st em( x, el i m, ' r ' ) ; t i t l e( ' Gr f i co comos Er r os Li mi t es do PVI pel o Mt odo de Eul er ' ) ;

=== Tabel a de Er r os do Pr obl ema PVI por Eul er par a N=10 ===
x= 0. 00 er r o= 0. 00000 el i m= 0. 00000 < 1. 08264
x= 0. 20 er r o= 0. 02930 el i m= 0. 03752 < 1. 08264
x= 0. 40 er r o= 0. 06209 el i m= 0. 08334 < 1. 08264
x= 0. 60 er r o= 0. 09854 el i m= 0. 13931 < 1. 08264
x= 0. 80 er r o= 0. 13875 el i m= 0. 20767 < 1. 08264
x= 1. 00 er r o= 0. 18268 el i m= 0. 29117 < 1. 08264
x= 1. 20 er r o= 0. 23013 el i m= 0. 39315 < 1. 08264
x= 1. 40 er r o= 0. 28063 el i m= 0. 51771 < 1. 08264
x= 1. 60 er r o= 0. 33336 el i m= 0. 66985 < 1. 08264
x= 1. 80 er r o= 0. 38702 el i m= 0. 85568 < 1. 08264
x= 2. 00 er r o= 0. 43969 el i m= 1. 08264 < 1. 08264

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
67



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
68

13.3.4 Mtodo de Euler com Processo Iterativo
Como se estudou o ME um mtodo de ciclo nico. Para se incorporar novos ciclos na determinao
de cada ( )
i i i
u y y x = ~ seja o desenvolvimento em srie de Taylor

( )
( ) ( )
2
0
1
, ,
2
i i i i i i
h
y y hf x y f x y

= (13.3.12)
Desenvolvendo a expresso (13.3.12) se tem o valor preditor:

( )
( )
2
0
1
,
i i i i
h
y y hf x y

=
( ) ( )
1 1
, ,
2
i i i i
f x y f x y
h


( ) ( ) ( )
( ) ( )
1 1
1 1
, , ,
2
, ,
2
i i i i i i i
i i i i i
h
y hf x y f x y f x y
h
y f x y f x y


l
l
l
l
l
l
=
l
l
=
l

Introduzindo um processo iterativo na forma, se tem o valor corretor:

( )
( )
( )
( ) ( )
1
1 1 1
, ,
2
k k
i i i i i i
h
y y f x y f x y


= (13.3.13)
Esse processo deve continuar at que
( ) ( ) 1
1 1
k k
i i
y y e


_ onde e o erro desejado para a convergncia
do valor de cada
( )
1
k
i
y

; em geral pode-se adotar


4
10 e

= e o nmero de iteraes em cada ponto deve
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
69
ficar entre 3 e 5, para que haja convergncia, caso contrrio melhor redefinir o passo h, diminuindo-
o.
Este mtodo tambm conhecido como um mtodo do tipo preditor-corretor.
Exemplo
Seja aplicar o mtodo de Euler para solucionar o PVI (exemplo j desenvolvido na seo 13.3.2):
( )
2
1, 0,2 , 0 0.5
dy
y x x y
dx
l
= =
l

Cuja soluo exata ( ) ( )
2
1 0.5
x
y x x e = . Aplique o processo iterativo para 10 N = e depois para 50 N = . Faa
uma tabela comparando os resultados aqui obtidos e aqueles obtidos anteriormente.
Soluo
Implementando a soluo por um programa especfico em Matlab para o processo, que calcule os valores obtidos pelos
mtodos de Euler (ME), pelo mtodo de Euler iterativo (MEIt), o valor exato e os erros cometidos (diferena entre os valores
achados) entre o MEIt e os obtidos pelo ME e o valor exato da soluo; determina tambm o custo computacional adicional
do MEIt em relao ao ME em nmero de iteraes adicionais. Assim,
%PROGRAMA 8
%==================================================
%=== Test e Eul er par a PI V comuma ni ca equao ===
%==================================================
cl ear ;
cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
%
a = 0; b = 2;
n = 10; ya = 0. 5;
er r = 0. 0001; cust o=0;
%- - - def i ni o sol uo exat a - - -
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
70
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
x = zer os( 1, n+1) ;
y = zer os( 1, n+1) ;
yex = zer os( 1, n+1) ;
y1 = zer os( 1, n+1) ;
%
h=( b- a) / n;
%
f or i =1: n+1
x( i ) = a + ( i - 1) *h;
end
f or i =1: n+1
i f i ==1
y( i ) = ya; y1( i ) = ya;
el se
k = 0; E = 1;
f 1 = f ( x( i - 1) , y( i - 1) ) ;
whi l e E >= er r
k = k+1;
f 2 = f ( x( i ) , y( i ) ) ;
aux = y( i - 1) +( h/ 2. ) *( f 1+f 2) ; %Eul er I t er at i vo
E = abs( y( i ) - aux) ; %det er mi nao do er r o
y( i ) = aux;
end
y1( i ) = y1( i - 1) +h*( f ( x( i - 1) , y( i - 1) ) ) ; %Mt odo de Eul er nor mal
f pr i nt f ( ' \ nEmx= %5. 3f o nmer o de i t er aes f oi de %3d comer r o = %9. 7f ' , x( i ) , k, E) ;
cust o = cust o + k;
end
yex( i ) = exat a( x( i ) ) ; %val or exat o da sol uo
end
di sp( ' ' ) ; di sp( ' =====================================================================' ) ;
f pr i nt f ( ' ++++++++ Cust o Comput aci onal do Eul er I t er at i vo = %d i t er aes adi ci onai s \ n' , cust o) ;
di sp( ' =====================================================================' ) ;
di sp( ' ' ) ;
f pr i nt f ( ' \ n=== Tabel a de Val or es e Er r os: Eul er I t er at i vo/ Nor mal e Sol . Exat a par a N=%g ===' , n) ;
f pr i nt f ( ' \ n- - - x- - - **val . exat o** ==Eul er I t == - - Eul er Nor - - xxx| EI - EN| xxxx ===| EI - Exat | ===\ n' ) ;
f or i =1: n+1
eyy1 = abs( y1( i ) - y( i ) ) ; %er r o comr el ao ao Eul er Nor mal
eyex = abs( yex( i ) - y( i ) ) ; %er r o comr el ao ao val or exat o
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
71
f pr i nt f ( ' x= %4. 2f yex= %8. 5f y= %8. 5f y1= %8. 5f y- y1= %8. 6f y- exat = %8. 6f
\ n' , x( i ) , yex( i ) , y( i ) , y1( i ) , eyy1, eyex) ;
end
f i gur e;
pl ot ( x, y, ' - . r ' ) ; hol d on;
pl ot ( x, y1, ' - b' ) ;
pl ot ( x, yex, ' - g' ) ;
t i t l e( ' Sol uo de PVI pel o Mt odo de Eul er - i t er at i vo' ) ;
l egend( ' Eul er I t er at i vo' , ' Eul er ' , ' Exat a' ) ;
Cujos resultados so:
=================================================================
++++++++ Cust o Comput aci onal do Eul er I t er at i vo = 59 i t er aes adi ci onai s
=================================================================
=== Tabel a de Val or es e Er r os: Eul er I t er at i vo/ Nor mal e Sol . Exat a par a N=10 ===
- - - x- - - **val . exat o** ==Eul er I t == - - Eul er Nor - - xxx| EI - EN| xxxx ===| EI - Exat | ===
x= 0. 00 yex= 0. 50000 y= 0. 50000 y1= 0. 50000 y- y1= 0. 000000 y- exat = 0. 000000
x= 0. 20 yex= 0. 82930 y= 0. 82888 y1= 0. 80000 y- y1= 0. 028881 y- exat = 0. 000418
x= 0. 40 yex= 1. 21409 y= 1. 21308 y1= 1. 15778 y- y1= 0. 055299 y- exat = 0. 001013
x= 0. 60 yex= 1. 64894 y= 1. 64709 y1= 1. 56839 y- y1= 0. 078699 y- exat = 0. 001850
x= 0. 80 yex= 2. 12723 y= 2. 12422 y1= 2. 02581 y- y1= 0. 098410 y- exat = 0. 003010
x= 1. 00 yex= 2. 64086 y= 2. 63627 y1= 2. 52265 y- y1= 0. 113612 y- exat = 0. 004594
x= 1. 20 yex= 3. 17994 y= 3. 17321 y1= 3. 04991 y- y1= 0. 123304 y- exat = 0. 006732
x= 1. 40 yex= 3. 73240 y= 3. 72281 y1= 3. 59655 y- y1= 0. 126260 y- exat = 0. 009592
x= 1. 60 yex= 4. 28348 y= 4. 27009 y1= 4. 14911 y- y1= 0. 120985 y- exat = 0. 013389
x= 1. 80 yex= 4. 81518 y= 4. 79678 y1= 4. 69113 y- y1= 0. 105649 y- exat = 0. 018399
x= 2. 00 yex= 5. 30547 y= 5. 28050 y1= 5. 20248 y- y1= 0. 078017 y- exat = 0. 024971
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
72




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
73
13.3.5 Regras do Ponto Mdio e Trapezoidal

Nesta seo introduz-se juma famlia de mtodos para soluo de equaes diferenciais, chamadas de
mtodos multipassos, nos quais se pode escolher o grau de preciso desejado para o a soluo do
problema e ento escolher um membro da famlia que atende a este desejo.
Antes de descrever a famlia em toda sua generalidade, apresentar-se- dois mtodos membros desta
famlia, os quais ilustram as diferentes classes nela existentes.
V-se na seo 13.1que se desenvolveu a soluo pela sua expanso em srie de Taylor. Para se ter uma
preciso maior, precisa-se reter na expanso termos com derivadas da funo; para se evitar os termos
com derivadas de segunda ordem ou maior, deve-se reescrever a equao diferencial como um sistema
de equaes diferenciais de primeira ordem e dessa forma apenas termos com a primeira derivada
sero computados.
Assim, pode-se ter grande preciso sem ter que si calcular derivadas de alta ordem de modo que o
processo de integrao numrica envolva apenas valores da funo incgnita e suas derivadas no
mais que em um ponto. Desse modo, nesse mtodo diferentemente como no mtodo de Euler
explanado na seo 13.3.1, onde o prximo valor da funo incgnita, em x h , dado dos valores de
y e y justamente no ponto x, o valor de y depende de y e y em mais de um ponto, por exemplo,
em x e x h , ou em diversos outros pontos.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
74

Mtodo do Ponto Mdio
Para se visualizar o que se expe, mostrar-se- um exemplo da denominado mtodo do ponto mdio.
Seja ento a expanso em serie de Taylor de uma funo desconhecida ( ) y x em torno do ponto
n
x :
( ) ( ) ( ) ( ) ( )
2 3
2! 3!
n n n n n
h h
y x h y x hy x y x y x = (13.3.14)
Agora reescrevendo (13.3.14) trocando h por h , se tem,
( ) ( ) ( ) ( ) ( )
2 3
2! 3!
n n n n n
h h
y x h y x hy x y x y x = (13.3.15)
Subtraindo (13.3.15) de (13.3.14) se obtm,
( ) ( ) ( ) ( )
3
2
2
3!
n n n n
h
y x h y x h hy x y x = (13.3.16)
Em (13.3.16) desprezando-se os termos que usam
3 5
, h h , etc., se tem
( ) ( ) ( ) 2
n n n
y x h y x h hy x = (13.3.17)
ou seja,

1 1
2
n n n
y y hy

= (13.3.18)
Como usualmente se deseja resolver uma equao ( ) , y f x y = ento se tem
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
75
( )
1 1
2 ,
n n n n
y y hf x y

= (13.3.19)
E esta a regra do mtodo do ponto mdio.

Exemplo
Seja aplicar o mtodo do ponto mdio e comparar com o de Euler para solucionar o PVI (exemplo j desenvolvido nas sees
13.3.2 e 13.3.4 ):
( )
2
1, 0,2 , 0 0.5
dy
y x x y
dx
l
= =
l

Cuja soluo exata ( ) ( )
2
1 0.5
x
y x x e = .
Abaixo mostra-se os cdigos como funo para clculo pelo mtodos do ponto-mdio, Euler e o programa para executar a
comparao entre eles, com construo dos grficos:
f unct i on [ x, u] = mi dpoi nt _pvi 1( f , a, b, n, ya)
%f = @( x, y) y- x^2+1; %<- - def i na aqui a f uno f ( x, y)
x = zer os( 1, n+1) ;
u = zer os( 1, n+1) ;
h = ( b- a) / n;
%1 pont o - pvi
x( 1) = a;
u( 1) = ya;
%2 pont o = aval i ao por Eul er
u( 2) = u( 1) + h*f ( x( 1) , u( 1) ) ;
f or i =2: n
x( i ) = a + ( i - 1) *h;
u( i +1) = u( i - 1) + 2*h*f ( x( i ) , u( i ) ) ;
end
x( n+1) =b;
r et ur n
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
76

f unct i on [ x, u] = eul er _pvi 1( f , a, b, n, ya)
%f = @( x, y) y- x^2+1; %<- - def i na aqui a f uno f ( x, y)
x = zer os( 1, n+1) ;
u = zer os( 1, n+1) ;
h = ( b- a) / n;
x( 1) = a;
u( 1) = ya;
f or i =2: n+1
u( i ) = u( i - 1) + h*f ( x( i - 1) , u( i - 1) ) ;
x( i ) = a + ( i - 1) *h;
end
r et ur n

%PROGRAMA 9
%==================================================
%=== Compar a os mt odos do Pont o Mdi o comEul er
% par a PI V comuma ni ca equao ===
%==================================================
cl ear ;
cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
a = 0; b = 2; n = 10; ya = 0. 5;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%
x = zer os( 1, n+1) ; %mal ha
yeu = zer os( 1, n+1) ; %val or es cal cul ados no mt odo de Eul er
ypm = zer os( 1, n+1) ; %val or es cal cul ados pel o met odo do pont o medi o
yex = zer os( 1, n+1) ; %val or es exat os da sol uo
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
77
er me = zer os( 1, n+1) ; %er r o ent r e pont o mdi o e exat a
er ee = zer os( 1, n+1) ; %er r o ent r e eul er e exat a
el i m= zer os( 1, n+1) ; %ERRO LI MI TE
%
h=( b- a) / n;
[ x, ypm] = mi dpoi nt _pvi 1( f , a, b, n, ya) ;
[ x, yeu] = eul er _pvi 1( f , a, b, n, ya) ;
f or i =1: n+1
yex( i ) = exat a( x( i ) ) ; %val or exat o da sol uo
er me( i ) = abs( yex( i ) - ypm( i ) ) ; %det er mi nao do er r o exat a- pm
er ee( i ) = abs( yex( i ) - yeu( i ) ) ; %det er mi nao do er r o exat a- eul er
el i m( i ) = 0. 1*( 0. 5*exp( 2) - 2) *( exp( x( i ) ) - 1) ;
end
emax = 0. 1*( 0. 5*exp( 2) - 2) *( exp( 2) - 1) ;
f pr i nt f ( ' \ n=== Tabel a do Pr obl ema PVI por Pont o Mdi o e Eul er par a N=%g ===\ n' , n) ;
f pr i nt f ( ' \ n=x( i ) = ===ypm=== ===yeu=== =exat a= =er m- e =er e- e =el i m= \ n' ) ;
f or i =1: n+1
f pr i nt f ( ' x= %4. 2f %8. 5f %8. 5f %8. 5f %8. 5f %8. 5f %8. 5f \ n' , . . .
x( i ) , ypm( i ) , yeu( i ) , yex( i ) , er me( i ) , er ee( i ) , el i m( i ) ) ;
end
f pr i nt f ( ' \ n===============================================================\ n' ) ;
f i gur e( 1) ;
pl ot ( x, ypm, ' - . r ' ) ; hol d on;
pl ot ( x, yeu, ' - . g' ) ; hol d on;
pl ot ( x, yex, ' - b' ) ;
t i t l e( ' Sol uo de PVI pel os Mt odos do Pont o- Mdi o e de Eul er ' ) ;
l egend( ' Pont o Mdi o' , ' Eul er ' , ' Exat a' ) ;
f i gur e( 2) ;
st em( x, er me, ' r ' ) ; hol d on;
st em( x, er ee, ' g' ) ; hol d on;
st em( x, el i m, ' b' ) ; t i t l e( ' Gr af i co comos Er r os dos Mt odos' ) ;
l egend( ' er r o met . Pont o Mdi o' , ' er r o met . Eul er ' , ' er r o l i mi t e' ) ;


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
78

A execuo do programa9 acima gera a seguinte sada:
===Tabela do Problema PVI por Ponto Mdio e Euler para N=10 ===
=x(i)====ypm======yeu====exata= =er m-e =er e-e =elim=
x=0.00 0.50000 0.50000 0.50000 0.00000 0.00000 0.00000
x=0.20 0.80000 0.80000 0.82930 0.02930 0.02930 0.03752
x=0.40 1.20400 1.15200 1.21409 0.01009 0.06209 0.08334
x=0.60 1.61760 1.55040 1.64894 0.03134 0.09854 0.13931
x=0.80 2.10704 1.98848 2.12723 0.02019 0.13875 0.20767
x=1.00 2.60442 2.45818 2.64086 0.03644 0.18268 0.29117
x=1.20 3.14881 2.94981 3.17994 0.03114 0.23013 0.39315
x=1.40 3.68794 3.45177 3.73240 0.04446 0.28063 0.51771
x=1.60 4.23998 3.95013 4.28348 0.04350 0.33336 0.66985
x=1.80 4.75993 4.42815 4.81518 0.05524 0.38702 0.85568
x=2.00 5.24795 4.86578 5.30547 0.05752 0.43969 1.08264

===============================================================

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
79

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
Soluo de PVI pelos Mtodos do Ponto-Mdio e de Euler


Ponto Mdio
Euler
Exata
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
80


0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Grafico com os Erros dos Mtodos


erro met.Ponto Mdio
erro met.Euler
erro limite
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
81
V-se que o mtodo de ponto mdio mais preciso que o mtodo de Euler, como j descrito mais
acima, por envolver ser multipassos.
A seguir introduzir-se- o mtodo numrico de integrao denominado regra do trapzio,
semelhana da regra de mesmo nome utilizada na seo de integrao numrica.
Mtodo do Trapzio
A melhor forma de obt-la converter a equao diferencial que se quer tentar resolver em uma
equao integral e ento usar o mtodo de aproximao de integrais pela regra do trapzio.
Seja ento uma equao diferencial do tipo ( ) ( ) , y f x y x = . Integrando ambos os lados entre os limites
x e x h , se tem,

( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
,
,
,
x h x h
x x
x h
x
x h
x
y d f y d
y x h y x f y d
y x h y x f y d
q q q q q
q q q
q q q

=
=
=
] ]
]
]
(13.3.20)
Se a integral do lado direito for aproximada de alguma maneira por uma soma ponderada dos valores
do integrando em vrios pontos, ter-se- encontrado um mtodo aproximado para resolver a equao
diferencial. A regra do trapzio estabelece uma aproximao do valor de uma integral: seria a rea do
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
82
trapzio entre x e x h , onde a base h e as alturas dos lados so respectivamente ( )
n
y x e ( )
n h
y x

,
produzindo
( ) ( ) ( ) ( ) ( )
1 1
1
, , ,
2
x h
n n n n
x
f y d h f x y f x y q q q e


=
]
(13.3.21)
Levando (13.3.20) em (13.3.21) se obtm,

( ) ( ) ( ) ( ) ( )
( ) ( ) ( )
1 1
1 1 1
1
, ,
2
1
, ,
2
n n n n n n
n n n n n n
y x h y x h f x y f x y
y y h f x y f x y


~
=
(13.3.22)
Esta a regra do mtodo do trapzio.
Note que ( )
n h
y x

ou
1 n
y

aparece tanto no lado esquerdo como do lado direito da equao
recorrncia da regra. Como solucionar este problema? O que se faz na prtica achar um valor
tentativo para a varivel
1 n
y

(por qualquer mtodo) e ento se aplica ele na frmula de recorrncia.
De uma maneira mais simples, usa-se a prpria regra do trapzio para avaliar um primeiro valor para
1 n
y

, tomando o valor de
1 n
y

em ( )
1 1
,
n n
f x y

como sendo
n
y , valor j conhecido, e acha-se um novo
1 n
y

que deve ser usado no lugar de
n
y usado anteriormente.
Como saber se o valor de
1 n
y

achado um bom valor para o mesmo? Se o valor de
1 n
y

achado
usando-se
n
y atender uma condio tipo
1 n n
y y e

< considera-se uma boa aproximao inicial; caso


contrrio faz-se um processo de achar um novo
1 n
y

usando o valor de
1 n
y

anteriormente
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
83
encontrado, at que haja uma convergncia do tipo ( ) ( )
1
1 1
k k
n n
y y e


< entre duas iteraes
consecutivas de ordem 1, k k . O valor de e um erro de aproximao desejvel.
Este tipo de mtodo chamado de preditor-corretor, que sero estudados com mais detalhes nas
sees 13.5.4 a 13.5.7.


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
84
13.4 Mtodos de Runge-Kutta
Os mtodos numricos para a soluo de PVI com ODEs e associados aos nomes de Runge
3
, Kutta
4
,
Adams
5
, Fehlberg, Moulton
6
, Heun, Milne
7
e outros so aplicados a problemas do tipo (13.3.1):
( ) ( ) ( )
0
, , , , ,
d
x y a x C a b
dx
l
= =
l
y
f y y f y
Onde, como j se fez anteriormente, se faz a expanso de ( ) y x em srie de Taylor, truncando-a em um
determinado termo:
( ) ( )
( )
( )
( )
( )
( )
( )
( )
2
0 0 0
0 0 0 0
'
1! 2! !
n
n
y x y x y x
y x y x x x x x x x
n

=
Essa relao pode ser reescrita, por aproximao, como:

3
Carle Runge, 1856-1927.
4
Martin Wilhelm Kutta, 1867-1944.
5
John Couch Adms, 1819-1892.
6
Forest Ray Moulton, 1872-1952.
7
Edward Arthur Milne, 1896-1950.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
85

( ) ( )
( )
( )
( ) ( )
( )
( )
( )
2
2
1 1 1
2
,
,
1
,
2
2
2
1
2!
1
...
!
'
1! 2! !
, , ,
1! 2! !
1! 2! !
i i
i i
i i
i i i i i i
x y
x y
n
n
i i
n
x y
n
i i i n
i
n
n
i i i i i i i
n
n
i
dy d y
y y x x x x
dx
dx
d y
x x
n
dx
y y y
y h h h
n
h h h
y f x y f x y f x y
n
h h h
y f f f
n

=
=
=




(13.4.1)
mas sabe-se que

( )
2
2
x y x y
xx xy yy y x y
y f
dy
y f f f f ff
dx
y f f ff f f f f ff
=
= = =
= =
(13.4.2)
Levando (13.4.2) na expresso (13.4.1), se tem

( ) ( ) ( ) ( )
( ) ( )
2 3
4
1
2
3
1
2
1! 2! 3!
1! 2!
i i x y xx xy y x y
i i x y
h h h
y y f f ff f ff f f ff O h
ou
h h
y y f f ff O h

=
=
(13.4.3)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
86
No caso dos mtodos de Runge-Kutta (MRK) se est interessado num valor de
1 i
y

que pode ser


aproximado por uma frmula do tipo
( )
1
. , ,
i i i i
y y h x y h y

= (13.4.4)
onde a funo ( ) , ,
i i
x y h y chamada de funo incremento, e pode ser interpretada como
representativo da inclinao no intervalo; em geral esta funo tem a forma:
( )
0 0 1 1
, ,
i i n n
x y h a k a k a k y = (13.4.5)
onde
( )
0
,
i i
k f x y = (13.4.6)

( )
1 1 10 0
,
i i
k f x h y k m h = (13.4.7)

( )
2 2 20 0 21 1
,
i i
k f x h y k k m h h = (13.4.8)
... ... ... ... ... ... ... ... ... ...

( )
0 0 1 1 , 1 1
,
n i n i n n n n n
k f x h y k k k m h h h

= (13.4.9)
Nas expresses acima os coeficientes , ,
i i ij
a e m h precisam ser determinadas. Note que os coeficientes
i
k
so relaes de recorrncia, pois em
1
k aparece
0
k , em
2
k aparece
1
k e
0
k , e assim por diante.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
87
Como se v, existem muitos mtodos de Runge-Kutta (MRK) nos quais se podem empregar diversos
coeficientes
i
k . Especificamente, quando se emprega apenas o termo
0
k , o mtodo de Runge-Kutta de
Primeira Ordem coincide com o mtodo de Euler, estudado anteriormente.
De uma forma geral pode-se escrever (13.4.4) como

( )
( )
1 1
0 0 1 1
0
. , ,
i i i i i
i i i
s
i j j
j
y y h x y h
y h a k a k ak
y h a k
y

=
=
=
=
_
(13.4.10)
Donde se tem

( ) ( )
1 1 0 0 1 1 , 1 1
1 1
0
,
, , 0,1,2,...,
j j j j j j j n j j j
s
j j j j j jr r
r
k f x h y h k k k
f x h y h k j s
m h h h
m h


=
= =
1

= =


( )
_
(13.4.11)
Assim, pode-se caracterizar uma frmula de Runge-Kutta pela tabela de Butcher:

0 01 02 0
1 11 12 1
1 2
1 2
s
s
s s s ss
s
a a a
m h h h
m h h h
m h h h

. . . .

(13.4.12)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
88
Em geral
10
0 h = . Considerando os outros elementos, os mtodos de Runge-Kutta podem ser
classificados da seguinte forma:
Explcito se 0, para
jr
r j h = _ a frmula explicita e
j
k pode ser calculado seqencialmente
como (13.4.11);
Semi-explcito se 0, para
jr
r j h = e 0
jj
h = para algum j ; neste caso a frmula dita
semi-explicita e
j
k pode ser determinada seqencialmente por meio da soluo de um sistema
no linear de ordem n em cada passo s .
Implcito nos demais casos e as equaes que definem
j
k so totalmente acopladas a um
sistema no linear de ordem ns .
Um mtodo de Runge-Kutta dito consistente se, na tabela de Butcher, em cada linha sua, for
obedecido a seguinte relao:

1
1
for 2, , .
i
ij i
j
i s h m

=
= = .
_
(13.4.13)
Assim, se um mtodo de certa ordem s , significa que o erro de truncamento local
( )
1 s
O h

.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
89
13.4.1 Mtodos de Runge-Kutta (MRK2) de 2 Ordem
O MRK de 2 ordem ( ) 2 s = aquele em que, em (13.4.5), se retm os termos
0
k e
1
k . Assim,
( )
1 0 0 1 1 i i
y y h a k a k

= (13.4.14)
com

( )
( )
0
1 0
,
,
i i
i i
k f x y
k f x h y k m h
=
=
(13.4.15)
Necessita-se para o desenvolvimento do mtodo que a funo
( )
,
i i
f x y seja desenvolvida em serie de
Taylor, assim

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
90
Teorema: Seja
( )
,
i i
f x y e todas as suas derivadas parciais de ordem menor ou igual a
1 n contnuas sobre um domnio ( ) , | , , x y x a b y c d
l l
\ =
l l
e mais ( )
0 0
, x y \; ento para todo
( ) , x y \
( ) ( ) ( ) , , ,
n n
f x y P x y R x y = (13.4.16)
com

( ) ( ) ( )
( )
( )
( )
( )
( )
( )( )
( )
( )
( )
( ) ( )
( )
0 0 0 0
0 0 0 0 0 0
0 0
0 0 0 0
, ,
2 2 2
2 2
0 0 0 0
2 2
, , ,
0 0
0
,
1
, ,
1!
1
2!
1
...
!
x y x y
x y x y x y
n
n
n j j
n j j
j
x y
f f
P x y f x y x x y y
x y
f f f
x x x x y y y y
x y
x y
n
f
x x y y
j
n
x y

=
l
0 0
l
=
l
0 0
l
l
l
0 0 0 l
l
l 0 0
0 0
l
l
l
1
0 l


l


l
0 0 ( )
l
l
_
(13.4.17)
e

( )
( )
( ) ( )
( )
1
1
1
0 0
1
0
,
1
1
,
1 !
,
n
n
n j j
n
n j j
j
n
f
R x y x x y y
j
n
x y
a b c d
xn
x h




=
l
1

0 l

= l


l
0 0 ( )
l
l
< < < <
_
(13.4.18)
sendo ( ) ,
n
P x y denominado de n-simo polinmio de Taylor em duas variveis e ( ) ,
n
R x y o resto
associado a ( ) ,
n
P x y .
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
91
Desenvolvendo-se
1
k pela sua expanso em serie de Taylor com duas variveis independentes
conforme (13.4.16), se tem

( )
( )
1 0
2 2 2
2 2 2 2 3
0 0 0
2 2
,
1
2
2!
i i
k f x h y k
f f f f f
f h k h h hk k O h
x y x y
x y
m h
m h m mh h
=
1
0 0 0 0 0


=

0 0 0 0
( ) 0 0
(13.4.19)
Ou ainda,

( )
( ) ( )
( ) ( )
2 2 2
2 2 2 2 3
1 0 0 0
2 2
2 2 2 2 3
2 2 2 2 3
1
2
2!
1
2
2
1 1
2 2
x y xx xy yy
x y xy xx yy
f f f f f
k f h k h h hk k O h
x y x y
x y
f hf hff h f hff f f O h
f h f ff ff h f f f O h
m h m mh h
m h m mh h
m h mh m h
1
0 0 0 0 0


=

0 0 0 0
( ) 0 0
=
=
(13.4.20)
Agora, levando (13.4.20) e (13.4.15) em (13.4.14)

( )
( )
( )
( ) ( )
( )
( ) ( ) ( )
1 0 0 1 1
4
0 1
2 2 2 2
2 3 2
0 1 1 1
2 2 4
1
2 3
0 1 1
1 1
2 2
1
2
1
2
i i
x y xy
i
xx yy
i x y xy xx
yy
i x y
y y h a k a k
f h f ff ff
y h a f a O h
h f f f
y h a a f h a f ff ff h a f
ha f f O h
y h a a f h a f ff O h
m h mh
m h
m h mh m
h
m h

=
11






=



( ( ))
=

=
(13.4.21)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
92
Comparando (13.4.21) com (13.4.3) se tem que:

( )
0 1
1
1
1
1
2
1
2
a a
a
a
m
h
=
=
=
(13.4.22)

Como em (13.4.22) se tem quarto parmetros a determinar e apenas trs condies, a sua soluo
depender de um parmetro qualquer, diferente de zero, l . Assim

0 1
1 ;
1 1
;
2 2
a a l l
m h
l l
= =
= =
(13.4.23)



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
93
Dessa forma, v-se que podem existir muitos MRK de 2 ordem, dependendo do valor que o parmetro
l tomar. Na tabla abaixo, mostra-se para diversos valores de l os valores que tomam
0 1
, , , a a mh e os
seus respectivos nome pelo qual so conhecidos os mtodos:
l
0
a
1
a
m h
MRK: ( )
0
,
i i
k f x y =
1
2

1
2

1
2

1 1 Mtodo de Heun:
1 1 2
1 1
2 2
i i
y y k k h

1

=



( )

( )
1 1
,
i i
k f x h y kh =
1 0 1 1
2

1
2

Mtodo do Ponto mdio:
1 2 i i
y y k h

=
1 1
1 1
,
2 2
i i
k f x h y k h
1

=



( )

2
3

1
3

2
3

3
4

3
4

Mtodo de Ralston:
1 1 2
1 2
3 3
i i
y y k k h

1

=



( )

1 1
3 3
,
4 4
i i
k f x h y kh
1

=



( )


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
94
Exemplo
Seja aplicar os MRK de 2 ordem para solucionar o PVI (exemplo j desenvolvido nas sees 13.3.2 e 13.3.3):
( )
2
1, 0,2 , 0 0.5
dy
y x x y
dx
l
= =
l

Cuja soluo exata ( ) ( )
2
1 0.5
x
y x x e = . Aplique o processo iterativo para 10 N = . Faa uma tabela
comparando os resultados aqui obtidos e aqueles obtidos pelo ME iterativo.
Soluo
Implementando a soluo por um programa especfico em Matlab, que calcule os valores obtidos pelos mtodos de Heun,
ponto mdio e Ralston, e pelo mtodo de Euler iterativo (MEIt), o valor exato e os erros cometidos (diferena entre os valores
achados) entre o valor exato da soluo e o mtodo de aproximao; determina tambm o custo computacional, em nmero
de iteraes, de cada mtodo. Assim,
%==================================================
%=== Test e MRK par a PI V comuma ni ca equao ===
%==================================================
cl ear ; cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
%- - - dados i ni ci ai s
a = 0; b = 2; n = 10; ya = 0. 5; er r = 0. 0001; cust o=0;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%
yh = zer os( 1, n+1) ; %apr ox met odo Heun
yex = zer os( 1, n+1) ; %val exat os
ym = zer os( 1, n+1) ; %apr ox. pont o mdi o
yr = zer os( 1, n+1) ; %apr ox. mt odo de Ral st on
yei = zer os( 1, n+1) ; %apr ox. por Eul er i t er at i vo
%
h=( b- a) / n; %det er mi nao do passo
x=l i nspace( a, b, n+1) ; %di vi de ab emn+1 pont os = det . dos x( i )
%
f or i =1: n+1
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
95
i f i ==1 %condi es i ni ci ai s
yei ( i ) = ya; yh( i ) = ya; ym( i ) = ya; yr ( i ) = ya;
el se
k = 0;
E = 1;
k0e = f ( x( i - 1) , yei ( i - 1) ) ;
k0h = f ( x( i - 1) , yh( i - 1) ) ;
k0m= f ( x( i - 1) , ym( i - 1) ) ;
k0r = f ( x( i - 1) , yr ( i - 1) ) ;
whi l e E >= er r
k = k+1;
f 2 = f ( x( i ) , yei ( i ) ) ;
aux = yei ( i - 1) +( h/ 2. ) *( k0e+f 2) ; %Eul er I t er at i vo
E = abs( yei ( i ) - aux) ; %det er mi nao do er r o
yei ( i ) = aux;
end
% y1( i ) = y1( i - 1) +h*( f ( x( i - 1) , y( i - 1) ) ) ; %Mt odo de Eul er nor mal
k1h = f ( x( i ) , yh( i - 1) +k0h*h) ; %k1 de Heun
k1m= f ( x( i - 1) +( h/ 2) , ym( i - 1) +( k0m*h/ 2) ) ; %k1 do pont o mdi o
k1r = f ( x( i - 1) +( 3*h/ 4) , yr ( i - 1) +( 3*k0r *h/ 4) ) ; %k1 do Ral st on
%
yh( i ) = yh( i - 1) +( h/ 2) *( k0h+k1h) ; %mt odo de Heun
ym( i ) = ym( i - 1) +k1m*h; %met odo do pont o medi o
yr ( i ) = yr ( i - 1) +( h/ 3) *( k0r +2*k1r ) ; %mt odo de Ral st on
end
yex( i ) = exat a( x( i ) ) ; %val or exat o da sol uo
end
di sp( ' ' ) ;
di sp( ' =====================================================================' ) ;
f pr i nt f ( ' === Tabel a de Val or es: Heun, Pont o Medi o, Ral st on, Eul er I t er at i vo e Sol . Ex. N=%g ===' , n) ;
di sp( ' =====================================================================' ) ;
f pr i nt f ( ' \ n- - - x- - val . exat =Heun= ##er r o# =Pt . Med ##er r o# Ral st on ##er r o# Eul er I t ##er r o# \ n' ) ;
f i gur e( 1)
f or i =1: n+1
eh = abs( yex( i ) - yh( i ) ) ; %er r o comr el ao ao Eul er Nor mal
em= abs( yex( i ) - ym( i ) ) ; %er r o comr el ao ao val or exat o
er = abs( yex( i ) - yr ( i ) ) ; %er r o comr el ao ao val or exat o
ee = abs( yex( i ) - yei ( i ) ) ; %er r o comr el ao ao val or exat o
f pr i nt f ( ' x=%3. 2f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f \ n' , . . .
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
96
x( i ) , yex( i ) , yh( i ) , eh, ym( i ) , em, yr ( i ) , er , yei ( i ) , ee) ;
end
z = st em( x, abs( yh- yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' bl ue' , ' Mar ker ' , ' o' )
z = st em( x, abs( ym- yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' r ed' , ' Mar ker ' , ' d' )
z = st em( x, abs( yr - yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' gr een' , ' Mar ker ' , ' s' )
z = st em( x, abs( yei - yex) , ' f i l l ' , ' - - ' ) ;
set ( z, ' Mar ker FaceCol or ' , ' r ed' , ' Mar ker ' , ' p' )
t i t l e( ' Gr f i co comos Er r os Li mi t es do PVI pel o Mt odo de Eul er ' ) ;
l egend( ' Heun' , ' Pont o Mdi o' , ' Ral st on' , ' Eul er I t er at i vo' , ' l ocat i on' , ' Nor t hWest ' ) ;
hol d of f ; f i gur e( 2) ;
pl ot ( x, yh, ' - . r ' ) ; hol d on; pl ot ( x, ym, ' - b' ) ; hol d on;
pl ot ( x, yr , ' +b' ) ; hol d on; pl ot ( x, yei , ' xb' ) ; hol d on;
pl ot ( x, yex, ' - g' ) ;
t i t l e( ' Sol uo de PVI pel os Mt odos Runge- Kut t a 2 Or dem' ) ;
l egend( ' Heun' , ' Pont o Mdi o' , ' Ral st on' , ' Eul er I t er at i vo' , ' Exat a' , ' l ocat i on' , ' Nor t hWest ' ) ;
===========================================================================
Tabel a de Val or es: Heun, Pont o- Medi o, Ral st on, Eul er - I t er at i vo e Sol . Ex. N=10
===========================================================================

- - - x- - val . exat =Heun= ##er r o# =Pt . Med ##er r o# Ral st on ##er r o# Eul er I t ##er r o#
x=0. 00 0. 50000 0. 50000 0. 00000 0. 50000 0. 00000 0. 50000 0. 00000 0. 50000 0. 00000
x=0. 20 0. 82930 0. 82600 0. 00330 0. 82800 0. 00130 0. 82700 0. 00230 0. 82888 0. 00042
x=0. 40 1. 21409 1. 20692 0. 00717 1. 21136 0. 00273 1. 20914 0. 00495 1. 21308 0. 00101
x=0. 60 1. 64894 1. 63724 0. 01170 1. 64466 0. 00428 1. 64095 0. 00799 1. 64709 0. 00185
x=0. 80 2. 12723 2. 11024 0. 01699 2. 12128 0. 00595 2. 11576 0. 01147 2. 12422 0. 00301
x=1. 00 2. 64086 2. 61769 0. 02317 2. 63317 0. 00769 2. 62543 0. 01543 2. 63627 0. 00459
x=1. 20 3. 17994 3. 14958 0. 03036 3. 17046 0. 00948 3. 16002 0. 01992 3. 17321 0. 00673
x=1. 40 3. 73240 3. 69369 0. 03871 3. 72117 0. 01123 3. 70743 0. 02497 3. 72281 0. 00959
x=1. 60 4. 28348 4. 23510 0. 04839 4. 27062 0. 01286 4. 25286 0. 03062 4. 27009 0. 01339
x=1. 80 4. 81518 4. 75562 0. 05956 4. 80096 0. 01422 4. 77829 0. 03689 4. 79678 0. 01840
x=2. 00 5. 30547 5. 23305 0. 07242 5. 29037 0. 01510 5. 26171 0. 04376 5. 28050 0. 02497
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
97

GRFICO DOS MTODOS DE HEUN, PONTO MDIO, RALSTON E EULER ITERATIVO

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
98

COMPARAO DOS ERROS NOS MTODOS DE HEUN, PONTO MDIO,
RALSTON E EULER ITERATIVO

V-se no grfico acima que o mtodo RK que apresenta maior erro o de Heun (bolinhas azuis) e o de menor erro o RK dos
pontos mdios (diamante vermelho).

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
99
13.4.2 Mtodos de Runge-Kutta (MRK3) de 3 Ordem
Quando em (13.4.5) so empregados os coeficientes
0 1 2
, , k k k semelhana do que se fez para MRK e 2
ordem, neste caso, MRK de 3 ordem se tem seis condies para oito parametros arbitrrios
envolvidos.
Para MRK de 3 ordem, se tm diversas formulas dentre as quais duas so as mais usadas: a primeira,
devido a Kutta, e uma segunda devido a Huen, cujas formas so respectivamente:
Frmula de Kutta
( ) ( )
4
1 0 1 2
1
4
6
i i
y y h k k k O h

= (13.4.24)
com

( )
( )
0
1 0
2 1 0
,
1 1
,
2 2
, 2
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk hk
=
1

=



( )
=
(13.4.25)
A frmula devida a Kutta anloga a frmula de Simpson para integrao numrica e pode ser
reduzida a ela quando a funo f for dependente apenas de x.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
100
Frmula de Heun
Outra frmula que pode ser aplicada para soluo de ODE e derivada do mtodo trapezoidal de
integrao a devida a Heun
8
:
( ) ( )
4
1 0 2
1
3
4
i i
y y h k k O h

= (13.4.26)
com

( )
0
1 0
2 1
,
1 1
,
3 3
2 2
,
3 3
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk
=
1

=



( )
1

=



( )
(13.4.27)
Outras frmulas derivadas do mtodo de Runge-Kutta


8
Karl L. W. M. Heun matemtico alemo, nasceu em 3 de abril de 1859 em Wiesbaden e faleceu em 10 de janeiro de 1929 em Karlsruhe.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
101
Frmula de Nystrm
O mtodo de Nystrm
9
dado pela seguinte formulao:
( ) ( )
4
1 0 2
1
2 3 3
8
i i
y y h k k O h

= (13.4.28)
com

( )
0
1 0
2 1
,
2 2
,
3 3
2 2
,
3 3
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk
=
1

=



( )
1

=



( )
(13.4.29)


9
E.J.Nystrm, matemtico filands
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
102
Frmulas de BogackiShampine
O mtodo devido a Bogacki
10
Shampine
11
, proposto em 1989, tem duas frmulas, uma de ordem 3 e
outra de ordem 2:

( )
4
1 0 1 2
2 1 4
9 3 9
i i
y y h k k k O h

1

=



( )


( )
0
1 0
2 1
,
1 1
,
2 2
3 3
,
4 4
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk
=
1

=



( )
1

=



( )
(13.4.30)
e
( )
5
1 0 1 2 3
7 1 1 1
24 4 3 8
i i
y y h k k k k O h

1

=



( )


( )
0
1 0
2 1
3 0 1 2
,
1 1
,
2 2
3 3
,
4 4
2 1 4
,
9 3 9
i i
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk
k f x h y hk hk hk
=
1

=



( )
1

=



( )
1

=



( )

(13.4.31)


10
Przemyslaw Bogacki
11
Lawrence F. Shampine
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
103
13.4.3 Mtodo de Runge-Kutta (MRK4) de 4 Ordem
O mais popular dos MRK o de 4 ordem, no qual se utiliza
0 1 2 3
, , , k k k k em (13.4.5), e tem a seguinte
formulao:
( ) ( )
5
1 0 1 2 3
1
2 2
6
i i
y y h k k k k O h

= (13.4.32)
com

( )
( )
0
1 0
2 1
3 2
,
1 1
,
2 2
1 1
,
2 2
,
i i
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk
k f x h y hk
=
1

=



( )
1

=



( )
=
(13.4.33)

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
104
Frmulas de DormandPrince de 4 ordem
A primeira frmula do mtodo de Dormand-Prince de quarta ordem:

( )
( )
5
1 0 2 3 4 5
0
1 0
2 0 1
3 0 1 2
4
35 500 125 2187 11
384 1113 192 6784 84
,
1 1
,
5 5
3 3 9
,
10 40 40
4 44 56 32
,
5 45 15 9
i i
i i
i i
i i
i i
i
y y h k k k k k O h
k f x y
k f x h y hk
k f x h y hk hk
k f x h y hk hk hk
k f x

1

=



( )
=
1

=



( )
1

=



( )
1

=



( )
=
0 1 2 3
5 0 1 2 3 4
8 19372 25360 64448 212
,
9 6561 2187 6561 729
9017 355 46732 49 5103
,
3168 33 5247 176 18656
i
i i
h y hk hk hk hk
k f x h y hk hk hk hk hk
1



( )
1

=



( )
(13.4.34)

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
105

13.4.4 Mtodo de Runge-Kutta (MRK5) de 5 Ordem
O mtodo a seguir devido a Butcher
12
:
( ) ( )
6
1 0 2 3 4 5
1
7 32 12 32 7
90
i i
y y h k k k k k O h

= (13.4.35)
com

( )
0
1 0
2 0 1
3 1 2
4 0 3
5 0 1 2 3 4
,
1 1
,
4 4
1 1 1
,
4 8 8
1 1
,
2 2
3 3 9
,
4 16 16
3 2 12 12 8
,
7 7 7 7 7
i i
i i
i i
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk hk
k f x h y hk hk
k f x h y hk hk
k f x h y hk hk hk hk hk
=
1

=



( )
1

=



( )
1

=



( )
1

=



( )
1

=

( )

(13.4.36)


12
John Charles Butcher matemtico neozelands (nasceu em 31de maro de 1933), especialista em mtodos numricos na soluo de EDO.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
106
Frmulas de DormandPrince de 5 ordem
A frmula do mtodo de Dormand-Prince de quinta ordem:

( )
6
1 0 2 3 4 5 6
5179 7571 393 92097 187 1
57600 16695 640 339200 2100 40
i i
y y h k k k k k k O h

1

=



( )


( )
0
1 0
2 0 1
3 0 1 2
4 0 1 2 3
5
,
1 1
,
5 5
3 3 9
,
10 40 40
4 44 56 32
,
5 45 15 9
8 19372 25360 64448 212
,
9 6561 2187 6561 729
i i
i i
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk hk
k f x h y hk hk hk
k f x h y hk hk hk hk
k
=
1

=



( )
1

=



( )
1

=



( )
1

=



( )
0 1 2 3 4
6 0 2 3 4 5
9017 355 46732 49 5103
,
3168 33 5247 176 18656
35 500 125 2187 11
,
384 1113 192 6784 84
i i
i i
f x h y hk hk hk hk hk
k f x h y hk hk hk hk hk
1

=



( )
1

=



( )
(13.4.37)


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
107

Exemplo
Seja aplicar os MRK de qualquer ordem para solucionar o PVI (exemplo j desenvolvido nas sees 13.3.2 e 13.3.3):
( )
2
1, 0,2 , 0 0.5
dy
y x x y
dx
l
= =
l

Cuja soluo exata ( ) ( )
2
1 0.5
x
y x x e = . Aplique o processo iterativo para 10 N = . Faa uma tabela
comparando os resultados obtidos com aqueles obtidos pelo resultado exato da EDO.
Soluo
Implementando a soluo por um programa especfico em Matlab , que calcula os valores obtidos pelos MRK (Heun, ponto
mdio e Ralston), o valor exato e os erros cometidos (diferena entre os valores achados) entre o valor exato da soluo e os
MRK. Assim,
%==================================================
%=== Test e MRK par a PI V comuma ni ca equao ===
%==================================================
cl ear ; cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%- - - dados i ni ci ai s
a = 0; b = 2; n = 20; ya = 0. 5; er r = 0. 0001; cust o=0;
%
[ x, yh, er ] = mr k( f , ya, a, b, n, 1) ; %heun
[ x, ym, er ] = mr k( f , ya, a, b, n, 2) ; %pont os medi os
[ x, yr , er ] = mr k( f , ya, a, b, n, 3) ; %r al st on
[ x, y3k, er ] = mr k( f , ya, a, b, n, 4) ; %3 or demKut t a
[ x, y3h, er ] = mr k( f , ya, a, b, n, 5) ; %3 or demHeun
[ x, y4, er ] = mr k( f , ya, a, b, n, 6) ; %4 or dem
[ x, y5, er ] = mr k( f , ya, a, b, n, 7) ; %5 or dem- But cher
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
108
%
di sp( ' ' ) ;
di sp( ' =====================================================================' ) ;
f pr i nt f ( ' === Val or es Apr oxi mados Ger ados pel os MRK e Sol uo Exat a N=%g' , n) ;
di sp( ' ====================================================================' ) ;
f pr i nt f ( ' \ n\ b- - - x- - val . ext =Heun= =Pt . Med Ral st on 3- Kut t a 3O- Huen 4Or dem5Or dem\ n' ) ;
f i gur e( 1) ;
f or i =1: n+1
yex( i ) =exat a( x( i ) ) ;
f pr i nt f ( ' x=%3. 2f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f %6. 5f \ n' , . . .
x( i ) , yex( i ) , yh( i ) , ym( i ) , yr ( i ) , y3k( i ) , y3h( i ) , y4( i ) , y5( i ) ) ;
end
z = st em( x, abs( yh- yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' bl ue' , ' Mar ker ' , ' o' )
z = st em( x, abs( ym- yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' r ed' , ' Mar ker ' , ' d' )
z = st em( x, abs( yr - yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' gr een' , ' Mar ker ' , ' s' )
z = st em( x, abs( y3k- yex) , ' f i l l ' , ' - - ' ) ;
set ( z, ' Mar ker FaceCol or ' , ' r ed' , ' Mar ker ' , ' p' )
z = st em( x, abs( y3h- yex) , ' f i l l ' , ' - - ' ) ;
set ( z, ' Mar ker FaceCol or ' , ' yel l ow' , ' Mar ker ' , ' s' )
z = st em( x, abs( y4- yex) , ' f i l l ' , ' - - ' ) ;
set ( z, ' Mar ker FaceCol or ' , ' bl ue' , ' Mar ker ' , ' p' )
z = st em( x, abs( y5- yex) , ' f i l l ' , ' - - ' ) ;
set ( z, ' Mar ker FaceCol or ' , ' gr een' , ' Mar ker ' , ' d' )
t i t l e( ' Gr f i co comos Er r os Li mi t es do PVI pel os Mt odos de Runge- Kut t a' ) ;
l egend( ' Heun' , ' Pont o Mdi o' , ' Ral st on' , ' 3odemKut t a' , ' 3odemHeun' , ' 4 or dem' , ' 5
or dem' , ' l ocat i on' , ' Nor t hWest ' ) ;
hol d of f ; f i gur e( 2) ;
pl ot ( x, yh, ' - . r ' ) ; hol d on; pl ot ( x, ym, ' - b' ) ; hol d on;
pl ot ( x, yr , ' +b' ) ; hol d on; pl ot ( x, y3k, ' xr ' ) ; hol d on;
pl ot ( x, y3h, ' xy' ) ; hol d on; pl ot ( x, y4, ' +g' ) ; hol d on;
pl ot ( x, y5, ' - xb' ) ; hol d on; pl ot ( x, yex, ' - g' ) ;
t i t l e( ' Sol uo de PVI pel os Mt odos Runge- Kut t a' ) ;
l egend( ' Heun' , ' Pont o Mdi o' , ' Ral st on' , ' 3odemKut t a' , ' 3odemHeun' , ' 4 or dem' , ' 5
or dem' , ' l ocat i on' , ' Nor t hWest ' ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
109

f unct i on [ x, y, er r o] = mr k( f unc, ya, a, b, n, t i po)
%=======================================
%Mt odo de Runge Kut t a de qq Or dem
%=======================================
%f = f uno y' =f ( x, y)
%ya = condi o i ni ci al
%a = l i mi t e i nf er i or
%b = l i mi t e super i or
%n = nmer o de passos - 1
%t i po = 1 = met odo de Heun
% 2 = mt od ods pont os medi os
% 3 = mt odo de Ral st on
% 4 = RK 3 or dem- Kut t a
% 5 = RK 3 or dem- Heun
% 6 = RK de 4 or dem
% 7 = RK de 5 or dem
%x = absci ssas
%y = apr oxi mao de y
%er r o - condi o de er r o
%
f = f cnchk( f unc) ;
er r o=' nor mal ' ;
i f t i po >= 8 | | t i po < 0
er r o = ' t i po er r ado' ;
r et ur n
end
%
h=( b- a) / n; %det er mi nao do passo
x=l i nspace( a, b, n+1) ; %di vi de ab emn+1 pont os = det . dos x( i )
y= zer os( 1, n+1) ; %apr ox
y( 1) = ya; %condi o i ni ci al
swi t ch t i po
case 1 %Heun
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = f eval ( f , x( i ) , y( i - 1) +k0*h) ; %k1 de Heun
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
110
y( i ) = y( i - 1) +( h/ 2) *( k0+k1) ; %mt odo de Heun
end
case 2 %pont o mdi o
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = f eval ( f , x( i - 1) +( h/ 2) , y( i - 1) +( k0*h/ 2) ) ; %k1 do pont o mdi o
y( i ) = y( i - 1) +k1*h; %met odo do pont o medi o
end
case 3 %Ral st on
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = f eval ( f , x( i - 1) +( 3*h/ 4) , y( i - 1) +( 3*k0*h/ 4) ) ; %k1 do Ral st on
y( i ) = y( i - 1) +( h/ 3) *( k0+2*k1) ; %mt odo de Ral st on
end
case 4 %3 or demKut t a
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = f eval ( f , x( i - 1) +( h/ 2) , y( i - 1) +( k0*h/ 2) ) ; %k1 do 3 or demKut t a
k2 = f eval ( f , x( i - 1) +h, y( i - 1) +2*h*k1- h*k0) ;
y( i ) = y( i - 1) +( h/ 6) *( k0+4*k1+k2) ; %mt odo de 3 or demKut t a
end
case 5 %3 or demHeun
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = f eval ( f , x( i - 1) +( h/ 3) , y( i - 1) +( k0*h/ 3) ) ; %k1 do 3 or demHeun
k2 = f eval ( f , x( i - 1) +( 2*h/ 3) , y( i - 1) +( 2*h*k1/ 3) ) ;
y( i ) = y( i - 1) +( h/ 4) *( k0+3*k2) ; %mt odo de 3 or demHeun
end
case 6 %4 or dem
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = f eval ( f , x( i - 1) +( h/ 2) , y( i - 1) +( k0*h/ 2) ) ; %k1 do 4 or dem
k2 = f eval ( f , x( i - 1) +h/ 2, y( i - 1) +h*k1/ 2) ;
k3 = f eval ( f , x( i - 1) +h, y( i - 1) +h*k2) ;
y( i ) = y( i - 1) +( h/ 6) *( k0+2*k1+2*k2+k3) ; %mt odo de 4 or dem
end
case 7 %5 or dem
f or i =2: n+1
k0 = f eval ( f , x( i - 1) , y( i - 1) ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
111
k1 = f eval ( f , x( i - 1) +( h/ 4) , y( i - 1) +( k0*h/ 4) ) ; %k1 do 5 or dem But cher
k2 = f eval ( f , x( i - 1) +( h/ 4) , y( i - 1) +( k0*h/ 8) +( k1*h/ 8) ) ;
k3 = f eval ( f , x( i - 1) +( h/ 2) , y( i - 1) - ( k1*h/ 2) +h*k2) ;
k4 = f eval ( f , x( i - 1) +3*h/ 4, y( i - 1) +( 3*k0*h/ 16) +( 9*k3*h/ 16) ) ;
k5 = f eval ( f , x( i - 1) +h, y( i - 1) - ( 3*k0*h/ 7) +( 2*k1*h/ 7) +( 12*k2*h/ 7) - ( 12*k3*h/ 7) +( 8*k4*h/ 7) ) ;
y( i ) = y( i - 1) +( h/ 90) *( 7*k0+32*k2+12*k3+32*k4+7*k5) ; %mt odo de 5 or dem
end
end
end

=======================================================================
=== Val or es Apr oxi mados Ger ados pel os MRK e Sol uo Exat a N=20
=======================================================================
- - - x- - val . ext =Heun= =Pt . Med Ral st on 3- Kut t a 3O- Huen 4Or dem5Or dem
x=0. 00 0. 50000 0. 50000 0. 50000 0. 50000 0. 50000 0. 50000 0. 50000 0. 50000
x=0. 10 0. 65741 0. 65700 0. 65725 0. 65712 0. 65741 0. 65741 0. 65741 0. 65741
x=0. 20 0. 82930 0. 82844 0. 82896 0. 82870 0. 82929 0. 82929 0. 82930 0. 82930
x=0. 30 1. 01507 1. 01372 1. 01455 1. 01414 1. 01505 1. 01506 1. 01507 1. 01507
x=0. 40 1. 21409 1. 21221 1. 21338 1. 21280 1. 21406 1. 21407 1. 21409 1. 21409
x=0. 50 1. 42564 1. 42319 1. 42474 1. 42396 1. 42560 1. 42562 1. 42564 1. 42564
x=0. 60 1. 64894 1. 64588 1. 64783 1. 64686 1. 64890 1. 64892 1. 64894 1. 64894
x=0. 70 1. 88312 1. 87940 1. 88180 1. 88060 1. 88307 1. 88310 1. 88312 1. 88312
x=0. 80 2. 12723 2. 12278 2. 12569 2. 12424 2. 12717 2. 12720 2. 12723 2. 12723
x=0. 90 2. 38020 2. 37497 2. 37844 2. 37671 2. 38013 2. 38016 2. 38020 2. 38020
x=1. 00 2. 64086 2. 63480 2. 63888 2. 63684 2. 64078 2. 64082 2. 64086 2. 64086
x=1. 10 2. 90792 2. 90095 2. 90571 2. 90333 2. 90782 2. 90787 2. 90791 2. 90792
x=1. 20 3. 17994 3. 17200 3. 17751 3. 17476 3. 17983 3. 17990 3. 17994 3. 17994
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x=1. 70 4. 55303 4. 53898 4. 54960 4. 54429 4. 55285 4. 55297 4. 55302 4. 55303
x=1. 80 4. 81518 4. 79962 4. 81160 4. 80561 4. 81499 4. 81512 4. 81517 4. 81518
x=1. 90 5. 06705 5. 04988 5. 06337 5. 05663 5. 06685 5. 06700 5. 06705 5. 06705
x=2. 00 5. 30547 5. 28657 5. 30172 5. 29415 5. 30525 5. 30542 5. 30546 5. 30547
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
112




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
113


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
114





Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
115

3.4.5 Mtodo de Runge-Kutta (MRKA) Adaptativos
Os mtodos apresentados anteriormente tinham uma coisa em comum: o espaamento entre pontos
ou passo fixo, h. Os mtodos adaptativos, como o que ser apresentado neste tpico, procura adaptar
o tamanho de h em funo das caractersticas da derivada da funo, isto , onde for necessrio umh
menor ele providenciar de modo a que no se perca preciso dos resultados buscados.
Os algoritmos que tm esta caracterstica so ditos adaptativos no controle do tamanho do passo.
Mtodo de Runge-Kutta-Fehlberg - MRKF
O mtodo a seguir devido a Erwin Fehlberg
13
, e denominado de Runge-Kutta-Fehlberg (RKF) e
utiliza um MRK com erro de truncamento local de 5 ordem para avaliar o valor procurado

1 0 2 3 4 5
5
16 6656 28561 9 2
135 12825 56430 50 55
i i
ordem
h

1

=



( )
y y k k k k k (13.4.38)
para estimar o erro local em um MRK de 4 ordem dado por:

1 0 2 3 4
25 1408 2197 1
216 2565 4104 5
i i
h

1

=



( )
y y k k k k (13.4.39)

13
Matemtico alemo que apresentou o mtodo em 1964 no trabalho intitulado Frmulas classical Low-order de Runge-Kutta com controle do tamanho
de etapa e sua aplicao a alguns problemas de transferncia de calor. Relatrio tcnico 315 da NASA.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
116
com

( )
0
1 0
2 0 1
3 0 1 2
4 0 1 2 3
5
. ,
1 1
. ,
4 4
3 3 9
. ,
8 32 32
12 1932 7200 7296
. ,
13 2197 2197 2197
439 3680 845
. , 8
216 513 4104
i i
i i
i i
i i
i i
h x
h x h
h x h
h x h
h x h
=
1

=



( )
1

=



( )
1

=



( )
1

=



( )
k f y
k f y k
k f y k k
k f y k k k
k f y k k k k
k
0 1 2 3 4
1 8 3544 1859 11
. , 2
2 27 2565 4104 40
i i
h x h
1

=



( )
f y k k k k k
(13.4.40)


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
117
A tabela de Butcher para este mtodo :


0
1/4 1/4

3/8 3/32 9/32

12/13 1932/2197 7200/2197 7296/2197

1 439/216 8 3680/513 845/4104
1/2 -8/27 2 3544/2565 1859/4104 11/40


25/216 0 1408/2565 2197/4104 1/5 0

16/135 0 6656/12825 28561/56430 9/50 2/55


A primeira linha de coeficientes (abaixo da linha horizontal) representam o mtodo de quarta ordem
de preciso e a segunda linha o mtodo de quinta ordem de preciso.
O procedimento deste mtodo associado ao erro de truncamento local produzido aplicando o MRK
de n-sima ordem com um novo passo de tamanho qh que pode ser estimado usando:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
118

( )
( )
1
1 1
1 1
n
n
i i
i i
q
x
h
h
q
x
e
e


_
1


_



( )
y y
y y
(13.4.41)
No processo, quando 1 q < rejeita-se a escolha inicial de h no i-simo passo e repetem-se os clculos
usando qh; quando 1 q _ se aceita o valor calculado no i-simo passo usando he muda-se o tamanho
do passo para qh para o (i+1)-simo clculo.
No caso especfico do mtodo de Runge-Kutta-Fehlberg (RKF), como se usa um MRK de 4 ordem,
ento

1 1
4 4
1 1 1 1
5 4 5 4
0.84
2
i i i i
Ordem Ordem Ordem Ordem
h h
q
e e

1 1



_ =





( ) ( )
y y y y
(13.4.42)
onde e o erro mximo admitido.
A diferena
1 1
5 4
atual i i
Ordem Ordem

^ = y y calculada cujo resultado dado por:

0 2 3 4 5
1 128 2197 1 2
360 4275 75240 50 55
atual
h
1

^ =



( )
k k k k k (13.4.43)
Deve-se tambm controlar, no processo do algoritmo de RKF o tamanho mximo e mnimo do passo,
max
h e
min
h para se evitar passos muito pequenos e desperdcio de tempo em regies com
irregularidades nas derivadas de y e tambm evitar grandes passos, os quais podem resultar perda de
preciso.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
119
A seguir mostra-se uma funo, em Matlab, onde se implementa o mtodo de RKF:
%==================================================
%=== Test e MRKF par a PI V comuma ni ca equao ===
%==================================================
cl ear ; cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%- - - dados i ni ci ai s
a = 0; b = 2; n = 10;
ya = 0. 5; t ol = 0. 001;
%
[ x, yh, er ] = mr kf ( f , ya, a, b, n, 0. 01, t ol ) ; %f ehl ber g
%
di sp( ' ' ) ;
di sp( ' =====================================================================' ) ;
f pr i nt f ( ' === Val or es Apr oxi mados Ger ados pel os MRK e Sol uo Exat a N=%g==' , n) ;
di sp( ' ====================================================================' ) ;
f pr i nt f ( ' \ n\ b- - - x- - val . ext =Fehl ber g= =Er r o= \ n' ) ;
f i gur e( 1) ;
f or i =1: n+1
yex( i ) =exat a( x( i ) ) ;
f pr i nt f ( ' x=%3. 2f %6. 5f %9. 8f %9. 8f \ n' , . . .
x( i ) , yex( i ) , yh( i ) , yex( i ) - yh( i ) ) ;
end
z = st em( x, abs( yh- yex) , ' f i l l ' , ' - - ' ) ; hol d on;
set ( z( 1) , ' Mar ker FaceCol or ' , ' bl ue' , ' Mar ker ' , ' o' )
t i t l e( ' Gr f i co Met odo Fehl ber g comos Er r os do PVI ' ) ;
l egend( ' Fehl ber g' , ' l ocat i on' , ' Nor t hWest ' ) ;
hol d of f ;
f i gur e( 2) ;
pl ot ( x, yh, ' - dr ' ) ; hol d on;
pl ot ( x, yex, ' +- b' ) ;
t i t l e( ' Sol uo de PVI pel o Mt odo Runge- Kut t a- Fehl ber g' ) ;
l egend( ' Fehl ber g' , ' Sol . Exat a' , ' l ocat i on' , ' Nor t hWest ' ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
120

f unct i on [ x, y, er r o] = mr kf ( f unc, ya, a, b, n, hmi n, t ol )
%================================================
%Mt odo de Runge Kut t a Fahl ber g no vet or i al
%================================================
%f = f uno y' =f ( x, y)
%ya = condi o i ni ci al
%a = l i mi t e i nf er i or
%b = l i mi t e super i or
%n = nmer o de passos - 1
%hmi n = passo mi ni mo
%t ol = t ol er anci a ou er r o mxi mo admi t i do
%x = absci ssas
%y = apr oxi mao de y
%er r o - condi o de er r o
%
f = f cnchk( f unc) ; er r o=' nor mal ' ;
%
hmax =( b- a) / n; %det er mi nao do passo maxi mo
x = zer os( 1, 1) ; %x emn+1 pont os = det . dos x( i )
y = zer os( 1, 1) ; %apr ox y
%
i = 1; %pr i mei r o pont o
x( i ) = a;
y( i ) = ya; %condi o i ni ci al
f l ag = 1; %=1 i ndi ca condi o de cl cul o ok
i = 2; h = hmax; k = 0;
whi l e f l ag == 1
k = k +1;
k0 = h*f eval ( f , x( i - 1) , y( i - 1) ) ;
k1 = h*f eval ( f , x( i - 1) +( h/ 4) , y( i - 1) +( k0/ 4) ) ;
k2 = h*f eval ( f , x( i - 1) +( 3*h/ 8) , y( i - 1) +( 3*k0/ 32) +( 9*k1/ 32) ) ;
k3 = h*f eval ( f , x( i - 1) +( 12*h/ 13) , y( i - 1) +( 1932*k0/ 2197) - ( 7200*k1/ 2197) +( 7296*k2/ 2197) ) ;
k4 = h*f eval ( f , x( i - 1) +h, y( i - 1) +( 439*k0/ 216) - 8*k1+( 3680*k2/ 513) - ( 845*k3/ 4104) ) ;
k5 = h*f eval ( f , x( i - 1) +( h/ 2) , y( i - 1) - ( 8*k0/ 27) +( 2*k1) - ( 3544*k2/ 2565) +( 1859*k3/ 4104) - ( 11*k4/ 40) ) ;
R = abs( ( k0/ 360) - ( 128*k2/ 4275) - ( 2197*k3/ 75240) +( k4/ 50) +( 2*k5/ 55) ) / h;
i f R < t ol
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
121
y( i ) = y( i - 1) +( 25*k0/ 216) +( 1408*k2/ 2565) +. . .
( 2197*k3/ 4104) - ( k4/ 5) ; %mt odo de 5 or dem
x( i ) = x( i - 1) + h;
i f x( i ) >= b
r et ur n
end
i = i + 1;
end
q = 0. 84*( h*t ol / R) ^( 1/ 4) ;
i f i snan( q)
di sp( ' er r o = q no numr i co' ) ;
r et ur n
end
i f q <= 0. 1
q = 0. 1;
el se
i f q >= 4
q = 4;
end
end
h = q*h;
i f h > hmax
h = hmax;
end
i f x( i - 1) + h >= b
h = b - x( i - 1) ;
el se
i f h < hmi n
h = hmi n;
end
end
end


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
122

======================================================================
==== Val or es Apr oxi mados Ger ados pel os MRK e Sol uo Exat a N=10 ====
======================================================================
- - - x- - val . ext =Fehl ber g= =Er r o=
x=0. 00 0. 50000 0. 50000000 0. 00000000
x=0. 20 0. 82930 0. 82929908 - 0. 00000046
x=0. 40 1. 21409 1. 21408863 - 0. 00000098
x=0. 60 1. 64894 1. 64894217 - 0. 00000157
x=0. 80 2. 12723 2. 12723178 - 0. 00000224
x=1. 00 2. 64086 2. 64086209 - 0. 00000300
x=1. 20 3. 17994 3. 17994539 - 0. 00000385
x=1. 40 3. 73240 3. 73240480 - 0. 00000479
x=1. 60 4. 28348 4. 28348960 - 0. 00000582
x=1. 80 4. 81518 4. 81518320 - 0. 00000693
x=2. 00 5. 30547 5. 30548007 - 0. 00000812



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
123
Mtodo de Runge-Kutta-Cash-Karp - MRKCK
semelhana ao mtodo de Fehlberg, Cash
14
e Karp
15
desenvolveram, em 1990, novos coeficientes para
o MRK de 4 ordem e de 5 ordem para estimarem o erro cometido. Dessa forma, se tem o MRK de 4
ordem para estimar inicialmente o
1 i
y

:

1 0 2 3 5
37 250 125 512
378 621 594 1771
i i
y y h k k k k

1

=



( )
(13.4.44)
Logo depois se calcula novamente
1 i
y

por uma frmula MRK de 5 ordem:



1 0 2 3 4 5
2825 18575 13525 277 1
27648 48384 55296 14336 4
i i
y y h k k k k k

1

=



( )
(13.4.45)
De modo que o erro de truncamento
1 1
5 4
i i
ordem ordem
y y

^ = , e com os coeficientes calculados
pelas frmulas:

14
Jeff R. Cash, professor do Imperial College London
15
Alan H. Karp, pesquisador do IBM Scientific Center
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
124

( )
0
1 0
2 0 1
3 0 1 2
4 0 1 2 3
5 0
,
1 1
,
5 5
3 3 9
,
10 40 40
3 3 9 6
,
5 10 10 5
11 5 70 35
,
54 2 27 27
7 1631
,
8 55296
i i
i i
i i
i i
i i
i i
k f x y
k f x h y hk
k f x h y hk hk
k f x h y hk hk hk
k f x h y hk hk hk hk
k f x h y hk
=
1

=



( )
1

=



( )
1

=



( )
1

=



( )
=
1 2 3 4
175 575 44275 253
512 13824 110592 4096
hk hk hk hk
1



( )
(13.4.46)

Este mtodo, que uma mudana do mtodo de Fehlberg, tem a seguinte tabela de Butcher:


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
125





0

1/5 1/5

3/10 3/40 9/40

3/5 3/10 9/10 6/5

1 11/54 5/2 70/27 -35/27

7/8 1631/55296 175/512 575/13824 44275/110592 253/4096



37/378 0 250/621 125/594 0 512/1771

2825/27648 0 -18575/48384 13525/55296 277/14336 1/4

A primeira linha so os coeficientes da soluo de Cash-Karp de quinta ordem de preciso e a segunda
linha a de quarta ordem de preciso.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
126
Precisa-se, agora, estimar o passo adaptativo, para isso usa-se o erro:

1 1
5 4
atual i i
ordem ordem
y y

^ =
Para isso, seja
req
e o erro requerido no processo ou mximo desejado, ento

req
novo atual
atual
h h
b
e
=
^
(13.4.47)
onde a constante b depende da ordem n da equao de estimao inicial, isto , no caso em estudo
igual a
1 1 1
0,20
1 4 1 5 n
= = =

quando
atual req
e ^ _ e deve ser igual a
1 1
0,25
4 n
= = quando
atual req
e ^ < .
Note que o fator determinante do processo, na equao (13.4.47)
atual
^ devido a que ele define a
preciso desejada.

Exemplo:
Encontre a soluo do PVI:
2 2
( 2) / [2(0.075) ]
0.6 10 ; y(0) 0.5 t 0,4
t
dy
y e
dt

l
= =
l
pelo mtodo de RK- Cash e
Karp. Deixamos como exerccio o desenvolvimento do procedimento em Matlab. A seguir mostra-se o resultado esperado
pelo seu programa Matlab:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
127






Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
128

13.4.6 Mtodo de Runge-Kutta-Verner de 6 Ordem - MRKV
Outro MRK adaptativo o devido a J. H. Verner que semelhante ao mtodo de Fehlberg, mas adota
duas equaes, uma de 5 ordem e outra de 6 ordem. O processo usa o mtodo de 6 ordem para
avaliar o erro no mtodo de 5 ordem.
Assim,

1 0 2 3 4 5
5
13 2375 5 12 3
160 5984 16 85 44
i i
Ordem
y y k k k k k

1

=



( )
(13.4.48)

1 0 2 3 4 6 7
6
3 875 23 264 125 43
40 2244 72 1955 11592 616
i i
Ordem
y y k k k k k k

1

=



( )
(13.4.49)
onde

( )
0
1 0
,
1 1
,
6 6
i i
i i
k hf x y
k hf x h y k
=
1

=



( )
(13.4.50)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
129

2 0 1
3 0 1 2
4 0 1 2 3
5 0 1 2 3 4
6
4 4 16
,
15 75 75
2 5 8 5
,
3 6 3 2
5 165 55 475 85
,
6 64 6 64 96
12 4015 11 88
, 8
5 612 36 255
1
i i
i i
i i
i i
i
k hf x h y k k
k hf x h y k k k
k hf x h y k k k k
k hf x h y k k k k k
k hf x
1

=



( )
1

=



( )
1

=



( )
1

=



( )
=
0 1 2 3 4
7 0 1 2 3 4 6
8263 124 643 81 2484
,
15 15000 75 680 250 10625
3501 300 297275 319 24068 3850
,
1720 43 52632 2322 84065 26703
i
i i
h y k k k k k
k hf x h y k k k k k k
1



( )
1

=



( )

A implementao em Matlab de uma funo que calcule a aproximao de um ODE (num PVI)
similar ao que se fez para o MRK-Fehlberg, e fica como exerccio; no se esquecer de fazer a adaptao
de h conforme equao (13.4.47).
Os mtodos de resoluo adaptativos dependem, naturalmente, da funo que se est modelando.
Eles so particularmente vantajosos para aquelas solues nas quais existem regies onde h
mudanas abruptas no comportamento normal da curva-soluo.




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
130
13.4.7 Comandos ode45 e ode23 do Matlab
No Matlab existem inmeras funes e comandos para soluo de EDO. Os comandos que se
apresenta a seguir utilizam o mtodo de Runge-Kutta, para a soluo de equaes diferenciais
ordinrias no rgidas (non-stiff):
ode45 baseada na frmula de Runge-Kutta (4,5) devido a Dormand-Prince; um
comando que opera semelhantemente aos mtodos apresentados na seo 13.4; em
geral, a melhor funo a ser aplicada numa primeira aproximao para grande nmero
de problemas.
ode23 baseada na formula explcita de Runge-Kutta (2,3) devido a Bogacki
16
e
Shampine
17
em 1989. Ele mais eficiente que o comanda ode45 quando a tolerncia ou
preciso mais exigente.
A sintaxe desses comandos :
[t,Y] =ode23(odefun,tspan,y0,opes)
[t,Y] =ode45(odefun,tspan,y0,opes)
Ambas as funes compartilham a sintaxe, fazendo com que se torne mais simples o uso de qualquer
dos comandos para tentar usar diversos mtodos numricos:
( ) , , , 0, t y solver odefun tspan y opes
l
=
l
(13.4.51)
onde solver pode ser tanto ode23 como ode45. Os argumentos de entrada so:

16
Przemyslaw Bogacki
17
Lawrence F. Shampine
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
131
odefun funo que avalia o sistema ODE e deve ter a seguinte forma:
dydt =odefun(t,y), onde t um escalar e dydt e y so vetores coluna;
tspan um vetor especificando o intervalo de integrao, [t0,tf]. Para se obter soluo
em pontos especficos (todos em ordem crescente ou decrescente) deve-se usar tspan =
[t0, t1, ..., tf].
y0 um vetor com as condies iniciais para o problema.
opes so parmetros adicionais que modificam as propriedades padres de
integrao da EDO. Dentre as opes que modificam as propriedades se incluem um
escalar denominado de tolerncia de erro relativo RelTol (que tem por valor padro
3
10

) e um vetor das tolerncias de erros absolutos AbsTol (cujo todos os componentes


do vetor tm valor padro de
6
10

). Outras opes consultar o manual do Matlab.


Os parmetros de sada so:
t um vetor coluna com os pontos t, desde tspan(1) at tspan(end).
y um vetor onde cada linha corresponde a soluo do problema no tempo t retornado
na linha correspondente de t. y ter tantas colunas quanto forem as funes do sistema a
ser resolvido.

Exemplos:
1. Seja determinar, usando ode45, a soluo aproximada do PVI:
( ) ; 1 2, 1, 3
dy
y x x x
dx
l
= =
l

Sabendo-se que a sua soluo exata
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
132
( )
1
4 1
x
y x e x

=
Compare o resultado obtido pelo comando ode45 e o valor exato e plote os erros relativos e absolutos cometidos.
Soluo
Primeiramente constri-se a funo contendo ( ) , f x y y x = :
f unct i on f = ex1( x, y)
f = x+y;
Agora constroi-se a rotina que utilizar a funo acima para resolver equao e plotar as informaes solicitadas:
cl c; cl ear ;
%cal cul o da sol uo apr oxi mada por ode45
[ x, y] = ode45( @ex1, [ 1 3] , 2) ;
f i gur e( 1) ;
subpl ot ( 2, 2, 1: 2) ;
pl ot ( x, y, ' o- r ' ) , xl abel ( ' t empo x' ) , yl abel ( ' val or de y( x) ' ) ;
%cal cul o da f uno exat a nos pont os x
exat a = 4*exp( x- 1) - x- 1;
hol d on;
pl ot ( x, exat a, ' b' ) ;
l egend( ' apr ox por ode45' , ' val or exat o' , ' l ocat i on' , ' Nor t hWest ' ) ;
%cal cul o do er r o absol ut o
er r oabs = abs( y- exat a) ;
subpl ot ( 2, 2, 3) ;
pl ot ( x, er r oabs) , xl abel ( ' t empo x' ) , yl abel ( ' er r o absol ut o' ) ;
%cal cul o do er r o r el at i vo
er r or el = abs( y- exat a) . / abs( exat a) ;
subpl ot ( 2, 2, 4) ;
pl ot ( x, er r or el , ' r ' ) , xl abel ( ' t empo x' ) , yl abel ( ' er r o r el at i vo' ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
133



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
134
V-se que o erro absoluto no ultrapassa a
6
10

definido como padro enquanto o erro relativo, cujo padro definido por
3
10

, da ordem de
7
10

.
2. Seja solucionar um sistema de equaes descrevendo o movimento de um corpo rgido sem foras externas, definido por:

( )
( )
( )
1 2 3 1
2 1 3 2
3 1 2 3
0 0, 0,12
, 0 1, 0,12
0.51 , 0 1, 0,12
y y y y x
y y y y x
y y y y x
l = =
l
l
= =
l
l = =
l

Soluo
Para simular este sistema deve-se criar uma funo que descreva as equaes do sistema dado; se denominando de rgida
esta funo contendo as equaes, se tem:
f unct i on dy = r i gi d( t , y)
dy = zer os( 3, 1) ; %a col umn vect or
dy( 1) = y( 2) * y( 3) ;
dy( 2) = - y( 1) * y( 3) ;
dy( 3) = - 0. 51 * y( 1) * y( 2) ;
Neste exemplo se modificar o valor da tolerncia do erro usando a opo ResTol ativando-a para o valor de
4
10

e
resolvendo o sistema no intervalo de tempo [0,12] com o vetor de condies iniciais igual a y0 =[0 11] no tempo 0.
cl c; cl ear ;
opt i ons = odeset ( ' Rel Tol ' , 1e- 4, ' AbsTol ' , [ 1e- 4 1e- 4 1e- 5] ) ;
[ T, Y] = ode45( @r i gi d, [ 0 12] , [ 0 1 1] , opt i ons) ;
pl ot ( T, Y( : , 1) , ' - ' , T, Y( : , 2) , ' - . ' , T, Y( : , 3) , ' . ' )
t i t l e( ' Sol uo de PVI pel o Mt odo ode45 do Mat l ab' ) ;
l egend( ' T ver sus Y( 1) ' , ' T ver sus Y( 2) ' , ' T ver sus Y( 3) ' , ' l ocat i on' , ' East Out si de' ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
135
O grfico produzido por este programa o mostrado na figura abaixo:



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
136

3. Neste exemplo calcular-se- um sistema de trs equaes Y AY =
`
onde

1
2
3
0.25 3.0 0
3.0 0.25 0 ;
0 0 0.2
dy
dx
dy
A Y
dx
dy
dx
1



= =







( )




( )
`

com 0,100 x
l

l
e condies iniciais 2; 1; 1
l

l
. Deseja-se encontrar as funes
1 2 3
, , y y y bem como encontrar o grfico
do espao de fases da soluo.
Soluo
semelhana do que se fez nos exemplos anteriores, primeiro estabelece-se a funo para x A :
f unct i on f = ex3( x, y)
A = [ - 0. 25 3. 0 0; - 3. 0 - 0, 25 0; 0 0 - 0. 2] ;
f =A*x
Agora, desenvolvendo-se a rotina para determinar os resultados desejados utilizando-se a funo ode45 e plotando-se a
soluo encontrada:
cl c; cl ear ; cl f ;
%cal cul o da sol uo apr oxi mada por ode45
[ x, y] = ode45( ' ex3' , [ 0 100] , [ 2; - 1; - 1] ) ;
f i gur e( 1) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
137
subpl ot ( 3, 1, 1) ;
pl ot ( x, y( : , 1) ) , xl abel ( ' t empo x' ) , yl abel ( ' val or de y1( x) ' ) ;
t i t l e( ' Sol uo do Si st ema dY=AY pel o Mt odo ode45 do Mat l ab' ) ;
subpl ot ( 3, 1, 2) ;
pl ot ( x, y( : , 2) ) , xl abel ( ' t empo x' ) , yl abel ( ' val or de y2( x) ' ) ;
subpl ot ( 3, 1, 3) ;
pl ot ( x, y( : , 3) ) , xl abel ( ' t empo x' ) , yl abel ( ' val or de y3( x) ' ) ;
%cal cul o do gr f i co do espao de f ases
f i gur e( 2) ;
pl ot 3( y( : , 1) , y( : , 2) , y( : , 3) )
xl abel ( ' Y1' ) , yl abel ( ' Y2' ) , zl abel ( ' Y3' ) ;
t i t l e( ' Espao de Fase da Sol uo do Si st ema dY=AY' ) ;


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
138




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
139

Espao de Fases da Soluo do Exercicio 3

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
140
13.4.8 Comandos ode15s, ode23s, ode23t e ode23tb do Matlab
Na seo 13.4.7 apresentou-se as funes do Matlab para a soluo de equaes diferenciais ordinrias
no rgidas. Entretanto para as equaes ditas rgidas (stiff) o Matlab fornece outras quatro funes:
ode15s funo para soluo de ODE rgidas de ordem varivel baseado em mtodos
multipassos. Deve ser utilizada sempre que se desconfiar que a ODE seja rgida ou que o
uso da funo ode45 falhar na determinao da soluo;
ode23s uma funo baseada na formula de Rosenbrock de 2 ordem; devido a que ela
baseada num mtodo de um nico passo, ela mais eficiente que a funo ode15s.
ode23t uma funo para soluo de ODE baseado na regra trapezoidal usando
interpolao livre. Ela deve ser empregada quando o problema posto moderadamente
rgido ou quando se necessita de uma soluo numrica sem amortecimento.
ode23tb uma funo implementada baseada no mtodo de Runge-Kutta; ela mais
eficiente que a funo ode15s quando se necessita de uma tolerncia grosseira.
A sintaxe dessas funes a mesma apresentada em (13.4.51), portanto segue as mesmas caractersticas
expostas na seo anterior.



Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
141
13.5 Rigidez e Mtodos Multipassos
13.5.1 Rigidez de EDO
Definio: Uma EDO ser considerada rgida se o tamanho do passo, h , durante o
processo de integrao por mtodos convencionais determinado pela estabilidade ou convergncia
de uma interao, como a realizado pelo controle do erro local.
Note que por mtodos convencionais entende-se, por exemplo, o mtodo de Adams multipassos ou os
mtodos explcitos de Runge-Kutta.
Esta definio implica que o problema ou no rgido depender da tolerncia (TOL ou e) e do
comprimento do intervalo de integrao, b a , pois o problema poder ser rgido em apenas uma
parte do comprimento de integrao.
Definio: Um sistema linear EDO ( )
dy
A x y
dx
= com coeficientes constantes dito ser
um sistema rgido (ou tem rigidez) se:
Todos os autovalores de ( ) A x tm partes real no positiva, isto , ( )
Re 0, 1,...,
j
j n l _ = ;
A parte real no nula dos autovalores so fortemente espelhados na magnitude
( )
( )
1
1
max Re
1
min Re
j
j n
j
j n
s
l
l
_ _
_ _

, e
O intervalo de integrao
( ) ( )
0
1
max Re . 1.
j n
j n
x x l
_ _

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
142
O termo rgido associado dificuldade de se achar uma soluo numrica para um sistema de
EDO. Um sistema rgido, na prtica, aquele que envolve mudanas rpidas nos componentes junto
com mudanas lentas de outros componentes. Muitas vezes, as variaes rpidas nos componentes
so transientes que morrem rapidamente, aps o que a soluo se torna dominada por pequenas
variaes destes.
Tanto sistemas quanto equaes simples podem ser rgidas. Por exemplo, a equao
1000 3000 2000
x
dy
y e
dx

= (13.5.1)
rgida; se ( ) 0 0 y = a soluo analtica

1000
3 0.998 2.002
x x
y e e

= (13.5.2)
Cuja forma grfica , conforme gerado por um programa Matlab:
y = @( x) 3- 0. 998*exp( - 1000*x) - 2. 002*exp( - x) ;
x=l i nspace( 0, 6) ;
f =y( x) ; subpl ot ( 1, 2, 1) ; pl ot ( x, f ) ;
g=y( x) ; subpl ot ( 1, 2, 2) ; pl ot ( x, g) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
143

Como se v a soluo inicialmente dominada por um termo exponencial muito rpido (
1000x
e

); aps
um intervalo ( 0.005 x < ) esse transiente deixa de ser dominante e a soluo passa a ser dominada por
uma exponencial lenta (
x
e

).

0 2 4 6
0
0.5
1
1.5
2
2.5
3
0 0.05 0.1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
144
13.5.2 Mtodos de Rosenbrock
Os processos implcitos de soluo de EDO levam a mtodos que so difceis de serem aplicados, em
geral, devido a que em cada passo de integrao, 1,2, , k n = . , precisa ser determinado como uma
soluo de um sistema de n equaes no lineares, como visto na seo 13.4 anterior.
Rosenbrock, dentre outros, props um mtodo de soluo numrica para sistemas de ODE,
generalizando os mtodos explcitos de Runge-Kutta j estudados anteriormente. Para tanto seja o
sistema
( ) ( )
0 0 0
, , ,
n
n
d
f x y x x x y x y
dx
= _ _ =
y
(13.5.3)
Definio: Um mtodo explcito de nico passo, com n-estgios para soluo de
(13.5.3), do tipo (ou da forma):
( )
1
1
1
1
1
10
, , , 1,...,
0
i i j j
j
j
j i i i i i j j i jl l
l
y y bk
k h haJ x y f x h y k j
n
g b n
b

=
=
1

l
= =


( )
=
_
_
I (13.5.4)
dito ser um Mtodo Tpico de Rosenbrock (MTR) para a soluo de um problema tipo (13.5.3), onde
em (13.5.4) I a matriz unitria e ( ) ( ) , ,
d
J x y f x y
dy
= matriz jacobiana do lado direito de (13.5.3)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
145
calculado no ponto ( ) , x y ; , , ,
j j jl
p a g b so parmetros reais, que devem ser escolhidos de forma a obter
a preciso e as propriedades de estabilidade desejveis, e
i
h o passo de integrao no n
i
x da malha.
Se 0 a = , os MTRs so transformados em mtodos explcitos de Runge-Kutta. Assim, para o
desenvolvimento dos mtodos de Rosenbrock, considerar-se- 0 a . Um mtodo MTR
completamente definido pelo esquema de parmetros

1
2 21
3 31 32
1 2 , 1
1 2
m m m mm
m
a
b b b
g
g b
g b b
g b b b

. . .

(13.5.5)

Observe que no caso de um sistema de EDOs autnomas, a coluna com os parmetros
j
g so
omitidos.
Em cada n da malha, nos m estgios do MTR requerido os seguintes clculos:
Calculo de m no lado direito do sistema ODE;
Uma matriz jacobiana do lado direito do sistema ODE;
Uma decomposio LU da matriz ( ) ,
i i i
haA x y
l

l
I de dimenso i i ;
Clculo de msolues do sistema algbrico de equaes lineares com uma matriz
triangular superior;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
146
Utilizando a norma matricial euclidiana:

0
max
y
y
y =
=
J
J (13.5.6)
a qual consistente com a norma vetorial euclidiana:
y y _ J J (13.5.7)
V-se que o lado direito de (13.5.3) precisa satisfazer as seguintes condies:
A norma da funo vetorial ( ) , x y f e a norma da matriz jacobiana ( ) , x y J devem ser uniformemente
limitadas para todo
0, n
x x x
l

l
l
e
n
y , isto ,

( )
( )
,
,
J
f
x y M
x y M
_
_
J
f
(13.5.8)
As funes ( ) , x y f e ( ) , x y J precisam satisfazer a condio de Lipschitz com relao a y , ou seja,

( ) ( )
( ) ( )
1 1
1 1
, ,
, ,
i i J i i
i i f i i
x y x y L y y
x y x y L y y


_
_
J J
f f
(13.5.9)
para todo 1,..., 1 i n = .
Se o passo de integrao satisfizer a inequao

1
0
2
J
h
aM
< < (13.5.10)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
147
Ento, face s desigualdades A B A B _ e A B A B _ , as desigualdades (13.5.7), (13.5.8), e
(13.5.9) produzem o seguinte:

( ) ( ) ( )
( )
( )
1
1
1
1
, ,
1 ,
1
1 2
1
j
j
j
j j
j
j
j
J
ha x y ha x y
h a x y
haM

=
l
_ _
l
_ _
_ _

_
_
_
I J I J
J (13.5.11)

( ) ( ) ( )
( ) ( )
( )
1 1 1
1
1 1
1
1
1
1
1
, , ,
, ,
,
4
2
i i i
i i
i
J i i
J
i i
L
ha x y ha x y ha x y
ha x y ha x y
ha x y
haL y y
L
y y
M

l l l
_
l l l
l l

l l
l

l
_
_
I J I J I J
I J I J
I J
-
- (13.5.12)
E assim sucessivamente.
importante tambm a questo da estabilidade do mtodo. Portanto define-se:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
148
Definio: Um mtodo chamado A-estvel no sentido de Dahlquist se e somente se
a relao
1
1
i
i
y
c
y

= _ se mantiver quando o mtodo for aplicado com qualquer passo h para a


equao teste

dy
y
dx
l =
Onde l uma constante complexa com parte real negative, isto , ( ) Re 0 l < .
Definio: Um mtodo chamado L-estvel se ele A-estvel e 0 c quando
h l .

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
149
Metodo de Rosenbrock para EDO implicitas
Para um sistema EDO implcito do tipo
( )
0 0 0
( , ), , : ,
n n n
f
My f x y y x y f x x x = = _ _ ` R R R R (13.5.13)
um mtodo de Rosenbrock de n-estgios internos dado por

1
1
1 1
2
1 1
,
1,2,...,
i i j j
j
i j
j i j i jl l jl l j
l l
y y h bk
Mk hf x h y k h k h
j
n
a a g g
n

=

= =
=
1


( )
=
_
_ _
J T (13.5.14)
Onde h o passo,
ij
a ,
ij
g e
i
b so os parametros do mtodo, ( ) ,
n n
f x y
y
0
=
0
J o jacobiano de f em
( ) ,
n n
x y , ( ) ,
n n
f x y
x
0
=
0
T ,
1
1
j
j jl
l
a a

=
=
_
,
1
1
j
j jl
l
g g

=
=
_
; os valores de
j
k so as incgnitas. Os parmetros
jl
a ,
jl
g e
j
b precisam ser escolhidos de tal forma que algumas condies de ordem sejam atendidas para se
obter uma consistncia de ordem suficiente para garantir a estabilidade do mtodo.
As condies de ordem para diversos mtodos de Rosenbrock, dependendo da ordem so:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
150

2
2
3
2
2 3
Condio de = Ordem
1 1
1
2
2
1
3
3
1
6
1
4
4
1 1
8 3
1 1
12 3
1 1 3
24 2 2
i
j j
j j
j jl l
j j
j j jk k
j jk k
j jk kl l
Ordem
b
b
b
b
b
b
b
b
b g
a
b b g g
a
a a b g
b a g
b b b g g g
=
=
=
=
=
=
=
=
_
_
_
_
_
_
_
_
(13.5.15)
Nas expresses acima se tem:

1
1
jl jl jl
j
j jl
l
b a g
b b

=
=
=
_
(13.5.16)
O valor do parametro g deve ser determinado por condies de estabilidade do mtodo. Em geral
toma-se 0.43586652 g =

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
151
Mtodo de Rosenbrock para EDO semi-explcitos
No caso de mtodos semi-explcitos, o sistema no linear triangular no sentido de que a j-sima
equao depende apenas da 1 at a j-sima incgnitas. Assim, cada equao necessita ser resolvida
uma nica vez para cada incgnita.

1
1
1 1
2
1 1
,
1,2,...,
i i j j
j
j j
j i j i jl l jl l j
l l
y y h bk
k hf x h y k h k h
j
n
a a g g
n

=

= =
=
1


( )
=
_
_ _
J T
Isso leva a se resolver em cada iterao uma equao explicita da forma

( ) ( )
( )
1
1 0 1 1
,
j j
i i i
y h f x y g f


= (13.5.17)
onde, f contm todos os termos restantes da formula no envolvendo
1 n
y

. Assim, o esquema de
Newton para a soluo de equaes algbricas no lineares, como acima, pode ser escrito da seguinte
forma
( )
( ) ( )
( )
( ) ( )
( )
1
0 1 1 1 0 1 1
.
j j j j
i i i i i
h y y y h f x y g g f


= I J (13.5.18)
A maytriz ( )
0
hg I J usualmente chamada de matriz de iterao de Newton, ou mais simplesmente
de matriz de iterao. Toda iterao do esquema (13.5.18) envolve os seguintes custos:
Calculo do jacobiana e a formao da matriz de iterao de Newton;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
152
Fatorizao da matriz de iterao em uma forma LU
Resoluo do sistema LU para calcular a correo a ser aplicada em
( )
1
j
i
y


Cada um desses itens acima muito dispendioso se n for muito grande. A avaliao do jacobiano
requer, em geral, o calculo de uma matriz com
2
n elementos. Alm disso, o jacobiano precisa ser
aproximado por diferenciao numrica, o que torna uma tarefa sujeita a inserir erros.
Felizmente, o custo de cada iterao pode ser reduzido uma vez que o jacobiano usualmente varia
muito pouco; assim, uma aproximao para uma iterao pode ser aplicada para diversos passos.
Aplicando as iteraes de Newton-Raphson, produz

1
1
1
1 1
1 1
1,2,...,
i i j j
j
j j
j jj x i jl l i jl l
l l
y y h bk
k h f y h k f y h k
i
n
a a b
n


= =
=
1l 1

l

=
l



l ( ) ( )
l
=
_
_ _
I (13.5.19)
Onde I uma matriz unitria de dimenso n n , e
i
a ,
jl
a e
jl
b so parmetros a serem
determinados. As equaes (13.5.19) representam o mtodo de Rosenbrock para EDO rgidas.
Para o caso especfico de 2 n = se tem
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
153

( )
( ) ( )
( ) ( )
1 1 1 2 2
1
1
1 11 1 1
1
2 22 2 21 1 2 11 1
1,2,...,
i i
x
x
y y h a k a k
k h
k h f y f y
k h f y h k f y h k
i
a
a a b
n

=
l
=
l
l
=
l
l
=
l
=
I
I
I
(13.5.20)
Em particular, para um sistema de EDO autonomo do tipo
( ) ( ) ( )
0 0 0
' , ,
n
y x f y y x y x x x = = _ _
Tem-se o seguinte mtodo de Rosenbrock de segunda ordem:
( ) ( )
( ) ( )
1 1 2
1
2 1
2 1
3 2
i i
i
i
y y hk hk
h k f y
h k f y hk
g
g

=
=
=
I J
I J
(13.5.21)
Para o caso de um sistema de EDO no-autonomo
( ) ( ) ( )
0 0 0
' , , ,
n
y x f y x y x y x x x = = _ _
com a nomenclatura e parmetros definidos acima, tem-se
( ) ( )
( ) ( )
1 1 2
1
2 1 1
2 1
3 2
2
i i
i
i
y y hk hk
h k f y h
h k f y hk k h
g g
g g

=
=
=
I J T
I J T
(13.5.22)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
154

13.5.3 Mtodos Multipassos Lineares - LMM
Os mtodos a serem apresentados nesta seo, os chamados mtodos multipassos, so aqueles que,
para avaliarem o valor de
1 i
y

necessita-se de dois ou mais pontos anteriores, isto , se estiver


disponvel 1 m pontos para predizer
1 i
y

, a frmula para calcul-lo



( )
1
1
,
m
i i j i j i j
j
y y h b f y x

=
=
_
(13.5.23)
Diferentemente dos mtodos vistos nas sees anteriores, que so ditos de passo nico, isto , para o
clculo de
1 i
y

usa-se apenas valores passados, ,


i i
y x na construo do polinmio de aproximao.

Definio: Um mtodo multipassos com m-passos para solucionar um PVI do tipo
( ) ( ) , , ,
a
dy
f x y a x b y a y
dx
= _ _ = (13.5.24)
tem como equao de diferenas para achar uma aproximao
1 i
y

no ponto
1 i
x

:

( )
1
1
1
,
m
i i j i j i j
j
y y h b f y x


=
=
_
(13.5.25)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
155
onde ( ) / h b a N = e o polinmio interpolador ( ) ( )
1
0
,
m
i j i j i j
j
p x b f y x


=
=
_
coincide com
( ) , , , 1,..., 1
k k
f x y k i i i m \ = onde

( )
( )
1
1 1
0 0
1
! 1 !
m j
m m
i l N
j
l l i j i l
l j l j
x x x x
b l
x x j m j h

= =
= =
1
1

= =



( )
( )
] ]
(13.5.26)
so os polinmios interpoladores de Lagrange (vide seo 9.4 no primeiro volume) e independem de
N e de h .
Na expresso (13.5.25), se
1
0 b

= , ento
1 i
y

aparece em ambos os lados da expresso; neste caso


(13.5.25) dito um mtodo implcito; no caso de
1
0 b

= dito ser um mtodo explcito. Este tipo de


soluo devido a Adams
18
e Bashforth.
Note que os mtodos implcitos so mais difceis de implementao, pois envolvem a soluo de
sistemas de equaes algbricas no lineares para o termo
1 i
y

, nas quais se tem que aplicar as


tcnicas apresentadas no captulo 5 do primeiro volume desta obra, em cada passo da soluo do
problema.



18
John Couch Adams (1819-1892).
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
156
13.5.4 Mtodo Preditor de Adams-Bashforth
fcil se mostrar que
( ) ( )
1
0
,
m
k j k j k j
j
p x b f y x


=
=
_
(13.5.27)
coincide com ( ) ,
k k
f x y para todo , 1,..., 1 k i i i m = .
Lembre-se que a soluo trivial de (13.5.24) num intervalo
1
,
i m i m
x x

l
l


( ) ( ) ( )
( ) ( ) ( )
1
1
1
1
,
i m
i m
i m
i m
x
i m i m
x
x
i m
x
y x y x y d
y x f y d
x x
x x x




=
=
]
]
(13.5.28)
Portanto levando (13.5.27) em (13.5.28) e substituindo os valores exatos pelos valores aproximados (
( )
i m i m
y x y

~ e ( )
1 1 i m i m
y x y

~ ), se tem:

( ) ( )
1
1
1
0
,
m
m
i m i m j i j i j
j
y y h b f y x O h


=
=
_
(13.5.29)
onde
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
157
( ) ( )
1
1
0
1 1
, 0,1,..., 1
i m
i m
x h
j j j i m
x
b p d p x d j m
h h
x x x x



= = =
] ]
(13.5.30)
O esquema acima - (13.5.29) dito mtodo de Adams-Bashforth de ordem m.
Outra forma de deduzir os mtodos de Adams-Bashforth de diversas ordens o de desenvolver a
aproximao de ( ) , f x y de (13.5.24) em uma serie de Taylor em torno de
i
x , em diferenas finitas
divididas descendentes (vide tabela na pg.497 do 1 vol). Assim, se tem:
Para 1 m = :
Neste caso se encontra o denominado mtodo de Euler, j estudado na seo 13.3.

( )
2
1 i i i
y y hf O h

=
Para 2 m = :

( )
( ) ( )
( ) ( )
3
3
1
3
1 2 3
3
4
1
2! 6
2 2 6
5
3
2 12
i i i i
i i
i i i
i i i
h h
y y h f f f O h
f f h h h
y h f f O h f O h
h
h h
y f f f O h

1

=



( )
11


=



( ( ))
=

onde
0
3
2
b = e
1
1
2
b = e o erro de truncamento local dado pelos termos
( )
3
4
5
12
h
f O h da expresso
acima.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
158
Para 3 m = :

( )
( )
( )
( )
2 4
1
3 1
2
1 2
2 2 4
4
4
2 2
1 2 4
4
2
2! 3! 24
2
2 6
24
2
6 24
i i i i i
i i i
i
i
i i i
i
h h h
y y h f f f f O h
f f f
h h
f f O h
h h
y h f O h
f f f h h
f O h
h
y



1

=


( )
11









( )
=

1




( ( ) )
= ( ) ( )
4
5
1 2
9
23 16 5
12 24
i i i
h h
f f f f O h



Onde o termo
( )
4
5
9
24
h
f O h da expresso acima representa o erro local de truncamento,
semelhana do que se fez para 2 m = .
De uma forma geral, se tem para um mtodo de Adams-Bashforth, uma frmula que representa todos
os mtodos de ordem m:

( )
1
1
1
0
m
m
i i k i k
k
y y h f O h a


=
=
_
(13.5.31)
Cujos valores de
k
a so determinados de maneira similar ao que se fez para 2 m = e 3 m =
anteriormente. Para diversas ordens, podem-se encontrar os coeficientes
k
a na tabela abaixo:

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
159

TABELA DOS COEFICIENTES DO MTODO PREDITOR DE ADAMS-BASHFORTH
( )
( )
( )
( )
( )
( )
( )
( )
( )
0 1 2 3 4 5
2
3
4
5
4
6
5
7
6
1 1
2
5
2 3 2 1 2
12
9
3 23 12 4 3 5 12
24
251
4 55 24 59 24 37 24 9 24
720
475
5 1901 720 2774 720 2616 720 1274 720 251 720
1440
19087
6 4277 720 7923 720 9982 720 7298 720 2877 720 475 720
60480
Ordem
h
f
h
f
h
f
h
f
h
f
h
f
a a a a a a t
x
x
x
x
x
x







t =ERRO LOCAL DE TRUNCAMENTO


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
160
13.5.5 Mtodo Corretor de Adams-Moulton
Para se determinar as frmulas do mtodo corretor de Adams-Moulton de ordem m, semelhana do
que se fez para o mtodo preditor de Adams-Bashforth, desenvolve-se a aproximao de ( ) , f x y de
(13.5.24) em uma serie de Taylor regressiva em torno de
1 i
x

, em diferenas finitas divididas


descendentes (vide tabela na pg.497 do 1 vol). Assim, se tem:
( )
( )
1
2 3
1
1 1 1 1 1 1
1
1
2! 3! !
m
k
k k
i i i i i i i
k
h h h
y y hf f f y f
k


=
= =
_
(13.5.32)
Resolvendo-se (13.5.32) para
1 i
y

se tem:

( )
( )
1
1
1 1
1 1
1
2 3
1 1 1 1
1
!
2! 3! 4!
m
k
k k
i i i
k
i i i i i
h
y h f
k
h h h
y h f f f
y
f




=

1


( )
1

=


( )
_

(13.5.33)
A frmula geral dos mtodos corretores de Adams-Moulton :

( )
1
1
1 1
0
m
m
i i k i k
k
y y h f O h a


=
=
_
(13.5.34)
Para 1 m = : ( )
1 1 i i i
y y h f

=
Para 2 m = :
( )
2
3
1 1 1 1
2! 3!
i i i i i
h h
y y h f f f O h

1



( )
=
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
161
onde
( )
1 2
1 1
+O
2
i i
i i
f f
h
f f h
h

=
Levando esse resultado na expresso de
1 i
y

acima, se tem

( )
3
4
1 1 1
1 1
2 2 12
i i i i i
h
y y h f f f O h

1

=



( )
(13.5.35)
Que a conhecida frmula de segunda ordem de Adams-Moulton. O termo
( ) ( )
3 4
1
12
i
h f O h

o
erro local de truncamento.


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
162
Pode-se deduzir expresses similares para ordens mais altas. Na tabela a seguir se mostra os valores
dos coeficientes
k
a da frmula (13.5.34):

TABELA DOS COEFICIENTES DO MTODO CORRETOR DE ADAMS-MOULTON
( )
( )
( )
( )
( )
( )
( )
( )
0 1 2 3 4 5
3
4
5
4
6
5
7
6
2 1 2 1 2
12
3 5 12 8 12 112
24
19
4 9 24 19 24 5 24 1 24
720
27
5 251 720 646 720 264 720 106 720 19 720
1440
863
6 475 1440 1427 1440 798 1440 482 1440 173 1440 27 1440
60480
Ordem
h
f
h
f
h
f
h
f
h
f
a a a a a a t
x
x
x
x
x






t =Erro Local de Truncamento


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
163
13.5.6 Mtodo Preditor-Corretor de Adams de 4 Ordem
Nas aplicaes prticas para os mtodos multipassos, usa-se o chamado mtodo preditor-corretor de
Adams no qual, em geral, se utiliza das frmulas de quarta ordem de Adams-Bashforth como
preditor e as de quarta ordem de Adams-Moulton como corretora. Lembrar-se que a predio
equivalente a uma extrapolao e a correo a uma interpolao. Assim, o par preditor-corretor de
quarta ordem representado pelas seguintes frmulas:
( )
1 1 2 3
55 59 37 9
24
i i i i i i
h
y y f f f f

= (13.5.36)
e

( )
( ) ( )
( ) ( )
1 1 1 2
1
1 1 1 1 2
9 19 5
24
9 , 19 5
24
i i i i i i
n n
i i i i i i i
h
y y f f f f
ou
h
y y f x y f f f


=
=
(13.5.37)
Onde, no caso da interpolao ou correo (Adams-Moulton), usa-se o valor de
1 i
y

obtido no passo
de predio (Adams-Bashforth) como elemento implcito.
Os erros locais de truncamento do mtodo preditor e do mtodo corretor de quarta ordem so
respectivamente (vide nas tabelas acima):
( )
( )
( )
5
4
1 1 1
251
720
i i
P
h
y x y f x

= (13.5.38)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
164
( )
( )
( )
5
4
1 1 2
19
720
i i
C
h
y x y f x

= (13.5.39)
No caso do mtodo preditor,
1
x encontra-se no intervalo
3 1
,
i i
x x

l
l
enquanto que para o mtodo
corretor,
2
x encontra-se no intervalo
2 1
,
i i
x x

l
l
. Se por hiptese os intervalos forem suficientemente
pequenos de modo que se tenha
1 2
x x = , ento se pode subtrair (13.5.39) de (13.5.38):

( )
( )
( )
( )
( )
( )
5 5
4 4
1 1 1 1
5
4
1 1 1
251 19
0
720 720
270
0
720
i i
P C
i i
P C
h h
y f y f
h
y y f
x x
x


1 1


=



( ) ( )
=


( )
( )
1 1 4 4
1
720
270
i i
C P
y y
h f
h
x

1


( )
(13.5.40)
Levando esse ltimo resultado em (13.5.39) se tem:

( )
( )
( )
( )
4 4
1 1 2
1 1
1
1 1 1 1
1 1 19
720
1 19 720
720 270
19
270
i i
C
i i
P C
i
C
i i i i
C P C
y x y h f
h h
y y
y
h h
y x y y y
h h
x


=
11




=




( ( ))
1



( )


1 1
1
19
270
i i
P C
i
y y
h
t e

= <


( )
(13.5.41)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
165
que uma avaliao do erro local de truncamento para a soluo preditor-corretor de Adams de
quarta ordem, onde e o erro ou preciso requerida ou a tolerncia de clculo.
Exemplos
Desenvolver um algoritmo para soluo de EDO / PVI pelo mtodo Preditor-Corretor de Adams de quarta ordem; depois
resolver os seguintes PVI:
( )
2
1, 0 0.5, 0,2 y y x y x
l = =
l
;
( )
3
2 , 0 0, 0,1
x
y xe y y x
l = =
l
, e
( ) ( ) ( )
1
cos 2 sin 3 , 0 1, 0,1
3
y x x y x
l = =
l

Compare os resultados obtidos com a soluo exata, calculando os erros.
Soluo:
1 Desenvolvimento do algoritmo em Matlab para soluo de PVI pelo mtodo preditor-corretor de Adams de 4 ordem:
f unct i on [ x, y, j ] = pc4adams( f unc, ya, a, b, n, t ol )
%================================================
%Mt odo Pr edi t or - Cor r et or de Adams de 4 Or dem
%================================================
%f = f uno y' =f ( x, y)
%ya = condi o i ni ci al
%a = l i mi t e i nf er i or
%b = l i mi t e super i or
%n = nmer o de passos - 1
%t ol = t ol er nci a ou er r o mxi mo admi t i do
%SAI DA
%x = absci ssas
%y = apr oxi mao de y
% y( : , 1) = val or pr edi t or ;
% y( : , j >=2) = val or cor r i gi do
%j - ul t i ma col una de y comval or es cor r i gi dos
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
166
%
f = f cnchk( f unc) ;
%
h =( b- a) / n; %det er mi nao do passo maxi mo
x = zer os( 1, 1) ; %x emn+1 pont os = det . dos x( i )
y = zer os( 1, 1) ; %apr ox y
i = 1; %pr i mei r o pont o
x( i ) = a;
y( i , 1) = ya; %condi o i ni ci al
y( i , 2) = y( i , 1) ;
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%Cal cul a os 4 t er mos i ni ci ai s por Runge- Kut t a 4 Or dem
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
f or i =2: 4
k0 = f eval ( f , x( i - 1) , y( i - 1, 1) ) ;
k1 = f eval ( f , x( i - 1) +( h/ 2) , y( i - 1, 1) +( k0*h/ 2) ) ; %k1 do 4 or dem
k2 = f eval ( f , x( i - 1) +h/ 2, y( i - 1, 1) +h*k1/ 2) ;
k3 = f eval ( f , x( i - 1) +h, y( i - 1, 1) +h*k2) ;
y( i , 1) = y( i - 1, 1) +( h/ 6) *( k0+2*k1+2*k2+k3) ; %mt odo de 4 or dem
y( i , 2) = y( i , 1) ; %cor r i ge o val or de y( i , 1)
x( i ) = x( i - 1) +h;
end
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%Cal cul o do Pr edi t or de Adams- Bashf or t h
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
f or i =5: n+1
x( i ) = x( i - 1) +h;
k0 = f eval ( f , x( i - 1) , y( i - 1, 1) ) ;
k1 = f eval ( f , x( i - 2) , y( i - 2, 1) ) ;
k2 = f eval ( f , x( i - 3) , y( i - 3, 1) ) ;
k3 = f eval ( f , x( i - 4) , y( i - 4, 1) ) ;
y( i , 1) = y( i - 1, 1) + ( h/ 24) *( 55*k0- 59*k1+37*k2- 9*k3) ;
end
%
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%Cal cul o do Cor r et or de Adams- Moul t on
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
f l ag = 1; %i ndi ca que o er r o est dent r o da t ol er nci a " t ol "
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
167
j = 1; %col una dos val or es cor r i gi dos
whi l e f l ag ==1
j = j + 1; %det er mi na a col una par a os val or es cor r i gi do
i f j > 20
r et ur n
el se
y( 1, j ) = y( 1, j - 1) ;
y( 2, j ) = y( 2, j - 1) ;
y( 3, j ) = y( 3, j - 1) ;
y( 4, j ) = y( 4, j - 1) ;
end
f l ag = 0;
f or i =5: n+1
x( i ) = x( i - 1) +h;
k0 = f eval ( f , x( i ) , y( i , j - 1) ) ;
k1 = f eval ( f , x( i - 1) , y( i - 1, j - 1) ) ;
k2 = f eval ( f , x( i - 2) , y( i - 2, j - 1) ) ;
k3 = f eval ( f , x( i - 3) , y( i - 3, j - 1) ) ;
y( i , j ) = y( i - 1, j - 1) + ( h/ 24) *( 9*k0+19*k1- 5*k2+1*k3) ;
i f abs( y( i , j ) - y( i , j - 1) ) > t ol
f l ag = 1; %cont i nua at o er r o ser menr que t ol
end
end
end

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
168

2 Soluo do PVI: ( )
3
2 , 0 0, 0,1
x
y xe y y x
l = =
l

Considerar n=10, erro mximo =tol =0.0002. Segue programa Matlab para soluo do PVI.
%========================================================
%=== Test e Mt odo Pr edi t or - Cor r et or de Adams 4 Or dem===
%========================================================
cl ear ; cl c;
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) x*exp( 3*x) - 2*y;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( 1/ 5) *x*exp( 3*x) - ( 1/ 25) *exp( 3*x) +( 1/ 25) *exp( - 2*x) ;
%- - - dados i ni ci ai s
a = 0; b = 1; %ns l i mi t es
n = 10; ya = 0. 0; t ol = 0. 0002;
%
[ x, yh, j ] = pc4adams( f , ya, a, b, n, t ol ) ; %PC de Adams 4 Or dem
%
di sp( ' ' ) ;
di sp( ' =========================================================' ) ;
f pr i nt f ( ' === Val or es Apr oxi mados PC- Adams 4 Or deme Exat os N=%g ===' , n) ;
di sp( ' ======================================================' ) ;
f pr i nt f ( ' \ n\ b - - - x- - - ===exat a== =PC Adams== ==Er r o==== \ n' ) ;
[ m, n] = si ze( x) ;
f or i =1: n
yex( i ) =exat a( x( i ) ) ;
f pr i nt f ( ' x = %5. 4f %12. 8f %12. 8f %12. 8f \ n' , x( i ) , yex( i ) , yh( i , j ) , yex( i ) - yh( i , j ) ) ;
end
f i gur e( 1) ; pl ot ( x, yh( : , j ) , ' - dr ' ) ; hol d on; pl ot ( x, yex, ' +- b' ) ;
t i t l e( ' Sol uo de PVI pel o Mt odo Pr edi t or - Cor r et or de Adams de 4 Or dem' ) ;
l egend( ' Adams 4 Or dem' , ' Exat a' , ' l ocat i on' , ' Nor t hWest ' ) ;
yl abel ( x*exp( 3*x) - 2*y ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
169

Sada com os valores exatos e aproximados para 11pontos:
=========================================================
=== Val or es Apr oxi mados PC- Adams 4 Or deme Exat os N=10
=========================================================
- - - x- - - ===exat a== =PC Adams== ==Er r o====
x = 0. 0000 0. 50000000 0. 50000000 0. 00000000
x = 0. 2000 0. 82929862 0. 82929333 0. 00000529
x = 0. 4000 1. 21408765 1. 21407621 0. 00001144
x = 0. 6000 1. 64894060 1. 64892202 0. 00001858
x = 0. 8000 2. 12722954 2. 12720563 0. 00002390
x = 1. 0000 2. 64085909 2. 64093460 - 0. 00007551
x = 1. 2000 3. 17994154 3. 18018096 - 0. 00023942
x = 1. 4000 3. 73240002 3. 73285711 - 0. 00045710
x = 1. 6000 4. 28348379 4. 28424206 - 0. 00075828
x = 1. 8000 4. 81517627 4. 81635063 - 0. 00117436
x = 2. 0000 5. 30547195 5. 30720969 - 0. 00173774

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
170




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
171

3 Soluo do PVI: ( )
2
1, 0 0.5, 0,2 y y x y x
l = =
l

Considerar n=10, erro mximo =tol =0.0002. O programa Matlab para soluo do PVI acima similar
ao anterior, mudando apenas as linhas onde est a definio das equaes representativas do PCI e da
soluo exata do mesmo:
. . .
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) y- x^2+1;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( x+1) ^2- 0. 5*exp( x) ;
%- - - dados i ni ci ai s
a = 0; b = 2; n = 10; ya = 0. 5; t ol = 0. 0002;
%
. . .
Sada com os valores exatos e aproximados para 11pontos:
=========================================================
=== Val or es Apr oxi mados PC- Adams 4 Or deme Exat os N=10
=========================================================
- - - x- - - ===exat a== =PC Adams== ==Er r o====
x = 0. 0000 0. 00000000 0. 00000000 0. 00000000
x = 0. 1000 0. 00575205 0. 00575463 - 0. 00000258
x = 0. 2000 0. 02681280 0. 02681877 - 0. 00000597
x = 0. 3000 0. 07114453 0. 07115516 - 0. 00001064
x = 0. 4000 0. 15077784 0. 15083352 - 0. 00005568
x = 0. 5000 0. 28361652 0. 28372789 - 0. 00011136
x = 0. 6000 0. 49601957 0. 49620466 - 0. 00018509
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
172
x = 0. 7000 0. 82648087 0. 82676858 - 0. 00028771
x = 0. 8000 1. 33085703 1. 33126145 - 0. 00040443
x = 0. 9000 2. 08977440 2. 09045219 - 0. 00067779
x = 1. 0000 3. 21909932 3. 21993873 - 0. 00083941




Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
173

4 Soluo do PVI: ( ) ( ) ( )
1
cos 2 sin 3 , 0 1, 0,1
3
y x x y x
l = =
l

Considerar n=10, erro mximo =tol =0.0002. O programa Matlab para soluo do PVI acima similar ao anterior, mudando
apenas as linhas onde est a definio das equaes representativas do PCI e da soluo exata do mesmo:
. . .
%- - - def i ni o f ( x, y) e dados i ni ci ai s - - -
f = @( x, y) cs( 2*x) + si n( 3*x) ;
%- - - def i ni o sol uo exat a - - -
exat a = @( x) ( 1/ 2) *si n( 2*x) - ( 1/ 3) *cs( 3*x) +( 3/ 4) ;
%- - - dados i ni ci ai s
a = 0; b = 1; n = 10; ya = 1. 0; t ol = 0. 0002;
. . .
Sada com os valores exatos e aproximados para 11pontos:
=========================================================
=Val or es Apr oxi mados PC- Adams 4 Or deme Exat os N=10
=========================================================
- - - x- - - ===exat a== =PC Adams== ==Er r o====
x = 0. 0000 1. 00000000 1. 00000000 0. 00000000
x = 0. 1000 1. 11422250 1. 11422260 - 0. 00000010
x = 0. 2000 1. 25293063 1. 25293091 - 0. 00000027
x = 0. 3000 1. 40845125 1. 40845176 - 0. 00000051
x = 0. 4000 1. 57122546 1. 57124497 - 0. 00001951
x = 0. 5000 1. 73048976 1. 73053137 - 0. 00004161
x = 0. 6000 1. 87508691 1. 87515191 - 0. 00006501
x = 0. 7000 1. 99434023 1. 99442796 - 0. 00008772
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
174
x = 0. 8000 2. 07891804 2. 07902586 - 0. 00010782
x = 0. 9000 2. 12161453 2. 12173808 - 0. 00012355
x = 1. 0000 2. 11797955 2. 11811306 - 0. 00013351





Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
175

13.5.7 Mtodo Preditor-Corretor de Adams de Passo Varivel
A semelhana do que se fez com o mtodo de Runge-Kutta-Fehlberg (RKF) onde se podia variar o
passo h (veja seo 13.4.5), tambm se pode adaptar o mtodo do Preditor-Corretor de Adams para
passo varivel, utilizando como controle uma equao similar (13.4.41). Tomando as equaes
(13.5.38) e (13.5.39) agora no mais com passo h , mas com passo qh, se tem respectivamente
( )
( )
( )
5 5
4
1 1 1
251
720
i i
P
q h
y x y f x

= (13.5.42)
( )
( )
( )
5 5
4
1 1 2
19
720
i i
C
q h
y x y f x

= (13.5.43)
Como j se considerou como no mtodo preditor,
1
x encontra-se no intervalo
3 1
,
i i
x x

l
l
enquanto que
no mtodo corretor,
2
x encontra-se no intervalo
2 1
,
i i
x x

l
l
, e se por hiptese os intervalos forem
suficientemente pequenos de modo que se tenha
1 2
x x = , ento se pode subtrair (13.5.43) de (13.5.42):

( )
( )
( )
( )
( )
( )
5 5 5 5
4 4
1 1 1 1
4 4
1 1 4
1
251 19
0
720 720
270
0
720
i i
P C
i i
P C
q h q h
y f y f
y y
q h
f
qh
x x
x


1 1


=



( ) ( )
1



( )
(13.5.44)
Mas de (13.5.44) v-se que
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
176

( )
( )
1 1 4 4 4
1
720
270
i i
P C
y y
q h f
qh
x

1



( )
(13.5.45)
De (13.5.40) v-se que:

( )
( )
1 1 4
1
4
8
3
i i
C P
y y
f
h
h
x

1


( )
(13.5.46)
Levando esse resultado em (13.5.43), considerando
1 2
x x ~ , se obtm:

( )
( )
1 1 1 1
4 4
4
1 1 1 1
4
19 8
720
3
19
270
i i i i
C C P
i i i i
C C P
y x y y y
q h
qh h
h
y x y y y
q
qh h


11




=





( ( ))
11




=





( ( ))
(13.5.47)
Mas
( )
1 1
1
i i
C
i
y x y
qh
t

= o erro de truncamento local que deve ser inferior a preciso desejada e.


Assim,

1 1
4
1
1 1
4 4
1 1 1 1
19
270
270
1,95
19
i i
C P
i
i i i i
C P C P
y y
q
h
h h
q
y y y y
t e
e e


11




= <





( ( ))
11 1



< ~




( ( )) ( )
(13.5.48)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
177
Dessa forma, pode-se controlar o passo h ; se em uma determinada iterao
1 i
t e

recalcula-se h
calculando-se q de modo que, na prtica, se 4 q faz-se 4
ant
h h = e caso contrrio faz-se
ant
h qh = e
volta-se a calcular um novo valor preditor e a partir dele um novo corretor. E o processo se repete at
que
1 i
t e

< .
No esquecer de que deve ser verificado a cada passo, se o limite superior b do intervalo de validade
de x no seja ultrapassado. Outro cuidado que se deve ter aquele em que no se deve diminuir
muito o passo, de forma que o esforo computacional seja excessivo; para isso, na prtica, limita-se o
valor inferior de q com um valor tipo 0.1 ou 0.01.
Fica como exerccio o desenvolvimento, teste e implementao em Matlab do procedimento aqui
estudado.


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
178
13.5.8 Ordem e Convergencia dos Mtodos Multipassos
Escrevendo-se os mtodos multipassos de m-passos de uma forma genrica como
( )
0 0
, , 0,1,...
m m
k k n k k n k n
k k
a h b x y n

= =
= =
_ _
y f (13.5.49)
onde , , 0,1,...,
k k
a b k m = , so constantes dadas, independentes do passo h , p e da equao diferencial
em anlise. s vezes conveniente normalizar (13.5.49) fazendo 1
m
a = . Quando 0
m
b = (como no caso
do mtodo de Adms-Bashforth) o mtodo dito explcito.
Assim, precisam-se encontrar os diversos critrios que tem importancia na escolha dos coeficientes
,
k k
a b e na obteno de valores razoveis no valor da ordem.
Definio: Um mtodo do tipo (13.5.49) de ordem 1 p _ se e somente se
( ) ( ) ( ) ( )
1
0 0
,
m m
p
k k
k k
x a x kh h b x kh O h y

= =
=
_ _
y y y = (13.5.50)
para todas as funes ysuficientemente lisas e que exista no mnimo uma de tais funes para a qual
no se pode melhorar a taxa de decaimento
( )
1 p
O h

.
Assim, pode-se caracterizar o mtodo (13.5.49) em termos dos seguintes polinmios:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
179

( )
( )
0
0
m
k
k
k
m
k
k
k
w a w
w bw
r
s
=
=
_
_
=
=
(13.5.51)
Teorema: O mtodo multipassos (13.5.49) de ordem 1 p _ se e somente se existir
um 0 c = tal que
( ) ( ) ( ) ( )
( )
1 2
ln 1 1 , 1
p p
w w w c w O w w r s

= (13.5.52)
Demonstrao:
Assumindo-se que y seja analtica e que o raio de convergncia excede ao produto mh, e fazendo-se a expanso em srie
de Taylor de (13.5.51), levando em (13.5.50) e mudando a ordem das somatrias, se tem
( )
( )
( )
( )
( )
( )
( )
( )
1
0 0 0 0
1
0 1 0 0
1 1
,
! !
1
!
m m
r r
r r r r
k k
k r k r
m m m
r
r r r
k k k
k r k r
x a x k h h b x k h
r r
a x k a r k b h x
r
y

= = = =

= = = =
=
1 1



=




( ) ( )
_ _ _ _
_ _ _ _
y y y
y y
(13.5.53)
Assim, para se obter a ordem p necessrio e suficiente que

( )
0
1
0 0
1
0 0
0
, 1,2,...,
1 ,
m
k
k
m m
r r
k k
k k
m m
r p
k k
k k
a
k a r k b r p
k a p k b
=

= =

= =
=
= =
==
_
_ _
_ _
(13.5.54)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
180
Fazendo-se
z
w e = , ento quando 1 w corresponde a 0 z . Expandindo novamente em serie de Taylor, se tem
( ) ( )
( )
0 0
0 0 0 0
1
0 0 1 0
1 1
! !
1 1
! 1 !
m m
z z kz kz
k k
k k
m m
r r r r
k k
k r k r
m m
r r r r
k k
r k r k
e z e a e z be
a k z z b k z
r r
k a z z k b z
r r
r s
= =

= = = =

= = = =
=
1 1



=




( ) ( )
1 1



=




( ) ( )
_ _
_ _ _ _
_ _ _ _
(13.5.55)
Alm do mais

( ) ( ) ( )
1 2 z z p p
e z e ch O h r s

=
Para algum 0 c = se e somente se (13.5.54) for verdadeiro. Assim, completa-se a demonstrao restaurando
z
w e = .


Outra deduo das condies de ordem (13.5.54) ajuda-nos no entendimento dela. O mapeamento
( ) , x y y y linear, logo ( ) ( )
1
,
p
x O h y

= y se e somente se ( ) , 0 x y = y para todo e qualquer polinmio
P de grau p. Dessa forma, devido a linearidade do mapeamento isto equivalente a
( ) , 0, 0,1,...,
r
x P r p y = = (13.5.56)
Onde
0 1
, ,...,
p
P P P a base do espao (p+1)-dimensional de polinmios de grau p. Fazendo
( ) ( ) , 0,1,...,
r
r
P x x kh r p = = pode-se obter (13.5.54).
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
181

13.6 Problemas de Contorno e de Autovalores
Nas sees precedentes estudou-se e se discutiu os mtodos para a soluo de equaes diferenciais
sujeitas a uma condio inicial, o chamado problema de valor inicial, PVI. Nesta e nas sees que se
seguem discutir-se- trs novos tipos de problemas relacionados s EDO: problemas de valor de
contorno (PVC), problemas de autovalor (PAV) e problemas de contorno livre (PVL).
Definio 1: Denomina-se problema de valores de contorno (PVC) a um problema do
tipo:

( ) ( ) ( ) ( ) ( )
( ) ( )
2
2 1 0 0
2
0 0
, ,
,
n
n n
d y dy
a x a x a x y g x x x x
dx
dx
y x y y x y
= \ \
= =
(13.6.1)
Definio 2: Os valores prescritos na equao (13.6.1), ( )
0 0
y x y = e ( )
n n
y x y = , so
denominados de condies de contorno, enquanto ( )
0
,
n
x x \ o espao de definio ou validade da
varivel dependente, e ( ), 0,...,2
i
a x i = e ( ) g x so funes contnuas no intervalo de definio de x, isto
, em ( )
0
,
n
x x \ .
Um problema de valor de contorno para uma EDO de qualquer ordem (ou para um sistema de EDOs)
, como na definio acima, aquele no qual as variveis dependentes so obrigadas a satisfazer
condies especficas em mais de um ponto. Assim, uma equao de n-sima ordem tem uma soluo
geral dependente de n parmetros, isto , do nmero total de condies de contorno requerido para
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
182
determinar sua soluo nica. bvio que se o nmero de pontos de contorno for superior ou inferior
a n poder no haver soluo ou uma infinidade de solues.
Quando as restries que acompanham as n equaes de um sistema de equaes diferenciais
ordinrias de um envolvem apenas os pontos iniciais ( ( )
0
x x = y ) e os pontos finais do espao de
definio ( ( )
n
x x = y ), mas nenhum outro ponto intermedirio; esta uma caracterstica que distingue
os problemas ditos problemas de valores de contorno de 2 pontos PVC-2p.
Tomando a equao (13.6.1), pode-se verificar que existem outros pares de condies de contorno
como

( ) ( )
( ) ( )
( ) ( )
0 0
0 0
0 0
, ;
, ;
, ;
n n
n n
n n
y x y y x y
y x y y x y
y x y y x y
= =
= =
= =
(13.6.2)
Ou ainda uma combinao destes

( ) ( )
( ) ( )
1 0 1 0 1
2 2 2 n n
y x y x
y x y x
a b g
a b g
=
=
(13.6.3)
Com
1 2 1 2 1 2
, , , , , a a b b g g constantes e mais
1 2
0 a a = e
1 2
0 b b = .
Alguns mtodos que se apresentar aqui para a soluo de PVC com EDO sero desenvolvidos
tambm para problemas com equaes diferenciais parciais (EDP) num captulo especial.

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
183
13.6.1 Mtodo do Chute ou por Tentativa
A idia deste mtodo a de resolver o PVC (13.6.1), por exemplo, transformando-o em um PVI da
forma:

( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( )
( )
( )
( )
( )
( ) ( )
2
2 1 0 0
2
2
1 0
2
2 2
0 0 0 1
, ,
,
,
n
i
i
d y dy
a x a x a x y g x x x x
dx
dx
a x g x
d y dy
p x p x y f x p x f x
dx a x a x
dx
y x y y x m
= \ \
= = =
= =
(13.6.4)
Onde
1
m simplesmente um valor tentativo (ou chute) para a inclinao da curva soluo no
ponto conhecido ( ) ( )
0 0
, x y x ou ( )
0 0
, x y . A partir da, aplica-se os mtodos j estudados para soluo de
PVI (mtodo de Euler ou de Runge-Kutta) em (13.6.4) para se achar uma aproximao de
n
u para
( )
n
y x . Se
( ) 1
n
u se ajusta ao valor de ( )
n n
y x y = dentro de uma tolerncia (ou erro) admissvel, o
processo para; caso contrrio repetimos o processo, iniciando com um novo valor tentativa igual a
( )
0 2
y x m = para obter uma nova aproximao
( ) 2
n
u para ( )
n
y x . O mtodo continua por tentativa-e-
erro at que e tenha sucesso.
Outro procedimento para este mtodo aquele onde se substitui a equao dada (13.6.1) por um
sistema equivalente de primeira ordem e em seguida se utiliza um mtodo do tipo preditor-corretor
(vide seo 13.5.3, por exemplo).

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
184
O teorema a seguir garante as condies com as quais a soluo de PVC existe e nica.
Teorema: Suponha que uma funo f que esteja num PVC
( ) ( ) ( )
0 0
, , , , 0,
n n
y f x y y x x x y x y y x yn = _ _ = =
seja contnua no domnio definido como
( )
0
, , | , ,
n
x y y x x x y y \ = _ _ _ _ _ _
e mais, que as derivadas parciais
y
f e
y
f

tambm sejam contnuas em \. Se
1- ( ) ( ) , , 0, , ,
y
f x y y x y y \ \
2 existir uma constante M em que ( ) ( ) , , , , ,
y
f x y y M x y y _ \ \
ento o PVC original tem soluo e nica.
Exemplo
Seja resolver pelo mtodo do chute o seguinte PVC:

( ) ( ) ( ) ( ) ( ) ( )
2
1 1
2 4 . . , 0 , 1
4 3
0, 1
y x y x xy x y x com y y
x
= = =
l

l
l
(13.6.5)
Soluo:
A soluo exata de (13.6.5) conhecida e dada por:
( ) ( )
( )
( )
2
2 2
2
1 2
, 2 .
4
4
x
y x y x xy x
x
x
= = =

(13.6.6)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
185
Note que a equao diferencial de segunda ordem (13.6.5) pode ser escrita na forma de equaes de estado:

( )
( )
( )
( ) ( ) ( )
( )
( )
2 1 1 0
2
2 2 1 1 2
0 1/ 4
,
1 1/ 3 2 4 . .
n
y x y x y y
y x y y y x xy x y x
l l l l =
l l l l
= =
l l l l
=
l l l l
l l l l
(13.6.7)
Para aplicar o mtodo do chute necessrio estabelecer ou chutar o valor inicial de ( ) ( )
2
0 y y x = . Para isso far-se-
( )
( )
( ) ( )
1
0
2 0 2
0
1/ 3 1/ 4
1
0
1 0 12
n
n
y y
y x u
x x

= = = = =

(13.6.8)
e resolve-se as equaes de estado com a condio inicial ( ) ( )
( ) 1
1 2 2
0 0 y y u
l
=
l
l
para se encontrar o valor aproximado
( ) 1
1
u de ( )
1
1 y ; calcula-se o desvio
( ) ( )
( )
1 1
1 1
1
n
e u y x = = . Dependendo de valor de
( ) 1
e ser positivo ou negativo, faz-
se o novo valor tentativa,
( ) 2
2
u , maior ou menor que o chute anterior e resolve-se novamente as equaes de estado com uma
nova condio inicial ( ) ( )
( ) 2
1 2 2
0 0 y y u
l
=
l
l
. Repete-se o processo at que o desvio
( ) ( )
( )
1 1
1
k k
n
e u y x = = se tornar
suficientemente pequeno que atenda a tolerncia desejada.
Escrevendo o processo em Matlab, se tem:
%Sol uo de PVC2 pel o mt odo do Chut e
%====================================
cl c; cl ear ; %l i mpa t el a e l i mpa var i vei s
%Val or es i ni ci ai s
x0 = 0; xf = 1; %val or es i ni ci al e f i nal dos x
y0 = 1/ 4; yf = 1/ 3; %condi es de cont or no
N = 100; %numer o de pont os emx( x0, xf )
t ol = 1e- 8; %t ol er nci a ou er r o mxi mo per mi t i do
kmax = 10; %numer o max de i t er aes
%
[ x, y, k] = bvp2_shoot ( ' df 1' , x0, xf , y0, yf , N, t ol , kmax) ;
%
f pr i nt f ( ' \ n Sol uo de PVC pel o Mt odo do Chut e\ n' ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
186
f pr i nt f ( ' \ n Nmer o ef et i vo de i t er aes k = %3d\ n' , k) ;
%
y( : , k+1) = 1. / ( 4 - x. *x) ; %sol uo exat a do PVC emy( : , k+1)
er r = nor m( y( : , 1) - y( : , k+1) ) / ( N + 1) ; %er r o
%
st r = char ( spr i nt f ( ' k= 1 ' ) ) ;
f or n=2: k
st r = st r vcat ( st r , char ( spr i nt f ( ' k=%2d ' , n) ) ) ; %st r i ng par a l egenda
end
st r = st r vcat ( st r , char ( ' exat a' ) ) ; %st r i ng par a l egenda
pl ot ( x, y) , hol d on, %cr i ao da f i gur a
xl abel ( ' 0 \ l eq x \ l eq 1' )
yl abel ( ' Sol uo de PVC2' )
axi s( [ x0 xf 0. 24 0. 45] )
t i t l e( ' Sol uo PVC pel o Mt odo do Chut e' )
l egend( st r , 2) ;
%
f pr i nt f ( ' \ n - - - - x- - - - - - - y+apr ox- - - - - - y. exat o- - - - - - - - er r o- - - - - \ n' ) ;
f or i = 1: N+1
f pr i nt f ( ' %8. 4f %12. 11f %12. 11f %12. 9e\ n' , x( i ) , y( i , k) , y( i , k+1) , y( i , k+1) - y( i , k) ) ;
end
funo para o calculo do problema
f unct i on [ x, aux, k] = bvp2_shoot ( f , x0, xf , y0, yf , N, t ol , kmax)
%========================================================
%Par a r esol ver BVP2: [ y1, y2] = f ( x, y1, y2) comy1( x0) = y0, y1( xf ) = yf
%======= ent r adas =======
%f = f uno dada
%x0 = val or i ni ci al do x em( xo, xf )
%xf = val or f i nal de x em( x0, xf )
%y0 = val or de y emx0
%yf = val or de y emxf
%N = numer o de i nt er val os ent r e xo e xf
%t ol = er r o maxi mo per mi t i do
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
187
%kmax = numer o mxi mo de i t er aes
%======= sai das ========
%x = ar r ay comos pont os x
%aux = ar r ay comt ant as col unas quant as f or emas i t er aes
% cada col una cont ema k- esi ma sol uo encont r ada
%k = nmer o de i t er aes r eal i zadas
%
i f nar gi n < 8, kmax = 10; end %val or def aul t par a kmax
i f nar gi n < 7, t ol = 1e- 8; end %val or def aul t par a t ol
i f nar gi n < 6, N = 100; end %val or def aul t par a N

%chut e i ni ci al par a y ( x0)
dy0( 1) = ( yf - y0) / ( xf - x0) ;
[ x, y] = ode_RK4( f , [ x0 xf ] , [ y0 dy0( 1) ] , N) ; %execut a RK4
aux( : , 1) = y( : , 1) ; %f az y = aux
%
e( 1) = y( end, 1) - yf ; %y( xf ) - yf = desvi o ou er r o emt f
dy0( 2) = dy0( 1) - 0. 1*si gn( e( 1) ) ;

f or k = 2: kmax- 1
[ x, y] = ode_RK4( f , [ x0 xf ] , [ y0 dy0( k) ] , N) ;
aux( : , k) = y( : , 1) ;
%di f er ena ent r e o r esul t ado f i nal aval i ado e o obj et i vo a at i ngi r
e( k) = y( end, 1) - yf ; %y( xf ) - yf
ddy = dy0( k) - dy0( k - 1) ; %di f er ena ent r e der i vadas sucessi vas
%t est e do er r o
i f abs( e( k) ) < t ol | abs( ddy) < t ol , br eak; end
%
deddy = ( e( k) - e( k - 1) ) / ddy; %o gr adi ent e do er r o
dy0( k + 1) = dy0( k) - e( k) / deddy; %move pel o mt odo da secant e
end

Escreveu-se uma nova rotina de Runge-Kutta para favorecer o processo, mas ela semelhante
apresentada na seo 13.4.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
188
f unct i on [ t , y] = ode_RK4( f , t span, y0, N, var ar gi n)
%=============================================
%Mt odo de Runge- Kut t a mt odo par a r esol ver eq. di f . y ( t ) = f ( t , y( t ) )
%f = equao di f er enci al do t i po y ( t ) = f ( t , y( t ) )
%t span = [ t 0, t f ] - i nt er val o de var i ao da var i vel i ndependent e
%y0 = val or es i ni ci ai s ( yo e dy( i ncr ement o) )
%N = nmer o de passos no t empo ou na var i vel i ndependent e
%var ar gi n - - per mi t e var i ar de numer o de var i vei s de ent r ada
%
i f nar gi n < 4 | N <= 0, N = 100; end
i f nar gi n < 3, y0 = 0; end
y( 1, : ) = y0( : ) ' ; %f az y umvet or l i nha
h = ( t span( 2) - t span( 1) ) / N;
t = t span( 1) +[ 0: N] ' *h;
f or k = 1: N
f 1 = h*f eval ( f , t ( k) , y( k, : ) , var ar gi n{: }) ;
f 1 = f 1( : ) ' ;
f 2 = h*f eval ( f , t ( k) + h/ 2, y( k, : ) + f 1/ 2, var ar gi n{: }) ;
f 2 = f 2( : ) ' ;
f 3 = h*f eval ( f , t ( k) + h/ 2, y( k, : ) + f 2/ 2, var ar gi n{: }) ;
f 3 = f 3( : ) ' ;
f 4 = h*f eval ( f , t ( k) + h, y( k, : ) + f 3, var ar gi n{: }) ;
f 4 = f 4( : ) ' ;
y( k + 1, : ) = y( k, : ) + ( f 1 + 2*( f 2 + f 3) + f 4) / 6;
end

f unct i on dy = df 1( x, y)
dy( 1) = y( 2) ;
dy( 2) = ( 2*y( 1) + 4*x*y( 2) ) *y( 1) ;
Os resultados da execuo destes programas e funes a seguinte:
Sol uo de PVC pel o Mt odo do Chut e

Nmer o ef et i vo de i t er aes k = 6

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
189
- - - - x- - - - - - - y+apr ox- - - - - - y. exat o- - - - - - - - er r o- - - - -
0. 0000 0. 25000000000 0. 25000000000 0. 000000000e+000
0. 0100 0. 25000625016 0. 25000625016 - 9. 556799796e- 013
0. 0200 0. 25002500250 0. 25002500250 - 1. 905808844e- 012
0. 0300 0. 25005626266 0. 25005626266 - 2. 850331082e- 012
0. 0400 0. 25010004002 0. 25010004002 - 3. 789579761e- 012
0. 0500 0. 25015634772 0. 25015634772 - 4. 723665903e- 012
0. 0600 0. 25022520269 0. 25022520268 - 5. 652756041e- 012
0. 0700 0. 25030662562 0. 25030662562 - 6. 576961198e- 012
0. 0800 0. 25040064103 0. 25040064103 - 7. 496392396e- 012
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0. 9100 0. 31526845112 0. 31526845109 - 3. 333466836e- 011
0. 9200 0. 31709791987 0. 31709791984 - 3. 083100442e- 011
0. 9300 0. 31896909192 0. 31896909189 - 2. 807720723e- 011
0. 9400 0. 32088307023 0. 32088307021 - 2. 505373686e- 011
0. 9500 0. 32284100083 0. 32284100081 - 2. 173933256e- 011
0. 9600 0. 32484407486 0. 32484407484 - 1. 811079064e- 011
0. 9700 0. 32689353079 0. 32689353078 - 1. 414290907e- 011
0. 9800 0. 32899065668 0. 32899065667 - 9. 808487356e- 012
0. 9900 0. 33113679261 0. 33113679261 - 5. 077827048e- 012
1. 0000 0. 33333333333 0. 33333333333 8. 137934771e- 014
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
190

Grfico de Sada do Programa de Soluo de PVC pelo Mtodo do Chute

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.24
0.26
0.28
0.3
0.32
0.34
0.36
0.38
0.4
0.42
0.44
0 x 1
S
o
l
u

o

d
e

P
V
C
2
Soluo PVC pelo Mtodo do Chute
k=1
k=2
k=3
k=4
k=5
k=6
exata
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
191
13.6.2 Mtodo do Chute para problemas no-lineares
A idia deste mtodo a de resolver o PVC no linear
( ) ( ) ( )
0 0
, , , , 0,
n n
y f x y y x x x y x y y x yn = _ _ = = (13.6.9)
De maneira similar tcnica para problemas lineares vistos na seo anterior, exceto naquilo em que o
problema no linear no pode ser expresso como uma combinao linear de dois PVI. Em vez disso,
aproxima-se a soluo do PVC pela aproximao de uma seqncia de PVI envolvendo um parmetro,
t , por exemplo. Assim, o problema tem a seguinte forma:
( ) ( ) ( )
0 0 0
, , , , 0,
n
y f x y y x x x y x y y x t = _ _ = = (13.6.10)
Faz-se isto pela escolha do parmetro
k
t t = de maneira a assegurar que
( ) ( ) lim ,
n k n
k
y x t y x yn

= =
onde ( ) ,
k
y x t denota a soluo do PVI (13.6.10) com
k
t t = , e ( ) y x representa a soluo do PVC (13.6.9).
A soluo numrica do problema inicia-se com um chute para o parmetro
0
t , que determina a
inclinao inicial no ponto ( ) ( )
0 0 0
, x y y x = e ao longo da curva descrita pela soluo do PVI (13.6.10).
Se nesta soluo o valor no ponto ( )
0
,
n
y x t no for suficientemente prximo do valor de ( )
n
y x yn = ,
corrige-se a inclinao
1 2
, , t t . at que ( ) ,
n k
y x t seja igual a yn e com eto pequeno quanto desejvel.
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
192
Para determinar os parmetros
k
t , supondo-se que (13.6.9) satisfaz ao ultimo teorema apresentado, e
como ( ) ,
k
y x t denota a soluo do PVI (13.6.10) ento a equao no-linear
( ) , 0
n
y x t yn = (13.6.11)
deve ser resolvida. Como se viu no volume 1desta obra, pode-se resolv-la por diversos mtodos
dentre os quais se destacam o mtodo da secante e o mtodo de Newton.


Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
193
13.6.3 Mtodo das Diferenas Finitas
No captulo 9 (no volume 1desta obra) estudou-se as diversas espcies de diferenas finitas que se
aplicar aqui neste seo.
Este mtodo consiste em escrever a EDO dada e suas condies de contorno na forma de equaes em
diferenas finitas e resolver o sistema de equaes algbricas resultante.
Para se melhor visualizar este mtodo, seja um problema de valores de contorno PVC resolvido pelo
mtodo das diferenas finitas, assim seja a EDO e as suas condies de contorno as seguintes:
( ) ( ) ( ) , , , ,
a b
u f x x a b eu a u u b u
l
= = =
l
(13.6.12)
Onde pode-se colocar o operador em forma aberta, por exemplo, no caso de uma equao
homognea

( ) ( )
2
2 2
0
1 1
0, ,
0.021; 0,007
u
d d
u r a b
r dr
dr r
u a u b
=
1

l

l
l
( )
= =

(13.6.13)
Os valores das condies so dados nas bordas ou contorno, isto , em 5
a
r cm = e 8
b
r cm = . Neste
mtodo as derivadas que aparecem nas equaes so substitudas por aproximaes em diferenas
finitas divididas, tais como:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
194

( )
1
2
1 1
2 2
2
i i
i i i
y y
dy
dx x
y y y
d y
dx
x

~
^

~
^
(13.6.14)
Tais substituies convertem a EDO dada em uma equao linear (porm com mais de uma
incgnita). Escrevendo a equao linear resultante em diferentes pontos nos quais a EDO original
vlida, ter-se- um sistema de equaes lineares simultneas que podem ser resolvidas pelo mtodo de
Gauss ou pelo de Gauss-Seidel, ou outro qualquer.
Para ilustrar o mtodo em epgrafe, seja um exemplo fsico da soluo das equaes acima.
Exemplo
Seja o caso de um vaso de presso que esteja sendo testado em laboratrio para checar sua capacidade de suportar presso.
Para um vaso de parede espessa com raio interno a e raio externo b, a equao diferencial para o deslocamento u em
qualquer ponto de sua espessura dada por:
2
2 2
1
0
d u du u
r dr
dr r
=
Assumindo que o raio interno 5 a cm = e o raio externo 8 b cm = , e que o material do vaso de presso um ao cuja
resistncia fluncia de
2
25 / kN cm
l
l
l
. Dois medidores de tenso so colocados nas bordas tangencialmente aos raios
interno e externo de modo a medir a tenso normal tangencial cujas medidas, na presso mxima, foram:

/
/
0,00444
0,00098
t r a
t r b
e
e
=
=
=
=
(13.6.15)
Assim o deslocamento radial e a deformao tangencial so relacionados por:

t
u
r
e = (13.6.16)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
195
ento

/
/
0,004435 5 0,022175
0,000977 8 0,007816
r a t a a
r b t a b
u a cm cm
u b cm cm
e
e
= =
= =
= = =
= = =
(13.6.17)
As duas condies de contorno vo permitir a soluo do PVC e determinar o deslocamento radial como uma funo da
localizao radial. Como se sabe a tenso normal mxima no vaso de presso no raio interno r a = dado por:

max
2
1
r a r a
E u du
r dr
s n
n
= =
1

=


( )
(13.6.18)
onde
E = mdulo Youngs do ao (E=20 kN/cm2);
n = coeficiente de Poissons (n =0.3);
Tendo-se calculado a tenso mxima pode-se calcular o fator de segurana, FS como

max
Tenso de Escoamento do ao
FS
s
= (13.6.19)
As localizaes radiais desde r a = at r b = so divididas em n segmentos igualmente espaados, resultando em
1 n ns. Isso permitira encontrar a varivel dependente u numericamente nestes ns. O procedimento numrico assim
realizado o nosso conhecido mtodo das diferenas finitas e neste caso determinado da seguinte forma:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
196




No n i no vaso de presso,
( )
2
1 1
2 2
2
i i i
u u u
d u
dr
r


~
^
(13.6.20)
1 i i
u u
du
dr r


~
^
(13.6.21)
Substituindo essas aproximaes (13.6.20) e (13.6.21) na equao (13.6.13) se tem
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
197

( )
1 1 1
2 2
2
1
0
i i i i i i
i
i
u u u u u u
r r
r
r


=
^
^
(13.6.22)

( ) ( ) ( )
1 1
2 2 2 2
1 1 2 1 1 1
0
i i i
i i
i
u u u
r r r r
r
r r r

1 1




=



^ ^
^ ^ ^
( ) ( )
(13.6.23)
Seja ento dividir a espessura, b a , do vaso de presso em 1 n ns, isto , em r a = o n 0 i = e em r b = o
n i n = . Isto significa que se tm 1 n incgnitas.
Pode-se agora escrever a equao acima para cada um dos ns 1,..., 1 n . Isto produzira 1 n equaes. Nos ns de
borda, 0 i = e i n = , usa-se as condies de contorno dadas,
0 r a
n r b
u u
u u
=
=
=
=

Isso gera um total de 1 n equaes. Assim se tm 1 n incgnitas e 1 n equaes lineares. Dessa forma se pode
solucionar este sistema por qualquer mtodo numrico j estudado.
Como exemplo numrico far-se- os clculos para 5, n = com um total de 6 ns. Assim,
8 5
0,6
5
b a
r cm
n

^ = = = .
No n
0
0, 5 i r a cm = = =
( )
0
5 0.022175 ; u u cm = = (13.6.24)
No n
1 0
1, 5 0.6 5.6 i r r r cm = = ^ = =

( )( )
( )
( )( )
0 1 2
2 2 2 2
0 1 2
1 2 1 1 1 1
0
5.6 0.6 5.6 0.6
0.6 0.6 0.6
5.6
2.7778 5.8851 3.0754 0
u u u
u u u
1
1


=



( )

( )
=
(13.6.25)
No n
2 1
2, 5.6 0.6 6.2 i r r r cm = = ^ = =
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
198

( )( ) ( )( )
1 2 3
2 2 2 2
1 2 3
1 2 1 1 1 1
0
6.2 0.6 6.2 0.6
0.6 0.6 6.2 0.6
2.7778 5.8504 3.0466 0
u u u
u u u
1 1


=




( ) ( )
=
(13.6.26)
No n
3 2
3, 6.2 0.6 6.8 i r r r cm = = ^ = =

( )( ) ( )( )
2 3 4
2 2 2 2
2 3 4
1 2 1 1 1 1
0
6.8 0.6 6.8 0.6
0.6 0.6 6.8 0.6
2.7778 5.8223 3.0229 0
u u u
u u u
1 1


=




( ) ( )
=
(13.6.27)
No n
4 3
4, 6.8 0.6 7.4 i r r r cm = = ^ = =

( )( )
( )
( )( )
3 4 5
2 2 2 2
3 4 5
1 2 1 1 1 1
0
7.4 0.6 7.4 0.6
0.6 0.6 0.6
7.4
2.7778 5.7990 3.0030 0
u u u
u u u
1
1


=



( )

( )
=
(13.6.28)
No n
5 4
5, 7.4 0.6 8 i r r r cm = = ^ = =
( )
5
8 0, 007816
r b
u u u
=
= = = (13.6.29)
Escrevendo as equaes de (13.6.24) a (13.6.29) na forma matricial se tem

0
1
2
3
4
5
1 0 0 0 0 0 0.022175
2.7778 5.8851 3.0754 0 0 0 0
0 2.7778 5.8504 3.0466 0 0 0
0 0 2.7778 5.8223 3.0229 0 0
0 0 0 2.7778 5.7990 3.0030 0
0 0 0 0 0 1 0.007816
u
u
u
u
u
u
l l l
l l
l l

l l
l l

l l
=
l l

l l
l l

l l
l l
l l
l l l
l
l
l
l
l
l
l
l
l
l
l

As equaes formam uma matriz tridiagonal; resolvendo o sistema:
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
199
0
1
2
3
4
5
0.022175
0.0184398476
0.0152574078
0.0124859615
0.0100284448
0.007816
u
u
u
u
u
u
u
' ' ' '
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1 1 1 1 1
= =
! ! ! !
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1 + + + +


Para achar a tenso mxima aplica-se a equao (13.6.18)

max
2
1
r a r a
E u du
r dr
s n
n
= =
1

=


( )
. . . tenso mxima;

3 2
20 10 / E N cm
l
=
l
l
. . . mdulo de elasticidade;
0.3 n = . . . coeficiente de Poisson;
0
0.022175
r a
u u
=
= =
1 0
0.0184398476 0.022175
0,006225254
0.6
r a
u u du
dr r
=

~ = =
^

Logo a tenso mxima no vaso de presso
( )
3
2
max
2
20 10 0.022175
0.3 0,006225254 56,43 N/ cm
5
1 0.3
s
1

l
= =

l
l
( )


O fator de segurana FS dado pela equao (13.6.19)
25000
443,05
56,43
FS = =
A equao diferencial tem uma soluo exata dada por

2
1
C
u C r
r
= (13.6.30)
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
200
onde
1
C e
2
C so determinadas usando-se as condies de contorno em r a = e r b = .
2
1
1
2 2
1
( ) ( 5) 0.022175 (5)
0.0012397
5
0.141867
( ) ( 8) 0.007816 (8)
8
C
u r a u r C
C
C C
u r b u r C
'
1
1
= = = = =
1 ' ' ' '
1 1 1 1
1
1 1 1 1 1
= =
! ! ! ! !
1 1 1 1 1
1 1 1 1 1
+ + + +
= = = = = 1
1
1+

Assim,
2
0.141867
0.0012397
0.141867
0.0012397
u r
r
du
dr
r
=
=

( )
( )
max
2
3
2 2
2
1
0.141867
0.0012397 5
20 10 0.141867
5
0.3 0.0012397
5
1 0.3 5
21978,02 0,00443498-0,002074314
51,88 N/ cm
r a r a
E u du
r dr
s n
n
= =
1

=


( )
1

1


=


( )



( )
=
l
=
l
l

O erro real 56,43 51,88 4,55
t
E = =
O erro relativo absoluto real
4,55
100 8,06%
56,43
t
e = =
A aproximao
1 i i
y y
dy
dx x


~
^
tem uma preciso de primeira orem, e o erro real da ordem de ( ) O x ^ .
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
201
A aproximao
( )
2
1 1
2 2
2
i i i
y y y
d y
dx
x


~
^
tem uma preciso de segunda ordem, isto , seu erro real da ordem de
( )
( )
2
O x ^ .
Procedendo a programao em Matlab do problema acima se tem:
%=========================================================
%Cal cul o do vaso de pr esso de par edes gr ossas
%=========================================================
%
cl c; cl ear ;
f pr i nt f ( ' \ n Pr obl ema do Vaso de Pr esso de par edes gr ossas \ n' ) ;
a = i nput ( ' Rai o i nt er no do t ubo = ' ) ;
i f a == 0 %se nul o, pega os l t i mos dados f or neci dos
l oad ( ' dvp' ) ;
f pr i nt f ( ' \ n Rai o i nt er no do t ubo = %+15. 12f ' , a) ;
f pr i nt f ( ' \ n Rai o ext er no do t ubo = %+15. 12f ' , b) ;
f pr i nt f ( ' \ n Modul o de Young do mat er i al do t ubo = %+15. 12f ' , E) ;
f pr i nt f ( ' \ n Tenso escoament o ao = %+15. 12f ' , gs) ;
f pr i nt f ( ' \ n Coef i ci ent e de Poi sson = %+15. 12f ' , ni ) ;
f pr i nt f ( ' \ n Nmer o de segment os = %+15. 12f ' , n) ;
f pr i nt f ( ' \ n Condi o de cont or no emr =a = %+15. 12f ' , u0) ;
f pr i nt f ( ' \ n Condi o de cont or no emr =b = %+15. 12f ' , un) ;
f pr i nt f ( ' \ n Passo ent r e pont os = %+15. 12f \ n' , h) ;
el se
b = i nput ( ' Rai o ext er no do t ubo = ' ) ;
E = i nput ( ' Modul o de Young do mat er i al do t ubo = ' ) ;
gs = i nput ( ' t enso escoament o ao = ' ) ;
ni = i nput ( ' Coef i ci ent e de Poi sson = ' ) ;
n = i nput ( ' Nmer o de segment os = ' ) ;
u0 = i nput ( ' condi o de cont or no emr =a = ' ) ;
un = i nput ( ' condi o de cont or no emr =b = ' ) ;
h = ( b- a) / n
save ( ' dvp' )
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
202
end
%
c = zer os( n+1, n+1) ; %mat r i z dos coef i ci ent es
d = zer os( n+1, 1) ; %vet or col una dos t er mos i ndependent es
u = zer os( n+1, 1) ; %vet or dos desl ocament os
uexat a = zer os( n+1, 1) ; %val or es da sol uo exat a
%
x = l i nspace( a, b, n+1) ;
doubl e( c) ; doubl e( u) ; doubl e( d) ;
%
d( 1) = u0; d( n+1) = un;
c( 1, 1) = 1; c( n+1, n+1) = 1;
%
f or i =1: n+1
i f i ==1 | | i == n+1
uexat a( i ) =. 00013462*x( i ) +0. 016/ x( i ) ;
el se
[ c( i , i - 1) , c( i , i ) , c( i , i +1) , d( i ) ] = d2udx( a, h, i ) ;
uexat a( i ) =. 00013462*x( i ) +0. 016/ x( i ) ;
end
end
%
u = c\ d;
%cal cul o da t enso mxi ma
si gmax = ( E/ ( 1- ni ^2) ) *( u0/ a + ni *( ( u( 2) - u0) / h) ) ;
%cal cul o do FS - f at or de segur ana
f s = gs/ si gmax;
pl ot ( x, uexat a) , hol d on
pl ot ( x, u, ' - r ' )
%i mpr esso dos r esul t ados
f pr i nt f ( ' \ n pont o val or exat o val or apr ox. er r o \ n' )
f or i =1: n+1
er r o( i ) = ( uexat a( i ) - u( i ) ) *100/ uexat a( i ) ;
f pr i nt f ( ' %6. 5f %16. 12f %16. 12f %+16. 12e \ n' , x( i ) , . . .
uexat a( i ) , u( i ) , er r o( i ) ) ;
end
f pr i nt f ( ' \ n Val or da t enso mxi ma = %15. 12f \ n' , si gmax) ;

f unct i on [ a, b, c, d] = d2udx( a, h, i ) ;
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
203
r i = a + ( i - 1) *h; r 2 = r i * r i ;
h2 = h * h;
c = ( 1/ h2 + 1/ ( r i *h) ) ;
b = ( - 2/ h2 - 1/ ( r i *h) - 1/ r 2) ;
a = 1/ h2;
d = 0;
Aplicando os dados do problema, conforme fornecido no exemplo se tem:
Pr obl ema do Vaso de Pr esso de par edes gr ossas

Rai o i nt er no do t ubo = +5. 000000000000
Rai o ext er no do t ubo = +8. 000000000000
Modul o de Young do mat er i al do t ubo = +20000. 000000000000
Tenso escoament o ao = +25000. 000000000000
Coef i ci ent e de Poi sson = +0. 300000000000
Nmer o de segment os = +5. 000000000000
Condi o de cont or no emr =a = +0. 022175000000
Condi o de cont or no emr =b = +0. 007816000000
Passo ent r e pont os = +0. 600000000000

Val or es dos desl ocament os r adi ai s at r avs da par ede do t ubo
pont o val or exat o val or apr ox. er r o
5. 00000 0. 022175000000 0. 022175000000 +0. 000000%
5. 60000 0. 018391200000 0. 018439728677 - 0. 263869%
6. 20000 0. 015195787097 0. 015257130566 - 0. 403687%
6. 80000 0. 012433011765 0. 012485629040 - 0. 423206%
7. 40000 0. 009997637838 0. 010028168704 - 0. 305381%
8. 00000 0. 007816000000 0. 007816000000 +0. 000000%
Val or da t enso mxi ma = 56. 425589851898

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
204



5 5.5 6 6.5 7 7.5 8
0.006
0.008
0.01
0.012
0.014
0.016
0.018
0.02
0.022
0.024


exata
aprox
Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
205

Universidade Estadual do Maranho Curso de Engenharia de Computao - Mtodos Nmericos Avanados
Prof. Henrique Mariano C. do Amaral
206
13.6.4 Problemas de Contorno com Dois Pontos Fixos
Nesta seo abordar-se- a anlise dos mtodos de aproximao para problemas de valor de contorno
com 2 pontos

S-ar putea să vă placă și