【发布时间】:2018-09-08 19:57:53
【问题描述】:
我对 Julia 很陌生,甚至对编程也很陌生。因此,请原谅我的简单疑问。
考虑下面的 Matlab 示例:
A=[10; 20; 30; 40; 50];
B=[1; 3; 5];
A(B)=0在matlab中的结果应该是[0.0 20 0.0 40 0.0]。
我如何在 Julia 中实现相同的一维数组??
我有一个变量A 和B:
julia> A
5×1 Array{Int64,2}:
10
20
30
40
50
julia> B
2-element Array{Int64,1}:
1
3
5
当我执行这个A[[B]]
ERROR: ArgumentError: invalid index: Array{Int64,1}[[1, 2]]
但是,此语句提供了以下结果:
julia> A[[1, 3 ,5]]
3-element Array{Int64,1}:
5
3
1
请指导我。我知道 Julia 有平面数组,但是如何通过任何其他平面数组访问它们。
【问题讨论】:
-
嗨 Nit_GUP,我不太清楚你真正想要做什么。关于您的错误,这只是
A[[1, 3, 5]](工作正常)和A[[[1, 3, 5]]](错误,因为向量向量不是正确的索引向量)之间的区别。 -
您好 Crstnbr,感谢您给我写信。我希望在 Julia 中得到 Matlab 语句的结果:A(B)=0。如果我执行这条语句:A[B]=0,在 Julia 中,结果为 0;而在 matlab 中,结果是 [0.0 20 0.0 40 0.0]。