我正在尝试使用scipy的curve_fit函数来求解模型参数 . 我使用Python curve_fit with multiple independent variables作为起点并且能够满足我的需求,但现在我想使用两个以上的数据集,但作为一个起点,我使用了两个) .
我认为最简单的方法可能是使用curve_fit并输入我的数据作为矩阵 . 作为一个非常人为的例子,我尝试在上面的链接中“扩充”这个例子(我意识到这不是最漂亮的代码 - 我只是试图弄清楚我应该如何做到这一点) .
def func(X, a, b, c):
x,y = X
result0 = np.log(a) + b*np.log(x[0]) + c*np.log(y[0])
result1 = np.log(a) + b*np.log(x[1]) + c*np.log(y[1])
return np.array([result0, result1])
# some artificially noisy data to fit
x0 = np.linspace(0.1,1.1,101)
y0 = np.linspace(1.,2., 101)
x1 = np.linspace(0.1,1.1,101)
y1 = np.linspace(1.,2., 101)
a, b, c = 10., 4., 6.
x = np.array([x0,x1])
y = np.array([y0,y1])
z = func((x,y), a, b, c)
z[0] = z[0] * 1 + np.random.random(101)/100
z[1] &#