我尝试用朗道分布生成1000个值,MPV(最大可能值)为25,在scipy或numpy中找不到landau随机数生成器。我尝试了pylandau {pip install pylandau},但这似乎只适合landau,而不是生成随机数。任何这样做的方法在python或pyroot中都受欢迎。
pip install pylandau
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())
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
2条答案
按热度按时间mpgws1up1#
程序包pylandau只是计算朗道函数的值。它可以用于拟合、随机数生成等。您似乎想知道如何从一个分布生成随机数,如另一个问题here所回答的。下面的示例从朗道分布创建100个随机值:
e5nqia272#
landaupy实现了朗道(和Langauss)分布的纯Python实现,并允许生成随机样本。
您可以使用