【发布时间】:2015-05-13 19:54:49
【问题描述】:
给定一个矩阵 Z(i,j),使其映射到两个数组 X(i) 和 Y(j)。 我试图在一定范围内找到 Z 的元素(以及相应的 X 和 Y)。
我现在正在使用逻辑索引执行以下操作。给定这个例子
X = 1:5;
Y = 1:5;
Z = [17 24 1 8 15
23 5 6 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9]
Z((X>1 & X<4),Y==3)
这很好用,但现在我希望从这个特定范围内找到返回值的最小值,
我做什么
min(Z((X>1 & X<4),Y==3))
但是现在我如何取回对应的 X 和 Y 值的最小值呢?由于我的逻辑索引返回一个数组,所以到目前为止我尝试过的所有方法都返回答案数组中最小值的索引,而不是原始 Z 矩阵。
我不能用
[row col] = find(Z==min(Z((X>1 & X<4),Y==3)))
因为重复。我的替代方案是什么?
【问题讨论】:
标签: matlab matrix find matrix-indexing