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使用Queue在多个子进程间交换数据的方法
Apr 18 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
Python Json序列化与反序列化的示例
Jan 31 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
对Python w和w+权限的区别详解
Jan 23 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
Python+Opencv实现把图片、视频互转的示例
Dec 17 Python
只用40行Python代码就能写出pdf转word小工具
May 31 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
php实现两个数组相加的方法
2015/02/17 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
Python yield 使用方法浅析
2017/05/20 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
Python实现自动装机功能案例分析
2020/10/22 Python
python实现简单文件读写函数
2021/02/25 Python
瑞士图书网站:Weltbild.ch
2019/09/17 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
羽毛球社团活动总结
2014/06/27 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
学校捐书倡议书
2015/04/27 职场文书
公司转让协议书
2016/03/19 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python