Reading vector elements into a string
Afficher commentaires plus anciens
I have a vector of numbers that I would like to use to create a filename. For example with a vector [1] I would like the filename temp0001.file. This is simply done by
filename = sprintf('%04d', vector);
This doesn't carry over once I append more elemnts to the matrix, for example [1,2] should result in temp0012.file but instead becomes temp0102.file. Is there another way to parse the vectors?
2 commentaires
Walter Roberson
le 23 Juil 2020
If [1,2] should produce 0012, then what should [1,12] produce ?
Morten Nissov
le 23 Juil 2020
Réponses (2)
Walter Roberson
le 23 Juil 2020
temp = sprintf('%d', [0 0 0 0, vector]);
temp = temp(end-3:end);
filename = sprintf('temp%s.file', temp);
1 commentaire
Walter Roberson
le 23 Juil 2020
filename = sprintf('temp%04d.file', sum(vector .* 10.^(length(vector)-1:-1:0)));
KSSV
le 23 Juil 2020
n = [1 2] ; % your vector
v = sprintf('%.0f' , n) ; % convert n to char
filename = sprintf('%04d',str2num(v));
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!