calculating the average from a large excel file

1 vue (au cours des 30 derniers jours)
Nikolas Spiliopoulos
Nikolas Spiliopoulos le 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

Réponse acceptée

Guillaume
Guillaume le 30 Jan 2017
Modifié(e) : Guillaume le 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]

Plus de réponses (0)

Catégories

En savoir plus sur Cell Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by