我怎样才能重命名在MATLAB循环中的一组variables?

我已经导入了一个填充了数据的matrixX ,并将其每个列的相应标题导入到MATLAB中。 现在的问题是,我怎样才能重新命名每个X的列在单元格中的名称。
我想循环做这个。
有谁会告诉我如何在这种情况下循环重命名程序?

我build议从数据中创build一个结构 ,而不是单个variables。 即使有大量的列,这也不会混乱工作区,也不会在名称冲突的情况下覆盖工作区中已经存在的variables。 它将保留来自电子表格的所有数据,并允许按列名称访问它。 要从列名称的单元数组和数据matrix中轻松创build结构,请使用cell2struct :

 >> colnames = {'odds','evens'}; >> data = [1 2;3 4;5 6]; >> spreadsheet_structure = cell2struct(num2cell(data,1), colnames, 2) spreadsheet_structure = odds: [3x1 double] evens: [3x1 double] 

num2cell(M,1)创build单元arrays,其中每个单元是来自matrixM的列)

循环遍历标题列并使用eval创build名称在string“标题”中包含为string的variables:

  [X,header,~] = xlsread('eaef21.xls',1,'A1:AY541'); for H = 1:size(header,2) eval([header(1,H), " = X(:,", H, ");"]); end 

另外,用disp代替上面的eval通常是非常有用的,直到你满意地按照你的意愿工作。 使用disp将帮助你理解正在发生的事情。