numpy中是否有等价的Matlab函数?dot?
dot函数:对于多维数组A和B,点返回A和B的第一个非单元素维数的标量积。A和B的大小必须相同。
在numpy中,以下代码类似,但不是等价的:
dot (A.conj().T, B)发布于 2012-07-03 17:34:16
在MATLAB中,两个大小相同的矩阵A和B的dot(A,B)很简单:
sum(conj(A).*B)等效的Python/Numpy:
np.sum(A.conj()*B, axis=0)发布于 2017-11-02 00:20:19
Matlab example1:
A = [1,2,3;4,5,6] B = [7,8,9;10,11,12] dot(A,B)
成绩:4771799
Matlab example2:
sum(A.*B)
成绩:4771799
Matlab example2的Numpy版本:
A = np.matrix([[1,2,3],[4,5,6]]) B = np.matrix([[7,8,9],[10,11,12]]) np.multiply(A,B).sum(axis=0)
结果:矩阵([47,71,99])
发布于 2012-07-03 17:38:54
看看这些小抄。
Numpy包含一个数组类和一个矩阵类。array类旨在成为用于多种数值计算的通用n维数组,而matrix则专门用于促进线性代数计算。在实践中,两者之间只有很少的关键区别。
运算符*、点()和乘法():
对于数组,*表示逐元素乘法,而点()函数用于矩阵乘法。
对于矩阵,*表示矩阵乘法,multiply()函数用于逐元素乘法。
https://stackoverflow.com/questions/11307538
复制相似问题