0

[1]:https ://upload.wikimedia.org/math/3/0/a/30aed0153521807d5a314ea76f37e723.png [1]。

我想使用 numpy 函数在 Python 中编写上述等式:

b = b - INV(J'*J) * J' * r(b)

J 是矩阵,J' 是 J、X 和 r 数组的矩阵转置

b = b  - linalg.inv((zip(*J)).dot(J)).dot(zip(*J)).dot(r)

这不起作用...有什么建议吗?

编辑

错误:

AttributeError: 'zip' object has no attribute 'dot'

,... 我使用 Python 3.2

4

1 回答 1

1

我假设您正在使用zip,因为其他关于如何在 python 中转置列表列表的帖子推荐使用它。这不是您正在使用的...您正在使用numpy,因此您想使用.T返回数组转置的属性。此外,dot是一个 numpy 函数,而不是 nmpy 数组的方法:

b = b - np.dot(np.dot(linalg.inv(np.dot(J.T, J)), J.T), r(b))
于 2013-06-12T06:12:09.713 回答