ValueError:使用curve_fit和矩阵模型不对齐对象

时间:2014-04-01 20:15:16

标签: python numpy scipy

我正在尝试拟合转移概率矩阵的参数(Leslie模型在生态学中)。我对Leslie模型的功能是:

def leslie(x, f3, p0, p1, p2):
    Alist = [[0, 0, 0, f3], [p0, 0, 0, 0], [0, p1, 0, 0], [0, 0, p2, 0]]
    A = np.array(Alist)
    X = np.array(x).T
    return list(np.dot(A, X))

我正在尝试将scipy的{​​{1}}用于x和y值的数据,其中每个值是4个度量的列表(x是第1年,y是第2年数据) 。前几行数据如下所示:

curve_fit

我在打电话:

                             ABUNDY1                            ABUNDY2
0  [516.819166236, 10.0, 15.0, 40.0]     [3756.96048518, 2.0, 1.0, 1.0]
1  [16454.2226677, 25.0, 60.0, 50.0]  [23511.7855689, 50.0, 35.0, 12.0]
2     [14415.487266, 20.0, 8.0, 2.0]    [248.215580071, 30.0, 2.0, 3.0]
3     [2477.19325817, 5.0, 5.0, 2.0]    [321.324366027, 10.0, 7.0, 4.0]
4  [43.2506601374, 15.0, 20.0, 10.0]   [1651.83654693, 15.0, 10.0, 4.0]

我得到res = scipy.optimize.curve_fit(leslie, data.ABUNDY1, data.ABUNDY2) 。当我在曲线拟合之外尝试它时,我写的ValueError: objects not aligned函数似乎没有问题。我认为我的问题是数组维度没有正确匹配,但是我在查看错误时遇到了问题。

0 个答案:

没有答案