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 :

Trouver les éléments non nuls d'un tableau 3 colonnes


Sujet :

MATLAB

  1. #1
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut Trouver les éléments non nuls d'un tableau 3 colonnes
    Salut,

    Pour trouver les éléments non nuls d'un tableau à 3 colonnes, j'ai l'habitude d'utiliser la commande find, finalement et après plusieurs heures passées à essayer d'expliquer une bizarrerie extrême que me donnait mon script adoré j'ai finalement su que find en est la cause.

    regardez:

    >> A % à titre d'exemple

    A(:,:,1) =

    0 0 0
    0 1 0
    0 0 0


    A(:,:,2) =

    0 0 0
    0 0 0
    0 0 0


    A(:,:,3) =

    0 0 0
    0 0 1
    0 0 0


    >> [x y z]=find(A)

    x =

    2
    2


    y =

    2
    9


    z =

    1
    1
    Pour x et y les valeurs sont parfaite mais pour le z je m'attendais à avoir z= 1 3 !!

    merci de bien vouloir m'aider

  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 316
    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 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Il suffit de prendre le temps de lire la documentation :

    [row,col] = find(X, ...) returns the row and column indices of the nonzero entries in the matrix X. This syntax is especially useful when working with sparse matrices. If X is an N-dimensional array with N > 2, col contains linear indices for the columns. For example, for a 5-by-7-by-3 array X with a nonzero element at X(4,2,3), find returns 4 in row and 16 in col. That is, (7 columns in page 1) + (7 columns in page 2) + (2 columns in page 3) = 16.

    [row,col,v] = find(X, ...) returns a column or row vector v of the nonzero entries in X, as well as row and column indices.

  3. #3
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    peut-on le faire autrement, je viens de tester nnz c'est
    pareil

  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 316
    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 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    idx = find(A(:));
    [x,y,z] = ind2sub(size(A),idx);

  5. #5
    Membre régulier Avatar de Décembre
    Inscrit en
    Avril 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 277
    Points : 110
    Points
    110
    Par défaut
    merci beaucoup

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

Discussions similaires

  1. Trouver les éléments non communs entre deux matrices
    Par Décembre dans le forum MATLAB
    Réponses: 1
    Dernier message: 02/10/2011, 18h31
  2. Réponses: 3
    Dernier message: 05/12/2008, 03h39
  3. ORDER BY sur les champs non nuls
    Par ant0inep dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 05/03/2008, 18h22
  4. Trouver les éléments inutiles
    Par fbu78 dans le forum Access
    Réponses: 1
    Dernier message: 07/02/2008, 11h53
  5. [MySQL] SELECT sur tous les champs Non nuls puis affichage ?
    Par elitemedia dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/08/2007, 15h48

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