我坚持使用这种简单的矩阵运算。 我有4D矩阵叫F,类double,大小(F)= 10 345 345 14.(我不太确定我是否应该转换为逻辑) 它包含0和1,它表示在检查邻居的一些操作之后的掩码。 我需要查看每个对象' (第一维,1:10),如果存在任何非零值并创建一个逻辑数组Con,其大小(Con)= 10,如果存在非零值,则为1;如果所有值均为0,则为0。 我尝试了很多不同的方法,我不确定有多少'任何'我应该放,如果我需要每次都应用挤压。 这是我的代码:
[m,n,o,p]=size(F);
for ob=1:m %for each object
A=F(ob,:,:,:);
A=squeeze(A);
if any(A(:))
Con(ob)=1;
else
Con(ob)=0;
end
end
非常感谢任何帮助,谢谢!
齐格。
答案 0 :(得分:1)
试试这个 -
Con = any(reshape(F,m,[]),2)