Você está na página 1de 1

Trabalho de Cálculo Numérico

Instruções: Envie o arquivo .py através do Colabweb até o dia 28/07. O trabalho pode
ser individual ou de até 3 pessoas (façam apenas uma submissão por equipe).

Questão 1. Na mecânica celeste, a equação de Kepler pode ser usada para determinar a
posição de um objeto em uma órbita elı́ptica. Esta equação não linear é:

ω −  sin(ω) = t,

onde
r
b2
ˆ = 1− ,é a excentricidade orbital do objeto,
a2
ˆ t é proporcional ao tempo , e

ˆ ω é o ângulo do objeto em torno de sua órbita elı́ptica.

Neste problema, usaremos os parâmetros a = 1.0 e b = 0.5 para definir a órbita do nosso
objeto. Desejamos resolver esta equação para encontrar o ângulo ω em vários momentos
no tempo.

Primeiro, determine uma função não linear f (ω) que você pode usar para resolver essa
equação para ω; determine também sua função derivada f 0 (ω).

Crie um arquivo python chamado keppler.py, no qual você implementa sua função,
sua derivada, e uma rotina que executa as seguintes tarefas. Para cada tempo t =
{0.0, 0.001, · · · , 8.999, 9.0}:

(a) Use o método de Newton para resolver a equação de Kepler para ω(t). Cada solução
deve usar uma tolerância de 10−4 , um máximo de 5 iterações de Newton, e deve
desabilitar a saı́da da iteração das informações para a tela (afinal, você está resol-
vendo milhares de problemas não lineares). A estimativa inicial para cada solução
deve ser a solução do valor anterior de t ( para a primeira solução resolva com uma
estimativa inicial de 0).

(b) Usando a fórmula para a posição radial de um objeto no ângulo ω em sua órbita
elı́ptica,
ab
r(ω) = p
(b cos(ω(t)))2 + (a sin(ω(t)))2
calcule as coordenadas cartesianas do objeto, x(t) = r(t) cos(ω(t)) e y(t) = r(t) sin(ω(t))

(c) Salve os valores de t, x(t) e y(t).

(d) Usando a biblioteca matplotlib crie três gráficos: x(t) vs t, y(t) vs t, e y(t) vs x(t)

Você também pode gostar