Когда вы читаете о численных методах, то отмена вычитания часто является темой.
Простой пример отмены:
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
Возможно, есть некоторые недостатки этой простой функции - это была только моя первая идея.Во всяком случае, что-то вроде этой работы?И почему это не сделано?(то есть я никогда раньше не видел / не слышал о таких проверках).