How can I determine the start and end of a movement?

2 views (last 30 days)
Hello Everyone, I am trying to determine the beginning and the end of a movement , using matlab. So I have as ensr, that I used to collect data for specific movement. But before the actual movement, there is some time, where I the actual movement is not present yet, but the waiting position.
How can I get rid of that ? Any algorithm to find the start and end of a movement?
I would be greateful for any help

Accepted Answer

Image Analyst
Image Analyst on 9 Mar 2019
Just crop it off starting at some index:
signal = signal(index:end)
To find out what index is, we'd need to know your signal, and your movement signal (if they're different signals). Attach it/them in a .mat file with the paper clip icon.
  9 Comments
Image Analyst
Image Analyst on 11 Mar 2019
Edited: Image Analyst on 11 Mar 2019
You can use the first one if you want. I just used the second one because when I was debugging it, it was easier to see where I was on the x axis when I used the index instead of the time.
You might also look at the findchangepts() function.
Lala0099
Lala0099 on 13 Mar 2019
Image Analyst,
I found a problem with the code. It does not use certain lines within the function, hence does not find timePoint3.
I cannot find the reason why it cannot execute those lines.
Could you have a look?
[maxDeviation, timePoint3] = max(meanDeviationFromMean);

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!