📚 本章内容
本章介绍函数的基本性质和可视化方法,包括一元函数的单调性分析和二元函数的多视角3D可视化。 通过交互式探索,理解函数的增减性、切片视图、等高线和投影等概念。
10.1 函数单调性
函数的单调性描述了函数值随自变量增大而增大或减小的性质。 单调递增区间满足 f'(x) > 0,单调递减区间满足 f'(x) < 0。
函数单调性
分析函数在不同区间的增减性
当前函数
选择函数
单调性区间
💡 单调性判定
• 单调递增:f'(x) > 0,函数值随x增大而增大
• 单调递减:f'(x) < 0,函数值随x增大而减小
• 驻点:f'(x) = 0,可能是极值点
• 绿色区域:单调递增区间
• 红色区域:单调递减区间
10.2 一元函数:一个自变量
如果函数 f(x) 作为唯一一输入值,输出值写作 y = f(x),函数就是一元函数,也就是说,有一个 自变量的函数叫做一元函数 (univariate function)。
⚠️ 注意:定义域中任一 x 在值域中有唯一一对应的 y。当然,不同 x 可以对应一样的函数值 f(x)。
平面直角坐标系中,一般用线图 (line plot 或 line chart) 作为函数的可视化方案。
二元函数3D探索器
多视角展示二元函数 f(x,y) 的形状和特征
函数定义
视图模式
视角调节
📐 可视化说明
3D曲面:完整的三维表面视图
切片视图:固定x或y值观察函数变化
等高线图:从上方俯视的高度分布
投影视图:不同方向的投影效果
10.4 二元函数:两个自变量
有两个自变量函数叫做二元函数 (bivariate function),比如 y = f(x₁, x₂)。 本书常常借助三维直角坐标系可视化二元函数。图 18 所示为二元函数映射关系以及几个示例。
二元函数映射关系
二元函数示例
📝 示例:二元一次函数 y = f(x₁, x₂) = x₁ + x₂ 有 x₁ 和 x₂ 两个自变量。 当 x₁ 和 x₂ 取值分别为 x₁ = 2, x₂ = 4,函数值 f(x₁ = 2, x₂ = 4) = 2 + 4 = 6。
💡 此外,有多个自变量函数叫做多元函数 (multivariate function), 比如 y = f(x₁, x₂, ..., xD) 有 D 个自变量。
网格化数据
为了获得 f(x₁, x₂) 在三维空间的图形,需要提供一系列整齐的网格化坐标值 (x₁, x₂),如下:
(10)
将上述坐标点 x₁ 和 x₂ 分离并写成两个矩阵形式:
x₁ 矩阵(列相同)
x₁ 的每个值代表点的横坐标值
x₂ 矩阵(行相同)
x₂ 的每个值代表点的纵坐标值
公式 (11):式中,x₁ 的每个值代表点的横坐标值,x₂ 的每个值代表点的纵坐标值。 🐍 numpy.meshgrid() 可以用来获得网格化数据。
⚠️ 注意:上式中 x₁ 和 x₂ 仅仅是示意,本书矩阵一般记号都是大写字母, 如 A、V、X 等。
y = f(x₁, x₂) = x₁ + x₂ 这个二元函数便是将 (11) 相同位置的数值相加得到函数值 f(x₁, x₂) 的矩阵:
(12)
图 19 所示为 f(x₁, x₂) = x₁ + x₂ 对应的三维空间平面。函数 f() 则代表某种规则, 将网格化数据从 x₁x₂ 平面映射到三维空间。
图 19. f(x₁, x₂) = x₁ + x₂ 对应的三维空间平面
💡 这就是前文提到的,在绘制函数图像时,比如二元函数曲面,实际上输入的函数值都是离散的、 网格化的。当然,网格越密,函数曲面越精细。
实际应用中,网格的疏密可以根据函数的复杂度调整。比如图 19 这种平面图像很简单,因此 可以用比较稀疏的网格来呈现图像;但是,对于比较复杂的函数,网格则需要设置的密一些,也 就是步长小一些。
一个复杂曲面
下面看一个复杂二元函数 f(x₁, x₂) 对应的曲面。
图 20 对应的函数解析式为:
(13)
相对图 19,图 20 的网格更为密集,这是为了更准确地观察分析这个比较复杂曲面的各种特征。 本章后续有关二元函数的可视化方案,都会以上述二元函数作为例子。
图 20. 网格化数据与二元函数映射
输入:网格化坐标 (x₁, x₂)
x₁x₂ 平面上的网格坐标点
输出:f(x₁, x₂) 三维曲面
网格点映射到三维空间形成曲面
📝 代码文件 Bk3_Ch10_02.py 中Bk3_Ch10_02_A 部分绘制 20 二元函数 f(x₁, x₂) 对应的网格曲面。
章节总结
关键要点
核心概念
- ▸单调性通过导数f'(x)的符号判定:正号递增,负号递减
- ▸二元函数需要从多个视角观察才能全面理解其空间特征
- ▸切片视图固定一个变量,观察函数在另一个方向的变化
- ▸等高线图是从上方俯视的高度分布,类似地形图
- ▸投影将3D信息压缩到2D平面,便于分析特定方向的特征
🔬 实际应用
通过分析函数单调性寻找最优解,在工程设计和经济决策中广泛应用。
多维数据通过3D曲面和等高线展示,帮助发现数据中的模式和趋势。
地理高程数据用二元函数表示,等高线图是地图的基础表达形式。
损失函数通常是多元函数,通过可视化理解优化过程和梯度下降。