Netlogo:如何绘制节点的度数与具有该度数的海龟的平均值 "reward"?

Netlogo: How to plot degree of nodes vs. average "reward" of turtles with that degree?

我正在构建一个试图模拟基于网络的市场的模型。在这个模型中,turtles/nodes 得到一个叫做 points 的奖励,这是一个海龟自己的变量。

我现在正在尝试绘制节点度数与具有给定度数的节点所拥有的平均点数的关系图。我试图通过从界面选项卡创建绘图来做到这一点,但我无法做到这一点。

这里是情节设置 windows 的图片。

有人知道我该怎么做吗?

此外,我在我创建的所有 plots/histograms 中不断得到这些 "Runtime error: Can't find the maximum of an empty list"。目前这没什么大不了的,因为它们似乎工作正常,但是如果你知道为什么会出现这些,请告诉我!

先谢谢了,

卡洛斯

为简单起见并避免您的绘图设置过载,我喜欢使用 to-report 程序来处理此类事情。作为一个简单的例子,试试这个设置:

海龟-拥有[积分度]

to setup
  ca
  crt 50 [
    set degree 5 + random 5    
    set points random 10
    setxy random-xcor random-ycor
  ] 
  reset-ticks
end

为现有度数的列表、具有每个度数的海龟的平均分以及这些平均分值的最大值制作一个to-report

to-report degrees-list 
  report sort remove-duplicates [degree] of turtles 
end

to-report avg-points-list
  let avg-list map [ i ->
    mean [points] of turtles with [ degree = i ]
  ] degrees-list
  report avg-list
end

to-report max-avg
  report precision ( max avg-points-list + 1 ) 2
end

在此示例中,degrees-list 报告 [ 1 2 3 4 5 ]avg-points-list 报告类似于 [6.5 3.9285714285714284 6 3.75 4.2],而 max-avg 报告类似于 7.5-请注意,由于设置是随机的,因此确切的值当然会有所不同。

现在,你可以设置你的地块了window:

实际绘图由 plot pen 中的 foreach 原语处理,它使用 plotxyavg-points-list 中的点值与 avg-points-list 中的相应值相对应=14=]。应该给出一个看起来像这样的情节:

希望这就是您所追求的!