如何使用名称包含数字标识符来定义多个参数

时间:2019-08-15 06:05:13

标签: matlab

我有一些文件名为f0.csv, f1.csv, f2.csv, ..., f100.csv。我想一一读取这些文件,然后将它们的内容放入名称为data0,data1,data2,....这样的参数中,如下所示:

data0 = load('f0.csv'); 
data1 = load('f1.csv'); 
...

我该如何写出更好,更结构化的内容。非常感谢。

1 个答案:

答案 0 :(得分:1)

遍历文件是没有问题的,但是用数字(data0,data1,data2)命名变量是很糟糕的做法,并且在某些时候确实很难处理,因此我强烈建议您使用像cellarray这样的方法来访问数据data(1),依此类推。

lastfile=2;
data=cell(lastfile,1);

for i=1:lastfile
    data(i)={load(['f' int2str(i) '.csv'])};
end

但是您要求它,这是可能的。使用eval,您可以创建这些变量。

for i=1:lastfile
    eval(['data' int2str(i) '=load(''f' int2str(i) '.csv'')']);
end