我对 Matlab 中不同数量的 for 循环有疑问。我生成了一些不同的数据文件夹,每个文件夹都包含一些 .mat 文件。我需要做的是从这些文件夹中的这些文件(但不是同一文件夹中的文件)生成所有可能的组合。所以基本上算法是:
For i = 1: number of files in folder 1
For j = 1:number of files in folder 2
............................
For m = 1: number of files in folder n
Read file i in folder 1
Read file j in folder 2
......................
Read file m in folder n
Result file = sum of data in those files %at last we have n-Dimension matrix
end;
end;
end;
如果我们可以固定文件夹的数量,就可以了,但是文件夹的数量取决于输入参数,所以我找不到合适的解决方案。我也读过递归算法,但我不清楚如何做到这一点。例如,使用递归算法:
我有一个向量,显示每个文件夹 A =[2,3,4](3 个文件夹)中的文件数。
Function Recursive (n, A) % n = 3
if (n>1)
Recursive (n-1, A)
else
for i = 1: A(n)
Read file i in folder n;
end;
end
这里我们无法知道之前的变量 (j,k..),所以这是没用的。
请给我一些建议。