Чтобы проверить ненулевой элемент, используйте функцию find
. Если он находит только один индекс, и эта запись равна единице, то желаемый результат верен. В противном случае это ложь.
function bool = oneone(vector)
num = find(vector);
bool = isscalar(num) && vector(num)==1;
end
Для всех одинаковых записей функция diff
вычисляет разность последующих элементов. Если any
результатов отличны от нуля, желаемый результат равен false.
function bool = allsame(vector)
d = diff(vector);
bool = ~any(d);
end