基于Netlogo建模基础知识讲解课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《基于Netlogo建模基础知识讲解课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Netlogo 建模 基础知识 讲解 课件
- 资源描述:
-
1、Netlogo建模基础知识讲解建模基础知识讲解14302010008秦奕深秦奕深NetLogo简介1.基本情况vNetLogo是一个用来对自然和社会现象进行仿真的可编程建模环境建模仿真集成环境v由美国西北大学连接学习与计算机建模中心(Center for Connected Learning and Computer-Based Modeling,CCL)开发。v2002年发布了1.0版本,用户手册为4.0.2版本,最新为4.1.1版本2. 主要功能v多主体建模(重点)多个移动Agent分布在二维空间中,每个Agent自主行动,所有主体并行异步更新,整个系统随着时间推进而动态变化。 v运行控制
2、v仿真输出提供了多种手段实现仿真运行监视和结果输出 v实验管理BahaviorSpace,自动管理仿真运行,并记录结果。 v系统动力学仿真v参与式仿真HubNet v模型库3.软件特色v完全可编程v简单语言结构v是LOGO语言的扩展,支持智能体和网络结构v可以定义无限个智能体和变量v多种内置命令帮助使用v支持整型和双精度型浮点数计算v跨平台、可复用的应用。二、NetLogo仿真框架1. NetLogo软件 2.模型的抽象v总体:大量的可移动主体在二维空间中交互作用,随着时间推进,微观个体的属性不断发生变化,系统的宏观特征也因此而变化。v从三个方面理解:主体空间表达仿真推进 (1)主体(Agen
3、ts)v虚拟世界由主体构成,主体能够接受命令,进行活动,所有主体的行为并行并行发生。vNetLogo中共有三类主体,turtles(海龟)patches(瓦片)observer(观察者)主体类型vturtles指能够在世界中移动的主体。v世界是二维的,划分为由patches组成的网格,每个patch占据一个矩形小块。patch不能移动patch也是主体patch和turtle一样可以有自己的属性和行为vobserver是一个全局主体,它观察着由turtles和patches构成的世界,能够执行指令获取世界全部或部分的状态,或实现对世界的控制。 虚拟世界(2)空间表达v每个patch有二维坐标(
4、pxcor,pycor)坐标值为整数整数。 v默认情况下,二维世界的水平、垂直坐标范围为(-17,17) v每个turtle也有坐标(xcor,ycor)turtle坐标不必是整数不必是整数,因此turtle不一定正好位于某个patch的中心。v一个patch上也可以同时有多个turtles。v实际上对turtle而言,NetLogo的空间是连续的。 (3)仿真推进v没有明确的仿真时钟变量,也没有提供特定的事件处理机制v仿真推进是通过不断重复执行某个例程实现的v模型中至少要有初始化初始化例程和仿真执行执行例程初始化例程初始化例程实现对模型初始状态的设置,生成所需的turtles,设置其状态,以
5、及其它工作。仿真的执行仿真的执行通过例程go实现,在go例程中编写所需执行的各种指令,完成一个仿真步的工作。 需要在Interface页中建立一个按钮与go例程相联系,该按钮是一个永久(forever)按钮,点击后将不断重复执行go例程,直到遇到stop指令或用户再次点击该按钮则仿真终止。2.建模基本过程vNetLogo模型包括可视化部件和例程两部分,二者具有紧密联系。v先在Interface中创建可视化控件,然后在Procedures中实现相应的代码,通过设置控件的属性将二者联系起来。vInterface中主要有三类部件 运行控制参数控制仿真显示vProcedure中的例程分为两类:命令(c
6、ommand)例程报告(reporter)例程仿真的基本框架初始化to setup每一个仿真周期to go是否结束?结束对所有Turtle循环ask turtles每个Turtle做出决策forward 1是否三、编程指南vbreed vturtles-own vglobals vto setup endvto go endvask turtles set pcolor white vset-default-shape turtles personvsetxy random-xcor random-ycorvset turtles-own randomvset age ( 22 + rando
7、m 53 )vset age ( age + 1 )vset house 0vclear-all(ca)vforward(fd) 1vcreate-turles 100vsprout-breeds number vsprout number vhatch number vhatch-breeds number vask one-of men set breed vif vifelse四、生态系统建模示例v假设要模拟一个简单的生态系统,v该系统中有一种生物以青草为食,通过吃草获取能量、v该类生物经历成长、繁殖、死亡过程。 1. 初始化v创建生物群体,并将它们随机分布在空间中。 v例程(demo1
8、)to setup ;定义例程setup clear-all ;设置整个世界为初始状态 ;创建100个turtles,创建后各turtle默认坐标是(0,0) create-turtles 100 ;命令所有turtle执行语句setxy random-xcor random-ycor ;各turtle 坐标随机产生,实现turtles在空间中的随机分布 ask turtles setxy random-xcor random-ycorend2.仿真执行例程v实现turtle随机移动v实现go例程,与forever按钮联系vgo 调用move-turtles例程增加代码: (demo2)to
9、go ;定义仿真执行例程go move-turtles ;调用例程move-turtlesendto move-turtles ;定义例程move-turtles ;所有turtle执行 中的命令序列 ask turtles right random 360 ;右转一个角度,度数随机产生 forward 1 ;前进距离1 end3.青草的模拟v为模拟青草的存在设置patches为绿色v改写setup 例程,其中调用了两个新的例程setup-turtles和setup-patches,分别设置turtle和patch的初始状态 demo3to setup clear-all setup-patc
展开阅读全文