簡體   English   中英

在MATLAB中的三維矩陣中找到帶符號的最小值

[英]find the signed minimum value in a three dimensional matrix in MATLAB

我有一個3D矩陣d,我想沿着第三維找到有符號的最小值。 目前,我使用以下代碼

tmp = abs(d);
[row, col]=ndgrid(1:size(d,1),1:size(d,2));

[v,ind] = min(tmp,[],3); 
index = row + size(d,1)*size(d,2)*(ind-1)+ size(d,1)*(col-1); %turn the ind to index
dm = d(index); %get the signed minimum value

上面的代碼效率不高。 有誰知道更好的選擇? 謝謝!

無需創建rowcol值的網格以將ind轉換為可用於索引回d索引,您只需使用min第一個輸出即可,輸出包含第三個維度上的最小值。

dm = min(abs(d), [], 3);

暫無
暫無

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

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