Filter löschen
Filter löschen

mean first 10 lines and next 10 line till finish array

2 Ansichten (letzte 30 Tage)
i got 210338x3 table array. how to calculate mean for 10 line, then next 10 line, then next 10 line till finish my table array. i dont know how to group first 10th, next 10 and next 10.
thanks!

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 6 Dez. 2021
hello
try this
%% dummy data
data = rand(210338,3); % data must be column oriented (number of rows = number of samples)
buffer = 10; % nb of samples for averaging
%% zero overlap averaging (unweighted)
[m,n] = size(data);
for ci=1:fix(m/buffer)
start_index = 1+(ci-1)*buffer;
stop_index = min(start_index+ buffer-1,m);
avg_data(ci,:) =mean(data(start_index:stop_index,:)); % size : 1 x 3
end

Weitere Antworten (1)

Chunru
Chunru am 6 Dez. 2021
a = rand(210338, 3);
nrows = size(a, 1)
nrows = 210338
n = 10;
nseg = floor(nrows/n)
nseg = 21033
c = squeeze(mean(reshape(a(1:n*nseg,:), n, nseg, 3)));
clast = mean(a((n*nseg+1):end,:)); % last part
whos
Name Size Bytes Class Attributes a 210338x3 5048112 double c 21033x3 504792 double clast 1x3 24 double n 1x1 8 double nrows 1x1 8 double nseg 1x1 8 double

Kategorien

Mehr zu Large Files and Big Data finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by