我是MatLab的新用户,我遇到了一个简单的任务。我有一个由0和1组成的数组:我需要检查1是否连续超过X时间。 即A = [0 1 1 1 0 1 0 1 1 1 1 0 1]我需要知道数组中是否有4个(例如)连续1个(它只需要发生一次,我继续使用什么我想做)。如果条件得到验证,我将创建一个新变量,例如Y,并设置为1并继续我的脚本。
感谢您的帮助
答案 0 :(得分: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