Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КТвН 1,2,3,4,5,6,_,8,_,10,11,12.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
473.3 Кб
Скачать

3. Потеря точности при операциях сложения и вычитания. Устойчивость вычислительных алгоритмов.

Одним из наиболее важных вопросов в численном анализе является вопрос о том, как ошибка, возникшая в определенном месте в ходе вычислений, распространяется дальше, т.е. становится ли ее влияние больше или меньше по мере того, как производятся последующие операции.  Крайним случаем является вычитание двух почти равных чисел: даже при очень маленьких ошибках обоих этих чисел относительная ошибка разности может оказаться очень большой. Эта большая относительная ошибка будет распространяться дальше при выполнении всех последующих арифметических операций. Для оценки ошибок, получаемых при вычислениях, нам потребуются формулы оценки абсолютной и относительной ошибок арифметических операций. Выпишем эти формулы.         Ошибки округления в вышеприведенных формулах не учитываются, поэтому, если необходимо будет подсчитать, как распространяется в последующих арифметических операциях ошибка результата, то следует к вычисленной по одной из формул ошибке прибавить ошибку округления.  Большинство трансляторов Фортрана устроено таким образом, что младшие разряды, не вошедшие в разрядную сетку, отбрасываются, что вносит ошибку отбрасывания, но экономит машинное время. Относительная ошибка отбрасывания равна  , где  – число значащих цифр в мантиссе. Если же в трансляторе применяется симметричное округление, то к самому младшему разрядку прибавляется 1, если отброшенное число начинается с цифры 5 или с большей. Максимально возможная относительная ошибка округления в этом случае равна 

Правила подсчета цифр (по В.М. Брадису) Эти правила даются в предположении, что компоненты действий содержат только верные цифры и число действий невелико. 1) При сложении и вычитании приближенных чисел в результате следует сохранить столько десятичных знаков после запятой, сколько их в приближенном данном с наименьшим числом десятичных знаков после запятой. 2) При умножении и делении в результате следует сохранить столько значащих цифр, сколько их в приближенном данном с наименьшим числом верных значащих цифр. 3) При возведении приближенного числа в квадрат в результате следует сохранить столько значащих цифр, сколько их в основании степени.  4) При извлечении квадратного и кубического корней из приближенного числа в результате следует сохранить столько значащих цифр, сколько их в подкоренном числе. 5) При вычислении промежуточных результатов следует сохранить на одну цифру больше, чем рекомендуют правила 1-4. В окончательном результате эта «запасная цифра» отбрасывается. 6) Если данные можно брать с произвольной точностью, то для получения результата с m верными цифрами исходные данные следует брать с таким числом цифр, которые согласно предыдущим правилам обеспечивают m+1 цифру в результате.

Общие рекомендации, позволяющие уменьшить погрешность вычислений. 1) Если необходимо произвести сложение-вычитание длинной последовательности чисел, то начинать надо с наименьших чисел;ъ 2) Необходимо избегать вычитания двух почти равных чисел, по возможности преобразуя формулы; 3) Необходимо сводить к минимуму число необходимых арифметических операций. 4) Очень важно использовать алгоритмы, в которых ошибки округления не накапливаются. Такие алгоритмы называются устойчивыми.

http://do.gendocs.ru/docs/index-38982.html

Устойчивость вычислительных алгоритмов

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

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

Пример: cистема уравнений

Дана система двух линейных уравнений: 

Решением является пара чисел 

«Возмутим» правую часть первого уравнения на 0,01 (вместо 11 напишем 11,01) и получим новую, «возмущённую» систему, решением которой является пара чисел {11,01; 0,00}, не имеющая ничего общего с решением невозмущённой системы. Здесь изменение значения одного параметра меньше чем на   привело к совсем другому решению.