Netlogo入门(二)
初始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 setupclear-allset-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 goask turtles[forward 1]
end
代码注释:
ask turtles:访问每一个turtle,类似于for循环。
forward 1 : 每个turtle向前走一步。
end
- 运行
此时点击go,就可以看到小球动起来啦,如果动的太快(慢),可以调节页面上的ticks,来改变小球运行的速度。
流程图
对“世界“界面的认识
- 右击点击“edit”,进入世界编辑界面。
如何学习更多的netlogo
- 阅读其自带的模型库,模型库中的模型都自带代码
- Netlogo中文手册
- 利用netlogo的字典
- 在豆瓣中有一个Netlogo小组
- 多使用,多实验·
是不是觉得入门还挺简单的,让我们一起开启Netlogo的魔幻世界叭!
Netlogo入门(二)相关推荐
- NetLogo入门(二)——模型基本语法
上一节已向读者展示如何下载NetLogo.熟悉NetLogo用户界面,以及如何创建一个自定义模型,即100个"箭头"在一个世界中不断向前移动.但现实中的模型远比它要复杂,因而也要求 ...
- NetLogo入门(一)——熟悉操作界面
在线资源 最全的资源显然是官网的教程.若想变成NetLogo专家,任何"二手货"都不如官网原教程."二手货"只是为了总结.提炼最常用的NetLogo命令,以及方 ...
- SQL基础使用入门(二): DML语句和DCL语句
SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...
- 文本分类入门(二)文本分类的方法
文本分类入门(二)文本分类的方法 文本分类问题与其它分类问题没有本质上的区别,其方法可以归结为根据待分类数据的某些特征来进行匹配,当然完全的匹配是不太可能的,因此必须(根据某种评价标准)选择最优的匹配 ...
- 转 Python爬虫入门二之爬虫基础了解
静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...
- java类作用域标识符_java入门 (二) 标识符、数据类型、类型转换、变量、常量、作用域...
java入门(二) 标识符 数据类型 类型转换 变量.常量.作用域 本次笔记引用B站:狂神说,虽然早就会了,现在回头来敲下基础,加深印象 1.标识符: java所有的组成部分都需要名字.类名丶变量名丶 ...
- MySQL入门 (二) : SELECT 基础查询
1 查询资料前的基本概念 1.1 表格.纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料. 以储存城市资料的表格「city」来说,设计 ...
- 微信小程序入门二:底部导航tabBar
小程序底部导航栏组件tabBar,可以参考下官方的API:tabBar 先看代码 //app.json {"pages":["pages/index/index" ...
- conan入门(二):conan 服务配置-密码管理及策略
conan 服务配置 密码管理及策略配置 第一次以管理员身份(admin)使用默认密码(password)WEB登录入JFrog Artifactory后台时,系统就提示要求我修改密码,因为现有密码太 ...
- CSS入门二、美化页面元素
零.文章目录 CSS入门二.美化页面元素 1.字体属性 CSS Fonts (字体)属性用于定义字体系列.大小.粗细.和文字样式(如斜体) (1)字体系列font-family font-family ...
最新文章
- HMM——维特比算法(Viterbi algorithm)
- 为什么交叉熵和KL散度在作为损失函数时是近似相等的
- Linux时间矫正流程,Linux 时间矫正命令
- rocketmq发送第一条消息(三)
- 2021青海高考文综成绩查询,2021年青海高考分数线预测 文理科录取分数线预测
- 各类木材强度_凯狄解析各类抽芯铆钉的工作原理
- alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第2部分)
- 常见设计模式的思考1
- 三元运算符 python_Python三元运算符
- Java生成随机数原理_JAVA随机数生成的机制
- 编程入门——计算机硬件介绍
- java 重写或者覆父类方法的使用throws 抛出异常,为什么要小于父类父类,java面试点
- DNF检测原理分析篇
- Stellarium(虚拟天文馆)
- Educational Codeforces Round 131 (Rated for Div. 2) A-D题解
- 20221219 圣诞节,音乐圣诞树
- 【千锋Python2205班9.29笔记-day09-字符串(一阶段)】
- Android实战开发Handler机制深度解析
- MBR分区和GPT分区(系统安装注意)简介及互相转换的方法
- Python---GPA(绩点)计算器