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 :

Décaler les éléments d'une matrice


Sujet :

MATLAB

Vue hybride

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Par défaut Décaler les éléments d'une matrice
    Bonjour,

    J'aimerai décaler les éléments d'une matrice, d'une seule case, de deux cases et ainsi de suite et à la fin j'aurais l'ensemble des matrices affichées.
    Exemple :

    à partir de la première matrice :
    1 -1 0 0 0 0
    0 0 1-1 0 0
    0 0 0 0 1 -1

    J'aimerai avoir cette matrice après le premier décalage:
    1 0 -1 0 0 0
    0 0 1 0-1 0
    -1 0 0 0 1 0

    Après le deuxième décalage :

    1 0 0 -1 0 0
    0 0 1 0 0 -1
    0-1 0 0 1 0

    Merci par avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur en analyse décisionnelle
    Inscrit en
    Juin 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en analyse décisionnelle

    Informations forums :
    Inscription : Juin 2013
    Messages : 113
    Par défaut
    C'est très simple, mais je vois qu'uniquement tes "-1" sont décalés. C'est tout aussi simple, mais qu'arrive-t-il lorsque tes "-1" rencontrent tes "1" ?

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    >> a = [1 -1 0 0 0 0;0 0 1 -1 0 0;0 0 0 0 1 -1]
    a =
         1    -1     0     0     0     0
         0     0     1    -1     0     0
         0     0     0     0     1    -1
    >> b = a
    b =
         1    -1     0     0     0     0
         0     0     1    -1     0     0
         0     0     0     0     1    -1
    >> t = (b==-1); b(circshift(t,1,2)) = -1; b(t) = 0
    b =
         1     0    -1     0     0     0
         0     0     1     0    -1     0
        -1     0     0     0     1     0
    >> t = (b==-1); b(circshift(t,1,2)) = -1; b(t) = 0
    b =
         1     0     0    -1     0     0
         0     0     1     0     0    -1
         0    -1     0     0     1     0
    >> t = (b==-1); b(circshift(t,1,2)) = -1; b(t) = 0
    b =
         1     0     0     0    -1     0
        -1     0     1     0     0     0
         0     0    -1     0     1     0
    >> t = (b==-1); b(circshift(t,1,2)) = -1; b(t) = 0
    b =
         1     0     0     0     0    -1
         0    -1     1     0     0     0
         0     0     0    -1     1     0
    >> t = (b==-1); b(circshift(t,1,2)) = -1; b(t) = 0
    b =
        -1     0     0     0     0     0
         0     0    -1     0     0     0
         0     0     0     0    -1     0

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 18
    Par défaut
    Je te remercie infiniment pour ton aide. Au fait, ça me gène pas si le (-1) coïncide avec (1), vu que je vais aussi décaler le (1) de la même manière et à la fin je vais sélectionner uniquement les matrices qui ont la somme de chaque colonne est égale à |1|.
    A présent, je vais essayer de généraliser tout ça, pour toutes les matrices.

    Merci encore une fois.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2012, 23h27
  2. [Débutant] extraire les éléments d'une matrice un par un
    Par cameleone31 dans le forum Images
    Réponses: 23
    Dernier message: 19/11/2011, 16h50
  3. [Débutant] séparer les éléments d'une matrice
    Par seboututou dans le forum MATLAB
    Réponses: 5
    Dernier message: 05/10/2011, 11h24
  4. [Débutant] Comment éffacer les éléments d'une matrice
    Par Intracide dans le forum MATLAB
    Réponses: 5
    Dernier message: 15/01/2011, 18h37
  5. Travail sur les éléments d'une matrice.
    Par Jefeh dans le forum MATLAB
    Réponses: 6
    Dernier message: 12/11/2007, 15h10

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