【问题标题】:Netlogo - Turtles crossing LineNetlogo - 海龟穿越线
【发布时间】:2019-11-10 18:54:39
【问题描述】:

我想计算越过线的海龟 - 我尝试使用“补丁上的海龟”,但如果海龟停止,它会计数两次。如果海龟移动超过 1 个补丁,它就不算什么...... 有任何想法吗?谢谢彼得

Line

【问题讨论】:

    标签: netlogo


    【解决方案1】:

    从您添加的图片看来,您正在运行一个单车道交通模型,其“终点线”非常窄,海龟可以在一个刻度内完全穿过。

    捕捉过境点:

    您可以做的一件事是在终点线的另一侧画一条更粗的“线”。也许让它宽5个补丁。您可以在测试时将其着色为黄色,并在确定它正常工作时将其更改为隐藏。如果海龟在那个补丁上,它已经越过了这条线。如果你让它足够宽,它应该不可能以任何速度跳过。只使用一只乌龟并缓慢运行模型应该很容易测试。

    统计停车车辆数:

    如果没有看到您的代码,就很难知道您为什么要计算两次停止的汽车。您可以在这里发布您的代码或相关部分吗?我猜你有一些全球性的,每次你找到一辆新的停住的汽车时你都会增加。

    让汽车拥有像“stopped?”这样的变量效率较低,但更可靠。当汽车越过线时,您初始化为 false 并设置为 true。然后您可以随时获得准确的停车车辆计数

    count cars with [ stopped? = true ]
    

    假设您有一个名为 my-count of stop cars 的变量,并且您想查看它何时出错,您可以插入如下代码行

    if mycount != count cars with [stopped? = true] [user-message "count is wrong!"]
    

    【讨论】:

      【解决方案2】:

      如果这条线肯定是垂直的(如您的图表中所示),那么最简单的方法可能是简单地将 pxcor 的海龟 pxcor 大于线所在的任何坐标加上汽车尺寸。

      【讨论】:

      • Danke das habe ich nun auch probiert aber die gemittelte Durchschnittsgeschwindigkeit ist für mich der beste Wert
      猜你喜欢
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 2016-03-11
      • 2018-04-11
      相关资源
      最近更新 更多