Пример 1.1. Необходимо отыскать минимальный корень уравнения. Вычисления производим в десятичной системе счисления, причем в числе после округления оставляем четыре действующие цифры (разряда):
Рассмотрим другой алгоритм вычисления корня, для чего избавимся от иррациональности в числителе:
Как видно из сравнения полученных результатов, применение "неудачного" алгоритма завышает результат на 30 %. Это явление в прикладной математике (в практике вычислений) называется потерей значащих цифр, и часто наблюдается при вычитании близких величин. Потеря значащих цифр, например, довольно часто приводит к существенному искажению результатов при решении даже сравнительно небольших систем линейных алгебраических уравнений.
Пример 1.2. На машине с плавающей запятой необходимо вычислить значение суммы
.
Эту сумму можно вычислить двумя способами:
Оказывается, для второго алгоритма вычислительная погрешность будет существенно меньше.
Тестовые расчеты на конкретной ЭВМ по первому и второму алгоритмам показали, что величина погрешности для обоих алгоритмов составляет 2∙10-4 и 6∙10-8соответственно. Причина этого ясна, если вспомним, как числа представлены в ЭВМ (см. рис. 1.1).
Рис. 1.1. Представление чисел с плавающей точкой в типичном
32-бит (4 - байт) формате:
а) Число ½; b) число 3; c) число ¼; d) число 10-7, представленное в машине с максимальной точностью (нормализованное); e) то же самое число 10-7, но представленное с тем же порядком, что и число 3; f) сумма чисел 3 + 10-7, которая эквивалентна 3.
Этот пример ярко иллюстрирует тот факт, что даже если оба слагаемых представлены в компьютере точно, то их сумма может быть представлена с погрешностью, особенно если слагаемые различаются на порядки.
При оценке погрешностей арифметических действий следует учитывать следующее:
Достарыңызбен бөлісу: |