Вычисление Chi-Squared: ValueError: операнды не могут быть переданы вместе с фигурами (1447,) (4771,)
Я пытаюсь вычислить значение хи-квадрат для площади потока по данным этих двух звезд. Один - это известные спектры, а другой - так называемая загадочная звезда, спектры которой я пытаюсь идентифицировать. Я продолжаю получать ошибку значения. Я попробовал несколько разных вещей в меру своих возможностей, учитывая, что у меня никогда не было реальных инструкций в python, чтобы попытаться исправить это, но это приводит к большему количеству ошибок, таких как ошибка деления на ноль. Я не смог выяснить, связана ли проблема с нормализацией данных или с интерполяцией данных.
#reading in the files
spectra8 = 'spectra8.dat'
star1 = 'star1.dat'
spec8 = np.loadtxt(spectra8, usecols = (0, 1), skiprows = 3)
st1 = np.loadtxt(star1, usecols =(0, 1), skiprows = 1)
#normalizing the data
pltrange = np.where ((spec8[:,0] > 3500) &(spec8[:,0] < 7000))
fluxmax8 = max(spec8[:,1][pltrange])
flux8 = (spec8/fluxmax8)
pltrange = np.where ((st1[:,0] > 3500) &(st1[:,0] < 7000))
fluxmaxst1 = max(st1[:,1][pltrange])
fluxst1 = (st1/fluxmaxst1)
#interpolation
mystar = np.interp(st1[:,0], spec8[:,0], flux8[:,1])
#finding the chi squared value
chisquared = ((mystar-flux8[:,1])**2)/(flux8[:,1])
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-65-6cae1f765153> in <module>()
1 #finding the chi squared value
----> 2 chisquared = ((mystar-flux8[:,1])**2)/(flux8[:,1])
ValueError: operands could not be broadcast together with shapes (1447,)
(4771,)
Другая проблема, с которой я сталкиваюсь, - это найти функцию суммирования всех чисел в массиве при расчете хи-квадрат. Очевидно, что при нынешней ситуации это будет применяться только к каждому числу в отдельности, но хи-квадрат должен быть одним значением.