如何使用python将多条曲线拟合为一个函数?

时间:2014-01-18 21:28:54

标签: python scipy curve-fitting

我有一个包含2个因变量(x1和x2)的函数,2个参数(a和b),产生1个独立变量(y)。

链接下方是嵌套数组中的实验值,其中第1列为x1,第2列为x2,第3列为y。

http://pastebin.com/j1LA9JcW

我使用scipy.optimize.curve_fit来解决参数'a'和'b'

问题是python以某种方式认为数据需要适应初始点。如下面的链接所述

http://imgur.com/twKzqNr

具体来说,我用这个函数来求解参数。

scipy.optimize.curve_fit(func, x1 and x2 in one array,y, guess parameters)

我不知道为什么它如图所示,但可能是x1和x2数组需要分成2个数组,因为有2条曲线?如果是这样,那么这样做的方法是什么?

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我认为您正确地执行了曲线拟合,但是当您绘制结果时,请尝试使用散点而不是线,例如

import matplotlib.pyplot as plt

plt.plot( x, y, 'bo' ) # plot each point in blue 'o's
plt.show()

目前您的图表正在连接所有点,但您的点列表尚未排序