vec(i:1:len)是什么意思?

时间:2012-09-24 11:08:11

标签: matlab loops

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

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

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

1 个答案:

答案 0 :(得分: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个元素的绝对值之和。