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 :

Importer des constantes depuis Excel


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut Importer des constantes depuis Excel
    Bonjour,

    J'ai vu qu'on pouvait lier Excel et Matlab dans votre FAQ.
    Mais voici ce que j'aimerai faire:
    Dans excel, je met dans la première colonne a,b et c. Et dans la seconde, les valeurs de ces 3 constantes, 1, 2 et 3 par exemple.
    J'aimerais qu'en lisant le fichier excel, Matlab rajoute les constantes a=1, b=2 et c=3 automatiquement.
    Car là, en lisant le fichier, il me sort un vecteur 1, 2 et 3 mais ce n'est pas ce que je veux

    Il y a beaucoup de constantes, et beaucoup de valeurs, et tout rentrer à partir de Excel est plus simple.

    Merci,

    Romain.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Points : 2 385
    Points
    2 385
    Par défaut
    Bonjour,

    peux tu nous montrer le code qui te sert à faire l'import de ton fichier ainsi qu'éventuellement un fichier excel à importer?
    Si vous cherchez des réponses sur ce forum il faudra avant tout expliquer clairement votre problème et exposer la démarche que vous avez entreprise pour le résoudre. Fournissez une base de travail et de réflexion à vos interlocuteurs!

  3. #3
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 881
    Points : 3 429
    Points
    3 429
    Par défaut
    salut

    un exemple de code te mettant a,b et c dans une structure s
    (pour les mettre directement dans le workspace il faudrait utilise eval ou assignin, ce que je n'aime pas trop)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [num,txt] = wlsread(monFichier');
    s = struct;
    for ii=1:numel(txt(:,1))
      if isvarname(txt(ii,1))
         s.(txt(ii,1)) = num(:,1);
       end
    end

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Merci pour ta réponse! Mais je n'ai pas réussi à faire fonctionner le code.

    Avec la commande [num,txt] = xlsread(monFichier');
    je récupère
    txt=
    'a'
    'b'
    'c'

    Il n'y a pas une commande (du genre str2num, mais ce serait plutôt num2constante ici) qui permette d'écrire : commande(txt(1,1)) = 2
    Et Matlab rajouterait la constante a=2.

    Vous pensez que c'est possible ? Il y a bien une commande qui doit faire ça, non ?

    Merci

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Avec assisign c'est pas mal, mais ça ne marche pas encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    [num txt] = xlsread('exceltest.xlsx');
     
     
    for i=1:numel(txt(:,1))
         nom_var=txt(i)
         assignin('base', txt(i,1), num(i))
     
    end
    en effet, txt(i,1) contient une variable string mais matlab aimerait plutôt que je mette directement un string (du genre assignin('base', 'a', num(i)) )

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Ah j'ai ENFIN réussi à faire ce que je voulais.
    Pour ceux que ça intéresse, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [num txt] = xlsread('exceltest.xlsx');
     
    for i=1:numel(txt(:,1))
         assignin('base', char(txt(i,1)), num(i));
    end
    Il fallait utiliser char !! C'est tout simple en fait !

    Merci à toi, tu m'as mis sur la piste du assignin qui m'a grandement aidé.

    Pb résolu

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

Discussions similaires

  1. comment importer des fichiers depuis excel à SQL Server
    Par sorown dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/04/2014, 12h09
  2. [Débutant] importer des données depuis Excel
    Par canary dans le forum MATLAB
    Réponses: 9
    Dernier message: 02/05/2010, 18h03
  3. Réponses: 2
    Dernier message: 24/09/2009, 13h22
  4. importer et exporter des données depuis excel
    Par thonyyzz dans le forum C++
    Réponses: 2
    Dernier message: 22/04/2008, 20h18
  5. importation des contact depuis excel
    Par funkyjul dans le forum Outlook
    Réponses: 3
    Dernier message: 30/03/2008, 16h19

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