calculating the average from a large excel file

1 visualización (últimos 30 días)
Nikolas Spiliopoulos
Nikolas Spiliopoulos el 30 de En. de 2017
Comentada: Nikolas Spiliopoulos el 30 de En. de 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

Respuesta aceptada

Guillaume
Guillaume el 30 de En. de 2017
Editada: Guillaume el 30 de En. de 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]

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by