# Element-wise multiplication of duration and double array

12 views (last 30 days)
Amir Rashidi on 11 Oct 2015
Answered: Rob Purser on 12 Oct 2015
Hi, I try to calculate the energy in a time series dataset. I calculate the power for each record i.e. every hour. Now i would like to compute the energy for each row. I used the :diff" to find the duration for each row and then multiply that duration to power value to calculate the energy. however the final product is duration format. could you please help me with that?
Date Power (W)
'01-Jan-2005 00:00:00' 362374.8161
'01-Jan-2005 01:00:00' 290296.1116
'01-Jan-2005 02:00:00' 96520.39268
'01-Jan-2005 03:00:00' 96491.92618
'01-Jan-2005 04:00:00' 96420.53794
the code I used so far:
A = diff(dispt);
P(1, : ) = [];
E = P.*A;
dpb on 11 Oct 2015
Indeed...obtw, on the comment regarding datenum resolution; they can get to about 10 usec...
>> eps(now)*86400/1e-6
ans =
10.0583
>>

Rob Purser on 12 Oct 2015
The result of the diff on dispt (which I assume is a datetime) is a duration. You will want to convert the duration to a double before doing math on it using a function like hours or seconds.
-Rob