Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向量在计算时变为矩阵_Python_Python 2.7_Matrix_Vector_Linear Algebra - Fatal编程技术网

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,)。