我剛剛發(fā)現(xiàn)了 galpy,并花了一整天的時(shí)間查看文檔和示例,但我仍然對(duì)在不指定時(shí)間集的情況下整合軌道的可能性感到有點(diǎn)困惑。文檔中的一個(gè)簡單示例如下: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)但我問是否可以使用整合方法而不指定整個(gè)時(shí)間數(shù)組,而僅指定適當(dāng)單位的時(shí)間量。例如:t = 100o.integrate(t, potential.MWPotential2014)謝謝。
1 回答

料青山看我應(yīng)如是
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果文檔沒有說存在這樣的接口,您可能會(huì)認(rèn)為它不存在,但快速查看代碼可以證實(shí)這一點(diǎn)。無論如何,即使存在這樣的捷徑,積分器函數(shù)本身仍然需要一系列時(shí)間步長來積分,所以這只是一個(gè)捷徑。
即使您只想指定“一段時(shí)間”,您仍然需要提供一個(gè)時(shí)間步長,盡管您也可以有一個(gè)默認(rèn)時(shí)間步長。您可以編寫自己的快捷函數(shù),例如:
def integrate_orbit(orbit, pot, t, dt=0.01):
t = np.arange(0, t, dt)
return orbit.integrate(t, pot)
添加回答
舉報(bào)
0/150
提交
取消