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