how make multiple cut or crop of time series

27 views (last 30 days)
I've got multiple time series. One has gaps and was concatenated when exported to a Mat file. Now some of the data was continuous and much longer than the concatenated. I need a way to cut the sections out of the continuous data at known time points and duration. I wanted to do something like this, but it obviously does not work.
SpeedCropped = Speed(1318:1409 1903:2065 2278:2445);
Is it possible? What is the correct syntax or do I have to do this 9 times?
Thanks

Accepted Answer

Star Strider
Star Strider on 14 Feb 2020
We do not know the dimensions of ‘Speed’. Assuming it is a vector, to concatenate the indices, enclose them in square brackets:
SpeedCropped = Speed([1318:1409 1903:2065 2278:2445]);
If there are more dimensions, add additional default dimensions, such as for ‘Speed’ being a 2D matrix, where you are addressing the rows:
SpeedCropped = Speed([1318:1409 1903:2065 2278:2445],:);
or:
SpeedCropped = Speed(:,[1318:1409 1903:2065 2278:2445]);
if you are addressing the columns.
  2 Comments
Star Strider
Star Strider on 14 Feb 2020
As always, my pleasure!
No worries! Not everything in MATLAB is immediately obvious, and there is a lot to remember about it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!