本文仅介绍 Numpy 库中:
- 广播机制的介绍
- 行/列向量的创建
1、广播机制的介绍
有两个数组 a 和b :

此时计算 c=a+b 时,将使用广播机制,即:如果数组的秩不同, 将秩较小的数组进行扩展(复制已有的), 直到两个数组的尺寸长度都一样。
此时数组 a 的秩为1, b 的秩为2,因此需要扩展 (stretch) 数组 a ,将 a 进行复制扩展,直到两个数组尺寸相同。本次扩展只需将 a 扩展为 2×3 即可:


2、Numpy数组定义向量
Numpy库中有numpy.matrix专用于向量或矩阵的代数运算,但使用numpy.array定义矩阵和进行运算时可以使用数组的修改形状、翻转、连接和切片等操作,相较于numpy.matrix在某些应用中更加灵活。
对比使用numpy.matrix和numpy.array定义向量:
import numpy as np
a0 = np.array([1,2,3,4])
a = np.array([[1,2,3,4]])
b = np.matrix([5,6,7,8])
c = np.array([[5],[6],[7],[8]])
d = a0 + a
e = a0 + c
下表列出上述程序中各变量的区别:


则最后 e 的值为:

总结:形状如 (4, ) 的数组可在代数运算中视为行向量。
407

被折叠的 条评论
为什么被折叠?



