
- •Глава 2
- •2.1. Введение
- •Относительные и абсолютные ошибки
- •2.3. Ошибки, содержащиеся в исходной информации
- •2.4. Ошибки ограничения
- •2.5. Ошибки округления
- •2.6. Распространение ошибок
- •2 .7. Графы вычислительных процессов
- •Пример 1
- •2.9. Памятка программисту
- •Упражнения
- •Численное решение уравнений
- •5.1. Введение
- •5.2. Метод последовательных приближений
- •5.3.Усовершенствованный метод последовательных приближений
- •5.4. Метод ньютона — рафсона
- •5.5. Случай почти равных корней
- •5.6. Сравнение методов и их ошибок округления
- •5.7. Корни многочленов
- •5.8. Влияние неточности коэффициентов многочлена
- •5.9. Системы уравнений
- •5.10. Комплексные корни
- •5.11. Нахождение исходного приближения
- •Упражнения
- •Глава 8
- •8.1. Введение
- •8.3. Ошибки округления
- •8.5. Влияние погрешностей коэффициентов. Достижимая точность решения
- •8.6. Итерационные методы решения систем линейных уравнений
- •8.7. Сравнение методов
- •8.8. Практический пример 10: проведение кривой методом наименьших квадратов
- •Лекция №1 Численное интегрирование
- •Лекция №2
- •Правило Симпсона.
- •Метод Гаусса
- •Методы прогноза и коррекции
- •Анализ ошибок при использовании метода прогноза и коррекции
Глава 2
ОШИБКИ
2.1. Введение
Анализ ошибок в численном результате должен являться непременной составной частью любого серьезного вычисления, независимо от того, производится это вычисление вручную или с помощью ЭЦВМ. Исходная информация очень редко является точной, так как часто исходные величины являются экспериментальными данными или основаны на приблизительных оценках. Кроме того, сами процессы вычислений могут вносить в результат различного рода ошибки. Поэтому, прежде чем начать систематическое изучение ошибок, убедимся на нескольких примерах в важности такого систематического изучения.
В
упражнении
18 в конце
этой главы предлагается найти один из
корней уравнения
, используя вычисления с точностью до 4-й значащей цифры. Используя обычную формулу
м
ы
получаем ответ
-0.00015.
Эта
формула обычно приводится в курсах
алгебры без всяких оценок точности,
однако ограничение точности вычислений
четырьмя значащими цифрами приводит к
тому, что результат имеет ошибку
25%;
правильный
корень, найденный при вычислениях с
восемью значащими цифрами, равен
-
0.0002.
В
данном случае камнем преткновения
оказалась четырехзначная арифметика,
но пусть читатель не думает, что восемь
значащих цифр решат все проблемы.
Рассмотрим ряд Тейлора для синуса:
Считается, что этот ряд годится для любого конечного угла а ошибка, происходящая от ограничения ряда конечно числом членов, не превосходит по модулю первого отброшенного члена ряда. Все это было бы справедливо, если бы существовал способ производить арифметические вычисления с бесконечным числом значащих цифр. В практическом примере 3 в гл. 3 мы увидим, что для больших углов этот ряд совершенно бесполезен. Предположим, что нужно вычислить синус 1470° (приблизительно 25.7 радиана) и мы намерены производить вычисления с восемью значащими цифрами и остановиться тогда, когда очередной член ряда будет по абсолютной величине меньше 10-8. Выданный машиной результат будет равен 24.25401855, с большим числом десятичных знаков и совершенно без всякого смысла. Даже если производить вычисления с 16 значащими цифрами то вместо синуса 2550° машина выдаст число 29.5.
В приведенных выше примерах трудности были обусловлены тем, что вычисления производились с конечным числом значащих цифр. Существуют и другого рода источники ошибок. Например, рассмотрим следующую систему уравнений:
5х— 331y=3.5
6х—397y=5.2
Довольно легко найти «точное» решение этой системы х = 331.7, у = 5.000, причем решение может быть найден вручную с любым нужным количеством значащих цифр. Попытаемся оценить количество достоверных значащих цифр в этом решении. Проверим сначала, что случится если константу в правой части второго уравнения изменить с 5.2 до 5.1, т. е. приблизительно на 2%. При это решение системы становится равным х = 298.6, у = 4.5 Этот факт может вызвать беспокойство: изменение исходно величины на 2% приводит к изменению результата на 10% ? Еще более поразительно то, что если подставить в уравнение х = 358.173, у = 5.4, то при округлении вычисленные значения левых частей дадут те же самые правые части, что и в исходной системе уравнений. По-видимому, в этом случае можно считать, что величины х и у имеют не более одной достоверной значащей цифры.
В данном случае неточность результата не зависит от количества значащих цифр, все вычисления были проделаны точно. Причина неточности в данном случае — малая величина определителя системы уравнений. Геометрически это означает, что две прямые линии, представленные указанными уравнениями, почти параллельны. Наконец, рассмотрим интеграл
Э
тот
интеграл легко вычислить точно; его
значение равно 4.00.
Если же произвести численное интегрирование,
воспользовавшись формулой трапеций
и разбив интервал интегрирования на
10 частей,
то результат будет равен
5.3. Даже
разбивая интервал на
40 частей,
получаем
4.13, т. е.
ошибку приблизительно в
3%.
На этот раз причиной трудностей является поведение подынтегральной функции, сильно возрастающей при уменьшении х, а также неточная формула для численного интегрирования. В данном случае даже точные исходные данные и точные вычисления приводят к ошибке, обусловленной численным методом.
Из приведенных примеров становится ясно, что без анализа ошибок вычисления нельзя сказать что-либо определенное относительно точности результата. Иногда, конечно, можно уже при составлении программы быть уверенным, что никаких специфических проблем, связанных с точностью результата, в задаче не встретится, например в первых двух практических примерах в гл. 4 будет коротко показано, что в этих случаях вопросы точности не возникают. Вообще говоря, такие случаи являются скорее исключением, чем правилом.
Материал, изложенный в этой главе, представляет интерес при анализе результатов простых арифметических вычислений. На основе этого материала в дальнейшем будет проводиться анализ ошибок различных численных методов, описанных в последующих главах. Анализ ошибок — это как раз тот раздел, с которого мы начнем изучение численных методов.