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 :

fonction si et nouvelle matrice [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut fonction si et nouvelle matrice
    Bonjour tout le monde,

    Je viens de commencer à utiliser matlab, dessiner des graphiques y ajouter une courbe de tendance sont des choses que je commence à bricoler.

    Par contre, je ne sais pas et je n'arrive pas à partir d'un fichier excel importer, créer un petit programme qui me permettrais de classer mes données dans des matrices différentes en fonction d'un nom de référence qui leur est attribué en quatrième colonne.

    Grosomodo, j'aimerai à l'aide d'une fonction "if" dire si lui a son texte qui commence par 1 alors inscrivais les lignes 1, 2 et 3 à la suite de la matrice 1.

    J'espère ne pas être trop abstrais.

    Merci d'avance !

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    ce sont des chaines de caractères dans ta 4eme colonne? Si oui,
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    oui c'est un code d'un chiffre, ensuite de deux lettres et pour finir un dernier chiffre par exemple : ->1aa1<-
    Je vais regarder ce que tu proposes, je te tiens au courant
    merci beaucoup

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut suite possible?
    Yes ta réponse m'a aidé pour créer une matrice. Enfaite j'importe mes données et j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x=strncmp(textdata(:,4), '1', 1);
    Là j'ai une matrice qui identifie si oui ou non le premiers caractère du code est '1' . Mais tu ne sais pas comment je pourrais faire pour qu'il fasse une nouvelle matrice mais qui ne contient que les données numériques des 3 premières colonnes inscrite dans data si le code commence par '1'?

    Désolé je n'ai que très peu de base

    Merci et bonne soirée

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x = textdata(textdata(:,1)=='1',1:3);
    Par contre:
    x=strncmp(textdata(:,4), '1', 1);
    Là j'ai une matrice qui identifie si oui ou non le premiers caractère du code est '1'
    n'est pas exact, tu vérifies si tous les éléments de la dernière colonne (4ème)sont égaux à '1'.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    bonsoir winjerome,

    merci pour ta réponse,

    voici ce que j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    >> x = data(textdata(:,4)=='1',1:3);
    ??? Undefined function or method 'eq' for input arguments of type 'cell'.
    Peux-tu m'expliquer brièvement ce que tu voulais faire? Par exemple je ne sais pas à quoi sert le double égal ==.

    Oui je suis un véritable néophyte !


    Sinon en ce qui concerne la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    >> x=strncmp(textdata(:,4), '1', 1);
    Si j'ai bien compris elle crée une matrice qui indique '1' si les caractères commence par '1'.

    Par exemple, en m'inspirant de l'aide, j'ai tapé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    textdata{strncmp(textdata, '1ce1', 3)}
    et j'obtiens cela:
    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
    17
    18
    19
     
    ans =
     
    1ce1
     
     
    ans =
     
    1ce1
     
     
    ans =
     
    1ce3
     
     
    ans =
     
    1ce2
    Merci pour votre patience.

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

Discussions similaires

  1. fonction .click sur nouvel élément
    Par tylerr dans le forum jQuery
    Réponses: 6
    Dernier message: 30/08/2010, 16h38
  2. fonction pcolor appliqué à un matrice
    Par sulliwane dans le forum MATLAB
    Réponses: 2
    Dernier message: 23/12/2009, 11h06
  3. Réponses: 8
    Dernier message: 14/12/2007, 10h23
  4. Fonction recursives et nouvelle fenêtre
    Par Ro-Minet dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/10/2007, 13h39
  5. Fonction qui retourne une matrice
    Par condor_01 dans le forum C
    Réponses: 7
    Dernier message: 22/10/2007, 13h31

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