本模块演示了函数微分计算的有限差分近似. 有限差分公式的思想是按照不同权重使用一系列插值节点(一般是均匀分布)处函数值来计算目标点x处的导数. 插值节点处函数值的权重可以使用泰勒展开式来确定. 还有一种获得近似值的等价方法就是计算目标点 处根据插值节点构造的多项式插值函数的导数. 结果的数值精度或者说误差上限可以通过微分步长h来表示. 例如,一阶精度表示误差与h成比例. 二阶精度中误差与h2成比例,依此类推.
使用者可以从左侧菜单选择一个目标函数,该函数的曲线在菜单上方显示. 除了菜单中提供的目标函数,用户还可以自行输入自定义的函数. 需要计算导数值的目标点x可以通过左侧的滑块来调整, 精确的导数值在函数曲线上以斜线的方式给出. 然后用户在右侧菜单中选择一种有限差分公式,并利用右侧的滑块来调整步长h的值. 选定计算导数的采样点,以及构造的多项式插值函数会显示在左侧图中,该插值曲线在点 x处的导数(用浅灰色切线表示)就是要计算的近似导数.
对于某一给定步长h,结果的误差可以通过 点击Plot按钮在右侧图像区绘制出来. 不同的步长h一起绘 制的时候,将会得到一个误差曲线. 误差曲线使用的是对数-对数坐标尺,结果近似为一条直线,而这条直线的 斜率可以体现出步长变小时体现出来的运算精度. 在不同有限差分公式配 置下,重复这一绘制过程可以直观的看到不同计算方法表现出的不同的数值精度. 误差曲线可以通过点击Clear按钮清除.
对于每一种有限差分公式,插值节点的选取体现在菜单条目末尾的整数序列.
例如first-order forward difference公式的序列是
参考内容: 课本第7.7.1小节.