2012-09-28 5 views
-3

아래 코드는 하단 부분을 제외하고 Matlab 문서에서 얻은 것입니다.Matlab에서 i = 1은 무엇을 의미합니까?

function B = nway(A,n) 
% Compute average of every N elements of A and put them in B. 

if ((mod(numel(A),n) == 0) && (n>=1 && n<=numel(A))) 

B = ones(1,numel(A)/n); 
    k = 1; 

    for i = 1 : numel(A)/n 
     B(i) = mean(A(k + (0:n-1))); 
     k = k + n; 

    end 

for 루프 코드는 무엇을 의미합니까? 특히 다음 줄은 무엇입니까?

for i = 1 : numel(A)/n 

어떻게합니까 B(i)에 삽입함으로써 i 사용할 수 있습니까?

+8

'1 : 5','1 : sqrt (81)','10 : -1 : 2','12 :'와 같은 표현식을 입력하지 않았다면 Matlab의 요점을 놓치고있는 것 같아요. 명령 줄에서 numel (A)'* etc *를 입력하고 자신의 질문에 대한 대답을 알아 내기 시작했습니다. 일단 알아 냈어. for i = 1 : 12와 더 복잡한 표현으로 실험 해보 라. –

답변

5

A를위한 루프 매트랩

for iterationVariable = listOfValues 
    do something 
end 

iterationVariable은 루프의 첫번째 반복에서 listOfValues의 첫번째 칼럼의 값 등 번째 열의 다음 값을 취하므로 구성되고 계산에 iterationValue을 사용할 수 있습니다.

for i=1:numel(A)/n 

따라서 "number of elements of A divided by n" 값까지 1,2,3...-i의 값을 설정한다.

B(i) 

배열 Bi 번째 요소를 반환하는 인덱싱 동작이다.

@HighPerformanceMark에서 제시 하듯이 명령 행에서 이러한 표현식을 시험해 보거나 훌륭한 Matlab 설명서의 "시작하기"섹션을 통해 작업하는 것이 좋습니다.

+0

감사합니다. Jonas! 매우 감사! – Jann

관련 문제