所以我有 5 个不同的向量或矩阵。我基本上想对这些矩阵中的任何一个是否包含特定元素(例如2)做出一个If语句,然后如果这些矩阵中的任何一个确实包含该元素,则显示一些值(例如8)。如果其中四个矩阵不包含该元素并不重要,如果有一个,那么我将显示 8。
谢谢您的帮助
假设您的矩阵是 A、B、C、D 和 E。这是一种检查它们是否包含 2 的方法。
any(A(:) == 2) || any(B(:)== 2) || any(C(:)== 2) || any(D(:)== 2) || any(E(:) == 2)
注意使用||
代替|
,这意味着如果发现一个矩阵包含 2,它将不再需要检查其他矩阵。
另一种更紧凑的方法来做到这一点(虽然可能效率较低):
any([A(:); B(:); C(:);D(:);E(:)] == 2)
从这里开始,如果陈述为真,显示 8 应该是微不足道的。
考虑有 5 个不同的矩阵,分别命名为 a1、a2、...、a5
if(numel(find(a1==2))|(numel(find(a2==2)))|(numel(find(a3==2)))|(numel(find(a4==2)))| (numel(find(a5==2))))
display(8)
end
如果重复次数不重要,您可以使用任何:
if(any(a1(:)==2)|any(a2(:)==2)|any(a3(:)==2)|any(a4(:)==2)|any(a5(:)==2))
display(8)
end