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 :

Appeler une fonction à partir d'une autre fonction


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Femme Profil pro
    UQAM
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : UQAM
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Appeler une fonction à partir d'une autre fonction
    Bonjour tout le monde!
    Je suis débutante sous matlab et j'ai un énorme pb:

    J'ai deux fonction distinctes ex: fct1.m et fct2.m et je veux faire appel à fct2.m dans fct1 , et biensure je n'y arrive pas

    est ce que je dois utiliser les pointeurs (handle)??? et même avec ça je ne sais pas trop comment faire!!!

    Quelqu’un"un peut-il m'aider????

    Merci d'avance

  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,

    peux-tu nous en dire plus? Obtiens-tu un message d'erreur (si oui, lequel?)? Un résultat inattendu? Peux-tu nous montrer ton code?
    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.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Comment sont définies tes deux fonctions?
    Dans deux fichiers .m différents?
    Dans le même fichier?
    ...

    Une fonction s'appelle normalement avec la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [arguments de sortie] = Nom2LaFonction(arguments d'entrée);

  4. #4
    Futur Membre du Club
    Femme Profil pro
    UQAM
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : UQAM
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    d'abord merci pour votre intérêt

    j'ai une première fonction qui me génère disons 2 mouvement browniens,avec plusieurs trajectoires, en gros ça me donne deux matrices Z et W:

    Première fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function [W,Z]=variable_z(sig0,teta,sigma,k,dt,n,m)
    Deuxième fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function [Z]=variable_zplusa(a)
    variable_z(sig0,teta,sigma,k,dt,n,m)
    for i=1 : m
        Z(i+1,:)=Z(i,:)+a;
    end
    la 2ème fonction rajoute l’élément a à toutes valeur de la matrice Z, ma vraie fonction n'est pas 'variable_zplusa', mais je voudrais juste tester avec un truc facile.

    Et voici le message d'erreur:

    Error in ==> variable_zplusa at 2
    variable_z(sig0,teta,sigma,k,dt,n,m)
    Mes deux fonctions sont définies dans deux fichiers différents.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ton message d'erreur n'est pas complet, mais à voir tes fonctions, cela doit commencer par du
    ??? Undefined function or variable 'sig0'.
    Il te faut définir tes variables sig0,teta,sigma,k,dt,n,m que tu veux rentrer dans la fonction variable_z que tu appelles.
    De même Z que tu utilises ensuite dans ta boucle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function [Z]=variable_zplusa(a)
    sig0 = % valeur
    teta = % valeur
    sigma = %valeur
    k = %valeur
    dt = %valeur
    n = %valeur
    m = %valeur
    [W Z] = variable_z(sig0,teta,sigma,k,dt,n,m)
    for i=1 : m
        Z(i+1,:)=Z(i,:)+a;
    end

  6. #6
    Futur Membre du Club
    Femme Profil pro
    UQAM
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : UQAM
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merciiiiiiiiiiiiiiiiiiiiiiiiii Winjerome!!!! ça marche!

    c'est vrai pour la variable sig0, t'as tout à fait raison

    Le seul hic c'est que je serais tjrs obligé de faire rentrer les paramètres sig0....etc avant,
    Parceque après exécution de la première fonction je me suis dis que je pouvais peut etre la faire introduire en input dans cette 2ème fonction

    mais bon ça marche et c'est le plus important!!! thanks

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 12h12
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 16h26
  3. Saisir une image à partir d'une photo ou d'une vidéo
    Par lohengrin56 dans le forum Flash/Flex
    Réponses: 0
    Dernier message: 07/07/2009, 16h17
  4. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  5. Réponses: 5
    Dernier message: 22/05/2008, 14h42

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