Python:生成具有高斯分布的一维粒子场的好方法是什么?

计算科学 Python 统计数据 可能性
2021-12-06 16:54:30

如果我有 N 个粒子,我如何分配它们的 x 值,以便最终结果是高斯分布。即靠近末端的粒子比靠近中心的粒子更分散。

2个回答

这不是随机采样点,而是确定性地选择代表点。

scipy.stats.norm.ppf(np.linspace(0, 1, 1000+2)[1:-1])

NumPy 带有一个漂亮的随机库,具有各种分布,包括正态(高斯)

从 Numpy 文档中:

mu, sigma = 0, 0.1 # mean and standard deviation
s = np.random.normal(mu, sigma, 1000)

这将为您提供 1000 个具有平均 mu 和标准偏差 sigma 的正态分布值。