
- •Курс лекций “Численные методы”
- •Введение. Математическое моделирование и вычисленный эксперимент
- •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) при
,
задавшись значением
.
Так как начальная погрешность на каждом
шаге теперь уменьшается в
раз, то такой алгоритм будет численно
устойчив. Значение
при этом может быть определено
экспериментально путем подбора.