【发布时间】:2016-03-13 21:38:30
【问题描述】:
这可能是我在某处遗漏的新手错误,但我终生无法在网络上找到与我的问题相关的任何内容。
我有一个大小为5 by 1 的向量b1,我还有另一个向量dsdb1 也是5 by 1。
当我写 b1 += tau*dsdb1 时,我收到错误“形状 (5,1) 的不可广播输出操作数与广播形状 (5,5) 不匹配”
现在,这些都不是矩阵。我什至删除了这一行,而是打印了 b1 和 dsdb1 的两种尺寸。对于 b1,它打印 (5,1),对于 dsdb1,它打印 (5,)。 tau 只是一个标量。
为什么计算的时候dsdb1变成了5×5的矩阵?
【问题讨论】:
-
向量是如何定义的?它是什么对象? numpy 的一部分?
-
都是 numpy 向量。 b1 最初是随机的。 dsdb1 是通过一个相当长的过程计算的,但以 numpy.sum 结尾,所以是的,我相信两者都是 numpy 向量
-
你能用它们的类型打印出来吗?
-
dsdb1 it printed (5,)? -
两者都是 numpy.ndarray,刚刚检查过。 b1 是大小 (5,1),dsdb1 是大小 (5,)。不管它是什么意思。是的。它打印了 (5,)。
标签: python python-2.7 matrix vector linear-algebra