find consecutive nonzero values

Posted by thymeandspace on Stack Overflow See other posts from Stack Overflow or by thymeandspace
Published on 2013-06-29T01:29:56Z Indexed on 2013/06/29 4:21 UTC
Read the original article Hit count: 196

Filed under:
|
|
|

I am trying to write a simple MATLAB program that will find the first chain (more than 70) of consecutive nonzero values and return the starting value of that consecutive chain.

I am working with movement data from a joystick and there are a few thousand rows of data with a mix of zeros and nonzero values before the actual trial begins (coming from subjects slightly moving the joystick before the trial actually started).

I need to get rid of these rows before I can start analyzing the movement from the trials.

I am sure this is a relatively simple thing to do so I was hoping someone could offer insight. Thank you in advance

-Lilly

EDIT: Here's what I tried:

s = zeros(size(x1)); 

for i=2:length(x1) 
    if(x1(i-1) ~= 0) 
        s(i) = 1 + s(i-1); 
    end 
end 

display(S); 

for a vector x1 which has a max chain of 72 but I dont know how to find the max chain and return its first value, so I know where to trim. I also really don't think this is the best strategy, since the max chain in my data will be tens of thousands of values. Thanks for helping me edit, Steve. :)

© Stack Overflow or respective owner

Related posts about matlab

Related posts about find