Réifier le futur

25 juillet 2007

Barre de progression en Matlab/Octave

Classé dans : Eau chaude — Olivier Schwander @

Si vous n’avez jamais entendu parler de Matlab, vous avez vraiment de la chance, ça veut dire que vous n’avez jamais eu à faire de calculs bourrins avec des matrices.

J’ai dû pas mal m’en servir ces derniers temps (en fait c’était Octave, qui est aussi mal mais en mieux parceque libre), et je me suis dis que ce serait sympa d’avoir un indicateur de progression lors des calculs.

Le fichier progressmeter.m

function progressmeter(k, all)
printf("%c[u", 027);
printf("%c[s", 027);
printf("%5.2f%%", 100*k/all);
end

Et le fichier progressmeter_init.m

function progressmeter_init()
printf("%c[s", 027);
end

Il faut commencer par appeler progressmeter_init() pour sauvegarder la position du curseur, puis il suffit à chaque étape d’appeler progressmeter(i, n) pour afficher le pourcentage d’avancement de l’étape i sur un nombre n d’étapes au total.

Ça utilise les caractères de contrôles \27c[s qui sauvegarde la position du curseur et \27c[u qui la restaure.

Un commentaire »

  1. Tu pourras te venter d’avoir fait des progrès en Matlab… euh pardon, Octave…

    Commentaire par Fab — 28 juillet 2007 @

Flux RSS des commentaires de cet article. URL de Trackback

Laisser un commentaire

Propulsé par WordPress