matlab IF语句中的逻辑OR?

时间:2013-11-12 02:50:13

标签: matlab if-statement

我正在尝试在MATLAB中的IF语句中使用逻辑OR。其中TRI是32x2向量,我想检查TRI中的某一行是否包含28或31,如果是,则执行某些操作。

我无法弄清楚为什么这很困难,包含逻辑的行目前是:

if (TRI(i,:)==28 || TRI(i,:)==31);

1 个答案:

答案 0 :(得分:3)

好的,你想要像

这样的东西
if any(TRI(i,:)==28) || any(TRI(i,:)==31)

您的原始代码无效,因为您正在将向量TRI(i,:)与标量进行比较。执行vector==scalar将为您提供一个向量,其中每个元素都是带有标量的==的结果。由于您要查找连续的单个匹配项,any会告诉您==对于向量的任何元素是否为真。希望有意义!