Основная теорема выборки гласит, что если вы можете нормализовать, интегрировать и инвертировать желаемое распределение, вы свободны дома.
Если у вас есть желаемое распределение F(x)
, нормализовано на [a,b]
. Вы вычисляете
C(y) = \int_a^y F(x) dx
инвертируйте, чтобы получить C^{-1}
, равномерно бросьте z
на [0,1) и найдите
x_i = C^{-1}(z_i)
, который будет иметь желаемое распределение.
В вашем случае: F(x) = ke^{-kx}
и я буду считать, что вы хотите [0,infinity]
. Мы получаем:
C(y) = 1 - e^{-ky}
, который является обратимым, чтобы дать
x = -1/k ln(1 - z)
для z, выброшенного равномерно на [0,1)
.
Но, честно говоря, использование хорошо отлаженной библиотеки разумнее, если вы не делаете это для своего собственного назидания.