0

데이터 수집을 위해 두 개의 while 루프를 병렬로 실행하려고합니다. 이 프로그램은 "n"num_trials에 대해 각 시험 기간 동안 특정 시험 기간으로 실행됩니다.중첩 된 병렬 While 루프

각 시험 기간 동안 프로그램은 시험 기간을 추적하면서 데이터를 수집합니다. 예를 들어, 첫 번째 시도는 1 초에 데이터 수집을 시작하고 10 초에 중지합니다. 이 과정은 나머지 재판 횟수 동안 반복됩니다.

루프를 병렬로 실행하는 방법은 무엇입니까?

기본적으로 지정된 시행 기간이 완료되면 두 번째 while 루프를 중단하는 메서드가 필요합니까?

미리 감사드립니다.

count = 0; 
num_trials = 5; % Number of Trials = 5 Trials 
trial_duration = 10; % Trial Duration = 10 Seconds 

global check 
check = 0; 

% Number of Trials 
for i = 1:num_trials 

    fprintf('Starting Trial %i\n', i); 

    t_start = tic; 

    % Start counting and Collecting Data 
    while toc(t_start) < trial_duration 

     % Data Collection 
     while (check ~= 1) 
      count = count +1; 
     end 

    end 

    fprintf('Ending Trial %i\n', i); 
end 
+0

두 개의 회 돌이를 참조하고있는 것은 어느 것입니까? 데이터 보관 방법에 대해 다시 생각해 봐야 할 것 같습니다. – jdero

+0

@jdero 코드에는 while 루프 만 있습니다. 첫 번째는 타이머이고 두 번째는 데이터 수집입니다. 순간에 데이터를 저장하는 것에 대해 우려하지 않습니다. – exlux15

+0

당신은 병렬 도구 상자를 보았습니까? – Marcin

답변

1

&&과 함께 단일 루프를 사용해 보셨습니까?

while (toc(t_start) < trial_duration) && (check ~= 1) 

     % Data Collection 
     count = count +1; 

end 
+0

응답 해 주셔서 감사합니다. – exlux15