Link data through timestamps

1 vue (au cours des 30 derniers jours)
loes visser
loes visser le 18 Déc 2015
Modifié(e) : loes visser le 18 Déc 2015
Hi!
I loaded monitoringsdata in matlab as arrays.
As an example;
A B
[1-1-2015 0:00 20.0] [1-1-2015 0:01 154]
[1-1-2015 0:10 22.0] [1-1-2015 0:25 258]
[1-1-2015 0:20 10.0] [1-1-2015 0:33 598]
[1-1-2015 0:30 20.3] [1-1-2015 0:45 458]
[1-1-2015 0:40 14.7] [1-1-2015 0:58 987]
[1-1-2015 0:50 18.6]
[1-1-2015 1:00 13.9]
I want to plot(A,B) (or the other way around).
I want MATLAB to search for corresponding timestamps and link the data.
Most of the data is collected with an interval of 10min, but some data is random collected in time or with an interval of 1 min.
So not all arrays have the same lenght.
For example, I want 1-1-2015 0:40 to correspond with a datapoint (or the avarage of points) between 1-1-2015 0:35 and 1-1-2015 0:44.
Is it possible to do this with MATLAB? If yes, how?
I couldn't find much usefull material on the internet.
Thank you!
  1 commentaire
Jan
Jan le 18 Déc 2015
The type and size of A and B and their elements is not clear. Perhaps you mean a string like: '1-1-2015 0:00 20.0', or a cell string like {'1-1-2015 0:00', '20.0'} or a mixed cell like {'1-1-2015 0:00', 20.0} or whatever. Please post the data in a format, which recreates it, when the readers insert it in the command window by copy&paste.

Connectez-vous pour commenter.

Réponses (1)

Jan
Jan le 18 Déc 2015
Convert the dates and times to Matlab's datenum format. Then find the corresponding bins using histcounts.
Explicite code can be posted, if you specify the data format uniquely.
  1 commentaire
loes visser
loes visser le 18 Déc 2015
Modifié(e) : loes visser le 18 Déc 2015
Thank you!
I converted the dates with datenum myself, but I cant figure out how histcounts works.
a=2;
Tab1 = P(1).week2{1};
Tab1_DateTime = datenum({Tab1{2:end,1}},'mm/dd/yyyy HH:MM:SS AM'); % 11/9/2011 21:05:00 AM
tab1_column2 = [Tab1{2:end,a+1}];
tab1_column3 = [Tab1{2:end,a+2}];
tab1_column4 = [Tab1{2:end,a+3}];
Tab2 = P(1).week2{2};
Tab2_DateTime = datenum({Tab2{2:end,1}},'mm/dd/yyyy HH:MM:SS AM'); % 11/9/2011 12:05:00 AM
tab2_column2 = [Tab2{2:end,a+1}];
tab2_column3 = [Tab2{2:end,a+2}];
tab2_column4 = [Tab2{2:end,a+3}];
tab2_column5 = [Tab2{2:end,a+4}];
tab2_column6 = [Tab2{2:end,a+5}];
The data is al converted into P, with multiple weeks and multiple persons.
First I make a variable per tab of the excel file, in addition I make an array of each colomn seperatly.
The dimensions of most of the arrays are 1008x1 (double).
I want for example to plot(tab1_column3,tab2_column4)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by