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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage