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

Algorithmes et structures de données Discussion :

Find - les points tous à 1


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 453
    Par défaut Find - les points tous à 1
    Bonjour,

    Je cherche une méthode rapide pour retrouver les time points pour lesquel certains de mes signaux sont à 1.. Je m'explique:

    Si j'ai un tableau comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tab(1,2:5) = 1;
    tab(2,1:2) = 1;
    tab(3,4:5) = 1;
    Je peux dire que les time points 4 et 5 sont à 1 pour la ligne 1 et 3 en fesant comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find(tab(1,:)==1 & tab(3,:)==1)
    Seulement j'aimerais pouvoir faire ceci plus rapidement pour plusieurs lignes.. Je pensais pouvoir faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find(tab([1,3],:)==1)
    Mais cela ne me donne pas le même résultat...


    Est-ce que vous voyez un moyen de donner plusieurs index (mes lignes) pour lesquelles je veux trouver les points à 1 pour ces différentes lignes?

    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 453
    Par défaut
    Je crois que j'ai trouvé..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     x=[];
    theId = [1 3];
            for k = theId
                y1 = find(tab(k,:)==1);
                x = intersect(x,y1);
            end

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 453
    Par défaut
    ou plutot ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    x = [];
            cpt = 1;
            theId = [1 3];
            for k = theId
                y1 = find(CERT.DATA.threshold(k,:)==1);
                if isempty(x) && cpt==1
                    x = y1;
                else
                    x = intersect(x,y1);
                end
                cpt = cpt+1;
                y1 = [];
            end

  4. #4
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    Et ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    indices = [1 3];
    i = find ( sum(tab(indices,:)==1) == length(indices) );

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

    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
    tab(1,2:5) = 1;
    tab(2,1:2) = 1;
    tab(3,4:5) = 1;
     
    indices = [1 3];
    [i j] = find(tab(indices,:)==1);
    [indices(i).' j ]
     
    ans =
     
         1     2
         1     3
         1     4
         3     4
         1     5
         3     5

Discussions similaires

  1. Récupérer tous les points GPS suivant une distance
    Par megaloplex dans le forum SPARQL
    Réponses: 0
    Dernier message: 29/07/2011, 15h25
  2. [RegEx] Effacer tous les points sauf le dernier en fin de phrase
    Par dancom5 dans le forum Langage
    Réponses: 4
    Dernier message: 11/05/2011, 03h07
  3. Réponses: 0
    Dernier message: 15/10/2009, 14h10
  4. Tous les points d'un cercle
    Par Speed41 dans le forum Débuter
    Réponses: 8
    Dernier message: 22/12/2007, 09h26
  5. comment connaître tous les points d'un arc cercle.
    Par scalaire00 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 02/05/2006, 16h10

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