关于Netlogo中的时间尺度问题

关于Netlogo中的时间尺度问题,netlogo,Netlogo,我是netlogo的新用户。我有一个反应系统(转换成常微分方程),可以用Matlab求解。我想在netlogo中开发相同的模型(用于与matlab结果进行比较)。我对时间/滴答声感到困惑,因为netlogo使用“滴答声”表示时间增量,而Matlab使用秒表示时间。如何将我的matlab秒转换为滴答数?有人能帮我写代码吗。模型是: A + B ---> C (with rate constant k1 = 1e-6) 2A+ C ---> D (with rate constant

我是netlogo的新用户。我有一个反应系统(转换成常微分方程),可以用Matlab求解。我想在netlogo中开发相同的模型(用于与matlab结果进行比较)。我对时间/滴答声感到困惑,因为netlogo使用“滴答声”表示时间增量,而Matlab使用秒表示时间。如何将我的matlab秒转换为滴答数?有人能帮我写代码吗。模型是:

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=500
D=E=F=10


初始时间
t=0
sec和最终时间
t=6
sec

首先我有一个一般性意见,NetLogo用于基于代理的建模。ABM有多个具有不同特征的实体以某种方式相互作用。ABM并不是解决ODE的合适方法。如果您的目标是简单地在Matlab以外的东西中构建模型以进行比较,而不是专门要求NetLogo,那么我可以推荐Vensim作为更合适的工具。话虽如此,你可以在NetLogo中构建你想要的模型,这是非常尴尬的


NetLogo处理时间是离散的,而不是连续的。每秒可以有任意数量的滴答声(我建议10次,最后一次是60滴答声)。你需要将你的方程转换成离散形式,所以你的利率应该是k1离散=k1/10。对于非常小的数字,您可能会遇到精度问题。

re:ticks vs seconds,请参阅re:modeling chemical reaction,您是否查看了示例模型->化学和物理->化学反应?里面有很多化学反应模型。