2014-10-02 2 views
-2

두 단계로 생성 된 파일을 읽고 싶을 때 문제가 있습니다.MATLAB에 두 개의 인덱스가있는 파일 이름 읽기

우리는 2 개의 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 루프가 좋은 선택이 될 수 있습니다 (필자 생각!).

제 질문은이 파일을 호출하기 위해 두 개의 루프를 작성하는 방법이 있습니까? 또는 어떻게 생성 된 것과 다른 다른 함수 안에서 그들을 호출 할 수 있는지.

+0

' "이 파일들을 호출하거나 파일 이름을 생성하기 위해서? – Divakar

+2

당신이 묻고있는 것이 꽤 분명하지 않았기 때문에 투표에 투표 한 결과 귀하의 의견에도 반영되었습니다. 향후 게시물에 대해서는 게시물 자체부터 시작하여 더 나은 방법으로 자신을 설명하십시오. 그러면 사람들이 야생 추측을하지 않아도됩니다. – Divakar

+1

이 방법을 잘못 사용하지 말고 [How To Ask] (http://stackoverflow.com/help/how-to-ask)를 읽으면 도움이 될 것입니다. – kkuilla

답변

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 

구조체 배열 content 길이 50은 파일 정보를 포함합니다. 하지만이 기능을 사용하려면 먼저 loadbvh 함수를 먼저 다운로드해야합니다.

+0

이 루프는 파일을 읽습니까? 필자는이 루프에서 출력되는 내용을 읽는 대신 파일을 쓰는 것으로 생각합니다. – Royeh

+0

아니요, 50 개의 파일 이름을 생성합니다. 파일을 읽는 것은 여러 가지 방법으로 수행 할 수 있으며 파일에있는 내용과 파일로 수행 할 작업에 따라 다릅니다. 예를 들어'content {idx} = dlmread (file);'를 사용하면 카운터'idx'를 추가 할 수 있습니다. – MeMyselfAndI

+0

하지만 내 문제는 출력으로이 50 개의 파일을 읽는 방법입니다. 나는'S'와'N'을위한 카운터가 있기 때문에 그것을 할 수 있습니다. 나를 위해 카운터는'N' 문제입니다. 이 파일들은'* .bvh' 파일이고 코드는 그것들로부터 어떤 정보를 읽을 것입니다. 그런 다음 정확한 파일을 읽는 것이 정말 중요합니다. – Royeh

관련 문제