Convert Integer Array to String Array where repeated integers use "R" for repeated entries
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
The question is a bit vague. An example will make this much more clear. Lets say I have the integer array A
A= [ 1 1 1 1 2 2
2 2 2 2 2 2
3 3 3 2 3 3];
My goal is to have the following array B (it can be character/cell/string) the only requirement is that I can then write B to a text file using fprintf.
B= '1 3R 2 7R 3 2R 2 3 1R';
Where "nR" repeats the preceding entry n times. I am going to be performing this on a large integer array (~ 5.0E+7 elements) so efficiency is crucial.
Thank you for your time.
0 commentaires
Réponses (3)
Walter Roberson
le 28 Mar 2018
Modifié(e) : Walter Roberson
le 28 Mar 2018
sprintf('%g %dR ', [values(:), counts(:)-1].' )
or if you are sure that values and counts are row vectors,
sprintf('%g %dR ', [values; counts-1]);
0 commentaires
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!