Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia中极小值的位置_Julia - Fatal编程技术网

Julia中极小值的位置

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)能满足你的需求。

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)
能满足你的需求。来自朱莉娅:

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()