如果我有matrix A
size (1000,3)
。
比方说,子矩阵的大小为(100,3)
,即有10个子矩阵。
我想使用all(A,2)
来逐列评估A
,这样all()
应该返回10
与每个子矩阵相对应的单独结果。
我需要单独结果的原因是运行此代码
length(nonzeros(all(A,2)))/400
这意味着,最后,length()
应该返回10个值,对应于每个子矩阵。
答案 0 :(得分:2)
您可以reshape
您的数据,然后沿第一维和第三维调用all
。
all(all(reshape(A, 100, [], size(A, 2)), 1), 3)
或者,您可以在致电A
之前先转置reshape
和all
。
all(reshape(A.', [], 10), 1)
如果您只想在每个子矩阵中使用非零的百分比,则可以计算sum
的{{1}}。
logical