【发布时间】:2017-11-26 23:05:50
【问题描述】:
我正在尝试构建一个模型,其中海龟每个刻度移动一个补丁并随机移动。我正在寻找一种解决方案来根据百分比增加每个刻度的海龟数量。例如。一开始有 7 只海龟,每增加一个刻度,它们应按以下百分比增加:
10.72% 10.83% 10.93% 11.03% 11.11% 11.19% 11.27% 11.33% 11.39% 11.45%
不确定这是否可行?如果需要,这可以四舍五入到整数。
如果这是不可能的,我怎样才能将海龟数量增加 11%,每次滴答 10 滴答,然后在每次滴答 12% 之后再增加 10 滴等等?
以下是我正在使用的代码。
to setup
clear-all
setup-turtles
setup-patches
reset-ticks
end
to setup-patches
ask patches [ set pcolor green ]
end
to setup-turtles
create-turtles tourists [setxy random-xcor random-ycor ]
ask turtles [ set shape "person" set size 2 ]
end
to go
if ticks >= 130 [ stop ]
move-turtles
eat
tick
end
to move-turtles
ask turtles [ right random 360 forward 1]
end
to eat
ask turtles [ if pcolor = green [ set pcolor black ] ]
end
感谢您的支持。 阿维
【问题讨论】:
-
需要增加什么?例如,它是乌龟拥有的变量(属性)吗?还是增加与运动有关?
-
感谢 JenB 的回复。增加与运动有关。每一次滴答声,每只海龟都必须在绿色斑块上移动一步,消耗绿色空间并将其变成黑色。 (在我的模型中甚至可能那部分也不正确,因为移动是随机的,这意味着海龟也可能在黑色斑块上移动,如果您也能帮助我,我将不胜感激)并且海龟的数量需要如果可能的话,如果不是按数字,按百分比增加。我对编程的了解有限,因此将不胜感激。谢谢。
-
所以你想创建更多的海龟来增加它们的总数?如果你从 7 只海龟开始,那么 10.72% 的增长会让你达到 7.75 只海龟,所以这没有任何意义。真的,最好一次只做一件事。我会先搬家,然后吃东西,然后担心增加海龟。
-
知道了,谢谢。在那种情况下,我怎样才能让所有 7 只海龟每次只在绿色斑块上移动并增加海龟数量,让我们说每个滴答声上多一只海龟?所以它从 7 只海龟开始,下一个刻度增加到 8 只海龟,依此类推?这可能吗?非常感谢您在这方面的帮助。
标签: netlogo agent-based-modeling