Найти относительную погрешность выражения

Обновлено: 02.05.2024

Точность полученного в результате вычисления результата определяется погрешностью вычислений. Различают два вида погрешностей – абсолютную и относительную.

Абсолютная погрешность некоторого числа равна разности между его истинным значением и приближенным значением, полученным в результате вычисления или измерения:


(А.1)

где а – приближенное значение числа х.

Относительная погрешность – это отношение абсолютной погрешности к приближенному значению числа:


(А.2)

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

Источники погрешностей

Рассмотрим различные причины возникновения погрешностей.

Математическая модель задачи является неточной

Погрешность возникает из-за того, что сам численный метод или математическая модель является лишь приближением к точному методу (например, дифференцирование). Кроме того, любая математическая модель или метод могут внести существенные погрешности, если в ней не учтены какие-то особенности рассматриваемой задачи. Модель может прекрасно работать в одних условиях и быть совершенно неприемлемой в других. Такую погрешность называют также методической. Она всегда имеет место, даже при абсолютно точных данных и абсолютно точных вычислениях. В большинстве случаев погрешность численного метода можно уменьшить до требуемого значения за счет изменения параметров метода (например, уменьшением шага дискретизации, или увеличением количества итераций).

Ошибки в исходных данных

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

Следует стремиться к тому, чтобы все исходные данные были примерно одинаковой точности. Сильное уточнение одних исходных данных при наличии больших погрешностей в других не приводит к повышению точности конечных результатов. Если какие-то отдельные точки данных (измерения) явно ошибочные, их можно исключить из вычислений.

Вычислительные ошибки (ошибки округления)

Ошибки этого типа проявляются из-за дискретной (а не непрерывной) формы представления величин в компьютере. Вычислительные ошибки можно свести к минимуму продуманно организовывая алгоритмы.

Вычислительные ошибки

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

Представление чисел с плавающей точкой


Для хранения целых чисел (int, long, unsigned int и т.д.) обычно отводится 4 байта памяти, что позволяет представлять целые числа, находящиеся примерно в диапазоне от .

В вычислениях чаще используются вещественные числа (float, double). Такие числа представляются в компьютере в форме с плавающей точкой, и хранятся в логарифмическом виде – мантисса и порядок:


(А.3)

где m – мантисса, p – порядок, а – основание степени.


Мантисса записывается в нормализованной форме – с фиксированной точкой, подразумеваемой после первой значащей цифры. Нормализованной формой числа с плавающей точкой называется такая форма, в которой мантисса десятичного числа (без учёта знака) принимает значения , а мантисса двоичного числа принимает значения от .

Например, число 273.9 можно представить в виде или в компьютерном представлении 2.739E+02.

В таблице А.1 приводится диапазон допустимых значений и другие параметры для чисел с плавающей точкой одинарной (float) и двойной (double) точности.

Таблица A.1. Диапазон чисел, представимых в формате с плавающей точкой

Погрешность округления

При вычислениях с помощью компьютера неизбежны погрешности округлений, связанные с ограниченностью хранимых разрядов мантиссы. Для приближенного числа, полученного в результате округления, абсолютная погрешность принимается равной половине единицы последнего разряда числа. Например, значение могло быть получено округлением чисел 0.73441, 0.73353 и др. При этом . При простом отбрасывании лишних разрядов эта погрешность увеличивается вдвое.

Перевод чисел из одной системы счисления в другую также может быть источником погрешности из-за того, что основание одной системы счисления не является степенью основания другой (например, 10 и 2). Это может привести к тому, что в новой системе счисления число невозможно представить абсолютно точно, например:

Погрешность арифметических действий над приближенными числами

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

, (А.4)

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


(А.5)

При сложении или вычитании чисел их абсолютные погрешности складываются:


(А.6)

Относительная погрешность суммы положительных слагаемых вычисляется как:


. (А.7)

Отсюда следует, что относительная погрешность суммы нескольких чисел одного и того же знака, заключена между наименьшей и наибольшей из относительных погрешностей слагаемых:


. (А.8)


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

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

1234 + 0.005678 = 1234.00005678

или в компьютерном представлении:

1.234Е+03 + 5.678Е-03 = 1.234005678Е+03

После сложения количество значащих цифр равно 10. Число с одинарной точностью (float) позволяет хранить только 8 значащих цифр, то есть на самом деле число будет равно 1.2340056Е+03. Две значащие цифры потерялись в процессе сложения. Потеря точности здесь возникает из-за того, что при прибавлении к большому числу малых чисел результат сложения выходит за пределы точности при округлении. Для того чтобы уменьшить погрешность вычислений, нужно складывать числа в порядке возрастания их абсолютной величины. Таким образом можно минимизировать абсолютную величину промежуточной погрешности при каждом сложении.


Рассмотрим теперь вычитание чисел (сложение чисел разного знака, или вычитание чисел одного знака). В соответствии с выражением (А.7) относительная погрешность может быть очень большой в случае, если числа близки между собой, так как даже при малых погрешностях результат их сложения в знаменателе может быть очень малым. Чтобы уменьшить погрешность при вычитании, необходимо строить вычислительные алгоритмы таким образом, чтобы избегать вычитания близких чисел.

Таким образом, можно сделать вывод, что сложение и вычисление являются плохо обусловленными (неустойчивыми) операторами, так как при некоторых данных даже небольшая погрешность в исходных данных может привести к большой погрешности результата. Уменьшить погрешность можно за счет правильной последовательности операций. Из-за погрешности округления в машинной арифметике важен порядок выполнения операций, и известные из алгебры законы коммутативности (и дистрибутивности) здесь не всегда выполняются.

Читайте также: