我想用一个向量来做以下事情。
a = np.array(np.arange(0, 4, 1))我想得到一个乘法,结果是一个矩阵,如下所示
| 0 1 2 3 4
-| - - - - - - -
0| 0 0 0 0 0
1| 0 1 2 3 4
2| 0 2 4 6 8
3| 0 3 6 9 12
4| 0 4 8 12 16对于下面的代码,我总是会得到一个标量:
a*a
a.dot(a)
a.T*a
a*a.T
a.T.dot(a)
a.dot(a.T)
a.transpose()*a发布于 2020-07-09 14:37:58
请参阅Convert NumPy vector to 2D array / matrix
>>> a = a[:,np.newaxis]
>>> a * a.T
array([[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]])发布于 2020-07-09 15:58:48
一个更好的解决方案将是
a = np.array([np.arange(0, 4, 1)])
a*a.T
array([[0, 0, 0, 0],
[0, 1, 2, 3],
[0, 2, 4, 6],
[0, 3, 6, 9]])https://stackoverflow.com/questions/62808829
复制相似问题