Способы уменьшения погрешности вычислений

Приложение А. Погрешности вычислений

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

Точность полученного в результате вычисления результата определяется погрешностью вычислений. Различают два вида погрешностей – абсолютную и относительную.

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

(А.1)

где а – приближенное значение числа х.

Относительная погрешность – это отношение абсолютной погрешности к приближенному значению числа:

(А.2)

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

Источники погрешностей

Рассмотрим различные причины возникновения погрешностей.

Математическая модель задачи является неточной

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

Ошибки в исходных данных

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

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

Вычислительные ошибки (ошибки округления)

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

Вычислительные ошибки

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

Представление чисел с плавающей точкой

Для хранения целых чисел (int, long, unsigned int и т.д.) обычно отводится 4 байта памяти, что позволяет представлять целые числа, находящиеся примерно в диапазоне от .

В вычислениях чаще используются вещественные числа (float, double). Такие числа представляются в компьютере в форме с плавающей точкой, и хранятся в логарифмическом виде – мантисса и порядок:

(А.3)

где m – мантисса, p – порядок, а – основание степени.

Мантисса записывается в нормализованной форме – с фиксированной точкой, подразумеваемой после первой значащей цифры. Нормализованной формой числа с плавающей точкой называется такая форма, в которой мантисса десятичного числа (без учёта знака) принимает значения , а мантисса двоичного числа принимает значения от .

Например, число 273.9 можно представить в виде или в компьютерном представлении 2.739E+02.

В таблице А.1 приводится диапазон допустимых значений и другие параметры для чисел с плавающей точкой одинарной (float) и двойной (double) точности.

Точность Одинарная Двойная
Размер (байты) 4 8
Наименьшее значение 1.2·10 −38 2.3·10 −308
Наибольшее значение 3.4×10 +38 1.7×10 +308
Размеры степени и мантиссы (биты) 8-23 11-52

Таблица A.1. Диапазон чисел, представимых в формате с плавающей точкой

Для чисел с плавающей точкой существует понятие машинного эпсилон – наименьшего положительного число ε такого, что . Например, для числа с одинарной точностью 1 + 0.00000001 = 1. Для одинарной точности , а для двойной точности .

Погрешность округления

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

Перевод чисел из одной системы счисления в другую также может быть источником погрешности из-за того, что основание одной системы счисления не является степенью основания другой (например, 10 и 2). Это может привести к тому, что в новой системе счисления число невозможно представить абсолютно точно, например:

Читайте также:  Невербальные способы выражения эмоций

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

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

, (А.4)

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

(А.5)

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

(А.6)

Относительная погрешность суммы положительных слагаемых вычисляется как:

. (А.7)

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

. (А.8)

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

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

1234 + 0.005678 = 1234.00005678

или в компьютерном представлении:

1.234Е+03 + 5.678Е-03 = 1.234005678Е+03

После сложения количество значащих цифр равно 10. Число с одинарной точностью (float) позволяет хранить только 8 значащих цифр, то есть на самом деле число будет равно 1.2340056Е+03. Две значащие цифры потерялись в процессе сложения. Потеря точности здесь возникает из-за того, что при прибавлении к большому числу малых чисел результат сложения выходит за пределы точности при округлении. Для того чтобы уменьшить погрешность вычислений, нужно складывать числа в порядке возрастания их абсолютной величины. Таким образом можно минимизировать абсолютную величину промежуточной погрешности при каждом сложении.

Рассмотрим теперь вычитание чисел (сложение чисел разного знака, или вычитание чисел одного знака). В соответствии с выражением (А.7) относительная погрешность может быть очень большой в случае, если числа близки между собой, так как даже при малых погрешностях результат их сложения в знаменателе может быть очень малым. Чтобы уменьшить погрешность при вычитании, необходимо строить вычислительные алгоритмы таким образом, чтобы избегать вычитания близких чисел.

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

Источник

Практические приемы уменьшения погрешностей

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

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

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

Например, вместо (a+b)^2 для случая, когда одно число намного меньше другого, лучше использовать выражение: a^2+2ab+b^2. Перемножение большого и маленького числа: 2ab позволит слегка поправить ситуацию.

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

4. Если числа равны a и b почти равны, то вычитание этих чисел следует производить раньше, чем деление или умножение.

К примеру, следует отдать предпочтение выражению (a-b)/c, а не выражению a/c-b/c. Во-первых здесь меньше операций (смотри пункт 3 и 6), а во-вторых, после деления числа станут меньше и еще меньше будут отличаться друг от друга, что может привести к обращению разности в ноль.

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

6. Всегда следует стремиться к уменьшению числа арифметических операций. Это объясняется тем, что чем больше операций, тем больше суммирующие погрешности.

Источник

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

1) Если необходимо произвести сложение-вычитание длинной последовательности чисел, то начинать надо с наименьших чисел;

2) Необходимо избегать вычитания двух почти равных чисел, по возможности преобразуя формулы;

3) Необходимо сводить к минимуму число необходимых арифметических операций.

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

1. Что такое абсолютная погрешность?

2. Что называется значащей цифрой числа?

3. Что называют точностью вычислений?

4. Что такое относительная погрешность?

Читайте также:  Все способы обособления обстоятельств

Варианты заданий к лабораторной работе № 1.

Вариант 1. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 34,5 ; б) 78,5 ; в) 22,45 ; г) 58,2 ; д) 46,97 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 41,42 ; б) 47,391 ; в) 13,524 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 38,428 ; б) 14,8808 ; в) 32,0345
Вариант 2. 1, Округлите число до единиц и найдите абсолютную и относительную погрешности а) 35,2 ; б) 82 ; в) 11,55 ; г) 85,7 ; д) 24,709 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 16,26 ; б) 20,15 ; в) 24,7128 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 48,39 ; б) 23,8595 ; в) 40,2061
Вариант 3.1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 34,6 ; б) 84,9 ; в) 40,43 ; г) 63,1 ; д) 42,369 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 31,05 ; б) 32,869 ; в) 35,8705 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 18,328 ; б) 32,818 ; в) 48,3611
Вариант 4. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 32,8 ; б) 87,3 ; в) 29,1 ; г) 90,4 ; д) 19,952 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 45,78 ; б) 45,547 ; в) 46,9971 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 28,242 ; б) 41,7566 ; в) 16,4995
Вариант 5. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 30 ; б) 89,1 ; в) 17,57 ; г) 67,5 ; д) 37,457 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 20,46 ; б) 18,185 ; в) 18,0928 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 38,13 ; б) 10,6753 ; в) 24,6213
Вариант 6.1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 26,1 ; б) 90,4 ; в) 45,84 ; г) 94,4 ; д) 14,887 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 35,08 ; б) 30,784 ; в) 29,1579 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 47,995 ; б) 19,5741 ; в) 32,7267
Вариант 7. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 21,1 ; б) 91,2 ; в) 33,91 ; г) 71,2 ; д) 32,24 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 49,65 ; б) 43,343 ; в) 40,1924 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 17,835 ; б) 28,4531 ; в) 40,8157
Вариант 8. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 45,2 ; б) 91,4 ; в) 21,79 ; г) 97,9 ; д) 49,519 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 24,17 ; б) 15,862 ; в) 11,1966 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 27,651 ; б) 37,3125 ; в) 48,8884
Вариант 9. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 38,3 ; б) 91,2 ; в) 49,47 ; г) 74,4 ; д) 26,724 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 38,64 ; б) 28,343 ; в) 22,1706 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 37,443 ; б) 46,1523 ; в) 16,9448
Вариант 10. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 30,5 ; б) 90,4 ; в) 36,96 ; г) 50,8 ; д) 43,854 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 13,06 ; б) 40,785 ; в) 33,1145 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 47,211 ; б) 14,9726 ; в) 24,985
Вариант 11. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 21,3 ; б) 39,2 ; в) 24,27 , г) 77,1 , д) 20,912 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 27,42 ; б) 13,133 ; в) 44,0236 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 16,955 ; б) 23,7735 ; в) 33,0091
Вариант 12. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 42,2 ; б) 37,5 ; в) 11,39 , г) 53,2 , д) 37,397 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 41,73 ; б) 25,553 ; в) 14,913 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 26,676 ; б) 32,5551 ; в) 41,0171
Вариант 13. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 31,3 ; б) 35,4 ; в) 33,32 , г) 79,2 , д) 14,311 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 15,99 ; б) 37,379 ; в) 25,7679 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 36,373 ; б) 41,3174 ; в) 49,0091
Вариант 14. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 20,6 ; б) 32,3 ; в) 25,03 , г) 55 , д) 31,653 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 30,2 ; б) 10,163 ; в) 36,5934 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 46,046 ; б) 10,0606 ; в) 16,9352
Вариант 15. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 33,6 ; б) 79,7 ; в) 11,66 , г) 30,7 , д) 43,425 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 44,36 ; б) 22,42 ; в) 47,3397 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 15,696 ; б) 13,7343 ; в) 24,9455
Вариант 16. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 25,9 ; б) 76,2 ; в) 33,06 , г) 56,3 , д) 25,127 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 13,47 ; б) 34,633 ; в) 13,1569 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 25,323 ; б) 27,4399 ; в) 32,3399
Вариант 17. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 42,4 ; б) 72,3 ; в) 24,29 , г) 31,7 , д) 41,759 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 32,53 ; б) 46,31 ; в) 23,3952 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 34,927 ; б) 36,1761 ; в) 40,3135
Вариант 13. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 23,2 ; б) 63 ; в) 10,35 , г) 57 , д) 13,322 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 46,54 ; б) 13,95 ; в) 39,6047 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 44,503 ; б) 44,3436 ; в) 43,7315
Вариант 19. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 43,3 ; б) 63,2 ; в) 36,24 , г) 32,2 , д) 34,317 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 20,5 ; б) 31,053 ; в) 10,2357 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 14,066 ; б) 13,4922 ; в) 16,6233
Вариант 20. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 27,3 ; б) 53,1 ; в) 21,97 , г) 57,3 , д) 11,244 2. Округлите число до десятых и найдите абсолютную и относительную погрешность а) 34,41 ; б) 43,119 ; в) 20,9332 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 23,601 ; б) 22,1222 ; в) 24,5106
Читайте также:  Ндс смешанный способ строительства
Вариант 21. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 41,6 ; б) 52,5 ; в) 47,53 ; г) 82,2 ; д) 27,604 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 48,28 ; б) 15,149 ; в) 31,5624 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 33,114 ; б) 30,7337 ; в) 32,3769
Вариант 22. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 24,7 ; б) 96,6 ; в) 32,92 . г) 57 ; д) 43,898 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 22,1 ; б) 27,143 ; в) 42,1585 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 42,604 ; б) 39,3266 ; в) 40,2278
Вариант 23. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 37,3 ; 6) 90,3 ; в) 18,16 ; г) 81,7 ; д) 20,125 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 35,86 ; б) 39,101 ; в) 12,7265 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 12,071 ; 6) 47,9011 ; в) 48,0633
Вариант 24. 1. Округлите число до единиц и найдите абсолютную и относительную погрешности а) 49,2 ; б) 83,5 ; в) 43,24 ; г) 56,3 ; д) 36,287 2. Округлите число до десятых и найдите абсолютную и относительную погрешности а) 49,59 ; б) 11,024 ; в) 23,2668 3. Округлите число до сотых и найдите абсолютную и относительную погрешности а) 21,516 ; б) 16,4573 ; в) 15,8834

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

Источник

Оцените статью
Разные способы