Reading vector elements into a string

4 views (last 30 days)
Morten Nissov
Morten Nissov on 23 Jul 2020
Commented: Walter Roberson on 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 Comments
Walter Roberson
Walter Roberson on 23 Jul 2020
If [1,2] should produce 0012, then what should [1,12] produce ?
Morten Nissov
Morten Nissov on 23 Jul 2020
Sorry I have assumed the contents of the vector are integers >-1 and <10

Sign in to comment.

Answers (2)

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

Sign in to comment.


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

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!