Python 向量在计算时变为矩阵
这可能是我在某个地方遗漏的一个新手错误,但我一生都无法在网上找到任何与我的问题相关的东西 我有一个向量Python 向量在计算时变为矩阵,python,python-2.7,matrix,vector,linear-algebra,Python,Python 2.7,Matrix,Vector,Linear Algebra,这可能是我在某个地方遗漏的一个新手错误,但我一生都无法在网上找到任何与我的问题相关的东西 我有一个向量b1,大小5x1,还有另一个向量dsdb1,也是5x1 当我写入b1+=tau*dsdb1时,我得到错误“具有形状(5,1)的不可广播输出操作数与广播形状(5,5)不匹配” 现在,这些都不是矩阵。我甚至删除了这一行,而是打印了b1和dsdb1的两种尺寸。对于b1,它打印(5,1),对于dsdb1,它打印(5,1)。tau只是一个标量 为什么在计算时要将dsdb1更改为5乘5的矩阵?我通过使用一个
b1
,大小5x1
,还有另一个向量dsdb1
,也是5x1
当我写入b1+=tau*dsdb1
时,我得到错误“具有形状(5,1)的不可广播输出操作数与广播形状(5,5)不匹配”
现在,这些都不是矩阵。我甚至删除了这一行,而是打印了b1和dsdb1的两种尺寸。对于b1,它打印(5,1),对于dsdb1,它打印(5,1)。tau只是一个标量
为什么在计算时要将dsdb1更改为5乘5的矩阵?我通过使用一个临时变量,将其设置为正确的大小,并在dsdb1上迭代来修复它。我仍然不知道是什么导致了这个错误。向量是如何定义的?这是什么东西?numpy的一部分?两者都是numpy向量。b1最初是随机的。dsdb1是通过一个相当长的过程计算出来的,但以numpy.sum结尾,所以是的,我相信两者都是numpy向量。你可以用它们的类型打印出来吗?
dsdb1它打印出来了(5,)
?两者都是numpy.ndarray,刚刚检查过。b1是大小(5,1),dsdb1是大小(5,1)。不管那意味着什么。对它打印了(5,)。