MATLAB Answers

average of the past 12 observations without a loop

1 ビュー (過去 30 日間)
Danielle Leblance
Danielle Leblance 2017 年 3 月 5 日
Edited: Image Analyst 2017 年 3 月 5 日
I have vector A. How can i create vector B with the same size of vector A where starting row 13 in B I compute the average of the previous 12 observations in A. In other words
B(13,1)=mean(A(1:12,1)
B(14,1)= mean(A(2:13,1)
etc...
I tried a loop and it is taking forever. I feel it could be done easily without a loop.

  0 件のコメント

サインイン to comment.

採用された回答

Image Analyst
Image Analyst 2017 年 3 月 5 日
編集済み: Image Analyst 2017 年 3 月 5 日
Try this:
m = randi(9, 1, 100);
windowWidth = 12;
kernel = [zeros(1, windowWidth), ones(1, windowWidth-1)]/windowWidth
slidingMean = conv(m, kernel, 'valid')
or else use movmean() if you have a recent version of MATLAB r2016a or later.

  0 件のコメント

サインイン to comment.

More Answers (0)

サインイン してこの質問に回答します。

タグ


Translated by