语言: English
NetLogo编程工具介绍
NetLogo编程工具介绍
您当前的位置: 首页

一、什么是NetLogo

 NetLogo是一个免费的开源软件,它由Uri Wilensky发起并由链接学习和计算机建模中心(CCL)持续开发,目前已被全球成千上万的师生以及研究学者安装使用。


 NetLogo是一个多主体建模仿真的集成开发环境,它非常适合复杂系统的开发,成千上万的“主体”可以同时运动,这使得探索微观个体的行为及其互动而涌现的宏观现象成为可能。此外,它还提供HubNet参与式仿真功能。迄今,许多已发表的科学研究都是使用NetLogo平台进行模拟分析的。


二、NetLogo软件的安装

 NetLogo桌面版:http://ccl.northwestern.edu/netlogo

 NetLogo网页版:http://www.netlogoweb.org/launch


三、NetLogo软件的介绍

 (以模型库模型“Wolf Sheep Predation”为例)

 软件窗口包含三个页面:界面页、信息页以及代码页。

1. 界面页(Interface


图1


 界面页一般包含四个部分,工具条、界面控件、视图以及命令中心。


1.1 工具条(Toolbar

 通过工具条,可以添加界面控件,调整模型运行的速度以及视图更新方式等。


1E43

图2


1.2 界面控件(Interface Item

1.2.1 按钮(Button

 按钮按下后模型就会执行一个动作以做出响应,右击按钮控件打开编辑窗口,可以设置按钮执行的例程以及是否持续执行等。

 例如在Wolf Sheep Predation模型中,图3所示的按钮“setup”按下之后,模型会执行初始化过程。


图3

1.2.2 滑块(Slide

 每一个滑块物件都会关联一个全局变量,随着滑块的滑动,全局变量的值也会相应变化。

 例如在Wolf Sheep Predation模型中,图4所示的滑块关联的全局变量为“initial-number-sheep”,当滑块处于40刻度时,全局变量“initial-number-sheep”的值为40


图4


1.2.3 开关(Switch

 与滑块一样,每一个开关物件也有与其关联的全局变量,随着开关状态变化,全局变量的值也会相应变化。

 例如在Wolf Sheep Predation模型中,图5所示的开关关联的全局变量(Global Variable)为“show-energy?”。当开关处于位置“On”时,“show-energy?”的值为True,当开关处于位置“Off”时,“show-energy?”的值为False


图5


1.2.4 选择器(Chooser

 与滑块一样,每一个选择器物件也有与其关联的全局变量,随着选择器选项的变化,全局变量的值也会相应变化。

 例如在Wolf Sheep Predation模型中,图6所示的选择器“model-version”具有两个选项,“sheep-wolves”和“sheep-wolves-grass”。当选项“sheep-wolves”被选中时,全局变量“model-version”的值为“sheep-wolves”,反之亦然。


图6


1.2.5 注释(Note

 注释用来为界面页添加信息型文本标签,可以对各类界面控件添加注释,模型运行过程中注释内容不变。

 例如在Wolf Sheep Predation模型中,图7所示的注释表明注释所在区域是主体“羊“的参数设定。


图7


1.2.6 监视器(Monitor

 监视器是显示模型信息的一种方法,当模型运行时监视器中的数值不断更新。

 例如在Wolf Sheep Predation模型中,图8所示的监视器“sheep”实时监控视图中羊的数量,并将值显示在监视器物件中。


图8


1.2.7 图(Plots

 图是显示模型信息的另外一种方法,用于可视化输出结果,有线形、条形、点状三种输出形式。通过定义不同的画笔,图可以实时图形化模型的信息。

 例如在Wolf Sheep Predation模型中,如下图9所示的图“populations” 中有三支画笔:“sheep”、“wolves”和“grass / 4”。随着模型的运行,三支画笔会在图中留下痕迹,右击图物件打开编辑页面,可以看到每支画笔对应的作图命令。在这个图中,图能够实时显示羊、狼以及草/4的数量。


图9


1.3 视图(View

 视图里显示海龟和嵌块,是用来在计算机屏幕上查看模型中的主体的。

 例如在Wolf Sheep Predation模型中,在点击按钮“setup”之后,视图中出现白色的羊(海龟)、黑色的狼(海龟)以及绿色的草(嵌块)。


图10


1.4 命令中心(Command Center

 命令中心位于界面页,如果用户希望对 “主体”(海龟、嵌块、链、观察者)发出指令,可以通过在命令中心里输入命令来实现。

 例如在Wolf Sheep Predation模型中,在点击按钮“setup”之后,视图中会出现一定数量的羊和狼,此时在命令中心输入命令“ask sheep [set color red]”并回车,视图中的羊的颜色变为红色。


图11


2. 信息页(Info

 信息页提供了模型的解释说明,等同于模型的“使用说明书”。在这一页面内你可以得到模型的解释。因此建议在运行模型前,用户可以先了解模型信息页。


图12


3. 代码页(Code

 代码页是模型代码存放的地方,对于想马上发出的命令,可以在命令中心键入。对于要保存且重复使用的代码则可以放在例程页。

 例如在Wolf Sheep Predation模型中,例程页存储了模型运行的命令。


图13


NetLogo 学习交流

http://mari.hzau.edu.cn/NetLogo.htm


NetLogo 学习资源

http://mari.hzau.edu.cn/NetLogo_resources.htm