Departamento de Fı́sica da Universidade de Coimbra
Alguns métodos numéricos para resolver a equação de Newton
Pedro Vieira Alberto
Fevereiro de 2004
Consideremos a equação de Newton a uma dimensão para um corpo de massa m, F = ma.
Em geral, F será uma função da posição, velocidade e tempo, de modo que a equação
diferencial para a velocidade se escreve:
dv
= F (x, v, t)/m = a(x, v, t) .
dt
Para obter a posição, recorremos à relação entre posição e velocidade,
dx
=v.
dt
Se conhecermos a posição e a velocidade do corpo num certo instante, estas equações
permitem-nos determinar v(t) e x(t) em qualquer instante t. No entanto, como sabemos,
não podemos resolver estas equações analiticamente no caso geral. Isso significa que temos
de recorrer ao computador, usando um método numérico. Esse método deverá ser capaz
de determinar a velocidade e posição num certo instante, dadas, por exemplo, a posição
e velocidade iniciais x0 e v0 .
1
Método de Euler
O método numérico mais simples para resolver equações diferenciais é o de substituir as
derivadas por razões entre variações da função e da respectiva variável. No caso presente,
teremos
dv
∆v
−→
⇒ ∆v ∼ a ∆t
(1)
dt
∆t
dx
∆x
−→
⇒ ∆x ∼ v ∆t .
(2)
dt
∆t
Assim, se quisermos saber as posições e velocidades de um corpo entre um instante inicial
ti e final tf , poderemos dividir o intervalo [ti , tf ] em N partes iguais ∆t e calcular as
velocidades nos instantes tn usando as acelerações no instante anterior
v1 = v0 + a0 ∆t
v2 = v1 + a1 ∆t
..
.
vn+1 = vn + an ∆t
..
.
vN = vN −1 + aN −1 ∆t ,
(3)
1
sendo
an ≡ a(xn , vn , tn )
vn ≡ v(tn ),
xn ≡ x(tn ),
com tn = n ∆t + ti
n = 0, . . . , N .
Do mesmo modo podemos calcular as posições em cada instante tn usando o valor da
velocidade no instante anterior, fazendo
xn+1 = xn + vn ∆t
n = 0, 1, . . . , N .
(4)
As equações (3) e (4) constituem o método de Euler para o cálculo das posições e velocidades de um corpo sujeito a uma força. O método de Euler é chamado um método
de 1a ordem. A razão para isso encontra-se no facto de poderemos escrever, usando o
desenvolvimento em série de Taylor,
(∆t)2
+ ...
2
(∆t)2
xn+1 = xn + vn ∆t + an
+ ... ,
2
o que significa que, ao aplicar o método de Euler, estamos a desprezar termos com
potências de ∆t iguais ou superiores a 2 - diz-se “termos de 2a ordem ou superior”.
Podemos então dizer que o erro cometido em cada iteração (cada cálculo de vn ou xn )
é proporcional a (∆t)2 , desde que ∆t seja suficientemente pequeno. No entanto, como
temos de calcular N valores de v e x, o erro total cometido pode ser estimado como sendo
proporcional a
vn+1 = vn + an ∆t + a0n
E ∝ N (∆t)2 ∝ ∆t ,
uma vez que N = (tf − ti )/∆t. Assim, o erro total é proporcional a ∆t, e daı́ a designação
de método de 1a ordem.
2
Método de Euler-Cromer
Uma pequena variação do método de Euler é o método de Euler-Cromer. Usando a
notação da secção anterior, a velocidade e a posição calculadas no instante tn+1 são dadas
por
vn+1 = vn + an ∆t
xn+1 = xn + vn+1 ∆t .
(5)
(6)
Substituindo a equação (5) em (6), ficamos com
xn+1 = xn + vn ∆t + an (∆t)2 .
Isto significa que o método de Euler-Cromer é mais preciso no cálculo da posição, mas
que o cálculo da velocidade, que tem de ser feito primeiro (porquê?), é idêntico ao do
método de Euler. Este método apresenta vantagens sobre o método de Euler sobretudo
para problemas com sistemas oscilatórios.
2
3
Método de Runge-Kutta de 2a ordem
O método de Euler usa a derivada da velocidade e da posição calculada no instante anterior
para calcular a nova velocidade e posição, supondo que essas derivadas (a aceleração e
a velocidade, respectivamente) se mantêm constantes durante o intervalo ∆t. O erro
cometido pelo método vem exactamente desse facto. Uma maneira de melhorar o método
sem o complicar demasiado é, continuando embora a supôr que a derivada se mantém
constante no intervalo, fazer uma melhor estimativa da derivada nesse intervalo. Isso é
feito pelo método de Runge-Kutta de 2a ordem que usa o valor da derivada no meio do
intervalo, usando o método de Euler para estimar esse valor. Assim, temos,
vn+1 = vn + am ∆t
xn+1 = xn + vm ∆t ,
(7)
(8)
em que
∆t
2
∆t
∆t
am = a(xn + vn
, vm , tn +
).
2
2
Fica como exercı́cio a demonstração de que este método é de 2a ordem ...
vm = vn + a n
4
Método de Verlet
Outro método de 2a ordem é o método de Verlet, sobretudo adequado para problemas com
sistemas periódicos. Na versão chamada método de Verlet da velocidade, as expressões
da posição e velocidade escrevem-se na seguinte forma
1
xn+1 = xn + vn ∆t + an (∆t)2 ,
(9)
2
1
vn+1 = vn + (an + an+1 ) ∆t .
(10)
2
Podemos ver que este método é de 2a ordem para a velocidade pelo facto de podermos
escrever
³
´
an+1 = an + a0n ∆t + O (∆t)2 ,
³
´
onde O (∆t)2 representa todos os restantes termos da série com potências (∆t)2 ou
superiores e a0n a derivada da aceleração em ordem ao tempo no instante tn . Esta última
equação implica que
´´
´
³
³
1
1³
an + an + a0n ∆t + O (∆t)2 ∆t = vn + an + a0n (∆t)2 + O (∆t)3 .
vn+1 = vn +
2
2
a
Da equação (9) vê-se que o método é também de 2 ordem para a posição. Na verdade,
pode demonstrar-se que, neste caso, a determinação da posição inclui parte do termo de
3a ordem em ∆t .
Uma desvantagem deste método é que não pode ser aplicado a forças que dependam
da velocidade (porquê?).
3
Download

Notas sobre a resolução numérica da equação de Newton