radius中的NetLogo

radius中的NetLogo,netlogo,Netlogo,我有这个代码,但我不清楚它在做什么: patches-own [ field ] let a max-one-of patches in-radius b [field] ifelse ([field] of a > 0.1) and ([field] of a < 0.5) [ ;; do something ] [ ;; do something else ] 补丁自己的[field] 设a在半径b[场]中最大一个面片 ifelse([field]的a>0.1)和([fiel

我有这个代码,但我不清楚它在做什么:

patches-own [ field ]

let a max-one-of patches in-radius b [field]
ifelse ([field] of a > 0.1) and ([field] of a < 0.5)
[
;; do something
]
[
;; do something else
]
补丁自己的[field]
设a在半径b[场]中最大一个面片
ifelse([field]的a>0.1)和([field]的a<0.5)
[
做点什么
]
[
做点别的
]
谢谢,

Marco

这显然是由海龟或补丁运行的代码,不清楚是哪个

radius b中的补丁程序是调用代理程序周围radius
b
补丁程序圆的代理程序集<代码>最大一个。。。[field]在该代理集中查找
字段值最大的修补程序。然后,该修补程序存储在新的局部变量
a
中。(比
A
更好的名字可能是
winner
peak
best patch

然后,
[field]是
字段
的最大值,与找到的
最大值相同。
ifelse
检查该值是否在某个范围内,并根据需要执行不同的操作

ifelse
中的代码是否进一步使用了
a
?如果有,那就酷了。如果没有,那么代码可以更容易、更简单地编写为:

let m max [field] of patches in-radius b
ifelse m > 0.1 and m < 0.5
[
;; do something
]
[
;; do something else
]
让m在半径b中最大[field]个面片
如果m>0.1且m<0.5
[
做点什么
]
[
做点别的
]

也许以这种形式看到它将有助于明确其含义。

这显然是由海龟或补丁运行的代码,但不清楚是哪个

radius b中的补丁程序是调用代理程序周围radius
b
补丁程序圆的代理程序集<代码>最大一个。。。[field]
在该代理集中查找
字段值最大的修补程序。然后,该修补程序存储在新的局部变量
a
中。(比
A
更好的名字可能是
winner
peak
best patch

然后,
[field]是
字段
的最大值,与找到的
最大值相同。
ifelse
检查该值是否在某个范围内,并根据需要执行不同的操作

ifelse
中的代码是否进一步使用了
a
?如果有,那就酷了。如果没有,那么代码可以更容易、更简单地编写为:

let m max [field] of patches in-radius b
ifelse m > 0.1 and m < 0.5
[
;; do something
]
[
;; do something else
]
让m在半径b中最大[field]个面片
如果m>0.1且m<0.5
[
做点什么
]
[
做点别的
]
也许以这种形式看到它将有助于明确其含义。

请输入最多一个给定值(数字/补丁),并将其放入字段中。如果给定值介于.1和.5之间,则会执行某些操作。如果不是的话,做些别的事情。并发现您:@Evan它不“将其放入字段”,此代码从不设置
字段
。让给定的最大值为一(数字/补丁)并将其放入字段。如果给定值介于.1和.5之间,则会执行某些操作。如果不是的话,做些别的事情。然后发现你:@Evan它不会“把它放在字段中”,这个代码从来不会设置
字段