Julia 我得到了我不知道的边界错误();我不知道如何修理
我得到了错误BoundsError(),然后说“在setindex中!在array.jl.310(重复2次)“我不知道为什么 已经打开了一个文件,并使用txt文件将一些字符串转换为变量,但我只是在本节中遇到了问题,所以尝试将其放入函数中,但没有乐趣Julia 我得到了我不知道的边界错误();我不知道如何修理,julia,Julia,我得到了错误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 electronD
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()
函数执行从文本文件读取数据矩阵的任务,更好的方法是使用此函数。检查有关其用例的更多详细信息,然后就可以将函数应用于结果矩阵,并创建所需维度的数组。一些令人担忧的事情包括
拆分(ElectronidensityString,;)
(应该是”;“
我相信),但我也看到了这一点
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,但是如果没有数据集(或数据集的样本),我们无法再现错误。julia数组索引不是基于零的吗?@500否,数组索引从1开始@jacques,你在预分配
电密度
数组吗?谢谢。给小费。我试过了,它能工作,也就是说,它没有给出一个界限错误。重塑()的工作顺序是什么。但我认为这是重塑的第一步。我的数据是按水平顺序排列的。首先,是否有办法对其进行重塑。非常感谢