我正在尝试使用内插列执行卡方检验,但我不断得到“operands be broadcast with shapes (314,) (700,)”的返回。我不确定如何纠正这一点,因为我需要从插值的值中减去。
x = spectra4[474:1174,0]
y = spectra4[474:1174,1]
x_new = Mystery[2:316,0]
y_new = np.interp(Mystery[2:316,0],
spectra4[474:1174,0],spectra4[474:1174,1] )
plt.plot(x, y, '-')
plt.plot(x_new, y_new, '-')
plt.legend(['linear spectra4', 'linear Mystery'], loc='best')
plt.xlim(3500,7000)
plt.show()
plt.savefig('Mysteryinterp.png')
totsub = y_new - y
numerator = totsub**2
total = total = numerator/y
chi2 = total.sum()
print(chi2)发布于 2018-11-27 08:55:40
问题出在这一行totsub = y_new - y上
y_new是314个元素的矩阵,y是700个元素的矩阵。矩阵维数需要匹配才能进行矩阵减法。
https://stackoverflow.com/questions/53491253
复制相似问题