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 :

Récupérer les arguments d'entrées d'une fonction


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Par défaut Récupérer les arguments d'entrées d'une fonction
    Bonjour,
    J'ai un petit souci : j'ai besoin de connaître (et donc de récupérer) les arguments d'une fonction. Ma fonction peut prendre un nombre d'arguments variables et surtout de types différents.

    Voici les choses plus simplement :

    ma_fonction.m contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function [A, B]=ma_fonction(X,Y,Z,msg)
    ...
    Je cherche à pouvoir exécuter la fonction de plusieurs manières, telles que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >> ma_fonction(X,Y,Z,msg)
    >> ma_fonction(X,Y,msg)
    >> ma_fonction(X,Z,msg)
    etc

    Bien sûr, les arguments sont de types différents, X et Y sont des vecteurs, Z un entier, msg une chaine de caractères...
    Je connais l'existence de nargin, nargout, de isvector(), ischar(), ... mais je reste bloqué puisque par ex. dans le cas où la fonction prend 3 arguments, comment différencier l'argument 2, Y de Z ? Ya-t-il une façon de traiter ça proprement ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Slt.
    Je ne vois pas de solutions sauf de mettre Y et Z en global.

  3. #3
    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,

    A mon avis la question est de savoir quelle est la caractéristique qui fait la différence entre Y et Z? Et surtout ce que tu veux en faire derrière.

    Bon courage,
    Duf

  4. #4
    Expert confirmé
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Par défaut
    Une autre possibilité serait que ta fonction prenne une structure en entrée.
    Les champs seraient X, Y, Z et msg, chacun de ces champs étant optionnels.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function [A, B]=ma_fonction(S)
    if isfield(S,'X')
       X=S.X;
    end
    if isfield(S,'Y')
       Y=S.Y;
    end
    %etc
    Et pour l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    %juste X et Z
    S=struct('X',1,'Z',2);
    [A,B]=ma_fonction(S);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Par défaut
    Ok, je vois un peu mieux avec les pistes que vous m'avez données.
    Merci !

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

Discussions similaires

  1. Les variables d'entrée dans une fonction
    Par wangying dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/02/2013, 16h53
  2. Réponses: 1
    Dernier message: 17/09/2011, 08h42
  3. [POO] Est-il possible de récupérer les arguments muets d'une fonction ?
    Par RomainVALERI dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 16/11/2009, 13h51
  4. [RegEx] Récupérer les arguments d'une fonction
    Par brunoperel dans le forum Langage
    Réponses: 2
    Dernier message: 29/07/2008, 19h46
  5. [ServerSocket][URL] Comment récupérer les arguments d'une URL?
    Par nramariavelo dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 20/06/2006, 14h46

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