Reading vector elements into a string

5 vues (au cours des 30 derniers jours)
Morten Nissov
Morten Nissov le 23 Juil 2020
Commenté : Walter Roberson le 23 Juil 2020
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
Walter Roberson le 23 Juil 2020
If [1,2] should produce 0012, then what should [1,12] produce ?
Morten Nissov
Morten Nissov le 23 Juil 2020
Sorry I have assumed the contents of the vector are integers >-1 and <10

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
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
Walter Roberson le 23 Juil 2020
filename = sprintf('temp%04d.file', sum(vector .* 10.^(length(vector)-1:-1:0)));

Connectez-vous pour commenter.


KSSV
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 Matrices and Arrays dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by