Zufällige Permutation mit MATLAB

Ammar Ali 20 Januar 2022
Zufällige Permutation mit MATLAB

Dieses Tutorial behandelt das Generieren von Vektoren, die eine zufällige Permutation von ganzen Zahlen enthalten, mit der Funktion randperm() in MATLAB.

Generieren von Vektoren mit zufälliger Permutation von ganzen Zahlen mit der Funktion randperm() in MATLAB

Wir können die in MATLAB eingebaute Funktion randperm() verwenden, um Vektoren zu generieren, die eine zufällige Permutation von ganzen Zahlen enthalten. Wir können die größte ganze Zahl im Abtastintervall in der Funktion randperm() definieren, und die kleinste ganze Zahl im Abtastintervall ist standardmäßig eins.

Lassen Sie uns zum Beispiel mit der Funktion randperm() sechs ganze Zahlen zwischen 1 und 6 generieren. Siehe den Code unten.

clc
v = randperm(6)

Ausgabe:

v =

     3     5     6     1     4     2

Die Ausgabe ändert sich, wenn wir diesen Code erneut ausführen, da diese Werte zufällig sind. Wir können die Anzahl der zufälligen Permutationszahlen mit dem zweiten Argument der Funktion randperm() definieren.

Wir können nur eine Zahl kleiner oder gleich dem ersten Argument definieren, da die generierten Zahlen eindeutig sind und nicht wiederholt werden können. Wenn wir eine Zahl definieren, die größer als das erste Argument ist, zeigt MATLAB einen Fehler an.

Lassen Sie uns zum Beispiel mit der Funktion randperm() zwei zufällige Permutationszahlen zwischen 1 und 6 generieren. Siehe den Code unten.

clc
v = randperm(6,2)

Ausgabe:

v =

     1     3

Nur zwei Zahlen in der Ausgabe ändern sich, wenn wir den Code erneut ausführen, da die generierten Zahlen zufällig sind. Mit der Funktion rng können wir auch den Zustand eines Zufallszahlengenerators speichern.

Der zuvor gespeicherte Zustand kann verwendet werden, um dieselbe Folge von ganzen Zahlen zu generieren. Lassen Sie uns zum Beispiel mit den Funktionen randperm() und rng zwei Vektoren mit derselben Sequenz generieren.

Siehe den Code unten.

clc
s = rng;
v1 = randperm(6,2)
rng(s)
v2 = randperm(6,2)

Ausgabe:

v1 =

     1     2


v2 =

     1     2

In der Ausgabe enthalten beide Vektoren v1 und v2 dieselben Elemente.

Wenn wir den Code erneut ausführen, ändert sich die Ausgabe, aber die Elemente beider Vektoren bleiben unverändert. Wenn wir den zuvor gespeicherten Zustand nicht verwenden, haben die Vektoren unterschiedliche Elemente.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - MATLAB Random