Skip to content


Barre de progression en Matlab/Octave

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.

Posted in Eau chaude.

One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Fab said

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

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.