Reading vector elements into a string

4 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2020-7-23
If [1,2] should produce 0012, then what should [1,12] produce ?
Morten Nissov
Morten Nissov 2020-7-23
Sorry I have assumed the contents of the vector are integers >-1 and <10

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2020-7-23
temp = sprintf('%d', [0 0 0 0, vector]);
temp = temp(end-3:end);
filename = sprintf('temp%s.file', temp);

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

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by