2017-05-09 10 views
1

Here is a pic of a possible table.Comment puis-je créer un nombre variable d'en-têtes de colonne dans une table?

Ce que je veux est essentiellement pour les en-têtes

"Var1", ..., "VarN" 

à appeler

"Student no.", "Name", "Assignment 1", ..., "Assignment N-2" 

J'ai essayé de déconner avec le champ T.properties.Variablenames, mais ne peut pas sembler faire ça fonctionne (je peux nommer "Var1" et "Var2" correctement, mais ne sachant pas combien de devoirs il y aura, je ne peux pas nommer le reste d'entre eux).

Existe-t-il un moyen élégant de le faire?

Répondre

2

Vous pouvez d'abord obtenir le nombre de noms de variables dans le tableau, puis générer un ensemble de chaînes pour les missions en utilisant sprintf et strsplit:

nVars = numel(T.Properties.VariableNames); 
varNames = strsplit(sprintf('Assignment_%d ', 1:(nVars-2))); 
T.Properties.VariableNames = [{'Student_no' 'Name'} varNames(1:(end-1))]; 

Notez que les chaînes ne peuvent pas avoir des espaces ou des périodes eux (c'est-à-dire qu'ils suivent le même format que normal variable naming).