在我的程序中,我从.txt文件中提取数据(浮点数和整数),并对其应用矩阵计算。对于该行:
reaction_data[kk + 1,dd]=input_[dot(kk,12) + dd + 19]
它返回:
IndexError: list index out of range
,但我看不到我在哪里指的是不存在数据的索引,但这对我来说似乎是正确的。你能帮助我吗?非常感谢你。 (我使用smop模块,因此某些符号表示法与numpy ex不同:dot(,)这里= np.dot(,)和numpy)
inputf=open('precipitation.txt','rt')
zi=[]
for ligne in inputf.read().splitlines():
ligne = ligne.strip()
if ligne=="":
continue
nb = ligne.split()[-1]
if '.' in nb or 'E' or 'inf' in nb:
nb = float(nb)
else:
nb = int(nb)
zi.append(nb)
input_=zi
inputf.close()
diffusion=input_[1]
D=matlabarray(cat(input_[2],input_[3],input_[4]))
k=matlabarray(cat(input_[5],input_[6],input_[7]))
v=zeros(3,3)
for kk in cat(arange(1,3)).reshape(-1):
v[kk,1]=input_[dot((kk - 1),3) + 8]
v[kk,2]=input_[dot((kk - 1),3) + 9]
v[kk,3]=input_[dot((kk - 1),3) + 10]
time=input_[17]
clusterrization=input_[18]
reaction_nb=input_[19]
reaction=matlabarray(cat(input_[20],input_[32],input_[44],input_[56],input_[68],input_[80]))
reaction_data=zeros(6,12)
cluster=matlabarray([])
for kk in cat(arange(0,5)).reshape(-1):
for jj in cat(arange(1,12)).reshape(-1):
reaction_data[kk + 1,jj]=input_[dot(kk,12) + jj + 19]
....