Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2_Погрешности.doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
233 Кб
Скачать
☆

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)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]