初始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模型:一个撞球世界

概述:一堆小球在虚拟世界(循环世界)中飞来飞去,小球之间没有任何相互作用。

  • 循环世界是指:当小球从左侧飞出则其将从右侧飞入,从上侧飞出则其将从下侧飞入。

建模步骤

  1. 添加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按钮

  1. 添加go代码
to goask turtles[forward 1]
end

代码注释:
ask turtles:访问每一个turtle,类似于for循环。
forward 1 : 每个turtle向前走一步。
end

  • 运行
    此时点击go,就可以看到小球动起来啦,如果动的太快(慢),可以调节页面上的ticks,来改变小球运行的速度。

流程图

对“世界“界面的认识

  • 右击点击“edit”,进入世界编辑界面。

如何学习更多的netlogo

  • 阅读其自带的模型库,模型库中的模型都自带代码
  • Netlogo中文手册
  • 利用netlogo的字典
  • 在豆瓣中有一个Netlogo小组
  • 多使用,多实验·

是不是觉得入门还挺简单的,让我们一起开启Netlogo的魔幻世界叭!

Netlogo入门(二)相关推荐

  1. NetLogo入门(二)——模型基本语法

    上一节已向读者展示如何下载NetLogo.熟悉NetLogo用户界面,以及如何创建一个自定义模型,即100个"箭头"在一个世界中不断向前移动.但现实中的模型远比它要复杂,因而也要求 ...

  2. NetLogo入门(一)——熟悉操作界面

    在线资源 最全的资源显然是官网的教程.若想变成NetLogo专家,任何"二手货"都不如官网原教程."二手货"只是为了总结.提炼最常用的NetLogo命令,以及方 ...

  3. SQL基础使用入门(二): DML语句和DCL语句

    SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...

  4. 文本分类入门(二)文本分类的方法

    文本分类入门(二)文本分类的方法 文本分类问题与其它分类问题没有本质上的区别,其方法可以归结为根据待分类数据的某些特征来进行匹配,当然完全的匹配是不太可能的,因此必须(根据某种评价标准)选择最优的匹配 ...

  5. 转 Python爬虫入门二之爬虫基础了解

    静觅 » Python爬虫入门二之爬虫基础了解 2.浏览网页的过程 在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://image.baidu.com/ ,我们会看到几张的图片以 ...

  6. java类作用域标识符_java入门 (二) 标识符、数据类型、类型转换、变量、常量、作用域...

    java入门(二) 标识符 数据类型 类型转换 变量.常量.作用域 本次笔记引用B站:狂神说,虽然早就会了,现在回头来敲下基础,加深印象 1.标识符: java所有的组成部分都需要名字.类名丶变量名丶 ...

  7. MySQL入门 (二) : SELECT 基础查询

    1 查询资料前的基本概念 1.1 表格.纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料. 以储存城市资料的表格「city」来说,设计 ...

  8. 微信小程序入门二:底部导航tabBar

    小程序底部导航栏组件tabBar,可以参考下官方的API:tabBar 先看代码 //app.json {"pages":["pages/index/index" ...

  9. conan入门(二):conan 服务配置-密码管理及策略

    conan 服务配置 密码管理及策略配置 第一次以管理员身份(admin)使用默认密码(password)WEB登录入JFrog Artifactory后台时,系统就提示要求我修改密码,因为现有密码太 ...

  10. CSS入门二、美化页面元素

    零.文章目录 CSS入门二.美化页面元素 1.字体属性 CSS Fonts (字体)属性用于定义字体系列.大小.粗细.和文字样式(如斜体) (1)字体系列font-family font-family ...

最新文章

  1. HMM——维特比算法(Viterbi algorithm)
  2. 为什么交叉熵和KL散度在作为损失函数时是近似相等的
  3. Linux时间矫正流程,Linux 时间矫正命令
  4. rocketmq发送第一条消息(三)
  5. 2021青海高考文综成绩查询,2021年青海高考分数线预测 文理科录取分数线预测
  6. 各类木材强度_凯狄解析各类抽芯铆钉的工作原理
  7. alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第2部分)
  8. 常见设计模式的思考1
  9. 三元运算符 python_Python三元运算符
  10. Java生成随机数原理_JAVA随机数生成的机制
  11. 编程入门——计算机硬件介绍
  12. java 重写或者覆父类方法的使用throws 抛出异常,为什么要小于父类父类,java面试点
  13. DNF检测原理分析篇
  14. Stellarium(虚拟天文馆)
  15. Educational Codeforces Round 131 (Rated for Div. 2) A-D题解
  16. 20221219 圣诞节,音乐圣诞树
  17. 【千锋Python2205班9.29笔记-day09-字符串(一阶段)】
  18. Android实战开发Handler机制深度解析
  19. MBR分区和GPT分区(系统安装注意)简介及互相转换的方法
  20. Python---GPA(绩点)计算器

热门文章

  1. c语言常见头文件大全,C语言头文件大全(free)
  2. 据说200G网盘资料
  3. 观察:家乡的、身边的真实互联网
  4. VOC 2007数据集结构
  5. Google Chrome谷歌浏览器繁体字修改为简体字
  6. 范德波振子的李雅普诺夫指数
  7. SM2258XT固态硬盘不认盘量产修复开卡工具,SM2258XT开卡教程
  8. MagicDraw-序列图
  9. Linux常见命令tar
  10. Inno Setup 详解中文资料