如何计算符合组合条件的行?
how to count the row which match a combined condition?
例如,我有矩阵 m =
1 0 1 0 1 1;
0 1 0 1 0 1;
1 0 1 0 1 1;
0 1 0 1 0 1
我想计算第一个元素 m(i, 1) = 1 和第三个元素 m(i,3) = 1 的行数。
使用 for 循环就可以了。但是,我希望有一种简单的方法可以做到这一点。 octave function sum SEEMS只支持一个条件
在八度中找到符合特定条件的行非常容易:
m(:,1) == 1 # m(i, 1) = 1
m(:,3) == 1 # m(i, 3) = 1
您可以使用八度 &
(逻辑与)和 |
(逻辑或)运算符组合多个条件:
(m(:,1) == 1) & (m(:,3) == 1)
如果你只想要一些匹配的 roes,你可以使用 sum
函数:
sum((m(:,1) == 1) & (m(:,3) == 1))
例如,我有矩阵 m =
1 0 1 0 1 1;
0 1 0 1 0 1;
1 0 1 0 1 1;
0 1 0 1 0 1
我想计算第一个元素 m(i, 1) = 1 和第三个元素 m(i,3) = 1 的行数。
使用 for 循环就可以了。但是,我希望有一种简单的方法可以做到这一点。 octave function sum SEEMS只支持一个条件
在八度中找到符合特定条件的行非常容易:
m(:,1) == 1 # m(i, 1) = 1
m(:,3) == 1 # m(i, 3) = 1
您可以使用八度 &
(逻辑与)和 |
(逻辑或)运算符组合多个条件:
(m(:,1) == 1) & (m(:,3) == 1)
如果你只想要一些匹配的 roes,你可以使用 sum
函数:
sum((m(:,1) == 1) & (m(:,3) == 1))