2012-09-24 4 views
-2

기본적으로, 나는이 코드 조각이 무엇을 이해할 필요가있다 ("블록"벡터이다) :vec (i : 1 : len)은 무엇을 의미합니까?

len = length(blocks); 
currsum = sum(abs(blocks(i:1:len))); 

내가 합 복근이, 않습니다 그냥 마지막 부분 알고, 나는 그것이 뭔가를 알고 루프를 사용하면 벡터의 특정 부분을 가져 와서 합계를 계산합니까, 아니면 전체 벡터를 합한 것입니까?

답변

4

은의이 부분으로이 휴식 보자 :


i:len 

이 벡터 [i, i+1, i+2,.... len]을 만듭니다. Matlab에서 연산자 vec(indexes)은 인덱스에있는 벡터 요소를 선택합니다.

blocks(i:len) 

i 번째부터 마지막까지 k 개의 요소를 가져옵니다.

abs( blocks(i:len)) 

마지막 k 개 요소의 절대 값.

sum(abs(blocks(i:1:len))); 

마지막 k 개 요소의 절대 값 합계.

+0

답장을 보내 주셔서 감사합니다. 따라서이 코드는 벡터를 생성합니까? "i : len"이 코드를 C++로 변환하려고합니다. 그리고 이것이 의미가 있지만, 그것은 aha가 아닙니다! – Phorce

관련 문제