初始Netlogo
Netlogo的优点:
- 小巧,轻便可以在web上直接使用
网址:http://www.netlogoweb.org/launch#http://www.netlogoweb.org/assets/modelslib/Sample%20Models/Earth%20Science/Erosion.nlogo - 简单、易学适合初学者
- 可以以文件、声音、视频等多种形式输出内容
- 可以与Mathematica等相连接
注:Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一。Mathematica的发布标志着现代科技计算的开始。Mathematica是世界上通用计算系统中最强大的系统。自从1988发布以来,它已经对如何在科技和其它领域运用计算机产生了深刻的影响。Mathematica 和 MATLAB、Maple 并称为三大数学软件。
以上内容cv自百度百科,从中可见Mathmatica的强大,奈何我现在只会一点MATLAB的皮毛,后续有机会可以学习一下Mathmatica.
Netlogo与海龟turtle
我第一次了解turtle是学习Python的时候,那时候可以借助turtle来绘制一些基本的图形,这只小乌龟就像一只画笔,你可以通过指令去控制它以实现在画布上绘制图像的功能。
Netlogo早期的编程语言来自于lego机器人,因此在后续的开发中其将每一个agent(智能主体)命名为turtle,Uri wilensky将lego进行开发形成了一个系统即今天我们所使用的Netlogo。
第一个Netlogo模型:一个撞球世界
概述:一堆小球在虚拟世界(循环世界)中飞来飞去,小球之间没有任何相互作用。
- 循环世界是指:当小球从左侧飞出则其将从右侧飞入,从上侧飞出则其将从下侧飞入。
建模步骤
- 添加setup按钮
点击添加,需确保右侧为按钮控件,增加命令为“setup”。
3. 添加setup代码
a. 切换到“代码”界面,添加代码
to setup
clear-all
set-default-shaoe turtles "circle"
create-turtles 50[
setxy random-xcor random-ycor
]
end
b.代码注释:
clear-all:重置整个世界(清除屏幕)
set-default-shape turtles “circle”:将每个turtle的默认形状设置为circle
create-turtles 50:创建50个turtle
setxy random-xcor random-ycor:使得每个turtle的在坐标系中的位置随机
此时在世界里已经有50个小球产生,接下来让小球动起来。
4. 添加go按钮
- 添加go代码
to go
ask turtles[
forward 1
]
end
代码注释:
ask turtles:访问每一个turtle,类似于for循环。
forward 1 : 每个turtle向前走一步。
end
- 运行
此时点击go,就可以看到小球动起来啦,如果动的太快(慢),可以调节页面上的ticks,来改变小球运行的速度。
流程图
对“世界“界面的认识
- 右击点击“edit”,进入世界编辑界面。
如何学习更多的netlogo
- 阅读其自带的模型库,模型库中的模型都自带代码
- Netlogo中文手册
- 利用netlogo的字典
- 在豆瓣中有一个Netlogo小组
- 多使用,多实验·
是不是觉得入门还挺简单的,让我们一起开启Netlogo的魔幻世界叭!