我有一个4x4的零数组。
julia> X = zeros(4,4)
4x4 Array{Float64,2}:
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
我有一个2xN数组,其中包含X
中要分配新值的元素索引。
julia> ind = [1 1; 2 2; 3 3]
3x2 Array{Int64,2}:
1 1
2 2
3 3
为X
中索引为ind
中的行的所有元素分配值的最简单方法是什么? (类似于X[ind] = 2.0
)。
julia> X
2.0 0.0 0.0 0.0
0.0 2.0 0.0 0.0
0.0 0.0 2.0 0.0
0.0 0.0 0.0 0.0
答案 0 :(得分:3)
我不确定是否存在非循环方式。这有什么不对?
for i=[1:size(ind)[1]]
a, b = ind[i, :]
X[a, b] = 2.0
end
答案 1 :(得分:3)
user3467349的答案是正确的,但效率低下,因为它为索引分配了Array
。此外,Julia 0.4中的符号[a:b]
is deprecated。相反,您可以使用:
for i = 1:size(ind, 1)
a, b = ind[i, :]
X[a, b] = 2.0
end