【文件属性】:
文件名称:行脚商matlab代码-Derivative-Error:数值导数的误差分析代码
文件大小:69KB
文件格式:ZIP
更新时间:2021-05-25 04:37:37
系统开源
行脚商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)