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编写Linux系统守护进程实例
Feb 03 Python
如何实现删除numpy.array中的行或列
May 08 Python
详解python分布式进程
Oct 08 Python
python 常见字符串与函数的用法详解
Nov 23 Python
python基于C/S模式实现聊天室功能
Jan 09 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
Mar 05 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
Python3爬虫中Ajax的用法
Jul 10 Python
Python过滤序列元素的方法
Jul 31 Python
python 如何将office文件转换为PDF
Sep 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
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
js断点调试经验分享
2017/12/08 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
浅谈PYTHON 关于文件的操作
2019/03/19 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
pytorch 预训练层的使用方法
2019/08/20 Python
python如何从文件读取数据及解析
2019/09/19 Python
语文教育专业推荐信范文
2013/11/25 职场文书
监理资料员岗位职责
2014/01/03 职场文书
幼儿园实习生辞职信
2014/01/20 职场文书
2014年财政工作总结
2014/12/10 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
电影雨中的树观后感
2015/06/15 职场文书
小学教师见习总结
2015/06/23 职场文书
Spring 使用注解开发
2022/05/20 Java/Android