<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>MatlabFR</title>
	<atom:link href="http://matlabfr.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://matlabfr.wordpress.com</link>
	<description>&#62;&#62; Trucs &#38; astuces en français pour Matlab</description>
	<lastBuildDate>Sat, 01 Dec 2007 22:23:41 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='matlabfr.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>MatlabFR</title>
		<link>http://matlabfr.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://matlabfr.wordpress.com/osd.xml" title="MatlabFR" />
	<atom:link rel='hub' href='http://matlabfr.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Callbacks</title>
		<link>http://matlabfr.wordpress.com/2007/11/15/callbacks/</link>
		<comments>http://matlabfr.wordpress.com/2007/11/15/callbacks/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 11:33:01 +0000</pubDate>
		<dc:creator>matlabfr</dc:creator>
				<category><![CDATA[Avancé]]></category>

		<guid isPermaLink="false">http://matlabfr.wordpress.com/2007/11/15/callbacks/</guid>
		<description><![CDATA[Un callback est une fonction qui est appelée lorsqu&#8217;un événement particulier se produit dans une interface graphique (interaction avec un objet graphique). On peut par exemple affecter à un bouton une fonction, de telle sorte que si l&#8217;utilisateur clique sur le bouton, la fonction en question est exécutée. Cette fonction est le callback associé à [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=9&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Un callback est une fonction qui est appelée lorsqu&#8217;un événement particulier se produit dans une interface graphique (interaction avec un objet graphique). On peut par exemple affecter à un bouton une fonction, de telle sorte que si l&#8217;utilisateur clique sur le bouton, la fonction en question est exécutée. Cette fonction est le callback associé à ce bouton. Un callback ne renvoit jamais de valeur.</p>
<p>Dans cet article, nous allons étudier la mise en place et l&#8217;utilisation des callbacks au sein d&#8217;une interface graphique.<span id="more-9"></span></p>
<p>En Matlab, le callback est défini au niveau de la propriété « callback » d&#8217;une fonction graphique (ex. <em>uicontrol</em>, <em>uimenu</em>, etc.). L&#8217;attribut donné à cette propriété peut être une chaîne de caractère ou un handle de fonction.</p>
<p><strong>1. Création d&#8217;un callback simple</strong></p>
<p>Dans un premier temps, nous allons présenter le cas des callbacks sans argument d&#8217;entrée. On rappelle qu&#8217;un callback ne peut pas avoir d&#8217;argument de sortie.</p>
<p><u>1.1. Callback sous forme de chaîne de caractères</u></p>
<p>Étudions l&#8217;exemple suivant :</p>
<p><code>function test()<br />
h = figure();<br />
uicontrol(h,'Style','PushButton','Callback','quit');<br />
</code></p>
<p>L&#8217;appel à la fonction <em>test</em> crée une figure dont le handle est stocké dans la variable <em>h</em> ; ensuite, un objet de type « PushButton » (autrement dit un bouton) est affecté à cette figure. Un clic sur le bouton appelle la fonction <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/quit.html">quit</a>, qui ferme Matlab.</p>
<p><strong>Notes</strong> :</p>
<ul>
<li> L&#8217;écriture de callbacks sous forme de chaînes de caractères ne convient que pour des callbacks très simples, typiquement l&#8217;appel d&#8217;une fonction sans argument d&#8217;entrée.</li>
<li>La chaîne de caractères décrivant la fonction de callback forme un nouveau workspace, ce qui signifie que les variables définies dans la fonction principale ne sont pas vues du callback, et qu&#8217;il faut déclarer ses globales, etc. Pour utiliser une variable de la fonction principale dans le callback, la seule solution est de remplacer la variable par sa valeur dans la chaîne définissant le callback, au moyen d&#8217;un <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/sprintf.html">sprintf</a>.</li>
<li> Dans l&#8217;écriture des callbacks de cette manière, il est indispensable d&#8217;utiliser des « ; » et des « , », le passage à la ligne n&#8217;étant pas interprêté puisqu&#8217;il s&#8217;agit d&#8217;une chaîne ; il faut donc mettre des virgules après les <em>if</em>, etc.</li>
<li>Matlab ne « voit pas » les fonctions situées dans le même fichier source que celle appelant le callback ; autrement dit, si le callback consiste à appeler une fonction dont le code est dans le même fichier M, cela ne fonctionnera pas.</li>
</ul>
<p><u>1.2. Callbacks sous la forme d&#8217;un handle de fonction</u></p>
<p>Reprenons l&#8217;exemple précédent, en remplaçant la chaîne de caractères par un handle de fonction :</p>
<p><code>function test()<br />
h = figure();<br />
uicontrol(h,'Style','PushButton','Callback',@fermer);<br />
% end function</code></p>
<p>function fermer(obj,eventdata)<br />
quit;<br />
%end function</p>
<p>Cette fois-ci, lors d&#8217;un clic sur le bouton, Matlab va tenter d&#8217;exécuter la fonction identifiée par le handle défini en valeur de l&#8217;attribut « callback ». La façon la plus simple de d&#8217;obtenir ce handle est de taper :</p>
<p><code>@nom_de_la_fonction</code></p>
<p>Il faut bien sûr que la fonction existe, et qu&#8217;elle soit dans le path de Matlab.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/matlabfr.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/matlabfr.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matlabfr.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matlabfr.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matlabfr.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matlabfr.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matlabfr.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matlabfr.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matlabfr.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matlabfr.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=9&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matlabfr.wordpress.com/2007/11/15/callbacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd2acda128efe3675165fd66df89a311?s=96&#38;d=identicon" medium="image">
			<media:title type="html">matlabfr</media:title>
		</media:content>
	</item>
		<item>
		<title>Debugger</title>
		<link>http://matlabfr.wordpress.com/2007/08/11/debugger/</link>
		<comments>http://matlabfr.wordpress.com/2007/08/11/debugger/#comments</comments>
		<pubDate>Sat, 11 Aug 2007 14:40:48 +0000</pubDate>
		<dc:creator>matlabfr</dc:creator>
				<category><![CDATA[Intermédiaire]]></category>

		<guid isPermaLink="false">http://matlabfr.wordpress.com/2007/08/11/debugger/</guid>
		<description><![CDATA[Matlab intègre un debugger — j&#8217;emploie sciemment le terme anglais car je trouve le mot « bogue » ainsi que ses dérivés particulièrement ridicules — utilisable facilement depuis l&#8217;interface graphique. Nous allons aborder dans cet article son utilisation en ligne de commande et dans le code. Généralités L&#8217;emploi du debugger est somme toute très classique, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=8&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Matlab intègre un debugger — j&#8217;emploie sciemment le terme anglais car je trouve le mot « bogue » ainsi que ses dérivés particulièrement ridicules — utilisable facilement depuis l&#8217;interface graphique. Nous allons aborder dans cet article son utilisation en ligne de commande et dans le code.</p>
<p><span id="more-8"></span><strong>Généralités</strong><br />
L&#8217;emploi du debugger est somme toute très classique, et une poignée de commandes spécifiques suffisent à travailler de façon efficace. Les commandes du debugger commencent généralement par « db ». Lorsque l&#8217;exécution est suspendue par un point d&#8217;arrêt, le prompt change et devient « K&gt;&gt; ». Toutes les commandes Matlab habituelles peuvent alors être invoquées. On peut notamment vérifier le contenu des variables, lister les variables (« <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/who.html">who</a> » ou, mieux, « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/whos.html">whos</a> »), visionner le contenu du M-file (« <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbtype.html">dbtype</a> »), etc. La chose la plus importante est de bien comprendre la notion d&#8217;« espace de travail », ou <em>workspace</em>. Lorsque l&#8217;exécution s&#8217;arrête au milieu d&#8217;une fonction, le <em>workspace</em> est celui de la fonction en question, et donc seules les variables de cette fonction sont visibles. Au lancement de Matlab, le <em>workspace</em> est celui par défaut, hiérarchiquement au-dessus de tous les autres, et est appelé <em>base workspace</em>. Il est possible de changer de <em>workspace</em>, comme nous le verrons plus loin.</p>
<p><strong>Points d&#8217;arrêt</strong><br />
Pour placer un point d&#8217;arrêt, il suffit d&#8217;insérer dans le code de la fonction la commande « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/keyboard.html">keyboard</a> ». Arrivé à cette ligne, l&#8217;interpréteur s&#8217;arrêtera et donnera la main à l&#8217;utilisateur, avec le prompt « K&gt;&gt; ». Il est également possible de définir des points d&#8217;arrêt « dynamiques », c&#8217;est-à-dire créés automatiquement dans certains contextes, avec la commande « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbstop.html">dbstop</a> ». Elle peut être lancée depuis le <em>base workspace</em> ou à l&#8217;intérieur d&#8217;une fonction. Quelques contextes d&#8217;utilisation sont explicités ci-dessous :</p>
<ul>
<li><strong>dbstop if error</strong> place un point d&#8217;arrêt à l&#8217;endroit où la première erreur est détectée par l&#8217;interpréteur ;</li>
<li><strong>dbstop if warning</strong> fait pareil, pour une alerte ;</li>
<li><strong>dbstop if naninf</strong> arrête l&#8217;exécution lorsqu&#8217;une valeur infinie est générée, typiquement dans le cas d&#8217;une division par zéro ;</li>
<li><strong>dbstop in (mfile) at (linenumber)</strong> stoppe l&#8217;exécution lorsque l&#8217;exécution arrive à la ligne linenumber du fichier mfile ;</li>
<li><strong>dbstop in (mfile) at (subfunction)</strong> suspend l&#8217;exécution à l&#8217;entrée de la sous-fonction subfunction du fichier mfile.</li>
</ul>
<p>Pour retirer les points d&#8217;arrêt dynamique, il suffit d&#8217;utiliser la même commande, en remplaçant « dbstop » par « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbclear.html">dbclear</a> ». Enfin, il est possible de visualiser l&#8217;ensemble des points d&#8217;arrêt à l&#8217;aide de « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbstatus.html">dbstatus</a> ».</p>
<p><strong>Poursuite et fin de l&#8217;exécution</strong><br />
Pour  reprendre l&#8217;exécution après un point d&#8217;arrêt à partir du prompt, on peut soit utiliser l&#8217;instruction « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbcont.html">dbcont</a> », soit utiliser « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/return.html">return</a> » — comme pour les fins de sous-fonctions. Pour une exécution en mode pas à pas, c&#8217;est-à-dire instruction par instruction depuis le point d&#8217;arrêt, la commande à utiliser est « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbstep.html">dbstep</a> ». Matlab affiche alors le contenu de l&#8217;instruction en cours. Enfin, la commande « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbquit.html">dbquit</a> » permet de quitter le mode debugger et de mettre fin à l&#8217;exécution. Attention à ne pas employer « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/quit.html">quit</a> » ou « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/exit.html">exit</a> », qui, en plus, fermeraient Matlab !</p>
<p><strong>Changement de workspace</strong><br />
Lors du debug, il est souvent nécessaire de connaître les valeurs des variables ou de tester des commandes à la fois dans une sous-fonction et dans la fonction appelante. Pour celà, il faut changer de <em>workspace</em>, car le debugger se place celui de la fonction exécutée au moment du point d&#8217;arrêt. Les workspaces suivent la même hiérarchie parent-enfant que les fonctions appelantes par rapport aux fonctions appelées. Ainsi, si la fonction A appelle la fonction B et que le point d&#8217;arrêt est dans la fonction B, il faut monter d&#8217;un niveau pour se placer dans le <em>workspace</em> de la fonction A. Pour accéder au <em>base workspace</em>, il faut à nouveau monter d&#8217;un niveau car toutes les fonctions sont appelées au niveau du <em>base workspace</em>. La commande pour monter d&#8217;un niveau est « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbup.html">dbup</a> », celle pour descendre « <a href="http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/dbdown.html">dbdown</a> ».</p>
<p>Exemple :</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/matlabfr.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/matlabfr.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matlabfr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matlabfr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matlabfr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matlabfr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matlabfr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matlabfr.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matlabfr.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matlabfr.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=8&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matlabfr.wordpress.com/2007/08/11/debugger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd2acda128efe3675165fd66df89a311?s=96&#38;d=identicon" medium="image">
			<media:title type="html">matlabfr</media:title>
		</media:content>
	</item>
		<item>
		<title>Options au lancement</title>
		<link>http://matlabfr.wordpress.com/2007/08/11/options-au-lancement/</link>
		<comments>http://matlabfr.wordpress.com/2007/08/11/options-au-lancement/#comments</comments>
		<pubDate>Sat, 11 Aug 2007 12:58:29 +0000</pubDate>
		<dc:creator>matlabfr</dc:creator>
				<category><![CDATA[Intermédiaire]]></category>

		<guid isPermaLink="false">http://matlabfr.wordpress.com/2007/08/11/options-au-lancement/</guid>
		<description><![CDATA[Lorsque Matlab est lancé « normalement », depuis l&#8217;icône de l&#8217;application ou un terminal avec la commande « matlab », tout l&#8217;environnement de développement est chargé : interface graphique, machine virtuelle Java, etc. Dans cet article, nous allons étudier les options permettant de motifier ce comportement par défaut. Les options sont, très classiquement, introduite par [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=7&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lorsque Matlab est lancé « normalement », depuis l&#8217;icône de l&#8217;application ou un terminal avec la commande « matlab », tout l&#8217;environnement de développement est chargé : interface graphique, machine virtuelle Java, etc. Dans cet article, nous allons étudier les options permettant de motifier ce comportement par défaut. Les options sont, très classiquement, introduite par un tiret, sans espace entre le tiret et le nom de l&#8217;option. Pour introduire des options il faut donc lancer Matlab en ligne de commande ou bien éditer la commande dans le raccourci vers l&#8217;application. Si plusieurs options sont utilisées, elles doivent être séparées par une espace.<span id="more-7"></span><strong>Suppression de la fenêtre de démarrage (<em>splash screen</em>)</strong>En temps normal, une petite fenêtre avec le logo de Matlab ainsi que le numéro de la version s&#8217;affiche à l&#8217;écran durant le chargement. Pour supprimer cette fenêtre — ce qui peut faire gagner un peu de temps au lancement —, il suffit d&#8217;utiliser l&#8217;option « -noplash » :<em>$ matlab -nosplash</em> <strong>Lancement d&#8217;une application (M-file) au démarrage</strong>Il est possible d&#8217;exécuter une fonction ou un script contenu dans un M-file au démarrage de Matlab. L&#8217;option à utiliser est « -r », suivi d&#8217;une espace et du nom de la fonction ou du script. Attention : pas de chemin d&#8217;accès, juste le nom de la fonction ou du script (qui doit donc être dans le <span style="font-style:italic;" class="Apple-style-span">path</span> de Matlab) :<em>$ matlab -r nom</em><strong>Écriture d&#8217;un fichier de session (log file)</strong>Matlab peut en outre écrire un fichier de session à l&#8217;endroit que vous lui spécifierez à l&#8217;aide de l&#8217;option « -logfile » :<em>$ matlab -logfile session.log</em><strong>Suppression de l&#8217;affichage des figures</strong>Cette option empêche l&#8217;affichage de toute figure créée par Matlab, ce qui peut être utile notamment pour le debuggage. Cela se fait avec l&#8217;option « -noFigureWindows » :<em>$ matlab -noFigureWindows</em><strong>Minimisation de l&#8217;interface au démarrage</strong>L&#8217;option « -minimize », comme le nom l&#8217;indique, réduit l&#8217;interface de Matlab au démarrage :<em>$ matlab -minimize</em><strong>Suppression de l&#8217;interface graphique</strong>Si vous n&#8217;aimez pas l&#8217;interface graphique de Matlab et préférez travailler en  ligne de commande,  c&#8217;est possible avec l&#8217;option « -nodesktop » :<em>$ matlab -nodesktop</em><strong>Suppression de la machine virtuelle Java</strong>Si vous n&#8217;utilisez pas Java et que vous pouvez vous passer de l&#8217;interface, l&#8217;option « -nojvm » vous permettra d&#8217;épargner grandement les ressources de votre machine :<em>$ matlab -nojvm</em>Attention cependant, comme précisé plus haut, cette option supprime également l&#8217;interface comme si vous aviez utilisé l&#8217;option « -nodesktop » !<strong>Pour approfondir</strong>Il existe d&#8217;autres options, moins utiles peut-être, ou d&#8217;usage très spécifique. Tout est détaillé dans l&#8217;<a href="http://www.sgr.nada.kth.se/unix/software/matlab/Release_14.1/techdoc/ref/matlabwindows.html">aide de The MathWorks</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/matlabfr.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/matlabfr.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matlabfr.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matlabfr.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matlabfr.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matlabfr.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matlabfr.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matlabfr.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matlabfr.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matlabfr.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=7&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matlabfr.wordpress.com/2007/08/11/options-au-lancement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd2acda128efe3675165fd66df89a311?s=96&#38;d=identicon" medium="image">
			<media:title type="html">matlabfr</media:title>
		</media:content>
	</item>
		<item>
		<title>Utilisation des commentaires</title>
		<link>http://matlabfr.wordpress.com/2007/08/09/utilisation-des-commentaires/</link>
		<comments>http://matlabfr.wordpress.com/2007/08/09/utilisation-des-commentaires/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 08:27:11 +0000</pubDate>
		<dc:creator>matlabfr</dc:creator>
				<category><![CDATA[Bon usage]]></category>
		<category><![CDATA[Débutant]]></category>

		<guid isPermaLink="false">http://matlabfr.wordpress.com/2007/08/09/commentaires-dans-matlab/</guid>
		<description><![CDATA[Cet article traite du bon usage des commentaires dans Matlab. Comme pour tout langage de programmation, il est très important de commenter son code au fur et à mesure de sa rédaction — jamais après, car après signifie généralement jamais. De plus, dans Matlab, les commentaires placés en début de code vont servir d&#8217;aide pour [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=3&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> Cet article traite du bon usage des commentaires dans Matlab. Comme pour tout langage de programmation, il est très important de commenter son code <em>au fur et à mesure</em> de sa rédaction — jamais après, car après signifie généralement jamais. De plus, dans Matlab, les commentaires placés en début de code vont servir d&#8217;aide pour la fonction, comme nous le verrons un peu plus loin.</p>
<p><span id="more-3"></span><strong>Ajout de commentaires</strong><br />
Les commentaires sont introduits par le caractère « % ». L&#8217;interpréteur Matlab ignore tous les caractères entre le « % » et la fin de la ligne, exactement comme le « // » du C++. Il n&#8217;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&#8217;é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 :<br />
<code><font color="#0000ff">if</font> 0<br />
(votre code)<br />
<font color="#0000ff">end</font></code></p>
<p><strong>Aide de la fonction</strong><br />
Chaque fois que vous écrivez une fonction, commencez par l&#8217;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&#8217;aide doit être placé immédiatement avant ou après la déclaration de la fonction :</p>
<p>Première solution :<br />
<code><font color="#008000"> %Commentaire de l'aide</font><br />
<font color="#0000ff">function</font> [output1, output2] = MaFonction(input1, input2)<br />
(votre code)</code><br />
Seconde solution :<br />
<code><font color="#0000ff">function</font> [output1, output2] = MaFonction(input1, input2)<br />
<font color="#008000"> %Commentaire de l'aide</font><br />
(votre code)</code><br />
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&#8217;aide écrite, il suffira de lancer la commande :</p>
<p><em>&gt;&gt; help MaFonction</em></p>
<p>pour voir s&#8217;afficher :</p>
<p><em>Commentaire de l&#8217;aide</em></p>
<p>À 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 à :</p>
<ul>
<li>mettre sur la première ligne le nom de la fonction, suivi d&#8217;une brève description de son rôle ;</li>
<li>détailler le comportement de la fonction suivant les arguments d&#8217;entrée et de sortie ;</li>
<li>renvoyer à d&#8217;autres fonctions similaires, ou bien, dans le cadre d&#8217;un projet, aux fonctions que vous avez écrites appelées par cette fonction, ou encore la ou les fonctions qui appellent votre fonction ;</li>
<li>é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) ;</li>
<li>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 ;</li>
<li>tout écrire en anglais, si vous le pouvez, surtout si d&#8217;autres personnes sont amenées à reprendre votre code.</li>
</ul>
<p>Pour ma part, j&#8217;ai adopté les conventions des fonctions Matlab de base, ce qui donne :</p>
<p><code><font color="#008000">%MAFONCTION Brève description de ma fonction<br />
%    MAFONCTION(IN1) fait ceci.<br />
%<br />
%    MAFONCTION(IN1,IN2) fait en outre cela.<br />
%<br />
%    OUT = MAFONCTION(...) renvoie le résultat dans OUT.<br />
%<br />
%    See also AUTREFONCTION1, AUTREFONCTION2.</font></code></p>
<p>Lors de l&#8217;appel de la fonction help, Matlab affiche le bloc en retirant les caractères  « % » de début de ligne. Notons que j&#8217;ai utilisé ici des lettres capitales pour le nom des fonctions et pour les arguments d&#8217;entrée et de sortie afin d&#8217;améliorer la lisibilité de l&#8217;aide, alors que les véritables noms sont écrits en bas de casse. N&#8217;utilisez pas cette convention si vos noms de fonctions ou de variables comportent des capitales.</p>
<p>Nous verrons dans un prochain article comment écrire une fonction permettant d&#8217;afficher de différentes manières l&#8217;aide de toutes les fonctions d&#8217;un projet.</p>
<p><strong>Indication de fin de fonction</strong><br />
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&#8217;une seule fonction par M-file. La commande « end function » posant parfois problème, un commentaire fait tout aussi bien l&#8217;affaire !</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/matlabfr.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/matlabfr.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matlabfr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matlabfr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matlabfr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matlabfr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matlabfr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matlabfr.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matlabfr.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matlabfr.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=3&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matlabfr.wordpress.com/2007/08/09/utilisation-des-commentaires/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd2acda128efe3675165fd66df89a311?s=96&#38;d=identicon" medium="image">
			<media:title type="html">matlabfr</media:title>
		</media:content>
	</item>
		<item>
		<title>À propos de MatlabFR</title>
		<link>http://matlabfr.wordpress.com/2007/08/07/a-propos-de-matlabfr/</link>
		<comments>http://matlabfr.wordpress.com/2007/08/07/a-propos-de-matlabfr/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 11:07:27 +0000</pubDate>
		<dc:creator>matlabfr</dc:creator>
				<category><![CDATA[Divers]]></category>

		<guid isPermaLink="false">http://matlabfr.wordpress.com/2007/08/10/a-propos-de-matlabfr/</guid>
		<description><![CDATA[À travers ce blog, son auteur souhaite partager son expérience acquise dans l&#8217;environnement de développement Matlab. Le lecteur y trouvera des astuces, des explications, des méthodes de travail et bien entendu des extraits de code. Cependant, ce blog n&#8217;est pas une méthode d&#8217;apprentissage de Matlab. Les articles publiés ici sont la plupart du temps décorrélés, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=6&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>À travers ce blog, son auteur souhaite partager son expérience acquise dans l&#8217;environnement de développement Matlab. Le lecteur y trouvera des astuces, des explications, des méthodes de travail et bien entendu des extraits de code. Cependant, ce blog n&#8217;est pas une méthode d&#8217;apprentissage de Matlab. Les articles publiés ici sont la plupart du temps décorrélés, s&#8217;adressant tantôt à des utilisateurs débutants, tantôt à des utilisateurs plus avancés, et ne suivent pas de progression logique.</p>
<p>Les codes présentés sur <a href="http://matlabfr.wordpress.com" title="MatlabFR">MatlabFR</a> ont pour la plupart été testés sur Matlab 7 Release 14. Ils sont donnés à titre pédagogique, sans aucune garantie, et ne sauraient engager la responsabilité de leur auteur. Enfin, <a href="http://matlabfr.wordpress.com" title="MatlabFR">MatlabFR</a> n&#8217;est lié d&#8217;aucune façon à <a href="http://www.mathworks.com">The Mathworks</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/matlabfr.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/matlabfr.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matlabfr.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matlabfr.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matlabfr.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matlabfr.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matlabfr.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matlabfr.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matlabfr.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matlabfr.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matlabfr.wordpress.com&amp;blog=1491397&amp;post=6&amp;subd=matlabfr&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matlabfr.wordpress.com/2007/08/07/a-propos-de-matlabfr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd2acda128efe3675165fd66df89a311?s=96&#38;d=identicon" medium="image">
			<media:title type="html">matlabfr</media:title>
		</media:content>
	</item>
	</channel>
</rss>
