站点图标 AI技术聚合

Python的Numpy库中各种矩阵基本运算的示例代码(加、减、乘、点乘、点除、乘方、转置等)

Python的Numpy库中各种矩阵基本运算的示例代码(加、减、乘、点乘、点除、乘方、转置等)

Numpy中矩阵基本运算的实现。

01-两个矩阵相加

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = np.array([[2, 3, 4],
              [5, 6, 7],
              [8, 9, 10]], dtype='int8')

C = A+B

运行结果如下:

02-矩阵与标量(常数)相加

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

b = 3

C = A+b

运行结果如下:

03-两个矩阵相减

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = np.array([[2, 3, 4],
              [5, 6, 7],
              [8, 9, 10]], dtype='int8')

C = B-A

运行结果如下:

04-矩阵与标量(常数)的减法运算

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

b = 3

C = b-A
D = A-b

运行结果如下:

05-求矩阵中每个元素的相反数

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = -A

运行结果如下:

06-矩阵元素乘法(点乘)

实现元素乘法有两种方法,下面的示例代码体现了两种方法:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]], dtype='int8')

B = np.array([[2, 3, 4],
              [5, 6, 7],
              [8, 9, 10]], dtype='int8')

C = A*B  # 实现矩阵元素乘法的第一种方法
D = np.multiply(A, B)  # 实现矩阵元素乘法的第二种方法

运行结果:

07-矩阵乘法运算

矩阵乘法运算也有两种方式实现,示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[7, 8],
              [9, 10],
              [11, 12]], dtype='int16')

C = np.matmul(A, B)  # 第一种方法实现矩阵乘法

D = np.dot(A, B) # 第二种方法实现矩阵乘法(利用向量的点积(点乘/数量积)实现)

运行结果如下:


要注意:方法二实际上是利用向量的点积(点乘/数量积)实现的,当然,它有局限性,它只适用于向量或二维矩阵。

08-矩阵元素乘方运算

示例代码如下:

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[6, 5, 4],
              [3, 2, 1]], dtype='int16')

C = A**B

运行结果如下:

09-矩阵的元素除法(点除)[真除-结果既有整数部分也有小数部分]

有三种方法实现元素除法(点除),示例代码如下

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[2, 6, 12],
              [20, 30, 43]], dtype='int16')

C = B/A  # 第一种方法实现元素除法(点除)
D = np.true_divide(B, A)  # 第二种方法实现元素除法(点除)
F = np.divide(B, A)  # 第三种方法实现元素除法(点除)

运行结果如下:

10-矩阵的元素除法(点除)取余

有三种方法实现元素除法(点除)取余,示例代码如下

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[6, 6, 6],
              [6, 6, 6]], dtype='int16')

C = B % A  # 第一种方法实现元素除法(点除)取余
D = np.remainder(B, A)  # 第二种方法实现元素除法(点除)取余
E = np.mod(B, A)  # 第三种方法实现元素除法(点除)取余

运行结果如下:

11-矩阵的元素除法(点除)取整

有两种方法实现元素除法(点除)取整,示例代码如下

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = np.array([[11, 11, 11],
              [11, 11, 11]], dtype='int16')

C = np.floor_divide(B, A)  # 第一种方法实现元素除法(点除)取整
D = B//A  # 第一种方法实现元素除法(点除)取整

12-矩阵的转置

import numpy as np

A = np.array([[1, 2, 3],
              [4, 5, 6]], dtype='int16')

B = A.T

运行结果如下:

文章出处登录后可见!

已经登录?立即刷新
退出移动版