,
приводит к результату
,
вместо точного решения
.
Результат имеет ошибку (погрешность) в
25 %.
Пример 1.3.
Рассмотрим разложение функции
в ряд Тейлора:
.
Полученный ряд
сходится для любого
,
но для вычисления точного значения
необходимо найти сумму бесконечного
ряда чисел, что невозможно реализовать
даже на ЭВМ. На практике вычисляют сумму
некоторого количества первых членов
ряда, а «хвост»,
содержащий бесконечное число членов,
отбрасывают. В результате возникает
ошибка (погрешность) вычисления, которая
для рассматриваемого примера может
быть оценена, например, следующим
образом:
– для четырех членов ряда и
– для произвольного количества
членов ряда.
Данный раздел посвящен рассмотрению определений и принципов оценки абсолютной и относительной погрешностей значений величин, а также результатов выполнения над ними арифметических операций.
Определение 1.2.
Если
точное значение некоторой величины и
известное приближение к нему, то
абсолютной погрешностью приближенного
значения
называют величину
.
Определение 1.3.
Если
точное значение некоторой величины и
известное приближение к нему, то
относительной погрешностью приближенного
значения называют величину
.
Относительная
погрешность часто
выражается в долях или процентах.
Определение 1.4.
Значащими
цифрами числа
называют все цифры в его десятичной
записи, начиная с первой ненулевой
слева:
,
.
В данном примере значащие цифры выделенны
курсивом.
Определение 1.5.
Значащую
цифру называют верной, если абсолютная
погрешность числа
не превосходит половины единицы разряда,
соответствующего данной цифре, например:
;
;
,
.
В приведенном примере значащие цифры,
выделенные курсивом, являются верными.
Если все значащие цифры числа верные,
то говорят, что число записано со всеми
верными цифрами. Иногда употребляется
термин число
верных цифр после запятой,
тогда подсчитывается число верных цифр
после запятой от первой до последней
верной цифры.
Довольно часто
информация о некоторой величине задается
пределами возможного изменения ее
значения, например:
.
Пределы
и
принято записывать с одинаковым числом
знаков после запятой, так как обычно
достаточно грубого представления о
погрешности. В записи чисел
и
рассматривают столько значащих цифр,
сколько нужно для того, чтобы разность
содержала одну или две значащие цифры.
Информацию о том,
что
является приближенным значением числа
с абсолютной погрешностью
,
принято записывать в виде
.
Числа
и
записывают с одинаковым количеством
знаков после запятой. Информацию о том,
что
является приближенным значением числа
с относительной погрешностью
можно записать в виде
.
.
Пусть даны два
числа
и
,
приближенно представляющие числа
и
,
имеющие соответствующие абсолютные
погрешности
и
(например, машинного представления).
Рассмотрим формулы расчета значений
абсолютных и относительных погрешностей
результатов выполнения математических
операций сложения, вычитания, умножения
и деления с данными числами.
Абсолютная погрешность суммирования чисел , :
.
Относительная погрешность суммирования чисел , :
.
Абсолютная погрешность вычитания чисел , :
.
Относительная погрешность вычитания чисел , :
.
Абсолютная погрешность умножения чисел , :
.
Здесь и в
представленных далее формулах результат
произведения абсолютных погрешностей
чисел
и
не принимается во внимание так как его
значение очень мало.
Относительная погрешность умножения чисел , :
.
Абсолютная погрешность деления чисел , :
.
Относительная погрешность деления чисел , :
.
Абсолютная погрешность вычисления значения функции, зависящей от одной переменной:
,
.
Относительная погрешность вычисления значения функции, зависящей от одной переменной:
.
Аналогично получают формулы для оценки абсолютной и относительной погрешностей вычисления значений функций, зависящих от n переменных.
Даже если исходная информация не содержит ошибок и вычислительный процесс некоторого алгоритма конечен, с помощью компьютера невозможно производить точные расчеты без округления промежуточных результатов вычислений в силу ограниченности разрядной сетки ЭВМ. Проблема округления чисел относится только к действительным числам, при выполнении арифметических операций (за исключением деления) с целыми числами потребность в их округлении не возникает.
Для
представления в памяти компьютера
ненулевых чисел
с одинаковым количеством значащих цифр
применяют так называемое представление
с плавающей точкой:
,
где
– порядок, выбранный так, чтобы обеспечить
неравенства
для мантиссы
.
При этом все числа с одинаковым количеством
значащих цифр имеют в своих мантиссах
одинаковое количество десятичных знаков
после десятичной точки. Под каждое число
с плавающей точкой отводится место
(ячейка) в памяти компьютера, достаточное
для размещения
цифр мантиссы. В той же ячейке памяти
размещается знак числа и его порядок
.
Это позволяет хранить в памяти компьютера
числа, порядки которых удовлетворяют
условию
,
где
и
не зависят от знаков хранимых чисел.
Следствием ограниченности разрядной сетки компьютера является то, что в ней не могут быть представлены числа, мантиссы которых содержат бесконечную последовательность ненулевых цифр или числа, абсолютные величины порядков которых слишком велики. Машинными числами в двоичной системе счисления (числами, представимыми в компьютере) называются вещественные числа вида
,
где
.
Таким
образом, машинное число – это такое
число с плавающей точкой, мантисса
которого содержит не более
цифр, а порядок лежит в заданном
интервале
.
Нетрудно
понять принципиальную невозможность
определения обычных арифметических
операций
над множеством машинных чисел. Это
связано с тем, что результат выполнения
арифметической операции над парой
машинных чисел может уже не быть машинным
числом.
Может оказаться,
что для точного представления результата
выполнения арифметической операции
требуется больше, чем
цифр и его мантисса «не
умещается»
в стандартную ячейку памяти компьютера.
Перемножая два машинных числа, содержащих
по
значащих цифр, мы получим, вообще говоря,
число, имеющее
значащих цифр. Для точного представления
результата их деления может
потребоваться бесконечное множество
значащих цифр. Подобные примеры
показывают, что множество машинных
чисел незамкнуто относительно обычных
арифметических операций и результат
их выполнения может не являться машинным
числом.