我剛剛發現了 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
提交
取消