首页 > 解决方案 > 如何使用包含数字标识符的名称定义多个参数

问题描述

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

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

我怎样才能把这些写得更好,结构更合理。多谢。

标签: matlab

解决方案


循环遍历文件是没有问题的,但是用数字(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

推荐阅读