Данные
df = pandas.read_csv(temp.csv, header=1)
def func(x1,x2,x3,a,b1,b2,b3,c):
#return(a*np.exp(b1*x1)*np.exp(b2*x2)*np.exp(b3*x3)+c)
return(a*np.exp(b1*x1) + b2*x2 + b3*x3 + c
def formula_tester(BIO, VAR1, VAR2, VAR3):
X = scipy.array([VAR1, VAR2, VAR3])
Y = scipy.array(BIO)
popt, pcov = curve_fit(func, X, Y)
return(popt)
Y = df['Biomass']
variable1 = df['F_cv']
variable2 = ln(df['F_d50'])
variable3 = ln(df['L_d50'])
parameters = formula_tester(Y, variable1, variable2, variable3)
parameters
Возвращает сообщение об ошибке
Неправильный ввод: N = 7 не должно превышать M = 3
Я прочитал Справку и несколько Стек Переполнение вопросов .Предыдущие ответы либо исправляют мелкие опечатки, либо оказываются бесполезными при попытке (np.concatenate).
Выполнение скрипта с помощью try / исключением, где кроме возвращает длины различных переменных массивов, показывает, что все имеют длину 162. Откуда исходит N = 7?И я подумал, что спрашиваю 5 параметров, а не 3. Возможно, экспоненциальная функция настроена неправильно?