文件名称:行脚商matlab代码-Derivative-Error:数值导数的误差分析代码
文件大小:69KB
文件格式:ZIP
更新时间:2024-06-13 22:24:17
系统开源
行脚商matlab代码导数误差 背景 导数的极限定义(在一维中)通常用于手工计算导数。 但是,当无法完成符号数学并且无法使用无限精度时,这种计算导数的方法可能会变得非常不准确。 这是一个病态问题:随着h接近无穷大,假设f是可微的,则分子和分母都变为0。 由于浮点运算的有限精度(在这种情况下为IEEE 754双精度),这会产生不稳定的数值结果。 错误可能是由于x不能精确表示(对于h同样如此,但是可以将h限制为可以精确表示的数字), f的求值以及差商本身所涉及的算术。 另外,当$ h $变得太小时, f(x + h)-f(x)将舍入为0。因此,不能使用差商的限制。 相反,我们使用适当小的h值。 h越小,所计算的f'(x)中的采样误差将越小,但它越大,有限精度算法的误差将越小。 因此,我们旨在找到使这些误差之和最小的h值。 减少采样误差的一个简单步骤是使用中心差商,由下式给出: 例如,对于正向和商差商,这是具有变化的h选择的cos(1)的计算导数和精确导数之间的绝对误差。 红色正方形表示计算出的h的最佳选择,绿色线表示误差函数(请注意,它表示上限),蓝色点表示几个点上的实际误差。 所有计算都
【文件预览】:
Derivative-Error-master
----derivative.m(2KB)
----errorest.m(353B)
----images()
--------results.png(49KB)
--------centered_difference_quotient.png(3KB)
--------difference_quotient.png(4KB)
----LICENSE(34KB)
----findh.m(605B)
----approx.m(324B)
----README.md(3KB)