在线资源
最全的资源显然是官网的教程。若想变成NetLogo专家,任何“二手货”都不如官网原教程。“二手货”只是为了总结、提炼最常用的NetLogo命令,以及方便入门和复用。
- 下载NetLogo:https://ccl.northwestern.edu/netlogo/download.shtml。注意选用NetLogo 6.2.1版本,因为6.2.2版本可能会出现模型库无法加载的问题。
- 入门教程:https://ccl.northwestern.edu/netlogo/docs/。看完Tutorial #1: Models、Tutorial #2: Commands和Tutorial #3: Procedures基本就对NetLogo基本操作比较熟悉了。本文是这三篇Tutorial的摘要。
- 编程指南:https://ccl.northwestern.edu/netlogo/docs/programming.html。提供NetLogo Programming更为详细的介绍,可以作为Tutorial #3: Procedures教程的补充。
- 代码词典: https://ccl.northwestern.edu/netlogo/docs/dictionary.html。提供最全的NetLogo内置函数的解释,可作为词典方便查阅。
运行模型
打开NetLogo 6.2.1,单击“文件 > 模型库”,打开Sample Models > Biology > Wolf Sheep Predation模型。界面如下图所示。下面介绍交互界面各部分功能:
- 菜单(Menus,#1):可完成一系列最基本的功能,如打开文件、打开模型库、保存文件等。
- 标签组(Tabs,#2):有三个标签。
- 界面标签(Interface tab):显示一系列按钮(button)、滑块(slider)、开关(switch)等工具,使用户能操作模型,例如调整模型参数;还有监视器(monitor)和图(plot),有助于用户观察某一变量在模型运行时的变化情况。同时,在右侧还展示模型视图(View),可将模型动态可视化地展示给用户看。
- 信息标签(Info tab):显示模型的帮助文档。
- 代码标签(Code tab):显示模型的底层代码。
- 速度滑块(Speed slider,#3):控制模型运行速度。
- 命令中心(Command center,#4):可以在模型开始前或运行时输入命令,改变模型中个体的属性或行为。例如输入
ask sheep [ pen-down ]
,则羊群会记录其运行轨迹。
单击Setup按钮,完成初始化,模型视图中出现狼群和羊群。单击go按钮,模型即开始运行。在模型运行过程中,可以再次单击go按钮以停止模型;如果再次点击,则模型继续运行。
单击Setup按钮时,只需完成一次动作(也就是模型初始化),在NetLogo中这种按钮称为一次性按钮(Once button);go按钮则带有循环符号,单击时会反复运行同一个动作,使模型持续运行,在NetLogo中,这种按钮称为永久性按钮(Forever button)。
创建模型
打开NetLogo 6.2.1,点击“添加(+)”,同时确保右侧的下拉列表框选中“按钮”选项。单击空白区域,创建一个按钮,弹出“按钮”对话框。
在“命令”文本框中输入setup,单击确定。
切换到代码标签(Code tab),输入以下代码:
to setup
clear-all
create-turtles 100 [ setxy random-xcor random-ycor ]
reset-ticks
end
回到界面标签(Interface tab)。单击setup按钮,模型初始化完成。
同理,再创建一个按钮,命令文本框输入go,勾选“持续进行”和“时间步开始前禁用”复选框,确定,创建go按钮。
转到代码标签。添加以下代码:
to go
ask turtles [ forward 1 ]
tick
end
回到界面标签。单击setup,再单击go,即可运行模型。
控件、监视器与绘图
单击“添加+”,此时添加一个滑块(Slider)。弹出滑块对话框。在“全局变量”文本框中填入step,最小值0,最大值100,增量1,值设置为1,点击确定。
转到Code tab,将ask turtles [ forward 1 ]
改为ask turtles [ forward step ]
。这样,你就能通过拉动滑块来改变物体的移动速度了。
单击“添加+”,添加一个监视器(Monitor)。弹出监视器对话框,在“报告器”文本框中输入count turtles with [ xcor > 10 ]
,“显示名称”文本框输入Larger10。再次运行模型,你能观察到横坐标大于10的物体数量随时间的变化情况(下一节会讲到,整个世界的最大横坐标默认为16,最小为-16)。
单击“添加+”,添加一个图(Plot)。弹出图对话框,在“名称”文本框中输入Larger10,勾选“自动调整尺度”复选框,绘图笔名称也改为Larger10,绘图笔更新命令改为plot count turtles with [ xcor > 10 ]
,确定。运行模型,你能观察到横坐标大于10的物体数量随时间的变化曲线。
下一篇:[NetLogo入门(二)——模型基本语法](https://blog.csdn.net/Robby_Wu/article/details/123442580?spm=1001.2014.3001.5501)