Пусть есть два массива {A,B}
размера 1xN
Я хочу найти количество случаев, когда на одних и тех же индексах
условие A(ii)==1 & B(ii)==0
выполнено.
Я старался
casess= intersect( find(A==1),find(B==0 ))
но это очень медленно.
Я полагаю, это потому, что intersect
проверяет каждого члена, является ли он членом другой группы, но я все еще ищу самое быстрое решение моей небольшой проблемы.
casess = sum(A == 1 & B == 0);
Нет необходимости использоватьfind
илиintercept
для простых логических вычислений. - person buzjwa   schedule 25.08.2015find
:indices = find(A == 1 & B == 0);
. Кстати, вам могут даже не понадобиться индексы, и вы можете просто использовать логическое индексирование, в зависимости от того, что вы хотите с ними делать. Например, еслиC
также имеет тот же размер,vals = C(A == 1 & B == 0);
даст вам значенияC
для индексов, которые вы получили бы с указанным вышеfind
. - person buzjwa   schedule 25.08.2015