Zahlen zufällig aus einer Menge generieren?
In MATLAB habe ich eine Reihe vonP
Zahlen. Ich möchte ein zufälliges Array der Größe erzeugenN
aus diesem Satz.
Zum Beispiel, lassen Sie uns sagen, ich habe die Menge{1, 4}
. Angenommen, ich möchte ein Array mit der Größe @ generiere5
(z.B.,[1 1 4 1 4]
).
Was ich getan habe ist das: Ich habe das folgende Array mit @ generierandi
.
N = 5;
v = randi([1 4],[1 N]);
Das Problem ist, dass ich ein zufälliges Array habe, das Werte in @ enthä1:4
und nicht in{1, 4}
. Ich kann das einfach machen, aber ich brauche einen besseren Weg.
for i = 1:length(v)
if v(i) ~= 1 || v(i) ~= 4
v(i) = 1; % or v(i) = 4
end
end
Ich denke, ich vermisse hier einen einfachen Hinweis.