使用Python对指定函数的参数进行非线性拟合出现了拟合曲线和实验数据不匹配的问题
拟合的指定函数:

需要拟合的参数为:a,b,c,d,e,f,g
自变量为T,因变量为P
代码如下
#非线性拟合安托因方程的参数
import matplotlib.pyplot as plt
import numpy as np
import math
from scipy.optimize import curve_fit
T=np.array([253.15,258.15,263.15,268.15,273.15,278.15,283.15,288.15,293.15,298.15,303.15,308.15,313.15,318.15,323.15,328.15,333.15,338.15,343.15,348.15,353.15,358.15,363.15])
P=np.array([244.85886597,292.05483571,345.80875855,406.6663734,475.18552177,551.93585877,637.49900031,732.46915054,837.45425748,953.07775405,1079.98095651,1218.82621598,1370.30095533,1535.12278096,1714.04594957,1907.86961877,2117.44856446,2343.70750846,2587.66109165,2850.44342302,3133.355671,3437.9530431,3766.24034928])
P1=np.log(P)
def Ps(a,b,c,d,e,f,g,T):
Ps=a+(b/(T+c))+d*T+e*np.log(T)+f*pow(T,g)
return Ps
#使用curve_fit进行拟合
popt,pcov=curve_fit(Ps,T,P1,maxfev=80000)
#提取拟合参数
a_fit,b_fit,c_fit,d_fit,e_fit,f_fit,g_fit=popt
#根据拟合参数生成拟合曲线的T的值
T_fit=np.linspace(min(T),max(T),100)
#计算拟合曲线P的值
P_fit=Ps(a_fit,b_fit,c_fit,d_fit,e_fit,f_fit,g_fit,T_fit)
#绘制原始散点和拟合曲线
plt.figure(dpi=600)
plt.scatter(T,P1,label='Exp Data')
plt.plot(T_fit,P_fit,'r',label='Fit Data')
plt.legend()
plt.xlabel('T(K)')
plt.ylabel('P(KPa)')
plt.title('1,1-difluoroethane+PROPANE(293.15K),非线性回归')
plt.show()
拟合的曲线与数据点完全不匹配

并且出现了报错,我真的不知道是出现了什么问题

友友们有知道是怎么回事的吗