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 :

Rechercher termes dans matrice [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Points : 18
    Points
    18
    Par défaut Rechercher termes dans matrice
    Bonjour,
    J'ai trouvé des solutions proches de mon problème mais pas exactement ce que je veux alors voilà :

    A la base j'ai une matrice A de taille n*4 qui représente des coordonnées de points en 3D et la quatrième colonne représente l'étiquetage du point.

    De cette matrice j'ai extrait les points dont la coordonnée en y se trouve dans un certain intervalle. J'obtiens une nouvelle matrice A2.

    Pour cette matrice, j'en ai une autre associée, la matrice B qui représente les faces (c'est un maillage en fait). C'est une matrice de dimension p*3. Dans cette matrice sur chaque ligne 3 étiquettes de points qui représente une face (un triangle).

    Après avoir obtenu A2, il y a donc des numéros de points dans B qui n'apparaissent plus. J'aimerai donc trouvé ces numéros et supprimer la ligne dans laquelle ils apparaissent.

    Pour l'instant voici mon code mais il ne fonctionne pas (avec A2 = CSVreg et B = f, je n'ai pas mis la phase d'extraction de A à A2 pq je n'ai pas de problème là dessus) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    vertex = CSVreg(:,4) ;
    [v,f] = stlread('10_FemurD.stl');
     
    for i = 1 : size(f,1)
    [row1,col] = find( f(i,1) == vertex );
    [row2,col] = find( f(i,2) == vertex );
    [row3,col] = find( f(i,3) == vertex  );
    end
     
    row = [row1',row2',row3'];
    row = unique(row) ;
     
    f(row,:) = [] ;

    Une idée de quoi changer pour que cela fonctionne?
    Je vous remercie par avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ton problème est que row1, row2 et row3 ne contiennent les résultats que de la dernière itération de ta boucle for.
    La fonction ismember pourrait se révéler utile ici.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Ah ben oui quel idiot ! Par contre je connaissais pas ismember, je vais regarder. Merci bien!

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

Discussions similaires

  1. [Algo] Recherche maximum dans matrice 2D
    Par Aspic dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 19/06/2011, 14h11
  2. recherche du dernier terme dans fichier php
    Par strongwave dans le forum Langage
    Réponses: 1
    Dernier message: 23/07/2007, 13h41
  3. Recherche d'un terme dans toute les class du projet
    Par aristeas dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 30/06/2007, 21h20
  4. Réponses: 1
    Dernier message: 24/05/2007, 14h46
  5. Recherche plusieurs termes dans un fichier
    Par Kaoziun dans le forum Linux
    Réponses: 2
    Dernier message: 03/10/2006, 15h02

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