Julia 朱莉娅中的矢量化ind2sub

Julia 朱莉娅中的矢量化ind2sub,julia,Julia,Julia中是否有ind2sub()的矢量化方法 下面的例子将澄清并激发我的问题: A = rand(3,5) (vals, inds) = findmax(A, 1) 现在我有了线性索引的向量inds,我想把它转换成下标,或者更准确地说,转换成对应于最大值的行索引 差不多 ind2sub(A, inds) 或 我不会做这个工作 反馈:我想提醒开发团队注意这一点。 在我看来,这是一个提供锤子,但不提供钉子的例子,用比喻来说。也就是说,如果向用户提供了向量化的findmax,那么还应该提供向量

Julia中是否有
ind2sub()
的矢量化方法

下面的例子将澄清并激发我的问题:

A = rand(3,5)
(vals, inds) = findmax(A, 1)
现在我有了线性索引的向量
inds
,我想把它转换成下标,或者更准确地说,转换成对应于最大值的行索引

差不多

ind2sub(A, inds)

我不会做这个工作

反馈:我想提醒开发团队注意这一点。
在我看来,这是一个提供锤子,但不提供钉子的例子,用比喻来说。也就是说,如果向用户提供了向量化的
findmax
,那么还应该提供向量化的
ind2sub
,这样可以很好地使用它。虽然我同意矢量化ind2sub可能很棘手。

在Julia 0.5及更高版本上,您使用广播进行矢量化操作:

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)
请参阅最近的博文:

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)