Погрешности арифметических выражений



Глава 2. Источники и виды погрешностей результата вычислительной задачи

 

Погрешности вычислений на ЭВМ

 

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

1) математическая модель задачи является приближенным описанием реального объекта или процесса, поэтому получаемые результаты также всегда будут приближенными, а их погрешности зависят от степени адекватности моделей реальному объекту или процессу;

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

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

4) использование ЭВМ вносит ошибки, которые появляются при вводе-выводе данных в процессе вычислений.

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

- неустранимая погрешность;

- погрешность метода;

- вычислительная погрешность.

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

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

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

Абсолютные и относительные погрешности представления чисел

       При решении реальных задач из их физической постановки, как правило, всегда можно определить разумную точность выполнения вычислений. Например, перемещения звена механизма могут быть измерены штангенциркулем с точностью до 0,05 мм= 5×10-5 м. Поскольку на практике достаточно выполнять расчеты с точностью на один порядок более высокой по сравнению с измерениями, то в данном случае расчетную точность достаточно принять равной 5×10-5 ×10-1 м =5×10-6м =5 мкм.

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

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

Пример 1. Пусть а=0,123456 - точное число. Тогда различные приближения можно задать следующим образом: а*1=0,1; а*2=0,12; а*3=0,123; а*4=0,1234; а*5=0,12345.

       Очевидно, что не все приближенные значения одинаково качественно заменяют точную величину. Для оценки данного качества применяют понятие погрешности. Разность r(а*) = (а*-а) между приближенным а* и точным а числами называют погрешностью или ошибкой приближенного числа а*. При этом а* = а + r(а*).

       Поскольку возможно, что а* > а или а* < а, то вводится понятие абсолютной погрешности приближенного числа, которая обозначается как D(а) и равна абсолютной величине отклонения (а*- а):

        D( а*) =ïr(а*)ï=ï а*- а ï.                                                              (2.1)

       Возможны два случая вычисления абсолютной погрешности:

1) когда точное число известно (например, это дробь с большим числом знаком в дробной части: а =0,123456), в этом случае D( а*) всегда можно точно вычислить (например, при а*=0,12 погрешность D(а*) =0,003456),

2) если точное число а не известно либо представляет собой бесконечную дробь, то абсолютную погрешность D(а*) (как и ошибку а*) невозможно выразить точно и для нее используется понятие предельной абсолютной погрешности, которая задает не точный размер абсолютной погрешности, а ее верхнюю оценку:

       ï а*- а ï£ D( а*).                                                                                                 (2.2)

       Если величина D(а*) не достигается, то неравенство (2.2) должно быть строгим (<).

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

       Абсолютная погрешность D(а*) (как точная, так и предельная) задает размер ошибки приближенного числа  а*, выраженной в тех же единицах измерения, что и точная величина а. Единицы измерения могут быть базовыми - метры, секунды, кг и др., а также производными от них – составляющие кратную или дробную часть их (км – километр (103 м), мм – миллиметр (10-3 м), мкм –микрон (10-6 м), мсек - миллисекунда (10-3 сек),) либо их сочетание (м/сек – единица измерения скорости, кг/м3 – единица измерения плотности вещества и т.д.). Абсолютная погрешность D(а*) является безразмерной величиной только в том случае, когда сама точная величина а не имеет физической размерности.

       Абсолютная погрешность D(а*) не соизмеряет величину ошибки, вносимой приближенным числом а*, его величиной. Для этого используют предельную относительную погрешность, под которой понимают отношение вида:

       d(а*) =D(а*)/а*.                                                                                                   (2.3)

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

Пример 2.Значение а* = 3,14 является приближенным значением точного числа а = p, которое является иррациональным и численно выражается в виде бесконечной дроби вида p = 3,141592.... Точное значение его абсолютной погрешности D(а*) и ошибки (а*- p) нельзя представить конечным числом, поскольку оно равно бесконечной дроби 0,001592.... Округлив данное значение до конечной дроби 0,001593, дающей величину предельной абсолютной погрешности D(а*). При такой ее величине относительная погрешность представления числа p равна:

       d(а*) =0,001593/3,14 » 0,00051 = 0,051%.

Вопросы для проверки знаний.

1. Перечислите 4 основных причины появления погрешности при решении задач на ЭВМ.

2. Назовите 3 составляющих погрешность решения вычислительной задачи на ЭВМ и поясните их происхождение.

3. Что называют приближенным числом ?

4. Сколько приближенных чисел а* может быть задано для фиксированного точного значения а?

5. Что называют погрешностью или ошибкой приближенного числа ?

6. Что называют абсолютной погрешностью приближенного числа ?

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

8. Что называют предельнойабсолютнойпогрешностью и в чем ее отличие отабсолютнойпогрешности?

9. Что называют предельной относительной погрешностью?

10. Может ли иметь физическую размерность относительная погрешность ? Ответ пояснить.

Практические задания.

1. Основание натурального логарифма e - иррациональное число, приближенно равное 2,718281828.... Определить (или обосновать отсутствие) для его приближенного значения e*= 2,7:

а) ошибки,

б) абсолютной погрешности,

в) предельной абсолютной погрешности,

г) относительной погрешности.

2. Конечная дробь 0,0013051958 заменена приближенным значением а*=0,0013. Определить (или обосновать отсутствие) для а*:

а) ошибки,

б) абсолютной погрешности,

в) предельной абсолютной погрешности,

г) относительной погрешности.

2.3. Запись числа в системе счисления с постоянным основанием.
 Значащие цифры. Округление

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

       В общем случае для целых чисел в позиционной системе с основанием p вес (стоимость) одной единицы, помещенной в разряд с номером k, равна рk. Запись вида Аp = ak...a2a1a0в системе с основанием р означает число, равное сумме А = ak×рk + ... + a2×р2 + a1×p1 + a0×р0. Величину основания р, используемую при записи числа А в системе с постоянным основанием, указывают в виде нижнего индекса:

       ak...a2a1a0p  = ×ak×рk + ... + a2×р2 + a1×p1 + a0×р0                                            (2.4)

       Данное выражение называют развернутой формой представления целых чисел в позиционной системе счисления.

Пример 1.Запись вида А10 = 29510 в десятичной системе (р = 10), означает число, равное A = 2 × 102 + 9 × 101 + 5 × 100.

       Правильная дробь имеет нулевую целую часть. Результат перевода правильной дроби — всегда правильная дробь. Обыкновенной дробью называется ее представление в виде отношения ±m/n, где m (числитель) и n (знаменатель) — натуральные числа. Числитель m также может быть равен нулю.

       В позиционной системе счисления с основанием p запись правильной дроби имеет вид 0,a–1a–2 …as (конечный или бесконечный), представляющий разложение числа по отрицательным (–1, –2, …)степеням p. Все величины, стоящие в разрядах дроби в системе с основанием p, как и у целых чисел, могут принимать значения от 0 до p – 1. Запись Аp = 0,a–1a–2 …as означает:

       (0,a–1a–2 …as) p = a–1p–1 + a–2p–2 + … +asps.                                           (2.5)

Пример 2. 0,4710 = 4 × 10–1 + 7 × 10–2.

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

Пример 3.Бесконечная периодическая дробь 0,245(37) имеет предпериод 245 и период, равный 37.

       Если в разложении основания системы p на простые сомножители входят только 2 и 5 (раскладывающие число 10), например p = 25 = 5×5, то конечные дроби в таких системах всегда будут переводиться в конечные дроби в десятичной системе.

       Если же в разложение основания p входят сомножители, отличные от 2 и 5, то конечные дроби в этих системах переводятся в бесконечные периодические десятичные дроби.

       Обобщая правила записи целых и дробных чисел в позиционных системах, можно сказать, что номера разрядов слева от разделяющей запятой (в целой части числа) увеличиваются, начиная с нуля:0,1,2,…, а справа от запятой – убывают, начиная со значения (-1): (-1), (-2), (-3), …

       Пример 4.Найти в десятичной системе запись дроби, представленной в системе с основанием 4 записью0,3124.

Решение. Поскольку основание р = 4 = 2×2 и 2 является делителем 10, то дробь 0,3124 в десятичном представлении будет конечной. Найдем ее, используя определение (2.5.) записи правильных дробей в системах с постоянными основаниями:

       0,3124.= 3× 4–1 + 1 × 4–2 + 2 × 4–3 = 3× (0,25) + 1 × (0,0625) + 2 × (0,015625) = 0,75 + 0,0625 + 0,03125 = 0,84375.

Пример 5.Найти в десятичной системе запись дроби, представленной в системе с основанием 7 записью0,534.

Решение. Основание р = 7 содержит множители (7), не являющиеся простыми делителями 10. Поэтому десятичное представление ее имеет вид бесконечной периодической дроби. Для определения ее предпериода и периода надо вычислить в ней достаточное число знаков. Используем для выполнения деления с большим числом знаков, например, калькулятор:

       0,27.= 2× 7–1 = 2/7 » 0,28571428571428571428571428571429... .

       Из общего вида записи следует, что предпериод у дроби отсутствует, а период равен (285714). В итоге выражение дроби в десятичной системе имеет вид: 0,27.=0,(285714)10.

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

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

Пример 6. Заданы следующие записи чисел: a1 = 3,14; a2 = 0,123; a3 = 0,00211; a4 = 0,12300. У чисел a1, a2, a3 по 3 значащие цифры, у a4 - 5 значащих цифр. Абсолютные погрешности чисел равны, соответственно, D(а1) = 0,01=10-2; D(а2) = 0,001=10-3; D(а3) = D(а4) = 0,00001=10-5.

       Если запись приближенного числа а* в позиционной системе содержит лишние (или неверные) знаки, то его следует округлить, т.е. заменить числом а*1, которое имеет меньшее количество значащих цифр, чем исходное число а*.

       При округлении сохраняются только верные знаки; лишние знаки отбрасываются по правилу: если первая отбрасываемая цифра больше или равна p/2, то последняя сохраняемая цифра увеличивается на единицу.

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

Вопросы для проверки знаний.

1. Чему равно число, представленное в системе с основанием р записью вида (ak...a2a1a0)p ?

2. Какую запись называют правильной дробью ?

3. Что называют обыкновенной дробью ?

4. Чему равно число, представленное в системе с основанием р записью вида (0,a–1a–2 …as)p ?

5. Какую форму представления имеют в системах счисления с постоянным основанием рациональные числа ?

6. Из каких частей состоит запись бесконечной периодической дроби ?

7. Какие цифры в записи числа называют значащими ?

8. В каких случаях применяют округление записей чисел в позиционных системах счисления ? В чем оно заключается и по какому правилу выполняется ?

Практические задания.

1. Найти в десятичной системе счисления величину:

а) целого числа, заданного в системе с основанием 7 записью вида 1010;

б) целого числа, заданного в системе с основанием 11 записью вида 19:

в) дроби, заданной в системе с основанием 5 записью вида 0,432:

г) величину дроби, заданной в системе с основанием 3 записью вида 0,121.

2. Сколько значащих цифр имеют записи чисел:

а) 245,084; б) 0, 0001001; в) 0,21000; г) 1,0000100 ?

3. Округлить записи чисел до первого знака после запятой:

а) 6,1437; б) 12,1113; в) 0,004310; г) 0,7778; д) 120,132004.

Погрешности арифметических выражений

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

1. Предельная абсолютная погрешность алгебраической суммы (суммы или разности) чисел a и b равна сумме предельных абсолютных погрешностей слагаемых:

       D(а* ± b*)  = D(а*) + D( b*).                                                                   (2.6)

2.Относительная погрешность алгебраической суммы чисел a и b заключена между наибольшей и наименьшей из относительных погрешностей чисел a и b:

       min(d(а*), d(b*)) £ d(а* ± b*)  £ max (d(а*),d(b*)).                                          (2.7)

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

       d (а* ´ b*)  = d (а*) + d ( b*);                                                                             (2.8)

       d (а* / b*)  = d (а*) + d ( b*).                                                                              (2.9)

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

       d (а*)n)  = d×D(а*).                                                                                     (2.10)

   С точки зрения потери точности наиболее неблагоприятным является вычитание близких чисел. В этом случае у близких чисел а* и b* при малых абсолютных погрешностях D(а*) и D(b*) относительная погрешность разности, равная d (а* - b*) = (D(а*) + D( b*))/ïïа*ï b*ïï, может стать весьма большой из-за малости знаменателя дроби. Данное явление называют потерей точности при вычитании близких чисел.Дляпредотвращения этого явления необходимо изменять расчетные формулы.

       Доказательства (2.6) - (2.10) основаны на представлении приближенных чисел в виде а* = а + r(а*) и свойствах модуля. Например, для (2.6):

       D(а* ± b*) = ï(а* ±b*)-(а ± b)ï=ïr(а*r(b*,b)ï≤ïr(а*)ï+ïr(b*, b)ï = D(а*) + D(b*).

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

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

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

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

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

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

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

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

Вопросы для проверки знаний.

1. Почему теоремы (2.6) - (2.10) имеют в основном теоретическое значение ?

2. Какое явление называют потерей точности при вычитании близких чисел и в чем его причина ?

3. Почему помимо теоретических оценок погрешностей (2.6) - (2.10) используют правила учета цифр и знаков в записи результатов арифметических действий ?

Практические задания.

1. Доказать теоретическую оценку погрешностей: а) (2.7), б)(2.8), в) (2.9), г)(2.10).


Дата добавления: 2018-04-15; просмотров: 633; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!