提问人:My Name 提问时间:4/6/2023 更新时间:5/25/2023 访问量:99
是否可以使两个随机值的总和均匀分布?
Is it possible to make the sum of two random values a uniform distribution?
问:
我正在尝试使 Perlin Octaves 产生噪声,但为了获得值,我有一个随机值网格。每个网格方块都会得到一个随机值 [-0.5, 0.5],该值相加得到潜在的高度值 [-1, 1]。
我遇到的问题是,由于我添加了两个随机值,因此结果值分布不均匀。通常我不会在意,但是因为我添加了多个具有不同权重的八度音阶,因此效果会放大,并且聚集在 0 左右。
但是,如果我可以使值的总和均匀分布,它应该有助于停止聚类。
我尝试将生成的高度值乘以一个常数以使其更接近范围 [-1, 1],但它太不可预测了,我希望它自己定期返回一个值 [-1, 1] 而不进行调整。我还尝试将八度的权重函数从 (.5, .25, .125, .0625) 更改为 (.5, .25, .125, .0625),但是虽然其他权重使它看起来不那么聚集,但这也只是因为它等同于乘以一个常数。
答:
我认为这是不可能的。
基本上,你有卷积定理,它指出两个变量之和的 PDF 是 PDF 的卷积。请参阅底部。
这可以通过傅里叶变换计算。所以 PDF1 将具有 F[PDF1],然后 F[PDF2] 也是如此,结果将是
F[PDF总和] = F[PDF1]*F[PDF2]
我尝试了,我采用了均匀 U01 RV(也称为特征函数)的傅里叶变换,并尝试获取 if 的 Sqrt 并将其变换回来
这个想法是,如果你将其中两个 Sqrt 相乘,你会得到 U01 傅里叶图像,并将其转换回来会得到 U01 PDF。就像把这个卷积的想法跑回来一样
Mathematica 无法找到傅里叶 U01 图像的 Sqrt 的逆傅里叶变换,看起来它不会收敛
更新
这里提供了包括U(0,1)在内的几个已知分布的特征函数。
我用 Mathematica 验证了它。然后我取了它的平方根,并试图得到逆傅里叶变换图像。Mathematica 拒绝这样做,说它不会收敛。
评论