Подтвердить что ты не робот

Генерировать случайное число в определенном диапазоне в MATLAB

Как я могу создать случайное число в MATLAB между 13 и 20?

4b9b3361

Ответ 1

Если вы ищете равномерно распределенные псевдослучайные целые числа, используйте:

randi([13, 20])

Ответ 3

r = 13 + 7.*rand(100,1);

Где 100,1 - размер искомого вектора

Ответ 4

ocw.mit.edu - отличный ресурс, который мне помог. randi - лучший вариант, но если вы вновете интересный номер, попробуйте использовать функцию floor с rand, чтобы получить то, что вы хотите.

Я нарисовал цифровую строку и придумал

floor(rand*8) + 13

Ответ 5

Вы также можете использовать:

round(mod(rand.*max,max-1))+min

Ответ 6

Создать значения из равномерного распределения на      интервал [a, b].

      r = a + (b-a).*rand(100,1);

Ответ 7

если вы хотите сгенерировать все числа в пределах определенного ранга случайным образом, то вы можете попробовать

r = randi([a b],1,d)

a= начальная точка

b= конечная точка

d= сколько чисел вы хотите сгенерировать, но имейте в виду, что d должно быть меньше или равно ba

Ответ 8

Лучшее решение - randint, но эта функция randint целые числа.

Вы можете использовать rand с функцией округления

  r = round(a + (b-a).*rand(m,n));

В результате получается реальное случайное число между a и b, размер выходной матрицы m * n

Ответ 9

Если вам нужно плавающее случайное число от 13 до 20

(20-13).*rand(1) + 13

Если вам нужно целое число от 13 до 20

floor((21-13).*rand(1) + 13)

Примечание: исправьте проблему, упомянутую в комментарии "Это исключает 20", заменив 20 на 21