Julia中极小值的位置
Julia是否有内置命令来查找向量最小值的索引?R、 例如,有一个Julia中极小值的位置,julia,Julia,Julia是否有内置命令来查找向量最小值的索引?R、 例如,有一个which.min命令(当然还有一个which.max) 显然,我可以自己写下面的内容,但如果不用写就好了 function whichmin( x::Vector ) i = 1 min_x=minimum(x) while( x[i] > min_x ) i+=1 end return i end 如果以前有人问过,我会道歉,但我找不到。谢谢 我相信indmax(itr)能满足你的需求。
which.min
命令(当然还有一个which.max
)
显然,我可以自己写下面的内容,但如果不用写就好了
function whichmin( x::Vector )
i = 1
min_x=minimum(x)
while( x[i] > min_x )
i+=1
end
return i
end
如果以前有人问过,我会道歉,但我找不到。谢谢 我相信indmax(itr)
能满足你的需求。来自朱莉娅:
indmax(itr)→ 整数
返回集合中最大元素的索引
下面是一个正在使用的示例:
julia> x = [8, -4, 3.5]
julia> indmax(x)
1
还有findmax,它返回最大值及其位置 对于多维数组,必须在线性索引和多维索引之间切换:
x = rand(1:9, 2,3)
# 2×3 Array{Int64,2}:
# 5 1 9
# 3 3 8
indmin(x)
# 3
# => third element in the column-major ordered array (value=1)
ind2sub(size(x),indmin(x))
# (1, 2)
# => (row,col) indexes: what you are looking for.
--Maurice自0.7-alpha以来,
indmin
和indmax
已被弃用。
使用和代替
对于向量,它只返回线性索引
julia> x = rand(1:9, 4)
4-element Array{Int64,1}:
9
5
8
5
julia> argmin(x)
2
julia> argmax(x)
1
如果同时查找索引和值,请使用和
对于多维数组,所有这些函数都返回笛卡尔指数。对于二维数组,
findmax
返回一个整数,而不是二维数组location@pushpen.paul那么你知道如何找到原始的-D位置吗?你想要最大值还是最小值?你的题目是min,但答案是max:DFinally!这要合理得多。ind2sub
的答案真的很烦人。@squipbar为了帮助其他人,请注意,这个解决方案从Julia v1.0开始不再是最新的,应该勾选另一个解决方案。是的,对于Julia>=1,请使用argmax()
而不是indmax()