Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
krav.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.45 Mб
Скачать

21

Глава 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 будет коротко показано, что в этих случаях вопросы точности не возни­кают. Вообще говоря, такие случаи являются скорее исключением, чем правилом.

Материал, изложенный в этой главе, представляет инте­рес при анализе результатов простых арифметических вычислений. На основе этого материала в дальнейшем будет проводиться анализ ошибок различных численных методов, описанных в последующих главах. Анализ ошибок — это как раз тот раздел, с которого мы начнем изучение численных методов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]