MATLAB Answers

differentiation of time series data

96 views (last 30 days)
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 Comments
Samson
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);

Sign in to comment.

Accepted Answer

Walter Roberson
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
  18 Comments
Walter Roberson
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

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by