Installation de GNU Octave 3.8 sur Windows

GNU Octave est un logiciel libre de calcul numérique dont la syntaxe de programmation est très proche de celle de MATLAB.

La dernière version 3.8 inclut enfin une interface graphique, ce qui devrait faciliter son utilisation. Cette interface est encore en cours de développement et ne sera définitivement prise en charge au démarrage qu’avec la future version 4. Il faut donc s’attendre à quelques bugs…

Comme Octave est prioritairement développé pour Linux, c’est la version 3.6.4 qui est disponible sur le site officiel en téléchargement pour Windows.

Téléchargement

Vous trouverez une version 3.8 compilée à cette adresse http://octave.osuv.de/3.8/windows/ (c’est une version 32 bits)

Téléchargez le fichier « octave-3.8.0-2-installer.exe » et le fichier « octave-gui.bat »

Installation

Lancez l’installation en utilisant simplement l’exécutable « octave-3.8.0-2-installer.exe ».

Exécution avec l’interface graphique

Pour lancer Octave avec l’interface graphique, il faut se rendre dans le menu « Démarrer > Octave-3.8.0 » et cliquer sur « Octave (Experimental GUI) ».

Une erreur relative à libstdc++.dll peut arriver :

octave 3.8 : erreur gui windows

Dans ce cas, copiez le fichier « octave-gui.bat » précédemment téléchargé dans le dossier d’installation d’Octave (par défaut « C:\Octave\Octave-3.8.0 »), puis double-cliquez sur ce fichier pour l’exécuter.

L’interface devrait normalement apparaitre.

octave : interface graphique windows

La capture ci-dessus peut vous semblez austère, mais c’est parce que je n’utilise aucun thème de bureau.

Pour ne pas avoir à chercher le fichier .bat à chaque fois pour lancer Octave, vous pouvez faire un clic droit sur le menu « Octave (Experimental GUI) » utilisé précédemment, cliquez sur « Propriétés » et remplacer dans le champ « Cible » ceci (par défaut) :

C:\Octave\Octave-3.8.0\libexec\octave\3.8.0\exec\i686-pc-mingw32\octave-gui.exe

par ceci :

C:\Octave\Octave-3.8.0\octave-gui.bat

Vous pouvez aussi en profiter pour changer le dossier dans lequel Octave démarre en modifiant l’entrée « Démarrer dans ».

Matrice ou tableau dans MATLAB ?

Les termes « matrice » et « tableau » sont souvent employés pour désigner des variables MATLAB, malheureusement avec une certaine confusion.

Je vais donc tenter de convaincre les utilisateurs qui ne sont comme moi, ni mathématicien ni informaticien de formation, d’utiliser à l’avenir le terme adéquat.

Ce billet est inspiré par les remarques faites par Jean-Marc Blanc sur les forums MATLAB depuis plusieurs années. ;)

Tableau

Qu’est-ce qu’un tableau ? Un outil d’informaticien !

En informatique, un tableau est une structure qui permet de stocker des données. On peut se la représenter comme une grille régulière de dimension quelconque. Les dimensions les plus courantes sont 1D, 2D, 3D voire 4D.

Prenons par exemple un tableau 2D contenant des valeurs numériques entières :

>> M = [1 2 3 ; 4 5 6 ; 7 8 9]

M =

     1     2     3
     4     5     6
     7     8     9

>> whos M
  Name      Size            Bytes  Class     Attributes

  M         3x3                72  double

Un tableau peut avoir plus de deux dimensions dans MATLAB. Par exemple, voici un tableau à six dimensions :

>> M = rand(5,2,7,4,5,8);
>> whos M
  Name      Size            Bytes  Class     Attributes

  M         6-D             89600  double

Avec MATLAB, on se sert des tableaux pour stocker par exemple les valeurs des pixels d’une image. Un tableau 2D sera utilisé pour les images en couleurs indexées alors qu’un tableau 3D sera utilisé pour les images en couleurs vraies (RGB). Plus d’informations à ce sujet dans le tutoriel Gestion des couleurs.

Par exemple :

>> I = imread('lena.jpg');
>> whos I
  Name        Size                Bytes  Class    Attributes

  I         512x512x3            786432  uint8

Matrice

Qu’est-ce qu’une matrice ? Un outil de mathématicien !

En mathématiques (calcul numérique), une matrice peut être considérée comme un tableau à deux dimensions (2D) et… rien d’autre. Une matrice possède des propriétés particulières et doit respecter les règles du calcul matriciel.

Le tableau suivant peut donc être considéré comme une matrice :

>> M = [1 2 3 ; 4 5 6 ; 7 8 9]

M =

     1     2     3
     4     5     6
     7     8     9

>> whos M
  Name      Size            Bytes  Class     Attributes

  M         3x3                72  double

Avec MATLAB, on se sert des matrices pour, par exemple, résoudre des systèmes d’équations linéaires. Lire à ce sujet le tutoriel Résolution des systèmes linéaires de Jean-Marc Blanc.

Par exemple, on peut utiliser des matrices pour résoudre le système d’équations suivant :

4x + 2y = 5
x – 5y = 4

Dans MATLAB :

>> A = [4 2 ; 1 -5];
>> B = [5 ; 4];
>> A\B

ans =

    1.5000
   -0.5000

A et B sont donc des matrices dans ce cas.

Conclusion

Tout est tableau dans MATLAB, vous pouvez donc toujours employer ce terme.

Les matrices sont des tableaux 2D, que l’on utilise uniquement dans le cadre des mathématiques (algèbre linéaire).

Voila, j’espère vous avoir éclairé.

Ma première résolution pour l’année 2014 consistera à prêter un maximum d’attention à l’emploi de ces deux termes. :)

Pour résumer

Avec MATLAB :

  • Tableau : tableau de dimension quelconque ;
  • Matrice : tableau à deux dimensions (2D) utilisé pour en mathématiques (calculs numériques).

Note : en anglais, « tableau » se dit « array », et « matrice » se dit « matrix ».

matlab, mathlab, MatLab ou MATLAB ?

Depuis plus de 10 ans, je vois régulièrement passer toute sorte d’orthographes sur les forums pour désigner MATLAB.

Et vous ? Quelle habitude avez-vous prise ?

Commençons par la plus fautive qui est « mathlab ». Pourquoi ?
Car certains pensent sans doute, à tort, que MATLAB est dédié aux mathématiques.

Il faut plutôt se rappeler qu’il fut initialement crée comme outil de calcul numériques (algèbre linéaire et moindres carrés). Dans cette discipline, on utilise beaucoup de matrices. Le nom MATLAB vient donc de la concaténation de « MAT » pour « matrix » et de « LAB » pour « laboratory », soit « laboratoire (de calcul) matriciel ».

Alors pourquoi écrire « MATLAB » tout en majuscules ? Et pas « matlab » ou « MatLab » ?

Simplement parce que MathWorks, qui commercialise MATLAB, impose cet usage :

“MATLAB” is in all caps

Lire à ce sujet : Editorial standing – Referring to the Products

Voila donc pourquoi nous utilisons exclusivement cette orthographe sur les forums, dans les tutoriels, dans les FAQ et les autres contributions sur Developpez.com.

Dorénavant, vous n’avez plus d’excuse si vous n’écrivez pas « MATLAB ».

;)

Oui mais pourquoi Cleve Moler a-t-il choisi d’écrire le nom en majuscule ?

Sans doute parce que les bibliothèques sur lesquelles reposaient initialement MATLAB s’appelaient LINPACK et EISPACK. Elles même étaient écrites en Fortran, qui à l’époque s’écrivait… FORTRAN.

C’est l’explication la plus plausible à laquelle je suis parvenue.

Qu’en pensez-vous ?