У меня есть многомерный массив n на m на 3, например:
знач(:,:,1) =
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 1 1 1 1
1 1 1 0 1
1 1 1 0 1
1 0 1 1 1
знач(:,:,2) =
1 1 1 1 1
1 1 1 0 1
1 1 1 0 1
1 0 1 1 1
1 0 1 1 1
1 0 1 1 1
1 1 1 1 1
знач(:,:,1) =
1 1 0 1 1
1 1 0 1 1
1 1 1 1 1
1 0 1 1 1
1 0 1 1 0
1 1 1 1 0
1 1 1 1 0
И я хочу сказать Matlab: для каждой строки проверьте, равен ли какой-либо элемент 0, а затем создайте матрицу n на 1 на 3 (или, альтернативно, 3 матрицы n на 1) типа:
знач(:,:,1) =
1
0
0
1
1
где 0 соответствует «да, хотя бы один из элементов этой строки равен 0», а 1 соответствует «нет, каждый элемент этой строки равен 1».
я пробовал с
for a = 1:n
for b = 1: 3
if any (A,2) ==0
B (n,1,3)= 0;
else
B (n,1,3)= 1;
end
end
end
или просто:
B= any(A,2) ==0
но это не работает, я всегда получаю массив (n,1,3) всех нулей.
Большое спасибо!
any
...? - person Dan   schedule 28.05.2015