【问题标题】:How can I find the minima of a 3D matrix in a given dimension?如何找到给定维度中 3D 矩阵的最小值?
【发布时间】:2019-05-21 03:36:07
【问题描述】:

所以我想取 3D 矩阵的最小值,但我希望能够选择我想要取最小值的维度。例如,如果我有一个随机的 2x3x4 矩阵。我想要 z 方向的最小值(即 3rd 维度)。

M = rand(2, 3, 4)
MinMatrix = function(M, direction)

方向是指每行、每列或每 z 方向。现在说我想要 z 方向的最小值,所以函数应该给我MinMatrix,它的尺寸是 2x3,并给我 z 方向上 4 个数字的最小值:

Min1  Min2  Min3
Min4  Min5  Min6

这是我试图获得最小值的代码,还没有方向部分:

function [MinMatrix] = functionname(M)
  MinMatrix = min(M(:, :, 1:4));
end

我找到了this questiona similar question on The MathWorks website,但这涉及到我想避免的重塑原始矩阵,您必须更改代码才能更改维度。从这些问题中不清楚我该如何解决这个问题。

【问题讨论】:

    标签: matlab function matrix min


    【解决方案1】:

    你需要为min函数指定dimension argument

    MinMatrix = min(M, [], 3);  % Minimum along the 3rd dimension
    

    请注意,在这种情况下,您必须为第二个参数传递一个空矩阵(使用 minmax 时很容易忘记这一点)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 2012-07-30
      • 2013-11-20
      相关资源
      最近更新 更多