我想在PL / Sql中生成正态分布 - Oracle。我知道我们可以通过dbms_random生成这种分布,但是我想指定正常函数的参数(间隔,平均值,标准偏差)。
是否有一种简单的方法可以生成此分布,还是应该编写自己的函数?
由于
答案 0 :(得分:5)
如果要从任意正态分布生成数字,则只有两个有意义的参数,即均值和标准差。我不确定你想要指定什么“间隔”,除非你想要产生截断的分布。
给定一个标准正态分布的数字(平均值为0,标准差为1,即dbms_random.normal
返回的值),将它转换为任意正态分布是非常简单的。只需乘以您想要的标准偏差并添加您想要的平均值即可。如果你想通过截断特别高或低的值来使分布非正常,你也可以这样做。