📜  在 Julia 中获取最小元素及其索引 – findmin() 方法(1)

📅  最后修改于: 2023-12-03 15:23:11.473000             🧑  作者: Mango

在 Julia 中获取最小元素及其索引 – findmin() 方法

当你需要获取 Julia 中数组中的最小值及其索引时,可以使用 findmin() 函数。该函数返回一个元组 (min_value, min_index),其中 min_value 为数组中的最小值,min_index 为最小值在数组中的索引位置。

简单地示例

以下是使用 findmin() 函数的简单示例:

julia> x = [4, 5, 1, 2, 3];

julia> findmin(x)
(1, 3)

以上代码将返回元组 (1, 3),其中 1 为数组 x 中的最小值,3 为最小值在数组 x 中的索引位置。因为 Julia 中的索引是从 1 开始的,所以最小值的索引位置为 3 而不是 2

在多维数组中使用 findmin() 函数

findmin() 函数同样适用于多维数组。示例如下:

julia> y = [4 5 1; 2 3 6; 0 8 7];

julia> findmin(y)
(0, 7)

以上代码将返回 (0, 7)0 为数组 y 中的最小值,7 为最小值在数组 y 中的索引位置。对于多维数组,findmin() 函数会返回一维化后的数组的最小元素的索引位置。

获取多个最小元素的索引位置

如果 Julia 中的数组中包含多个最小元素,则可以使用 findall() 函数来获取所有最小元素的索引位置。以下是示例代码:

julia> z = [4, 1, 3, 1, 2, 1];

julia> idx = findall(isequal(minimum(z)), z)
3-element Array{Int64,1}:
 2
 4
 6

以上代码将返回一个索引数组,其中包含了所有最小元素 1 在数组 z 中的索引位置,即 {2, 4, 6}

总结

无论是一维数组还是多维数组,findmin() 函数都非常方便地实现了在 Julia 中获取最小元素及其索引位置的操作。而且,通过 findall() 函数还可以轻松地获取数组中所有最小元素的索引位置。