1

在阅读数值方法时,减法取消通常是一个主题。

取消的简单示例:

a = 1;
b = 1e-16;
a-(a+b) = 0

因此我们丢失了 b 的所有信息。

但是,我很少阅读有关如何检查此问题的信息。难道我们不能使用一个简单的函数来减去数字,这也警告我们有问题吗?例子:

function c = subtract(a,b)
    c = a-b;
    if abs(c) < 1e-14*a
       disp('Warning: Low precision on subtraction');
    end
end

这个简单的功能可能存在一些缺陷——这只是我的第一个想法。无论如何,这样的事情会起作用吗?为什么没有完成?(即我以前从未见过/听说过此类检查)。

4

0 回答 0