Я пытаюсь согласовать уравнение логистики c с некоторыми данными.
import numpy as np
from scipy.optimize import curve_fit
x_data = [2015,2020,2025,2030,2035,2040,2045,2050,2055,2060,2065,2070,2075,2080,2085,2090,2095,2100]
y_data = [958577201,1094365605,1241173739,1399888471,1569045562,1746496103,1930190615,2117730886,2307230067,2496582852,2684012245,2867347398,3044554038,3213530118,3372147573,3519135875,3653665134,3775269513]
x_val = np.array(x_data)
y_val = np.array(y_data)
def fitFunc(x, L, k, c):
return L/(1+np.exp(-k*(x-c)))
print(L,k,c)
plt.plot(x_val, y_val, marker='.', markersize=0, linewidth='0.5', color='green')
popt, pcov = curve_fit(fitFunc, x_val, y_val)
plt.plot(x_val, fitFunc(x_val, *popt), color='orange', linestyle='--')
Я знаю, что график график
не масштабируется должным образом. Но это не имеет значения для меня. Я хочу напечатать оптимизированные значения (L, k, c), чтобы кривая logisti c лучше всего соответствовала данным. Тем не менее, это не показывает. Как мне увидеть эти 3 значения после того, как python соответствует графику?