2.2.3.3 基于数值范围生成

(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 基于数值范围生成-大赛人网

矩阵是线性代数的核心概念,可以理解为一个数字的矩形表格,用来表示数据、方程组或线性变换。下面用最直观的方式介绍它的基本概念和应用。

  1. 矩阵是什么?

矩阵是一个由 行(row) 和 列(column) 排列成的矩形数组,例如:

图片[2]-2.2.3.3 基于数值范围生成-大赛人网
  • 形状(shape):这个矩阵有 2 行 3 列,记作 2×32×3 矩阵。
  • 元素(entry):矩阵中的每个数字称为元素,如 A1,2=2A1,2=2(第 1 行第 2 列)。
  • 矩阵的用途

(1) 表示线性方程组

例如,方程组:

图片[3]-2.2.3.3 基于数值范围生成-大赛人网

可以写成矩阵形式:

图片[4]-2.2.3.3 基于数值范围生成-大赛人网

即 Ax=b,其中:

  • A 是系数矩阵,
  • x 是未知数列向量,
  • b 是常数项列向量。

(2) 表示线性变换

矩阵可以描述空间中的变换,比如旋转、缩放、投影。

例如,一个 2×22×2 矩阵可以表示二维平面的旋转:

图片[5]-2.2.3.3 基于数值范围生成-大赛人网

作用在向量 [xy][xy] 上,会使其旋转 θθ 角度。

(3) 数据表示(如机器学习)

在机器学习中,数据集通常用矩阵表示:

  • 每一行代表一个样本(如一张图片),
  • 每一列代表一个特征(如像素值)。
  • 矩阵的基本运算

(1) 矩阵加法

对应位置的元素相加,要求两个矩阵形状相同:

图片[6]-2.2.3.3 基于数值范围生成-大赛人网

(2) 矩阵数乘

矩阵的每个元素乘以一个标量(数):

图片[7]-2.2.3.3 基于数值范围生成-大赛人网

(3) 矩阵乘法

矩阵乘法 不是 对应元素相乘,而是 行 × 列 的点积运算:

图片[8]-2.2.3.3 基于数值范围生成-大赛人网

注意:矩阵乘法不满足交换律(AB≠BAAB=BA)。

(4) 转置(Transpose)

行列互换:

图片[9]-2.2.3.3 基于数值范围生成-大赛人网

4.特殊矩阵

图片[10]-2.2.3.3 基于数值范围生成-大赛人网

(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
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容