calculate a vector from consecutive vectors without a loop

1 ビュー (過去 30 日間)
Guy Eyal
Guy Eyal 2013 年 6 月 12 日
Hi
I would like to receive the mean value of each 10 consecutive values of a vector. Is it possible to run it without a for loop?
Using a for it would have been:
for ix=1:length(X)-9 mean_X = mean(X(ix:ix+9)) end
Thanks Guy

採用された回答

Kye Taylor
Kye Taylor 2013 年 6 月 12 日
編集済み: Kye Taylor 2013 年 6 月 12 日
Totally.. try something like
yourVector = 1:100;
avgWindow = 1/10*ones(1,10); % each value is 1/10
movingAverage = conv(yourVector,avgWindow,'valid')
Compare with
for i = 1:numel(yourVector)-9
movingAverageLoop(i) = mean(yourVector(i:i+9));
end
  1 件のコメント
Guy Eyal
Guy Eyal 2013 年 6 月 12 日
Exactly! Thanks!

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by