Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Поскольку ошибки обычно гораздо меньше самих величин, пренебрегаем произведением ошибок:
![]()
![]()
+ ![]()
![]()
+ ![]()
![]()
![]()
Ошибка произведения будет равна: ![]()
![]()
![]()
+ ![]()
![]()
![]()
Деление
Ошибка деления получается более сложным путём. Поэтому приводим только её окончательное выражение: ![]()
![]()
- ![]()
![]()
.
В качестве иллюстрации, которая может помочь наглядно представить себе смысл этих формул, рассмотрим сложение двух четырехзначных логарифмов. Так как оба логарифма точны до четвертого знака, то ошибка каждого из них не более 0.00005. Ошибка суммы не может быть больше 0.0001. Конечно, это не означает, что ошибка действительно стать велика, но означает только то, что ошибка может достигать такой величины.
Необходимо четко представлять себе, что знак ошибки бывает известен только в очень редких случаях. Не следует думать, например, что ошибка увеличивается при сложении и уменьшается при вычитании потому, что в формуле для сложения стоит плюс, а для вычитания - минус.
Если, например, ошибки двух чисел имеют противоположные знаки, то дело будет обстоять как раз наоборот, т. е. ошибка уменьшится при сложении и увеличится при вычитании этих чисел.
После того как мы вывели формулы для распространения абсолютных ошибок при четырех арифметических действиях, довольно просто вывести соответствующие формулы для относительных ошибок. Для сложения и вычитания формулы были преобразованы с тем, чтобы в них входила в явном виде относительная ошибка каждого исходного числа.
Сложение
Относительная ошибка суммы будет
![]()
![]()
![]()
Вычитание
![]()
![]()
![]()
Умножение
![]()
![]()
![]()
Деление
![]()
![]()
![]()
Очень важно четко понимать смысл этих формул распространения ошибок. Мы начинаем арифметическую операцию, имея в своем распоряжении два приближенных значения ![]()
с соответствующими ошибками ![]()
. Ошибки эти могут быть любого происхождения. Величины ![]()
могут быть экспериментальными результатами, содержащими ошибки; они могут быть результатами предварительного вычисления согласно какому-либо бесконечному процессу и поэтому могут содержать ошибки ограничения; они могут быть результатами предшествующих арифметических операций и могут содержать ошибки округления. Естественно, они могут также содержать в различных комбинациях и все три вида ошибок.
Вышеприведенные формулы дают выражение ошибки результата каждого из четырех арифметических действий как функции от ![]()
ошибка округления в данном арифметическом действии при этом не учитывается. Если же в дальнейшем необходимо будет подсчитать, как распространяется в последующих арифметических операциях ошибка этого результата, то необходимо к вычисленной по одной из четырех формул ошибке результата прибавить отдельно ошибку округления.
Мы часто будем в дальнейшем писать х без черточки сверху, хотя для полной строгости следовало бы писать эту черточку. Дело в том, что из контекста всегда в этих случаях будет ясно, что мы имеем дело с приближениями, а не с точными величинами.
Проиллюстрируем распространение ошибки на конкретном примере. Предположим, что перед началом вычислений имеются три числа х, у и z, и для упрощения вопроса предположим, что исходные числа не содержат никаких ошибок. Необходимо вычислить
u = (x + y)·z.
Согласно тому, как написано выражение, сначала должно быть выполнено сложение. Оба слагаемых не содержат никаких ошибок, поэтому ошибка, распространяющаяся через сложение, равна нулю; однако при выполнении операции сложения будет введена ошибка округления. Эта ошибка округления уже будет содержаться в сумме перед началом выполнения операции умножения. Обозначим через ![]()
общую ошибку суммы. Тогда
![]()
Число в правой части этой формулы является просто верхним пределом ошибки округления для любой арифметической операции при симметричном округлении. В данном случае по-прежнему предполагается, что действительное число в машине представляется в виде десятичной дроби с t значащими цифрами.
Мы знаем, что относительная ошибка произведения равна сумме относительных ошибок сомножителей плюс ошибка округления при умножении. Так как результат умножения равен ![]()
, то можно написать:
![]()
![]()
+![]()
, где ![]()
равно относительной ошибке z, а ![]()
равно ошибке округления при умножении. Но мы предполагали, что ошибка z равна нулю, а поэтому
![]()
.
Последнее неравенство называется неравенством треугольника: равенство имеет место, когда ![]()
и ![]()
ют одинаковые знаки, а неравенство - тогда, когда они имеют разные знаки.
Поэтому можно написать ![]()
![]()
Так как по окончании вычислений нам известно ![]()
то легко можно найти максимально возможную абсолютную ошибку:
![]()
Изложенный материал можно заключить следующими рекомендациями:
Если необходимо произвести сложение – вычитание длинной последовательности чисел, сначала надо складывать-вычитать наименьшие числа. Если возможно – надо избегать вычитания почти равных чисел. Формулы, содержащие такое вычитание, часто можно преобразовать так, чтобы избежать подобной операции. Выражение вида a(b-c) лучше переписать в виде ab-ac, а выражение вида (b-c)/a в виде b/a-c/a. Если числа в разности почти равны друг другу, производить вычитание до умножения или деления. В этом случае задача не будет дополнительно осложнена ошибками округления. Сводить к минимуму число арифметических операций.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


