最近需要学习下求解矩阵、向量方程,尝试了下numpy的运算,有个小坑记录下。
在python中,需要打两个括号,要不然转置没有效果
import numpy as np vec1 = np.array([1, 2, 3]) vec2 = np.array([4, 5, 6]) vec3 = vec1.T np.dot(vec3,vec2)
结果为
Out[5]: 32
添加括号后
import numpy as np vec1 = np.array([[1, 2, 3]]) vec2 = np.array([[4, 5, 6]]) vec3 = vec1.T np.dot(vec3,vec2)
结果如图所示
Out[7]:
array([[ 4, 5, 6],
[ 8, 10, 12],
[12, 15, 18]])
而matlab则不需要这么麻烦
[1,2,3]'*[3,4,5]
结果为
ans =
3 4 5
6 8 10
9 12 15



