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 :

Passage de chaines de caractères en argument [Débutant]


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 121
    Points : 63
    Points
    63
    Par défaut Passage de chaines de caractères en argument
    Bonjour,

    Je souhaiterais passer plusieurs chaines de caractères en un unique argument d'une fonction. Les chaines de caractères correspondent à des chemins de fichiers .mat que je souhait charger.

    J'ai tenté de la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    maFonction(['./dossier/f1.mat', './dossier/f2.mat'])
     
    ---
     
    function maFonction(chemins)
     
    for i = 1 : size(chemins, 2)
       load(chemins(i));
    end
    Le problème est que dans cet exemple chemins(1) = '.', chemins(2) = '/' etc...

    J'ai ensuite pensé à un tableau de cellules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    maFonction({'./dossier/f1.mat', './dossier/f2.mat'})
     
    ---
     
    function maFonction(chemins)
     
    for i = 1 : size(chemins, 2)
       load(chemins{i});
    end
    Mais cela ne fonctionne pas. Les variables chemins{i} ne contiennent apparement pas de string. Quand je souhaite afficher chemins{1} il m'affiche './dossier/f1.mat' en noir comme s'il s'agissait du nom d'une variable.


    Auriez-vous une solution à me proposer ? (et eventuellement une explication du résultat obtenu avec le tableau de cellules ?)

    Merci d'avance !

  2. #2
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    salut
    je te conseille d'utiliser un tableau de cellules (ta deuxième solution) qui normalement fonctionne.
    Citation Envoyé par SAKDOS
    Les variables chemins{i} ne contiennent apparement pas de string. Quand je souhaite afficher chemins{1} il m'affiche './dossier/f1.mat' en noir comme s'il s'agissait du nom d'une variable.
    pour savoir de quel type est ta variable et cela renvoie "char"

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 121
    Points : 63
    Points
    63
    Par défaut
    Ah oui je mettais load(chemins(i)) au lieu de load(chemins{i})

    Merci !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/12/2013, 10h16
  2. Réponses: 2
    Dernier message: 18/01/2011, 11h17
  3. [MySQL] Passage d'une chaine de caractère à une requête via une fonction
    Par jalam dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/09/2009, 17h58
  4. Réponses: 5
    Dernier message: 28/06/2007, 09h41
  5. Réponses: 4
    Dernier message: 26/12/2005, 17h01

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