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 :

Ajouter une fonction au Matlabroot


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 496
    Billets dans le blog
    1
    Par défaut Ajouter une fonction au Matlabroot
    Bonjour

    La question est simple, mais assez informulable pour une recherche Google (ou autre).

    J'en ai marre de souvent taper les 3 lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    close all
    clear all
    clc
    quand j'ai envie de nettoyer le bazar. J'ai donc créé un fichier nettoyage.m tout simple qui contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function nettoyage
    clc
    clear all
    close all
    J'aimerais pouvoir l'appeler dans la ligne de commande en tapant nettoyage mais j'aimerais que ça soit indépendant du répertoire courant.

    Il m'a semblé en parcourant la doc (sans chercher ça en particulier, c'était au hasard de mes diverses investigations ^^) qu'il existe un truc qui doit s'appeler matlabroot où il cherche s'il connait la fonction appelée.


    Laquelle est donc très simple : dans quel dossier dois-je placer mon fichier SVP ?


    Merci d'avance!

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

    Une solution peut consister à ajouter le répertoire contenant ta fonction dans le path de MATLAB (avec la commande ADDPATH) dans le fichier de lancement (matlabrc.m si je me trompe pas).
    Bon je suis pas sur que se soit très recommandé mais ca se fait...

    Bonne apm,
    Duf

  3. #3
    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
    Plutôt dans un fichier startup.m à placer dans le dossier work ou dans le dossier dans lequel MATLAB s'ouvre

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 496
    Billets dans le blog
    1
    Par défaut
    Merci à vous !


    (EDIT : la technique n'est pas tout à fait valable, lisez la suite pour le comprendre ^^)

    J'ai cherché les 2 fichiers que vous m'avez proposé. Entre autre sur cette page, on peut lire que le fichier matlabrc.m n'est effectivement pas fait pour etre modifier : il est reservé a The MathWorks et aux administrateurs. Startup.m est fait pour l'utilisateur, donc pour ce que je voulais faire. J'ai galéré à savoir où le mettre : ce n'est pas à la racine du dossier Matlab, mais dans le sous-dossier /bin (en tout cas dans mon cas) : c'est lui qui contient matlab.exe.


    Pour celles et ceux que ça intéressent, voilà ma technique :

    - dans le dossier /bin, j'ai mis le fichier startup.m suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    chemin = [matlabroot '\myLib'];
    addpath( chemin );
    disp 'Startup.m a ete execute'
    - A la racine du dossier Matlab, j'ai créé un dossier myLib où je peux mettre mes fichiers .m personnels. Pour l'instant, je n'y ai mis que mon fichier de nettoyage, contenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    clc
    clear all
    close all
    disp 'C''est propre maintenant'
    La balise function que j'avais mis ci-dessus semble inutile.

    - En lançant Matlab, on peut effectivement voir Startup.m a ete execute

    - On tape nettoyage dans l'invite de commande et ça marche.





    Le tour est joué


    Merci bien

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 496
    Billets dans le blog
    1
    Par défaut
    .....

    En fait c'est pas totalement résolu.

    Ca marche si on double-clique directement sur le fichier matlab.exe.

    Mais si on utilise, un raccourci vers ce même fichier, j'ai l'impression qu'il n'éxécute pas startup.m (j'ai pas le retour de mon disp, l'appel nettoyage ne marche pas...)

  6. #6
    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
    Moi je redis qu'il faut mettre le fichier startup.m dans work.
    Ça marchera quelque soit le répertoire où tu te trouves quand tu lanceras MATLAB car le répertoire work est dans le path par défaut de MATLAB.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/02/2009, 22h06
  2. Réponses: 2
    Dernier message: 23/06/2008, 16h27
  3. Ajouter une fonction start
    Par vince_30 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/03/2008, 12h04
  4. Ajouter une fonction de tri
    Par rafmos dans le forum C++
    Réponses: 3
    Dernier message: 10/09/2007, 17h46
  5. Réponses: 6
    Dernier message: 08/01/2007, 14h13

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