IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Remplissage d'une Matrice à partir de deux matrices


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 14
    Points
    14
    Par défaut Remplissage d'une Matrice à partir de deux matrices
    Bonjour,

    Y-a-t il une fonction Matlab qui permet de :
    soit M1 et M2
    Le but est de créer la matrice M comme suit :
    1ère colonne M1, 1ère colonne M2, 2ème colonne M1, 2ème colonne M2,... etc

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     M1 = [1 2; 11 22] 
     M2 = [3 4; 33 44] 
     M = [ 1 3 2 4; 11 33 22 44]
    C'est possible de le faire via ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    clear all,
    clc,
     
    M1 = [1 2
          11 22]; % La première matrice
     
    M2 = [3 4
          33 44]; % La deuxième matrice
     
    % Première méthode
    Mres = [M1(:,1), M2(:,1), M1(:,2), M2(:,2)] 
     
    % Deuxième méthode (encore mieux que la première)
    H = [M1;M2];
    B = reshape(H,[],1);
    M = reshape(B,2,[])
    Ma question : Est-ce-qu'il existe une foction Matlab qui permet d'avoir ce résultat directement?

    Merci par avance

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Remplissage d'une Matrice à partir de deux matrices
    Bonjour,

    Il doit y avoir plus simple ou plus général :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     i=1:2;
      [M1(i,1) M2(i,1) M1(i,2) M2(i,2)]

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Merci pour la suggestion phryte,

    Oui, c'est un peu comme le code donné dans la question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M = [M1(:,1), M2(:,1), M1(:,2), M2(:,2)]
    Donc, il n'existe pas une fonction Matlab dédiée? N'es-ce-pas?

    Merci encore pour ton retour

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reshape(cat(1,M1,M2),2,4)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Tout à fait, c'est une bonne piste qui permet justement d'avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     M = reshape(cat(1,M1,M2),size(M1,1),[])
    ça me convient, je vous remercie beaucoup phryte

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Créer une matrice à partir de deux vecteurs
    Par vampirella dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/07/2010, 09h56
  2. Update d'une table à partir de deux autres tables
    Par Peewee766 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 04/05/2008, 19h08
  3. Réponses: 1
    Dernier message: 15/03/2008, 20h24
  4. Réponses: 1
    Dernier message: 21/05/2007, 10h33
  5. Réponses: 11
    Dernier message: 13/07/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo