Calculate statistical parameters from certain rows of a matrix

3 visualizzazioni (ultimi 30 giorni)
I have data of days and temperature in specific intervals recorded through out that particular day: eg
Day Temp
1 24
1 24.5
1 24.5
2 25
2 25
2 25
3 25.5
3 25.5
3 25.5
and so on for many number of days through. If I want to take the mean of all the temperature values from only day 1, how would I go about doing this using indexing?

Risposta accettata

madhan ravi
madhan ravi il 12 Ago 2019
Wanted=splitapply(@mean,x(:,2),findgroups(x(:,1))) % x(:,1) is Day and x(:,2) is Temperature
% or if you're using version prior to 2015b then:
Wanted=accumarray(Day,Temperature,[],@mean);
For only one day it’s simply:
day = 1;
mean(Temperature(Day==day))

Più risposte (1)

Jos (10584)
Jos (10584) il 12 Ago 2019
help grpstats
help accumarray

Community Treasure Hunt

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

Start Hunting!

Translated by