Hauptinhalt

horzcat

Horizontales Verknüpfen von Arrays

Beschreibung

C = horzcat(A,B) verknüpft B horizontal mit dem Ende von A, wenn A und B kompatible Größen aufweisen (die Längen der Dimensionen außer in der zweiten Dimension übereinstimmen).

Beispiel

C = horzcat(A1,A2,…,An) verknüpft A1, A2, … , An horizontal.

horzcat ist äquivalent zur Verwendung eckiger Klammern, um Arrays horizontal zu verknüpfen oder anzuhängen. [A,B] und [A B] ist beispielsweise identisch zu horzcat(A,B), wenn A und B kompatible Arrays sind.

Beispiel

Beispiele

alle reduzieren

Horizontales Verknüpfen zweier Matrizen.

Erstellen Sie zwei Matrizen und hängen Sie die zweite Matrix mithilfe von eckigen Klammern horizontal an die erste Matrix an.

A = [1 2; 3 4]
A = 2×2

     1     2
     3     4

B = [4 5 6; 7 8 9]
B = 2×3

     4     5     6
     7     8     9

C = [A,B]
C = 2×5

     1     2     4     5     6
     3     4     7     8     9

Hängen Sie nun mithilfe von horzcat die zweite Matrix horizontal an die erste Matrix an.

D = horzcat(A,B)
D = 2×5

     1     2     4     5     6
     3     4     7     8     9

Erstellen Sie eine Tabelle A mit drei Zeilen und zwei Variablen.

A = table([5;6;5],['M';'M';'M'],...
    'VariableNames',{'Age' 'Gender'},...
    'RowNames',{'Thomas' 'Gordon' 'Percy'})
A=3×2 table
              Age    Gender
              ___    ______

    Thomas     5       M   
    Gordon     6       M   
    Percy      5       M   

Erstellen Sie eine Tabelle B mit drei Zeilen und drei Variablen.

B = table([45;41;40],[45;32;34],{'NY';'CA';'MA'},...
    'VariableNames',{'Height' 'Weight' 'Birthplace'},...
    'RowNames',{'Percy' 'Gordon' 'Thomas'})
B=3×3 table
              Height    Weight    Birthplace
              ______    ______    __________

    Percy       45        45        {'NY'}  
    Gordon      41        32        {'CA'}  
    Thomas      40        34        {'MA'}  

Verknüpfen Sie A und B horizontal. Die Reihenfolge der Zeilen in C entspricht der Reihenfolge in A.

C = horzcat(A,B)
C=3×5 table
              Age    Gender    Height    Weight    Birthplace
              ___    ______    ______    ______    __________

    Thomas     5       M         40        34        {'MA'}  
    Gordon     6       M         41        32        {'CA'}  
    Percy      5       M         45        45        {'NY'}  

Verknüpfen Sie einen Datums-Zeichenvektor, ein Zeichenfolgendatum und eine Datums-/Uhrzeitangabe zu einer einzigen Datumszeile. Das Ergebnis ist ein Datums-/Uhrzeit-Zeilenvektor.

chardate = '2016-03-24';
strdate = "2016-04-19";
t = datetime('2016-05-10','InputFormat','yyyy-MM-dd');
C = horzcat(chardate,strdate,t)
C = 1×3 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 = horzcat(A1,A2,A3)
C = 2×3 string
    "str1"    "str3"    "str5"
    "str2"    "str4"    "str6"

Erstellen Sie ein Zellenarray, das zwei Matrizen enthält. Verknüpfen Sie die Matrizen des Zellenarrays horizontal zu einer Matrix.

M1 = [1 2; 3 4];
M2 = [5 6 7; 8 9 10];
A1 = {M1,M2};
C = horzcat(A1{:})
C = 2×5

     1     2     5     6     7
     3     4     8     9    10

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 zweiten 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 3 Zeilen aufweisen.

  • Alle Tabelleneingaben müssen eindeutige Variablennamen aufweisen. Wenn Zeilennamen in den Tabelleneingaben vorliegen, müssen diese identisch sein, können jedoch verschiedene Reihenfolgen aufweisen. horzcat verknüpft durch den Abgleich von Zeilennamen, wenn diese vorliegen, oder durch den Abgleich von Tabellenpositionen, wenn keine Zeilennamen vorliegen. Bei Tabelleneingaben verknüpft horzcat zudem Eigenschaftswerte, die mit den Tabellenvariablen in Zusammenhang stehen. Weitere Eigenschaftswerte der Ausgabetabelle werden mithilfe der ersten nicht leeren (oder nicht standardmäßigen) Eigenschaftswerte der entsprechenden Eingaben zugewiesen.

  • Alle Timetable-Eingaben müssen eindeutige Variablennamen aufweisen. Die Zeilenzeiten in jeder Timetable-Eingabe müssen identisch sein, können jedoch verschiedene Reihenfolgen aufweisen. horzcat verknüpft durch Abgleich der Zeilenzeiten. Bei Timetable-Eingaben verknüpft horzcat zudem Eigenschaftswerte, die mit den Timetable-Variablen und Ereignissen, die an die Eingaben angehängt sind, in Zusammenhang stehen. 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 Spaltenvektor mit der Länge m ist, müssen die verbleibenden Eingaben jeweils m Zeilen aufweisen, um eine horizontale Verknüpfung zu ermöglichen.

  • Alle Tabelleneingaben müssen eindeutige Variablennamen aufweisen. Wenn Zeilennamen in den Tabelleneingaben vorliegen, müssen diese identisch sein, können jedoch verschiedene Reihenfolgen aufweisen. horzcat verknüpft durch den Abgleich von Zeilennamen, wenn diese vorliegen, oder durch den Abgleich von Tabellenpositionen, wenn keine Zeilennamen vorliegen. Bei Tabelleneingaben verknüpft horzcat zudem Eigenschaftswerte, die mit den Tabellenvariablen in Zusammenhang stehen. Weitere Eigenschaftswerte der Ausgabetabelle werden mithilfe der ersten nicht leeren (oder nicht standardmäßigen) Eigenschaftswerte der entsprechenden Eingaben zugewiesen.

  • Alle Timetable-Eingaben müssen eindeutige Variablennamen aufweisen. Die Zeilenzeiten in jeder Timetable-Eingabe müssen identisch sein, können jedoch verschiedene Reihenfolgen aufweisen. horzcat verknüpft durch Abgleich der Zeilenzeiten. Bei Timetable-Eingaben verknüpft horzcat zudem Eigenschaftswerte, die mit den Timetable-Variablen und Ereignissen, die an die Eingaben angehängt sind, in Zusammenhang stehen. 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.

Tipps

  • Zum Aufbau von Text durch horizontale Verknüpfung von Zeichenfolgen, Zeichenvektoren oder Zellenarrays von Zeichenvektoren verwenden Sie die Funktion strcat.

  • Zum Aufbau eines einzelnen begrenzten Textes aus einem Zellenarray von Zeichenvektoren oder einem String Array (Zeichenfolgenarray) verwenden Sie die Funktion strjoin.

Algorithmen

Beim Verknüpfen eines leeren Arrays mit einem Array, das nicht leer ist, lässt horzcat das leere Array in der Ausgabe weg. Beispielsweise gibt horzcat([1 2],[]) den Zeilenvektor [1 2] zurück.

Wenn alle Eingabeargumente leer sind und kompatible Größen aufweisen, gibt horzcat ein leeres Array zurück, dessen Größe gleich der Ausgabegröße ist, wenn die Eingaben nicht leer sind. Beispielsweise gibt horzcat(zeros(0,1),zeros(0,2)) ein leeres 0x3-Array zurück. Wenn die Eingabegrößen nicht kompatibel sind, gibt horzcat 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