2016-07-14 2 views
0

프로그램에서 평가 번호가 20으로 나눌 수 있는지 알 수 없으므로 아래 코드는 작동하지 않습니다. 기본적으로 평가판 = 20, 40 , 60, 등등. 만약 그렇다면, 원하면 휴식을 취하십시오.숫자가 20으로 나눌 수 있는지 확인 MATLAB

numTrials = 345; 

for trial = 1:ntrials 

% Take a break every 20 trials, subject can press space key to move on 
if mod(trial, 20) == 0 
    breakText = ['Take a break or press the spacebar to continue']; 
    tic 
    while doc < 30 && ~keyPress 
     DrawFormattedText(window, breakText, 'center', 'center', black) 
     Screen('Flip', window); 
     if (keyCode(spaceKey) == 1) 
      break; 
     end 
    end 

end 

미리 감사드립니다.

+1

왜 작동하지 않습니까? 숫자가 20으로 나눌 수 있는지 확인합니다. – Suever

+0

문제는 다음과 같이하고 싶습니다. trial = mod (trial, 20) == 0 인 경우, 이와 같이 equals 연산자를 사용할 수 없습니다. 나는 우리가 한 재판이 20으로 나눌 수 있는지 확인해야합니다. – collegesista

+0

당신은 이미'mod (trial, 20) == 0'을 사용하고 있습니다. – Suever

답변

1

숫자가 다른 숫자로 나눌 수 있는지 확인하려면 mod 또는 rem을 사용할 수 있습니다. 양수의 경우 두 숫자를 나눈 후 나머지 숫자를 모두 반환합니다. 숫자가 다른 숫자로 나눌 수 있다면 나머지는 0이됩니다.

is_divisible_by_20 = rem(number, 20) == 0 

if 문에 조건 대신 넣을 수 있도록 20으로 완전히 나눌 수있는 숫자는 true로 평가됩니다.

if rem(number, 20) == 0 
    % Take a break 
end 
관련 문제