Você está na página 1de 24

U NIVERSIDADE DO A LGARVE

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES

A N ÁLISE N UM ÉRICA

E QUAÇ ÕES D IFERENCIAIS O RDIN ÁRIAS :


P ROBLEMAS DE VALOR I NICIAL

José Inácio J. Rodrigues


Pedro M. M. Guerreiro

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 1 / 24


P ROBLEMAS DE VALOR INICIAL
I NTRODUÇ ÃO

Uma equação diferencial é uma equação que envolve uma derivada da função e de
um modo geral, a resolução de uma equação diferencial consiste em determinar a
função que satisfaz tal equação e simultaneamente obedece a um conjunto de
condições adicionais habitualmente designadas por condições de fronteira.

A maioria das equações diferenciais não admite soluções que se possam caracterizar
por expressões analı́ticas. Nestes casos, a caracterização da solução da equação
diferencial poderá ser feita de uma forma aproximada, por exemplo através de um
desenvolvimento em série ou calculando de forma aproximada o valor da solução num
conjunto finito de valores da variável independente.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 2 / 24


P ROBLEMAS DE VALOR INICIAL
I NTRODUÇ ÃO

E XEMPLO :

Considerando a equação y ′ (t) = 2t,


Z qual é a função y (t)?
É fácil perceber que basta calcular 2tdt = t 2 + c, ou seja,
a função será y (t) = t 2 + c.
Isto quer dizer que não existe uma solução única para a
função y (t), mas sim uma “famı́lia” de soluções, uma para
cada valor de c, como se pode ver na imagem à direita.

Se, além da equação diferencial inicial, se souber que no


instante 0, o resultado é −1, ou seja, y (0) = −1, isto resulta
em 02 + c = −1, logo c = −1, o que permite identificar a
função pretendida: y (t) = t 2 − 1

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 3 / 24


P ROBLEMAS DE VALOR INICIAL
I NTRODUÇ ÃO

Neste capı́tulo serão estudados métodos numéricos que permitem obter soluções
(aproximadas) de equações diferenciais ordinárias. No caso geral, procuraremos
determinar a função y (t) que satisfaz a equação diferencial de ordem n,
 
y (n) = f t, y , y ′ , y ′′ , . . . , y (n−1)

no intervalo [t0 , T ].

Trataremos apenas os designados problemas de valor inicial, nos quais a função y (t)
deverá também satisfazer as condições iniciais:

y (t0 ) = y0,0 , y ′ (t0 ) = y0,1 , ..., y (n−1) (t0 ) = y0,n−1

onde y0,0 , y0,1 , . . . , y0,n−1 são valores conhecidos.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 4 / 24


P ROBLEMAS DE VALOR INICIAL
S OLUÇ ÃO NUM ÉRICA DE EQUAÇ ÕES DIFERENCIAIS

Considerando um intervalo [t0 , T ], chama-se malha a um conjunto de pontos

t0 < t1 < t2 < · · · < tn .

Os pontos ti são designados por nós da malha e as distâncias hi = ti − ti−1 por


passos da malha. Se estas distâncias forem todas iguais, a malha diz-se uniforme.
É importante ter uma forma de medir a “distância” entre duas funções, para medir o
afastamento entre soluções aproximadas produzidas pelos métodos numéricos e a
solução exata.
Dada uma função contı́nua v , definida no intervalo [t0 , T ], a norma máximo de v ,
representada por ||v ||, é definida por:

||v || = max |v (t)|


t∈[t0 ,T ]

A distância entre duas funções, v e w, contı́nuas no intervalo [t0 , T ], é definida por:

||v − w|| = max |v (t) − w(t)|


t∈[t0 ,T ]

Estas funções serão iguais se e só se ||v − w|| = 0.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 5 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1

Considere-se uma função f : R × R → R uma função dada, a equação diferencial de


1ª ordem, y ′ (t) = f (t, y (t)) no intervalo [t0 , T ], e a condição inicial y (t0 ) = y0 .

Propriedade (Condição suficiente para existência e unicidade de solução)


Seja f : R × R → R uma função verificando as seguintes propriedades:
f é uma função contı́nua relativamente ao primeiro argumento (t);
|f (t, x1 ) − f (t, x2 )| ≤ L|x2 − x1 | para uma constante L > 0 (constante de Lipschitz);
para ∀t ∈ [t0 , T ] e ∀x1 , x2 ∈ R
Então, o problema de valor inicial possui uma solução única, e, para além disso, a
solução deste problema é uma função continuamente diferenciável em [t0 , T ].

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 6 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1

Consideremos a equação diferencial, y ′ (t) = f (t, y (t)), e dois nós da malha,


consecutivos, ti e ti+1 (com ti+1 = ti + h).

Integrando ambos os membros da equação, obtêm-se


Z ti+1 Z ti+1
y ′ (ξ)dξ = f (ξ, y(ξ))dξ ⇔
ti ti
Z ti+1
y (ti+1 ) − y (ti ) = f (ξ, y(ξ))dξ ⇔
ti
Z ti+1
y (ti+1 ) = y (ti ) + f (ξ, y (ξ))dξ (1)
ti

Considerando que é conhecido o valor inicial, a principal dificuldade reside no facto do


integral envolver a própria função que pretendemos calcular, o que impede o seu
cálculo de modo explı́cito.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 7 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1 - M ÉTODO DE E ULER

Uma forma simples de aproximar o integral


Z ti+1
f (ξ, y (ξ))dξ
ti

consiste em utilizar a regra do retângulo.

Considerando a regra do retângulo à esquerda,


Z ti +h
f (ξ, y (ξ))dξ ≈ h · f (ti , y(ti ))
ti

Substituindo na equação (1), obtemos

y (ti+1 ) ≈ y (ti ) + h · f (ti , y (ti ))

designado por método de Euler progressivo.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 8 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1 - M ÉTODO DE E ULER

E XEMPLO : Utilize o método de Euler progressivo, com passo constante h = 0.1, para
obter uma solução aproximada da equação diferencial

y ′ (t) = 1 + t − y (t),
com t ∈ [0, 1] e y (0) = 1.

Como a equação diferencial é dada por y ′ (t) = f (t, y (t)), logo


f (ti , y (ti )) = 1 + ti − y (ti ). Aplicando o método de Euler progressivo

yi+1 = yi + h · f (ti , yi )
= yi + h · (1 + ti − yi )

com yi = y (ti ). Como y0 = 1, podemos desta forma calcular os restantes valores:

ti 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
yi 1.000 1.000 1.010 1.029 1.056 1.090 1.131 1.178 1.230 1.287 1.349

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 9 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1 - M ÉTODO DE E ULER

Outra forma aproximar o integral da equação (1)


consiste em utilizar a regra do retângulo à direita
Z ti +h
f (ξ, y (ξ))dξ ≈ h · f (ti + h, y (ti + h))
ti

Substituindo novamente na equação (1), e sabendo que ti+1 = ti + h:

y (ti+1 ) ≈ y (ti ) + h · f (ti+1 , y (ti+1 ))

que é designado por método de Euler regressivo.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 10 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1 - M ÉTODO DE E ULER

E XEMPLO : Utilize o método de Euler regressivo, com passo constante h = 0.1, para
obter uma solução aproximada da equação diferencial

y ′ (t) = 1 + t − y (t),
com t ∈ [0, 1] e y (0) = 1.
Como a equação diferencial é dada por y ′ (t) = f (t, y (t)), logo
f (ti , y (ti )) = 1 + ti − y (ti ). Aplicando o método de Euler regressivo (com yi = y(ti )):

yi+1 = yi + h · f (ti+1 , yi+1 )


⇔ yi+1 = yi + h · (1 + ti+1 − yi+1 )
⇔ yi+1 = yi + h · (1 + ti+1 ) − h · yi+1
⇔ yi+1 + h · yi+1 = yi + h · (1 + ti+1 )
yi + h · (1 + ti+1 )
⇔ yi+1 =
1+h
Como y0 = 1, podemos desta forma calcular os restantes valores:

ti 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
yi 1.000 1.009 1.026 1.051 1.083 1.121 1.164 1.213 1.267 1.324 1.386

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 11 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM 1 - M ÉTODO DE E ULER

Os erros de truncatura dos métodos de Euler progressivo e regressivo, Th (t, y (t)),


resultam da aproximação no cálculo do integral da função f (t, y ).

No caso do método de Euler progressivo


h ′
Th (t, y ) = f (ξ, y (ξ)),
2
e no caso do método de Euler regressivo,
h
Th (t, y ) = − f ′ (ξ, y (ξ))
2

Em qualquer dos casos, um majorante do erro pode ser obtido pela expressão:
h
sup f ′ (t, y (t))

||Th || ≤
2 t∈[t0 ,T ]

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 12 / 24


P ROBLEMAS DE VALOR INICIAL
M ÉTODOS DE TAYLOR

Os métodos de Taylor de resolução numérica de equações diferencias


Z ti +h
caracterizam-se por aproximarem o integral f (ξ, y (ξ))dξ (da equação (1)) por
ti
polinómios de Taylor.
As expressões de recorrência destes métodos, bem como os seus erros de truncatura
obtêm-se facilmente a partir da seguinte fórmula:

h2 ′′ hp (p) hp+1
y(ti + h) = y (ti ) + h · y ′ (ti ) + y (ti ) + · · · + y (ti ) + y (p+1) (ξ)
2! p! (p + 1)!
onde ξ ∈ [ti , ti + h].
Considerando a equação diferencial y ′ (t) = f (t, y (t)), o método de Taylor de ordem
p é caracterizado pela aproximação:

h2 ′ hp (p−1)
y (ti + h) ≈ y (ti ) + h · f (ti , y (ti )) + f (ti , y (ti )) + · · · + f (ti , y(ti )) (2)
2! p!

com erro de truncatura


hp+1 (p)
Th (ti , y (ti )) = f (ξ, y (ξ)) para ξ ∈ [ti , ti + h]
(p + 1)!

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 13 / 24


P ROBLEMAS DE VALOR INICIAL
M ÉTODOS DE TAYLOR

E XEMPLO :
Utilize o método de Taylor de ordem 2, com passo h = 0.1, obter uma solução
aproximada de y ′ (t) = 1 + t − y (t), onde t ∈ [0, 1] com a condição inicial y (0) = 1.

Considerando f (t, y (t)) = 1 + t − y (t), e a equação (2),

h2 ′
y(ti + h) = y (ti ) + h(1 + ti − y (ti )) + f (ti , y (ti ))
2!
Como f ′ (t, y (t)) = (1 + t − y (t))′ = 0 + 1 − y ′ (t) = 1 − (1 + t − y(t)) = −t + y(t),

h2
y (ti + h) = y(ti ) + h(1 + ti − y (ti )) + (y (ti ) − ti )
2!

ti 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
yi 1.000 1.005 1.019 1.041 1.071 1.107 1.149 1.197 1.250 1.307 1.369

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 14 / 24


P ROBLEMAS DE VALOR INICIAL
M ÉTODOS DE RUNGE -K UTTA

Os métodos de Taylor de ordens mais elevadas necessitam do cálculo de derivadas de


ordem superior da função f , o que nem sempre é viável.
Os métodos de Runge-Kutta foram desenvolvidos de forma a não necessitarem do
cálculo de derivadas de f .

De uma forma geral, os métodos de Runge-Kutta (explı́citos) permitem obter o valor de


yi+1 efetuando os seguinte cálculos:

F1 = f (ti , yi )
F2 = f (ti + α2 h, yi + hβ2,1 F1 )
F3 = f (ti + α3 h, yi + h(β3,1 F1 + β3,2 F2 ))
..
.
Fs = f (ti + αs h, yi + h(βs,1 F1 + βs,2 F2 + · · · + βs,s−1 Fs−1 ))
yi+1 = yi + h(w1 F1 + w2 F2 + · · · + ws Fs )

Nestas expressões, s é um inteiro que traduz o número de estágios e αj , βjk e wj são


parâmetros a determinar de modo a garantir a ordem desejada.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 15 / 24


P ROBLEMAS DE VALOR INICIAL
M ÉTODOS DE RUNGE -K UTTA

Para especificar um método de Runge-Kutta em particular, é necessário fornecer o


inteiro s (número de estágios), e os coeficientes αi (2 ≤ i ≤ s), βij (1 ≤ j < i ≤ s) e wi
(i = 1, 2, . . . , s).
Estes dados são geralmente dispostos numa tabela designada por tabela de Butcher:

0
α2 β2,1
α3 β3,1 β3,2
.. .. ..
. . .
αs βs,1 βs,2 ... βs,s−1
w1 w2 ... ws−1 ws

i−1
X
O método Runge–Kutta é consistente se βij = αi , para i = 2, . . . , s.
j=1
Um método diz-se consistente se o erro de truncatura tende para 0 com h
(limh→0 ||Th || = 0)).

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 16 / 24


P ROBLEMAS DE VALOR INICIAL
M ÉTODOS DE RUNGE -K UTTA

Métodos de Runge-Kutta de ordem 2:


0 0
1 1 2 2
2 2 3 3
1 3
0 1
4 4
F1 = f (ti , yi ) F1 = f (ti , yi )
F2 = f (ti + h2 , yi + h2 F1 ) F2 = f (ti + 2h
, yi + 2h F )
3 3 1
yi+1 = yi + hF2 yi+1 = yi + F1
h( 4 + 4 )3F2

Método de Runge-Kutta (clássico) de ordem 4:


0
1 1 F1 = f (ti , yi )
2 2 F2 = f (ti + h2 , yi + h2 F1 )
1 1
0 F3 = f (ti + h2 , yi + h2 F2 )
2 2
1 0 0 1 F4 = f (ti + h, yi + hF3 )
 
1 2 2 1 yi+1 = yi + h F61 + F32 + F3
+ F4
3 6
6 6 6 6
E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 17 / 24
P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM N

Consideremos o problema de determinar a função y : R → R, solução de uma dada


equação diferencial de ordem n:
 
y (n) (t) = f t, y (t), y ′ (t), ..., y (n−1) (t)

num dado intervalo [t0 , T ] satisfazendo as condições iniciais



 y (t0 ) = y0,0
 y ′ (t ) = y


0 0,1
..


 .
 (n−1)
y (t0 ) = y0,n−1
para y0,0 , y0,1 , . . . , y0,n−1 ∈ R dados.
A resolução numérica deste problema é obtida recorrendo a variáveis auxiliares:
y1 = y (t)


y = y ′ (t)


 2


y3 = y ′′ (t)
 ..
.




yn = y (n−1) (t)

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 18 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM N

E definindo um sistema de equações diferenciais de ordem 1, com base nessas


variáveis auxiliares:
 ′
 y1 (t) = y2 (t)
 y ′ (t) = y (t)


2 3
..


 .
 ′
yn (t) = f (t, y1 (t), . . . , yn (t))
devendo a sua solução satisfazer as condições iniciais:


 y1 (t0 ) = y0,0
 y2 (t0 ) = y0,1

..


 .

yn (t0 ) = y0,n−1

Assim, a resolução de uma equação diferencial de ordem n obtém-se através da


resolução de um sistema de equações diferenciais de ordem 1.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 19 / 24


P ROBLEMAS DE VALOR INICIAL
E QUAÇ ÕES DIFERENCIAIS DE ORDEM N

E XEMPLO :
Determinar, pelo método de Euler progressivo com passo 0.05, uma solução
aproximada de

θ′′ + 10 sen(θ) = 0, t ∈ [0, 0.5], θ(0) = 0.1, θ′ (0) = 0

Definindo y1 = θ e y2 = θ′ , obtém-se o sistema de equações diferenciais


 ′
y1 = y2
y2′ = −10 sen(y1 )
(
y1,i+1 = y1,i + 0.05 × y2,i
As expressões de recorrência serão:
y2,i+1 = y2,i − 0.05 × 10 sen(y1,i )
com y1,0 = 0.1 e y2,0 = 0.
Aplicando sucessivamente estas expressões, obtêm-se os valores apresentados na
tabela seguinte:

ti 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
y1 0.1 0.1 0.098 0.093 0.086 0.076 0.064 0.05 0.035 0.018 0.001
y2 0.0 −0.05 −0.1 −0.149 −0.195 −0.238 −0.276 −0.308 −0.333 −0.35 −0.359

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 20 / 24


P ROBLEMAS DE VALOR INICIAL
E XERC ÍCIOS

Exercı́cio 5
Considere o seguinte problema de valor inicial
 ′
u = u1 u2
 1′


u2 = t + u1 − u2
 u1 (0) = 1

u2 (0) = 0

com t ∈ [0, 1] e h = 0.1. Determine uma solução aproximada utilizando:


a) o método de Euler progressivo;
b) o método de Taylor de ordem 2.

Exercı́cio 8

Resolva a equação diferencial y = 1 + t − y com t ∈ [0, 1] e y (0) = 1 e h = 0.25,
utilizando:
a) o método de Range-Kutta de ordem 2;
b) o método de Range-Kutta de ordem 4.

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 21 / 24


P ROBLEMAS DE VALOR INICIAL
Algoritmo para o método de Euler progressivo

Algoritmo 1: M ÉTODO DE E ULER P ROGRESSIVO


Entrada: f (x, y ), x0 , y0 , h, x
Saı́da: y
inı́cio
n ← (x − x0 )/h // numero de iterações necessárias
y ← y0
para cada i = 1 . . . n faça
y ← y + hf (x0 , y )
x0 ← x0 + h
fim
retorna y
fim

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 22 / 24


P ROBLEMAS DE VALOR INICIAL
Algoritmo para o método de Taylor de ordem 2

Algoritmo 2: M ÉTODO DE TAYLOR ( ORDEM 2)


Entrada: f (x, y ), x0 , y0 , h, x
Saı́da: y
inı́cio
n ← (x − x0 )/h // numero de iterações necessárias
y ← y0
para cada i = 1 . . . n faça
y ← y + hf (x0 , y ) + h2 f ′ (x0 , y )
x0 ← x0 + h
fim
retorna y
fim

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 23 / 24


P ROBLEMAS DE VALOR INICIAL
Algoritmo para o método de Range-Kutta (ordem 2)

Algoritmo 3: M ÉTODO DE R ANGE -K UTTA ( ORDEM 2)


Entrada: f (x, y ), x0 , y0 , h, x
Saı́da: y
inı́cio
n ← (x − x0 )/h // numero de iterações necessárias
y ← y0
para cada i = 1 . . . n faça
F1 ← f (x0 , y)
F2 ← f x0 + 32 h, y + 32 hF1

 
y ← y + h F41 + 3F42
x0 ← x0 + h
fim
retorna y
fim

E NGENHARIA E LETROT ÉCNICA E DE C OMPUTADORES Cálculo Numérico 2022/2023 24 / 24

Você também pode gostar