Скачиваний:
14
Добавлен:
30.04.2013
Размер:
215.04 Кб
Скачать

Приближенные числа.

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

При решении научно-технических задач чаше имеют дело с вещественными (действительными) числами.

Десятичное число в форме с плавающей точкой имеет вид (2.01),

m – мантисса, n – порядок числа.

Пример:

Нормализованная форма числа имеет мантиссу m<1

(2.02).

Такое представление используется в компьютерах, как правило, на этапе ввода и вывода чисел. В национальной системе счисления с основанием r:

(2.03),

где ,, - целые числа из диапазона 0,…,r-1.

Наиболее часто в памяти компьютера применяется двоичная система.

Записать вещественное число в нормализованной форме [В двоичной системе].

Из этой записи следует, что подмножество действительных чисел, с которыми оперирует компьютер, не является бесконечным: оно конечно и определяется разрядностью k и границами порядка , ().

Можно показать, что это подмножество содержит количество чисел равное N:

(2.04).

Наибольшим и наименьшим по модулю являются числа:

- машинный ноль; - машинная бесконечность (2.05)

Границы порядка определяют ограниченность действительных чисел по величине,

Разрядность k – дискретность распределения их на отрезке числовой оси.

Например: в случае десятичных чисел при четырехразрядном представлении все значения, находящиеся в промежутке (0.28505, 0.28515), представляются числом 0.2851.

Если к этому числу прибавить число, меньшее по модулю половины единицы последнего разряда (т.е. |a|<0.00005), в результате получится то же самое число 0.2851.

В современных языках программирования предусмотрены типы данных для представления вещественных чисел с одинарной и двойной точностью:

Язык Cu : float double

Язык Pascal : single double

Эти представления соответствуют стандарту IEEE 754 (Институт инженеров по электротехнике и электроники, США), которого придерживается большинство производителей процессоров.

Размер отводимой памяти для этих форматов

Точность

Байты

k

Одинарная

4

24

-125

128

Двойная

8

53

-1021

1024

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

Пример. Необходимо вычислить значение суммы (для чисел в форме с плавающей точкой).

Это можно сделать двумя способами:

  1. ,

  1. , n=1000000,…,2,1

Тестовые расчеты на ЭВМ показали, что для второго алгоритма вычислительная погрешность будет существовать меньше.

Алг. 1 >> Вычислительная погрешность

Алг. 2 >> Вычислительная погрешность

Знак разряда

8-бит порядок

23-бит мантиса

0

10000000

10000000000000000000000

3

0

10000010

11000000000000000000000

0

01111111

10000000000000000000000

0

01101001

11010110101111111001010

0

10000010

00000000000000000000000

3+

0

10000010

11000000000000000000000

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

Понятие погрешности.

Приближенным числом a называется число, незначительно отличающееся от точного А и заменяющее последнее в вычислениях. Если известно, что:

a<A, a называют приближенным значением числа А по недостатку;

a>A, то – по избытку.

Запись .

Например приближение по недостатку -> 1.41<<1.42 <-приближение по избытку

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

Во многих случаях знак ошибки неизвестен. Поэтому используют понятие абсолютная погрешность.

Абсолютная погрешность приближенного числа а называют абсолютная величина разности между соответствующим точным числом А и числом а, т.е.

(2.06)

Здесь следует различать 2 случая:

  1. Число А – известно, тогда абсолютная погрешность легко вычислить по формуле (2.06);

  2. Число А не известно (что бывает чаще) >> мы не можем определить абсолютную погрешность. В этом случае полезно вместо неизвестной теоретической абсолютной погрешности ввести ее оценку сверху.

Под предельной абсолютной погрешностью приближенного числа понимается всякое число, не меньше абсолютной погрешности этого числа.

(2.07)

>> точное число А заключено в границах

(2.08)

Пример: определить предельную абсолютную погрешность числа а=3,14, заменяющего число .

3,14 < <3,15

|a-|<0,01 >>

Если учесть, что 3,14<<3,142

>> имеем лучшую оценку:

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

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

Абсолютная погрешность (или предельная абсолютная погрешность) недостаточна для характеристики точности измерения (вычисления).

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

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

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

(2.09)

Отсюда

Например: Всегда погрешность округляется в сторону увеличения

Так же, как для абсолютной погрешности, введем понятие предельной относительной погрешности.

Предельной относительной погрешностью данного приближенного числа а называют такое число, не меньшее относительной погрешности этого числа:

(2.10)

Т.о. за предельную абсолютную погрешность числа а можно принять:

(2.11)

Т.к. (2.11`)

Отсюда зная предельную относительную погрешность ,получают границы для точного числа: а(1-), а(1+), условно записывают: .

Примеры:

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

а=0,734 могло быть получено округлением чисел 0,73441 и 0,73353

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

Примеры оценки абсолютной погрешности приближенной величины а:

а

51.7

-0.0031

16

16.00

0.05

0.00005

0.5

0.005

Приведенные оценки погрешностей приближенных чисел справедливы, если в записи этих чисел все значащие цифры верные.

Значащими цифрами называются все цифры данного числа, начиная с первой ненулевой цифры.

Например: 0,037 >> значащие цифры 3 и 7.

В числе 14.80 все 4 цифры значащие.

Важно: при изменении формы записи числа (например, при записи в форме с плавающей точкой) число значащих цифр не должно меняться, т.е. необходимо соблюдать равносильность преобразований.

Пример:

Правила оценки предельных погрешностей при выполнении операций над приближенными числами.

Где a и b – приближенные числа.

Слова: при сложении или вычитании чисел их абсолютные погрешности складываются. При умножении или делении чисел друг на друга их относительные погрешности складываются.

При возведении в степень приближенного числа его относительная погрешность умножается на показатель степени, т.е. предельная относительная погрешность k-ой степени числа в k раз больше предельной относительной погрешности самого числа.

Предельная относительная погрешность разности

(2.13)

, A – точное значение абсолютной величины разности и .

Если и достаточно близки друг к другу и имеют малые абсолютные погрешности, то А – мало. Из (2.13) предельная относительная погрешность может весьма большой, в то время как относительная погрешности уменьшаемого и вычитаемого остаются малыми, т.е. здесь происходит потеря точности.

Напр. (в каждом из чисел по 5 значащих цифр)

Предельная абсолютная погрешность:

Предельная относительная погрешность разности здесь примерно в 5000 раз больше предельных относительных погрешностей исходных данных.

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

S=0.2764+0.3944+1.475+26.46+1364

Складывая все эти числа, затем округляя полученный результат до 4-х значащих цифр, получим

S=1393.

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

0.2764+0.3944=0.6708

0.6708+1.475 = 2.156

2.156 +26.46 = 28.62

28.62 +1364 = 1393 – верный результат (!)

Изменим теперь порядок вычислений.

Будем складывать в обратном порядке:

1364+26.46=1390

1390+1.475=1391

1391+0.3944=1391

1391+0.2764=1391 – здесь результат менее точный.

В машинной арифметике из-за погрешности вычисления существенен порядок вычисления операций. Известные из алгебры законы коммутативности (и дистрибутивности) не всегда выполняются.

Еще один важный пример – использование рядов для вычисления значений функции.

Например разложение функции sin x по степеням аргумента:

Sin x=

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

Вычислим значение функции sin x при x=0.5236 (30˚). Члены ряда, меньшие , учитывать не будем. Вычисления проведем с 4-мя верными знаками.

Sin 0.5236=0.526-0.2392

Это отличный результат в рамках принятой точности. Известно, что разложение sin справедливо при любом значении аргумента (), используем его для вычисления функции при

x=6.807 (390˚)

Опуская вычисления, получим

Sin 6.8070.5167.

Относительная погрешность здесь составляет около 3% (вместо ожидаемого значения 0.01% по признаку Лейбница). Это объясняется погрешностью округлений и способом суммирования ряда (слева направо, без учета величины членов).

Не всегда помогает и повышенная точность вычислений. В частности для данного ряда при x=25.6563…(1470˚=˚+30˚) даже при учете членов ряда до и вычислениях с 8-ю значащими цифрами в результате аналогичных вычислений (суммирование слева направо) получается результат

Sin x129 (!)

Что не имеет смысла (противоречит определению sin)

При организации вычислений можно своевременно распознать “подводные камни”, дающие потери точности. Для тригонометрических функций можно использовать формулы приведения, благодаря чему аргумент будет находиться на отрезке [0;1].

При вычислении exp аргумент x можно разбить на сумму целой и дробной частей

И использовать разложение в ряд только для вычислять умножением.

Самостоятельно.

Турчак, Плотников

“Основы численных методов”

Стр. 23-26

“О решении квадратного уравнения”

Соседние файлы в папке Лекции