编辑:应适用于NetLogo 5.3.1。
我的问题:
我在NetLogo中有两个列表,例如[13 8 2 20 8]
和[7 7 7 7 7]
,它们的长度相同。我想逐项逐项减去后面的列表,即[(13-7)(8-7)(2-7)(20-7)(8-7)]。
因此结果必须是:[6 1 -5 13 1]
在R中很容易:
> a <- c(13, 8, 2, 20, 8)
> b <- rep(7, 5)
> c <- a - b
> print(c)
[1] 6 1 -5 13 1
不幸的是,NetLogo不能以这种方便的方式工作。
我的问题: 如何在NetLogo中编写代码?
答案 0 :(得分:6)
如果您的列表长度相同,则可以使用map
在多个列表上执行操作。然后,给定的报告者对所有第一项运行一次,然后对所有第二项运行一次,.......结果是一个与输入列表长度相同的列表。
show (map - [13 8 2 20 8] [7 7 7 7 7])
observer: [6 1 -5 13 1]