Concaténation de matrices sous Matlab
Dans ce cours, nous allons explorer la manière de concaténer deux matrices, soit horizontalement, soit verticalement, en utilisant Matlab.
Qu'implique la concaténation de deux matrices ? Il s'agit de les assembler pour former une matrice plus grande. Prenons un exemple avec deux matrices : $$ A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} $$ et $$ B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} $$. La concaténation horizontale de A et B donne : $$ A|B = \begin{pmatrix} 1 & 2 & 5 & 6 \\ 3 & 4 & 7 & 8 \end{pmatrix} $$
Illustrons cela par un exemple concret.
Commencez par créer une matrice 2x2 dans Matlab et affectez-la à la variable A.
A=[1 2;3 4]
Créez ensuite une seconde matrice 2x2 et affectez-la à la variable B.
B=[5 6;7 8]
Pour concaténer horizontalement A et B, utilisez la commande [A,B] ou [A B].
>> [A B]
ans =
1 2 5 6
3 4 7 8
Matlab place alors les deux matrices côte à côte.
Vous pouvez aussi opter pour la fonction horzcat(A,B).
>> horzcat(A,B)
ans =
1 2 5 6
3 4 7 8
Ou encore utiliser la commande cat(2,A,B).
>> cat(2,A,B)
ans =
1 2 5 6
3 4 7 8
Le résultat est identique dans tous les cas.
À noter : la concaténation horizontale n'est possible que si les deux matrices ont le même nombre de lignes.
Pour une concaténation verticale, tapez [A;B].
>> [A;B]
ans =
1 2
3 4
5 6
7 8
Ici, un point-virgule sépare A et B, indiquant un passage à la ligne suivante.
Matlab ajoute ainsi les lignes de B à la suite de celles de A.
Vous pouvez également utiliser vertcat(A,B).
>> vertcat(A,B)
ans =
1 2
3 4
5 6
7 8
Ou la commande cat(1,A,B).
>> cat(1,A,B)
ans =
1 2
3 4
5 6
7 8
Le résultat final reste le même.
À noter : la concaténation verticale est uniquement possible si les matrices ont le même nombre de colonnes.
C'est ainsi que l'on procède à la concaténation de matrices sous Matlab, que ce soit horizontalement ou verticalement.