Projet Informatique

Comment travailler librement

____________________

  • Avant Propos 

  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.

  • Les alternatives

  Il en existe plusieurs avec chacune leurs avantages et inconvénients. Je vous invite donc à bien regarder les caractéristiques de chacune avant de vous décider. Sont présentés ici trois logiciels libres et gratuits disponibles sous Windows, Mac et Linux. Je rappel au passage, que ce dernier est lui même libre et gratuit, et peut s'installer à coté de votre système Windows (ou Mac) sur la même machine à l'instar des ordinateurs de la salle info de l'UFR.

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.


  • Le temps du choix


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!