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中的补丁程序是调用代理程序周围radiusb
补丁程序圆的代理程序集<代码>最大一个。。。[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它不会“把它放在字段中”,这个代码从来不会设置字段
。