- •2. Некоторые сведения из теории погрешностей
- •2. Некоторые сведения из теории погрешностей
- •2.1.Точные и приблизительные вычисления
- •2.2. Абсолютная и относительная погрешности
- •2.3. Три основных вида ошибок
- •2.3.1. Ошибки, содержащиеся в исходной информации
- •2.3.2. Ошибки ограничения
- •2.3.3. Ошибки округления
- •Тогда симметричное округление выполняется по правилу: результат с округлением равен
2.3.2. Ошибки ограничения
Для
демонстрации «ошибки ограничения»
рассмотрим вычисление функции
Вычисление этой функции производится
с помощью следующего ряда Тейлора
Как видно, ряд - бесконечный. Естественно, что невозможно в практических вычислениях вести счет бесконечно. Вычисления ограничиваются конечным числом членов ряда, например, до x 7 или x9. Отброшенные члены ряда, а их количество бесконечно, вносят некоторую ошибку в результат вычислений. Эта ошибка и называется ошибкой ограничения, т.к. она возникает в результате ограничения бесконечного вычислительного процесса.
Надо отметить, что очень многие вычислительные методы приводят к бесконечным математическим процессам, поэтому анализ ошибок ограничения очень важен.
2.3.3. Ошибки округления
Даже, если предположить, что исходная информация не содержит никаких ошибок, а все вычислительные процессы конечны, то все равно и в этом случае присутствует третий тип ошибок - ошибки округления.
Предположим, что вычисления производятся на машине, в которой каждое число может представляться не более, чем пятью значащими цифрами (отличать от термина “пять знаков после запятой“), например, 15735, 23.749, 0.16783, 0.000093436. Пусть необходимо сложить два числа 9.2654 и 7.1625 , причем эти два числа являются точными. Точное значение этой суммы равно 16.4279, но оно содержит 6 значащих цифр и потому не помещается в разрядной сетке нашей гипотетической машины. Поэтому результат будет округлен до 16.428 и при этом возникнет ошибка округления.
Так как ЭВМ всегда работает с конечным количеством значащих цифр, то округление результатов арифметических операций производится очень часто. Для изучения округления действительных чисел необходимо рассмотреть форму представления таких чисел в памяти ЭВМ.
Для
представления вещественных чисел
используется так называемая форма “с
плавающей точкой”, в которой число
записывается через мантиссу и порядок
.
Например, число 5.673
в виде с плавающей точкой можно записать
так:
56.73.10-1, или 5.673.101, или 0.5673.102, или 0.05673.103 и т.д.,
т.е. для одного и того же числа можно записать много форм его представления с плавающей точкой. Среди всех этих представлений есть одно, особенное, называемое нормализованным. Для нормализованного представления выполняется:
0,1
<1,
т.е. целая часть мантиссы равна нулю, а дробная часть в старшем разряде содержит любую цифру кроме нуля.
Рассмотрим процесс сложения двух чисел А=162.45 и В=1.7698 в нашей гипотетической 5-разрядной ЭВМ. В нормализованном представлении с плавающей точкой
А=0.16245.103, В=0,17698.101.
Сначала происходит выравнивание порядков:
А = 0.1624500.103,
В = 0.0017698.103,
затем сложение мантисс:
А+В = 0.1642198.103.
В этой записи дробная часть мантиссы содержит не 5, а 7 значащих цифр, следовательно, последние две должны быть отброшены. Отбрасываемая часть суммы равна 0.98.10-2. Такое отбрасывание должно производиться, естественно, с округлением старшей части результата.
Существуют и практически реализуются несколько правил округления.
Простейший способ - отбрасывание младшей части результата
А+В = 0.16421.103 = 164.21.
Этот метод так и называется: отбрасывание младших разрядов.
Более общепринятый способ - симметричное округление.
Обозначим результат сложения так:
,
где
-
старшая часть результата;
-
младшая часть результата;
p - порядок результата; q - количество значащих цифр в представлении числа.
(В нашем случае F=0.16421.103, G=0.98.103-5=0.98.10-2, p=3, q=5)
