我收到错误BoundsError()继续在setindex中说出'在array.jl.310(重复2次)'我不知道为什么
已经打开了一个文件,并把txt文件转换成了一些字符串变量,但我只是在本节中遇到问题,所以尝试将它放在一个函数中,但没有快乐
function electronDensityFunction()
z=1
y=1
x=1
for i = 1:arraySizeBy6 # As data in 6 colums in .txt file
electronDensityString = readline(f)
electronDensityArray = split(electronDensityString,;) # split string into array
for j = 1:6
electronDensitytTempString = electronDensityArray[j]
electronDensitytTempFloat = parsefloat(Float64,electronDensitytTempString) # make string a float
#fills z first then y then x
if z ==zSize
y=y+1
z=0
else
z=z+1
end
if y==ySize
x=x+1
y=0
end
electronDensity[x,y,z] = electronDensitytTempFloat
end
end
end
electronDensityFunction()
答案 0 :(得分:2)
有些令人担忧的事情包括split(electronDensityString,;)
(我认为应该是";"
),但我也看到了
if z ==zSize
y=y+1
z=0
else
z=z+1
end
if y==ySize
x=x+1
y=0
end
electronDensity[x,y,z] = electronDensitytTempFloat
会定期将索引设置为0,这是不正确的。我想你可能想把它们设置为1而不是0,但如果没有数据集(或它的样本),我们就无法重现错误。
答案 1 :(得分:0)