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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
Python中apply函数的用法实例教程
Jul 31 Python
跟老齐学Python之赋值,简单也不简单
Sep 24 Python
Python中使用PIL库实现图片高斯模糊实例
Feb 08 Python
详解python之配置日志的几种方式
May 22 Python
python素数筛选法浅析
Mar 19 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
Python列表切片操作实例总结
Feb 19 Python
Django 博客实现简单的全文搜索的示例代码
Feb 17 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Pytorch实现将模型的所有参数的梯度清0
Jun 24 Python
python在linux环境下安装skimage的示例代码
Oct 14 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获取MAC地址的函数代码
2011/09/11 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Python 查看文件的编码格式方法
2017/12/21 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
.net开发工程师面试题
2014/02/25 面试题
报告会主持词
2014/04/02 职场文书
升学宴主持词
2014/04/02 职场文书
党员大会主持词
2014/04/02 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
2014年初中班主任工作总结
2014/11/08 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
养成教育工作总结
2015/08/13 职场文书
关于教师节的广播稿
2015/08/19 职场文书
读《方与圆》有感:交友方圆有度
2020/01/14 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android