python - Python中的元素乘法相当于Matlab
问题描述
我想知道 Python 中是否存在与 MATLAB 相同的元素乘法运算。起初答案是肯定的,但是元素乘法 MATLAB 有一个非常有用的特定功能,我似乎无法在 python 中复制。
具体来说,如果我们有矩阵A
并且b
在 MATLAB 中,并且我们决定实现元素乘法,我们会得到以下结果:
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。
推荐阅读
- laravel - Laravel 广播通知不起作用。它一直在处理
- amazon-web-services - 如何以安全的方式将 JWT 令牌保存在 AppStream 2.0 中?
- r - 本地软件包安装未定义引用错误
- nginx - Laravel:mkdir():权限被拒绝 - Nginx
- java - 使用 RunWith(Junit4::class) 注释运行测试与不使用它的区别
- autohotkey - AutoHotkey 重新映射键
- java - 当应用程序关闭时,我无法在 android 应用程序中设置通知
- python - 诅咒 - 将 getstr 输入替换为 *(星号)
- javascript - 在javascripted html中将.svg文件交换为.png不起作用
- ruby-on-rails - 如何在嵌套模型rails 6中从孩子获取父母