matlab - 查找矩阵内的索引位置

标签 matlab search matrix

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

谢谢

最佳答案

第 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);

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

关于matlab - 查找矩阵内的索引位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16071481/

相关文章:

c# - 如何将两个多维矩阵从matlab传递给C#

python - 根据Python中的值查找第一行文本

search - 为什么D* Lite需要反向遍历图?

wordpress - Woocommerce 按属性搜索

c++ - 具有已知矩阵的模板矩阵表达式

MATLAB:在两个矩阵上应用函数的有效(矢量化)方法?

matlab - 为迭代函数组合定义泛型函数

image - 消除图像中字符的噪声

matlab - 对角化大型矩阵的工具

opencv - `cv2.getRotationMatrix2D`返回的 map 矩阵