如何使用创建的函数读取任何给定数组中的最大值的索引

时间:2014-09-25 00:12:07

标签: matlab

我创建了一个能够读取任何mxn矩阵的函数,并给出了整个矩阵的最大值(不仅仅是每列)以及它的索引是什么。

function [ BIGGEST ] = singlemax( x )


[Largest_values row]=max(x)

[biggest_number column] = max(max(x))

end

这个函数给了我所需要的所有信息,但它不是很干净,因为矩阵越大就越乱。

真正的问题区域是打印出最大值所在的行。

Largest_values =

    0.7750    0.9122    0.7672    0.9500    0.6871


row =

     3     2     3     2     2


biggest_number =

    0.9500


column =

     4

这是我的打印输出,给定一个随机矩阵作为输入。使用我创建的函数,我无法使用创建的函数读取任何给定数组中的最大值的索引。如果我可以以某种方式关联每列的最大值和相应的行(例如使结果为顶部的列max和底部的行索引的矩阵,都在相同的相应列中)我可以显示绝对的行最大值。

1 个答案:

答案 0 :(得分:2)

这是一种方法:

value = max(x(:));
[rowIndex,columnIndex] = ind2sub(size(x),find(x==value));

阅读ind2sub documentation了解更多详情。

编辑修改,以便找到所有出现的最大值的索引。