首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制随机数迭代列表

绘制随机数迭代列表
EN

Stack Overflow用户
提问于 2020-10-06 13:25:42
回答 1查看 70关注 0票数 0

假设我有一个列表

代码语言:javascript
复制
[1,2,4]

我定义了最大值z_max = 4dz = 0.5,所以是k = z_max/dz = 8。显示以下间隔的图表

实际上,我的伪代码如下所示:

第一个区间r1中的

  1. 画一个随机数(0,1)

第二区间r2中的

  1. 画出一个新的随机数(1,2)

第三区间r3中的

  1. 画出一个新的随机数(2,4)

[r1,r1,r2,r2,r3,r3,r3,r3]

  1. 创建具有k元素的列表

我认为你必须从计算列表中的间隔开始

代码语言:javascript
复制
list1 = [1,2,4]
list1_diff = np.diff(list1)
#Append first interval missed
print(np.insert(list1_diff,0,1))
代码语言:javascript
复制
[1,1,2]

这个列表是列表中的间隔长度。现在我需要用dz除以列表中的每个元素,以找出我应该画多少次(k次)并重复一个随机数。如何使用python列表生成

代码语言:javascript
复制
[r1,r1,r2,r2,r3,r3,r3,r3]

r1r2r3在哪里是N(0,1)随机数?我想指向正确的方向.我被困住了。

EN

回答 1

Stack Overflow用户

发布于 2020-10-10 22:42:24

这就是我对你的问题的理解:

list1

  • You中不小于1的整数列表,dz

  • I假设list1中相邻整数除以dz返回数与整数size_diff

  • this size_diff之间的差异是希望从result_list

中的正态分布中抽取一个随机数的次数。

代码语言:javascript
复制
import numpy as np

dz = .5
list1 = [1, 2, 4]
result_list = []

# insert 0 for first interval
list1.insert(0, 0)

for i in range(len(list1)-1):
    start = list1[i]
    end = list1[i+1]
    diff = end - start
    size_diff = int(diff / dz)
    random_nr = np.random.normal(0, 1)
    result_list.extend([random_nr]*size_diff)

print(result_list)

使用自己的风险,但我希望这是一个有用的提示对你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64226779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档