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 :

comment utiliser le nom d'une variable comme chaine de caractères


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut comment utiliser le nom d'une variable comme chaine de caractères
    bonjour a tous,

    est ce que vous savez comment convertir une variable en string sous Matlab. Les fonctions num2str ou var2str ou autre fonction du genre ne marche pas. En effet, ce que je veux, si j'ai une variable, un vecteur, ou une matrice qui s'appelle 'vect'. et si vect=[1 2 3 4] par exemple, si je tape dans la commade window de matlab:

    je recois comme reponse:

    .
    Ce que je veux c'est au lieu de recevoir la valeur du vecteur, de recevoir son nom.

    c'est a dire

    doit donner:

    vous savez comment faire ?

    merci beaucoup,

  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
    Quel est l'intérêt ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut
    En fait, j'aimerai créer une fonction qui, entre autre, écrit le nom (et non pas la valeur) d'un vecteur (un de ses paramètres) dans un fichier txt.

    en gros, çà ressemble à çà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function y=check(vect,...)
    ......
     
    fid=fopen('sim_verification','w');
    fprintf(fid,'%s', simulation_heure,' :simulation of ','g(vect) failed' );
    Donc je cherche une fonction g qui récupère le nom de la variable.

    J'espère que c'est clair.

  4. #4
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Le fonction INPUTNAME devrait t'aider...

    Bonne apm,
    Duf

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Par défaut
    merci pour la reponse.
    J'ai pas eu l'occasion de la tester parce aue ma fonction ne marche pas.

    voici ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function check_simulation(vect,vect_expected,a,b)
     
    simulation_heure = datestr(now);
    fid=fopen('sim_verification','w');
     
    if norm((vect(a:b)-vect_expected(a:b)),2) <0.01
            fprintf(fid,'%s', simulation_heure,' :simulation of hahaha ',inputname(1),' passed');
        else 
            fprintf(fid,'%s', simulation_heure,' :simulation of hahaha ',inputname(1),' failed' );
    end

    quand je fais appel a ma fonction par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cheking(sensor_state, sensor_state_expected,2,5/0.2)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cheking(sensor_state, sensor_state_expected,2,5)
    j'obtiens l'erreur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ??? Undefined function or method 'checkig' for input arguments of type 'double'.


    (checking est le nom de mon fichier.m de la fonction check simulation)

    Qu'est ce que vous en pensez ?
    merci beaucoup,

  6. #6
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Par défaut
    Salut,

    tu n'aurais pas fait une faute de frappe ? Il semble que tu aies appelé la fonction checkig au lieu de checking (avec un n)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/06/2014, 17h43
  2. [XSLT]comment utiliser xsl:if avec une variable
    Par dbill dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/08/2007, 13h23
  3. Réponses: 6
    Dernier message: 29/06/2007, 12h43
  4. Comment modifier le nom d'une variable?
    Par dagra dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2007, 10h23
  5. Réponses: 8
    Dernier message: 21/08/2006, 19h05

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