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回调函数的使用方法
Jan 23 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
Apr 08 Python
Python中DJANGO简单测试实例
May 11 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
python障碍式期权定价公式
Jul 19 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
python opencv 检测移动物体并截图保存实例
Mar 10 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
Pytest单元测试框架如何实现参数化
Sep 05 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
php 发送带附件邮件示例
2014/01/23 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
jQuery ajax时间差导致的变量赋值问题分析
2016/01/22 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
基于游标的分页接口实现代码示例
2018/11/12 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
python从ftp下载数据保存实例
2013/11/20 Python
分析python服务器拒绝服务攻击代码
2014/01/16 Python
收集的几个Python小技巧分享
2014/11/22 Python
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
绿色美容,有机护肤品和化妆品:Safe & Chic
2018/10/29 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
护士个人总结范文
2015/02/13 职场文书
2015年质检工作总结
2015/05/04 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书