У меня были подобные ошибки раньше, но я обычно получаю их, когда делаю диапазон, а не перечисляю. Извините, если это глупая ошибка, я просто не могу понять ее. Это код, ведущий к месту возникновения ошибки:
maxtemp = 320
temperaturelist = range(10, maxtemp + 1,10) #this goes from 10 to 320 ins steps of 10
numtemps = np.asarray(temperaturelist).size
#read in actual spectral data, and display
spectraldataactualgrid_values = np.empty((numtemps, 201))
spectraldatapoints = np.empty([6432,2])
spectraldatavalues = np.empty(6432)
count=0
for i, temperature in enumerate(temperaturelist):
wavelengthvector, intensityvector = loadspec(temperature)
for j, wavelength in enumerate(wavelengthvector):
spectraldatapoints[count] = [temperature, wavelength]
spectraldatavalues[count] = intensityvector[j]
spectraldataactualgrid_values[i, j] = intensityvector[j]
count+=1
#loadspec comes from a previous definition where I load in my spectral data
Сообщение об ошибке:
IndexError Traceback (most recent call last)
<ipython-input-18-6f2072c90554> in <module>()
77 spectraldatapoints[count] = [temperature, wavelength]
78 spectraldatavalues[count] = intensityvector[j]
---> 79 spectraldataactualgrid_values[i, j] = intensityvector[j]
80 count+=1
81 # plt.figure(1)
IndexError: index 201 is out of bounds for axis 1 with size 201
EDIT **** Итак, для этой предыдущей ошибки я понял, что у меня был для переключения 201 в Spectraldataactualgrid_values на 2415 (размер вектора интенсивности). Однако теперь ошибка:
IndexError Traceback (most recent call last)
<ipython-input-26-d0f8f1371388> in <module>()
56 # #print(len(wavelengthvector))
57 for j, wavelength in enumerate(wavelengthvector):
---> 58 spectraldatapoints[count] = [temperature, wavelength]
59
60 spectraldatavalues[count] = intensityvector[j]
IndexError: index 6432 is out of bounds for axis 0 with size 6432
Значит, у меня где-то неверный номер, как я предполагаю.