python numpy中是否有等价的Matlab点函数?

ff29svar  于 2022-12-25  发布在  Python
关注(0)|答案(3)|浏览(139)

numpy中是否有等价的Matlab dot函数?
Matlab中的dot函数:对于多维数组A和B,点返回A和B沿着第一个非单一维度的标量积。A和B必须具有相同的大小。
在numpy中,以下内容相似但不等价:

dot (A.conj().T, B)
p1tboqfb

p1tboqfb1#

在MATLAB中,大小相同的两个矩阵ABdot(A,B)可以简单地表示为:

sum(conj(A).*B)

等效Python/Numpy:

np.sum(A.conj()*B, axis=0)
7kqas0il

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

332nm8kg

332nm8kg3#

看看这些备忘单。

Numpy包含一个数组类和一个矩阵类。数组类是用于多种数值计算的通用n维数组,而矩阵是专门用于简化线性代数计算的。实际上,这两个类之间只有少数几个关键区别。
运算符*、点()和乘():
对于数组,*表示元素乘法,dot()函数用于矩阵乘法。
对于矩阵,*表示矩阵乘法,multiply()函数用于元素乘法。

相关问题