我正在尝试使用嵌套循环在2d数组中进行赋值。我正在尝试按以下方式访问数组的元素。但是我错了。我已经搜索过,但是没有得到结果。如何在2d数组中分配Julia?
for x in 1:total
for y in 1:W
@show (x, y)
if agirliklar[x] <= y
V[x][y] = getMax(V[x-1][y], degerler[x] + V[x-1][y - agirliklar[x]])
else
print("sa")
V[x][y] = V[x-1][y]
end
end
end
BoundsError:尝试访问索引为[0]的7×6数组{Int64,2}
答案 0 :(得分:4)
在Julia数组中,数组基于1,而不是0。
您尝试访问V[x-1]
,其中x
可以取值为1
。
站点注释:始终提供一个最低限度的工作示例(MWE),而不仅仅是倾销部分生产代码。
答案 1 :(得分:3)
(至少)这里有两件事是错误的:
V
是2D数组,正如您所说,则不能像这样访问它:V[x][y]
。相反,您可以这样访问它们:V[x, y]
。您可以在这里阅读有关此内容的更多信息:https://docs.julialang.org/en/v1/manual/arrays/#man-array-indexing-1