读取MATLAB中有两个索引的文件名

时间:2014-10-02 13:13:35

标签: matlab for-loop filenames

当我想要读取一步生成的文件时,我遇到了问题。

假设我们有两个for循环。代码将在外部循环中将文件名写为

file_name_N1

它会重复到i=10。内部循环将为结束文件添加另一个名称

file_name_N1_S1

它会重复到i=5。总共会有50个文件

file_name_N1_S1
....
file_name_N1_S5
file_name_N2_S1
...
file_name_N2_S5
...
file_name_N10_S1
...
file_name_N10_S5

现在我必须在另一个函数中编写它们。 例如,我需要按顺序在文件中使用一些信息,并且for循环将是一个不错的选择(我想!)。

我的问题是,有没有办法编写两个循环来调用这些文件?或者如何在另一个与生产的函数不同的函数中调用它们。

1 个答案:

答案 0 :(得分:1)

content(50).time = []; % allocation
idx = 0;
for n=1:10
    for s=1:5
        % generate the file name
        file = sprintf('file_name_N%d_S%d',n,s);
        idx = idx + 1;
        % store the content of the file
        [content(idx).skeleton content(idx).time] = loadbvh(file);
    end
end

现在,长度为50的结构数组content包含文件的信息。但我想你需要首先下载函数loadbvh,然后才能使用。