Contenuto principale

horzcat

Concatenare gli array orizzontalmente

Descrizione

C = horzcat(A,B) concatena B orizzontalmente alla fine di A quando A e B hanno grandezze compatibili (le lunghezze delle dimensioni corrispondono, tranne che nella seconda dimensione).

esempio

C = horzcat(A1,A2,…,An) concatena A1, A2, … , An orizzontalmente.

horzcat è equivalente all'utilizzo delle parentesi quadre per concatenare o aggiungere orizzontalmente gli array. Ad esempio, [A,B] e [A B] sono uguali a horzcat(A,B) quando A e B sono array compatibili.

esempio

Esempi

comprimi tutto

Concatenare due matrici orizzontalmente.

Creare due matrici e aggiungere orizzontalmente la seconda matrice alla prima utilizzando la notazione delle parentesi quadre.

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

Ora, aggiungere orizzontalmente la seconda matrice alla prima utilizzando horzcat.

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

     1     2     4     5     6
     3     4     7     8     9

Creare una tabella A con tre righe e due variabili.

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   

Creare una tabella B con tre righe e tre variabili.

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

Concatenare orizzontalmente A e B. L'ordine delle righe in C corrisponde all'ordine 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'}  

Concatenare un vettore di caratteri di data, una data di stringa e una data e ora in un'unica riga di date. Il risultato è un vettore riga di data e ora.

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

Concatenare tre array di stringhe in un unico 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"

Creare un array di celle contenente due matrici. Concatenare orizzontalmente le matrici dall'array di celle in un'unica 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

Argomenti di input

comprimi tutto

Primo input, specificato come scalare, vettore, matrice, array multidimensionale, tabella o orario.

Secondo input, specificato come scalare, vettore, matrice, array multidimensionale, tabella o orario.

  • Gli elementi di B sono concatenati alla fine del primo input lungo la seconda dimensione. Le grandezze degli argomenti di input devono essere compatibili. Ad esempio, se il primo input è una matrice di grandezza 3x2, B deve avere 3 righe.

  • Tutti gli input della tabella devono avere nomi di variabili univoci. Se i nomi delle righe sono presenti negli input della tabella, devono essere uguali, ma possono essere in un ordine diverso. horzcat concatena facendo corrispondere i nomi delle righe quando sono presenti, o facendo corrispondere le posizioni della tabella se i nomi delle righe non sono presenti. Per gli input della tabella, horzcat concatena inoltre i valori delle proprietà correlate alle variabili della tabella. Gli altri valori delle proprietà della tabella di output vengono assegnati utilizzando i primi valori non vuoti (o non predefiniti) delle proprietà degli input corrispondenti.

  • Tutti gli input dell'orario devono avere nomi di variabili univoci. I tempi delle righe in ciascun input dell'orario devono essere uguali, ma possono essere in un ordine diverso. horzcat concatena i tempi delle righe tramite la corrispondenza. Per gli input dell'orario, horzcat concatena inoltre i valori delle proprietà relative alle variabili dell'orario e agli eventi collegati agli input. Gli altri valori delle proprietà dell'orario di output vengono assegnati utilizzando i primi valori non vuoti (o non predefiniti) delle proprietà degli input corrispondenti.

  • È possibile concatenare combinazioni valide di tipi diversi. Per ulteriori informazioni sulla concatenazione di array di caratteri, array logici e tipi numerici, vedere Valid Combinations of Unlike Classes.

Elenco degli input, specificato come elenco separato da virgole di elementi da concatenare nell'ordine in cui sono specificati.

  • Gli input devono avere grandezze compatibili. Ad esempio, se A1 è un vettore colonna di lunghezza m, ciascuno dei restanti input deve avere m righe da concatenare orizzontalmente.

  • Tutti gli input della tabella devono avere nomi di variabili univoci. Se i nomi delle righe sono presenti negli input della tabella, devono essere uguali, ma possono essere in un ordine diverso. horzcat concatena facendo corrispondere i nomi delle righe quando sono presenti, o facendo corrispondere le posizioni della tabella se i nomi delle righe non sono presenti. Per gli input della tabella, horzcat concatena inoltre i valori delle proprietà correlate alle variabili della tabella. Gli altri valori delle proprietà della tabella di output vengono assegnati utilizzando i primi valori non vuoti (o non predefiniti) delle proprietà degli input corrispondenti.

  • Tutti gli input dell'orario devono avere nomi di variabili univoci. I tempi delle righe in ciascun input dell'orario devono essere uguali, ma possono essere in un ordine diverso. horzcat concatena i tempi delle righe tramite la corrispondenza. Per gli input dell'orario, horzcat concatena inoltre i valori delle proprietà relative alle variabili dell'orario e agli eventi collegati agli input. Gli altri valori delle proprietà dell'orario di output vengono assegnati utilizzando i primi valori non vuoti (o non predefiniti) delle proprietà degli input corrispondenti.

  • È possibile concatenare combinazioni valide di tipi diversi. Per ulteriori informazioni sulla concatenazione di array di caratteri, array logici e tipi numerici, vedere Valid Combinations of Unlike Classes.

Suggerimenti

  • Per costruire del testo concatenando orizzontalmente stringhe, vettori di caratteri o array di celle di vettori di caratteri, utilizzare la funzione strcat.

  • Per costruire un singolo pezzo di testo delimitato da un array di celle di vettori di caratteri o da un array di stringhe, utilizzare la funzione strjoin.

Algoritmi

Quando si concatena un array vuoto a un array non vuoto, horzcat omette l'array vuoto nell'output. Ad esempio, horzcat([1 2],[]) restituisce il vettore di riga [1 2].

Se tutti gli argomenti di input sono vuoti e hanno dimensioni compatibili, horzcat restituisce un array vuoto la cui dimensione è uguale alla dimensione dell'output quando gli input sono non vuoti. Ad esempio, horzcat(zeros(0,1),zeros(0,2)) restituisce un array vuoto 0x3. Se le grandezze di input non sono compatibili, horzcat restituisce un array vuoto 0x0.

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.

Cronologia versioni

Introduzione prima di R2006a