问题十

摘要:Calculate the precession of the perihelion of Mercury,followong the approach described in this section.

背景:


问题十_第1张图片
800px-Mercury_in_color_-_Prockter07-edit1.jpg
Mercuryorbitsolarsystem.gif
问题十_第2张图片
400px-ThePlanets_Orbits_Mercury_PolarView.svg.png

公式:

问题十_第3张图片
10.1.gif

数据:

问题十_第4张图片
10.2.gif

正文:

import matplotlib.pyplot as plt  
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import pylab as pl
import math
class solar:
    def __init__(self,x0=1,y0=0,vx=0,vy=2*math.pi,dt=0.001,dbeta=0,total_time=100,alpha=0):
        self.x=[x0]
        self.y=[y0]
        self.r=[math.sqrt(x0**2+y0**2)]
        self.vx=[vx]
        self.vy=[vy]
        self.dt=dt
        self.t=[0]
        self.tt=total_time
        self.db=dbeta
        self.a=alpha
    def run(self):
        while self.t[-1]

结论:

问题十_第5张图片
10.3.gif
问题十_第6张图片
10.4.gif

问题十_第7张图片
10.5.gif
问题十_第8张图片
10.6.gif
问题十_第9张图片
10.7.gif
问题十_第10张图片
10.8.gif
问题十_第11张图片
10.9.gif

可见万有引力严格符合R的平方反比的关系。

致谢:
感谢秦大粤同学的帮助!

你可能感兴趣的:(问题十)