簡體   English   中英

如何在MATLAB中檢查4D矩陣中的非零值?

[英]How to check for non-zero values in 4D matrix in MATLAB?

我被這個簡單的矩陣運算所困擾。 我有一個稱為F的4D矩陣,類為double,大小為(F)= 10 345 34514。(我不太確定我是否應該轉換為邏輯)它包含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

任何幫助將不勝感激,謝謝!

齊格。

嘗試這個 -

Con = any(reshape(F,m,[]),2)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM