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 :

convertir composants de cell en variables?


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Par défaut convertir composants de cell en variables?
    Bonjour, voila mon problème depuis 2 jours...

    J'ai une colonne excell aves des noms de variables, entrees et sorties, je fais le tri et j’obtiens juste les entrées dont j'ai besoin entrees={entree1, ...., entreen} dans la deusieme colonne j'ai les valeurs de tous les variables, le problème c'est q j'arrive pas convertir entree1 etc en variable, pour pouvoir passer entree1 etc comme entrée/sortie et faire des calculs avec entree1 et pas entrees{1}.
    J'ai fait ça, mais c'est trop naze, il faut écrire toutes les variables, même si je l'ai automatise ...

    Ps. j'ai pas la symbolic toolbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         if strcmp ( tab{i,colTag},'OMT_KDNCaext_E')
             OMT_KDNCaext_E = tab{i , col};
         end
         if strcmp ( tab{i,colTag},'OMT_QpsEBbio')
             OMT_QpsEBbio = tab{i , col};
         end
    Merci de votre aide!!!!

  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
    Une solution consiste à créer une structure avec des noms de champs dynamiques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    tab = {'A' 1 ; 'B' 2 ; 'C' 3};
     
    for n = 1:size(tab,1)
     
        S.(tab{n,1}) = tab{n,2};
     
    end
    ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    tab = 
     
        'A'    [1]
        'B'    [2]
        'C'    [3]
     
     
    S = 
     
        A: 1
        B: 2
        C: 3

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Par défaut
    Merci bcp!!

    ça devra marcher mais pour l'instant j'ai un probleme avec les NaN je crois.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ??? Argument to dynamic structure reference must evaluate to a valid field name.
    Mon tableau il ressemble a ça....il y a des NaN un peu par tout, donc il faut, peut être que j’enlève les files qui correspondent aux NaN dans la premier colonne????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var = 
     
      Columns 1 through 8
     
        [NaN]    [NaN]    [NaN]    [NaN]    'DiM_Affich_L5'    'DiM_alt'    'DiM_effluent'    'DiM_tmax_filtr'
        [  1]    [NaN]    [NaN]    [NaN]    [            1]    [     50]    [           1]    [            25]
     
      Columns 9 through 16
     
        'DiM_t'    'DiM_tairmax'    'DiM_tairmin'    [NaN]    [NaN]    [NaN]    'DiM_procede'    'DiM_module'
        [   12]    [         50]    [         10]    [NaN]    [NaN]    [NaN]    [          1]    [         1]

    J'ai essaye avec isnan et cellfun + isempty, mais il y a un truc qui m'échappe....

    Merciii

  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
    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for n = 1:size(tab,1)
        if ~isnan(tab{n,1})
            S.(tab{n,1}) = tab{n,2};
        end    
    end

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Par défaut
    Bonjour, merci bcp!!! ça marche!!! il me manque juste un truc..... mais tres importante malheureusement...

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    DiM_Affich_L5 =
     
       NaN
     
     
    n =
     
         6
     
    K>> DiM_Alt
    ??? Undefined function or variable 'DiM_Alt'.
     
    K>> DiM_alt
     
    DiM_alt =
     
       NaN
     
    K>> S.DiM_Affich_L5
     
    ans =
     
         1
     
    K>> S.DiM_alt
     
    ans =
     
        50
    Je voudrais pouvoir appeler les variables sans le S.__ parce que je dois les utiliser dans des autres fonctions qui existent déjà....

    merci bcp

Discussions similaires

  1. Convertir un retour ajax en variable PHP
    Par mme_chelaou dans le forum jQuery
    Réponses: 1
    Dernier message: 01/06/2012, 20h02
  2. Réponses: 3
    Dernier message: 09/11/2011, 13h40
  3. [SWING] Convertir composant en image
    Par waybee dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 28/05/2008, 14h02
  4. Convertir Range en Cells
    Par Sakapatate dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2008, 14h18
  5. Réponses: 1
    Dernier message: 28/09/2006, 16h21

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