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 :

Problème de FIND


Sujet :

MATLAB

Vue hybride

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 74
    Par défaut Problème de FIND
    Bonsoir tout le monde.
    Je vous remercie déja pour votre aide d'il y a deux jours car j'ai réussi à terminer à temps(...) ça m'apprendra tient

    Bon j'ai un autre problème.

    Je dispose de deux matrice ( ou tableaux) en 3D
    Un de 4 x 4 x 4 appelons le BOOKA
    L'autre de 4000 x 4000 x 4000 appelons le BOOKB

    Ce que je veux, c'est extraire les coordonnées ( les indices d'indexation i,j,k de la matrice BOOKB) si ma valeure de BOOKA est présente dans BOOKB.

    En fait, je veux comparer BOOKA et BOOKB et si c'est présent, je ressort les 3 coordonnées de localisation dans BOOKB.

    En plus claire encore peut être. Je veux prendre " de manière transparente) le première valeure de BOOKA et la comparer à l'ensemble des valeures de BOOKB et si elle est presente N fois, je ressors les N indices de localisations de BOOKB.

    J'ai fait

    [ ligne colonne dimension]=find ( BOOKA = BOOKB) mais ça me sort n'importe quoi et surtout une rangée de 1 qui je sors de je ne sais ou.

    l'ideal serait que je recupere ça dans un tableau de 3 colonnes et de N lignes.

    Peux tu m'aider?

    Je vous en remercie

  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 317
    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 317
    Par défaut
    Citation Envoyé par french_aspi Voir le message
    [ ligne colonne dimension]=find ( BOOKA = BOOKB) mais ça me sort n'importe quoi
    Ben c'est le résultat attendu... quand on fait n'importe quoi, MATLAB retourne n'importe quoi, non ?

    Sinon, regarde la fonction ISMEMBER. Tu auras aussi peut être besoin d'une (ou deux) boucle FOR-END et d'une condition IF-END

    Je serais toi, pour commencer, je testerais avec un problème plus simple de taille réduite... mais bon, tu fais comme tu veux, hein ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 74
    Par défaut
    ok, je vois la def de ismember

    [TF,LOC] = ISMEMBER(...) also returns an index array LOC containing the
    highest absolute index in S for each element in A which is a member of S
    and 0 if there is no such index.
    Je pense que tu penses à çà, mais je vois pas bien comment ça peut le faire.

    Pou la deuxième parti de ta question , je l'avais codé et ça marchait, j'utilisais 4 boucle for mais mon maitre de stage ne voulait pas que j'en utilise car MATLAB est pas optimisé pour les boucles, il m'impose donc un ruc du style n"find". c'est pour ça que j'ai été bloqué la dessus tout l'aprem, et encore maintenant

  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 317
    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 317
    Par défaut
    Tu pourrais nous montrer ton code avec les boucles pour qu'on essaye de l'optimiser...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 74
    Par défaut
    non je peux pas car j'ai pas le droit de transférer les fichiers sur ma clef sur le pc ou je bosse pendant mon stage et j'ai plus internet.

    Après je comprends aussi que vous puissiez croire que j'ai pas cherché du tout, si j'étais à votre place, je le penserais aussi.

  6. #6
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Hello,

    tu peux essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [ii, jj, kk] = ind2sub(size(A), find(A == B));

    Salutations,

    Greg

Discussions similaires

  1. Problème méthode Find de Redemption
    Par Samildanach dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 12/08/2008, 13h34
  2. Problème avec "find"
    Par tnarol dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/04/2008, 11h32
  3. Problème méthode find
    Par tazmania dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/06/2007, 15h37
  4. VBA-E Problème méthode .find
    Par popo68 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/01/2007, 10h14

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