《Netlogo多主体建模入门》学习笔记(2)
第三章 通过“生命游戏”认识patch
代码实现:life of game
patches-own [ living ];;定义一个名为living的属性,意义为一个patch中周围的black patch的数量
to setupclear-allask patches[if random-float 1 < 0.3[;;random-float 随机选择0到1之间的数字,当小于0.3时生成白色方块set pcolor white;;设置patches的颜色]set living 0 ;;更新每个patch的living状态]
endto goask patches[set living count neighbors with [pcolor = black] ;;设置living为每一个patch周围黑色方格出现的数量]ask patches[ifelse(pcolor = black)[;;使用了ifelse语句if living > 3 or living < 2 [;;嵌套一层if语句set pcolor white]][if (living = 3)[;;ifelse外的一次if语句set pcolor black]]]
end
代码效果:
代码解析:
1.life of game生命游戏基于几个最基本的规则:
2.patches-own 为每一个patch自定义一个属性
语法:
patches-own [a,b,c,......] ;;其中中括号内为自定义的属性,即属性a,b,c等等。
FAO:patches-own一般写在程序的最开头部分
3.if语句
语法:
if 判断依据 []
FAO:
上述代码中
if random-float 1 < 0.3[;;random-float 随机选择0到1之间的数字,当小于0.3时生成白色方块set pcolor white;;设置patches的颜色]
“random-float 1”为生成一个0~1的随机数,然后在和0.3作比较。从而模拟出百分之三十的patches
变成白色方块
4.ifelse语句
语法:
ifelse 判断依据 [expression1
][expression2
]
FAO:该条件语句在C语言中等价于if-else语句
5.set living count neighbors with [pcolor = black]
emmm...这一句比较恶心,突出了logo语言和其他编程语言的不同之处。
这里的“count”英文上翻译为计数,“neighbors”为复数邻居,按照字面意思是计算当前每一个patch的邻居中为黑色(狗带)的数量。“count”和“neighbors”均为Netlogo的保留词。将该语句用括号分开变成set living = (count(neighbors with [pcolor = black]))这样就清晰许多。
按照字面意思,这里的“with”实际上是一个if语句
;;示例代码,运行不了哟
if [pcolor = black]
{neighbor为black数量++
}
6.count 如5所说,count就是计数
语法:count x 这里x为计数的对象,可以在监视器中使用该语句用于监视x的数量
7.neighbors
emmmmm。。。这是一个保留字感觉就怪怪的,这里简单认为每个patch的邻居,即在一个九宫格内最中间的patch的邻居就是除他之外的其余patch。
《Netlogo多主体建模入门》学习笔记(2)相关推荐
- PyTorch深度学习实践概论笔记9-SoftMax分类器
上一讲PyTorch深度学习实践概论笔记8-加载数据集中,主要介绍了Dataset 和 DataLoader是加载数据的两个工具类.这一讲介绍多分类问题如何解决,一般会用到SoftMax分类器. 0 ...
- 深度学习框架Pytorch入门与实践——读书笔记
2 快速入门 2.1 安装和配置 pip install torch pip install torchvision#IPython魔术命令 import torch as t a=t.Tensor( ...
- PyTorch——深度神经网络的写作笔记
1 致谢 感谢Facebook的开发者的辛苦和努力- (给Google只有两个字"呵呵") 2 深度神经网络的搭建 2.1 Module的添加 使用nn.Module.add_mo ...
- numpy pytorch 接口对应_拆书分享篇深度学习框架PyTorch入门与实践
<<深度学习框架PyTorch入门与实践>>读书笔记 <深度学习框架PyTorch入门与实践>读后感 小作者:马苗苗 读完<<深度学习框架PyTorc ...
- Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...
- 【Pytorch深度学习实践】B站up刘二大人课程笔记——目录与索引(已完结)
从有代码的课程开始讨论 [Pytorch深度学习实践]B站up刘二大人之LinearModel -代码理解与实现(1/9) [Pytorch深度学习实践]B站up刘二大人之 Gradient Desc ...
- 刘二大人 PyTorch深度学习实践 笔记 P6 逻辑斯蒂回归
刘二大人 PyTorch深度学习实践 笔记 P6 逻辑斯蒂回归 P6 逻辑斯蒂回归 1.torchversion 提供的数据集 2.基本概念 3.代码实现 P6 逻辑斯蒂回归 1.torchversi ...
- 《PyTorch深度学习实践》学习笔记 【2】
<PyTorch深度学习实践>学习笔记 [2] 学习资源: <PyTorch深度学习实践>完结合集 二.线性模型 2.1 概念: 2.1.1 数据集和测试集 数据集拿到后一 ...
- 【PyTorch深度学习实践 | 刘二大人】B站视频教程笔记
资料 [参考:<PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili] [参考 分类专栏:PyTorch 深度学习实践_错错莫的博客-CSDN博客] 全[参考 分类专栏:PyT ...
- 笔记|(b站)刘二大人:pytorch深度学习实践(代码详细笔记,适合零基础)
pytorch深度学习实践 笔记中的代码是根据b站刘二大人的课程所做的笔记,代码每一行都有注释方便理解,可以配套刘二大人视频一同使用. 用PyTorch实现线性回归 # 1.算预测值 # 2.算los ...
最新文章
- 构建高可用服务器之二 Keepalive参数详解
- 【BZOJ3630】[JLOI2014]镜面通道 几何+最小割
- 《统计学》学习笔记之数据的图表展示
- camel 数据库_使用Camel在来自不同来源的Solr中索引数据
- scala akka_使用Scala,Play和Akka连接到RabbitMQ(AMQP)
- 2021中国垂类电竞KOL发展洞察行业报告
- 二叉树C++ | 实现删除节点_4
- Nginx下Uwsgi模块常用参数说明
- 【java】java 并发编程 StampedLock 锁 【不重要】
- 车牌识别及验证码识别的一般思路
- Informix 9.4和CSDK的安装
- 使用Julia进行图像处理--用于扩充训练集的图像增强
- 解决win10系统flash player无法播放,升级
- 【新星计划】Matlab pid参数调节工具箱
- C++ ActiveX基础1 使用VS2015创建MFC ActiveX工程项目
- 北大AI公开课 第一讲
- ck6.8整合php,CKplayer-超酷网页视频播放器
- 51单片机DS18B20测温LCD12864显示
- 《缠中说禅108课》22:将 8 亿的大米装到 5 个庄家的肚里
- Computer Graphics Through OpenGL From Theory to Experiments - 学习笔记2 Tricks of the Trade opengl基础
热门文章
- Windows Server 2012和2016从Evaluation评估版升级到正式版方法(附带产品密钥/key)
- 迷途视频解析HTML源码,抖音短视频无水印解析接口源码
- python控制电机正反转_连接电动机正反转控制电路,要求具备电气互锁功能,拍照上传...
- w3school学习笔记2(MySQL)
- thinkphp前端显示被反编译详解
- 巴特沃斯归一化数字低通滤波器参数、原理及使用方法
- Mujoco的关节与外力和驱动器
- 图像处理——空间域和频率域部分图像增强学习
- Nooploop空循环 TOFSense激光测距传感器 模块 红外测距测高
- html原生时间选择框,JS实现漂亮的时间选择框效果