检查减法取消(浮点精度)

时间:2018-10-17 13:08:18

标签: matlab rounding precision numerical-computing

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

取消的简单示例:

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

此简单功能可能有一些不足之处-这只是我的第一个想法。无论如何,这样的事情会起作用吗?为什么不这样做呢? (即我以前从未见过/听说过这种检查)。

0 个答案:

没有答案