Есть ли способ в Matlab использовать генератор псевдо-чисел для генерации чисел в определенном диапазоне? - PullRequest
4 голосов
/ 28 января 2010

Например:

round(7*rand(1,5))

Создает 5 чисел от 1 до 7 Есть ли способ сгенерировать 5 случайных чисел от 5 до 7? Или это абстракция?

Ответы [ 2 ]

10 голосов
/ 28 января 2010

В целом:

minInt = 5;
maxInt = 7;
numInts = 10;

r = randi([minInt, maxInt],[1,numInts])

r =

 6     7     7     7     6     5     5     5     7     5
5 голосов
/ 28 января 2010

Во-первых, если вы хотите сгенерировать случайные целые значения, лучше использовать функцию RANDI . Тогда это просто вопрос сдвига и масштабирования случайных чисел соответственно. Следующее должно дать вам случайные целые числа от 5 до 7 включительно:

nums = randi(3,[1 5])+4;

РЕДАКТИРОВАТЬ: Как отмечают комментарии Амро и ответ Дуга , существует более простое решение, в котором вы можете указать диапазон непосредственно в качестве первого аргумента для RANDI :

nums = randi([5 7],[1 5]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...