Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_03.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
209 Кб
Скачать
☆

2.6 Погрешности результатов арифметических операций.

Изучение погрешностей результатов арифметических операций над числами с плавающей точкой производят на основе выражения (8), определяющего относительную погрешность представления чисел с плавающей точкой на компьютере:

или конкретизирующих его соотношений:

fl (a) = a(1 + ), при a > fl (a), где  

(11)

fl (a) = a(1  ), при a < fl (a), где  

(12)

О соотношениях (11) – (12) говорят, что хранимое в машине число fl (a) представляется через само число a (в обычной арифметике) и величины (1 + ) или (1 ).

Далее для иллюстрации «эффектов» машинной арифметике воспользуемся соотношением (11), из которого следует, что машинное число с плавающей точкой fl (a) можно представить как произведение самого числа a (записанного не в машинной, а в обычной арифметике) на величину (1 + ), где  - относительная погрешность числа fl (a) с плавающей точкой, которая в соответствии с формулой (8) непосредственно связана с эпсилоном

Далее для изучения погрешностей результатов арифметических операций над числами с плавающей точкой необходимо учесть, что в начале в компьютере операции над двумя машинными числами a и b осуществляются точно (благодаря использованию двойной длины машинного слова), после чего производится округление результата до принятого количества разрядов.

Обозначим символом a b результат любой бинарной арифметической операции проводимой с числами a и b. Тогда по аналогии с формулой (11) хранимый в машине результат такой арифметической операции можно представить в виде:

fl (a b) = (a b)(1 + 1), (13)

где как и ранее 1  есть относительная погрешность результата fl (a b).

Пусть необходимо последовательно сложить три положительных числа a1, a2, a3. В ЭВМ данная операция будет выполнена поэтапно в два приёма. Сначала будут складываться числа a1 и a2. В результате в памяти компьютера будет храниться число:

fl (a1 + a2) = (a1 + a2)(1 + 1), где 1  ;

Затем (на втором этапе операции сложения чисел a1, a2, a3) к числу fl (a1 + a2) будет прибавлено число a3.

Таким образом, можем записать, что в результате:

fl (a1 + a2+ a3) = fl (fl(a1 + a2) + a3) = ((a1 + a2)(1 + 1) + a3)(1 + 2) =

= (a1 + a2)(1 + 1)(1 + 2) + a3(1 + 2), где i  (i = 1, 2).

Заменяя i большим значением , получим оценку абсолютной погрешности суммы трёх слагаемых:

fl (a1 + a2+ a3)  (a1 + a2 + a3)  (a1 + a2)(1 + )(1 + ) + a3(1 + )  (a1 + a2 + a3) 

 2(a1 + a2) + a3 + (a1 + a2) 2.

Анализируя последнее выражение необходимо обратить внимание на неравномерность слагаемых в образовании погрешности суммы трёх чисел. Меньшую роль в ней играет последнее слагаемое. Причина этого заключается в том, что первые слагаемые неявно (в просуммированном виде) участвуют в процессе каждого последующего сложения. Очевидно, чтобы эта погрешность была минимальной, последовательность чисел нужно суммировать в порядке возрастания величины слагаемых.

Результат параграфа 2 данной лекции свидетельствует, что машинную арифметику необходимо рассматривать только как приближение к обычной арифметике.

Заключение (план - аннотация лекции №3).

В лекции №3 рассмотрены вероятностный подход к оценке погрешности и особенности погрешности машинной арифметики.

Обоснован тезис, что рассмотренная ранее теория учёта погрешностей рассматривает наихудший вариант взаимодействия погрешностей, который хотя теоретически допустим на практике, но практически маловероятен.

Отмечено, что фактически на практике ошибки отдельных слагаемых, как правило, имеют различные знаки и, следовательно, частично компенсирует друг друга, давая меньший вклад в конечный результат вычисления. Поэтому наряду с теоретической идеальной погрешностью рассмотренных ранее арифметических операций целесообразно вводить понятия практических абсолютной и относительной погрешностей, реализуемых с некоторой мерой достоверности. Продемонстрирована реализация вероятностного подхода к оценке погрешности суммы и произведения приближённых чисел (имеющих одинаковые абсолютные и относительные погрешности.

На основе вероятностного подхода к учёту погрешности обоснован вывод, что среднее арифметическое значение приближённых чисел имеет повышенную точность по сравнению с самими этими числами.

На ряде практических примеров рассмотрены «странные» эффекты машинной арифметики, которая является лишь приближение к обычной арифметики. Отмечено, что корректные численные методы должны учитывать указанные эффекты этой машинной арифметики.

Рассматривается машинное представление целых и вещественных чисел в рамках машинной арифметики с плавающей точкой. Вводится понятие машинного эпсилона, как меры мерой относительной точности представления вещественных чисел, которая одинакова в любой части числового диапазона и зависит лишь от количества разрядов, отводимых под мантиссу числа.

Показано, что расстояние между вещественными числами и конечными приближениями к ним в системе с плавающей точкой неодинаковы в различных частях числового диапазона.

Рассмотрены подходы к учёту погрешности результатов арифметических операций над числами с плавающей точкой, показано, что они существенно отличаются от рассмотренных выше классических подходов к учёту погрешностей.

Обоснован вывод, что машинную арифметику необходимо рассматривать только лишь как приближение к обычной арифметике.

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