首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >关于Netlogo中的时标问题

关于Netlogo中的时标问题
EN

Stack Overflow用户
提问于 2014-12-30 15:34:33
回答 1查看 103关注 0票数 1

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

代码语言:javascript
代码运行次数:0
运行
复制
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

EN

回答 1

Stack Overflow用户

发布于 2014-12-30 19:39:33

首先,我有一个一般性的评论,NetLogo旨在用于基于agent的建模。ABM有多个具有不同特征的实体,它们以某种方式相互作用。ABM并不是解决常微分方程的合适方法。如果您的目标是简单地在Matlab之外的其他工具中构建模型以进行比较,而不是专门需要NetLogo,我可以推荐Vensim更合适。话虽如此,你可以在NetLogo中构建你想要的模型,它只是非常笨拙。

NetLogo以离散的方式而不是连续的方式处理时间。你可以有任何数量的刻度每秒(我建议10,然后最后的时间是60刻度)。您需要将您的方程转换为离散形式,因此您的费率将类似于k1 -离散=k1/ 10。对于非常小的数字,您可能会遇到精度问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27701363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档