Как я могу генерировать случайные точки в данной сетке, используя функцию ранда MATLAB? - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь сгенерировать случайные точки на сетке 18 на 16 с х в диапазоне от -9 до 9 и у от -8 до 8.
Я должен сделать это с помощью функции rand MATLAB для генерации двух чисел
от 0 до 1 (один для x и один для y-координаты), а затем масштабируйте его до размера сетки. Как мне это сделать? Я знаю, что есть более простые способы сделать это, но я должен это сделать. Спасибо!

1 Ответ

0 голосов
/ 07 января 2019

Следующий код поможет вам выполнить то, что вы хотите

%% initialization

L=18; % Length of the grid
W=16; % Width of the grid
random_points=randi(2,L,W)-1; % generating random 0-1 on an L*W grid

%% plotting the random points on grid

for i=1:L
    for j=1:W
        if random_points(i,j)==1
            plot(i,j,'bo')
            hold on
        else
            plot(i,j,'r.')
            hold on
        end
    end
end

также анимация того, как приведенный выше код приводит к случайной сетке, может быть создана с использованием следующего кода

%% initialization

L=18; % Length of the grid
W=16; % Width of the grid

%% generating and plotting the random points on the grid forever

while 1

random_points=randi(2,L,W)-1; % generating random 0-1 on an L*W grid
for i=1:L
    for j=1:W
        if random_points(i,j)==1
            plot(i,j,'bo')
            hold on
        else
            plot(i,j,'r.')
            hold on
        end
    end
end

pause(0.01)
hold off
end

p.s. если вы хотите остановить выполнение кода, просто нажмите Ctrl+C в Командном окне .

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