Ответ 1
Если вы ищете равномерно распределенные псевдослучайные целые числа, используйте:
randi([13, 20])
Как я могу создать случайное число в MATLAB между 13 и 20?
Если вы ищете равномерно распределенные псевдослучайные целые числа, используйте:
randi([13, 20])
http://www.mathworks.com/help/techdoc/ref/rand.html
n = 13 + (rand(1) * 7);
r = 13 + 7.*rand(100,1);
Где 100,1 - размер искомого вектора
ocw.mit.edu - отличный ресурс, который мне помог. randi - лучший вариант, но если вы вновете интересный номер, попробуйте использовать функцию floor с rand, чтобы получить то, что вы хотите.
Я нарисовал цифровую строку и придумал
floor(rand*8) + 13
Вы также можете использовать:
round(mod(rand.*max,max-1))+min
Создать значения из равномерного распределения на интервал [a, b].
r = a + (b-a).*rand(100,1);
если вы хотите сгенерировать все числа в пределах определенного ранга случайным образом, то вы можете попробовать
r = randi([a b],1,d)
a
= начальная точка
b
= конечная точка
d
= сколько чисел вы хотите сгенерировать, но имейте в виду, что d должно быть меньше или равно ba
Лучшее решение - randint
, но эта функция randint
целые числа.
Вы можете использовать rand
с функцией округления
r = round(a + (b-a).*rand(m,n));
В результате получается реальное случайное число между a и b, размер выходной матрицы m * n
Если вам нужно плавающее случайное число от 13 до 20
(20-13).*rand(1) + 13
Если вам нужно целое число от 13 до 20
floor((21-13).*rand(1) + 13)
Примечание: исправьте проблему, упомянутую в комментарии "Это исключает 20", заменив 20 на 21