当每个乌龟在命令中移动时,我都需要使用Ask turtles上下文进行补丁更新。 因此,本质上,我想让补丁在乌龟环境中做某事。 我知道您可以让海龟在该特定补丁程序上访问补丁程序变量,但是我需要的是补丁程序计算所有补丁程序的“边际值”(由我组成的补丁程序变量),包括那些没有补丁程序的补丁程序有乌龟。 我的目标是每当海龟在“问海龟”命令中移动时,边际值都会更新。 因此,在这种情况下,乌龟可以访问其位于补丁变量上的补丁这一事实似乎无济于事。 这可能吗? 如果是这样,您如何建议我解决?

例如,我现在无法使用,但是可能有助于理解我正在尝试执行的操作:

 ask turtles
  [ ask patches
    [ calculate-marginal-vaule ]]

to calculate-marginal-vaule
   ifelse
    count turtles-here > 0
    [ set possible-consumption ( quality ) / ( strength-of-competition * count turtles-here ) ]
    [ set possible-consumption quality ]
  set marginal-value mean [ possible-consumption ] of patches
end

#1楼 票数:4

NetLogo专门禁止使用诸如ask turtles [ ask patches [ <do something> ] ]代码,因为这种格式的代码几乎总是错误(并且是效率低下的主要根源)。 但是,您可以要求满足某些条件的补丁程序子集来执行某项操作,如以下代码所示。

to testme
  clear-all
  create-turtles 10
  ask patches [ set pcolor 15 ]
  ask turtles
  [ ask patches with [ pxcor >= 0 ] [ set pcolor pcolor + 5 ]
  ]
end

如果您有10只乌龟,那么ask turtles [ ask patches [ ] ]会使补丁执行10次操作。 那真的是你想要的吗? 从所有补丁程序访问信息都没有问题,只需执行一些操作即可。

#2楼 票数:2

如果使用patch-set报告patches将特殊patches代理集转换为“常规”补丁程序代理patch-set则可以绕开Jen解释的限制:

ask turtles [
  ask patch-set patches [
    calculate-marginal-value
  ]
]

现在这样做是否明智是另一个问题。

我不确定我是否理解您要设法解决的问题足以解决您的问题,但是我可以告诉您您当前要执行的操作在计算上会非常昂贵。 如果可以的话,您至少应该尝试考虑解决该问题的另一种方法。

  ask by Eleanor translate from so

未解决问题?本站智能推荐:

2回复

NetLogo中乌龟形状占用的补丁

我希望在理解和使用补丁形状和大小与来源方面有所帮助。 我正在尝试标记特定乌龟形状下的补丁。 例如,如果乌龟是(wxh)的矩形,则我想更改该形状下所有补丁的颜色或属性,而不仅是原始补丁。 当然,使用矩形也许我可以手动为其下的色块着色,但是是否可以选择在更复杂的乌龟形状下修改色块? 谢谢。
1回复

从netlogo世界中的绿色补丁弹起乌龟

我正在尝试实现反弹乌龟逻辑。 当任何乌龟移向绿色斑块时,我要设置turtles head = set head ( - head) 我的代码是: 问题:但是它给出了错误(OF预期的输入是乌龟代理集或补丁代理集或乌龟或补丁,但是却没有标识符)。 如何解决这个错误?
3回复

使用补丁颜色和while循环命令netlogo中的乌龟移动

我对netlogo很新,所以这可能是一个非常基本的问题,但我被困住了。 我想使用while循环(所以命令在整个运行期间不断发生)和补丁颜色来决定乌龟将如何移动。 如果乌龟不在红色斑块上,我希望它继续向最近的红色斑块移动。 如果是红色补丁,我希望它留在补丁上 当我运行它时,我得到一个
1回复

您如何使乌龟仅遵循从Ioded到netlogo中的shapefile创建的绿色补丁?

到目前为止,这是我的代码。 我只希望乌龟遵循绿线,但是当我设置模型时,它们只会在面对的随机方向上永远持续下去。 码:
1回复

Netlogo:我如何问多个补丁中的一只乌龟?

如何问多个贴片中的一只乌龟? 我想在指定补丁中选择一只乌龟。 (或者,我想问一个指定范围内的海龟)例如,我想使用以下语法:但是它不起作用。 要么
1回复

如何在Netlogo3D中检测乌龟前面的补丁

我正在Netlogo 3D中进行驾驶仿真,我希望汽车撞上由彩色补丁制成的车库一侧时,撞车并变成“火”形状,而补丁的颜色与汽车和卡车的颜色不同。地面。 它有没有办法让乌龟检测到车库并“崩溃”?
1回复

计算netlogo中单个补丁上的乌龟拥有的因子的方差

我正在尝试在单个补丁上计算乌龟拥有的因子的方差。 换句话说,在一个补丁中,我想知道该补丁中所有海龟之间因子的均值和方差。 我知道“海龟的平均值[FACTOR]-在这里”会给我平均值,但是由于某种原因,方差也无法正常工作。 问题1:要求补丁输出乌龟拥有的因子的方差的正确语法是什么? 我
1回复

Netlogo:如何为世界上每个指定补丁中的每只停滞乌龟选择具有最低ID的乌龟?

我有一个模型,每个模型都将海龟放在几个补丁中。 我想为世界上每个指定补丁中的每个停滞乌龟选择具有最低ID的乌龟。 例如,答案如下。 在斑块坐标(1、0)处,留有五只乌龟。 在贴片坐标(1、0)中,具有最小ID的乌龟的ID为ID = 5。 以下是一个示例程序。 但是这个程序不是故意的。