2014-12-30 43 views
1

我是netlogo的新用戶。我有一個反應系統(轉換爲常微分方程),可以用Matlab解決。我想在netlogo中開發相同的模型(用於與matlab結果進行比較)。我對時間/滴答有困惑,因爲netlogo使用「滴答」來增加時間,而Matlab使用時間以秒爲單位。如何將我的matlab sec轉換爲ticks的數量?任何人都可以幫我編寫代碼。該模型是:關於Netlogo中的時間尺度問題

A + B ---> C (with rate constant k1 = 1e-6) 
2A+ C ---> D (with rate constant k2 = 3e-7) 
A + E ---> F (with rate constant k3 = 2e-5) 

初始值A = B = C = 500D = E = F = 10
初始時間t=0秒和最後時間t=6

+0

回覆:蜱VS秒,請參閱http://stackoverflow.com/questions/3571485/netlogo-1-tick-how-many-seconds –

+0

回覆:建模化學反應,你看了樣本模型 - >化學&物理 - >化學反應?那裏有許多化學反應模型。 –

回答

1

我有一個一般評論第一,的NetLogo旨在用於基於代理的建模。 ABM具有不同特徵的多個實體以某種方式進行交互。反彈道導彈並不是真正解決反彈道導彈的合適方法。如果你的目標是簡單地將你的模型用Matlab以外的其他模型進行比較,而不是特別要求NetLogo,那麼我可以推薦Vensim更合適。話雖如此,你可以在NetLogo中建立你想要的模型,但這非常尷尬。

NetLogo處理時間離散,而不是連續。每秒可以有任意數量的滴答(我建議10,然後最後一次是60滴答)。您需要將您的方程式轉換爲離散形式,因此您的費率可能類似於k1-discrete = k1/10。您可能存在數量極小的精度問題。