Matrix 求Julia矩阵中最大值的位置

Matrix 求Julia矩阵中最大值的位置,matrix,julia,Matrix,Julia,我想找到矩阵最大值的行和列 比如说A=[1202;304004;45010] 调用indmax(A)会得到5,但我想得到(2,2) 我该怎么做呢?让我重复一下其他人在评论中提到的内容 您可以使用argmax获取数组中最大值的笛卡尔位置 julia> A=[1 20 2;30 400 4;4 50 10]; julia> argmax(A) CartesianIndex(2, 2) 如果确实需要元组(2,2),但可能不需要,则可以转换笛卡尔指数: julia> convert

我想找到矩阵最大值的行和列

比如说
A=[1202;304004;45010]

调用
indmax(A)
会得到
5
,但我想得到
(2,2)


我该怎么做呢?

让我重复一下其他人在评论中提到的内容

您可以使用
argmax
获取数组中最大值的笛卡尔位置

julia> A=[1 20 2;30 400 4;4 50 10];

julia> argmax(A)
CartesianIndex(2, 2)
如果确实需要
元组
(2,2)
,但可能不需要,则可以转换
笛卡尔指数

julia> convert(Tuple, argmax(A))
(2, 2)

让我重复一下其他人在评论中提到的内容

您可以使用
argmax
获取数组中最大值的笛卡尔位置

julia> A=[1 20 2;30 400 4;4 50 10];

julia> argmax(A)
CartesianIndex(2, 2)
如果确实需要
元组
(2,2)
,但可能不需要,则可以转换
笛卡尔指数

julia> convert(Tuple, argmax(A))
(2, 2)

你使用的是哪个版本的Juliafindmax返回
CartesianIndex
,如果需要,可以将其转换为Tuple。如果您使用的是较旧版本的Julia,可以尝试
ind2sub
ind2sub(size(A),indmax(A))
argmax
只返回索引,
findmax
返回元素值和索引的元组。您使用的是哪个版本的Juliafindmax返回
CartesianIndex
,如果需要,可以将其转换为Tuple。如果您使用的是较旧版本的Julia,可以尝试
ind2sub
ind2sub(size(A),indmax(A))
argmax
只返回索引,
findmax
返回元素值和索引的元组。或者只返回
元组(argmax(A))
。是的。但是您可能无论如何都不想进行转换,因此可能更详细的选项是合适的;)因此,只需添加到@crstnbr的注释中:您可以直接使用
CartesianIndex
索引到一个数组:)。argmax()在Julia 0.6中不起作用,我使用了ind2sub(A,indmax(A)),它起了作用。谢谢大家。或者只是
元组(argmax(A))
:)。是的。但是您可能无论如何都不想进行转换,因此可能更详细的选项是合适的;)因此,只需添加到@crstnbr的注释中:您可以直接使用
CartesianIndex
索引到一个数组:)。argmax()在Julia 0.6中不起作用,我使用了ind2sub(A,indmax(A)),它起了作用。谢谢大家。