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 string


Sujet :

MATLAB

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut tableau de string
    Bonjour,
    Je voudrais créer un tableau de string à partir d'un sprintf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Minutes = 12;
    Secondes = 10;
    Centiemes = 200;
    k=9;
    TimeString = sprintf('00:%02d:%02d.%02d', Minutes,Secondes,Centiemes);
    J'obtiens TimeString 1x12 char=00:12:10.200
    par contre je n'arrive pas à faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Listing(k) = TimeString;
    mais ça marche pas car TimeString contient 12 valeurs donc j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = cellstr(sprintf('Tps_%d %s',k,TimeString));
    qui me donne cell 1x1 avec ma string mais maintenant j'ai le problème que mon listing est déclaré comme double .
    Comment puis-je initialiser mon tableau comme des strings ?
    sachant que je ne connais ni la taille du tableau ni la taille des strings.

    Merci

  2. #2
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Bonjour,
    et en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    listing = {};
    [...]
    listing{k} = TimeString;
    ?

    Ensuite pour accéder aux éléments:

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut
    ben oui mais non car si je fais
    tmp n'est pas une string mais une cell 1x1 , or c'est une string que je recherche car j'en ai besoin comme argument pour la fonction delete();
    Merci

  4. #4
    Membre averti
    Femme Profil pro
    Ingénieur informatique scientifique
    Inscrit en
    Mai 2010
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique scientifique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 313
    Points : 301
    Points
    301
    Par défaut
    Autant pour moi,
    pour avoir une string tu accèdes à l'élément avec les accolades:


  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut
    Merci
    Mais avant de conclure ce post j'ai encore une petite question concernant la commande delete.
    Je voudrais l'utiliser pour supprimer un menu en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    handles = guidata(gcbf);
    delete(handles.ChoixMenu.MenuName{k});
    mais j'ai une grosse erreur
    ??? Attempt to reference field of non-structure array.
    une idée ?
    Merci

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Lire la FAQ pour comprendre comment manipuler les tableaux de cellules et leur contenu : Tableaux de cellules (cell array)

    Pour la dernière question, faire (sans doute) comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    delete(handles.ChoixMenu.(MenuName{k}));
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut
    Merci pour le lien...

    ça ne marche pas non plus
    si j'évalue j'ai une valeur pour le handle
    par contre si j'évalue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handles.ChoixMenu.(MenuName{k})
    j'ai cette erreur
    ??? Attempt to reference field of non-structure array.

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Quel est le lien entre ChoixMenu et MenuName ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut
    ChoixMenu est la racine de mon uimenu
    ensuite en sous menu j'ai une liste générée en fonction d'un temps voila pourquoi je n'ai pas de menu fixe ,
    Exemple

    ListingTemps(ChoixMenu)
    - Tps_1 00:01:10.1200(MenuName{1})
    - Tps_2 00:01:12.1200(MenuName{2})
    - Tps_3 00:01:13.1200(MenuName{3})
    ....

    les noms des sous menus sont stockés dans MenuName , mais j'ai besoin d'en supprimer certains voila pourquoi je voudrais utiliser delete.
    exemple
    supprimer Tps_2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    k=2;
    delete(handles.ChoixMenu.(MenuName{k}));

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Dans ce cas, tu peux faire quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    h = findobj('parent',handles.ChoixMenu,'label',MenuName{k});
     
    if ~isempty(h)
        delete(h)
    end
    A toi de l'adapter.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 296
    Points : 99
    Points
    99
    Par défaut
    Parfait
    Merci

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

Discussions similaires

  1. Tester si une String fait partie d'un tableau de String
    Par laloi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/04/2005, 16h47
  2. [J2SE] tableau de string
    Par Jules82 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/03/2005, 14h35
  3. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [Collections] Tableau de String
    Par gexti dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/06/2004, 15h42

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