2015-04-25 4 views
-1

Например, у меня есть матрица т =как подсчитать строку, которая соответствует комбинированному условию?

1 0 1 0 1 1; 
0 1 0 1 0 1; 
1 0 1 0 1 1; 
0 1 0 1 0 1 

Я хочу подсчитать количество строки, которые первый элемент т (я, 1) = 1, и третий элемент т (я, 3) = 1.

Использование для цикла будет работать. Но, надеюсь, там будет простой способ сделать это. octave function sum SEEMS просто поддерживают одно условие.

+0

Использование для цикла будет работать. Но, надеюсь, там будет простой способ сделать это. octave function sum SEEMS просто поддерживают одно условие. –

ответ

0

Это довольно легко найти строки, соответствующие определенное условие в октаве:

m(:,1) == 1 # m(i, 1) = 1 
m(:,3) == 1 # m(i, 3) = 1 

можно объединить несколько условий с использованием октавы & (логической и) и | (логический или) операторами:

(m(:,1) == 1) & (m(:,3) == 1) 

Если вы хотите только несколько подходящих косулей, вы можете использовать функцию sum:

sum((m(:,1) == 1) & (m(:,3) == 1)) 
+0

Просто испытайте его, он работает. Именно то, что я хочу. Благодарю. –