簡體   English   中英

MATLAB列出高於閾值的值

[英]MATLAB List values above threshold

我有一個3D矩陣。 我可以使用下面的代碼來查找1.61以上的元素數量。 我怎樣才能真正列出1.61以上的元素並顯示它們的價值? 例如,如果我的值為8.1和9.1,我希望Matlab告訴我這兩個值。 我能這樣做嗎?

for i = 1:5
     A = ans.atom_data(:,5,i);
     count(i,:) = sum(A(:)>1.61)

end

如果您只想知道值,請使用邏輯索引,如下所示:

result = A(A>1.61);

如果要獲取3D陣列B每個第三索引層的結果,可以使用單元格進行:

result = cellfun(@(x) x(x>1.61), squeeze(mat2cell(B,size(B,1),size(B,2),ones(1,size(B,3)))),'uni',0);

然后result{1}給出對應於B(:,:,1)等的值。

暫無
暫無

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

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