Matlab의 for 루프 수가 달라졌습니다. 몇 가지 다른 데이터 폴더를 생성했습니다. 각 파일에는 .mat 파일이 몇 개 있습니다. 필자가해야 할 일은 해당 폴더에있는 파일 (가능한 한 같은 폴더에있는 파일이 아님)에서 가능한 모든 조합을 생성하는 것입니다. 그래서 기본적으로 알고리즘은 다음과 같습니다 Matlab의 다양한 중첩 루프 수
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 ..)를 알 수 없으므로 쓸모가 없습니다.
제발 나에게 몇 가지 제안.
폴더 구조는 어떻게 구성되어 있습니까? 'Main> folder01, folder02' 등 ... 아니면 중첩 된 폴더를 가지고 있습니까 (예 :'main> folder01> folder0101; main> folder02, main> folder03> fodler0301> folder030101' 등 ...? 전자의 경우에는 단일 루프이면 충분합니다. – Oleg
많은 반복적 인 독서처럼 보입니다. 한꺼번에 읽을 수있는 데이터가 너무 많습니까? 그런 다음 계산 루프를 수행합니까? –
안녕하세요, 구조는 메인 -> folder01, folder02 ....., 폴더 n입니다. 폴더 수는 가변적이며 각 폴더의 파일 수도 다양합니다. 나는이 정보를 저장하므로 (예 : A = [2, 4,5]) 폴더 1에 2 개의 파일이 있고 폴더 2에 4 개의 파일이 있다는 것을 의미합니다. –