检查矩阵中的数字顺序是否等于预定义的数字序列

时间:2016-09-14 22:57:05

标签: matlab

我有一个名为matrix <1x5000>的{​​{1}}。我现在要做的是检查该矩阵中是否存在某些值,如下所示:

values

这样做是为了检查数字10,45,55是否在该矩阵中存在某处现在我想更改此语句,而不是检查以预定顺序出现的数字,换句话说,不仅检查它们是否存在。示例:

if any(values == 10) && any(values == 45) && any(values == 55) and so on
plot graph here
end

我非常感谢帮助,因为我是Matlab的新手。

到目前为止已尝试过:

if values has 10, 25, 35, 55, 60 <- they must come like this, not mixed
do stuff
end

没有任何成功,永远不会满足if语句。

所以为了更清楚,如果我设置值= [10,20,50,25,33];矩阵中的某个地方必须以与我设置它完全相同的方式相互接近。示例:矩阵:10,55,90,33,10,20,50,25,33,100,59将给出为真,因为有一个10,20,50,25,33的序列

1 个答案:

答案 0 :(得分:3)

如果要确定阵列中是否显示完全系列值,可以使用strfind。虽然该函数是为字符串创建的,但它也适用于数值数据类型。如果数组中存在子数组,则strfind的输出是出现的索引,否则如果子数组不存在,则输出为空数组[]

if ~isempty(strfind(values, [10 25 35 55 60]))
    % Do stuff
end