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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
Python中的魔法方法深入理解
Jul 09 Python
进一步探究Python中的正则表达式
Apr 28 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
Python实现多并发访问网站功能示例
Jun 19 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
PyQt5每天必学之进度条效果
Apr 19 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
Python学习笔记之图片人脸检测识别实例教程
Mar 06 Python
详解pandas的外部数据导入与常用方法
May 01 Python
python实现简单坦克大战
Mar 27 Python
Anaconda和ipython环境适配的实现
Apr 22 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
PHP文件操作实现代码分享
2011/09/01 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
php中使用GD库做验证码
2016/03/31 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
js对文章内容进行分页示例代码
2014/03/05 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
在Python的Django框架中编写错误提示页面
2015/07/22 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
对python函数签名的方法详解
2019/01/22 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
财产保全担保书范文
2014/04/01 职场文书
专题组织生活会方案
2014/06/15 职场文书
学校志愿者活动总结
2014/06/27 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
中标通知书
2015/04/17 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
《小小的船》教学反思
2016/02/18 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python