extracting data around local minima?

1 view (last 30 days)
MacKenzie
MacKenzie on 18 Nov 2013
Edited: MacKenzie on 18 Nov 2013
hello,
First, let me give basic framework for the problem: I have data sets that reflect the trajectory of a joystick movement(X,y coordinates in a matrix). The subject needs to move the joystick from neutral past a distance to receive a reward.
I want to extract each pull. One complication is once they reach the target, they stay for a brief moment to collect the reward, just the numbers bounce slightly, giving me many local minima.
I was hoping to have code that reads through the matrix, finds the point where it hits a minimum, stays (perhaps means the noise at the target location), and puts the "pull" into a new matrix or array, etc. There is no consistent number of points between pulls.
I know how to weed out the neutral location data, it's the finding local minima and extracting that is giving me trouble.
Update: I have the local minima. Now, just to get the points in-between each local minima!
thanks!
  3 Comments
MacKenzie
MacKenzie on 18 Nov 2013
yes, good pt; I do have the direction vector, so perhaps using findpeaks on that is a good way to start - let me try and get back to you! thanks for the advice!
MacKenzie
MacKenzie on 18 Nov 2013
just an update, I found a nice function for detecting local minima (and maxima) where you can set the threshold:

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 18 Nov 2013
distanceFromFirstPoint = sqrt((x - x(1)) .^ 2 + (y - y(1)) .^ 2);
  1 Comment
MacKenzie
MacKenzie on 18 Nov 2013
distanceFromFirstPoint = sqrt((A(:,1) - A(1,1) .^ 2 + (A(:,2)- A(1,2) .^ 2)));
I get imaginary numbers here. something I'm doing wrong to select X vs y?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!