MATLAB Answers

Shorten vectors keeping the same range

6 views (last 30 days)
MSP on 2 Aug 2019
Edited: Athul Prakash on 5 Aug 2019
I'm trying to shorten a vector to create a data comparison. I have a vector that has 1004 values (which are positions within 15 seconds) and another that has 5034 in the same 15 seconds. Is there a way to shorten the vector from 5034 to 1004 values and still keep s 15 seconds?
Thanks in advance
dpb on 2 Aug 2019
Again, the missing information is whether there is a timestamp associated or what the sampling paradigm was.
resample does just that with the assumption of a fixed sample rate for each by one of several methods; or, you can use it to resample via interpolation at an arbitrary set of points.
If you have a time that can be associated, you could use the timeseries object which has its internal resample method or there is synchronize to pair up two or more...
Again, there are more ways to do this than can shake a stick at...start exploring the documentation...

Sign in to comment.

Answers (1)

Athul Prakash
Athul Prakash on 5 Aug 2019
Edited: Athul Prakash on 5 Aug 2019
Hey martin,
There are multiple methods you should consider:
I assume you're trying to downsample a signal.
If that is the case, consider the "resample" funciton (documentation linked below).
Alternatively, you may use the "interp1" function (documentation linked below) to perform a simple interpolation on your 5034x1 vector and get a 1004x1 vector output.
If your vector represents some sort of signal value over time, resample is recommended over interp1.
Again, there are multiple ways to do this, depending on your requirement.
Good Luck.




Community Treasure Hunt

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

Start Hunting!