查找矩阵最小元素的 2 个或多个索引(行和列)

Posted

技术标签:

【中文标题】查找矩阵最小元素的 2 个或多个索引(行和列)【英文标题】:Find 2 or more indices (row and column) of minimum element of a matrix 【发布时间】:2021-09-14 10:39:07 【问题描述】:

我有这个 MATLAB 代码:

clear all;
clc;
A=[1 0 3;4 3 0;5 10 3];
[minimumelement,index]=min(min(A))

我想找到矩阵的最小元素及其索引(行和列)。手动,我们知道最小元素为 0,索引为 (1,2) 和 (2,3)。现在使用上面的代码,我无法生成索引 (1,2) 和 (2,3)。有人知道如何找到矩阵最小元素的 2 个或多个索引(行和列)吗?

【问题讨论】:

【参考方案1】:

你可以使用 find():

[rows, columns] = find(A == min(min(A)));

此外,您还可以指定要查找的匹配项:

Nmatches = 1;
[rows, columns] = find(A == min(min(A)), Nmatches);

为了完整起见,您还可以使用“first”或“last”标志指定要查找的个匹配项,如第一个或最后N个匹配项。

【讨论】:

以上是关于查找矩阵最小元素的 2 个或多个索引(行和列)的主要内容,如果未能解决你的问题,请参考以下文章

b_lc_给定行和列的和求可行矩阵(找行和列的和的最小值填)

使用 SSE 和 AVX 查找矩阵中的最大元素及其列和行索引

R:获取矩阵的最小元素的行和列名,但最小值!= 0

根据行和列对矩阵中的所有元素进行排名

绘制二维矩阵的行和列

在MATLAB中,如何找出矩阵的非零元素。并且输出它所在的行和列。只要非零就为真。输出1。。