Генерация случайных чисел в Omnet++

Я равномерно распределил узлы датчиков, используя intuniform (0,1000);Однако каждый раз, когда я запускал симуляцию с самого начала, все узлы датчиков размещались в одной и той же позиции. Затем я использовал srand(time(NULL)), результат снова тот же. Например, при первом запуске sn[1 ] позиция (150, 167), она такая же во втором запуске. Я хочу изменить ее. Программа не должна ее запоминать. Спасибо за вашу помощь.


person ekn    schedule 05.12.2015    source источник


Ответы (1)


OMNeT++ использует генераторы псевдослучайных чисел, отличные от стандартных C++. Основная особенность OMNeT++ заключается в том, что выполнение одной и той же симуляции дважды дает точно такой же результат. Функция srand изменяет только начальное значение стандартного генератора C++. Вы также можете изменить начальное число генераторов OMNeT++, но, скорее всего, вы захотите начать другой запуск моделирования. Это автоматически использует другое (хорошо выбранное) семя.

person Christoph Sommer    schedule 06.12.2015