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

Signal Discussion :

Manipulation de Matrices - Fonction reshape [Débutant]


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 35
    Par défaut Manipulation de Matrices - Fonction reshape
    Bonsoir,

    J'ai une matrice 1x10 que je souhaite transformer en matrice 2x5. Pour cela j'utilise la fonction reshape mais Le problème c'est que l'ordre des données que j'obtiens ne me convient pas:

    Données initiales:
    1 2 3 4 5 6 7 8 9 10

    Données que j'obtiens avec la fonction reshape:
    1 3 5 7 9
    2 4 6 8 10

    Données que je souhaite obtenir:
    1 2 3 4 5
    6 7 8 9 10

    Merci d'avance pour votre aide.

    Domino5731

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Il te faut opérer une transposée en plus de reshape dans lesquels tu inverses les paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    >>T = [1 2 3 4 5 6 7 8 9 10];
    >>reshape(T,2,5)
     
    ans =
     
         1     3     5     7     9
         2     4     6     8    10
     
    >>reshape(T,5,2).' 
     
    ans =
     
         1     2     3     4     5
         6     7     8     9    10

  3. #3
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 35
    Par défaut
    Merci !

  4. #4
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 35
    Par défaut
    Bonjour,

    J'ai encore une question sur la fonction reshape: j'ai une matrice de la forme suivante 2x2x2 double:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    val(:,:,1) =
     
        3.9073    7.0560
        3.8111    6.8824
     
     
    val(:,:,2) =
     
        6.8784   12.4216
        6.8815   12.4271
    Je souhaite obtenir la matrice de la forme 1x8 suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3.9073    7.0560    3.8111    6.8824   6.8784   12.4216   6.8815   12.4271
    Or, j'obtiens la matrice suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3.9073   3.8111   6.8784   6.8815   7.0560   6.8824   12.4216   12.4271
    Après de nombreuses tentatives infructueuses, je m'adresse à vous.

    Merci pour vos réponses.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Il te faut opérer une permutation sur les dimensions 1 et 2 pour commencer.

  6. #6
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 35
    Par défaut Multiplication de matrices
    Toujours aussi efficace !

    A chaque fois que j'avance un peu, je me heurte à un nouveau "petit problème" qui m'empêche d'avancer !

    Voici mon nouveau problème:

    - j'ai une matrice 1x3 double G1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1,95251798651759	3,52599187053688	1,95251798651759
    - j'ai aussi une matrice 9x3 double G2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    2,38102926113102	3,23372241159315	1,46103659067400
    1,89280331656645	3,37466713748977	1,89280331656645
    1,46103659067400	3,23372241159315	2,38102926113102
    2,46669356004975	3,37466713748977	1,50122621667594
    1,95251798651759	3,52599187053688	1,95251798651759
    1,50122621667594	3,37466713748977	2,46669356004975
    2,38102926113102	3,23372241159315	1,46103659067400
    1,89280331656645	3,37466713748977	1,89280331656645
    1,46103659067400	3,23372241159315	2,38102926113102
    Je veux juste multiplier colonne par colonne les termes entre eux. C'est à dire:
    - la colonne 1 de G1 avec la colonne 1 de G2
    - la colonne 2 de G1 avec la colonne 2 de G2
    - la colonne 3 de G1 avec la colonne 3 de G2

    Et ainsi obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    4,649002459	11,40207893	2,852700222
    3,695732521	11,89904889	3,695732521
    2,852700222	11,40207893	4,649002459
    4,816263543	11,89904889	2,93117119
    3,812326488	12,43261867	3,812326488
    2,93117119	 11,89904889	4,816263543
    4,649002459	11,40207893	2,852700222
    3,695732521	11,89904889	3,695732521
    2,852700222	11,40207893	4,649002459

    Pour l'instant je suis capable d'obtenir la multiplication de toutes les colonnes entre elles:
    la 1 de G1 avec la 1 de G2
    la 1 de G1 avec la 2 de G2
    la 1 de G1 avec la 3 de G2

    la 2 de G1 avec la 1 de G2
    la 2 de G1 avec la 2 de G2
    la 2 de G1 avec la 3 de G2

    la 3 de G1 avec la 1 de G2
    la 3 de G1 avec la 2 de G2
    la 3 de G1 avec la 3 de G2

    Merci pour votre aide.

    Domino5731

  7. #7
    Invité
    Invité(e)
    Par défaut
    Deux fonctions à regarder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    doc bsxfun
    doc repmat

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

Discussions similaires

  1. manipulation des matrices sous SSRS
    Par linram dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/07/2007, 12h31
  2. [Manipulation de matrices] Elements adjacents
    Par Opérateur dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 25/11/2006, 11h30
  3. Fonctions manipulant des matrices
    Par panda31 dans le forum C
    Réponses: 24
    Dernier message: 14/06/2006, 10h28
  4. Redimensionner une matrice avec "reshape"
    Par kmaniche dans le forum Images
    Réponses: 9
    Dernier message: 07/06/2006, 18h35
  5. Manipulation de matrices.
    Par TeKa dans le forum C
    Réponses: 28
    Dernier message: 16/11/2005, 15h53

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