julia - 朱莉娅 | 数组元素作为另一个数组的参数
问题描述
当一个数组元素是另一个数组的参数时,我遇到了索引问题。它会导致“无效索引 1.0”错误。例如:
i = 0
for l in 1:length
for s in 1:ser
for x in 1:s
i = i + 1
arr1[i] = x
end
end
end
for ts in 1:tiser
arr2[ts] = arr3[arr1[ts]]
end
这是您可以复制到 REPL 并查找错误的代码。我得到的是索引错误。
arr1 = Array{Float64,1}(1500)
arr2 = Array{Float64,1}(10000)
arr3 = Array{Float64,1}(10000)
for z in 1:100
arr3[z] = 1 + z
end
i = 0
for l in 1:100
for s in 1:5
for x in 1:s
i = i + 1
arr1[i] = x
end
end
end
for ts in 1:10000
arr2[ts] = arr3[arr1[ts]]
end
println(arr2[3])
谢谢
解决方案
您需要转换浮点数arr1
以将其用作索引。我修改了最小工作示例来工作:
arr1 = Array{Float64,1}(1500)
arr2 = Array{Float64,1}(10000)
arr3 = Array{Float64,1}(10000)
for z in 1:100
arr3[z] = 1 + z
end
i = 0
for l in 1:100
for s in 1:5
for x in 1:s
i = i + 1
arr1[i] = x
end
end
end
println(arr1[1:20])
for ts in 1:10000
from_arr1_as_index=Int(arr1[(ts-1)%1500+1])
arr2[ts] = arr3[from_arr1_as_index]
end
println(arr2[3])
推荐阅读
- c++ - 然后在 C++ 条件
- ruby-on-rails - 如何在 Ruby on Rails 中接收 JSON:API 嵌套属性的帖子?
- delphi - 为什么这个过程不是 TProc?
- java - 具有继承和引用的 Json 模式生成器
- javascript - Javascript 中的功能与非功能循环
- android - Snapchat 中的 Firebase 动态链接无法作为附加链接工作
- css - 如何使用带有 selenium web-driver 的 python 将数据发送到此复选框
- javascript - 如何在 babelify/transpiling 之后创建和渲染 React 组件?
- javascript - 使用变量 JavaScript/jQuery 从 JSON 获取数据
- python-3.x - 保存 matplotlib 动画时出错,缺少“dpi”参数