Как стать автором
Обновить

Практические приемы уменьшения погрешностей

Обычно выделяют три группы погрешностей: неустранимая погрешность; погрешность метода; вычислительная погрешность. Неустранимая погрешность порождается: а) неточностью входных данных в математическом описании задачи; б) несоответствия математической модели реальной задаче. Погрешность метода возникает из-за того, что используются приближенные методы. А погрешность вычислений возникает при вводе-выводе и при выполнении математических операций, а также при округлениях. Попробуем привести несколько практических приемов для уменьшения влияния вычислительной погрешности на результаты вычислений.

1. Сложение чисел необходимо проводить по мере их возрастания так как в машинной арифметике из-за погрешности округления существенен порядок выполнения операций.

2. В некоторых случаях имеет смысл выполнить предварительные преобразования вычисляемого выражения.

Например, вместо (a+b)^2 для случая, когда одно число намного меньше другого, лучше использовать выражение: a^2+2ab+b^2. Перемножение большого и маленького числа: 2ab позволит слегка поправить ситуацию.

3. Необходимо исключать вычитание двух почти равных чисел, тем более когда такая разность находится в знаменателе выражения.

4. Если числа равны a и b почти равны, то вычитание этих чисел следует производить раньше, чем деление или умножение.

К примеру, следует отдать предпочтение выражению (a-b)/c, а не выражению a/c-b/c. Во-первых здесь меньше операций (смотри пункт 3 и 6), а во-вторых, после деления числа станут меньше и еще меньше будут отличаться друг от друга, что может привести к обращению разности в ноль.

5. При перемножении нескольких чисел надо сразу перемножать самое большое число и самое маленькое, так как умножение друг на друга нескольких маленьких чисел может привести к появлению машинного нуля.

6. Всегда следует стремиться к уменьшению числа арифметических операций. Это объясняется тем, что чем больше операций, тем больше суммирующие погрешности.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.