Я изучаю арифметику с плавающей точкой c. Предположим, мы в двойной точности. Мы знаем, что когда мы вычитаем два числа, которые имеют «почти» одинаковую величину, относительная ошибка велика.
Например, в командном окне MatLab, если я вычисляю
2.0000001-2.0
Я получаю 9.99999998363421e-08
и с относительной ошибкой errRel = 1.63657882716964e-09
, которая не является незначительной.
Но если я сделаю это в альфа-версии Wolfram ( или с калькулятором моего ноутбука), я на самом деле получаю правильный результат, который 1e-7
.
Итак, мой вопрос : почему это так? Я думал, что и MatLab, и калькулятор моего ноутбука использовали арифметику с плавающей запятой c одинаково