Как имитировать выбор случайного фотона из всего спектра излучения

python

#python

Вопрос:

Я пытаюсь написать программу, которая будет имитировать фотон, испускаемый из этого спектра излучения

Если я выполню этот код миллион раз, результирующие энергии фотонов должны быть в состоянии воспроизвести указанный график, но каждый из них должен быть случайным. Это не обязательно должно быть очень точным, это просто для приближения. Я пишу это на python.

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Сначала вам нужно дискретизировать распределение. Например, вместо выбора из непрерывного интервала [0, 60.5), вы будете выбирать из дискретного набора значений [0, 0.01, 0.02, ..., 60.49] . (Форма вашего распределения покажет вам, насколько точным должно быть каждое значение.)

Далее вам нужно связать вес с каждым значением. Это просто значение y при заданной координате x.

Наконец, используйте random.choices для выбора x значения в соответствии с весами, выбранными выше.