Функция setRandom в библиотеке матриц Eigen заполняет заданную матрицу случайными числами в диапазоне [-1,1]. Как я могу расширить это для генерации чисел в любом заданном диапазоне? Мне нужны числа с плавающей запятой, и меня устраивает псевдослучайность.
Я пробовал сделать следующее:
Код: Выделить всё
B = LO + A.cast().array()/(static_cast (RAND_MAX)/(HI-LO));
Здесь A — рассматриваемая матрица, а [LO,HI] — диапазон, который я хочу ее заполнить. Проблема в том, что значение RAND_MAX для меня равно 2147483647, и это портит весь расчет.
Любая помощь очень ценится.>
Подробнее здесь:
https://stackoverflow.com/questions/358 ... iven-range