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 26 Python
两个使用Python脚本操作文件的小示例分享
Aug 27 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
解决python3 Pycharm上连接数据库时报错的问题
Dec 03 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
Python : turtle色彩控制实例详解
Jan 19 Python
python实现ip地址的包含关系判断
Feb 07 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
Window10上Tensorflow的安装(CPU和GPU版本)
Dec 15 Python
用Python写一个简易版弹球游戏
Apr 13 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
php阻止页面后退的方法分享
2014/02/17 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
jQuery实现的AJAX简单弹出层效果代码
2015/11/26 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python随机生成数模块random使用实例
2015/04/13 Python
Python打印输出数组中全部元素
2018/03/13 Python
python 获取字符串MD5值方法
2018/05/29 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python二元表达式用法
2019/12/04 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Python 实现一个计时器
2020/07/28 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
Java中实现多态的机制是什么?
2014/12/07 面试题
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
坎儿井导游词
2015/02/09 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL