Reading vector elements into a string

4 Ansichten (letzte 30 Tage)
Morten Nissov
Morten Nissov am 23 Jul. 2020
Kommentiert: Walter Roberson am 23 Jul. 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 Kommentare
Walter Roberson
Walter Roberson am 23 Jul. 2020
If [1,2] should produce 0012, then what should [1,12] produce ?
Morten Nissov
Morten Nissov am 23 Jul. 2020
Sorry I have assumed the contents of the vector are integers >-1 and <10

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 23 Jul. 2020
temp = sprintf('%d', [0 0 0 0, vector]);
temp = temp(end-3:end);
filename = sprintf('temp%s.file', temp);
  1 Kommentar
Walter Roberson
Walter Roberson am 23 Jul. 2020
filename = sprintf('temp%04d.file', sum(vector .* 10.^(length(vector)-1:-1:0)));

Melden Sie sich an, um zu kommentieren.


KSSV
KSSV am 23 Jul. 2020
n = [1 2] ; % your vector
v = sprintf('%.0f' , n) ; % convert n to char
filename = sprintf('%04d',str2num(v));

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by