Help with a For Loop?
2 views (last 30 days)
Show older comments
I am pretty new to matlab (am a beginner) and is completely lost; hopefully someone can help me here.
I am currently working on an excel data set with 151 columns of data (I have attached a sample file). The first column has both the time and date on which the data points were collected (at 15min intervals for 8 weeks). Can someone help me with writing a code (eg a for loop) where data from only 12midnight to 6am for the weeks for each data set (column) is collected and then finds the average of it.
My sincere thanks for whoever can help.
0 Comments
Accepted Answer
Walter Roberson
on 27 Apr 2018
t = readtable('Book1.xls');
h = hour(t.Time);
m = minute(t.Time);
mask = h <= 5 | (h == 6 & m == 0); %hour 6 is only valid for 06:00 exactly
selected_data = t(mask,:);
means = nanmean(selected_data{:,2:end});
It was not really clear what interval the means were to be taken over.
You need the nanmean because there are nan in some of the columns.
12 Comments
Walter Roberson
on 7 May 2018
Ah, looks like groupsummary() was added in R2018a. I will have a look a bit later to see what I can replace it with that will run in your version.
More Answers (1)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!