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基础教程之分支、循环简单用法
Jun 16 Python
Python列出一个文件夹及其子目录的所有文件
Jun 30 Python
Python selenium如何设置等待时间
Sep 15 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
详解python读取和输出到txt
Mar 29 Python
python时间序列按频率生成日期的方法
May 14 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
Python数据存储之 h5py详解
Dec 26 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 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
分享8个最佳的代码片段在线测试网站
2013/06/29 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP7修改的函数
2021/03/09 PHP
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
jQuery.Form上传文件操作
2017/02/05 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
Vue.js轮播图走马灯代码实例(全)
2019/05/08 Javascript
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python实现合并字典的方法
2015/07/07 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
python3.6生成器yield用法实例分析
2019/08/23 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
Python自省及反射原理实例详解
2020/07/06 Python
大学毕业后的十年规划
2014/01/07 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
教师自我剖析材料
2014/09/29 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
意向协议书
2015/01/27 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
python OpenCV学习笔记
2021/03/31 Python
python 爬取华为应用市场评论
2021/05/29 Python
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL