extracting data around local minima?

2 次查看(过去 30 天)
MacKenzie
MacKenzie 2013-11-18
编辑: MacKenzie 2013-11-18
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 个评论
MacKenzie
MacKenzie 2013-11-18
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 2013-11-18
just an update, I found a nice function for detecting local minima (and maxima) where you can set the threshold:

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2013-11-18
distanceFromFirstPoint = sqrt((x - x(1)) .^ 2 + (y - y(1)) .^ 2);
  1 个评论
MacKenzie
MacKenzie 2013-11-18
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?

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by