vertcat
Vertikales Verknüpfen von Arrays
Beschreibung
C = vertcat( verknüpft A1,A2,…,An)A1, A2, …, An vertikal.
vertcat ist äquivalent zur Verwendung eckiger Klammern, um Arrays vertikal zu verknüpfen oder anzuhängen. Beispielsweise ist [A; B] identisch zu vertcat(A,B), wenn A und B kompatible Arrays sind.
Beispiele
Vertikales Verknüpfen zweier Matrizen.
Erstellen Sie zwei Matrizen und hängen Sie die zweite Matrix mithilfe von eckigen Klammern vertikal an die erste Matrix an.
A = [1 2 3; 4 5 6]
A = 2×3
1 2 3
4 5 6
B = [7 8 9]
B = 1×3
7 8 9
C = [A; B]
C = 3×3
1 2 3
4 5 6
7 8 9
Hängen Sie nun mit vertcat die zweite Matrix vertikal an die erste an.
D = vertcat(A,B)
D = 3×3
1 2 3
4 5 6
7 8 9
Erstellen Sie eine Tabelle A mit drei Zeilen und fünf Variablen.
A = table([5;6;5],['M';'M';'M'],[45;41;40],[45;32;34],{'NY';'CA';'MA'},... 'VariableNames',{'Age' 'Gender' 'Height' 'Weight' 'Birthplace'},... 'RowNames',{'Thomas' 'Gordon' 'Percy'})
A=3×5 table
Age Gender Height Weight Birthplace
___ ______ ______ ______ __________
Thomas 5 M 45 45 {'NY'}
Gordon 6 M 41 32 {'CA'}
Percy 5 M 40 34 {'MA'}
Erstellen Sie eine Tabelle B mit denselben Variablen wie A, außer der Reihenfolge.
B = table(['F';'M';'F'],[6;6;5],{'AZ';'NH';'CO'},[31;42;33],[39;43;40],... 'VariableNames',{'Gender' 'Age' 'Birthplace' 'Weight' 'Height'})
B=3×5 table
Gender Age Birthplace Weight Height
______ ___ __________ ______ ______
F 6 {'AZ'} 31 39
M 6 {'NH'} 42 43
F 5 {'CO'} 33 40
Verknüpfen Sie die Tabellen A und B vertikal. Die Variablen von C befinden sich in derselben Reihenfolge wie die Variablen von A und Standardzeilennamen werden für die Zeilen von B verwendet.
C = vertcat(A,B)
C=6×5 table
Age Gender Height Weight Birthplace
___ ______ ______ ______ __________
Thomas 5 M 45 45 {'NY'}
Gordon 6 M 41 32 {'CA'}
Percy 5 M 40 34 {'MA'}
Row4 6 F 39 31 {'AZ'}
Row5 6 M 43 42 {'NH'}
Row6 5 F 40 33 {'CO'}
Verknüpfen Sie einen Datums-Zeichenvektor, ein Zeichenfolgendatum und eine Datums-/Uhrzeitangabe zu einer einzigen Datumsspalte. Das Ergebnis ist ein Datums-/Uhrzeit-Spaltenvektor.
chardate = '2016-03-24'; strdate = "2016-04-19"; t = datetime('2016-05-10','InputFormat','yyyy-MM-dd'); C = vertcat(chardate,strdate,t)
C = 3×1 datetime
24-Mar-2016
19-Apr-2016
10-May-2016
Verknüpfen Sie drei String Arrays zu einem einzigen Array.
A1 = ["str1" "str2"]; A2 = ["str3" "str4"]; A3 = ["str5" "str6"]; C = vertcat(A1,A2,A3)
C = 3×2 string
"str1" "str2"
"str3" "str4"
"str5" "str6"
Erstellen Sie ein Zellenarray, das zwei Matrizen enthält. Verknüpfen Sie die Matrizen des Zellenarrays vertikal zu einer Matrix.
M1 = [1 2; 3 4];
M2 = [5 6; 7 8];
A1 = {M1,M2};
C = vertcat(A1{:})C = 4×2
1 2
3 4
5 6
7 8
Eingabeargumente
Erste Eingabe, angegeben als Skalar, Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable.
Zweite Eingabe, angegeben als Skalar, Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable.
Die Elemente von
Bsind mit dem Ende der ersten Eingabe entlang der ersten Dimension verknüpft. Die Größen der Eingabeargumente müssen kompatibel sein. Wenn beispielsweise die erste Eingabe eine Matrix der Größe 3x2 ist, mussB2 Spalten aufweisen.Alle Tabelleneingaben müssen eindeutige Zeilennamen aufweisen. Wenn einige der Tabelleneingaben keine Zeilennamen aufweisen, trägt
vertcatin der Ausgabe Standard-Zeilennamen ein. Die Variablennamen in jeder Tabelleneingabe müssen identisch sein, die Variablen können jedoch in einer anderen Reihenfolge vorliegen.vertcatverknüpft durch den Abgleich von Variablennamen. Bei Tabelleneingaben verknüpftvertcatzudem die EigenschaftswerteRowNames. Weitere Eigenschaftswerte der Ausgabetabelle werden mithilfe der ersten nicht leeren (oder nicht standardmäßigen) Eigenschaftswerte der entsprechenden Eingaben zugewiesen.Die Zeilenzeiten von Timetable-Eingaben müssen nicht eindeutig sein. Die Variablennamen in jeder Timetable-Eingabe müssen identisch sein, die Variablen können jedoch in einer anderen Reihenfolge vorliegen.
vertcatverknüpft durch den Abgleich von Variablennamen. Bei Timetable-Eingaben verknüpftvertcatzudemRowTimes-Eigenschaftswerte und Ereignisse, die an die Eingaben angehängt sind. Weitere Eigenschaftswerte der Ausgabe-Timetable werden mithilfe der ersten nicht leeren (oder nicht standardmäßigen) Eigenschaftswerte der entsprechenden Eingaben zugewiesen.Sie können gültige Kombinationen verschiedener Typen verknüpfen. Weitere Informationen über das Verknüpfen von Character Arrays, logischen Arrays und numerischen Typen finden Sie unter Valid Combinations of Unlike Classes.
Die Liste der Eingaben, angegeben als durch Kommas getrennte Liste von Elementen zum Verknüpfen in der Reihenfolge, in der sie angegeben werden.
Die Größen der Eingaben müssen kompatibel sein. Wenn beispielsweise
A1ein Zeilenvektor mit der Länge m ist, müssen die verbleibenden Eingaben jeweils m Spalten aufweisen, um eine vertikale Verknüpfung zu ermöglichen.Alle Tabelleneingaben müssen eindeutige Zeilennamen aufweisen. Wenn einige der Tabelleneingaben keine Zeilennamen aufweisen, trägt
vertcatin der Ausgabe Standard-Zeilennamen ein. Die Variablennamen in jeder Tabelleneingabe müssen identisch sein, die Variablen können jedoch in einer anderen Reihenfolge vorliegen.vertcatverknüpft durch den Abgleich von Variablennamen. Bei Tabelleneingaben verknüpftvertcatzudem die EigenschaftswerteRowNames. Weitere Eigenschaftswerte der Ausgabetabelle werden mithilfe der ersten nicht leeren (oder nicht standardmäßigen) Eigenschaftswerte der entsprechenden Eingaben zugewiesen.Die Zeilenzeiten von Timetable-Eingaben müssen nicht eindeutig sein. Die Variablennamen in jeder Timetable-Eingabe müssen identisch sein, die Variablen können jedoch in einer anderen Reihenfolge vorliegen.
vertcatverknüpft durch den Abgleich von Variablennamen. Bei Timetable-Eingaben verknüpftvertcatzudemRowTimes-Eigenschaftswerte und Ereignisse, die an die Eingaben angehängt sind. Weitere Eigenschaftswerte der Ausgabe-Timetable werden mithilfe der ersten nicht leeren (oder nicht standardmäßigen) Eigenschaftswerte der entsprechenden Eingaben zugewiesen.Sie können gültige Kombinationen verschiedener Typen verknüpfen. Weitere Informationen über das Verknüpfen von Character Arrays, logischen Arrays und numerischen Typen finden Sie unter Valid Combinations of Unlike Classes.
Algorithmen
Beim Verknüpfen eines leeren Arrays mit einem Array, das nicht leer ist, lässt vertcat das leere Array in der Ausgabe weg. Zum Beispiel gibt vertcat([1; 2],[]) den Spaltenvektor [1; 2] zurück.
Wenn alle Eingabeargumente leer sind und kompatible Größen aufweisen, gibt vertcat ein leeres Array zurück, dessen Größe gleich der Ausgabegröße ist, wenn die Eingaben nicht leer sind. Beispielsweise gibt vertcat(zeros(1,0),zeros(2,0)) ein leeres 3x0-Array zurück. Wenn die Eingabegrößen nicht kompatibel sind, gibt vertcat ein leeres 0x0-Array zurück.
Erweiterte Fähigkeiten
Die Funktion vertcat unterstützt Tall-Arrays mit folgenden Verwendungshinweisen und Einschränkungen:
Die vertikale Verknüpfung von Character Arrays (Zeichenarrays) wird nicht unterstützt.
Eine Verkettung ordinaler kategorischer Arrays wird nicht unterstützt.
Werden zwei Tall-Arrays vertikal verknüpft, ist das Ergebnis ein Tall-Array auf Grundlage eines anderen Datastore als die Eingabe-Tall-Arrays. Wenn Sie daher versuchen, die Ergebnis der Verknüpfung mit einem der Eingabe-Tall-Arrays zu kombinieren, sind die Arrays nicht kompatibel. Beispielsweise führt der folgende Befehl zu einem Fehler, da die ursprüngliche Tall-Tabelle
Tauf einem Datastore basiert und die Ausgabe der Verknüpfungsoperation auf einem anderen Datastore basiert:T.Var3 = [T.Var1(1); T.Var2(2:end)]
Wenn Sie alternativ nur die Werte im Arbeitsspeicher zu einem Tall-Array verknüpfen, basiert das Ergebnis der Verknüpfung auf demselben Datastore. Wenn Sie beispielsweise
T.Var1(1)im vorherigen Beispiel durch einen Skalar im Arbeitsspeicher ersetzen, führt der Befehl Folgendes aus:T.Var3 = [0; T.Var2(2:end)]
Weitere Informationen finden Sie unter Tall-Arrays.
C/C++ Codegenerierung
Generieren Sie C und C++ Code mit MATLAB® Coder™.
Diese Funktion bietet vollständige Unterstützung für thread-basierte Umgebungen. Weitere Informationen finden Sie unter Run MATLAB Functions in Thread-Based Environment.
Die Funktion vertcat unterstützt GPU-Array-Eingaben mit folgenden Verwendungshinweisen und Einschränkungen:
Dünn besetzte Matrizen werden nicht unterstützt.
Weitere Informationen finden Sie unter Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Diese Funktion bietet vollständige Unterstützung für verteilte Arrays. Weitere Informationen finden Sie unter Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Versionsverlauf
Eingeführt vor R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)