Buscar

Soluções Numéricas de EDOs

Prévia do material em texto

Soluções numéricas de equações diferenciais ordinárias.
Alan Costa de Souza
21 de Outubro de 2017
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 1 / 116
Introdução.
Equações diferenciais aparecem em modelos de diferentes áreas,
como:
1 Astronomia
2 Mecânica dos fluidos
3 Fluidos de Calor
4 Vibrações
5 Reações qúımicas e nucleares.
6 Economia
7 Biologia
8 etc
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 2 / 116
Equações diferenciais são definidas como equações que apresentam
derivadas de funções nas fórmulas.
Se a equação apresenta apenas uma variável independente, ela é
chamada de equação diferencial ordinária (EDO ou ODE).
Exemplos:
dy
dx
= x + y
dy
dx
= x2 + y2
d2y
dx2
+ (1 + y2)
dy
dx
+ y = 0.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 3 / 116
Se a equação diferencial apresenta mais de uma variável independente,
ela é chamada de equação diferencial parcial (EDP ou PDE).
∂2u
∂x2
+
∂2u
∂y2
= 0
u(x , y)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 4 / 116
A solução de uma EDO é uma função de uma variável que satisfaz a
equação:
dy
dx
= y ′ = y y(x) = aex
d3u
du3
= u′′′ = 0 u(x) = pn(x) n ≤ 2.
Como pode ser observado, para cada equação existem várias soluções.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 5 / 116
Outro conceito importante é a ordem da equação.
dy
dx
= y ordem 1
d3u
dx3
= 0 ordem 3.
d3u
dx3
+
d2u
dx2
+
du
dx
= 0 ordem 3.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 6 / 116
Uma EDO é dita linear se os termos de funções e derivadas aparecem
de forma linear.
não lineares
y ′′ + (1− y2)y ′ + y = 0
u′′ + e−u = f (x)
linear
3y ′′ + 4y ′ + 5y = 2x
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 7 / 116
Como vimos anteriormente, uma equação diferencial pode apresentar
várias soluções.
Em geral, uma equação de ordem m requer m condições para ter
solução única.
Exemplos de condições:
y(0) = 1
y ′(4) = −5
y(2) + 5y ′(3) = 6∫ 1
0
sen(xy)dx = 0
As mais comuns são as duas primeiras.
Dependendo das condições temos um problema de valor inicial ou um
problema de valor de contorno.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 8 / 116
Problema de valor inicial
Equação de ordem m.
um valor da função e das derivadas até ordem m-1 num mesmo ponto.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 9 / 116
Exemplo 1
dy
dx
= y
y(0) = 1
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 10 / 116
Exemplo 2
d3y
dx3
+ (x + 1)
d2y
dx2
+ cos(x)
dy
dx
− (x2 − 1)y = x2 + y2sen(x + y)
y(0) = 1, 1 y ′(0) = 2, 2 y ′′(0) = 3, 3
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 11 / 116
Problema de valor de cotorno
Equação de ordem m > 1
As m-1 equações não são dadas no mesmo ponto.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 12 / 116
Exemplo 1
d4y
dx4
+ ky(x) = q
y(0) = y ′(0) = 0
y(L) = y ′′(L) = 0
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 13 / 116
Exemplo 2
Nem sempre um PVC terá solução única mesmo com m condições.
y ′′ = 0
y(−1) = 0
y(1)− 2y ′(1) = 0
y(x) = α(1 + x), ∀α ∈ R
Problema PVC de ordem m
m condições
mas com várias soluções.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 14 / 116
Métodos numéricos para PVI
Em teoria podemos pegar qualquer PVI e encontrar a função f(x) que
a satisfaça.
O problema é que na prática poucas equações têm solução anaĺıtica.
Em muitos casos temos apenas a garantia da unicidade e existência
da solução.
A única forma de obter o resultado é numericamente.
Em vez de obter a função f(x)
Obteremos o valor da função em alguns pontos de forma aproximada.
Inicialmente temos o valor y0 = f (x0).
Usando o valor obtido em x0, obtemos y1 ≈ f (x1).
Assim por diante até obter a aproximação para quantos pontos quiser.
Veremos nesse curso dois tipos de métodos para resolver um PVI:
métodos de Série de Taylor e métodos de Runge Kutta.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 15 / 116
Metodo de Euler
O método de Euler é o método mais simples para resolver problemas
de valor inicial.
O objetivo do método de Euler é obter aproximações para problemas
do tipo:
dy
dt
= f (t, y) a ≤ t ≤ b y(a) = α
Nós não vamos obter a função que satisfaz o PVI.
Vamos obter aproximações da função em alguns pontos escolhidos.
O conjunto desses pontos é chamado de malha de pontos (mesh
points), no intervalo [a,b].
Após obter o valor da função nos pontos da malha, podemos obter os
valores de outros pontos do intervalo através de interpolação.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 16 / 116
Malha de pontos.
Define-se a malha como:
ti = a + ih i = 0, 1, 2, ..., n
h =
b − a
n
Exemplo:
5 pontos
n = 4
[a, b] =[0,1]
h= 1−04 = 0,25
t0 = 0 + 0× 0, 25 = 0
t1 = 0 + 1× 0, 25 = 0, 25
t2 = 0 + 2× 0, 25 = 0, 5
t3 = 0 + 3× 0, 25 = 0, 75
t4 = 0 + 4× 0, 25 = 1
[0; 0, 25, 0, 5; 0, 75; 1]
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 17 / 116
Método de Euler
A partir de t0 que é um ponto da função conhecido.
Vamos estimar o valor da função em t1, que é o próximo ponto da
malha.
Após obter o valor da função em t1, vamos estimar o valor da função
em t2.
Vamos fazer isso até conhecer o valor da função em todos os pontos
da malha.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 18 / 116
Usaremos a série de Taylor para derivar o método de Euler.
y(t1) = y(t0) + y
′(t0)(t1 − t0) + y ′′(ξ)
(t1 − t0)2
2
h = t1 − t0
y(t1) = y(t0) + y
′(t0)h + y
′′(ξ)
h2
2
dy
dt
= f (t, y)
y(t1) = y(t0) + f (t0, y0)h + y
′′(ξ)
h2
2
y(t1) ≈ w1 = y(t0) + f (t0, y0)h
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 19 / 116
w0 = y(t0)
w1 = y(t0) + f (t0,w0)h
w2 = y(t1) + f (t1,w1)h
w3 = y(t2) + f (t2,w2)h
w4 = y(t3) + f (t3,w3)h
wi+1 = y(ti ) + f (ti ,wi )h i = 0, 1, 2, 3.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 20 / 116
Exemplo 1.
y ′ + t2 − 1 = y y(0) = 0, 5
y ′ = y − t2 + 1
y ′ = f (t, y)
y(2) =?
h = 0, 5
w0 = y(0) = 0, 5
y(0, 5) ≈ w1 = w0 + hf (t0, y0) = 0, 5 + 0, 5f (0; 0, 5) =
0, 5 + 0, 5(0, 5− 02 + 1) = 1, 25
y(0, 5) ≈ w1 = 1, 25
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 21 / 116
y(1) ≈ w2 = w1 + hf (t1, y1) = 1, 25 + 0, 5f (0, 5; 1, 25) =
1, 25 + 0, 5(1, 25− 0, 52 + 1) = 2, 25
y(1) ≈ w2 = 2, 25
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 22 / 116
y(1, 5) ≈ w3 = w2 + hf (t2, y2) = 2, 25 + 0, 5f (1; 2, 25) =
2, 25 + 0, 5(2, 25− 12 + 1) = 3, 375
y(1, 5) ≈ w3 = 3, 375
y(2) ≈ w4 = w3 + hf (t3, y3) = 3, 375 + 0, 5f (1, 5; 3, 375) =
3, 375 + 0, 5(3, 375− 1, 52 + 1) = 4, 4375
y(2) ≈ w4 = 4, 4375
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 23 / 116
Exemplo 2.
y ′ + t2 − 1 = y y(0) = 0, 5
y′ = y − t2 + 1
y ′ = f (t, y)
y(2) =?
h = 2
w0 = y(0) = 0, 5
y(2) ≈ w1 = w0 + hf (t0, y0) = 0, 5 + 2f (0; 0, 5) =
0, 5 + 2(0, 5− 02 + 1) = 3, 5
y(2) ≈ w1 = 3, 5
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 23 / 116
y(t) = (t + 1)2 − 0, 5et
y(2) = 9− 0, 5e2 = 5, 3054
Exemplo 1
h = 0, 5
y(2) ≈ w4 = 4, 4375
E = 0, 8679
Exemplo 2
h = 2
y(2) ≈ w4 = 3, 5
E = 1, 8054
O tamanho do passo h influencia no erro do método.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 24 / 116
Exemplo 3.
y ′ = y − t2 + 1 y(0) = 0, 5 h = 0, 2
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 25 / 116
Erro global do método de Euler.
Suponha que geramos uma sequencia de aproximações wi ,
i=0,1,2,...,N ; para a função f. Então em cada passo, temos que:
|y(ti )− wi | ≤
hM
2L
[eL(ti−a) − 1]
h é o tamanho do passo.
M é uma constante tal que y ′′(t) ≤ M, ∀t ∈ [t0,tN ]
L é a constante Lipschitz.
Ou seja, o crescimento do erro global é no máximo linear em h.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 26 / 116
Erro local e erro global.
Viu-se até aqui dois tipos de erros:
Erro local
y(t1) = y(t0) + f (t0, y0)h + y
′′(ξ)
h2
2
El = y
′′(ξ)
h2
2
O(h2)
Erro global
|y(ti )− wi | ≤
hM
2L
[eL(ti−a) − 1] O(h)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 27 / 116
Métodos de Série de Taylor de ordens mais altas.
Como vimos anteriormente, resolver uma EDO numericamente
consiste em obter o valor da função solução em alguns pontos de
forma aproximada.
Uma forma de obter isso para um PVI é usando série de Taylor.
Isso é posśıvel porque podemos estimar um valor desconhecido da
função em função de um valor previamente conhecido.
Além disso, usando o polinômio de Taylor como aproximação
podemos estimar o erro dessa aproximação.
Vimos também que quanto maior o grau do polinômio, menor o erro
do polinômio de taylor.
Então podemos usar outros polinômios para obter aproximações da
função com erros menores.
Veremos agora como podemos obter soluções numéricas para
polinômios de Taylor com graus maiores que um.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 28 / 116
Caso linear - Método de Euler.
y(t1) = y(t0) + f (t0, y0)h + y
′′(ξ)
h2
2
w1 = y(t0) + f (t0, y0)h
El = y
′′(ξ)
h2
2
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 29 / 116
Ordem 2
y(t1) = y(t0) + y
′(t0)h + y
′′(t0)
h2
2
+ y ′′′(ξ)
h3
6
y ′ = f (t, y)
w1 = y(t0) + y
′(t0)h + y
′′(t0)
h2
2
w1 = y(t0) + f (t0, y0)h + f
′(t0, y0)
h2
2
f ′ =
d
dt
f (t, y(t)) =
∂f
∂t
(t, y) +
∂f
∂y
(t, y)f (t, y)
f ′ =
d
dt
f (t, y(t)) = ft + fy f
w1 = y(t0) + f (t0, y0)h + (ft(t0, y0) + fy (t0, y0)f (t0, y0))
h2
2
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 30 / 116
El = y
′′′(ξ)
h3
6
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 31 / 116
Ordem 3
y(t1) = y(t0) + y
′(t0)h + y
′′(t0)
h2
2
+ y ′′′(t0)
h3
6
+ y4(ξ)
h4
24
y ′ = f (t, y)
w1 = y(t0) + y
′(t0)h + y
′′(t0)
h2
2
+ y ′′′(t0)
h3
6
w1 = y(t0) + f (t0, y0)h + f
′(t0, y0)
h2
2
+ f ′′(t0, y0)
h3
6
f ′ = ft + fy f
f ′′ = ftt + fty f + (fyt + fyy f )f + fy (ft + fy f )
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 32 / 116
Como vimos, a partir do método de ordem 3, a quantidade de
cálculos fica excessiva.
Isso torna os métodos computacionalmente ineficientes apesar de
serem mais precisos.
Uma alternativa para isso é aproveitar as expressões geradas pelos
polinômios de Taylor e eliminar os cálculos das derivadas de f(t,y).
Esses métodos são chamados de métodos de Runge-Kutta.
O método consiste em expandir a expressão de f(t,y) numa série de
Taylor de y e t.
Com isso, elimina-se as derivadas de f(t,y) e obtemos expressões que
usam apenas f(t,y).
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 33 / 116
Métodos de Runge Kutta.
Vimos na última aula que podemos usar a série de Taylor para
calcular soluções numéricas de PVI.
Os métodos de Série de Taylor consistem em usar o polinômio de
taylor para estimar o valor da função num ponto, usando um valor já
conhecido.
Quanto maior o grau do polinômio de Taylor, mais preciso é o
método.
Mais também o método fica computacionalmente inviável.
Uma alternativa é usar os métodos de Runge Kutta
Ele consiste em usar a Série de taylor da função f(t,y) para eliminar o
cálculo das derivadas de f.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 34 / 116
Método de Runge Kutta de segunda ordem.
y(t1) ≈ y(t0) + y ′(t0)h + y ′′(t0)
h2
2
f ′ =
d
dt
f (t, y(t)) =
∂f
∂t
(t, y) +
∂f
∂y
(t, y)f (t, y)
w1 = y(t0) + f (t0, y0)h + (ft(t0, y0) + fy (t0, y0)f (t0, y0))
h2
2
w1 = y(t0) + f (t0, y0)h +
h2
2
ft(t0, y0) +
h2
2
fy (t0, y0)f (t0, y0)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 35 / 116
f (t1) ≈ f (t0) + ft(t0)h
f (t1, y1) ≈ f (t0, y0) + ft(t0, y0)ht + fy (t0, y0)hy
f (t0 + α1, y0 + β1) ≈ f (t0, y0) + ft(t0, y0)α1 + fy (t0, y0)β1
a1f (t0 + α1, y0 + β1) ≈ a1f (t0, y0) + a1α1ft(t0, y0) + a1β1fy (t0, y0)
w1 = y(t0) + f (t0, y0)h +
h2
2
ft(t0, y0) +
h2
2
fy (t0, y0)f (t0, y0)
w1 = y(t0) + h[f (t0, y0) +
h
2
ft(t0, y0) +
h
2
fy (t0, y0)f (t0, y0)]
a1 = 1 α1 =
h
2
β1 =
h
2
f (t0, y0)
w1 = y(t0) + h[f (t0 +
h
2
, y0 +
h
2
f (t0, y0))]
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 36 / 116
Método do ponto médio.
w0 = y(t0)
wi+1 = wi + h[f (ti +
h
2
, yn +
h
2
f (ti , yi )]
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 37 / 116
Exemplo.
y ′ = y − t2 + 1
y(t0) = w0 = 0, 5 h = 0, 2 t0 = 0
wi+1 = wi + h[f (ti +
h
2
, yn +
h
2
f (ti , yi )]
w1 = w0 + h[f (t0 +
h
2
, y0 +
h
2
f (t0, y0)]
w1 = 0, 5 + 0, 2[f (0 +
0, 2
2
; 0, 5 +
0, 2
2
f (0; 0, 5)]
f (t, y) = y − t2 + 1
f (0; 0, 5) = 0, 5− 02 + 1 = 1, 5
w1 = 0, 5 + 0, 2[f (0 +
0, 2
2
; 0, 5 +
0, 2
2
1, 5]
w1 = 0, 5 + 0, 2f (0, 1; 0, 65)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 38 / 116
w1 = 0, 5 + 0, 2f (0, 1; 0, 65)
f (t, y) = y − t2 + 1
f (0, 1; 0, 65) = 0, 65− 0, 12 + 1 = 1, 64
y(0, 2) ≈ w1 = 0, 5 + 0, 2× 1, 64 = 0, 828
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 39 / 116
y ′ = y − t2 + 1
w1 = 0, 828 h = 0, 2
wi+1 = wi + h[f (ti +
h
2
, yn +
h
2
f (ti , yi )]
w2 = w1 + h[f (t1 +
h
2
, y1 +
h
2
f (t1, y1)]
w2 = 0, 828 + 0, 2[f (0, 2 +
0, 2
2
; 0, 828 +
0, 2
2
f (0, 2; 0, 828)]
f (t, y) = y − t2 + 1
f (0, 2; 0, 828) = 0, 828− 0, 22 + 1 = 1, 7880
w2 = 0, 828 + 0, 2[f (0, 2 +
0, 2
2
; 0, 828 +
0, 2
2
(1, 7880)]
w2 = 0, 828 + 0, 2f (0, 3; 1, 0068)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 40 / 116
w2 = 0, 828 + 0, 2f (0, 3; 1, 0068)
f (t, y) = y − t2 + 1
f (0, 3; 1, 0068) = 1, 0068− 0, 32 + 1 = 1, 9168
y(0, 4) ≈ w2 = 0, 828 + 0, 2× 1, 9168 = 1, 21136.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 41 / 116
Método de Euler modificado.
w0 = y(t0)
wi+1 = wi +
h
2
[f (ti , yi ) + f (ti+1,wi + hf (ti , yi )]
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubrode 2017 42 / 116
Exemplo.
y ′ = y − t2 + 1
w0 = y(t0) = 0, 5 h = 0, 2 t0 = 0
wi+1 = wi +
h
2
[f (ti , yi ) + f (ti+1,wi + hf (ti , yi )]
w1 = w0 +
h
2
[f (t0, y0) + f (t1,w0 + hf (t0, y0)]
w1 = 0, 5 +
0, 2
2
[f (0, 0, 5) + f (0, 2; 0, 5 + 0, 2f (0, 0, 5)]
f (t, y) = y − t2 + 1
f (0; 0, 5) = 0, 5− 02 + 1 = 1, 5
w1 = 0, 5 +
0, 2
2
[f (0, 0, 5) + f (0, 2; 0, 5 + 0, 2× 1, 5]
w1 = 0, 5 + 0, 1[f (0; 0, 5) + f (0, 2; 0, 8)]
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 43 / 116
w1 = 0, 5 + 0, 1[1, 5 + f (0, 2; 0, 8)]
f (t, y) = y − t2 + 1
f (0, 2; 0, 8) = 0, 8− 0, 22 + 1 = 1, 76
w1 = 0, 5 + 0, 1[1, 5 + 1, 76]
y(0, 2) ≈ w1 = 0, 826
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 44 / 116
y ′ = y − t2 + 1
w1 = 0, 826 h = 0, 2
wi+1 = wi +
h
2
[f (ti , yi ) + f (ti+1,wi + hf (ti , yi )]
y(0, 4) ≈ w2 = w1 +
h
2
[f (t1, y1) + f (t2,w1 + hf (t1, y1)]
w2 = 0, 826 +
0, 2
2
[f (0, 2; 0, 826) + f (0, 4; 0, 826 + 0, 2f (0, 2, 0, 826)]
f (t, y) = y − t2 + 1
f (0, 2; 0, 826) = 0, 826− 0, 22 + 1 = 1, 786
w2 = 0, 826 +
0, 2
2
[f (0, 2; 0, 826) + f (0, 4; 0, 826 + 0, 2× 1, 786]
w2 = 0, 826 +
0, 2
2
[f (0, 2; 0, 826) + f (0, 4; 1, 1832]
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 45 / 116
w2 = 0, 826 +
0, 2
2
[f (0, 2; 0, 826) + f (0, 4; 1, 1832]
f (t, y) = y − t2 + 1
f (0, 4; 1, 1832) = 1, 1832− 0, 42 + 1 = 2, 0232
w2 = 0, 826 + 0, 1[1, 786 + 2, 0232]
y(0, 4) ≈ w2 = 1, 20692
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 46 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 47 / 116
Método de Runge Kutta de ordem 4.
y(t0) = w0 = y0
K1 = hf (ti ,wi )
K2 = hf (ti +
h
2
,wi +
K1
2
)
K3 = hf (ti +
h
2
,wi +
K2
2
)
K4 = hf (ti + h,wi + K3)
wi+1 = wi +
1
6
(K1 + 2K2 + 2K3 + K4)
O(h5)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 48 / 116
Exemplo.
y ′ = y − t2 + 1
w0 = y(t0) = 0, 5 h = 0, 2 t0 = 0
K1 = hf (t0,w0)
K1 = 0, 2f (0; 0, 5)
K1 = 0, 2× (0, 5− 02 + 1) = 0, 3
K2 = hf (t0 +
h
2
,w0 +
K1
2
)
K2 = 0, 2f (0, 1; 0, 65)
K2 = 0, 2× (0, 65− 0, 12 + 1) = 0, 328
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 49 / 116
K3 = hf (t0 +
h
2
,wi +
K2
2
)
K3 = 0, 2f (0 +
0, 2
2
,w0 +
0, 328
2
)
K3 = 0, 2f (0, 1, 0, 664)
K3 = 0, 2× (0, 664− 0, 12 + 1) = 0, 3308
K4 = hf (t0 + h,w0 + K3)
K4 = 0, 2f (0 + 0, 2, 0, 5 + 0, 3308)
K4 = 0, 2f (0, 2; 0, 8308)
K4 = 0, 2× (0, 8308− 0, 22 + 1) = 0, 35816
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 50 / 116
K1 = 0, 3 K2 = 0, 328 K3 = 0, 3308 K4 = 0, 35816
w1 = w0 +
1
6
(K1 + 2K2 + 2K3 + K4)
w1 = w0 +
1
6
(0, 3 + 2× 0, 328 + 2× 0, 3308 + 0, 35816) = 0, 8292933
y(0, 2) ≈ w1 = 0, 8292933
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 51 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 52 / 116
Equações de ordens superiores e sistemas de EDO.
Nas últimas duas aulas, vimos como resolver um PVI numericamente.
Vimos dois tipos de métodos:
1 Métodos de Série de Taylor: Ex: Método de Euler.
2 Métodos de Runge-Kutta: Ex: Runge Kutta de Ordem 4.
Em ambos os tipos, resolvemos problemas PVI do tipo:
dy
dx
= f (t, y).
Na aula de hoje vamos ver como se resolvem PVI do tipo:
dny
dxn
= f (t, y).
As técnicas que veremos nessa aula se restrigem a transformar uma
EDO de ordem n num sistema de EDOs.
Antes de vermos comos e faz a transformação, veremos como resolver
um sistema de EDO’s.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 53 / 116
Um sistema de ordem m de PVI de primeira ordem é definido como:
du1
dt
= f1(u1, u2, ..., um)
du2
dt
= f2(u1, u2, ..., um)
...
dum
dt
= fm(u1, u2, ..., um)
a ≤ t ≤ b
u1(t0) = α1, u2(t0) = α2, . . . , um(t0) = αm
O objetivo é encontrar as m equações que satisfazem o sistema.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 54 / 116
Runge Kutta para EDO
y ′ = f (t, y) a ≤ t ≤ b y(a) = α
K1 = hf (ti , yi )
K2 = hf (ti +
h
2
, yi +
K1
2
)
K3 = hf (ti +
h
2
, yi +
K2
2
)
K4 = hf (ti
h
,
yi + K3)
wi+1 = wi +
1
6
(K1 + 2K2 + 2K3 + K4) i = 0, 1, ..., n − 1
O método para sistemas é uma generalização do método usado para
EDO.
vamos usar Runge-Kutta, mas poderia ser com outros métodos que já
vimos.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 55 / 116
N > 0
N é o número de intervalos.
h =
b − a
N
h é o tamanho do passo.
tj = a + jh, j = 0, 1, ...,N
tj é a malha de pontos.
wi ,j ≈ ui (tj)
As condições iniciais são:
w1,0 = α1, w2,0 = α2, ..., wm,0 = αm
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 56 / 116
Em cada passo do algoritmo vamos calcular os valores de cada função
no instante seguinte, em função dos valores de cada função no
instante atual.
(w1,j ,w2,j , ...,wm,j)→ (w1,j+1,w2,j+1, ...,wm,j+1)
Usaremos:
K1,i = hfi (tj ,w1,j ,w2,j , ...,wm,j)
K2,i = hfi (tj +
h
2
,w1,j +
K1,1
2
,w2,j +
K1,2
2
, ...,wm,j
K1,m
2
)
K3,i = hfi (tj +
h
2
,w1,j +
K2,1
2
,w2,j +
K2,2
2
, ...,wm,j
K2,m
2
)
K4,i = hfi (tj + h,w1,j + K3,1,w2,j + K3,2, ...,wm,j + K3,m)
i = 1, 2, ...,m.
Atenção: calcular todos os K1,i antes de calcular os K2,i .
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 57 / 116
wi ,j+1 = wi ,j +
1
6
(K1,i + 2K2,i + 2K3,i + K4,i )
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 58 / 116
Exemplo
dI1
dt
= f1(t, I1, I2) = −4I1 + 3I2 + 6
dI2
dt
= f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6
I1(0) = I2(0) = 0
w1,0 = I1(0) = 0 w2,0 = I2(0) = 0
I1(0, 1) =? I2(0, 1) =? h = 0, 1
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 59 / 116
h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0
f1(t, I1, I2) = −4I1 + 3I2 + 6
f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6
K1,1 = hf1(t0,w1,0,w2,0)
K1,1 = 0, 1f1(0, 0, 0) = 0, 6
K1,2 = hf2(t0,w1,0,w2,0)
K1,2 = 0, 1f2(0, 0, 0) = 0, 36
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 60 / 116
h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0
f1(t, I1, I2) = −4I1 + 3I2 + 6
f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6
K2,1 = hf1(t0 +
h
2
,w1,0 +
K1,1
2
,w2,0 +
K1,2
2
)
K2,1 = 0, 1f1(0, 05; 0, 3; 0, 18) = 0, 534
K2,2 = hf2(t0 +
h
2
,w1,0 +
K1,1
2
,w2,0 +
K1,2
2
)
K2,2 = 0, 1f2(0, 05; 0, 3; 0, 18) = 0, 3168
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 61 / 116
h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0
f1(t, I1, I2) = −4I1 + 3I2 + 6
f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6
K3,1 = hf1(t0 +
h
2
,w1,0 +
K2,1
2
,w2,0 +
K2,2
2
)
K3,1 = 0, 1f1(0, 05; 0, 267; 0, 1584) = 0, 54072
K3,2 = hf2(t0 +
h
2
,w1,0 +
K2,1
2
,w2,0 +
K2,2
2
)
K3,2 = 0, 1f2(0, 05; 0, 267; 0, 1584) = 0, 321264
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 62 / 116
h = 0, 1 t0 = 0 w1,0 = 0 w2,0 = 0
f1(t, I1, I2) = −4I1 + 3I2 + 6
f2(t, I1, I2) = −2, 4I1 + 1, 6I2 + 3, 6
K4,1 = hf1(t0 + h,w1,0 + K3,1,w2,0 + K3,2)
K4,1 = 0, 1f1(0, 1; 0, 54072; 0, 321264) = 0, 4800912
K4,2 = hf2(t0 + h,w1,0 + K3,1,w2,0 + K3,2)
K4,2 = 0, 1f2(0, 1; 0, 54072; 0, 321264) = 0, 28162944
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 63 / 116K1,1 = 0, 6
K2,1 = 0, 534
K3,1 = 0, 54072
K4,1 = 0, 4800912
I1(0, 1) ≈ w1,1 = w1,0 +
1
6
(K1,1 + 2K2,1 + 2K3,1 + K4,1)
I1(0, 1) ≈ w1,1 = 0 +
1
6
(0, 6 + 2× 0, 534 + 2× 0, 54072 + 0, 4800912)
I1(0, 1) ≈ w1,1 = 0.5382552
I1(t) = −3.375e−2t + 1.875e−0.4t + 1.5
E = |0.8285× 10−5|
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 64 / 116
K1,2 = 0, 36
K2,2 = 0, 3168
K3,2 = 0, 321264
K4,2 = 0, 28162944
I2(0, 1) ≈ w2,1 = w2,0 +
1
6
(K1,2 + 2K2,2 + 2K3,2 + K4,2)
I2(0, 1) ≈ w2,1 = 0 +
1
6
(0, 36 + 2× 0, 3168 + 2× 0, 321264 + 0, 28162944)
I2(0, 1) ≈ w2,1 = 0, 3196263
I2(t) = −2.25e−2t + 2.25e−0.4t
E = |0, 5803× 10−5|
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 65 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 66 / 116
Equações diferenciais de ordens mais altas.
Muitos problemas f́ısicos envolvem EDOs com ordens maiores que um.
Nós não precisamos de outros métodos para resolvê-las.
Renomeando as variáveis nós podemos transformar EDOs de ordens
mais altas num sistema de EDOs primeira ordem.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 67 / 116
Seja a EDO de ordem m.
y (m)(t) = f (t, y , y ′, ..., y (m−1)) a ≤ t ≤ b
y(a) = α1, y
′(a) = α2, ..., y
(m−1)(a) = αm
Podemos converter num sistema de m EDO de primeira ordem.
u1(t) = y(t) u2(t) = y
′(t) u3(t) = y
′′(t) ... um(t) = y
(m−1)(t)
u1(t) = y
u′1(t) = y
′ = u2(t)
u2(t) = y
′
u′2(t) = y
′′ = u3(t)
um(t) = y
(m−1)(t)
u′m(t) = y
m(t) = f (t, y , y ′, ..., y (m−1))
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 68 / 116
Transforma-se a EDO de ordem m
y (m)(t) = f (t, y , y ′, ..., y (m−1)) a ≤ t ≤ b
y(a) = α1, y
′(a) = α2, ..., y
(m−1)(a) = αm
No sistema:
u′1(t) = u2(t) = f1(t, u1, u2, u3, ..., um)
u′2(t) = u3(t) = f2(t, u1, u2, u3, ..., um)
u′3(t) = u4(t) = f3(t, u1, u2, u3, ..., um)
u′m(t) = y
m(t) = fm(t, y , y
′, ..., y (m−1))
u1(a) = α1, u2(a) = α2, ..., um(a) = αm
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 69 / 116
Exemplo
y ′′ − 2y ′ + 2y = e2tsin(t)
y ′′ = 2y ′ − 2y + e2tsin(t)
y(0) = −0.4, y ′(0) = −0.6
u1 = y , u2 = y
′
u′1(t) = u2(t)
u′2(t) = e
2tsin(t)− 2u1(t) + 2u2(t)
u1(0) = −0.4, u2(0) = −0.6
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 70 / 116
h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6
f1(t, u1, u2) = u2
f2(t, u1, u2) = e
2tsin(t)− 2u1(t) + 2u2(t)
K1,1 = hf1(t0,w1,0,w2,0) = −0, 06
K1,2 = hf2(t0,w1,0,w2,0) = −0, 04
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 71 / 116
h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6
f1(t, u1, u2) = u2
f2(t, u1, u2) = e
2tsin(t)− 2u1(t) + 2u2(t)
K2,1 = hf1(t0 +
h
2
,w1,0 +
K1,1
2
,w2,0 +
K1,2
2
) = −0.062
K2,2 = hf2(t0 +
h
2
,w1,0 +
K1,1
2
,w2,0 +
K1,2
2
) = −0, 03247644757
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 72 / 116
h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6
f1(t, u1, u2) = u2
f2(t, u1, u2) = e
2tsin(t)− 2u1(t) + 2u2(t)
K3,1 = hf1(t0 +
h
2
,w1,0 +
K2,1
2
,w2,0 +
K2,2
2
) = −0, 06162832238
K3,2 = hf2(t0 +
h
2
,w1,0 +
K2,1
2
,w2,0 +
K2,2
2
) = −0, 03152409237
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 73 / 116
h = 0, 1 t0 = 0 w1,0 = −0, 4 w2,0 = −0, 6
f1(t, u1, u2) = u2
f2(t, u1, u2) = e
2tsin(t)− 2u1(t) + 2u2(t)
K4,1 = hf1(t0 + h,w1,0 + K3,1,w2,0 + K3,2) = −0.06315240924
K4,2 = hf2(t0 + h,w1,0 + K3,1,w2,0 + K3,2) = −0.02178637298
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 74 / 116
K1,1 = −0, 06
K2,1 = −0.062
K3,1 = −0, 06162832238
K4,1 = −0.06315240924
w1,1 = w1,0 +
1
6
(K1,1 + 2K2,1 + 2K3,1 + K4,1) = −0, 4617333423
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 75 / 116
K1,2 = −0, 04
K2,2 = −0, 03247644757
K3,2 = −0, 03152409237
K4,2 = −0.02178637298
w2,1 = w2,0 +
1
6
(K1,2 + 2K2,2 + 2K3,2 + K4,2) = −0, 6316312421
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 76 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 77 / 116
Problema de Kepler.
Suponha um planeta que sofre a ação apenas da força gravitacional
do Sol.
Da segunda lei de Newton:
m
d2~r
dt2
= ~F
A força gravitacional é dada pela lei da gravitação universal:
~F = −GMm
~r
r3
Logo:
m
d2~r
dt2
= −GMm
~r
r3
d2~r
dt2
= −GM
~r
r3
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 78 / 116
d2~r
dt2
= −GM
~r
r3
~r = (x , y)
d2x
dt2
= −GM x
(
√
x2 + y2)
3
d2y
dt2
= −GM y
(
√
x2 + y2)
3
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 79 / 116
vx =
dx
dt
dx
dt
= vx
dvx
dt
= −GM x
(
√
x2 + y2)
3
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 80 / 116
vy =
dy
dt
dy
dt
= vy
dvy
dt
= −GM x
(
√
x2 + y2)
3
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 81 / 116
dx
dt
= vx = f1(t, x , y , vx , vy )
dy
dt
= vy = f2(t, x , y , vx , vy )
dvx
dt
= −GM x
(
√
x2 + y2)
3
= f3(t, x , y , vx , vy )
dvy
dt
= −GM x
(
√
x2 + y2)
3
= f4(t, x , y , vx , vy )
x0 = x(0) y0 = y(0) vx0 = vx(0) vy0 = vy (0)
Resolvendo essas equações podemos obter por exemplo a posição da
Terra em torno do Sol em cada instante.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 82 / 116
Exemplo Terra.
G = 4π2 M = 1M�
dx
dt
= vx
dy
dt
= vy
dvx
dt
= −4π2 x
(
√
x2 + y2)
3
dvy
dt
= −4π2 x
(
√
x2 + y2)
3
x0 = 0, 9832UA y0 = 0UA vx0 = 0
UA
ano
vy0 = 6.3897
UA
ano
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 83 / 116
Simulação de 1 ano
dt=0,01 ano
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 84 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 85 / 116
Problema de Valor de Contorno.
Nas últimas aulas vimos como resolver um PVI.
Existem dois tipos de métodos para resolvê-los:
métodos de série de Taylor. Exemplo: método de Euler.
métodos de Runge Kutta. Exemplo: método de Runge Kutta de
Quarta Ordem.
Ambos tipos de métodos obtém soluções aproximadas para uma
função em alguns pontos.
Resolvem EDO’s de primeira ordem
Podem ser adaptados para resolver EDO de ordem superior esistemas
de EDO’s.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 86 / 116
Nesse aula veremos como resolver outro tipo de problema: os
problemas de valores de contorno (PVC).
Vamos restringir a solução de PVC de segunda ordem:
Temos uma EDO de segunda ordem.
Duas condições em pontos diferentes.
Além disso vamos nos restringir a problemas lineares.
Ou seja, vamos resolver apenas PVC lineares de segunda ordem.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 87 / 116
O que é um PVC linear?
Um PVC linear é formado por uma EDO linear e as respectivas
condições de contorno.
Uma EDO de segunda ordem:
y ′′ = f (x , y , y ′)
é linear quando existem p(x),q(x) e r(x) tal que:
f (x , y , y ′) = p(x)y ′ + q(x)y + r(x)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubrode 2017 88 / 116
Teorema
Suponha o PVC:
y ′′ = p(x)y ′+q(x)y+r(x), a ≤ x ≤ b y(a) = α y(b) = β
Se o PVC satisfazer:
1 p(x), q(x), e r(x) ∈ C [a, b]
2 q(x) > 0, ∀x ∈ [a, b]
Então o PVC linear de segunda ordem tem solução única.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 89 / 116
Existem algumas alternativas para resolver PVC lineares de segunda
ordem:
1 Método do tiro.
2 Método de diferenças finitas
3 Método de Rayleigh-Ritz
Nessa aula veremos como resolver pelo método de diferenças finitas.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 90 / 116
Método de diferenças finitas
Uma das formas de se obter a solução numérica de um PVC linear de
segunda ordem é através do método de diferenças finitas.
O método consiste em substituir as derivadas da EDO por uma
aproximação numérica da derivada.
Após isso obtemos um sistema linear.
Resolvendo o sistema linear, nós obtemos o valor da função em cada
ponto da malha escolhida.
Antes de usar o método, veremos como calcular numericamente as
derivadas de uma função.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 91 / 116
Derivada numérica.
A derivada de uma função pode ser definida como:
f ′(x0) = lim
h→0
f (x0 + h)− f (x0)
h
Uma aproximação para a derivada pode ser obtida através da Série de
Taylor.
f (x0 + h) = f (x0) + hf
′(x0) +
h2
2
f ′′(ξ)
hf ′(x0) = f (x0 + h)− f (x0)−
h2
2
f ′′(ξ)
f ′(x0) =
f (x0 + h)− f (x0)
h
− h
2
f ′′(ξ)
f ′(x0) ≈
f (x0 + h)− f (x0)
h
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 92 / 116
Logo temos a aproximação:
f ′(x0) ≈
f (x0 + h)− f (x0)
h
Com erro:
E (x) = −h
2
f ′′(ξ)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 93 / 116
f ′(x0) ≈
f (x0 + h)− f (x0)
h
Se h > 0, temos a fórmula de diferenças avançada.
Se h < 0, temos a fórmula de diferenças atrasada.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 94 / 116
Exemplo.
calcular derivada de f(x) = ln(x) em x = 1,8.
Podemos usar a fórmula anterior com h=0,1
f ′(1, 8) ≈ f (1, 8 + 0, 1)− f (1, 8)
0, 1
f ′(1, 8) ≈ f (1, 9)− f (1, 8)
0, 1
Podemos usar a fórmula anterior com h=-0,1
f ′(1, 8) ≈ f (1, 8− 0, 1)− f (1, 8)
−0, 1
f ′(1, 8) ≈ f (1, 8)− f (1, 7)
0, 1
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 95 / 116
Diferenças finitas centradas
Podemos obter aproximações com erros menores.
Por exemplo podemos obter o método de diferenças finitas centradas:
f (x0 + h) = f (x0) + hf
′(x0) +
h2
2
f ′′(x0) +
h3
6
f ′′′(ξ1)
f (x0 − h) = f (x0)− hf ′(x0) +
h2
2
f ′′(x0)−
h3
6
f ′′′(ξ2)
f (x0 + h)− f (x0 − h) = 2hf ′(x0) +
h3
6
(f ′′′(ξ1) + f
′′′(ξ2))
2hf ′(x0) = f (x0 + h)− f (x0 − h)−
h3
6
(f ′′′(ξ1) + f
′′′(ξ2))
2hf ′(x0) = f (x0 + h)− f (x0 − h) + O(h3)
f ′(x0) =
f (x0 + h)− f (x0 − h)
2h
+ O(h2)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 96 / 116
f ′(x0) ≈
f (x0 + h)− f (x0)
h
O(h)
f ′(x0) ≈
f (x0)− f (x0 − h)
h
O(h)
f ′(x0) ≈
f (x0 + h)− f (x0 − h)
2h
O(h2)
Vamos usar o método de diferenças finitas centradas por ter menor
erro.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 97 / 116
Aproximação da segunda derivada
f (x0 + h) = f (x0) + hf
′(x0) +
h2
2
f ′′(x0) +
h3
6
f ′′′(x0) +
h4
24
f (4)(ξ1)
f (x0 − h) = f (x0)− hf ′(x0) +
h2
2
f ′′(x0)−
h3
6
f ′′′(x0) +
h4
24
f (4)(ξ2)
f (x0 + h) + f (x0 − h) = 2f (x0) + h2f ′′(x0) +
h4
24
(f (4)(ξ1) + f
(4)(ξ2))
h2f ′′(x0) = f (x0 + h)− 2f (x0) + f (x0 − h)−
h4
24
(f (4)(ξ1) + f
(4)(ξ2))
f ′′(x0) =
f (x0 + h)− 2f (x0) + f (x0 − h)
h2
− h
2
24
(f (4)(ξ1) + f
(4)(ξ2))
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 98 / 116
f ′′(x0) =
f (x0 + h)− 2f (x0) + f (x0 − h)
h2
− h
2
24
(f (4)(ξ1) + f
(4)(ξ2))
f ′′(x0) =
f (x0 + h)− 2f (x0) + f (x0 − h)
h2
+ O(h2)
f ′′(x0) ≈
f (x0 + h)− 2f (x0) + f (x0 − h)
h2
O(h2)
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 99 / 116
f ′(x0) ≈
f (x0 + h)− f (x0)
h
O(h)
f ′(x0) ≈
f (x0)− f (x0 − h)
h
O(h)
f ′(x0) ≈
f (x0 + h)− f (x0 − h)
2h
O(h2)
f ′′(x0) ≈
f (x0 + h)− 2f (x0) + f (x0 − h)
h2
O(h2)
Usaremos as últimas duas fórmulas para resolver o PVC.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 100 / 116
Voltamos então ao método de diferenças finitas.
Seja um PVC linear de segunda ordem:
y ′′(x) = p(x)y ′ + q(x)y + r(x)
y(a) = α y(b) = β
O método consiste em substituir y’ e y” por aproximações numéricas,
por exemplo:
y ′(xi ) ≈
y(xi+1)− y(xi−1)
2h
y ′′(xi ) ≈
y(xi+1)− 2y(xi ) + y(xi−1)
h2
Depois das substituições obtém-se um sistema linear.
Resolvendo o sistema, obtemos o valor da função nos pontos da
malha escolhida.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 101 / 116
Primeiramente nós criamos a malha de pontos com pontos extremos
a e b, que são os pontos de contorno.
xi = a + ih i = 0, 1, 2, 3, 4,N + 1
a = x0, x1, x2, x3, ..., xN+1 = b
h =
b − a
N + 1
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 102 / 116
y ′′(x) = p(x)y ′ + q(x)y + r(x)
y ′(xi ) ≈
f (xi+1)− f (xi−1)
2h
y ′′(xi ) ≈
y(xi+1)− 2y(xi ) + y(xi−1)
h2
y(xi+1)− 2y(xi ) + y(xi−1)
h2
= p(xi )
[
y(xi+1)− y(xi−1)
2h
]
+q(xi )y(xi )+r(xi )
−
[
y(xi+1)− 2y(xi ) + y(xi−1)
h2
]
+p(xi )
[
y(xi+1)− y(xi−1)
2h
]
+q(xi )y(xi ) =
= −r(xi )
−[y(xi+1)−2y(xi ) +y(xi−1)] +
h
2
p(xi )[y(xi+1)−y(xi−1)] +h2q(xi )y(xi ) =
= −h2r(xi )
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 103 / 116
−[y(xi+1)−2y(xi ) +y(xi−1)] +
h
2
p(xi )[y(xi+1)−y(xi−1)] +h2q(xi )y(xi ) =
= −h2r(xi )
−
[
1 +
h
2
p(xi )
]
y(xi−1) + [2 + h
2q(xi )]y(xi )−
[
1− h
2
p(xi )
]
y(xi+1)
= −h2r(xi ), i = 1, 2, 3, 4,N
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 104 / 116
Para i=1
−
[
1 +
h
2
p(x1)
]
y(x0) + [2 + h
2q(x1)]y(x1)−
[
1− h
2
p(x1)
]
y(x2)
= −h2r(x1)
Como
y(x0) = y(a) = α
Nós temos a primeira equação:
[2 + h2q(x1)]y(x1)−
[
1− h
2
p(x1)
]
y(x2)
= −h2r(x1) +
[
1 +
h
2
p(x1)
]
α
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 105 / 116
Para i=N
−
[
1 +
h
2
p(xN)
]
y(xN−1)+[2+h
2q(xN)]y(xN)−
[
1− h
2
p(xN)
]
y(xN+1)
= −h2r(xN)
Como
y(xN+1) = y(b) = β
Nós temos a última equação:
−
[
1 +
h
2
p(xN)
]
y(xN−1) + [2 + h
2q(xN)]y(xN)
= −h2r(xN) +
[
1− h
2
p(xN)
]
β
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 106 / 116
Logo temos o seguinte sistema:
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 107 / 116
Logo temos o seguinte sistema:
Resolvendo esse sistema obtemos a aproximação da função y(x) nos
pontos x1,x2,...,xN
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 108 / 116
Exemplo
y ′′ = −2
x
y ′ +
2
x2
y +
sen(ln(x))
x2
y(1) = 1 y(2) = 2
p(x) = −2
x
q(x) =
2
x2
r(x) =
sen(ln(x))
x2
N = 9 h =
b − a
N + 1
= 0, 1 xi = 1 + 0, 1i i = 1, 2, ...,N
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 109 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 deOutubro de 2017 110 / 116
A~w = ~b.
A =

2 + h2q(x1) − 1 + h2p(x1) 0 0 0 0 0 0 0
−1− h2p(x2) 2 + h
2q(x2) − 1 + h2p(x2) 0 0 0 0 0 0
0 − 1− h2p(x3) 2 + h
2q(x3) − 1 + h2p(x3) 0 0 0 0 0
0 0 − 1− h2p(x4) 2 + h
2q(x4) − 1 + h2p(x4) 0 0 0 0
0 0 0 − 1− h2p(x5) 2 + h
2q(x5) − 1 + h2p(x5) 0 0 0
0 0 0 0 − 1− h2p(x6) 2 + h
2q(x6) − 1 + h2p(x6) 0 0
0 0 0 0 0 − 1− h2p(x7) 2 + h
2q(x7) − 1 + h2p(x7) 0
0 0 0 0 0 0 − 1− h2p(x8) 2 + h
2q(x8) − 1 + h2p(x8)
0 0 0 0 0 0 0 − 1− h2p(x9) 2 + h
2q(x9)

matriz tridiagonal
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 111 / 116
~b =

−h2r(x1) +
(
1 + h2p(x1)
)
α
−h2r(x2)
−h2r(x3)
−h2r(x4)
−h2r(x5)
−h2r(x6)
−h2r(x7)
−h2r(x8)
−h2r(x9) +
(
1− h2p(x9)
)
β

Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 112 / 116
~w =

w1
w2
w3
w4
w5
w6
w7
w8
w9

Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 113 / 116
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 114 / 116
Resumindo o cálculo numérico.
Temos um problema que não tem solução anaĺıtica.
Então em vez de obter a solução exata obtemos valores aproximados
através de métodos numéricos.
Os métodos tem estimativas dos erros das aproximações.
Isso é necessário para se ter uma estimativa da qualidade da
aproximação.
Os métodos numéricos são apropriados para serem usados em códigos
computacionais.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 115 / 116
Além de cálculo numérico
. Para quem desejar continuar estudando cálculo numérico:
Disiciplinas eletivas:
1 Métodos Numéricos
2 Análise Numérica de Equações Diferenciais Ordinárias
3 Análise Numérica de Equações Diferenciais Parciais I
4 Análise Numérica de Equações Diferenciais Parciais II
Iniciação cient́ıfica com professores do DCC da área de análise
numérica.
Mestrado e Doutorado no PPGI.
Livro do Burden.
Alan Costa de Souza Soluções numéricas de equações diferenciais ordinárias.21 de Outubro de 2017 116 / 116

Continue navegando