Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вычМатКурсач / 2 Ошибки вычислений.docx
Скачиваний:
43
Добавлен:
18.03.2015
Размер:
140 Кб
Скачать

Погрешности вычисления функций

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

Если , то .

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

.

Если , то .

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

.

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

(погрешностью других аргументов пренебрегаем).

Если вклад погрешностей всех аргументов примерно одинаков, то применяют принцип равных влияний:

Числовые примеры

Специфику машинных вычислений можно пояснить на нескольких элементарных примерах.

ПРИМЕР 1. Вычислить все корни уравнения

Точное решение задачи легко найти:

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

ПРИМЕР 2. Решается задача Коши для обыкновенного дифференциального уравнения 2-го порядка:

Общее решение имеет вид:

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

ПРИМЕР 3. Пусть необходимо найти решение обыкновенного дифференциального уравнения:

Его решение: , однако значение известно лишь приближенно: , и на самом деле .

Соответственно, разность будет:

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

Очевидно, что:

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

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

ПРИМЕР 4. Решением системы линейных алгебраических уравнений (СЛАУ):

является пара чисел .

Изменив правую часть системы на , получим возмущенную систему:

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

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

В памяти машины эти же числа представляются в виде:

, причем и

Тогда:

Относительная ошибка при вычислении разности будет равна:

Очевидно, что , т.е. все значащие цифры могут оказаться неверными.

ПРИМЕР 6. Рассмотрим рекуррентное соотношение

Пусть при выполнении реальных вычислений с конечной длиной мантиссы на -м шаге возникла погрешность округления, и вычисления проводятся с возмущенным значением , тогда вместо получим , т.е. .

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