Ascending table column labels
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Joost de Witte
 el 7 de En. de 2020
  
    
    
    
    
    Comentada: Star Strider
      
      
 el 7 de En. de 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 comentarios
Respuesta aceptada
  Star Strider
      
      
 el 7 de En. de 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 comentarios
Más respuestas (1)
  Jesus Sanchez
      
 el 7 de En. de 2020
        
      Editada: Jesus Sanchez
      
 el 7 de En. de 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'}
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


