Я пытаюсь подогнать данные, сгенерированные по формуле-1, по формуле-2. Первый имеет 3 параметра, а последний имеет 5 подходящих параметров. Но теперь я получаю ошибку при построении подгоночной кривой из-за несоответствия формы.
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def func(x, a, b, c, d, e):
return (((a/e) * (2*x)**b) + (d * (2*x)**c))
y = []
x = []
A = 6.7
B = 2.0
C = 0.115
for N in np.logspace(1, 9., 100, base = 10.):
x.append(int(N))
y.append(np.exp((A-np.log(int(N)))/B)+C)
plt.loglog(x, y, 'b:*', label='data')
popt, pcov = curve_fit(func, x, y)
print(popt)
plt.loglog(x, func(x, *popt))
Я бы хотел увидеть подгоночную кривую, но в последней строке есть ошибка измерения '' 'plt.loglog (x, func (x, * popt)) '' '