У меня проблемы с оценкой 5 неизвестных параметров a, b, c, d, e, которые определенно лежат в интервалах.Это выглядит просто так:
import numpy as np
from scipy.optimize import curve_fit
diap_a = np.arange(0.01, 1, 0.2)
diap_b = np.arange(0.01, 30, 5)
diap_c = np.arange(0.01, 2, 0.5)
diap_d = np.arange(0.01, 2, 0.5)
diap_e = np.arange(0.01, 0.3, 0.03)
X = np.arange(0.01, 1, 0.01)
def func(a, b, c, d, e):
return a + b + c + d + e #for example
Y = func(a, b, c, d, e)
У меня есть данные (ожидаемые значения), такие что
Y1 = [60, 59, 58, 57, 56, 55, 50, 30, 10]
X1 = [0.048, 0.049, 0.05, 0.05, 0.06, 0.089, 0.1, 0.12, 0.134]
Я пытался реализовать это так:
popt, pcov = curve_fit(func, a, b, c, d, e, Y1, X1)
найти оптимальные a, b, c, d, e, которые помогут подогнать кривую
plt.plot(Y, X)
plt.show()
Но это не работает.
Результат:
OptimizeWarning: Covariance of the parameters could not be estimated
Извините за неправильную формулировку проблемы.