Python中的元素乘法等效于Matlab



我想知道Python中是否有与MATLAB等效的元素乘法运算。一开始答案是肯定的,但有一个非常有用的元素乘法MATLAB的特定功能,我似乎无法在python中复制。

具体来说,如果我们在MATLAB中有矩阵Ab,并且我们决定实现元素乘法,我们得到以下结果:

A = [1 2 3] ;
b = [1;
2;
3] ;
C = A.*b
C = [1*1 1*2 1*3 ;
2*1 2*2 2*3 ;
3*1 3*2 3*3] ;

作为一名python初学者,要在python中执行相同的操作,我的本能是扩展矩阵,使其具有相同的维度,然后利用python提供的numpy基本元素乘法。

那么这是正确的吗?

对于数字处理,您应该使用NumPy。有关入门帮助,请参阅Matlab用户的NumPy。以下是如何将Matlab代码翻译为Python/NumPy。

import numpy as np
a = np.array([1, 2, 3])
b = np.array([1, 2, 3]).reshape(3, 1)
c = a * b
a.shape  # (3,)
b.shape  # (3, 1)
c
# array([[1, 2, 3],
#        [2, 4, 6],
#        [3, 6, 9]])

当然,不要忘记安装NumPy。

使用numpy,可以直接使用a*b

import numpy as np
a = np.array([1,2,3])
b = a.reshape((3,1))
C = a*b # or np.multiply(a,b)
print(C)

我的输出:

[[1 2 3]
[2 4 6]
[3 6 9]]

相关内容

  • 没有找到相关文章

最新更新