Arranging two different time series and averaging the data points

조회 수: 2(최근 30일)
DS
DS 2021년 10월 20일
답변: Pranjal Kaura 2021년 10월 27일
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
DS
DS 2021년 10월 20일
This is for sensor B
The starting period of both the sensor is different i.e A starts from 2019-06-23 while B starts from 2019-06-27 and B ends at 2019-06-29 and again B starts after some days.Sensor A contains data sets like this

댓글을 달려면 로그인하십시오.

답변(1개)

Pranjal Kaura
Pranjal Kaura 2021년 10월 27일
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!

Community Treasure Hunt

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

Start Hunting!

Translated by