2 de setembro de 2019
Introdução
Este trabalho é sobre integração numérica, pelo método de aproximação de Euler implı́cito, do problema
do decaimento radioativo descrito pela equação
dx x
=− , (1)
dt τ
para τ = 2 e x(0) = 10.
A equação foi resolvida numericamente para os diferentes passos, ∆t = 0.01, 0.1, 0.5, 1, 2. Para cada
diferente valor de ∆t foi feita a integração numérica da equação, conforme descrito acima, por meio de um
programa em C. Os resultados foram plotados em gráficos, juntamente com o gráfico da correspondente
solução analı́tica do problema, x(t) = 10∗exp(−t/τ ), para fins de comparação. Além disso, determinamos
a estabilidade linear do método de integração numérica utilizado (Euler implı́cito), que servirá para
fundamentar algumas considerações acerca das diferenças observadas em relação aos resultados obtidos
no relatório anterior, em que usamos o método de Euler explı́cito para resolver o mesmo problema.
1 1
dx = − dt
x τ
t
ln|x| = − + C
τ
t
∴ x = x0 e− τ (para x > 0) (2)
1
2 Método de Euler implı́cito
O método de Euler implı́cito consiste em resolver a equação diferencial ordinária dx/dt = f (x, t) por
expansão em série de Taylor, de modo que,
Desde que usemos um pequeno passo ∆t, podemos desprezar os termos de ordem maior ou igual a 2
na expansão. Uma forma alternativa para encontrar a relação de recorrência acima é partir da definição
de derivada:
Para o problema do decaimento radioativo, regido pela equação (1), a relação de recorrência (3) fica:
xn
xn = xn−1 − ∆t
τ
xn−1
∴ xn = (4)
1 + ∆t
τ
No caso da solução numérica do problema do decaimento radioativo pelo método de Euler explı́cito,
que foi objeto do relatório anterior, além da condição (6), há ainda a condição ∆t/τ < 2. Por essa razão,
o método de Euler explı́cito é menos estável: se escolhermos ∆t tal que ∆t/τ ≥ 2, a solução numérica
não converge.
4 Programa e resultados
A base do programa em C é a seguinte:
1 #include<stdio.h>
2
3 int main()
4 {
5 float x = 10.0, tau = 2.0, dt = 0.01, t = 0.0, t_f=20.0;
6
7 do
8 {
9 printf("%f %f\n", t, x);
10
11 x = x/(1+dt/tau);
12 t += dt;
13 }while(t<=t_f);
14
15 return 0;
16 }
O programa foi rodado 5 vezes, apenas sendo a cada vez modificado o valor da variável dt, que assumiu
os valores 0.01, 0.1, 0.5, 1 e 2. O gráfico da solução analı́tica não foi implementado diretamente
no código, mas no próprio programa gnuplot, sobreposto aos dados numéricos.
Figura 1: Gráfico dos dados obtidos a partir da integração numérica, em cruzes. A solução analı́tica
aparece na linha contı́nua, em verde (estão sobrepostas).
Podemos perceber que, para esse valor do passo, os dados correspondem muito acuradamente à solução
analı́tica.
Agora a diferença entre os dados numéricos e a solução analı́tica é um pouco mais evidente, mas a
solução numérica ainda é muito boa.
4.4 Passo ∆t = 1
A diferença observada para o valor do passo na subseção anterior torna-se um pouco maior.
4.5 Passo ∆t = 2
A diferença aumentou um pouco mais, mas observamos que, em comparação aos resultados obtidos
pelo método de Euler explı́cito, a presente solução representa uma aproximação muito melhor.
5 Conclusões Gerais
Após as análises realizadas, conclui-se que, para o sistema estudado, todos os valores dos passos utili-
zados (∆t = 0.01, 0.1, 0.5, 1 e 2) levam a soluções numéricas satisfatórias pelo método de Euler implı́cito.
O valor do passo ∆t = 0.1 parece a melhor solução, considerando o custo-benefı́cio computacional. Con-
forme explicado, isso ocorre devido à alta estabilidade do método de Euler implı́cito para o problema em
análise, diferentemente da solução numérica pelo método de Euler explı́cito, que para ∆t ≥ 2 apresenta
soluções insatisfatórias.
Referências
[1] Brunnet, Leonardo; Hentz, Agenor. ”Métodos Computacionais da Fı́sica B”. Universidade Fe-
deral do Rio Grande do Sul - UFRGS. Instituto de Fı́sica. Porto Alegre-RS. Disponı́vel em:
”http://www.if.ufrgs.br/tex/metcompb/”.