numpy中是否有等价的Matlab dot函数?Matlab中的dot函数:对于多维数组A和B,点返回A和B沿着第一个非单一维度的标量积。A和B必须具有相同的大小。在numpy中,以下内容相似但不等价:
dot
dot (A.conj().T, B)
p1tboqfb1#
在MATLAB中,大小相同的两个矩阵A和B的dot(A,B)可以简单地表示为:
A
B
dot(A,B)
sum(conj(A).*B)
等效Python/Numpy:
np.sum(A.conj()*B, axis=0)
7kqas0il2#
Matlab示例1:第一个月结果:47 71 99Matlab示例2:sum(A.*B)结果:47 71 99Matlab示例2的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)
sum(A.*B)
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)
332nm8kg3#
看看这些备忘单。
Numpy包含一个数组类和一个矩阵类。数组类是用于多种数值计算的通用n维数组,而矩阵是专门用于简化线性代数计算的。实际上,这两个类之间只有少数几个关键区别。运算符*、点()和乘():对于数组,*表示元素乘法,dot()函数用于矩阵乘法。对于矩阵,*表示矩阵乘法,multiply()函数用于元素乘法。
*
3条答案
按热度按时间p1tboqfb1#
在MATLAB中,大小相同的两个矩阵
A
和B
的dot(A,B)
可以简单地表示为:等效Python/Numpy:
7kqas0il2#
Matlab示例1:
第一个月
结果:47 71 99
Matlab示例2:
sum(A.*B)
结果:47 71 99
Matlab示例2的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)
332nm8kg3#
看看这些备忘单。
Numpy包含一个数组类和一个矩阵类。数组类是用于多种数值计算的通用n维数组,而矩阵是专门用于简化线性代数计算的。实际上,这两个类之间只有少数几个关键区别。
运算符
*
、点()和乘():对于数组,
*
表示元素乘法,dot()函数用于矩阵乘法。对于矩阵,
*
表示矩阵乘法,multiply()函数用于元素乘法。