calculating the average from a large excel file

1 Ansicht (letzte 30 Tage)
Nikolas Spiliopoulos
Nikolas Spiliopoulos am 30 Jan. 2017
Hi again,
I have a really large excel file which I have imported in Matlab.
So it's a large array with dimensions : 588845x10 double
how can I get the average value from the first 48 values, then the average from the the next 48 values and so on?
many thanks,
Nikolas

Akzeptierte Antwort

Guillaume
Guillaume am 30 Jan. 2017
Bearbeitet: Guillaume am 30 Jan. 2017
>>588845/48
ans =
12267.604
The number of rows is not divisible by 48. What are you planning to do with the last few rows?
Assuming you have a number of rows divisible by 48, the easiest is to reshape the matrix into 48 rows, and take the mean along the rows.
m = reshape(1:5888450, 588845, 10); %demo data, replace by your own matrix
croppedm = m(1 : size(m,1)-mod(size(m, 1), 48), :); %crop number of rows to multiple of 48
meancroppedm = squeeze(mean(reshape(croppedm, 48, [], size(m, 2)), 1)) %mean along rows
The mean of the last portion:
meancutm = mean(m(size(m, 1)-mod(size(m, 1),48) : end, :), 1)
The two combined
mean48 = [meancroppedm; meancutm]

Weitere Antworten (0)

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by