【发布时间】:2015-03-18 12:25:53
【问题描述】:
我在识别 3D 矩阵 (MATLAB) 中两个最大值的位置时遇到了问题。假设我有矩阵A 输出如下:
A(:,:,1) =
5 3 5
0 1 0
A(:,:,2) =
0 2 0
8 0 8
A(:,:,3) =
3 0 0
0 7 7
A(:,:,4) =
6 6 0
4 0 0
对于第一个A(:,:,1),我想确定第一行具有最高值(A=5)。但我需要两个索引位置,在本例中为1 和3。而且这个和其他A(:,:,:)一样。
我已经通过 SO 进行了搜索,但由于我在 MATLAB 中表现不佳,因此找不到解决此问题的方法。
请帮我解决这个问题。如果我不需要使用 for 循环来获得所需的输出会更好。
【问题讨论】:
-
如果
A(2,1,1)有5怎么办? -
@Divakar 对于这种情况,
5仍然小于8。我的目标是为每个具有两个最大值的 3D 矩阵找到一行并确定它们的索引。 -
a row for each 3D matrix with two maximum value?我在这里迷路了!写下预期的输出? -
抱歉,我正在尝试@Nemesis 给我的代码。我看到你也提供了替代方案。竖起大拇指! =)
-
好吧,我想您正在寻找这两个
shots之一,只是不确定是哪一个。
标签: matlab matrix multidimensional-array