Генерировать числа случайным образом из набора?
В MATLAB у меня есть наборP
номера. Я хотел бы создать случайный массив размераN
из этого набора.
Для примера, скажем, у меня есть набор{1, 4}
, Допустим, я хотел бы создать массив размера5
(например.,[1 1 4 1 4]
).
Я сделал следующее: я сгенерировал следующий массив, используяrandi
.
N = 5;
v = randi([1 4],[1 N]);
Проблема в том, что я получил случайный массив, который содержит значения в1:4
и не в{1, 4}
, Я могу просто сделать это, но мне нужен лучший способ.
for i = 1:length(v)
if v(i) ~= 1 || v(i) ~= 4
v(i) = 1; % or v(i) = 4
end
end
Я думаю, что мне здесь не хватает простого намека.