MATLAB读入excel数据循环

时间:2017-07-17 16:53:44

标签: excel matlab loops

我在MATLAB中有以下内容:

data1 = xlsread('C:\Desktop\example.xlsx','PKA1');
data2 = xlsread('C:\Desktop\example.xlsx','PKA2');

一直到24岁。

如何为我创建循环?

这将创建24个变量:data1,data2,data3等,全部对应于PKA1,PKA2,PKA3等。

如何创建一个读入data1,data2的循环,而不是全部写出来?

2 个答案:

答案 0 :(得分:3)

不要创建动态变量。阅读here原因。如果每个工作表的内容相同,请使用数组。否则使用单元格数组。使用num2str将循环变量转换为字符串,并使用公共字符串PKA将其转换为concatenate

k = cell(1,24);    %Pre-allocation
for k=1:24
   data{k} = xlsread('C:\Desktop\example.xlsx',['PKA', num2str(k)]);
end

答案 1 :(得分:-1)

正如@Sardar所说,你不应该使用eval来继续工作。但是,如果您愿意,可以使用eval喜欢以下内容:

 for idx = 1:24
     varName = ['data', num2str(idx)]; // concatenate the string
     columnName = ['PKA', num2str(idx)];
     xlsReadFunc = ['xlsread(''C:\Desktop\example.xlsx'',''',columnName,''''];
     finalExp = [varName,'=', xlsReadFun];
     eval(finalExp);
 end