这个问题是关于 scipy.integrate 模块中的 odeint 函数。
我根据以下原理模拟相互作用的星系:让两个原子核在开普勒轨道上移动,然后让星系中的每颗恒星都没有质量。
我在 1 个星系的参考系中工作,所以我使用两个经典的牛顿重力 + 1 个离心力。
所有这些都与 odeint(scipy.integrate 模块)集成在一起,效果很好。我对 odeint 整合我的星星的速度有问题:每颗星星需要大约 10-15 秒才能在大约 100 个时间步长(约 10 亿年)中整合,但这相当于整合几个小时总共1000颗星。据我的教授说,他的程序运行大约 5 分钟,做那些星星。我什至不知道如何提高这个速度,因为我无法更改方程式,而 odeint 确实占用了 99% 的运行时间。
长话短说,我怎样才能提高我的 odeint 计算时间?
谢谢