在每个滴答声中从文件中读取数据
Read data from file in every ticks
我正在使用 NetLogo,我想在每个时间步长(滴答)中从每个代理的文件中读取两种类型的数据(例如 "x" 和 "y")。有谁知道我该怎么做?
代码如下:
breed [agents agent]
agents-own [ need tax]
to setup
clear-all
define-xy
reset-ticks
end
to define-xy
file-open "D:\data\xy.txt"
while [not file-at-end?]
[
let items read-from-string (word "[" file-read-line "]")
crt 1 [
set xcor item 0 items
set ycor item 1 items
set label ycor
]
]
file-close
end
to go
tick
if (ticks = 5)
[
stop
]
end
现在,如果我想定义两个税参数并且需要在每次报价时更改我应该怎么做。我有点 confused.In 上面的代码我可以从一个有两列的文件中一次性读取。
嗯。您提供的有关文本文件中数据结构的信息太少,因此我假设您只有两列。所以文本文件看起来像这样:
1 3
4 5
9 11
-1 33
首先,我认为您需要一种控制代理的方法,我再次假设您创建了确定数量的代理,并且文本文件的第 1 行用于代理 1。
也就是说,您接下来要做的是使用 repeat number-of-agents [tasks]
而 tasks
可能类似于:
let auxiliar 0
repeat number-of-agents [
let data-read read-file-line
ask agent auxiliar [ set var1 first data-read
set var2 last data-read ]
tick ;Reads, Assigns, Ticks and all over again.
set auxiliar auxiliar + 1
]
我正在使用 NetLogo,我想在每个时间步长(滴答)中从每个代理的文件中读取两种类型的数据(例如 "x" 和 "y")。有谁知道我该怎么做?
代码如下:
breed [agents agent]
agents-own [ need tax]
to setup
clear-all
define-xy
reset-ticks
end
to define-xy
file-open "D:\data\xy.txt"
while [not file-at-end?]
[
let items read-from-string (word "[" file-read-line "]")
crt 1 [
set xcor item 0 items
set ycor item 1 items
set label ycor
]
]
file-close
end
to go
tick
if (ticks = 5)
[
stop
]
end
现在,如果我想定义两个税参数并且需要在每次报价时更改我应该怎么做。我有点 confused.In 上面的代码我可以从一个有两列的文件中一次性读取。
嗯。您提供的有关文本文件中数据结构的信息太少,因此我假设您只有两列。所以文本文件看起来像这样:
1 3
4 5
9 11
-1 33
首先,我认为您需要一种控制代理的方法,我再次假设您创建了确定数量的代理,并且文本文件的第 1 行用于代理 1。
也就是说,您接下来要做的是使用 repeat number-of-agents [tasks]
而 tasks
可能类似于:
let auxiliar 0
repeat number-of-agents [
let data-read read-file-line
ask agent auxiliar [ set var1 first data-read
set var2 last data-read ]
tick ;Reads, Assigns, Ticks and all over again.
set auxiliar auxiliar + 1
]