в моей программе я извлекаю данные (плавающие и целочисленные) из файла .txt и применяю к нему матричные вычисления. Для линии:
reaction_data[kk + 1,dd]=input_[dot(kk,12) + dd + 19]
возвращается:
IndexError: list index out of range
и я не вижу, где я ссылаюсь на индекс, данные которого не существуют, хотя мне он кажется правильным. Вы можете мне помочь? Большое спасибо. (Я использую модуль smop, поэтому некоторые нотации отличаются от numpy, например: 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]
....