Ascending table column labels

조회 수: 1 (최근 30일)
Joost de Witte
Joost de Witte 2020년 1월 7일
댓글: Star Strider 2020년 1월 7일
Hello all,
I've got a table which contains 38 column's, each representing one cycle. I want to label them "cycle 1", "cycle 2", etc.
I tried something like this, but this doesn't work. Any help would be appreciated, thank you!
colnames = "Cycle" + 1:size(matrix,2);
table = array2table(matrix,'VariableNames', colnames);

채택된 답변

Star Strider
Star Strider 2020년 1월 7일
Use the compose function (R2016b and later versions):
colnames = compose("Cycle %d", 1:size(matrix,2));
Alternatively, use the sprintfc (undocumented) function:
colnames = sprintfc("Cycle %d", 1:size(matrix,2));
No loop necessary.
  댓글 수: 2
Joost de Witte
Joost de Witte 2020년 1월 7일
Thank you, it worked.
Star Strider
Star Strider 2020년 1월 7일
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jesus Sanchez
Jesus Sanchez 2020년 1월 7일
편집: Jesus Sanchez 2020년 1월 7일
I would do it inside a for loop:
matrix = [1 2 3; 3 4 5; 6 4 5; 9 8 7]; % 4 rows and 3 columns
colnames = {}; % Initializes colnames
for n=1:size(matrix,2)
colnames{end+1} = ['Cycle ' num2str(n)];
end
colnames = colnames.'; % To put them in one column, for readability
Result:
ans =
3×1 cell array
{'Cycle 1'}
{'Cycle 2'}
{'Cycle 3'}
  댓글 수: 1
Joost de Witte
Joost de Witte 2020년 1월 7일
Thank you, did worked!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Image Data Workflows에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by