Подгонка данных с помощью собственной функции TypeError: только массивы длины 1 могут быть преобразованы в Python скаляры - PullRequest
0 голосов
/ 01 мая 2020

Я попытался снабдить свои данные самоопределяемой функцией (которая включает в себя интеграцию), вот коды:

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

Я предполагаю, что одна из определенных мной функций не может получить массив. Но как мне это решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...