Python中的Numpy矩阵运算
短信预约 -IT技能 免费直播动态提醒
在学习线性代数时我们所接触的矩阵之间的乘法是矩阵的叉乘,有这样一个前提:
若矩阵A是m*n阶的,B是p*q阶的矩阵,AB能相乘,首先得满足:n=p,即A的列数要等于B的行数。运算的方法如下图:
当时学线性代数时老师教的更为直观记法:
点乘则是这样:
假如有a,b两个矩阵,在Matlab中我们实现点乘和叉乘的方式分别如下:
a.*b %表示点乘
a*b %表示叉乘
下面我们来看看python中的操作:
import numpy as np
a = np.arange(1, 10).reshape(3, 3)
b = np.arange(1, 10).reshape(3, 3)
print(a)
print(a*b) # 点乘只允许1*m和m*n
a1 = np.mat(np.arange(1, 10).reshape(3, 3))
a2 = np.mat(np.arange(1, 10).reshape(3, 3))
a3 = np.dot(a1, a2) # 叉乘使用dot
print(a1)
print(a3)
运行结果:
使用python
操作刚好与Matlab
相反,使用点乘计算实际上是各数组相同下标相乘。Numpy库中的dot函数则是为了实现数组相乘。
到此这篇关于Python中的Numpy 矩阵运算的文章就介绍到这了,更多相关Python Numpy 矩阵运算内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341