Concaténer les vecteurs ou les matrices sous Matlab

L'opération de concaténation des variables de Matlab consiste à regrouper ces variables dans une seule (vecteur ou matrice).

Exemple :

   |2  3  4|
X= |1  2  5|
   |0  2  7|


Avec :
   |9  6  8|
Y= |5  6  2|
   |3  2  1|

Donne (concaténation des lignes) :
          |9  6  8  2  3  4|
Resultat= |1  2  5  5  6  2|
          |0  2  7  3  2  1|


Ou bien (concaténation des colonnes) :

          |2  3  4|
          |1  2  5|
          |0  2  7|
Resultat= |9  6  8|
          |5  6  2|
          |3  2  1|


On peux déjà remarquer qu'on ne peut pas concaténer n'importe quelles variables.

Concaténation horizontale


Soient les variables X et Y (elles peuvent être des vecteurs, matrices ou une simple variable). Il faut que les deux variables à concaténer aient le même nombre de lignes. Le code est le suivant :

Resultat=[X Y]

Concaténation verticale


Soient les variables X et Y (elles peuvent être des vecteurs, matrices ou une simple variable). Il faut que les deux variables à concaténer aient le même nombre de colonnes. Le code est le suivant :

Resultat=[X;Y]

Autres possibilités


1. Possibilité N°1


On peut concaténer un vecteur (matrice) avec le transposé de l'autre. Par exemple :
X=|1 2|

  |2|
Y=|3|
  |5|

La commande :
Resultat=[X Y']
Donne :

Resultat=|1 2 2 3 5|


La commande :
Resultat=[X';Y]
Donne :
   
         |1|
	 |2|
Resultat=|2|
         |3|
	 |5|

2. Possibilité N°2


Le principe est généralisable, on peut concaténer plusieurs variables, à condition de respecter les dimensions.

Par exemple. Soient les variables suivantes à concaténer :
A=1
B=2
C=|3 4|
  |5 6|
D=7
E=|8 9|

La commande :
Resultat=[[A;B] C;D E]
Donne :
	  |1 3 4|
Resultat= |2 5 6|
	  |7 8 9|
Publié par fahd_zboot - Dernière mise à jour le 3 novembre 2009 à 18:12 par marlalapocket
Ce document intitulé « Concaténer les vecteurs ou les matrices sous Matlab » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Concaténer les vecteurs ou les matrices sous Matlab
  •  Remplissage de matrice en matlab (Résolu) » Meilleure réponse: Salut, Supposons que les résultats sont stockés dans le vecteur RES, et M c'est ta matrice. C'est simple: k:=1; for i=1:23 for j=1:15 M(i,j):=RES(k) k:=k+1; end end PS.: je me rappelle plus si l'affectation en Matlab est avec les deux p
  •  [MATLAB] transformer une matrice en vecteur » Meilleure réponse: Utilise la commande reshape. ("help reshape" pour avoir les infos) Si tu as BC=[0 1;0 0;1 1] reshape(BC,1,6) te donne [0 0 1 1 0 1] (il parcourt la matrice colonne par colonne). Donc ce qu'il te faut faire c'est : reshape(BC',1,6) Ainsi
  •  Matrice 3d matlab » Bonjour, Si J'ai 3 matrices Hx, Hy et Hz ( ce sont les 3 polarisations) comment je peux ecrire une matrice H tel que Hx, Hy et Hz seront representes comme des tranches de cette matrice H..( la matrice H a 3 tranches Hx Hy et Hz) Hx Hy et Hz sont...
  •  Résolution système matriciel sous matlab (Résolu) » Meilleure réponse: Salut, Ton système peut être remplacé par celui là : |A B C| |X| |D| |E F G| x |Y| = |H| |I J K| |Z| |L| Ce qui est équivalent à : [M] x [W] = [R] [M] matrice connu de 3n*3n éléments. [W] matrice inconnu avec 3n inconnu Et [R] est le se
  •  Manipulations élémentaires des tableaux sous MatLab » Fiches pratiques : Sommaire Stockage des tableaux L'indexation linéaire Accéder à un élément d'un tableau en utilisant l'indexation linéaire Passer d'une indexation à l'autre La fonction ind2sub La fonction sub2ind La fonction reshape Stockage des...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
La vectorialisation sous MatLab
Représentation des courbes sous Matlab