scipy 朗道随机数发生器

mbyulnm0  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(237)

我尝试用朗道分布生成1000个值,MPV(最大可能值)为25,在scipy或numpy中找不到landau随机数生成器。我尝试了pylandau {pip install pylandau},但这似乎只适合landau,而不是生成随机数。任何这样做的方法在python或pyroot中都受欢迎。

mpgws1up

mpgws1up1#

程序包pylandau只是计算朗道函数的值。它可以用于拟合、随机数生成等。您似乎想知道如何从一个分布生成随机数,如另一个问题here所回答的。下面的示例从朗道分布创建100个随机值:

import numpy as np
import pylandau

x = np.arange(-1, 1, 0.01)
y = pylandau.landau(x)
random_values = np.random.choice(x, size=100, p=y / y.sum())
e5nqia27

e5nqia272#

landaupy实现了朗道(和Langauss)分布的纯Python实现,并允许生成随机样本。

from landaupy import landau

samples = landau.sample(x_mpv=25, xi=1, n_samples=1000)

您可以使用

pip install git+https://github.com/SengerM/landaupy

相关问题