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 :

Executer du code passé en paramètre


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Executer du code passé en paramètre
    Bonjour,
    je ne sais pas si je suis dans la bonne catégorie pour ma question, je n'ai pas trouver de sujet similaire, voici mon problème :
    j'aimerais savoir s'il est possible, avec Matlab, d’exécuter du code passé en paramètre d'une fonction. C-a-d de faire passer une chaine de caractère en paramètre, et de la faire executer comme une ligne normale de code à l'intérieur de la fonction.
    Quelque chose du genre :

    C = fonction_ex1('A=3; B=2;') % utilisation de la fonction

    avec comme contenu dans la fonction :

    %contenu
    ... execution du code passé en paramètre ...
    C = A+B;
    end

    voilà, je ne sais pas si c'est possible de faire ça ou quelque chose qui s'en rapproche. Merci d'avance pour vos réponse

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Oui : eval.
    -- Yankel Scialom

  3. #3
    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 166
    Points
    53 166
    Par défaut
    Il est généralement préférable d'éviter l'utilisation de eval

    D'autant plus qu'il existe souvent une alternative plus propre.

    Que cherches-tu à faire exactement ?
    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)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    j'aimerais coder une fonction qui permet de calculer une fonction sans devoir passer par une boucle for pour calculer sa valeur en chaque point.
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    t=0:0.1:10;
    Y=sin(t);
    => ok, pas de problème

    par contre :
    => erreur ! division par une matrice colonne

    du coup je dois faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i=1:length(t) ; Y(i)=1/t(i) ; end
    je voudrais faire une fonction qui permettrait de faire plus simple, comme ceci :

  5. #5
    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 166
    Points
    53 166
    Par défaut
    Citation Envoyé par stockes Voir le message
    => erreur ! division par une matrice colonne
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    t = 0:0.1:10;
    Y = 1./t;
    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)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    merci, le problème venait en effet des divisions dans les définitions de fonctions

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/03/2015, 20h08
  2. Fonction qui exécute du code PHP passé en paramètre
    Par LordBob dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2010, 21h28
  3. [FLASH MX2004] Rien ne se passe qd j'execute mon code
    Par adilou1981 dans le forum Flash
    Réponses: 2
    Dernier message: 27/07/2005, 23h31
  4. Réponses: 5
    Dernier message: 27/11/2003, 10h55

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