操作数类型出错

时间:2016-12-14 23:32:00

标签: python-3.x

所以,我得到了这个错误" 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()

0 个答案:

没有答案