所以,我得到了这个错误" TypeError:**或pow()的不支持的操作数类型:' list'和' int'"每当我尝试计算这段代码时,我都不知道为什么。首先十分感谢。我已经看过一些关于这个问题的帖子,但我无法理解我的错误。
import numpy as np
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
def fonc_R(J ,B_1, B_2,chi):
return 2882-2*2882*chi+2*B_1+(3*B_1-B_2)*J+(B_1-B_2)*J**2
def fonc_P(J, B_1, B_2,chi):
return 2882-2*2882*chi-(B_1+B_2)*J+(B_1-B_2)*J**2
def fit ():
x_p_2=[2863, 2841, 2819, 2797, 2774, 2750, 2725, 2701, 2675, 2650, 2623, 2597, 2570]
x_p_2=np.array(x_p_2)
x_r_2=[2904, 2924, 2943, 2979, 2995, 3012, 3027, 3042, 3057, 3070, 3083, 3095]
x_r_2 = np.array(x_r_2)
l_p_2=[1,2,3,4,5,6,7,8,9,10,11,12,13]
l_r_2=[0,1,2,3,4,5,6,7,8,9,10,11]
popt_P_2, pcov_P_2 = curve_fit(fonc_P, l_p_2, x_p_2)
popt_R_2, pcov_R_2 = curve_fit(fonc_R, l_r_2, x_r_2)
plt.figure(2)
plt.plot(l_p_2, x_p_2, 'o')
plt.plot(l_r_2, x_r_2, 'o')
plt.plot(l_p_2,fonc_P(l_p_2,*popt_P_2),'-' ,color='black')
plt.plot(l_r_2,fonc_R(l_r_2,*popt_R_2),'-', color ='green')
plt.show()