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 :

Déclaration puis utilisation d'une fonction dans un script


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 82
    Par défaut Déclaration puis utilisation d'une fonction dans un script
    Bonjour à tous,
    Je voudrais savoir s'il est possible de déclarer localement une fonction dans un script afin de l'utiliser ensuite dans ce même script.
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function s = taille(e)
    s=size(e)
     
    m1=ones(5);
    m2=ones(10);
    taille(m1)
    taille(m2)
    Je croyais avoir vu ça quelque part mais je ne me souviens plus...
    Merci d'avance,
    Adrien

  2. #2
    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
    Il est impossible de créer une fonction à l'intérieur d'un script.
    Je pense que ce à quoi tu fais allusion c'est ça :
    Nested Functions :: Types of Functions (MATLAB®)

    Et dans ce cas ce sont des fonctions créées dans des fonctions.

    Et là dans ton exemple d'ailleurs même pas besoin de nested fonctions, une simple sous-fonction suffit.
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function calcul()
    m1=ones(5);
    m2=ones(10);
    taille(m1)
    taille(m2)
     
    %sous-fonction taille
    function s = taille(e)
    s=size(e)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 82
    Par défaut
    Merci pour la réponse mais mon application est plus compliquée que cela.

    Je veux absolument utiliser un script qui va charger des données pour les traiter. Je veux faire un affichage un peu spécial sans avoir à recopier les mêmes lignes n fois. Je pensais donc inclure une fonction d'affichage dans mon script pour m'en servir dans ce cas précis.

    Si c'est impossible, tant pis.

    Adrien

  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
    2 choses :

    1.
    Il est rarement impossible de transformer un script en fonction (et c'est plus propre si ton application est à destination d'utilisateurs de ne pas polluer leur workspace avec des variables de l'application)

    2.
    Si tu tiens à garder ton script pourquoi vouloir forcément une sous-fonction ? Une fonction à côté fera très bien l'affaire, non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 82
    Par défaut
    1. C'est vrai sauf que je veux avoir accès à toutes mes variables dans mon workspace. Je ferais qqchose de propre quand tout sera OK.
    2. Bien sûr, on peut faire une fonction à côté mais à force mes dossiers regorgent de fonction . Comme celle-ci ne me servira qu'une fois, je voulais éviter d'ajouter du bazar. Cependant, comme je travailles dans un dossier où sont mes données, je me suis permis de créer cette fonction dedans.

    Merci,
    Adrien

Discussions similaires

  1. utilisation d'une fonction dans SSIS
    Par caballero dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/06/2007, 10h15
  2. Bug lors de l'utilisation d'une fonction dans une macro.
    Par monf29 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/06/2007, 14h35
  3. [Syntaxe] utilisation d'une fonction dans mysql
    Par mussara dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/04/2007, 19h40
  4. utilisation d'une fonction dans un cham texte
    Par Mat_DZ dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 11/09/2006, 14h16
  5. Utilisation d'une fonction dans une procedure
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/08/2005, 15h51

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