2

在这个例子中,我有一个矩阵 (a)

a = 1       2       3       7
    0.9     0.6     0.2    0.2
    0.8     17      72     15

我的目标是搜索矩阵 a 并找到不 >= 72 的最大值的索引位置。该矩阵仅用于说明,但我想知道如何对任何维度的矩阵执行此操作,其中行和列相等(2x2 3x3 4x4 ...)

在这种情况下,我想计算约束内的最高数字是

行 = 3 列 = 2

谢谢

4

1 回答 1

4

第 1 步:确定您感兴趣的值。

val = max(a(a<72));

步骤2:找到与该值对应的元素的索引:

[r,c] = find(a==val,1,'first'); #%only take first element (this can be changed)
#r is the row index, c is the column index

您还可以使用线性索引和ind2sub

l = find(a==val); #%this time, find all elements that meet the criteria
[r,c] = ind2sub(size(a),l);

以下是findind2sub文档的链接。您也不必存储val感兴趣的值 ( ),您可以轻松地将其全部放在一行中。

于 2013-04-17T22:56:01.837 回答