舍入误差步长选择

计算科学 matlab 误差估计
2021-12-12 10:05:56

第 5.7.- 数值导数的数值配方中,数值导数中步长的选择应该导致之间的差异可以用精确数字表示。在 C 中,程序步骤是:hxx+h

temp = x + h
h = temp - x

问题:这些步骤的含义是什么?

问题:如何在 Matlab 中选择作为“精确”数字?h

1个回答

分点回答:

  1. NR 作者指的是本身也受到舍入影响的事实。此外,如果您的没有有限的二进制表示,例如,那么您确定代码中hhh=0.1h

您真正想要的是之间的差异在有限精度算术完全可以表示。xx+h

  1. 就按照他们写的去做:不要选择 st 增量在有限精度中不能完全表示。一个好方法可能是设置,对于一些(当然不是太大......),所以你知道它的表示是准确的;)hh=2kkN