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 10 Python
shell命令行,一键创建 python 模板文件脚本方法
Mar 20 Python
使用pandas读取文件的实现
Jul 31 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
python输出结果刷新及进度条的实现操作
Jul 13 Python
Python3如何在服务器打印资产信息
Aug 27 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
python脚本第一行如何写
Aug 30 Python
python实现高效的遗传算法
Apr 07 Python
python和anaconda的区别
May 06 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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
有关PHP中MVC的开发经验分享
2012/05/17 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
Python 正则表达式实现计算器功能
2017/04/29 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
python八大排序算法速度实例对比
2017/12/06 Python
python操作mysql代码总结
2018/06/01 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
python调试神器PySnooper的使用
2019/07/03 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python xpath表达式如何实现数据处理
2020/06/13 Python
彻底解决Python包下载慢问题
2020/11/15 Python
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
大专生自我鉴定怎么写
2014/09/16 职场文书
建筑横幅标语
2014/10/09 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers