Вы можете сделать это, используя функции ALL и SQUEEZE :
allZeroIndex = squeeze(all(all(A == 0,2),1));
И это даст вам логический вектор allZeroIndex
, которая имеет ту же длину, что и третье измерение A
и содержит 1 (т. Е. Истина) для матриц, которые имеют все нули, и 0 (т. Е. Ложь) для матриц, которые содержат ненулевые значения.
ПРИМЕЧАНИЕ: Конечно, вышеприведенное действительно подходит только для матрицы целочисленных значений.Если есть вероятность, что у вас будут значения с плавающей запятой в A
, то есть вероятность, что вы никогда не получите в точности 0 для значения.В таком случае вам нужно проверить значения, которые находятся в пределах некоторого порога 0, например:
allNearZeroIndex = squeeze(all(all(abs(A) < 1e-10,2),1));