моноэнергетический гамма-луч свободный путь - PullRequest
0 голосов
/ 25 мая 2018

Я пишу код о моноэнергетическом гамма-пучке, в котором доминирующим взаимодействием является фотоэлектрическое поглощение, мю = 2 см-1, и мне нужно сгенерировать 50000 случайных чисел и определить глубину взаимодействия (чего я не знаю, еслия сделал это или нет).Я знаю, что средний свободный путь = mu-1, но мне нужно найти средний свободный путь из симуляции и из mu и сравнить их, это то, что я сделал в коде правильно или нет?

import random
import matplotlib.pyplot as plt
import numpy as np

mu=(2)
random.seed=()
data = np.random.randn(50000)*10
bins = np.arange(data.min(), data.max()+1e-8, 0.1)
meanfreepath = 1/mu
print(meanfreepath)
plt.hist(data, bins=bins)
plt.show()

1 Ответ

0 голосов
/ 25 мая 2018

Ну, распределение глубины взаимодействия составляет Экспоненциальное единица, а не гауссиан.

Так что код будет

lmbda = 2 # cm^-1
beta  = 1.0/lmbda

data = np.random.exponential(scale=beta, size=50000)
mfp = np.mean(data)
print(mfp)

# build histogram

Подробнее на https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.random.exponential.html

Код выше произведен

0.4977168417102998

, который для меня выглядит как 2 -1

...