gpt4 book ai didi

netlogo - 随时间绘制列表元素(刻度线)

转载 作者:行者123 更新时间:2023-12-02 20:27:08 28 4
gpt4 key购买 nike

我需要根据代理来源的品种(女性和男性)研究从列表中选择的项目随时间的分布。

在每个时间点,品种中的女性或男性都会创建一个新对象,并将其添加到其他海龟的列表中。这个/这些对象可以在每一步(刻度)被其他海龟(女性和/或男性)选择,在网络中传播。

在图中,y 轴应包含已访问海龟(即从列表中选择该项目的海龟)中每个对象的出现次数(频率)。

  • 示例:

    对象 3 由男性创建,对象 5 由女性创建。

man 2: count 1 object 3 (object 3 created) at tick 1
woman 4: count 1 object 5 (object 5 created) at tick 3
...
man 2: count 1 object 3 (object 3 picked) at tick 12
man 2: count 1 object 3 (object 3 picked) at tick 12
man 2: count 1 object 3 (object 3 picked) at tick 13
...
woman 31: count 1 object 5 (object 5 picked) at tick 21
  • 绘图:

    对于对象 3,我会有(蓝色的点,因为它是由一个人创建的)

 x y
1 1
2 0
3 0
...
12 2
13 1
...

对于对象 5(红色点,因为它是由女性创建的):

   x y
1 1
2 0
3 0
...
12 0
13 0
...
21 1
...

对于如何随时间绘制创建的项目,然后由海龟挑选并分别查看随时间的不同分布,您有什么建议吗?

enter image description here

最佳答案

您可以做的是使用长度过滤器来获取由男性或女性创建的对象的数量(如果我理解得很好,这是列表示例中的item 2):

let selected (list item 0 list_1 item 1 list_1 item 2 list_1) 
ifelse item 2 list_1 = women [
set list_1_w fput selected list_1_w
print (word "List objects created by women: " list_1_w)
let list_count_w (length (filter [a -> item 2 a = women] list_1_w)) /* added */
]
[ set list_1_m fput selected list_1_m
print (word "List objects created by men: " list_1_m)
let list_count_m (length (filter [a -> item 2 a = men] list_1_m)) /* added */
]

上面的两个 let 变量返回由女性或男性创建的对象的计数。此计数仅考虑品种女性和男性,不区分女性 x 创建的对象和男性 x 创建的对象。关于绘制它们,您可能应该在每个时间点对它们进行计数,以便获得代理随时间选择的事件(对象)数量的年表。要跟踪每个对象,一个想法是创建一个可以跟踪所有对象的临时绘图笔:

ask turtles [ /* here you should distinguish between objects created by women and objects created by men */
create-temporary-plot-pen (word who)
set-plot-pen-color color
plotxy ticks ___ /* you should add here variable that you want to consider */
]

上面的代码可以创建一个多重图来跟踪所有对象(但您需要标记它们并在选择它们时进行跟踪)。这只是一个想法。您(或社区中的其他人)应该相应地更改上面的代码,以考虑不同的品种以及如何随时间跟踪这些对象。

希望对大家有帮助!

关于netlogo - 随时间绘制列表元素(刻度线),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60083890/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com