Julia 集合索引!朱莉娅的错误
最近我一直在Julia中编写脚本,在使用setindex时遇到了一个问题!我在任何文档中都找不到答案的函数(我也搜索了stackoverflow,但找不到答案-如果我的搜索不够好,我很抱歉,我正在重复一个问题) 我得到了一个与集合索引相关的MethodError,代码类似于下面的代码(该错误也出现在该代码中,只是为了使其更简单而进行了修改): 我意识到,在上面的代码中,我可以通过简单地更改用于生成a的初始表达式来实现类似的效果,使其在量级上永远不会大于pi,但在原始代码中,由于没有包括中间步骤,因此可读性要低得多-此外,不管这个特殊问题是否可行,都会有其他实例使用setindex!同样地,我希望有一个解决方案 我尝试使用整数索引而不是逻辑索引,并尝试将逻辑或整数索引存储为另一个值。两者都不起作用。我猜这是我的一个相当基本的误解,但我认为这将是一个很好的帮助资源Julia 集合索引!朱莉娅的错误,julia,Julia,最近我一直在Julia中编写脚本,在使用setindex时遇到了一个问题!我在任何文档中都找不到答案的函数(我也搜索了stackoverflow,但找不到答案-如果我的搜索不够好,我很抱歉,我正在重复一个问题) 我得到了一个与集合索引相关的MethodError,代码类似于下面的代码(该错误也出现在该代码中,只是为了使其更简单而进行了修改): 我意识到,在上面的代码中,我可以通过简单地更改用于生成a的初始表达式来实现类似的效果,使其在量级上永远不会大于pi,但在原始代码中,由于没有包括中间步骤,
- 如果这篇文章在任何方面都不是stackoverflow的标准,我很抱歉,这是我的第一篇(我确实阅读了指南,但可能已经完美地实现了它们)
提前感谢您尚未将
浮动范围
具体化为数组
,因此还没有真正的索引可供使用。它只是一个类似Range的对象:
julia> a = 0:0.01:1
0.0:0.01:1.0
julia> a = 2 * pi * (a - 0.4)
-2.5132741228718345:0.06283185307179587:3.769911184307752
julia> dump(a)
FloatRange{Float64}
start: Float64 -251.32741228718345
step: Float64 6.283185307179586
len: Float64 101.0
divisor: Float64 100.0
与之相比:
julia> a = [a]
101-element Array{Float64,1}:
-2.51327
-2.45044
-2.38761
[...]
3.64425
3.70708
3.76991
之后
julia> maximum(a)
3.769911184307752
julia> a[abs(a) .> pi] += - sign(a[a .> pi]) * 2 * pi;
julia> maximum(a)
3.141592653589793
这是两者的区别
julia> 1:2:9
1:2:9
julia> [1:2:9]
5-element Array{Int32,1}:
1
3
5
7
9
julia> 1:2:9
1:2:9
julia> [1:2:9]
5-element Array{Int32,1}:
1
3
5
7
9