MATLAB repelem() Funktion
In diesem Tutorial wird das Wiederholen von Kopien von Array-Elementen mit der Funktion repelem()
von MATLAB behandelt.
MATLAB-Funktion repelem()
Das manuelle Erstellen eines Arrays mit vielen Elementen nimmt viel Zeit in Anspruch, da wir jedes Array-Element schreiben müssen. Aber wir können Schleifen und einige eingebaute Funktionen von Matlab verwenden, um in kurzer Zeit ein Array aus vielen Elementen zu erstellen.
Die Funktion repelem()
wird auch verwendet, um durch Wiederholung eines Skalars oder eines Vektors in kurzer Zeit Arrays aus einer großen Anzahl von Elementen zu erstellen. Die Funktion repelem()
wird verwendet, um Kopien von Array-Elementen zu wiederholen und aus den wiederholten Elementen ein neues Array oder eine neue Matrix zu erstellen.
Die Funktion repelem()
hat zwei Syntaxen, und die erste Syntax wird unten gezeigt.
output = repelem(v,n)
Die erste Syntax gibt einen Vektor aus sich wiederholenden Elementen des Vektors oder Skalars v
zurück. Wenn n
ein Skalar ist, werden die v
-Werte des Eingangsvektors n
Mal wiederholt, und die Länge des Ausgangsvektors entspricht der Länge des Eingangsvektors multipliziert mit n
.
Wenn n
ein Vektor ist, wird jedes Element des Vektors v
entsprechend dem entsprechenden Element des Vektors n
wiederholt, und der Vektor n
sollte die gleiche Länge wie der Eingabevektor v
haben. Die Länge des Ausgangsvektors entspricht der Summe der n
Elemente des Vektors.
Mit anderen Worten, das erste Element des Vektors v
wird entsprechend dem ersten Element des Vektors n
wiederholt und so weiter. Lassen Sie uns zum Beispiel einen Vektor erstellen und ihn wiederholen, um zwei neue Vektoren zu erstellen.
Siehe Code unten.
clc
clear
X = [1 2 3]
Y = repelem(X,2)
Z = repelem(X,[1 2 3])
Ausgang:
X =
1 2 3
Y =
1 1 2 2 3 3
Z =
1 2 2 3 3 3
Im obigen Code haben wir jedes Element des Vektors X
zweimal wiederholt, um den neuen Vektor Y
zu erstellen. Wir haben das erste Element des Vektors X
einmal, das zweite Element des Vektors X
zweimal und das dritte Element dreimal wiederholt, um den neuen Vektor Z
zu erstellen.
Wir können in der Ausgabe sehen, dass jedes Element des Vektors X
zweimal wiederholt wird, um den Vektor Y
zu erstellen, und der Vektor Z
zeigt, dass er gemäß dem Vektor erstellt wird, der als zweites Argument im zweiten repelem()
Funktion.
Die zweite Syntax der Funktion repelem()
ist unten dargestellt:
output = repelem(m,r1,...,rN)
Die zweite Syntax wird verwendet, um Elemente einer Matrix zu wiederholen, um eine neue 2D- oder 3D-Matrix und ein Array zu erstellen. Das erste Argument m
ist die Eingangsmatrix oder das Array, das eine beliebige Dimension haben kann.
Alle anderen Argumente werden verwendet, um die Blockgröße festzulegen, die verwendet wird, um jedes Element der Eingabematrix oder des Arrays zu wiederholen, und es kann sich um einen Skalar oder einen Vektor mit der gleichen Länge wie die spezifische Dimension der Eingabematrix handeln. Wenn wir beispielsweise 2 und 3 als zweites und drittes Argument innerhalb der Funktion repelem()
übergeben, wird eine 2-mal-3-Matrix erstellt, indem jedes Element der Eingabematrix wiederholt und in der neuen Matrix platziert wird.
Mit anderen Worten, jedes Element der Eingabematrix wird zweimal in der Zeile oder ersten Dimension und dreimal in der Spalte oder zweiten Dimension wiederholt, um das neue Array oder die neue Matrix zu erstellen. Wenn wir das vierte Argument übergeben, wird jedes Element der Eingabematrix auch in der dritten Dimension wiederholt, um ein mehrdimensionales Array oder eine mehrdimensionale Matrix zu erstellen.
Lassen Sie uns beispielsweise eine 2-mal-2-Matrix erstellen und ihre Elemente wiederholen, um eine neue Matrix zu erstellen. Siehe Code unten.
clc
clear
X = magic(2)
Y = repelem(X,2,2)
Ausgang:
X =
1 3
4 2
Y =
1 1 3 3
1 1 3 3
4 4 2 2
4 4 2 2
Im obigen Code haben wir jedes Element der Eingabematrix zweimal in der ersten oder Zeilendimension und zweimal in der zweiten oder Spaltendimension wiederholt, um die neue Matrix zu erstellen. Die Größe der Ausgangsmatrix entspricht der Multiplikation spezifischer Dimensionen des Eingangsvektors und der Blockgröße.
Im obigen Beispiel ist die Größe der Ausgabematrix 4-mal-4, da die Größe der Eingabematrix 2-mal-2 und die Blockgröße ebenfalls 2-mal-2 ist. Die Dimensionen der Ausgabematrix sind gleich der Dimension der Blockgröße wie im obigen Beispiel, der Block hat zwei Dimensionen und die Ausgabematrix hat auch zwei Dimensionen.
Wenn wir ein Element in einer bestimmten Dimension nicht wiederholen möchten, können wir eines als Wert dieser Dimension übergeben. Wenn wir beispielsweise die Elemente in der ersten oder Zeilendimension nicht wiederholen möchten, damit die Anzahl der Zeilen gleich ist, können wir im obigen Code eins als zweites Argument übergeben.
Im obigen Beispiel wird jedes Element zweimal in beiden Dimensionen wiederholt. Wenn wir jedoch jedes Element gemäß unseren Anforderungen wiederholen möchten, können wir einen Vektor mit der gleichen Länge wie die spezifische Dimension verwenden, der die Anzahl der Wiederholungen der spezifischen Elemente definiert.
Lassen Sie uns zum Beispiel das obige Beispiel wiederholen und nur Spaltenwerte gemäß einem Vektor wiederholen. Siehe Code unten.
clc
clear
X = magic(2)
Y = repelem(X,1,[3 2])
Ausgang:
X =
1 3
4 2
Y =
1 1 1 3 3
4 4 4 2 2
Im obigen Code wiederholen wir die erste Spalte der Eingabematrix dreimal und die zweite Spalte zweimal, um eine neue Matrix Y
zu erstellen. Wir können in der obigen Ausgabe sehen, dass die Anzahl der Zeilen der Ausgabematrix gleich der Anzahl der Zeilen der Eingabematrix ist, weil wir die Zeilen nicht wiederholt haben, und die Anzahl der Spalten zugenommen hat, weil wir die erste Spalte drei wiederholt haben mal und die zweite Spalte 2 mal.
Wir können diese Operation mit jeder Dimension durchführen. Wir können auch die Funktion repelem()
verwenden, um aus einer kleinen Tabelle eine große Tabelle zu erstellen, indem wir ihre Werte in bestimmten Dimensionen wiederholen.
Lassen Sie uns zum Beispiel eine Tabelle mit der Funktion table()
erstellen und dann eine weitere große Tabelle erstellen, indem wir die Werte der ersten Tabelle wiederholen. Siehe Code unten.
clc
clear
T_1 = table([19; 16],[60; 53],'VariableNames',{'Age' 'Height'})
T_2 = repelem(T_1, 2,2)
Ausgang:
T_1 =
2×2 table
Age Height
___ ______
19 60
16 53
T_2 =
4×4 table
Age Age_1 Height Height_1
___ _____ ______ ________
19 19 60 60
19 19 60 60
16 16 53 53
16 16 53 53
Im obigen Code haben wir die Zeilen- und die Spaltendimension zweimal wiederholt, um die größere Tabelle zu erstellen.