2017-03-10 17 views
2

Juliaにベクトル化されたind2sub()のメソッドはありますか?ジュリアのベクトル化ind2sub

A = rand(3,5) 
(vals, inds) = findmax(A, 1) 

は、今私は私が対応する行のインデックスを、より正確に添字に変換、またはしたい線形インデックスinds、のベクトルを持っている:ここでは

は明確にし、私の質問を動機となる例です。最大値まで。私はDEVをもたらすたいと思います:

ind2sub(A, inds) 

または

map(ind2sub, A, inds) 

よう

何かが...

フィードバックを仕事を行うことはありません。これに対するチームの関心。 IMO、これはハンマーを提供していますが、釘を提供せず、比喩的に話す例です。つまり、ユーザにベクター化されたfindmaxが提供されている場合は、ベクター化されたind2subも適切に再生されます。 ind2subをベクトル化するのは難しいかもしれないと私は同意しますが。ジュリア0.5以降で

答えて

8

、あなたはベクトル化操作のための放送を使用します。

julia v0.5> A = rand(3, 5); 

julia v0.5> (vals, inds) = findmax(A, 1); 

julia v0.5> ind2sub.([A], inds) 
1×5 Array{Tuple{Int64,Int64},2}: 
(1,1) (1,2) (3,3) (2,4) (3,5) 

は、この最近のブログ記事を参照してください。 http://julialang.org/blog/2017/01/moredots