Я попытался снабдить свои данные самоопределяемой функцией (которая включает в себя интеграцию), вот коды:
import numpy as np
from scipy.integrate import quad
from scipy.optimize import curve_fit
def intergrand(y,T,C):
return 1-np.exp((C/T)*((1/(y**4))-(1/(y**2))))
def LJP(T,C,A):
return A*quad(intergrand,0,np.inf,args=(T,C))
T=[110,200,400,500,600]
B=[-344.0,-107,-15.5,-0.5,8.5] # data
init_vals = [1, 1]
best_vals, covar = curve_fit(LJP, T, B, p0=init_vals)
print('best_vals: {}'.format(best_vals))
возвращает: TypeError: только массивы длины 1 могут быть преобразованы в Python scalars
Я предполагаю, что одна из определенных мной функций не может получить массив. Но как мне это решить?