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)
通过工具条,可以添加界面控件,调整模型运行的速度以及视图更新方式等。
图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 学习资源