Python模拟随机游走图形效果示例


Posted in Python onFebruary 06, 2018

本文实例讲述了Python模拟随机游走图形效果。分享给大家供大家参考,具体如下:

在python中,可以利用数组操作来模拟随机游走。

下面是一个单一的200步随机游走的例子,从0开始,步长为1和-1,且以相等的概率出现。纯Python方式实现,使用了内建的 random 模块:

# 随机游走
import matplotlib.pyplot as plt
import random
position = 0
walk = [position]
steps = 200
for i in range(steps):
  step = 1 if random.randint(0, 1) else -1
  position += step
  walk.append(position)
fig = plt.figure()
plt.title("3water.com")
ax = fig.add_subplot(111)
ax.plot(walk)
plt.show()

Python模拟随机游走图形效果示例

第二种方式:简单的把随机步长累积起来并且可以可以使用一个数组表达式来计算。因此,我用 np.random 模块去200次硬币翻转,设置它们为1和-1,并计算累计和:

# 随机游走
import matplotlib.pyplot as plt
import numpy as np
nsteps = 200
draws = np.random.randint(0, 2, size=nsteps)
steps = np.where(draws > 0, 1, -1)
walk = steps.cumsum()
fig = plt.figure()
plt.title("3water.com")
ax = fig.add_subplot(111)
ax.plot(walk)
plt.show()

Python模拟随机游走图形效果示例

一次模拟多个随机游走

# 随机游走
import matplotlib.pyplot as plt
import numpy as np
nwalks = 5
nsteps = 200
draws = np.random.randint(0, 2, size=(nwalks, nsteps)) # 0 or 1
steps = np.where(draws > 0, 1, -1)
walks = steps.cumsum(1)
fig = plt.figure()
plt.title("3water.com")
ax = fig.add_subplot(111)
for i in range(nwalks):
  ax.plot(walks[i])
plt.show()

Python模拟随机游走图形效果示例

当然,还可以大胆的试验其它的分布的步长,而不是相等大小的硬币翻转。你只需要使用一个不同的随机数生成函数,如 normal 来产生相同均值和标准偏差的正态分布:

steps = np.random.normal(loc=0, scale=0.25, size=(nwalks, nsteps))

Python模拟随机游走图形效果示例

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python正则表达式之作业计算器
Mar 18 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
python中import与from方法总结(推荐)
Mar 21 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
Jun 25 Python
使用turtle绘制五角星、分形树
Oct 06 Python
Python代码生成视频的缩略图的实例讲解
Dec 22 Python
python实现局域网内实时通信代码
Dec 22 Python
Flask中sqlalchemy模块的实例用法
Aug 02 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
如何查看python关键字
Jan 17 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 #Python
TensorFlow高效读取数据的方法示例
Feb 06 #Python
django使用xlwt导出excel文件实例代码
Feb 06 #Python
Python使用装饰器进行django开发实例代码
Feb 06 #Python
Python yield与实现方法代码分析
Feb 06 #Python
Django中间件工作流程及写法实例代码
Feb 06 #Python
Django数据库表反向生成实例解析
Feb 06 #Python
You might like
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
实现“上一页”和“下一页按钮
2006/10/09 PHP
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
Angular排序实例详解
2017/06/28 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
解决Layui中layer报错的问题
2019/09/03 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python3序列化与反序列化用法实例
2015/05/26 Python
利用Python如何生成随机密码
2016/04/20 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
numpy自动生成数组详解
2017/12/15 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
迪士尼西班牙官方网上商店:ShopDisney西班牙
2020/02/02 全球购物
农行实习自我鉴定
2013/09/22 职场文书
毕业生求职简历的自我评价
2013/10/07 职场文书
体育教师工作总结的自我评价
2013/10/10 职场文书
物流专业求职信
2014/06/30 职场文书
高中军训的心得体会
2014/09/01 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
大学四年个人总结
2015/03/03 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫