Formatted string plus list of numbers using sprintf
이전 댓글 표시
I would like to display comma-separated records like the following,
Record1,2,8,3,5,2,6,3,7,7,7
Here's my attempt, but is there a less clunky way?
% Make the record label string
iRecord = 1;
strLabel = ['Record' num2str(iRecord)];
% Make the number vector
numberList = round(rand(1,10)*10);
% Turn number vector into a string
numberListIntoString = sprintf('%d,', numberList);
% Remove comma at end
numberListIntoString = numberListIntoString(1:(end-1));
% Display the result
disp([strLabel ',' numberListIntoString])
채택된 답변
추가 답변 (1개)
Steven Lord
2019년 6월 18일
편집: Steven Lord
2019년 6월 18일
If you're using a release that supports string convert your numeric vector into a string using string. Next use join to combine the elements of that string array into one string, each separated by a delimeter. Finally concatenate the result to the end of a header string with +. I separated the steps into four lines for clarity, but you could do it in one.
vec = [1 2 8 3 5 2 6 3 7 7 7]
strvec = string(vec)
str = join(strvec, ',')
S = "Record " + str
I chose to separate "Record" and the first element of the the vector with a space; remove the last character of the string in the last line if you don't want that.
카테고리
도움말 센터 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!