上一节已向读者展示如何下载NetLogo、熟悉NetLogo用户界面,以及如何创建一个自定义模型,即100个“箭头”在一个世界中不断向前移动。但现实中的模型远比它要复杂,因而也要求我们更深入地了解NetLogo建模的语法。
一、最简单的模型
如上一节所述,即使是最简单的模型,也含有两个过程(procedure)——setup和go(当然,setup命名成别的名称也可以,但一般不这么做,因为不习惯)
to setup
clear-all
create-turtles 100 [ setxy random-xcor random-ycor]
reset-ticks
end
to go
ask turtles [ forward 1 ]
tick
end
一个过程的定义由to <过程名>开头,end作结尾。setup过程一般都会含有clear-all和reset-ticks命令(command)。
clear-all:将整个世界重置,清除世界中所含的所有东西,从而允许一个新模型开始运行。reset-ticks:重置时钟,使时间步重新变为0。
一个go过程的末尾往往有tick,表示时间步加1。回到界面标签(Interface tab),会发现速度滑块(speed slider)旁边有一个下拉列表框,可以选择“按时间步更新”或“连续更新”。
按时间步更新:每运行完一次go过程就更新一次视图(view)。连续更新:go过程中每一步的进行都会导致视图(view)更新一次。
一般我们选取“按时间步更新”,比如上一节中建立简单模型时录制的gif动画。
二、基本概念
NetLogo是一款用于建立基于个体的模型(individual-basd model,IBM)的软件。对于一个IBM,NetLogo有一套专门的术语体系:
- 主体(agent):NetLogo模型世界中所有类型的对象,能够接受用户施加的命令并做出响应。主体(agent)有以下类型:海龟(turtle)、嵌块(patch)、链接(li

本文深入介绍了NetLogo的建模语法,包括setup和go过程、基本概念如主体、命令和报告子。通过示例展示了如何创建和控制海龟,以及如何利用变量和breed功能来实现不同类型的主体。此外,还探讨了全局变量、主体变量和局部变量的使用。
——模型基本语法&spm=1001.2101.3001.5002&articleId=123442580&d=1&t=3&u=b95ce2cec6534b138c0ee0ea85ebb9cd)
2153

被折叠的 条评论
为什么被折叠?



