14.3 数值微分
14 3 数值微分函数 的牛顿商(Newton quotient)由公式给出,
2023-08-18
【资料图】
14.3 数值微分函数 的牛顿商(Newton quotient)由公式
给出,其中 是一个足够小的值。当 趋近于零时,这个商趋近于函数的一阶导数 。因此,可以使用牛顿商来数值估计导数。通过对一些你已知其导数的函数进行这样的估计,你可以观察到在何种程度上可以将 设定得很小而不会引起舍入误差的问题。这种误差的产生是因为公式 中涉及两个逐渐变得相等的数进行相减,当计算机的精确度极限达到时,就会出现该问题。
以下是一个示例脚本,使用牛顿商来估计函数 的一阶导数(函数需要作为名为 f.m
的函数文件提供),在 处,通过使用越来越小的 值(精确答案为 4):
h= 值越小,牛顿商与准确的导数值之间的误差越来越小。但是,当 变得过小,在接近计算机精确度极限时,舍入误差会导致较大的影响。结果显示,对于这个特定的问题,最佳的 值约为 。但是,对于小于这个值的 ,估计值变得完全不可靠。一般来说,对于给定的问题,最佳的 值只能通过试验和错误的方法来找到。找到最佳的 值可能是一个非平凡的问题。这个问题在数值积分中并不存在,因为在计算面积时使用的是加法而不是减法。
diff在 MATLAB 中,如果 是一个行向量或列向量:
x=[x([x( 包含一个物体每隔 秒的位移,那么 diff(x)/h
将给出物体的速度。通过计算相邻元素之间的差值,diff
函数提供了一种快速计算向量中临近元素之间的变化的方法。这在数值微分和差分问题中经常出现,尤其是在连续数据的离散化处理中。diff
函数的使用使得计算近似导数变得简单和高效。
需要注意的是,计算得到的向量的长度会比输入向量短一个元素。在使用 diff
函数进行数值微分时,我们需要注意这个长度差异,并根据具体应用来解释结果。
标签: