首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以在开放区间上从均匀分布中抽出一个随机值吗?

我可以在开放区间上从均匀分布中抽出一个随机值吗?
EN

Stack Overflow用户
提问于 2020-02-13 01:09:22
回答 1查看 374关注 0票数 1

我想使用numpy从开放范围(0,5)的连续均匀分布中提取一个随机值。我的目光落在了numpy.random.uniform(0,5)上。然而,根据文档和一些帖子,这包括封闭区间0,5或半开放区间[0,5]。

我已经看了很多帖子,到目前为止还没有找到好的答案。到目前为止,答案包括:你不需要使用完全开放的范围,因为绘制开始和结束值几乎是不可能的(仅在理论上),或者关于它实际上是半开放还是完全封闭存在争议。到目前为止,我想到的最好的解决方案是:

代码语言:javascript
运行
复制
import numpy as np
rn = np.random.uniform(sys.float_info.epsilon, 5-sys.float_info.epsilon)
print(rn)

或者使用numpy的next_after:

代码语言:javascript
运行
复制
import numpy as np
rn = np.random.uniform(np.nextafter(0,1), np.nextafter(5,0))
print(rn)

显然,如果我没有一个非常好的理由(在理论上)从一个完全开放的范围内进行绘制,我就不会打扰每个人。我真的很欣赏这样的想法,即我如何合理地论证我是从完全开放的区间(0,5)上的连续均匀分布中提取一个随机值。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-02-13 01:23:06

如果检查rn == 0并拒绝它呢?

代码语言:javascript
运行
复制
rn = np.random.uniform(5)
while rn == 0.0:
   rn = np.random.uniform(5)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60193673

复制
相关文章

相似问题

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