Hauptinhalt

vertcat

Vertikales Verknüpfen von Arrays

Beschreibung

C = vertcat(A,B) verknüpft B vertikal mit dem Ende von A, wenn A und B kompatible Größen aufweisen (die Längen der Dimensionen sind außer in der ersten Dimension identisch).

Beispiel

C = vertcat(A1,A2,…,An) verknüpft 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.

Beispiel

Beispiele

alle reduzieren

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

alle reduzieren

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 B sind 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, muss B 2 Spalten aufweisen.

  • Alle Tabelleneingaben müssen eindeutige Zeilennamen aufweisen. Wenn einige der Tabelleneingaben keine Zeilennamen aufweisen, trägt vertcat in der Ausgabe Standard-Zeilennamen ein. Die Variablennamen in jeder Tabelleneingabe müssen identisch sein, die Variablen können jedoch in einer anderen Reihenfolge vorliegen. vertcat verknüpft durch den Abgleich von Variablennamen. Bei Tabelleneingaben verknüpft vertcat zudem die Eigenschaftswerte RowNames. 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. vertcat verknüpft durch den Abgleich von Variablennamen. Bei Timetable-Eingaben verknüpft vertcat zudem RowTimes-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 A1 ein 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 vertcat in der Ausgabe Standard-Zeilennamen ein. Die Variablennamen in jeder Tabelleneingabe müssen identisch sein, die Variablen können jedoch in einer anderen Reihenfolge vorliegen. vertcat verknüpft durch den Abgleich von Variablennamen. Bei Tabelleneingaben verknüpft vertcat zudem die Eigenschaftswerte RowNames. 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. vertcat verknüpft durch den Abgleich von Variablennamen. Bei Timetable-Eingaben verknüpft vertcat zudem RowTimes-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

alle erweitern

C/C++ Codegenerierung
Generieren Sie C und C++ Code mit MATLAB® Coder™.

Versionsverlauf

Eingeführt vor R2006a