我正在尝试编写一个简单的 MATLAB 程序,它将找到连续非零值的第一个链(超过 70 个)并返回该连续链的起始值。
我正在处理来自操纵杆的运动数据,在实际试验开始之前有几千行数据混合了零和非零值(来自受试者在试验实际开始之前稍微移动操纵杆)。
在开始分析试验中的运动之前,我需要摆脱这些行。
我确信这是一件相对简单的事情,所以我希望有人能提供见解。先感谢您
编辑:这是我尝试过的:
s = zeros(size(x1));
for i=2:length(x1)
if(x1(i-1) ~= 0)
s(i) = 1 + s(i-1);
end
end
display(S);
对于最大链为 72 的向量 x1,但我不知道如何找到最大链并返回其第一个值,所以我知道在哪里修剪。我也真的不认为这是最好的策略,因为我的数据中的最大链将是数万个值。