генератор случайных чисел с плавающей точкой в ​​Matlab? - PullRequest
2 голосов
/ 01 марта 2012

Я сгенерировал фигуру размером 4 x 4 в matlab.Теперь мне нужно расположить более 200 точек (собственно движущегося устройства) в этой области случайным образом, но равномерно распределенных по всей области 4 x 4.Я использую следующую строку, чтобы случайным образом сгенерировать координаты x и y, чтобы выбрать место для каждой из разных точек.

a =200;
x_base = randi([1 5], 1, a);
b = rand([10 8], 1);
 y_base = randi([3 7],1, a);

С помощью приведенного выше кода я могу получить только целочисленные координаты для x и y.Следовательно, я не могу распределить точки равномерно по всей области.Это потому, что я использую функцию Рэнди, которая генерирует только целые числа.Я хотел бы знать, есть ли способ генерирования чисел с плавающей запятой случайным образом, чтобы я мог распределить точки более равномерно?

Я ищу случайные числа с плавающей запятой в диапазоне от 1 до 20.

Ответы [ 3 ]

5 голосов
/ 01 марта 2012

rand

Генерирует число от 0 до 1.

rand(m,n) генерирует массив таких чисел m-by-n.

2 голосов
/ 01 марта 2012

Вы хотите выбрать n случайные точки в области 4x4 от (0, 0) до (4, 4)?

unifinv(rand(n, 2), 0, 4)
2 голосов
/ 01 марта 2012
   minVal = 1;
   maxVal = 20;
   r = rand(1) * (maxVal - minVal) + minVal
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...