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
mais truc de fou on peut aussi l’écrire en faisant:
- Maintenant avec un exemple plus compliqué
Imaginons qu’on veuille remplir une matrice 5 lignes et 4 colonnes comme ci-dessous:
0 0 0 0
8 0 0 0
8 0 0 8
0 0 0 0
0 0 0 8
Donc on a le chiffre 8 :
en ligne 2 colonne 1
en ligne 3 colonne 1 et 4
et en ligne 5 colonne 4
On écrira donc sous MATLAB :
ligne = [ 2 3 3 5 ];
colonne = [ 1 1 4 4 ];
accumarray([ligne(:),colonne(:)],chiffre)
bon moi je m’en sers ainsi et je pense que j’ai détourné l’idée de base d’accumarray (Construct array with accumulation)
A vrai dire les exemples de la doc me sortent des yeux et je ne vois pas comment les utiliser dans la pratique.
Donc si vous avez d’autres exemple pratiques , je suis preneur!
bien vu !, c’était pour voir si quelqu’un suivait!!! (j’ai corrigé )
je vais prendre des vacances
Hé tug83, tu ferais pas de la dyslexie ligne-colonne par hasard ?