For loop Julia中的for循环-在整个索引上迭代
我很难让Julia检查矩阵中的所有数字:For loop Julia中的for循环-在整个索引上迭代,for-loop,indexing,julia,For Loop,Indexing,Julia,我很难让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=A[1:end]的 如果我尝试枚举: julia> A = [1 -2 3; -4 -5 -6; 7 -8 9] 3×3 Array{Int64,2}: 1 -2 3 -4 -5
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=A[1:end]的
如果我尝试枚举
:
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
您可以在Julia REPL的交互式帮助中找到这些函数的详细信息。作为eachindex
的替代方法,您可以在一个范围内迭代,在本例中是索引范围,如在MatLab中
for i = 1:length(A)
if A[i] < 0
A[i] = 3
end
end
i=1时的:长度(A)
如果A[i]<0
A[i]=3
结束
结束
A[A.可能replace!(x->xBTW,A[A.replace!
是一种非常好的函数式编程方法。我以为@hhillman231想学习如何正确使用Julia中的循环,因为这是问题标题所指的内容。@BogumiłKamiński使用enumerate
和eachindex
的双重答案,我觉得很有帮助。我不记得看到eachindex以前。
for i = 1:length(A)
if A[i] < 0
A[i] = 3
end
end