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 :

tableau de cellules, chercher le n° de ligne d'une cellule comportant le mot [Débutant]


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Points : 43
    Points
    43
    Par défaut tableau de cellules, chercher le n° de ligne d'une cellule comportant le mot
    Bonjour,

    j'ai un tableau de cellules. Chaque cellule comprends une 1ere ligne avec des noms (titre des colonnes) puis toutes les autres lignes sont des valeurs numériques.

    J'ai tout d'abord récupérer les 1ers lignes de chaque cellules pour les mettre dans un tableau de cellules.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for p=3:size(A,1)
        fid = fopen(A(p,:),'rt');   
        tline =fgetl(fid);
        a = textscan(tline,'%s','delimiter','\t');    
        tcol (p-2) = a;
        fclose(fid);
    end
    Avec cela, j'obtiens un tableau de cellules où chaque cellule est composée d'une colonne et chaque ligne de cette colonne représente un titre initial des colonnes préalables. J'aimerai pouvoir maintenant obtenir le n° de ligne où le mot Perimeter apparait.
    J'ai tenté cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      for p=1: a(end, 1)
           if a{1}(p,1) = 'Perimeter' then cPerimeter = p; end
    J'obtiens l'erreur suivante
    The expression to the left of the equals sign is not a valid target for an assignment
    ce que je conçois mais je ne sais pas comment faire.

    J'ai cherché sur le forum mais je n'ai rien trouvé qui pouvait m'aider ou sinon, je n'ai pas tapé les bons mots clés.
    Merci pour votre aide

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

    Alors attention, pour faire une comparaison, on utilise l'opérateur == et non = qui sert pour l'affectation.
    Toutefois, ici ce sont des chaines de caractères, on utilisera donc la fonction strcmp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if strcmp(a{1}(p,1) , 'Perimeter') % pas de then en MATLAB
        cPerimeter = p; 
    end

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 66
    Points : 43
    Points
    43
    Par défaut
    MErci beaucoup!

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

Discussions similaires

  1. Retour à la ligne dans une cellule de tableau
    Par v0nv0n dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 20/11/2009, 14h27
  2. Réponses: 5
    Dernier message: 03/02/2009, 13h43
  3. Réponses: 2
    Dernier message: 17/11/2008, 12h40
  4. Saut de ligne dans une cellule de tableau
    Par enneite dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 05/12/2007, 13h00
  5. [Affichage] Saut de ligne dans une cellule de tableau
    Par pc.bertineau dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 19/02/2007, 09h54

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