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程序运行效率的6个方法
Mar 31 Python
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
浅谈Python中数据解析
May 05 Python
使用python绘制常用的图表
Aug 27 Python
python opencv实现任意角度的透视变换实例代码
Jan 12 Python
python3 判断列表是一个空列表的方法
May 04 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Linux下python3.6.1环境配置教程
Sep 26 Python
python 字符串只保留汉字的方法
Nov 16 Python
对python 命令的-u参数详解
Dec 03 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
pytorch SENet实现案例
Jun 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
如何解决PHP无法实现多线程的问题
2015/09/25 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
JS版元素周期表实现方法
2015/08/05 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
9个JavaScript日常开发小技巧
2020/10/06 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python操作 hbase 数据的方法
2016/12/18 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
天网面试题
2013/04/07 面试题
彩色的非洲教学反思
2014/02/18 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
远程培训的心得体会
2014/09/01 职场文书
六五普法宣传标语
2014/10/06 职场文书
鸡毛信观后感
2015/06/11 职场文书
校运会加油稿大全
2015/07/22 职场文书
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL