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
我已阅读帮助和few Stack Overflow questions。先前的答案要么是正确的小错误,要么在尝试时证明无用(np.concatenate)。
使用try / except运行脚本,其中除了返回各种变量数组的长度之外,显示所有长度为162.N = 7来自何处?我确实认为我要求5个参数,而不是3.也许指数函数设置错误?
答案 0 :(得分:2)
来自curve_fit的文件:
模型函数f(x,...)。它必须将自变量作为第一个参数,并将参数作为单独的剩余参数。
这里的自变量有三个组成部分。该模型应该看起来像
<button onclick=add()>1</button>
<button onclick=add()>1</button>
<button onclick=add()>1</button>