-2

基本上,我需要了解这段代码的作用(“块”是一个向量):

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

我知道 sum 和 abs 的作用,它只是最后一部分,我知道它与循环有关,但是,它是否需要向量的特定部分并得到总和,或者,它是否将整个向量相加?

4

1 回答 1

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 个元素的绝对值之和。

于 2012-09-24T11:13:28.887 回答