Projet InformatiqueComment travailler librement____________________
Cette page est là pour vous illustrer à travers
quelques exemples comment se passer de MatLab(c) en utilisant des
logiciels Libres. En
outre,
si vous décidez d'utiliser MatLab pour votre projet
informatique, vous savez que les ordinateurs de l'UFR sont à
votre diposition. Par ailleurs, je vous invite à visiter le site Internet de l'éditeur de
MatLab, et
en particulier la section "utilisateurs" qui
contient un
certain nombre d'outils possiblement utils pour votre projet.
1.
GNU/Octave
Présentation
et Installation
Octave comme MatLab est un logiciel de calcul numérique en langage interprété. Il est gratuit, léger et fonctionne de manière très similaire à MatLab. Le seul point critique concerne les aspects graphiques de vos programmes. En effet, beaucoup de commandes d'affichage graphique MatLab n'existent pas sous Octave. Par exemple la fonction "rectangle" n'est pas disponible. En fait, ceci est partiellement vrai. Je m'explique. Octave est un projet communautaire. Celà veut dire que n'importe qui, vous par exemple, peut apporter des modifications ou des fonctionnalités au noyau Octave. Et donc pour reprendre l'exemple du "rectangle" il est en réalité possible d'installer des addons qui contiennent cette fonction. Mais, obtenir une distribution Octave très complète demande de votre part une installation manuelle, par toujours évidente (en particulier sous Windows et Mac). Sous Linux, l'installation est très simple, en particulier sous des distributions courantes comme Debian, Ubuntu ou Ferora. NB. Je suis à votre disposition pour répondre (le mieux possible) à vos questions concernant l'installation d'Octave sur votre ordinateur. Dans son utilisation, Octave se présente différemment de MatLab. Vous avez l'invite de commande qui est le coeur d'Octave, mais pas d'éditeur propre. L'invite de commande, ou le batch, est identique à celui de MatLab. un help plot affiche les options de la fonction "plot". Pour écrire vos programmes, vous devez utiliser un éditeur de texte non enrichie. pas de Word ou de wordpad. - Sous Windows : blocnote, mais c'est pas terrible. Il existe Gedit également. Ou encore PSPad - Sous Mac utilisez Textedit (en mode txt !) ou Jedit, ou xcode... - Sous Linux : Kedit, Gedit, Geany, vim, emacs....ce n'est pas ce qui manque! Octave en action (ici sous
Linux).
Il faut comme sous
Matlab excécuter votre code puis le répertoire où
se trouve votre fichier *.m. Exemples de codes (a)
Fractal : Il s'agit
de l'exercice 2.3 que vous avez
déjà réalisé sous Matlab. Cette version est
sensiblement différente, je vous invite donc à la
comparer avec votre version. La sortie graphique est tès proche
de ce que donne MatLab.
(b) Integration : Cette version de l'excercice 2.5 affiche en plus la fonction avec le nombre de points suffisant pour atteindre la précision voulue. Une sortie PNG est également effectuée à la fin du programme. (programme et fonction). En résumé, Octave offre un bonne alternative à MatLab pour des programmes "calculatoires", où l'aspect graphique sera limité (affichage de courbes par exempe). Il se peut que le temps de calcul soit plus long sous Octave. C'est donc l'occasion d'optimiser systématiquement vos codes (boucles FOR par exemple) pour gagner du temps et de la clarté. Pour aller plus loin : Octave (wikipedia) Comparaison Octave/Matlab Utilisations d'Octave (Projet Plume) Octaviz (Pour de belles visualisations) QtOctave (environnement pour Octave) 2.
FreeMat
Présentation
et Installation
Comparable à Octave,
gratuit et libre, FreeMat
offre en outre quelques capacités de rendu volumique et de
visualisation 3D. Que ce soit sous Windows, Mac OSX ou Linux,
l'installation ne demande aucune connaissance particulière autre
que le clic. C'est simple.
Sur l'utilisation, FreeMat possède nativement un environnement de programmation très similaire à celui de MatLab. C'est peut-être la solution la plus proche d'ailleurs. Voici le résultat avec le même code de fractal que celui utilisé pour Octave. Notez le "Workspace" qui vous donne accès directement au contenu de variables : Interface FreeMat (Sous Vista).
Exemples de codes (a) Fractal : Toujours l'exercice 2.3. La sortie graphique demande un peu d'être améliorée avec les options (à vous de voir). (b) Integration : Version de l'excercice 2.5 adaptée pour FreeMat (programme et fonction). En
résumé, FreeMat ressemble beaucoup à MaLab
et offre un certain confort de programmation par rapport à
Octave. Il est peut-être moins répandu que ce dernier,
mais propose nativement plus d'options graphiques. C'est sur ce point
que vous devez faire un choix en fonction de votre projet. De plus
l'intallation sous Windows est très simple.
Pour
aller plus loin :
FreeMat
(Wikipedia)3.
Scilab
Présentation et Installation
Logiciel français (cocorico), SciLab est disponible sur les trois systèmes Win,OS X et Linux. Très stable sous OS X et Linux, Il semble moins stable sous Windows. Pour plus de détails je vous renvois à la page officielle. Une liste d'options compatibles matlab est disponible ici. Environnement de
scilab (sous Linux).
Exemples de codes (a) Fractal
: Encore l'exercice 2.3. Vous verrez que le
résultat
graphique est sensiblement différent de Matlab (ou Octave).
(b) Intégration (main et fonction): L'utilisation de fonction est un peu différente sous SciLab, cet exemple vous illustre la démarche. En
résumé, scilab est peut
etre la solution la plus stable (sous Mac et Linux). Cependant, la
syntaxe y est la plus
éloignée de ce que vous connaissez. C'est peut être
l'occasion de prendre du recul, et de se lancer dans un autre langage
bien que très proche tout de même. De plus Scilab est
couramment utilisé dans les labos, l'investissement n'est pas
inutil.
Quelques
liens :
Utilisation de Scilab (Projet plume) De quoi démarrer sous SciLab Serveur de cours (Univ. Bourgogne)
On
vient de le voir,
vous avez largement le choix et la possibilité de travailler
chez vous à moindre frais. Il convient maintenant d'utiliser
l'outil le mieux adapté à vos besoins.
Il
est temps maintenant de faire chauffer les machines (et les
méninges).
Bon courage! |