MATLAB Tutoriel 1: introduction, scripts , commentaires, variables. ChE McMAster
Introduction : ouvrir MATLAB, créer des scripts , des commentaires, des variables. C est le début d’une mini série pour les étudiants de MATLAB
Ajout de commentaires
Les commentaires sont introduits par le caractère « % ». L’interpréteur Matlab ignore tous les caractères entre le « % » et la fin de la ligne, exactement comme le « // » du C++. Il n’existe malheureusement pas de commande pour commenter tout un bloc de code comme en C. Cependant, la plupart des éditeurs de texte ainsi que l’éditeur intégré de Matlab permettent de le faire, en ajoutant un « % » au début de chaque ligne du code sélectionné. Il existe enfin une alternative, quelque peu « sauvage », mais qui marche très bien, qui consiste tout simplement à inclure le bloc à commenter dans une structure « if » toujours fausse
Aide de la fonction
Chaque fois que vous écrivez une fonction, commencez par l’aide de la fonction, même sommairement, quitte à la compléter plus tard. Le mieux est de la mettre à jour à mesure, quand vous ajoutez une nouvelle option, de nouveaux arguments, etc. Le bloc de commentaires servant d’aide doit être placé immédiatement avant ou après la déclaration de la fonction
Première solution :
%Commentaire de l'aide
function [output1, output2] = MaFonction(input1, input2)
(votre code)
Seconde solution :
function [output1, output2] = MaFonction(input1, input2)
%Commentaire de l'aide
(votre code)
Il est à noter que vous pouvez sauter autant de lignes que vous le souhaitez entre ce commentaire et la déclaration de la fonction ou le code. Pour ma part je préfère la première solution, que je trouve plus claire à la lecture du code, mais les fonctions écrites par The Mathworks privilégient la seconde. Une fois l’aide écrite, il suffira de lancer la commande :
>> help MaFonction
pour voir s’afficher :
Commentaire de l’aide
À présent, penchons-nous sur le contenu de cette aide. Vous pouvez y mettre ce que vous désirez, néanmoins une bonne pratique consiste à :
- mettre sur la première ligne le nom de la fonction, suivi d’une brève description de son rôle ;
- détailler le comportement de la fonction suivant les arguments d’entrée et de sortie ;
- renvoyer à d’autres fonctions similaires, ou bien, dans le cadre d’un projet, aux fonctions que vous avez écrites appelées par cette fonction, ou encore la ou les fonctions qui appellent votre fonction ;
- éventuellement, signer et mettre une mention de copyright ou de licence (mais vous pouvez le faire dans un autre bloc de commentaire juste en-dessous, qui ne sera pas affiché mais qui sera lisible par ceux qui regarderont votre code) ;
- préciser, si vous ne travaillez pas avec un système de management de version (CVS, etc.), la date de début de développement de la fonction, ainsi que les dates de toutes les modifications avec une description des changements apportés ;
- tout écrire en anglais, si vous le pouvez, surtout si d’autres personnes sont amenées à reprendre votre code.
Pour ma part, j’ai adopté les conventions des fonctions Matlab de base, ce qui donne :
%MAFONCTION Brève description de ma fonction
% MAFONCTION(IN1) fait ceci.
%
% MAFONCTION(IN1,IN2) fait en outre cela.
%
% OUT = MAFONCTION(...) renvoie le résultat dans OUT.
%
% See also AUTREFONCTION1, AUTREFONCTION2.
Lors de l’appel de la fonction help, Matlab affiche le bloc en retirant les caractères « % » de début de ligne. Notons que j’ai utilisé ici des lettres capitales pour le nom des fonctions et pour les arguments d’entrée et de sortie afin d’améliorer la lisibilité de l’aide, alors que les véritables noms sont écrits en bas de casse. N’utilisez pas cette convention si vos noms de fonctions ou de variables comportent des capitales.
Nous verrons dans un prochain article comment écrire une fonction permettant d’afficher de différentes manières l’aide de toutes les fonctions d’un projet.
Indication de fin de fonction
Pour terminer, il est conseillé de bien délimiter la fin de vos fonctions, même si — ce qui est souhaitable — vous ne mettez qu’une seule fonction par M-file. La commande « end function » posant parfois problème, un commentaire fait tout aussi bien l’affaire !
À présent, penchons-nous sur le contenu de cette aide. Vous pouvez y mettre ce que vous désirez, néanmoins une bonne pratique consiste à :
- mettre sur la première ligne le nom de la fonction, suivi d’une brève description de son rôle ;
- détailler le comportement de la fonction suivant les arguments d’entrée et de sortie ;
- renvoyer à d’autres fonctions similaires, ou bien, dans le cadre d’un projet, aux fonctions que vous avez écrites appelées par cette fonction, ou encore la ou les fonctions qui appellent votre fonction ;
- éventuellement, signer et mettre une mention de copyright ou de licence (mais vous pouvez le faire dans un autre bloc de commentaire juste en-dessous, qui ne sera pas affiché mais qui sera lisible par ceux qui regarderont votre code) ;
- préciser, si vous ne travaillez pas avec un système de management de version (CVS, etc.), la date de début de développement de la fonction, ainsi que les dates de toutes les modifications avec une description des changements apportés ;
- tout écrire en anglais, si vous le pouvez, surtout si d’autres personnes sont amenées à reprendre votre code.
Pour ma part, j’ai adopté les conventions des fonctions Matlab de base, ce qui donne :
%MAFONCTION Brève description de ma fonction
% MAFONCTION(IN1) fait ceci.
%
% MAFONCTION(IN1,IN2) fait en outre cela.
%
% OUT = MAFONCTION(...) renvoie le résultat dans OUT.
%
% See also AUTREFONCTION1, AUTREFONCTION2.
Lors de l’appel de la fonction help, Matlab affiche le bloc en retirant les caractères « % » de début de ligne. Notons que j’ai utilisé ici des lettres capitales pour le nom des fonctions et pour les arguments d’entrée et de sortie afin d’améliorer la lisibilité de l’aide, alors que les véritables noms sont écrits en bas de casse. N’utilisez pas cette convention si vos noms de fonctions ou de variables comportent des capitales.
Nous verrons dans un prochain article comment écrire une fonction permettant d’afficher de différentes manières l’aide de toutes les fonctions d’un projet.
Indication de fin de fonction
Pour terminer, il est conseillé de bien délimiter la fin de vos fonctions, même si — ce qui est souhaitable — vous ne mettez qu’une seule fonction par M-file. La commande « end function » posant parfois problème, un commentaire fait tout aussi bien l’affaire !
Il est recommandé d’ajouter des commentaires décrivant le code. Il est utile pour les autres et même pour le codeur lorsqu’il est renvoyé plus tard. Une seule ligne peut être commentée en utilisant le symbole %
ou en utilisant le Ctrl+R
clavier Ctrl+R
Pour supprimer le commentaire d’une ligne précédemment commentée, supprimez le symbole %
ou utilisez le raccourci Crtl+T
Bien que le commentaire d’un bloc de code puisse être effectué en ajoutant un symbole %
au début de chaque ligne, les nouvelles versions de MATLAB (après 2015a) vous permettent d’utiliser l’ opérateur de commentaire par bloc %{ code %}
. Cet opérateur augmente la lisibilité du code. Il peut être utilisé à la fois pour les commentaires sur le code et pour la documentation d’aide sur les fonctions. Le bloc peut être plié et déplié pour améliorer la lisibilité du code.
Comme on peut le voir, les opérateurs %{
et %}
doivent apparaître seuls sur les lignes. N’incluez aucun autre texte sur ces lignes.
function y = myFunction(x)
%{
myFunction Binary Singleton Expansion Function
y = myFunction(x) applies the element-by-element binary operation
specified by the function handle FUNC to arrays A and B, with implicit
expansion enabled.
%}
%% Compute z(x, y) = x.*sin(y) on a grid:
% x = 1:10;
y = x.';
%{
z = zeros(numel(x),numel(y));
for ii=1:numel(x)
for jj=1:numel(y)
z(ii,jj) = x(ii)*sin(y(jj));
end
end
%}
z = bsxfun(@(x, y) x.*sin(y), x, y);
y = y + z;
end
MATLAB Tutoriel Source matlabFR et RIPtoturial
MATLAB Tutoriel 1: introduction, scripts , commentaires, variables MATLAB Tutoriel MATLAB Tutoriel MATLAB Tutoriel