我刚刚发现了 galpy,并花了一整天的时间查看文档和示例,但我仍然对在不指定时间集的情况下整合轨道的可能性感到有点困惑。文档中的一个简单示例如下:from galpy import potentialimport numpyts= numpy.linspace(0,100,10000)o= Orbit([1.,0.1,1.1,0.,0.1,0.])o.integrate(ts,potential.MWPotential2014)但我问是否可以使用整合方法而不指定整个时间数组,而仅指定适当单位的时间量。例如:t = 100o.integrate(t, potential.MWPotential2014)谢谢。
1 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
如果文档没有说存在这样的接口,您可能会认为它不存在,但快速查看代码可以证实这一点。无论如何,即使存在这样的捷径,积分器函数本身仍然需要一系列时间步长来积分,所以这只是一个捷径。
即使您只想指定“一段时间”,您仍然需要提供一个时间步长,尽管您也可以有一个默认时间步长。您可以编写自己的快捷函数,例如:
def integrate_orbit(orbit, pot, t, dt=0.01):
t = np.arange(0, t, dt)
return orbit.integrate(t, pot)
添加回答
举报
0/150
提交
取消