2012-03-12 1 views
3

Я должным образом искал документацию и SE, но не смог найти решение: учитывая сколь угодно большой вектор логических значений, как вернуться, например. логическое И заданных значений?Как использовать логический оператор над булевым массивом?

Я бы ожидать что-то вроде:

and([1 1 1]) --> 1 

(поскольку true && true && true дает 1). Конечно, это недопустимый синтаксис.

Моя цель - найти самый быстрый способ сравнить два двоичных вектора одинакового размера и вернуть 1, если они идентичны и 0, если нет. Так как элемент and возвращает вектор, если он используется на двух векторах, следовательно, заголовок вопроса.

ответ

7

Использование all():

result = all(a == b); 
+3

И для оператора 'OR' использовать функцию' any'. – Oli