首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Netlogo中建立离散系统模型

在Netlogo中建立离散系统模型
EN

Stack Overflow用户
提问于 2018-02-23 17:03:40
回答 1查看 62关注 0票数 0

我想模拟n辆车。每辆车由第一个离散模型表示:

P_ik+1 = P_ik + T*v_ik

而P_ik+1、P_ik分别是车辆I在采样时间(k+1)T和kT的位置

T是采样时间

v_ik是采样时间kT时车辆i的速度

车辆之间的关系如下所示:

P_ik+1 = T*(P_(i+1)k+1 + P_(i-1)k - 2* P_ik)

我不知道如何在这里表示采样时间T

EN

回答 1

Stack Overflow用户

发布于 2018-02-23 20:55:58

你所说的“采样时间”是什么意思有点不清楚。但是,根据您的符号,我认为您的意思是T是当前时间,并且您将根据当前位置和速度计算下一个时间点的位置。在这种情况下,您不需要显式地表示时间,您只需要通过它进行处理。在NetLogo中,tick是前进一个时间步长的命令( ticks是到目前为止所用时间步数的报告程序,但我不认为你需要它)。

来自评论的更新:

我觉得我们说的是不同的目的。采样点是为了找到一个连续函数或一组函数的离散近似。一旦你处于离散时间,你可以使用tick作为你的时间标记。每一个刻度,你都可以计算出状态。您只需记住,如果您的采样时间为0.5秒,则需要执行(例如) 20次滴答才能找到10秒的状态。

下面是一个示例:

代码语言:javascript
运行
复制
globals [ticks-per-sec]
turtles-own [velocity]

to setup
  clear-all
  set ticks-per-sec 2
  create-turtles 10
  [ setxy random-xcor random-ycor
    set velocity (1 + random 4) / ticks-per-sec
    set heading 90
  ]
  reset-ticks
end

to go
  ask turtles
  [ forward velocity
    set velocity 0.9 * velocity + 0.1 * mean [velocity] of other turtles
  ]
  tick
end

我已经设置了所有的乌龟都朝同一个方向前进,这样你就可以看到它们的速度收敛了。您的方程式具有恒定的速度,但此示例旨在向您展示如何在车辆之间进行交互。

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

https://stackoverflow.com/questions/48944379

复制
相关文章

相似问题

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