当前位置: 首页 > 知识库问答 >
问题:

多维矩阵中的逐元素最大值

邹缪文
2023-03-14

我有几个维度的多维矩阵mxnxt,其中mxn中的每个元素都是一个单独的传感器输入,t是时间。我想做的是只分析mxn中每个元素在t上的峰值,因此我将得到一个mxn的二维矩阵,其中只包含最大值。

我知道有很多方法可以获得单个整体最大值,但是有没有一种方法可以将它与逐个元素的操作相结合,比如bsxinterest,这样它就可以通过t检查每个单独的元素?

如果你能给我任何帮助,我将感激不尽,因为我现在真的被困住了。提前谢谢!

共有2个答案

魏健柏
2023-03-14

您可以使用矩阵调用max(),并选择将计算操作的维度(查看留档),例如

M = max(A,[],3)
狄侯林
2023-03-14

这就是你想要的吗?

out = max(A,[],3);        %// checking maximum values in 3rd dimension

示例:

A = randi(50,3,3,3);      %// Random 3x3x3 dim matrix
out = max(A,[],3);

结果:

A(:,:,1) =

35     5     8
38    12    42
23    46    27


A(:,:,2) =

50     6    39
 4    49    41
23     1    44


A(:,:,3) =

 5    41    10
20    22    14
13    46     8

>> out

out =

50    41    39
38    49    42
23    46    44
 类似资料:
  • 我实现了c程序,可以找到矩阵的元素:行的最大元素,同时列的最小元素,或行的-min元素,同时列的最大元素。例如,我们有数据。包含以下内容的txt文件: 4 7 8 9 10 6 5 4 11 5 0 1 12 4 2 7 13- 其中4是n-矩阵大小(4x4),7和10是这些数字。 下面是代码: 问题:我想知道我的代码是不是“脏”代码?因为我总是渴望让一切变得如此困难,只要有可能让它变得容易。是否

  • 所以我正在研究一个Leetcode问题,我的代码在某些情况下有效,但在某些情况下失败。 问题是: 给定一个矩阵,其中每个行和列都按升序排序,找出矩阵中第k个最小的元素。 请注意,它是排序顺序中的第k个最小元素,而不是第k个独立元素。 例子: 返回: 13 我的方法是使用minHeap,即使它声明数组已经排序,我仍然需要确保我已经将它从最小值排序到最大值。 这是我的代码: 以下是我的意见: 以下是输

  • 问题内容: 我正在尝试为多维数组中的特定键选择最大值。我无法“找到”有问题的钥匙… 因此,数组(比我在这里发布的要冗长得多) 我试图在整个数组中找到最大的“ dnum”值,因此在此示例中,$ max =2。我知道max函数允许我执行此操作,但是我不确定如何引用dnum。元素而不将整个对象放入foreach循环中,如果我这样做了,那么max不会成为要使用的函数,对吗? 因此,我无法完全做到这一点:

  • 这是一个面试问题。 在具有排序行和列的矩阵中找到Kth最小元素。 Kth最小元素是中的一个,例如,这是否正确?

  • 给定一个2维正整数数组,求和最大的HxW子矩形。矩形的总和是该矩形中所有元素的总和。 输入:具有正元素的二维数组NxN子矩形的HxW大小 输出:HxW大小的子矩阵,其元素的总和最大。 我已经使用蛮力方法解决了这个问题,但是,我现在正在寻找一个具有更好复杂性的更好的解决方案(我的蛮力法的复杂性是O(n6))。

  • 我使用最大堆来查找数组中的k个最大元素,如下所示: 1) 我已经构建了给定数组的前k个元素(arr[0]到arr[k-1])的最小堆MH。O(k) 2)对于每个元素,在第k个元素(arr[k]到arr[n-1])之后,将其与MH的根进行比较。 ……a)如果元素大于根,则将其设为根,并为MH调用heapify ……b)否则忽略它。 //步骤2是O((n-k)) 3)最后,MH有k个最大元素,MH的根