Contenu principal

horzcat

Concaténer horizontalement des tableaux

Description

C = horzcat(A,B) concatène horizontalement B à la fin de A lorsque A et B sont de tailles compatibles (les longueurs des dimensions correspondent, sauf pour la deuxième dimension).

exemple

C = horzcat(A1,A2,…,An) concatène horizontalement A1, A2, … , An.

horzcat équivaut à utiliser des crochets pour concaténer ou ajouter horizontalement des tableaux. Par exemple, [A,B] et [A B] sont équivalents à horzcat(A,B) lorsque A et B sont des tableaux compatibles.

exemple

Exemples

réduire tout

Concaténez horizontalement deux matrices.

Créez deux matrices et concaténez la seconde horizontalement sur la première en utilisant la notation avec des crochets.

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

Ensuite, concaténez la seconde matrice horizontalement sur la première avec horzcat.

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

     1     2     4     5     6
     3     4     7     8     9

Créez une table A comportant trois lignes et deux variables.

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   

Créez une table B comportant trois lignes et trois variables.

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'}  

Concaténez horizontalement A et B. L’ordre des lignes dans C est le même que dans 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'}  

Concaténez une date sous la forme d’un vecteur de caractères, une date sous la forme d’une chaîne de caractères et une date sous la forme d’un datetime vers une ligne unique. Le résultat est un vecteur ligne datetime.

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

Concaténez trois tableaux de chaînes de caractères en un seul tableau.

A1 = ["str1"; "str2"];
A2 = ["str3"; "str4"];
A3 = ["str5"; "str6"];
C = horzcat(A1,A2,A3)
C = 2×3 string
    "str1"    "str3"    "str5"
    "str2"    "str4"    "str6"

Créez un cell array contenant deux matrices. Concaténez horizontalement les matrices du cell array en une seule matrice.

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

Arguments d'entrée

réduire tout

Première entrée, spécifiée sous forme de scalaire, de vecteur, de matrice, de tableau multidimensionnel, de table ou de timetable.

Deuxième entrée, spécifiée sous forme de scalaire, de vecteur, de matrice, de tableau multidimensionnel, de table ou de timetable.

  • Les éléments de B sont concaténés à la fin de la première entrée le long de la deuxième dimension. Les tailles des arguments en entrée doivent être compatibles. Par exemple, si la première entrée est une matrice de 3 x 2, alors B doit comporter 3 lignes.

  • Toutes les tables en entrée doivent avoir des noms de variables uniques. Si des noms de ligne sont présents dans les tables en entrée, ils doivent être identiques, mais ne doivent pas nécessairement être dans le même ordre. La fonction horzcat effectue la concaténation en faisant correspondre les noms de ligne s’ils sont présents. Sinon, elle fait correspondre les positions dans les tables. Pour les tables en entrée, horzcat concatène également les valeurs de propriété associées aux variables de table. Les autres valeurs de propriété de la table en sortie sont affectées selon les premières valeurs de propriété non vides (ou autres que celles par défaut) des entrées correspondantes.

  • Toutes les timetables en entrée doivent avoir des noms de variables uniques. Les informations d’horodatage des lignes de chaque timetable doivent être identiques, mais ne doivent pas nécessairement être dans le même ordre. La fonction horzcat effectue la concaténation en faisant correspondre les informations d’horodatage des lignes. Pour les timetables en entrée, horzcat concatène également les valeurs de propriété associées aux variables et événements de timetable associés aux entrées. Les autres valeurs de propriété de la timetable en sortie sont affectées selon les premières valeurs de propriété non vides (ou autres que celles par défaut) des entrées correspondantes.

  • Vous pouvez concaténer des combinaisons valides de différents types. Pour plus d’informations sur la concaténation de tableaux de caractères, de tableaux logiques et de types numériques, consultez Valid Combinations of Text and Numeric Datatypes.

Liste d’entrées, spécifiée en tant que liste d’éléments séparés par des virgules, à concaténer dans l’ordre dans lequel ils sont spécifiés.

  • Les entrées doivent être de tailles compatibles. Par exemple, si A1 est un vecteur colonne de longueur m, chacune des entrées restantes doit disposer de m lignes à concaténer horizontalement.

  • Toutes les tables en entrée doivent avoir des noms de variables uniques. Si des noms de ligne sont présents dans les tables en entrée, ils doivent être identiques, mais ne doivent pas nécessairement être dans le même ordre. La fonction horzcat effectue la concaténation en faisant correspondre les noms de ligne s’ils sont présents. Sinon, elle fait correspondre les positions dans les tables. Pour les tables en entrée, horzcat concatène également les valeurs de propriété associées aux variables de table. Les autres valeurs de propriété de la table en sortie sont affectées selon les premières valeurs de propriété non vides (ou autres que celles par défaut) des entrées correspondantes.

  • Toutes les timetables en entrée doivent avoir des noms de variables uniques. Les informations d’horodatage des lignes de chaque timetable doivent être identiques, mais ne doivent pas nécessairement être dans le même ordre. La fonction horzcat effectue la concaténation en faisant correspondre les informations d’horodatage des lignes. Pour les timetables en entrée, horzcat concatène également les valeurs de propriété associées aux variables et événements de timetable associés aux entrées. Les autres valeurs de propriété de la timetable en sortie sont affectées selon les premières valeurs de propriété non vides (ou autres que celles par défaut) des entrées correspondantes.

  • Vous pouvez concaténer des combinaisons valides de différents types. Pour plus d’informations sur la concaténation de tableaux de caractères, de tableaux logiques et de types numériques, consultez Valid Combinations of Text and Numeric Datatypes.

Conseils

  • Pour construire le texte en concaténant horizontalement des chaînes, des vecteurs de caractères ou des cell arrays de vecteurs de caractères, utilisez la fonction strcat.

  • Pour construire un seul élément de texte délimité à partir d'un cell array de vecteurs de caractères ou d’un tableau de chaîne de caractères, utilisez la fonction strjoin.

Algorithmes

Lorsque vous concaténez un tableau vide dans un tableau non vide, horzcat ignore le tableau vide dans la sortie. Par exemple, horzcat([1 2],[]) renvoie le vecteur ligne [1 2].

Si tous les arguments en entrée sont vides et de tailles compatibles, alors horzcat renvoie un tableau vide dont la taille équivaut à celle de la sortie lorsque les entrées ne sont pas vides. Par exemple, horzcat(zeros(0,1),zeros(0,2)) renvoie un tableau vide de 0 x 3. Si les tailles en entrée ne sont pas compatibles, horzcat renvoie un tableau vide de 0 x 0.

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Génération de code GPU
Générez du code CUDA® pour les GPU NVIDIA® avec GPU Coder™.

Historique des versions

Introduit avant R2006a