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.

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!