我从Railsback和Grimm的一本名为“基于代理和基于个人的建模”的书中学习ABM。根据这本书,他们走过的第一个完整模型看起来像这样:
globals
turtles-own
[
time-since-last-found
]
num-clusters
]
[
time-since-last-found
]
[
num-clusters
]
to setup
clear-all
set num-clusters 4
ask n-of 4 patches
[
ask n-of 20 patches in-radius 5
[
set pcolor red
]
]
create-turtles 2
[
set size 2
set color yellow
set time-since-last-found 999
]
end
to go
ask turtles [search]
to search
if-else time-since-last-found <= 20
[right (random 181) -90]
[right (random 21) -10]
forward 1
ifelse pcolor = red
[
set time-since-last-found 0
set pcolor yellow
]
[
set time-since-last-found time-since-last-found + 1
]
end
这本书说我应该可以运行简单的蘑菇狩猎模型。但是,相反,我不断收到一条错误消息,说我需要额外[,&#34;预期[&#34;。
我不知道我需要把它放在哪里。更重要的是,在我看来,我并不需要它,而且我不明白为什么我这么说。
谢谢!
答案 0 :(得分:0)
在阅读Railsback和Grimm时,查看Netlogo Programming Guide可能会有所帮助。它有助于概述正确的语法,并以不同的方式解释代码需要在什么位置进行。
使用上面的代码,有几个问题 - 例如,审核Globals
和Turtles-own
。请注意方括号应如何包含每个块中的变量。接下来,查看所有程序都以to
开头并以end
结束 - 您应该看到有一个&#34;搜索&#34;程序嵌套在你的&#34; go&#34;上面的程序。