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.
-モーリス