我想要拟合一个具有两个参数(Km,kcat)和4个输入和输出的函数到一些数据。该函数为:
def dxdt(x, t, Km, kcat):
y = np.zeros(4)
reaction1 = Km * x[2] * x[0]
reaction2 = kcat * x[3]
y[0] = - reaction1
y[1] = reaction2
y[2] = reaction2 - reaction1
y[3] = reaction1 - reaction2
return y例如,数据可以是:
x = [[7.2, 6.1, 5.5, 4.1, 3.3, 2.1, 1.9, 0.2], [0., 1.1, 2.2, 3.5,
4.5, 6.0, 6.6, 7.3], [10., 9.5, 8., 7.1, 6.8, 5., 5.9, 9.9], [0., 1.2,
3., 4.5, 5., 6.1, 2.5, 0.4 ]]使用timespan:
t = range(9)和固定的起始值:
initial_values = [7.2., 0., 10., 0.]我定义了一个函数来计算给定参数集的输出:
def y(timerange, a, b):
result = odeint(dxdt, initial_values, timerange,
args=(a, b))
return result.transpose()现在,我不知道如何正确使用scipy.optimize.curvefit()。我只见过来自R^n -> R的函数的curve_fit示例,但没有看到来自R^n->R^n的函数。这可能吗?
https://stackoverflow.com/questions/44634078
复制相似问题