1.Matlab在行人仿真领域已是老生常谈,不过多赘述。Netlogo脱胎于Logo语言,由西北大学UriWilensy开发并维护至今,作为一款儿童编程语言而被研究者及工程技术人员广泛使用。就行人仿真领域而言,国内研究应用较少,相关院校包括不限于BNU/BJTU/XJTU。

2.基于改进R插件(好东西,Github上搜一下就有),使NetLogo在运行时向Matlab发送、接收数据,并能将NetLogo环境中的文本转义为Matlab命令行。

3.仅为Demo示例,诸多不严谨之处请见谅。

话不多说,先挖个坑把代码放上,后续慢慢补充。

extensions[matlab]globals[
expected-speed
]patches-own[
number-of-pedestrian-around
number-of-pedestrian-here
number-of-total
density
]turtles-own [speed ;;行人行走速度speed-limit ;;速度上限speed-min ;;速度下限arrived? ;;是否到达终点]to setupclear-allsetup-pedestrianssetup-matlabask patches [ setup-room ]reset-ticks
endto setup-matlabmatlab:send-string "Title" "This-is-the-start."matlab:eval "disp(Title)"
endto setup-room ;;设置行走区域及终点if (pycor < 20 ) and (pycor > -20) and (pxcor < 20 ) and (pxcor > -20) [set pcolor white]if (pycor = 5) and (pxcor = 5) [set pcolor green]if (pycor = 5) and (pxcor = -5) [set pcolor green]if (pycor = -5) and (pxcor = 5) [set pcolor green]if (pycor = -5) and (pxcor = -5) [set pcolor green]set number-of-pedestrian-around 0set number-of-pedestrian-here 0
endto setup-pedestrianscreate-turtles 40ask turtles [ setxy random-xcor random-ycor ]ask turtles [ set color red ]ask turtles [ set speed 1 + random-float 0.5 ]ask turtles [ separate-with-each-other ]ask turtles [ set arrived? false ]
endto separate-with-each-other ;;使初始生成的行人互相分开if any? other turtles-here[forward 1separate-with-each-other]
endto gotest-locationif ( ticks >= 45 ) [ stop ]select-target ;;选择最近的终点,调转方向select-speed ;;选择加速/减速write-location-to-file ;;将轨迹写入文件write-density-to-file ;;将实时密度写入文件delete-turtles ;;删除到达终点的行人calculate-expected-speed ;;计算周边人数tick
endto calculate-expected-speed ;;获取周边行人数量,计算周边行人密度ask patches [set number-of-pedestrian-around count turtles-on neighborsset number-of-pedestrian-here count turtles-hereset number-of-total number-of-pedestrian-around + number-of-pedestrian-herematlab:send-double "n" number-of-totalmatlab:eval "v=1.26-0.28*n"]
endto test-locationask turtles [if (pcolor = green) [ set arrived? true ]]
endto select-targetask turtles [let nearest-patch min-one-of (patches with [pcolor = green])[distance myself]face nearest-patch]
endto select-speedask turtles [set expected-speed matlab:get-double "v"if speed < expected-speed [ speed-up ]if speed > expected-speed [ slow-down ]forward speed]
endto slow-downlet deceleration 0.3set speed speed - deceleration
endto speed-uplet acceleration 0.3set speed speed + acceleration
endto write-location-to-filefile-open "001.txt"ask turtles[ if (arrived? != true)[ file-write xcor file-print ycor ]]file-close
endto write-density-to-file
file-open "002.txt"
ask patches
[
file-write number-of-total
]
file-close
endto delete-turtlesask turtles[if (pcolor = green) [ die ]]
end

行人仿真仿而不真——基于NetLogo与MatLab仿真行人运动相关推荐

  1. 基于2D-RNN的鲁棒行人跟踪

    基于2D-RNN的鲁棒行人跟踪 Recurrent Neural Networks RNN 行人跟踪 读"G.L. Masala, et.al., 2D Recurrent Neural N ...

  2. CV方向介绍 | 基于自然语言的跨模态行人ReID的SOTA方法简述(下)

    点击我爱计算机视觉标星,更快获取CVML新技术 本文为52CV群友Jokie对ReID一个新的子方向最新总结,原载于知乎: https://zhuanlan.zhihu.com/p/89730837 ...

  3. CVPR 2019 | 基于密集语义对齐的行人重识别模型:有效解决语义不对齐

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自微软研究院AI头条. 编者按:行人重识别(Person Re-identification),也称行人再识别,旨在利用计算机视觉技术实现基于图 ...

  4. CV方向介绍 | 基于自然语言的跨模态行人re-id的SOTA方法简述(上)

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自52CV群友Jokie的知乎 https://zhuanlan.zhihu.com/p/69559437 这是上篇,期待作者早日出下篇- 撒花 ...

  5. 基于OpenCV与Dlib的行人计数开源实现

    基于OpenCV与Dlib的行人计数开源实现 PyImageSearch昨天发布的行人计数的Blog,详述了使用OpenCV和Dlib库中的检测和跟踪算法如何完成该功能.原网址开源代码需要F-Q才能下 ...

  6. 纵享丝滑滑动切换的周月日历,可流畅滑动高度定制,仿小米日历,基于 material-calendarview

    monthweekmaterialcalendarview 项目地址:idic779/monthweekmaterialcalendarview  简介:纵享丝滑滑动切换的周月日历,可流畅滑动高度定制 ...

  7. pid控制器matlab仿真研究,基于MATLAB仿真的PID控制器设计毕业设计

    基于MATLAB仿真的PID控制器设计毕业设计 基于 MATLAB 仿真的 PID 控制器设计 摘 要 本论文以温度控制系统为研究对象设计一个 PID 控制器.PID 控制是迄今为止最通用的控制方法, ...

  8. 【Journal of Computer-Aided Design Computer Graphics】基于生成对抗网络的行人重识别方法研究综述

    文章目录 引言 数据集介绍 基于GAN的行人重识别方法分类 2.1基于风格转换的方法 2.2基于数据增强的方法 2.3基于不变性特征学习的方法 3 基于GAN的方法性能对比分析 总结 引言 对于行人检 ...

  9. unity3d 模拟电脑实现_基于Unity3D的机器人仿真实验系统

    龙源期刊网 http://www.qikan.com.cn 基于 Unity3D 的机器人仿真实验系统 作者:庄严 卢阿丽 杨庆 来源:<电子技术与软件工程> 2018 年第 03 期 摘 ...

最新文章

  1. CCIE-MPLS基础篇-实验手册
  2. 波士顿动力机器狗新技能!跳绳园艺做家务,还有书法神技
  3. php程序内存优化之数组操作优化
  4. 如何通过apk获得包名及Activiy 名称
  5. 第六次课作业(质量管理、项目人力资源管理)
  6. .NET使用VS2010开发Web Service
  7. Node.js 初步学习总结
  8. Win7环境下,用VHD安装Win8,实现双系统!
  9. FPV穿越机飞行入门练习
  10. python自动化运维快速入门 pdf 郑征_Python自动化运维快速入门
  11. 基于E4A的手机蓝牙串口助手app制作
  12. day20 网络编程(上)
  13. 虚拟机Ubuntu安装中文输入法
  14. 关于彭先生和我的未来呀~
  15. html5设置页面标题,单选(4分) 下面选项中,可以将HTML5页面的标题设置为“我的第一个网页”的是()。...
  16. 小米官宣:手表Color 2来了,6色多彩表带,你喜欢哪个?
  17. 微信支付二维码显示(二)
  18. 苹果皮的小奥秘_拔剑-浆糊的传说_新浪博客
  19. Windows10基于chrome内核的浏览器不走代理解决方法
  20. 基于php校园网站的开发,基于PHP的小学校园网站开发

热门文章

  1. PLC协议宏通信功能介绍
  2. C++实现凸包Graham_scan算法
  3. Numpy:np.isin()
  4. Ubuntu 16.04升级Openssh7.8p1
  5. 327 玉米田(状态压缩dp)
  6. LeetCode-1694. 重新格式化电话号码【字符串,分块】
  7. 接口和接口测试以及测试工具
  8. caffe笔记3(matlab程序)
  9. 一年365天每天进步 5‰或1%和每天退步 5‰或1%最后的结果分别是多少
  10. VS调用大恒相机sdk实时显示图像并进行图像处理+OPENCV