MATLAB如何查找矩阵最小元素对应的多个行、列索引
MATLAB查找矩阵最小元素对应所有行列索引的实现方法
原有代码[minimumelement,index]=min(min(A))仅能返回第一个匹配到的最小值的线性索引,无法返回所有匹配位置的坐标,可通过以下方法实现需求:
clear all; clc; A = [1 0 3;4 3 0;5 10 3]; % 获取矩阵全局最小值 min_val = min(A(:)); % 查找所有等于最小值的元素的线性索引 idx_all = find(A == min_val); % 将线性索引转换为行、列索引 [row_idx, col_idx] = ind2sub(size(A), idx_all); % 输出结果 disp('最小元素值:'); disp(min_val); disp('对应所有行索引:'); disp(row_idx); disp('对应所有列索引:'); disp(col_idx);
运行输出结果如下:
最小元素值:
0
对应所有行索引:
1
2
对应所有列索引:
2
3
如果需要直接输出坐标对,可新增代码coordinate_pairs = [row_idx, col_idx];,得到的二维数组每一行对应一个最小元素的坐标。
内容的提问来源于stack exchange,提问作者Ongky Denny Wijaya
相关产品推荐
相关产品推荐

