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.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Matrices dans Matlab

FAQ