Амосов А.А., Дубинский В.А., Копченова Н.В. Вычислительные методы для инженеров (1994) (1095853), страница 8
Текст из файла (страница 8)
Формулы для границ погрешностей функции / (х) одной переменной являются частным случаем формул (2.16) — (2.18) при т = 1: ~(у*) = ~У'(х') ~ ~1( *), ~Ь') ' Т(х) | ~( ") 34 ("2.21) Пример 2.12. Пусть корни квадратного уравнения хг + бх + с = 0 вычисляются при значениях коэффициентов 6 ~ 10з, с в 1. Каково влияние погрешностей задания коэффициентов на точность вычисляемых значений? Воспользуемся явными формулами для корней: х1 = / (6, с) = ( — 6— Ь(у*) ~ и*6(х'), Ь(у*) - иЬ(х*), (2.22) где и* = ~х*/ //'(х*) !/)Ях*) /, и = !х~ // (х)!/~/(х) ~.
/' (х) = ( — Г' /Г' ) ~, 1 = 1, 2, ..., т, у ~ у=Як/ (2.23) то исследование неустранимой погрешности неявной функции сразу же сводится к рассмотренному выше случаю. Пример 2.13. Для проведенного в примере 2.12 исследования совсем не обязательно было выписывать явные формулы для корней. В этом случае величины х1 — / (Ь, с) и хт = у (Ь, с) можно рассматривать как неявные функпии, заданные уравнением Г(х, Ь, с) = О, где Г = хт + Ьх+ с. Здесь Г' = 2х + Ь, ГЬ' — х, Г' = 1. Следовательно, и1*, = () Ь| ~ГЬ/Г ~/( х~)), 3 10з/)2х* + 10з~, и — (~ с/ /Г /Г //!х/), 1/!(2х + 10з)х Вычисления при 1 = 1, х,* й — 10з н а = 2, х* ~ — 10 з дают те же значения кеэффициентов и* и и*, и*, и*, что и в примере 2.12, а, следовательно, те же формулы (2.20).
З 2.5. Особенности машинной арифметики Знание основных особенностей машинной арифметики необходимо для грамотного использования ЭВМ при решении научно-технических задач. Пользователь, не учитывающий эти особенности, вряд ли может Рассчитывать на высокую точность и эффективность вычислений. Невнимание к ним часто приводит к неверным результатам. Подчеркнем, что в основе причин появления вычислительной погрешности лежит сам способ представления чисел на ЭВМ. 35 3. Погрешность неявной функции. Нередко приходится сталкиваться с ситуацией, когда функция у = /(хп х2, ..., х ) задается не явной формулой, а как решение нелинейного уравнения Г (у, хы х2, ..., х,„) = = О, т.е.
неявно. Если для такой неявной функции воспользоваться известными формулами вычисления производных 1. Системы счисления. Принятый способ записи чисел состоит в представлении их упорядоченным набором цифр. В привычной нам десятичной позиционной системе счисления вещественное число х представляют последовательностью символов, которая начинается со знака (+ или — ) и продолжается цепочкой десятичных цифр а; и ~3л разделенных десятичной точкой: х = *оп ... ~1~~0.1112" 4й (2.24) Здесь каждой позиции (разряду), котоРУю занимает цифра относительно десятичной точки, отвечает определенная степень числа 10.
По существу, равенство (2.24) представляет собой принятое сокращение полной записи числа х, имеющей вид х = ~(а„10" + ... + а,.10~ + ао 10'+ Д 10 ~ + + Дг 10 ' + ... +,0 ° 10 '" + ...). Пример 2.14. Запись х = 20.5 означает, что х = 2 ° 10~ + 0 10о + 5.10 ~. Для представления чисел в вычислительных машинах также используют позиционные системы счисления, однако основаниями систем служат,,как правило, степени числа 2.
Это вызвано способом хранения чйсел в устройствах памяти ЭВМ, каждое из которых можно рассматривать как набор однотипных элементов, способных находиться только в одном из двух возможных устойчивых состояний — "включен" или "выключен". Эти состояния интерпретируются соответственно как О или 1 — значения двоичного числа. Наиболее распространены системы счисления с основанием 2 (базисная двоичная система счисления), 8 и 1б. Игнорируя некоторые малосущественные детали, будем считать, что все вычислительные машины работают в двоичной системе счисления.
В ней вещественное число х по-прежнему записывается в виде (2.24), однако а, и,9; — уже двоичные цифры (О или 1). В этом случае полная запись выглядит так: х = ц(сии 2" + ... + а~ ° 2' + ао 2о + Д~ 2 ' + + Уг'2~+" + Р '2и+ "). Пример 2.15. Запишем число х = 20.5 в двоичной системе счисления. Для этого разложим его в сумму по степеням двойки: х = 1 ° 2~ + 0 ° 2з + 1 2з + + 0 ° 2' + 0 2о + 1 ° 2 ~.
Опуская степени двойки, получаем х = (10100.1)~. Здесь нижний индекс 2 указывает на основание системы счисления. 36 Для хранения числа в памяти ЭВМ отводится поле стандартной длины (нашинное слово), в котором число записывают в виде последовательности двоичных цифр.
По форме представления, способу хранения и реализации арифметических операций существенно различаются два типа используемых на вычислительных машинах чисел: целые числа и вещественные числа. 2. Представление целых чисел. Целое число и представляют в виде (2.25) и = +(ау,2~" + ... + а12~ + ао2о), где Š— некоторое стандартное для ЭВМ цело~ пгсло, а; — двоичные цифры. Всего для хранения числа и отводят 1.
- 2 разрядов (один из них для хранения знака). Из представления (2.25) видно, что максимальное по модулю целое число, представимое в ЭВМ, есть и ~„= 2ь + ... + 2' + 2в = 2ь'1 — 1. Обычно это значение не очень велико. Например, при стандартном формате записи целых чисел на компьютерах типа 1ВМ РС и 2з1 1 ц 2.1Рэ Операции сложения, вычитания и умножения над целыми числами реализованы так, что если результат не превышает по модулю число и„.
„, то он получается точным. Отметим, однако, следующую неприятную особенность. Если модуль результата превышает и „, то на большинстве вычислительных машин эта ситуация не доводится до сведения пользователя, происходит присвоение результату некоторого значения (меньшего и„„„по модулю) и вычисления продолжаются далее. 3. Представление вещественных чисел. В большинстве современных ЭВМ для вещественных чисел принята форма представления с плавающей точкой, когда каждое число представляют в виде т = +(71 ° 2 1 + 72 2 2 + ...
+ У~ 2 ~)2Р. (2.26) Здесь 71, 7~, ..., 7~ — двоичные цифры. Число х нормализуется так, чтобы 71 — — 1, и поэтому в памяти ЭВМ хранятся только значащие цифры, Число р = +(71 2 ' + 72 2 2 + ... + 7~ 2 ~) называется мантиссой числа х. Количество ~ цифр, которое отводится для записи мантиссы, называемое разрядносгпью мантиссы, зависит от конструктивных особенностей конкретной вычислительной машины, но всегда является конечным. В представлении (2.26) р — целое цисло, называемое дооичнмл~ иорядкол. Порядок также записывают как двоичное целое число р = 1(о~о~1 ...
оо)2, для хранения которого в машинном слове отводится ! + 2 двоичных разрядов. На рис. 2.1 схематически представлена структура машинного слова для хранения вещественного числа. 37 Дйиннии пером йаип~исса Рис. 2.1 Поскольку нуль — ненормализуемое число (его нельзя представить в виде (2.26) при 21 О), для его хранения предусматривают особый способ записи.
Пример 2.16. Представим число х = 20.5 в двоичной системе счисления в нормализованной форме с плавающей точкой. Так как х = (10100.1)г (см. пример 2.15), то, перемещая двоичную точку на 5 позиций влево, получаем х = (0.101001)г'2ь- На основании имеющихся сведений о представлении чисел в ЭВМ можно сделать ряд важных выводов. 1о. На ЭВМ представимы не все числа, а лишь конечный набор рациональных чисел специального вида. Эти числа образуют предстпави.иое множество вычислительной машины. Для всех остальных чисел х возможно лишь их приближенное представление с ошибкой, которую принято называть ошибкой предстпавления (или ошибкой округления).
Обычно приближенное представление числа х в ЭВМ обозначают' как х* = П(х). Если округление производят по дополнению, то граница относительной погрешности представления равна единице первого отброшенного разряда мантиссы, т.е. 5(х*) = е = 2 е (порядок числа не влияет на относительную погрешность представления). Если же округление производят усечением, то б(х *) = ем= 21 Е. Величина е играет в вычислениях на ЭВМ фундаментальную роль; ее называют относительной точностью ЭВМ, а также иашинной точностью (или лашинны и эпсилон). Всюду в дальнейшем ем — это относительная точность ЭВМ. Заметим, что значение этой величины определяется разрядностью мантиссы и способом округления. Важно с самого начала иметь четкое представление о том, что почти наверняка в представимом множестве ЭВМ нет числа у, являющего— ся решением поставленной задачи.
Лучшее, что можно попытаться сделать, — это найти его представление у* = Г1(у) с относительной точностью порядка ем. 1 П вЂ” начальные буквы англ. Йоа11щ — "плавающий". 38 Полезно отметить, что среди представимых на ЭВМ чисел нет не только ни одного иррационального (в том числе и таких важных по- стоянных, как х, е, ~2), но и даже такого широко используемого в вычислениях числа, как 0.1.