У меня есть PDF:
$$ P(\varepsilon) = \frac{1}{4k} \mathrm{sech}^2 \frac{\varepsilon}{2k}$$
CDF:
$$ CDF(\varepsilon) = \frac{\tanh(\frac{\varepsilon}{2k})}{2} $$
и обратный CDF:
$$ CDF^{-1}(c) = \frac{c}{2\tanh^{-1}(2k_BT)} $$
Теперь, что я должен сделать, чтобы сгенерировать N выборок, с моим PDF P (\ varepsilon) с заданным k?
Вот что у меня есть:
import numpy as np
def sampleConduction(N, kT):
for i in range(N):
c = np.random.random()
list = [c]
print('list=',list)
g = np.column_stack(list)
print('g=',g)
d = np.arctanh(2*list)+2*kT
return d
sampleConduction(3,0.1)
Результат этого кода:
list= [0.7687170402304889]
list= [0.24759083266582882]
list= [0.18334770166799108]
g= [[0.1833477]]
array([0.38544466, 0.38544466]) # d
Я хотел объединить 3 списка в один, но не удалось с помощью np.column_stack ().Что мне делать дальше?
Большое спасибо!