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 :

generation de fonction par appel de fonction


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Points : 7
    Points
    7
    Par défaut generation de fonction par appel de fonction
    Bonjour,
    je souhaiterais pouvoir transformer une chaine de caractere en une fonction lorsque j'appuie sur un bouton graphique. Pour celà je fais appel à une fonction lors de l'appuie du bouton.

    Le bug c'est qu'en sortie de l'appel de fonction je n'ai pas la fonction que je viens de créer , pk ?

    Voici un extrait du code que j'utilise:

    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
    //on souhaite transformer une chaine de caractère en fonction
    co=['4*x(1)+3(2)'];
     
    function re()
     
    if(isempty(co(1))==%F) then
     
            function [y]=C1(x)
                y=evstr(co(1))
                return(evstr(co(1)))
            endfunction
     
        else
     
            function [y]=C1(x)
            y=0;
        endfunction
     
        end;
     
    endfunction

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    tout d'abord, il n'y a pas de variable en sortie de ta fonction, ça ne risquait pas de te renvoyer quelque chose... de toute manière, tu ne fais pas appel à ta fonction.

    Ensuite, tu ne crées pas de fonction, au mieux, tu évalues une expression, mais de toute manière, la syntaxe n'est pas bonne.

    Pour créer une fonction à partir d'une expression, utilise la fonction deff :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    co=['4*x(1)+x(2)'];
    deff('y=C1(x)','y = ' + co);
    Et tu peux ensuite utiliser C1 :
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/02/2009, 16h15
  2. Appel de fonction par SYS qui retourne une erreur
    Par tibal dans le forum PL/SQL
    Réponses: 3
    Dernier message: 15/12/2008, 23h32
  3. Imbriquer les appels de fonctions par adresse
    Par TheDrev dans le forum C
    Réponses: 5
    Dernier message: 10/10/2008, 23h39
  4. [POO] Appeler une fonction par son nom dans une variable
    Par whitespirit dans le forum Langage
    Réponses: 16
    Dernier message: 18/06/2008, 11h23
  5. Appel de fonctions par un formulaire
    Par Mista dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2007, 22h54

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