Ascending table column labels
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Joost de Witte
le 7 Jan 2020
Commenté : Star Strider
le 7 Jan 2020
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);
0 commentaires
Réponse acceptée
Star Strider
le 7 Jan 2020
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 commentaires
Plus de réponses (1)
Jesus Sanchez
le 7 Jan 2020
Modifié(e) : Jesus Sanchez
le 7 Jan 2020
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'}
Voir également
Catégories
En savoir plus sur Image Data Workflows dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!