compute event rate and plot histogram

3 views (last 30 days)
Chiranjibi
Chiranjibi on 11 Jun 2014
Commented: dpb on 11 Jun 2014
I have 606,774(1st row means event no.1)events and 11 column data among them 9th column is the 64-bit absolute time of trigger in unix time(accurate to microsecond), I need help to compute events rate by using time stamps and make plot of event rate using mtlab. The time stamps for only 2 event is like,
1388557138250759
1388557138255312

Answers (2)

dpb
dpb on 11 Jun 2014
W/o a lot more effort, you'll lose some precision w/ Matlab datenum but for human consumption it may be sufficient.
>> tun=[1388557138250759
1388557138255312];
>> datestr(tun/86400/1000/1000 + datenum(1970,1,1),'ddmmmyyyy hh:MM:ss.fff')
ans =
01Jan2014 06:18:58.251
01Jan2014 06:18:58.255
>> diff(tun)
ans =
4553
>>
Gives the delta-t in microseconds for a sampled timeseries which you can scale as desired.
  2 Comments
dpb
dpb on 11 Jun 2014
diff(t)
where t is your input column vector.

Sign in to comment.


José-Luis
José-Luis on 11 Jun 2014
If your want to get Matlab serial date number and you don't care about leap seconds, then you could do:
tun=int64([1388557138250759
1388557138255312]);
epoch = datenum(1970,1,1);
numDays = double(tun ./ int64(86400 * 10^6));
remainder = double(mod(tun , int64(86400*10^6))) ./ (10^6*86400);
datevec(epoch + numDays + remainder )
  8 Comments
José-Luis
José-Luis on 11 Jun 2014
Yes, but what is the formula for it? What do you want? How many times a given time stamp occurs? How do you define when two events are equal? You need that to calculate a rate.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!