# differentiation of time series data

141 views (last 30 days)
Samson on 15 Feb 2021
Commented: Walter Roberson on 21 Feb 2021
I have a time series data 'X 'of size 20000 X 50. My step size dt= 0.05
how do I find the velocity of these data
##### 2 CommentsShowHide 1 older comment
Samson on 15 Feb 2021
how do I extract, please? I had something like this but not correct as it is not taken the difference across time:
phdiff=diff(X');
temp=(phdiff./dt);

Walter Roberson on 15 Feb 2021
If ts is the timeseries() variable then
X = ts.Data;
extracts the data.
With your data being 20000 x 50 my guess is that you have 20000 measurements for each of 50 entities, rather than 50 measurements for each of 20000 entities. If I am correct, then you would want the y gradient:
xstep = 1; %doesn't really matter, we are going to ignore
tstep = 0.5; %does matter
[~, ygrad] = gradient(X, xstep, tstep); %horizontal step first, vertical step second
Walter Roberson on 21 Feb 2021
xstep = 1; %doesn't really matter, we are going to ignore
tstep = 0.5; %does matter
Xunwrapped = unwrap(X, [], 2);
[~, velocity_gradient] = gradient(Xunwrapped, xstep, tstep); %horizontal step first, vertical step second

R2019b

### Community Treasure Hunt

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

Start Hunting!