Arranging two different time series and averaging the data points
4 views (last 30 days)
Show older comments
I have two different date vectors timeA and timeB recorded by two sensors A and B. TimeA is continuous while timeB is random i.e data wasn't recorded in sensor B for many hours. I need to arrange the data according to the data availability of sensor B and need to do hourly averaging. How can I approach this? Any help will be appreciated.
2 Comments
the cyclist
on 20 Oct 2021
Can you upload a small subset of your data inputs in a MAT file (using the paperclip icon in the INSERT section of the toolbar), and what the expected output should be?
Accepted Answer
Pranjal Kaura
on 27 Oct 2021
Hey,
It is my understanding that you want to combine 2 dataset based on 2 vectors 'timeA' and 'timeB', wherein you'd like to keep the data recorded by sensor B (and thus recorded in 'timeB'), which matches with the data recorded by sensor A. You then want to perform hourly averaging on the combined data.
You can combine the 2 datasets by using the 'ismember' function, wherein you can pass 'timeA' and 'timeB' as the arguments. This will give you the logical values and indices of all entries present in 'timeA', which are also present in 'timeB' (shorter dataset). You can then combine the 2 datasets using these indices. This way you can generate a combined dataset that has only those rows when sensor B was recording data.
For hourly averaging you can refer to this link. You can use the isbetween function and define ranges using 'hours'. Using this you can extract the data that has timestamps between 'x' and 'y' hours. One way to perform averaging over the whole dataset could be to iterate over all the days(i.e. group recorded data by day), and perform hourly averaging for each day.
Hope this helps!
0 Comments
More Answers (0)
See Also
Categories
Find more on Holidays / Seasons 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!