Do you have a suggestion for a name of my function?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have written a nice little function which I would like to put on the File Exchange. However, I am still looking for a short and decent name for it. So I thought to ask here, for inspiration.
The function takes a vector that can contain consecutive identical elements. It returns an index vector that (re-)starts counting from 1 whenever V changes. An example
V = [10 10 10 4 4 10 9 9 9 9 9]
% and a call to MyFunction(V) returns
[ 1 2 3 1 2 1 1 2 3 4 5]
Any suggestions are welcome!
1 commentaire
John D'Errico
le 22 Mar 2016
Modifié(e) : John D'Errico
le 22 Mar 2016
This is sometimes the hardest part of writing a function - what to call it. You want a memorable name, since the user needs to be able to use it, and this helps improve user code readability. A short name would be nice of course. Unused is important too.
Réponse acceptée
Charles Dunn
le 22 Mar 2016
This is similar to Run Length Coding (https://en.wikipedia.org/wiki/Run-length_encoding). You could call it RunLengthCounter
Plus de réponses (5)
Walter Roberson
le 23 Mar 2016
"BoatyMcBoatFace" (Google it if you missed this current event ;-) )
0 commentaires
Stephen23
le 22 Mar 2016
Modifié(e) : Stephen23
le 23 Mar 2016
Nice idea, sometimes I have needed an efficient tool to do exactly that!
Is there any similar inbuilt function? There seems the be little precedent for the name.
The term "run" is commonly used to describe contiguous sequences of one value (e.g. RLE). I find count alone is a little bit misleading, as the function does not count the runs themselves, rather the elements within each run.... however adding the prefix "re" makes it clear that this is no ordinary run counter:
runrecount
The "shape" of the output also implies some possible names:
runsteps
runstairs
and some slightly more esoteric names (aka geek humor):
penrosecount
eschercount
EDIT:
runstepcount
runscountidx
Jos (10584)
le 23 Mar 2016
Modifié(e) : Jos (10584)
le 23 Mar 2016
3 commentaires
Jan
le 23 Mar 2016
It is a cumsum(ones()) with restarts.
The runs are repeating sequences: stammercount
I prefer runindex.
Voir également
Catégories
En savoir plus sur Propagation and Channel Models dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!