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 :

aide for loop to vector


Sujet :

MATLAB

  1. #1
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Points : 263
    Points
    263
    Par défaut aide for loop to vector
    Bonjour,

    Je cherche à remplacer une boucle for par du calcul vectoriel ( beaucoup plus efficace en temps)

    code original :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for j = 1 : size(ale,1)
       inter(mat(:,ale(j))+1) = not(inter(mat(:,ale(j))+1));
    end
    exemple pour la sortie :
    0 0 0=> 0
    1 0 1=> 0
    0 1 1=> 0
    1 1 1=> 1


    code en vecteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       inter(mat(:,ale(1:end))+1) = not(inter(mat(:,ale(1:end))+1));
    exemple pour la sortie :
    0 0 0=> 0
    1 0 1=> 1
    0 1 1=> 1
    1 1 1=> 1


    Donc le problème il ne fait pu la fonction not

    Des idées ?
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Es-tu sûr de bien utiliser la fonction not ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    M = [0 0 0
        1 0 1
        0 1 1
        1 1 1]
     
    not(M)
     
    all(M, 2)
    donne :

    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
         0     0     0
         1     0     1
         0     1     1
         1     1     1
     
     
    ans =
     
         1     1     1
         0     1     0
         1     0     0
         0     0     0
     
     
    ans =
     
         0
         0
         0
         1
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Points : 263
    Points
    263
    Par défaut
    Merci, je ne connais pas la fonction all mais correspond pas à mon besoin je crois
    J'attendais cette question

    Oui et non


    Pour chaque chaque 1, true par ligne dans ma matrice, j'ai un changement d’état de ma sortie ( nombre impaire de 1 => sortie active, nombre paire de 1 sortit inactive). Je n'arrive pas à l’écrire en une seule ligne

    0 0 0=> 0
    1 0 1=> 0
    0 1 1=> 0
    1 1 1=> 1

    j'aurais du ajouter cela :

    010 => 1

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Comme ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    M = [0 0 0
        0 1 0
        1 0 1
        0 1 1
        1 1 1];
     
    bitget(sum(M, 2), 1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ans =
     
         0
         1
         0
         0
         1
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Points : 263
    Points
    263
    Par défaut
    Merci, j'ai plus qu'a l’écrire.

Discussions similaires

  1. Ignorant qui a bseoin d'aide- curseur & loop
    Par waterblaze dans le forum SQL
    Réponses: 3
    Dernier message: 15/02/2010, 14h34
  2. [SSIS][2k5]FOR LOOP CONTAINER - Format de date
    Par magicsam dans le forum SSIS
    Réponses: 4
    Dernier message: 26/06/2008, 14h00
  3. for loop ne marche pas en c#
    Par christianf dans le forum C#
    Réponses: 3
    Dernier message: 23/05/2008, 11h21
  4. FOR LOOP avec curseur
    Par benoitchabot dans le forum DB2
    Réponses: 1
    Dernier message: 28/02/2007, 15h20
  5. Erreur "For loop variable simple local varaible"
    Par Yepazix dans le forum Langage
    Réponses: 13
    Dernier message: 17/09/2005, 22h09

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