程序是用在最小二乘法计算上面的,出错点是numpy的矩阵乘法
出错位置是这样的
A=numpy.mat(X.transpose()) * numpy.mat(X)
通过调试运行得到的X的值如下
matrix([[ 1., 1., 10.],
[ 1., 2., 4.],
[ 1., 3., 6.],
[ 1., 4., 8.],
[ 1., 5., 2.]])
然后在命令行里面运行的时候就这一个出错,啥也没报就直接跳出。
>>> import numpy
>>> a=numpy.arange(15).reshape((5,3))
>>> a
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
>>> numpy.mat(a.transpose())*numpy.mat(a)
matrix([[270, 300, 330],
[300, 335, 370],
[330, 370, 410]])
>>> a=numpy.matrix([[ 1., 1., 10.],
... [ 1., 2., 4.],
... [ 1., 3., 6.],
... [ 1., 4., 8.],
... [ 1., 5., 2.]])
>>> a
matrix([[ 1., 1., 10.],
[ 1., 2., 4.],
[ 1., 3., 6.],
[ 1., 4., 8.],
[ 1., 5., 2.]])
>>> numpy.mat(a.transpose())*numpy.mat(a)
PS E:\测试>
所以是怎么回事