如何通过循环将一系列文件加载到MATLAB矩阵中

时间:2011-08-11 18:31:35

标签: matlab loops csv

  

可能重复:
  How do I put variable values into a text string in MATLAB?

好的,所以如果你知道你在做什么,我认为这是小菜一碟!但是和我一起裸露。

我有一系列顺序编号的csv文件,我想加载到一个矩阵中,文件的数量大约是20到40,所以我认为循环是可行的...

我提出了以下伪代码:

for i= 1 to Nfiles
  Ainput = csvread('TEK000',i{even},'.csv');
  Binput = csvread('TEK000',i{odd},'.csv');
end

所以我用两个矩阵A和B完成,A取偶数循环索引,B取奇数循环索引......对我来说棘手的部分是将循环索引放入要加载的文件名中。

为任何帮助干杯!

2 个答案:

答案 0 :(得分:2)

这应该让你入门

%enumerate all files in a directory of a certain extension
files=dir('*.csv');

for i=1:length(files)
  %do your check for even
 if mod(i,2)==0
    Ainput{i} = csvread(files{i}.name);
 else
    Binput{i} = csvread(files{i}.name);
 end
end

您必须仔细检查以查看dir是否以有序方式读取。如果不是,FEX Sort cell array会有所帮助。

答案 1 :(得分:1)

你可能在cvsread中想要类似下面这样的内容,但由于你没有问任何具体内容,所以很难说:sprintf('TEK000%d.csv',2*i-1)