从netlogo中任何列表第(i&x2B;1)个位置的元素中减去第i个位置的元素
我想创建一些变量(tot海龟)的计数值列表,这些值随着每个刻度的增加而增加。我尝试了下面的代码,但所有时间列表都有一个长度为1的元素。我也没有增加。请纠正我从netlogo中任何列表第(i&x2B;1)个位置的元素中减去第i个位置的元素,netlogo,Netlogo,我想创建一些变量(tot海龟)的计数值列表,这些值随着每个刻度的增加而增加。我尝试了下面的代码,但所有时间列表都有一个长度为1的元素。我也没有增加。请纠正我 set tot-turtles count turtles to go let mylist [ ] set mylist lput tot-turtles mylist ; show mylist set i 1 foreach mylist [ ; print ? ;show i
set tot-turtles count turtles
to go
let mylist [ ]
set mylist lput tot-turtles mylist ; show mylist
set i 1
foreach mylist [ ; print ? ;show i
set x ? - i ; print x
set i (i + 1) ;show i
]
end
我想用下面的方式减去列表中的元素,其中列表的长度取决于模拟运行的次数或直到模拟结束,然后
我需要减去元素作为第(i+1)个元素-第i个位置的元素,直到列表的末尾
在上面的代码中,i为1,然后增加1,即2,然后继续到1 2。mylsit始终显示单个元素。与“?”混淆,如果我没有错,它给出了当前位置的元素,但我们如何知道当前位置
请帮我解决这些疑问和代码。非常感谢
谢谢,先生,是的,我在局部变量和全局变量上犯了错误,我后来检查过了。我想要的东西如下
to setup
set mylist [ 0]
set item-difference 0
end
to go
set tot-turtles count tutles set
mylist lput tot-turtles mylist
let _n (length mylist)
set item-difference (( item ( _n - 1 ) mylist - item ( _n - 2 ) mylist )
end
我希望你得到了Allan先生。要知道你想要的是什么有点困难,但是当你想要一个全局变量时,你似乎在使用一个局部变量。看看这是否提供了一些帮助:
globals [mylist]
to setup
ca
set mylist []
crt 10
end
to go
crt 1
set mylist lput (count turtles) mylist ; show mylist
end
to test
let _n (length mylist)
(foreach mylist n-values _n [? + 1] [
print ?1 - ?2
])
end