0

我是 MatLab 的新用户,我被一个简单的任务困住了。我有一个由 0 和 1 组成的数组:我需要检查 1 是否连续出现超过 X 次。即 A = [ 0 1 1 1 0 1 0 1 1 1 1 0 1] 并且我需要知道我是否在数组中有 4 个(例如)连续的 1(它只需要发生一次我就可以继续我正在尝试做)。如果条件得到验证,我将创建一个新变量,例如 Y,并设置为 1 并继续执行我的脚本。

感谢您的帮助

4

1 回答 1

0

这应该可以完成工作:while 循环从数组中剪切一个具有 4 个元素的向量,并将其与具有 4 个元素且只有 1 个元素的向量进行比较。如果 A 中包含 4 个连续 1 的向量,则变量four_consecutive_ones_found 将设置为1,否则返回0。

A=[0 1 1 1 0 0 0 1 1 1 0 1 1 1 1];

b=[1 1 1 1];

bool = 0
i_start=1
i_end=4

while bool==0
    C=A(i_start:i_end)

    if C==b
       four_consecutive_ones_found = 1;
       bool = 1
    else
       i_start=i_start+1
       i_end=i_end+1 

       if i_end > numel(A) && bool == 0
           bool =2
           four_consecutive_ones_found = 0;
       end
    end
end 

four_consecutive_ones_found
于 2014-11-16T12:25:26.583 回答