生成具有给定元素数量和错误级别的已定义 Min、Max、Mean 和 Stdev 的随机数数组
Posted
技术标签:
【中文标题】生成具有给定元素数量和错误级别的已定义 Min、Max、Mean 和 Stdev 的随机数数组【英文标题】:Generation of an array of Random numbers with defined Min, Max, Mean and Stdev with given number of elements and error level 【发布时间】:2010-03-29 08:30:16 【问题描述】:我想生成一个随机数数组,其中定义了 Min、Max、Mean 和 Stdev,并具有给定的元素数量和错误级别。 C、C++、php 或 Python 中有这样的库吗?请多多指教。谢谢!
【问题讨论】:
你的意思是随机数数组吗? 随机数组还是“只是一个数组”? 满足给定约束的随机数:Min、Max、Mean、Stdev、错误级别和定义的元素数。 我输了 2 票。这太苛刻了。 【参考方案1】:Boost C++ random number library 可以做一些你想做的事,当然你可以用一些分布选择分布的模态值。这就是我在自己的代码中所需要的,所以我从未进一步调查。该库不生成数组 - 您通常会使用 C++ std::vector
来包含随机数生成的结果。
【讨论】:
@Vliet 如果您对生成随机数据(而不仅仅是数字)感兴趣,您可能想看看我在code.google.com/p/csvtest 的 FOSS 项目,尽管它不能满足您的问题.【参考方案2】:如果你想使用python,那么我建议你使用numpy。
http://docs.scipy.org/doc/numpy/reference/routines.random.html
您可能会找到许多满足您需求的发行版,但也许您可以从 beta 发行版中抽样并重新调整值以满足您的需求。你的代码最终会是这样的
a1, a2 = ....
temp_array = numpy.random.beta(a1, a2, array_size)
answer = temp_array*(max_value-min_value) + min_value
如果您选择这种方法,那么您需要做一些工作来找到 a1 和 a2 的公式。
【讨论】:
以上是关于生成具有给定元素数量和错误级别的已定义 Min、Max、Mean 和 Stdev 的随机数数组的主要内容,如果未能解决你的问题,请参考以下文章
找到最大强度给定要在左右跳过的元素数量。请告诉我为啥我的代码对某些测试用例给出了错误的输出?