Archives pour la catégorie Best-of des commandes MATLAB utiles

matlab:matlab.internal.language.introspective.showAddon(baseCode)

Sous cette commande barbare se cache ma feature préférée en R2014b !!!

Et je pense bien être le seul à la mettre dans MA feature 14b!
D’ailleurs je crois qu’elle n’est même pas documentée!

Allez stop le suspense , la voici la feature:

Imaginez que vous appelez une fonction SIMULINK comme sim ou
une fonction de l’IMAGE Processing Toolbox comme medfilt2
alors que VOUS N’AVEZ PAS CES TOOLBOXES

En R2014a et versions antérieures vous aurez ces messages d’erreurs attendus:
14a

Normal (medfilt1 est proposé car j’ai la Signal Processing) …

Mais en R2014b et là je trouve ça énorme, il indique quelle toolbox on aurait
besoin pour utiliser ces fonctions :
14b

Et le top dans tout ça , les liens amènent sur le formulaire de demande
d’essai de la boite à outil en question.

MATLAB4GEEK !!

Chut!

ou comment faire taire MATLAB ?!
J’avais écris un logiciel avec pleins de fprintf afin de pouvoir créer un log avec diary.
Evidemment ça ralentit le process le fait de faire afficher pleins de lignes dans le Command Window.
Là l’idée c’était de pouvoir ajouter une option qui fasse que les fprintf n’affichent rien.
J’aurais pu rajouter une checkbox dans l’interface que j’aurais appelée « verbosity » . Si cette checkbow n’était pas cochée , cela signifait que l’opérateur ne voulait rien voir à l’écran.
Mais bon vu que j’en avais plus de 3000 lignes de fprintf je n’avais pas envie de faire 300 if-test du style:

if verbosity % checkbox has value 1
fprintf('\n ...')
end

La solution est en fait toute simple et ne requière aucune modification de code … (solution page suivante ) Lire la suite

accumarray

En juillet 2012, j’ai ENFIN trouvé l’utilité d’utiliser accumarray… les boules pour un MATLAB geek ! Cette fonction a été introduite avec MATLAB 7.0 (R14) en même temps que les fonctions cast, intmax, intmin,…. donc il était temps de s’y coller.

Je m’étais même promis d’y arriver dans ce billet Mon premier arrayfun.

  • Exemple simple :

Cette matrice là par exemple 2 lignes et 3 colonnes :

B = [0 0 0
0 0 -13]

On pourrait l’écrire en une ligne en faisant

B(2,3) = -13

mais truc de fou on peut aussi l’écrire en faisant:

accumarray([2,3],-13)
  • Maintenant avec un exemple plus compliqué

Lire la suite

Compiler du Fortran sous Linux

Compiler du Fortran sous Linux m’a l’air beaucoup plus simple que sous Windows !

En revanche je me suis chopé l’erreur suivante:

    version `GFORTRAN_1.4′ not found

Voici l’erreur que j’ai eue en R2011b, R2012a et R2012b après avoir mexé avec succès :

/usr/local/MATLAB/R2012b/bin/glnxa64/../../sys/os/glnxa64/libgfortran.so.3: version `GFORTRAN_1.4′ not found

Lire la suite