Prologues et épilogues
Le mécanisme des « prologues » et « épilogues » offre à l’utilisateur la possibilité de faire exécuter automatiquement par MATLAB/Octave un certain nombre de commandes en début et en fin de session. Il est implémenté sous la forme de scripts (M-files).
Le prologue est très utile lorsque l’on souhaite configurer certaines options, par exemple :
sous MATLAB ou Octave : changement du répertoire de travail (avec la commande cd … ) ajout, dans le path de recherche MATLAB/Octave, des chemins de répertoires dans lesquels l’utilisateur aurait défini ses propres scripts ou fonctions (voir la commande addpath(‘path1:path2:path3…’) au chapitre « Environnement MATLAB/Octave ») affichage d’un texte de bienvenue (commande disp(‘texte’) ) sous Octave : choix de l’éditeur (voir la commande EDITOR au chapitre « Éditeur et debugger ») choix du backend graphique (voir la commande graphics_toolkit au chapitre « Graphiques/Concepts de base »)changement du prompt (invite de commande) (voir la commande PS1 au chapitre « Fenêtre de commandes MATLAB/Octave »)
Les différents échelons de prologues sous MATLAB :
Lorsque MATLAB démarre, il exécute successivement : le script de démarrage système matlabrc.m (voir helpwin matlabrc ) puis le premier script nommé startup.m qu’il trouve en parcourant le « répertoire utilisateur de base MATLAB » puis les différents répertoires définis dans le path MATLAB (voir chapitre « Environnement MATLAB/Octave »). Sous Windows, le « répertoire utilisateur de base MATLAB » peut être changé en éditant la propriété « Démarrer dans: » du raccourci de lancement MATLAB. C’est « Z:\ » dans le cas des salles d’enseignement ENAC-SSIE
Les différents échelons de prologues sous Octave :
Lorsque Octave démarre, il exécute successivement : le prologue OCTAVE_HOME/share/octave/site/m/startup/octaverc , puis le prologue OCTAVE_HOME/share/octave/version/m/startup/octaverc qui est un lien symbolique vers le fichier /etc/octave.conf puis l’éventuel script nommé .octaverc se trouvant dans le « répertoire home » de l’utilisateur et enfin, si l’on démarre Octave en mode commande depuis une fenêtre terminal, l’éventuel .octaverc se trouvant dans le répertoire courant. Pour (ré)exécuter ces scripts manuellement en cours de session, vous pouvez faire source(‘.octaverc’) Le « répertoire home » de l’utilisateur au sens Octave est : – sous Windows:, c’est le répertoire défini par la propriété « Démarrer dans: » du raccourci de lancement Octave – sous Linux: /home/votre_username – sous MacOSX: /Users/votre_username
Les épilogues MATLAB et Octave : En sortant, MATLAB exécute le premier script nommé finish.m qu’il trouve en parcourant le « répertoire utilisateur de base MATLAB » puis les différents répertoires définis dans le path MATLAB Quant à Octave, il dispose d’un mécanisme d’épilogue basé sur la fonction atexit
Outils d’aide et d’information, références internet utiles
Aide en ligne help fonction Affiche, dans la fenêtre de commande MATLAB/Octave, la description et la syntaxe de la fonction MATLAB/Octave spécifiée. Le mode de défilement, continu (c’est le défaut dans MATLAB) ou « paginé » (défaut dans Octave), peut être modifié avec la commande more on|off (voir plus bas) Passée sans paramètres, la commande help liste les rubriques d’aide principales (correspondant à la structure de répertoires définie par le path ) helpwin fonction , ou doc fonction , ou menu Help>MATLAB Help , ou icône [?] de la Toolbar MATLAB Même effet que la commande help , sauf que le résultat est affiché dans la fenêtre d’aide spécifique MATLAB « Help » (voir illustration ci-dessous)
Fenêtre d’aide MATLAB 7 doc fonction (remplace l’ancien help -i fonction de Octave 2) Sous Octave, cette commande recherche et affiche (avec l’outil Info) l’information relative à la fonction spécifiée à partir du manuel Octave lookfor {-all} mot-clé Recherche par mot-clé dans l’aide MATLAB/Octave. Cette commande retourne la liste de toutes les fonctions dont le mot-clé spécifié figure dans la première ligne (H1-line) de l’aide. Sous Octave, l’affichage paginé peut donner l’impression que rien se se passe si l’on ne patiente pas. Le cas échéant, désactiver l’affichage paginé avant de passer cette commande. A partir de la version 3.2.0, la vitesse d’exécution de cette commande a été améliorée par un mécanisme de caching des textes d’aide Avec l’option -all , la recherche du mot-clé spécifié s’effectue dans l’entier des textes d’aide et pas seulement dans leurs 1ères lignes (H1-lines); prend donc passablement plus de temps et retourne davantage de références (pas forcément en relation avec ce que l’on cherche…) Ex : help inverse retourne dans MATLAB l’erreur comme quoi aucune fonction « inverse » n’existe ; par contre lookfor inverse présente la liste de toutes les fonctions MATLAB/Octave en relation avec le thème de l’inversion (notamment la fonction inv d’inversion de matrices)
Manuel Octave en-ligne complet (HTML), ou via Démarrer > Programmes > GNU Octave x.x > Documentation puis dans les sous-menu HTML ou PDF • Accès au manuel Octave officiel. Voyez en particulier, tout au bas de la table des matières, le « Function Index » qui est un index hyper-texte de toutes les fonctions Octave • Voyez aussi cet Octave Quick Reference Card (aide-mémoire en 3 pages, PDF) ainsi que cette FAQ
Exemples et démos intro sous MATLAB 5.3 echodemo intro sous MATLAB 7 Lancement d’un petit didacticiel d’introduction à MATLAB rundemos(package)
Lance les démos définies dans le répertoire du package spécifié (les packages sont sous OCTAVE_HOME/share /octave/packages/package ). Implémenté depuis Octave 3.2.0. Ex : rundemos(‘signal-1.1.3’) : lance les démos du package « signal » (traitement de signaux) dans sa version 1.1.3 demos , ou helpwin demos , ou menu Help>Demos Passe dans l’onglet « Demos » de la fenêtre « Help » (voir illustration ci-dessous) où l’on trouve quantité de démonstrations interactives illustrant les capacités de MALAB (voir aussi help demos qui donne la liste et la description de toutes ces démos). Pour chacune de ces démos le code MATLAB détaillé est présenté.
Démonstration interactive MATLAB 7
Ressources Internet utiles relatives à MATLAB et Octave
MATLAB – site de la société The MathWorks Inc (éditrice de MATLAB) : http://www.mathworks.com – article sur MATLAB dans Wikipedia : français, anglais – fonctions/scripts libres développées pour MATLAB (convenant parfois à Octave) : http://www.mathworks.com /matlabcentral/fileexchange/ – Wiki Book « Matlab Programming » : http://en.wikibooks.org/wiki/Matlab
GNU Octave – site principal consacré à GNU Octave : http://www.octave.org (http://www.gnu.org/software/octave/) – dépôt des paquets « Octave-Forge » sur SourceForge.net : http://octave.sourceforge.net – article sur GNU Octave dans Wikipedia : français, anglais – espace de partage de fonctions/scripts Octave : http://agora.octave.org/ (nouveau, été 2012) – Wiki Book Octave : http://fr.wikibooks.org/wiki/Programmation_Octave (FR), http://en.wikibooks.org /wiki/Octave_Programming_Tutorial (EN)
Packages Octave-Forge (analogues aux toolboxes MATLAB) – liste des packages : pkg list -forge – liste, description et téléchargement des packages Octave-Forge : http://octave.sourceforge.net /packages.php – index des fonctions (Octave core et packages Octave-Forge) : http://octave.sourceforge.net /function_list.html
Gnuplot – site principal Gnuplot (back-end graphique principal sous Octave) : http://gnuplot.sourceforge.net
Forums de discussion, mailing-lists, wikis, blogs
MATLAB – forum MathWorks : http://www.mathworks.ch/matlabcentral/answers/ – forum Usenet/News consacré à MATLAB : https://groups.google.com/forum/#!forum/comp.softsys.matlab
Octave – wiki Octave : http://wiki.octave.org – forum utilisateurs et développeurs, avec mailing lists associées : http://octave.1599824.n4.nabble.com/ (avec sections: General, Maintainers, Dev) – soumission de bugs en relation avec Octave core (depuis mars 2010) : http://bugs.octave.org (http://savannah.gnu.org/bugs/?group=octave) – en relation avec packages Octave-Forge : – soumission de bugs : http://sourceforge.net/tracker/?group_id=2888&atid=102888 – demande de fonctionnalités : http://sourceforge.net/tracker/?group_id=2888&atid=352888 – blogs en relation avec le développement de Octave : – planet.octave : http://planet.octave.org/ – maintainers@octave.org : http://blog.gmane.org/gmane.comp.gnu.octave.maintainers/
La commande info (implémentée sous Octave depuis version 3.2.0) affiche différentes sources de contact utiles. S’agissant par exemple d’Octave : mailing list, wiki, packages, bugs report…