Python

python的矩阵运算

2018-12-24  本文已影响0人  hplllrhp
1.jpg

python自身不支持矩阵运算,一般想要在python进行矩阵运算:一个方法是自己用二维列表定义矩阵,然后自己写矩阵基本运算的函数,这个方法有点事倍功半的意思,所以一般不采用。第二个方法是使用numpy库。
NumPy是用Python进行科学计算的基础软件包。它包含以下内容:

除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使得NumPy能够与各种数据库无缝并快速地整合。
在python中安装了numpy库,就相当于安装了matlab一样,是的。这个库能够让你在python中操作矩阵仿佛是在matlab中一样轻松方便。
下面就对使用这个numpy库进行矩阵运算做简单地介绍
NumPy的数组类被称为ndarray,ndarray对象具有如下重要属性:

>>> import numpy as np  #导入numpy 库 
>>> a = np.arange(15).reshape(3, 5)  #arange(15)表示生成从0到14的序列reshape(3, 5)表示将这个序列重新设置成3行5列的矩阵
>>> a
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])
>>> a.shape
(3, 5)
>>> a.ndim
2
>>> a.dtype.name
'int64'
>>> a.itemsize
8
>>> a.size
15
>>> type(a)
<type 'numpy.ndarray'>
>>> b = np.array([6, 7, 8])
>>> b
array([6, 7, 8])
>>> type(b)
<type 'numpy.ndarray'> 

比较需要注意的是矩阵的乘法的符号表示,不少人会犯这个小错误。

>>> A = np.array( [[1,1],
...             [0,1]] )
>>> B = np.array( [[2,0],
...             [3,4]] )
>>> A*B                         # 只是对应元素相乘而已
array([[2, 0],
       [0, 4]])
>>> A.dot(B)                    # 这个才是矩阵相乘
array([[5, 4],
       [3, 4]])
>>> np.dot(A, B)                # 这是另外一种形式
array([[5, 4],
       [3, 4]])
上一篇下一篇

猜你喜欢

热点阅读