脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python中的Numpy 矩阵运算

Python中的Numpy 矩阵运算

2022-03-02 11:02不羁 Python

这篇文章介绍Python中的Numpy 矩阵运算,NumPy是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

在学习线性代数时我们所接触的矩阵之间的乘法是矩阵的叉乘,有这样一个前提:

若矩阵A是m*n阶的,B是p*q阶的矩阵,AB能相乘,首先得满足:n=p,即A的列数要等于B的行数。运算的方法如下图:

Python中的Numpy 矩阵运算

当时学线性代数时老师教的更为直观记法:

Python中的Numpy 矩阵运算

点乘则是这样:

Python中的Numpy 矩阵运算

假如有a,b两个矩阵,在Matlab中我们实现点乘和叉乘的方式分别如下:

?
1
2
a.*b %表示点乘
a*b %表示叉乘

下面我们来看看python中的操作:

?
1
2
3
4
5
6
7
8
9
10
11
12
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中的Numpy 矩阵运算

使用python操作刚好与Matlab相反,使用点乘计算实际上是各数组相同下标相乘。Numpy库中的dot函数则是为了实现数组相乘。

到此这篇关于Python中的Numpy 矩阵运算的文章就介绍到这了,更多相关Python Numpy 矩阵运算内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://zhuanlan.zhihu.com/p/113863268

延伸 · 阅读

精彩推荐