【问题标题】:Find an index position within a matrix在矩阵中查找索引位置
【发布时间】:2013-04-17 22:40:01
【问题描述】:

在这个例子中,我有一个矩阵 (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

谢谢

【问题讨论】:

  • 我不太明白这个问题。 15
  • 他们正在寻找最大的数字

标签: matlab search matrix


【解决方案1】:

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

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

第二步:找到该值对应的元素的索引:

[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),您可以轻松地将其全部放在一行中。

【讨论】:

    猜你喜欢
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 2013-09-13
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多