随机漫步
来源:互联网 发布:三国志9pk版优化伴侣 编辑:程序博客网 时间:2024/04/28 04:59
#encoding:utf-8from random import choiceimport matplotlib.pyplot as pltclass RandomWalk(): '''一个生成随机漫步数据的类''' def __init__(self, num_points = 50000): '''初始化随机漫步的属性''' self.num_points = num_points #所有随机漫步都始于(0,0)_ self.x_values = [0] self.y_values = [0] def fill_walk(self): '''计算随机漫步包含的所有的点''' #不断漫步,直到列表达到指定的长度 while len(self.x_values) < self.num_points: x_step = self.get_walk() y_step = self.get_walk() #拒绝原地踏步 if x_step == 0 and y_step == 0: continue #计算下一个点的x和y值 next_x = self.x_values[-1] + x_step next_y = self.y_values[-1] + y_step self.x_values.append(next_x) self.y_values.append(next_y) def get_walk(self): direction = choice([1, -1]) distance = choice([0, 1, 2, 3, 4]) step = direction * distance return stepwhile True: rw = RandomWalk() rw.fill_walk() #设置绘图窗口的尺寸 plt.figure(dpi = 128, figsize = (10, 6)) #dpi为分辨率,figsize为窗口尺寸 #绘制点并将图形显示出来 point_numbers = list(range(rw.num_points)) plt.scatter(rw.x_values, rw.y_values, c = point_numbers, cmap = plt.cm.Blues, edgecolor = 'none', s = 1) plt.scatter(0, 0, c = 'green', edgecolors = 'none', s = 100) #重新绘制起点和终点 plt.scatter(rw.x_values[-1], rw.y_values[-1], c = 'green', edgecolors = 'none', s = 100) #隐藏坐标轴 plt.axes().get_xaxis().set_visible(False) plt.axes().get_yaxis().set_visible(False) plt.show() keep_running = input("Make another walk? (y/n): ") if keep_running == 'n': break
阅读全文
1 0
- 随机漫步
- 随机漫步理论
- 随机漫步Random Walks
- 随机漫步(random walk)
- 随机漫步模拟
- matplotlib-随机漫步
- python实现随机漫步
- 随机漫步模型及其实现
- 随机漫步——散点图
- “随机漫步”(Random Walk)模拟演示
- 随机漫步问题 :醉酒的蟑螂
- 【Python-3.5】绘制随机漫步图
- c++学习日记之使用类来模拟随机漫步
- 第4章-1 一次模拟多个随机漫步
- 再谈重载:一个矢量类(随机漫步)
- 漫步数理统计二十一——变换:随机向量
- python数据可视化——散点图实例之随机漫步
- 使用Python的matplotlib库生成随机漫步图
- 计算角度
- maven3.5.2 官网下载与环境变量配置
- oracle中的字符串和注释
- MySQL分组后进行计算,计算后再取最新值或最旧值的超简捷写法
- Linux的文件权限和目录配置
- 随机漫步
- 用户、组、权限
- 使用剩余的瓷砖的最好方法三个
- 支付宝 APP支付异步回调验签失败 PHP
- 第十篇论文读后总结-GiniClust(基尼聚类)
- (原创)Android多语言适配_app内修改语言
- HDOJ 1862 EXCEL排序(比较器)
- 汇总目录(一)
- GG和MM