相关疑难解决方法(0)

将均匀分布转换为正态分布

如何将均匀分布(大多数随机数生成器产生,例如介于0.0和1.0之间)转换为正态分布?如果我想要选择的平均值和标准偏差怎么办?

language-agnostic random algorithm normal-distribution

98
推荐指数
6
解决办法
10万
查看次数

C#中分形Perlin噪声函数的均匀分布

我的Perlin噪声函数(在0.75持续时间内将3D单形的6个八度音阶加起来)生成一个doubles 的2D数组.

这些数字各自归一化为[-1,1],均值为0.我钳制它们以避免异常,我认为这是由于浮点精度问题,但我相当确定我的缩放因子足够好在理想情况下,将噪声输出限制在这个邻域.

无论如何,这都是细节.关键是,这是一个256乘256的噪音阵列:

在此输入图像描述

具有正常拟合的直方图如下所示:

在此输入图像描述

Matlab lillietest是一个函数,它应用Lilliefors测试来确定一组数字是否来自正态分布.我的结果反复是1,这意味着这些数字不是正态分布的.

我想要一个函数f(x),当应用于我的噪声函数的值列表时,结果看起来是均匀分布的.

我希望这个函数可以在C#中实现,而不需要花费几分钟来运行.

再一次,数字的来源无关紧要(问题在于将一个分布转换为另一个分布,特别是正常的分布到均匀分布).不过,我的噪音功能实现基于.您可以在此处找到上述值数组.

c# random statistics probability perlin-noise

10
推荐指数
1
解决办法
3010
查看次数