2012-09-24 94 views
-2

基本上,我需要了解這段代碼做(「塊」是一個向量):vec(i:1:len)是什麼意思?

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

我知道總和和ABS做,它只是最後一部分,我知道它的東西做循環,但是,它是否需要矢量的特定部分並獲得總和,或者,是否將整個矢量求和?

回答

4

讓我們打入這個部分:


i:len 

創建矢量[i, i+1, i+2,.... len]。回想一下,在Matlab中,運算符vec(indexes)選擇在索引中找到的向量的元素。

blocks(i:len) 

把最後k個元素從第i個直到最後一個。

abs( blocks(i:len)) 

最後k個元素的絕對值。

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

最後k個元素的絕對值之和。

+0

感謝您的回覆。那麼這個代碼是否會創建一個向量? 「我:len」我試圖在C++中轉換此代碼,雖然這是有道理的,但它並沒有在某種程度上! – Phorce