(1) np.arange:等差序列
np.arange(start, stop, step)
返回在给定范围内用均匀间隔的值填充的一维数组
arr = np.arange(0, 10, 2) # 0 ≤ 值 <10,步长2
print(arr) # 输出: [0 2 4 6 8]
(2) np.linspace:等间隔数组(含终点)
np.linspace(start, stop, num=50)
返回指定范围和元素个数的等差数列。数组元素类型为浮点型。
arr = np.linspace(0, 1, 5) # 0到1之间生成5个等间隔值
print(arr) # 输出: [0. 0.25 0.5 0.75 1. ]
(3) np.logspace:对数间隔数组
np.logspace(start, stop, num=50, base=10)
返回指定指数范围、元素个数、底数的等比数列。
2.2.3.4 特殊矩阵
矩阵补充知识
![图片[1]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/图片1-1.png)
矩阵是线性代数的核心概念,可以理解为一个数字的矩形表格,用来表示数据、方程组或线性变换。下面用最直观的方式介绍它的基本概念和应用。
- 矩阵是什么?
矩阵是一个由 行(row) 和 列(column) 排列成的矩形数组,例如:
![图片[2]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-147.png)
- 形状(shape):这个矩阵有 2 行 3 列,记作 2×32×3 矩阵。
- 元素(entry):矩阵中的每个数字称为元素,如 A1,2=2A1,2=2(第 1 行第 2 列)。
- 矩阵的用途
(1) 表示线性方程组
例如,方程组:
![图片[3]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-148.png)
可以写成矩阵形式:
![图片[4]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-149.png)
即 Ax=b,其中:
- A 是系数矩阵,
- x 是未知数列向量,
- b 是常数项列向量。
(2) 表示线性变换
矩阵可以描述空间中的变换,比如旋转、缩放、投影。
例如,一个 2×22×2 矩阵可以表示二维平面的旋转:
![图片[5]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-150.png)
作用在向量 [xy][xy] 上,会使其旋转 θθ 角度。
(3) 数据表示(如机器学习)
在机器学习中,数据集通常用矩阵表示:
- 每一行代表一个样本(如一张图片),
- 每一列代表一个特征(如像素值)。
- 矩阵的基本运算
(1) 矩阵加法
对应位置的元素相加,要求两个矩阵形状相同:
![图片[6]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-151.png)
(2) 矩阵数乘
矩阵的每个元素乘以一个标量(数):
![图片[7]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-152.png)
(3) 矩阵乘法
矩阵乘法 不是 对应元素相乘,而是 行 × 列 的点积运算:
![图片[8]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-153.png)
注意:矩阵乘法不满足交换律(AB≠BAAB=BA)。
(4) 转置(Transpose)
行列互换:
![图片[9]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-154.png)
4.特殊矩阵
![图片[10]-2.2.3.3 基于数值范围生成-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/10/image-155.png)
(1) 单位矩阵 (np.eye/np.identity)
np.eye(N) # NxN 单位矩阵
np.identity(N)
eye_arr = np.eye(3)
print(eye_arr)
# 输出:
# [[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]
(2) 对角矩阵 (np.diag)
np.diag([a, b, c]) # 对角线为 a, b, c,其余为0
diag_arr = np.diag([1, 2, 3])
print(diag_arr)
# 输出:
# [[1 0 0]
# [0 2 0]
# [0 0 3]]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END











请登录后查看评论内容