Источники погрешностей.Оценка степени достоверности получаемых результатов является важнейшим вопросом при организации вычислительных работ. Это особенно важно при отсутствии опытных или других данных для сравнения.
Рассмотрим источники погрешностей на отдельных этапах решения задачи.
Математическая модель, принятая для описания данного процесса, может внести существенные погрешности, если в ней не учтены какие-либо важные черты рассматриваемой задачи. В частности, математическая модель может прекрасно работать в одних условиях и быть совершенно неприемлемой в других; поэтому важно правильно учитывать область ее применимости.
Исходные данные задачи часто являются основным источником погрешностей. Это так называемые неустранимые погрешности,поскольку они не могут быть уменьшены вычислителем ни до начала решения задачи, ни в процессе её решения. Следует стремиться к тому, чтобы все исходные данные были примерно одинаковой точности. Сильное уточнение одних исходных данных при наличии больших погрешностей в других, как правило, не приводит к повышению точности результатов.
Численный метод также является источником погрешностей. Это связано с заменой интеграла суммой, с усечением рядов при вычислениях значений функций, с интерполированием табличных данных и т. п. Как правило, погрешность численного методарегулируема, т.е. она может быть уменьшена до любого значения путем изменения некоторого параметра (шага интегрирования, числа членов усеченного ряда и т. п.). Погрешность метода обычно стараются довести до величины, в несколько раз меньшей погрешности исходных данных.
При вычислениях с помощью ЭВМ неизбежны погрешности округлений, связанные с ограниченностью разрядной сетки. Обычно после выполнения операции производится не округление результата, а простое отбрасывание лишних разрядов с целью экономии машинного времени. В современных машинах предусмотрена свобода выбора способа округления; соответствующими средствами располагают и некоторые алгоритмические языки.
Перевод чисел из одной системы счисления в другую также может быть источником погрешности из-за того, что основание одной системы счисления не является степенью основания другой (например, 10 и 2). Это может привести к тому, что в новой системе счисления число становится иррациональным.
Уменьшение погрешностей.При рассмотрении погрешностей результатов арифметических операций отмечалось, что вычитание близких чисел приводит к увеличению относительной погрешности; поэтому в алгоритмах следует избегать подобных ситуаций.
При сложении чисел следует придерживаться правила, в соответствии с которым сложение чисел нужно проводить по мере их возрастания.
Пример:
Складывая все эти числа, а затем округляя полученный результат до четырех значащих цифр, получаем . Однако при вычислении на компьютере округление происходит после каждого сложения.
Предполагая условно сетку четырехразрядной, проследим за вычислением на компьютере суммы чисел от наименьшего к наибольшему:
Изменим теперь порядок вычислений и начнем складывать числа последовательно от последнего к первому:
При решении задачи на ЭВМ нужно использовать «маленькие хитрости» для улучшения алгоритма и снижения погрешностей результатов.
Например, при вычислении при в этом случае может помочь замена .
Для тригонометрических функций можно использовать формулы приведения. При вычислении экспоненты аргумент можно разбить на сумму целой и дробной частей и использовать разложение в ряд только для , а вычислять умножением.