- •Глава 1. Теория погрешностей
- •1.1.Абсолютная и относительная погрешности. Оценки погрешностей
- •1.2. Границы числовых величин
- •1.3. Запись приближенных значений величин. Верные знаки
- •1.4. Округление. Погрешность округления. Первое правило верных знаков
- •Первое правило верных знаков. Используются две формы записи окончательного приближенного результата. Первая форма записи окончательного результата
- •Вторая форма записи окончательного результата
- •1.5. Линейные оценки погрешности суммы, разности, произведения, частного и функции одной переменной
- •1.7. Метод границ
- •1.8. Правила верных знаков
- •1.9. Вероятные оценки погрешности числовой величины. Метод статистического усреднения
- •1.10. Распространение понятий теории погрешностей числовых величин на объекты метрических пространств
- •1.11. Метод последовательных приближений
- •Метод последовательных приближений
- •Полные метрические пространства. Неподвижные точки. Принцип сжимающих отображений
- •1.12. Прикладные задачи и модели.
- •Структура полной погрешности численных результатов
- •1.13. Устойчивость и корректность постановки прикладной математической задачи
- •1.14. Корректность и численные методы. Плохая обусловленность прикладных задач Общая схема построения приближенных численных методов решения прикладных задач
- •Связь между постановкой прикладной задачи и эффективностью численных методов ее решения
- •Понятие плохой обусловленности прикладной задачи
- •1.15. Погрешности, связанные с вычислениями на компьютере Представление числовых данных в памяти компьютера
- •Погрешности элементарных машинных операций
- •Общая тенденция роста вычислительной погрешности
- •Особые случаи при вычислениях с приближенными числами
- •1.16. Полная погрешность и ее компоненты
- •Контрольные вопросы и задания
1.15. Погрешности, связанные с вычислениями на компьютере Представление числовых данных в памяти компьютера
Представление чисел в форме с фиксированной запятой. Для хранения вещественных чисел в памяти компьютера в основном используются два способа: с фиксированной и плавающей запятой (точкой). Запоминающее устройство персонального компьютера состоит из множества базисных элементов (элементарных ячеек памяти), в каждом из которых можно записать одну двоичную цифру (0 или 1). Под запись вещественного числа выделяется некоторое фиксированное число ячеек памяти – обозначим его через k. Кроме того, еще одну ячейку выделяют для записи знака числа, куда помещается цифра 0, если число положительное, и 1, если оно отрицательное. Таким образом, в памяти компьютера числа хранятся в двоичной системе счисления.
Будем считать, что вещественное число а уже переведено в двоичную систему счисления, и представлено в виде бесконечной двоичной дроби
(1.15.1)
Здесь
двоичные
цифры в записи числаа.
Первая цифра не должна быть равна 0 и,
следовательно, всегда равна 1. Остальные
цифры могут быть равны 0 или 1.
При записи числа
а
в память компьютера в форме с фиксированной
запятой оно также записывается в виде
обычной двоичной дроби, но конечной,
содержащей k
двоичных разрядов. Кроме значения k,
фиксируется также число разрядов после
двоичной запятой
.
Значенияk
и l
определяются типом компьютера и
используемым программным обеспечением.
Поскольку число разрядов, отводимых
под запись числа а
конечно, лишние разряды справа
отбрасываются. Поэтому в памяти компьютера
оказывается не число а,
а результат его округления. Обозначим
его fix(a).
Если
,
то
fix(a)=
. (1.15.2)
В противном случае число а не может быть записано в память компьютера, и если такой случай возникает, то компьютер выдает сообщение об ошибке и вычисления прекращаются (происходит прерывание). Формула (1.15.2) представляет результат записи числа а в память компьютера, если используется несимметричное округление, когда лишние разряды просто отбрасываются. Но может быть применено и симметричное округление. Вид округления также определяется используемым программным обеспечением. Наибольшее положительное число, которое можно записать в форме с фиксированной запятой
![]()
,
.
Наименьшее положительное число, которое можно представить в форме с фиксированной запятой
![]()
,
![]()
Все числа вида
![]()
представляются
в компьютере нулем.
Числа с фиксированной
запятой равномерно заполняют диапазон
от
до
с шагом
.
Оценим абсолютную
погрешность округления при записи
вещественного числа а
в память компьютера в форме с фиксированной
запятой. Если
и числоа
возможно записать, а округление
используется несимметричное, то
абсолютная погрешность
равна

Поэтому
.
(1.15.3)
Соответствующая оценка относительной погрешности
.
(1.15.4)
В этом случае она
зависит от а.
На краях диапазона оценка относительной
погрешности
мала, но чем ближе к центру диапазона,
чем меньше |fix(a)|,
тем больше становится оценка относительной
погрешности. Если
,
то оценка относительной погрешности
становится равна
.
Представление чисел в форме с плавающей запятой. Перейдем к рассмотрению представления вещественных чисел в форме с плавающей запятой. Оно используется в расчетах значительно чаще и основано на представлении вещественного числа в нормальной форме
,
(1.15.5)
где
– целое число, называемое порядком,r
основание системы счисления, M
– вещественное число, называемое
мантиссой числа а,
удовлетворяющее неравенству
.
(1.15.6)
Всякое вещественное число записывается в r системе счисления в нормальной форме (1.15.5) единственным образом. Запишем, например, в нормальной форме число а, заданное формулой (1.15.1):
.
(1.15.7)
В форме с плавающей
запятой вещественное число а
записывается так же, как в обычной
нормальной форме, только для записи
мантиссы отводится фиксированное число
двоичных разрядов l,
а также вводится диапазон целых чисел
[Г1,
Г2]
(Г1<0,
Г2>0),
которому может принадлежать значение
порядка. Значения l,
определяются используемым программным
обеспечением. Если значение порядка
числаа
не входит в этот диапазон, то число а
не может быть записано в память компьютера,
и если такой случай возникает, то выдается
сообщение об ошибке и вычисления
прерываются. Поскольку число разрядов
для записи мантиссы ограничено, лишние
разряды справа отбрасываются. Поэтому
в памяти компьютера оказывается не
число а,
а результат его округления. Обозначим
его
.
Если
],
то
.
(1.15.8)
Если
,
то числоа
не может быть записано в памяти компьютера,
и если такой случай возникает, то
компьютер выдает сообщение об ошибке
и вычисления прекращаются (происходит
прерывание). А если
,
то числоа
будет заменено нулем (машинный ноль).
Формула (1.15.8) представляет результат записи числа а в память компьютера, если используется несимметричный способ округления (простое отбрасывание лишних разрядов). Но может быть применено и симметричное округление мантиссы. Способ округления определяется используемым программным обеспечением.
Наибольшее положительное число а, представленное в форме с плавающей запятой:
![]()
,
.
Наименьшее положительное число а, представляемое в форме с плавающей запятой:
.
.
Таким образом, в
форме с плавающей запятой можно записывать
вещественные числа из отрезка [
].
Все вещественные числаа
из интервала (
)
представляются при записи в память
машины нулем (f
l(a)=0).
Числа с плавающей
запятой заполняют диапазон [
],
но заполняют его неравномерно. На
границах этого диапазона расстояние
между соседними числами равно
.
А в середине диапазона оно равно
.
Если подставить в эти формулы приведенные
характерные значения, то расстояние
между соседними числами на краю диапазона
составит
,
а в центре –
.
Оценим абсолютную
погрешность округления при записи
вещественного числа в память компьютера
в форме с плавающей запятой. Если n[
],
а округление используется несимметричное,
то абсолютная погрешностьf
l(a)
равна

Отсюда
.
(1.15.9)
Эта оценка зависит
от а,
точнее от порядка а.
Наименьшее значение абсолютная
погрешность округления имеет при
,
когда а
находится в центре диапазона, а наибольшее
на краях диапазона при
.
Соответствующая оценка относительной погрешности
.
(1.15.10)
Эта оценка постоянна
и не зависит от а
в пределах
диапазона
и симметричного диапазона
.
Ее называют «машинный эпсилон» и
обозначаютmacheps.
Значения macheps
для данных типа single,
real
и extended
языка Pascal
составляют 10-7,
10-15
и 10-19
,соответственно.
