我有一个名为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的序列
答案 0 :(得分:3)
如果要确定阵列中是否显示完全系列值,可以使用strfind
。虽然该函数是为字符串创建的,但它也适用于数值数据类型。如果数组中存在子数组,则strfind
的输出是出现的索引,否则如果子数组不存在,则输出为空数组[]
。
if ~isempty(strfind(values, [10 25 35 55 60]))
% Do stuff
end