Python odeint奇怪的解决方案

时间:2015-05-29 09:41:32

标签: python odeint

问题是经典力学中的氢原子。解决方案应该围绕中心进行椭圆旋转。但是我得到的结果根本没有意义(见图)。检查方程式和物理次数。这里有什么问题?与odeint函数有关的东西?对我来说原来是一个真正的错误: - ((

以下是代码:

c1 = -1710.82735072
x0 = 0.0
y0 = 1.0
vx0 = 15.0
vy0 = 0.0
from scipy.integrate import odeint
from pylab import *
def deriv(z,t):   
   return array([z[1],c1*z[0]/((z[0]**2+z[2]**2)**1.5),z[3],c1*z[2]/((z[0]**2+z[2]**2)**1.5)])
time = linspace(0,0.06,1000)
zinit = array([x0,vx0,y0,vy0])
z = odeint(deriv,zinit,time)
figure()
plot(z[:,0],z[:,2])
xlabel('x')
ylabel('y')
show()

在这里,革命不在中心 Here what it gives, the revolution is not around the center

如果绘制速度(z [1],z [3])与时间等的关系,它们也会混乱

0 个答案:

没有答案