【发布时间】:2015-05-28 12:08:21
【问题描述】:
我有一个这样的 n×m×3 多维数组:
val(:,:,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
val(:,:,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
val(:,:,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 矩阵)类型:
val(:,:,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函数...?
标签: arrays matlab multidimensional-array any