- •Курс лекций “Численные методы”
- •Введение. Математическое моделирование и вычисленный эксперимент
- •1. Схема вычислительного эксперимента
- •2. Разностные уравнения первого порядка
- •1 Погрешности результатов приближенных вычислений
- •1.1 Формула для оценки главной части погрешности
- •1.2 Статистический метод учета погрешностей
- •1.3 Погрешности машинной арифметики
- •1.4 Чувствительность численного решения к погрешности исходных данных
- •1.5 Погрешность решения и обусловленность
1.2 Статистический метод учета погрешностей
Рассмотренный выше аналитический метод учета погрешностей имеет существенный недостаток: он учитывает крайние, наихудшие случаи взаимодействия погрешностей, которые допустимы, но маловероятны. В данном методе погрешности всегда складываются, хотя, например, при суммировании нескольких приближенных чисел среди них почти наверняка будут слагаемые, как с избытком, так и с недостатком, т.е. произойдет частичная компенсация погрешностей. При больших количествах однотипных вычислений вступают в силу уже вероятностные, или статистические, законы формирования погрешностей. Например, показано, что математическое ожидание абсолютной погрешности суммы слагаемых с одинаковым уровнем абсолютных погрешностей при достаточно большом , пропорционально . В частности, если >10 и все слагаемые округлены до -го десятичного разряда, то для подсчета абсолютной погрешности суммы применяется правило Чеботарева:
. (1.4)
Пусть , , . Тогда классическая оценка абсолютной погрешности величины есть
,
т.е. какая же, как и у исходных данных. В то же время по формуле (1.4) имеем
1.3 Погрешности машинной арифметики
В данном курсе не рассматриваются
1.4 Чувствительность численного решения к погрешности исходных данных
Рассмотрим примеры чрезмерной чувствительности.
Пример 1.1 Вещественный корень уравнения
где очень малое положительное число, а натуральное достаточно велико. Тогда естественно заменит нулем и положить . В данном случае абсолютная погрешность составит величину . Много это или мало – судить об этом можно придавая и численные значения. Например, взяв , =10, получим абсолютную погрешность корня , равную 0.1. Относительная погрешность при этом может оказаться сколь угодно большой, если взять сколь угодно малым.
Пример 1.2 Пример Уилкиксона. Определение корней многочлена.
Многочлен
имеет 20 хорошо отделимых корней: . Предположим, что только в одном его коэффициенте, а именно при сделана ошибка: вместо в развернутый вид многочлена поставлено число . Полученный при этом так называемый возмущенный многочлен будет иметь следующие корни: , , , , , , , , .
Как видим, весьма малое возмущение (сопоставимое с одинарной машинной точностью проводимых расчетов) всего лишь в одном коэффициенте даже качественно изменило набор корней данного многочлена: половина из них перестали быть действительными.
Пример 1.3 Решение линейной системы.
В данном случае имеем единственное решение , . Допустив абсолютную погрешность в 0.01 в правой части одного уравнения, получим возмущенную систему:
с единственным решением , .
Пример 1.4 Вычисление определенного интеграла.
Для вычисления интегралов вида
,
где , с помощью метода интегрирования “по частям” легко вывести рекуррентную формулу
; ; . (1.5)
Вычисление значений данного интеграла по рекуррентной формуле (1.5) на различных ЭВМ (несмотря на то, что на некоторых из них велись вычисления с мантиссами более 10 десятичных разрядов) не дал ни одного верного результата, точнее результат не имел ни одной верной цифры! Например, при спектр вычислений значения интеграла лежал в границах . Причина подобного явления – в числовой неустойчивости схемы (1.5). Безупречная в теоретическом плане, она совершенно непригодна с позиции вычислительной математики, поскольку неизбежная погрешность стартового значения при подсчете увеличивается в раз, т.е. катастрофически возрастает.
Если примеры 1‑3 указывали на существование неустойчивых задач, то в четвертом примере видно проявление неустойчивого метода вичислений. Последним, как правило, есть альтернативы.
В данном случае можно воспользоваться равенством (1.5), переписав его в виде
. (1.6)
Учитывая, что и , для некоторого фиксированного можно вести счет по формуле (1.6) при , задавшись значением . Так как начальная погрешность на каждом шаге теперь уменьшается в раз, то такой алгоритм будет численно устойчив. Значение при этом может быть определено экспериментально путем подбора.