【问题标题】:find the signed minimum value in a three dimensional matrix in MATLAB在 MATLAB 中找到三维矩阵中的有符号最小值
【发布时间】:2017-06-30 12:55:08
【问题描述】:

我有一个 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

上面的代码效率不高。有人知道更好的选择吗?谢谢!

【问题讨论】:

    标签: matlab matrix minimum


    【解决方案1】:

    与其创建rowcol 值的网格以将ind 转换为可用于索引回d 的索引,不如使用@987654325 的第一个输出@ 其中包含沿第三维的那些最小值。

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

    【讨论】:

    • 您好 Suever,感谢您的回复。但是,在您的情况下, dm 是绝对值。在我的例子中,dm 是有符号的值。
    猜你喜欢
    • 2011-02-07
    • 2014-09-06
    • 2014-02-09
    • 2011-10-31
    • 2013-11-26
    • 2019-04-17
    • 2016-01-14
    • 2016-04-03
    相关资源
    最近更新 更多