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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
Dec 11 Python
python使用tkinter实现简单计算器
Jan 30 Python
Python3中的json模块使用详解
May 05 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
Nov 25 Python
Python3如何在Windows和Linux上打包
Feb 25 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
简单的Python人脸识别系统
Jul 14 Python
python设置表格边框的具体方法
Jul 17 Python
python爬取股票最新数据并用excel绘制树状图的示例
Mar 01 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 Cookie的使用教程详解
2013/06/03 PHP
php格式文件打开的四种方法
2018/02/24 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
layui table 参数设置方法
2018/08/14 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python如何将图片转换为字符图片
2020/08/19 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Python PIL库图片灰化处理
2020/04/07 Python
Fanatics法国官网:美国体育电商
2019/08/27 全球购物
如何执行一个shell程序
2012/11/23 面试题
企业厂长岗位职责
2013/12/17 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
人事任命书范文
2014/06/04 职场文书