我很难让Julia遍历矩阵中的所有数字:
A = [1 -2 3; -4 -5 -6; 7 -8 9]
我想将所有负数都变成正数3
我尝试过:
for i=A[1:end]
if i<0
A[i] = 3
i += 1
end
return (A)
end
我尝试将i + = 1移到各个位置。但是仍然没有任何改变。
答案 0 :(得分:2)
尝试enumerate
:
julia> A = [1 -2 3; -4 -5 -6; 7 -8 9]
3×3 Array{Int64,2}:
1 -2 3
-4 -5 -6
7 -8 9
julia> for (i,v) in enumerate(A)
if v < 0
A[i] = 3
end
end
julia> A
3×3 Array{Int64,2}:
1 3 3
3 3 3
7 3 9
或eachindex
:
julia> A = [1 -2 3; -4 -5 -6; 7 -8 9]
3×3 Array{Int64,2}:
1 -2 3
-4 -5 -6
7 -8 9
julia> for i in eachindex(A)
if A[i] < 0
A[i] = 3
end
end
julia> A
3×3 Array{Int64,2}:
1 3 3
3 3 3
7 3 9
您可以在Julia REPL的交互式帮助中找到有关这些功能的详细信息。
答案 1 :(得分:0)
作为eachindex
的替代方法,您可以在一定范围内进行迭代,在这种情况下,可以像在MatLab中那样在范围内进行索引。
for i = 1:length(A)
if A[i] < 0
A[i] = 3
end
end