我正在编写一个函数来进行非线性曲线拟合,但遇到了这个错误:
TypeError: Improper input: N=2 must not exceed M=1.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么当我只从 csv 文件中读取列时,它认为我试图使用太大的数组。
import math
#stolen sig-fig function <--trust but verify
def round_figures(x, n):
return round(x, int(n - math.ceil(math.log10(abs(x)))))
def try_michaelis_menten_fit( df, pretty=False ):
# auto-guess
p0 = ( df['productFinal'].max(), df['substrateConcentration'].mean() )
popt, pcov = curve_fit( v, df['substrateConcentration'], df['productFinal'], p0=p0 )
perr = sqrt( diag( pcov ) )
kcat_km = popt[0] / popt[1]
# error propegation
kcat_km_err = (sqrt( (( (perr[0]) / popt[0])**2) + (( (perr[1]) / popt[1])**2) ))
kcat = …Run Code Online (Sandbox Code Playgroud)