
数值微分是数值方法中的名词,它可以根据函数在一些离散点的函数值,从而推算出它在某点的导数的近似值。在平常写代码的过程中,经常会调用某些优化算法比如随机梯度下降算法等,因为
1 一元函数的数值微分
可以根据函数在某点处导数的定义来实现代码,首先回顾一下函数在一点处导数的相关定义
定义 设函数在点
的某个邻域内有定义,当自变量
在
处取得增量
(
仍在该邻域内)时,相应地,因变量取得增量
;如果
与
之比当
时极限存在,那么称函数
在点
处可导,并称这个极限为函数
在点
处地导数,记为
,即
也可记作
或
。
由于计算机计算数值微分会带来误差,故对原始定义做一个调整
使用调整后的导数定义求解数值微分要比单边近似地精度要高,有了理论基础就可以使用代码实现
def 例如使用上述代码计算函数
import 通过
import 两者计算结果对比

2 多元函数的数值微分
同理可以根据多元函数偏导数的定义来实现代码,多元函数在某一点处偏导数的定义如下
定义 设函数在点
的某一邻域内有定义,若
存在,则称此极限为
函数在点
处对
的偏导数,记作
即
同样的,若
存在,则称此极限为
函数在点
处对
的偏导数,记作
即
为了减小单边计算误差,对原始定义也做一些微调
def 例如使用上述代码计算多元函数
f 通过
x 两者计算结果对比

本文介绍了数值微分的基本概念,包括一元和多元函数的导数计算方法,通过Python代码示例演示了如何使用数值微分计算函数导数,并强调了理论背景和误差控制的重要性。通过与自动微分的比较,突出了数值微分在实际编程中的应用和验证过程。

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



