sprintf: how to efficiently create a string of 75 numbers, separated by comma
Afficher commentaires plus anciens
I have an array which contains 75 numeric elements. I want to write these numbers as a string separated by a comma. If there were few numbers, I could use 'sprintf' as follows:
A=[1,2];
str=sprintf('%d,%d',A(1:end));
I need an efficient way to do it when there are many entries in A.
Réponse acceptée
Plus de réponses (2)
Ameer Hamza
le 27 Avr 2018
Modifié(e) : Ameer Hamza
le 27 Avr 2018
This will work.
strjoin(string(A), ',')
2 commentaires
Walter Roberson
le 27 Avr 2018
Note: this requires R2016b or later. Also, it creates a string object output, not a character vector.
Ameer Hamza
le 27 Avr 2018
Thanks for elaborating.
"I need an efficient way to do it when there are many entries in A."
This is probably about the most efficient way:
A = 1:5;
str = sprintf(',%d',A);
str = str(2:end);
Timing comparisons for 1e4 iterations:
Elapsed time is 0.539053 seconds. % this answer.
Elapsed time is 2.54425 seconds. % Star Strider's answer.
2 commentaires
Walter Roberson
le 27 Avr 2018
I didn't answer -- I commented on someone else's answer.
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!