how i average n values in array

2 Ansichten (letzte 30 Tage)
yasmeen hadadd
yasmeen hadadd am 21 Aug. 2016
Kommentiert: Walter Roberson am 21 Aug. 2016
if i have data a and i want to mean or average every 10 values as 1:10, 2:11, 3:12 and as so on for length of data ?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Aug. 2016
mean(reshape(YourData, 10, []))
  8 Kommentare
Andrei Bobrov
Andrei Bobrov am 21 Aug. 2016
Hi Walter! Small correcting.
cs = cumsum(YourData(:));
moving_average = (cs(10:end) - [0;cs(1:end-10)])/10;
Walter Roberson
Walter Roberson am 21 Aug. 2016
Thanks, Andrei

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Star Strider
Star Strider am 21 Aug. 2016
‘But i need overlap between the values as 1:10 then from 2:11 and so on’
Use a moving average filter:
Heart_pulse_avg = filter(ones(1,10), 10, Heart_pulse);
  1 Kommentar
Steven Lord
Steven Lord am 21 Aug. 2016
Use the movmean function if you're using release R2016a or later.

Melden Sie sich an, um zu kommentieren.


Andrei Bobrov
Andrei Bobrov am 21 Aug. 2016
a - your vector;
out = movsum(a,[0 9],'Endpoints','discard')/10;

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by