La concaténation de matrices dans Octave
Dans le cadre de cette leçon, nous allons aborder la manière de fusionner deux matrices, soit horizontalement, soit verticalement, en utilisant Octave.
La concaténation de deux matrices, qu'est-ce que cela signifie ? Il s'agit d'une opération qui permet d'assembler les lignes ou les colonnes de deux matrices pour en former une plus grande. Prenons un exemple avec deux matrices$$ A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} $$ $$ B = \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} $$ La concaténation horizontale des matrices revient à ajouter les colonnes de la deuxième matrice à la fin de la première $$ A|B = \begin{pmatrix} 1 & 2 & 5 & 6 \\ 3 & 4 & 7 & 8 \end{pmatrix} $$
Pour illustrer cela, prenons un exemple concret.
Définissons une matrice carrée dans la variable A
A=[1 2;3 4]
Ensuite, définissons une autre matrice carrée dans la variable B
B=[5 6;7 8]
Nous pouvons maintenant concaténer ces deux matrices horizontalement en utilisant la commande [A, B] ou [A B]
>> [A B]
ans =
1 2 5 6
3 4 7 8
Octave ajoute alors les colonnes de la deuxième matrice après la dernière colonne de la première.
$$ A|B = \begin{pmatrix} 1 & 2 & 5 & 6 \\ 3 & 4 & 7 & 8 \end{pmatrix} $$
En alternative, il est possible d'utiliser la fonction horzcat(A,B)
>> horzcat(A,B)
ans =
1 2 5 6
3 4 7 8
Ou encore la fonction cat(2,A,B)
>> cat(2,A,B)
ans =
1 2 5 6
3 4 7 8
Dans tous les cas, le résultat sera le même.
Il est important de noter que la concaténation horizontale de deux tableaux n'est possible que si ces derniers ont le même nombre de lignes. Le nombre de colonnes peut, quant à lui, varier.
Passons maintenant à la concaténation verticale des deux matrices en utilisant la commande [A;B]
>> [A;B]
ans =
1 2
3 4
5 6
7 8
Le symbole du point-virgule fonctionne comme un retour à la ligne.
Dans ce cas, Octave ajoute les lignes de la deuxième matrice après la dernière ligne de la première.
$$ A|B = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \\ 7 & 8 \end{pmatrix} $$
Il est également possible d'obtenir le même résultat en utilisant la fonction vertcat(A,B)
>> vertcat(A,B)
ans =
1 2
3 4
5 6
7 8
Ou la fonction cat(1,A,B)
>> cat(1,A,B)
ans =
1 2
3 4
5 6
7 8
Le résultat reste identique.
Il convient de noter que la concaténation verticale de deux tableaux n'est possible que si ces derniers ont le même nombre de colonnes. Le nombre de lignes peut, quant à lui, varier.
Ainsi, vous avez la possibilité de concaténer deux matrices, soit verticalement, soit horizontalement, en utilisant Octave.