Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
基本的に、このコードが何をするのかを理解する必要があります(「ブロック」はベクトルです)。
len = length(blocks); currsum = sum(abs(blocks(i:1:len)));
合計と絶対値が何をするかを知っています。これは最後の部分です。ループと関係があることはわかっていますが、ベクトルの特定の部分を取得して合計を取得するのでしょうか、それともベクトル全体を合計するのでしょうか。 ?
これをいくつかの部分に分けてみましょう:
i:len
ベクトルを作成します[i, i+1, i+2,.... len]。Matlabでは、オペレーターvec(indexes)がインデックスで見つかったベクトルの要素を選択することを思い出してください。
[i, i+1, i+2,.... len]
vec(indexes)
blocks(i:len)
i番目から最後までの最後のk個の要素を取得します。
abs( blocks(i:len) )
最後のk要素の絶対値。
sum(abs(blocks(i:1:len)));
最後のk個の要素の絶対値の合計。