
- •Вместо введения: о погрешностях при решении прикладных задач
- •Глава I. Численные методы решения уравнений
- •§ 1. Задача локализации корней
- •Ограничение корней
- •Локализация корней
- •Простейший (грубейший) алгоритм локализации корней:
- •§ 2. Понятие об итерационных методах уточнения корней
- •Метод деления пополам (метод вилки)
- •§ 3. Методы хорд и касательных
- •Метод хорд для монотонных выпукло-вогнутых функций
- •Метод касательных для монотонных выпукло-вогнутых функций
- •§ 4. Метрические и банаховы пространства. Теорема о неподвижной точке
- •Матричные нормы
- •§ 5. Метод простой итерации
- •§ 6. Применение метода простой итерации к решению
- •Условие h([; ]) [; ] :
- •Глава II. Вычисления в линейной алгебре
- •§ 1. Метод Гаусса и его улучшения для повышения точности решения
- •§ 2. Метод простой итерации и метод Зейделя
- •§ 3. Подготовка к применению метода простой итерации
- •§ 4. Проблема собственных значений
- •Глава III. Численное интегрирование
- •§ 1. Метод прямоугольников
- •§ 2. Метод трапеций
- •§ 3. Метод Симпсона (параболическое интерполирование)
- •Глава IV. Некоторые методы аппроксимации функций
- •§ 1. Интерполяционный многочлен Лагранжа
- •§ 2. Интерполяционный многочлен Ньютона
- •§ 3. Метод наименьших квадратов
- •Глава V. Некоторые методы численного решения дифференциальных уравнений
- •Приложение: Сводка характеристик численных методов
- •Характеристики метода:
- •Характеристики метода:
- •Характеристики метода:
- •Характеристики метода:
- •Характеристики метода:
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
“Тобольская государственная педагогическая академия
им. Д.И. Менделеева”
Кафедра математики и ТиМОМ
Валицкас А.И.
КОНСПЕКТ ЛЕКЦИЙ ПО ДИСЦИПЛИНЕ
“ЧИСЛЕННЫЕ МЕТОДЫ”
Тобольск – 2009
С О Д Е Р Ж А Н И Е
ПРЕДИСЛОВИЕ |
. . . . . . . . . . . . . . |
3 |
|
|
|
ВМЕСТО ВВЕДЕНИЯ |
О погрешностях при решении прикладных задач . |
4 |
|
|
|
Глава I. |
ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ УРАВНЕНИЙ |
11 |
|
§ 1. Задача локализации корней . . . . . |
11 |
|
§ 2. Понятие об итерационных методах уточнения корней . . . . . . . . . . |
17 |
|
§ 3. Методы хорд и касательных . . . . |
22 |
|
§ 4. Метрические и банаховы пространства. Теорема о неподвижной точке . . . . . |
31 |
|
§ 5. Метод простой итерации . . . . . |
42 |
|
§ 6. Применение метода простой итерации к решению уравнения f(x) = 0 . . . . . . |
48 |
|
|
|
Глава II. |
ВЫЧИСЛЕНИЯ В ЛИНЕЙНОЙ АЛГЕБРЕ . . |
54 |
§ 1. Метод Гаусса и его улучшения для повышения точности решения . . . . . . . . |
55 |
|
§ 2. Метод простой итерации и метод Зейделя . |
58 |
|
§ 3. Подготовка к применению метода простой итерации . . . . . . . . . . |
66 |
|
§ 4. Проблема собственных значений . . . |
72 |
|
|
|
|
Глава III. |
ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ . . . . |
73 |
§ 1. Метод прямоугольников . . . . . . |
73 |
|
§ 2. Метод трапеций . . . . . . . . |
76 |
|
§ 3. Метод Симпсона (параболическое интерполирование) . . . . . . . . . |
79 |
|
|
|
|
Глава IV. |
НЕКОТОРЫЕ МЕТОДЫ АППРОКСИМАЦИИ ФУНКЦИЙ . . . . . . . . . . |
87 |
|
§ 1. Интерполяционный многочлен Лагранжа . . |
88 |
|
§ 2. Интерполяционный многочлен Ньютона . . |
96 |
|
§ 3. Метод наименьших квадратов . . . . . |
103 |
|
|
|
Глава V. |
НЕКОТОРЫЕ МЕТОДЫ ЧИСЛЕННОГО РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ . . . |
114 |
|
|
|
ЛИТЕРАТУРА |
. . . . . . . . . . . . . . |
115 |
|
|
|
ПРИЛОЖЕНИЕ |
Сводка характеристик численных методов . . |
116 |
П Р Е Д И С Л О В И Е
Вместо введения: о погрешностях при решении прикладных задач
Решение любой прикладной задачи проходит, как правило, следующие основные этапы:
построение математической модели;
выбор метода (приближённого) решения полученной математической задачи;
вычисления (как правило, на ЭВМ);
анализ полученных результатов.
На каждом из первых трёх этапов возможно появление погрешностей, которые называются погрешностями модели, метода, и вычислений. Расчёты на ЭВМ связаны с ещё одним специфическим видом погрешностей – погрешностью разрядной сетки, связанной с ограниченностью разрядности ЭВМ и представлением чисел в ЭВМ. Таким образом, общая погрешность решения задачи будет суммой этих четырёх погрешностей.
Замечания: 1. Наука изучает не реальный мир, а математические модели, лишь приближённо отражающие реальность. Можно ли после этого говорить о непогрешимой точности научной методологии ?
2. Чистая математика не обусловлена потребностью практики: для решения любой прикладной задачи нет нужды искать точное решение, всегда достаточно ограничиться лишь некоторым приближением к нему.
Наиболее существенная из погрешностей – погрешность модели – обсуждаться в дальнейшем не будет, хотя неправильный выбор математической модели реального процесса может свести на нет все усилия по решению задачи. Не будет обсуждаться и погрешность разрядной сетки, т.к. это требует специальных знаний по представлению чисел в ЭВМ. Основное внимание пока уделим погрешности вычислений, а погрешность метода будет анализироваться позднее при изучении конкретных методов приближённого решения математических задач.
Если известно
точное значение x0
некоторой величины и вычислено её
приближённое значение x,
то можно ввести абсолютную
погрешность (x)
= |x
– x0
| и
относительную погрешность (x)
=
, которая,
будучи умноженной на 100,
показывает процент отклонения абсолютной
погрешности от величины |x|.
Как правило, точное значение вычисляемой
величины неизвестно. Поэтому при
приближённых вычислениях пользуются
лишь верхними границами
и
абсолютной
и относительной погрешностей или их
более или менее грубыми оценками.
Пример:
Значение x
= 1,4 даёт
приближение величины x0
=
с абсолютной
погрешностью
= |1,4 –
1,414213562373095048801688…
| = = 0,014213562373095048801688…
< 0,15 и
относительной погрешностью
=
= 0,010152544552210749144063…
<
<
0,011
(
1,1
%).
Этот пример показывает, что даже знание точного результата не позволяет вычислить значения абсолютной и относительной погрешностей без округлений. Запись x = x0 ± в дальнейшем будет означать, что выполнены неравенства x0 – x x0 + , т.е. абсолютная погрешность величины x по отношению к точному значению x0 не превосходит .
Основной вопрос, исследуемый в дальнейшем: как ведут себя погрешности при выполнении арифметических действий ?
Лемма (о погрешностях при вычислении функций). (1) Если известно, что x = x0 ± (x) , y = y0 ± (y) , то
(x
± y)
(x)
+ (y),
(x
± y)
,
(x·y) |y|·(x) + |x|·(y) + (x)·(y), (x·y) (x) + (y) + (x)·(y),
,
.
(2) Пусть в
некотором параллелепипеде П: ai
xi
bi
(1
i
n)
задана непрерывно дифференцируемая
функция F(x)
= F(x1
, … , xn)
со значениями в R
(т.е. все её частные производные
(x)
непрерывны в каждой точке открытого
параллелепипеда П0:
ai
< xi
< bi
(1
i
n)).
Тогда для любых xi
= a0i
± i
(ai
; bi)
(1
i
n)
найдётся некоторая точка с
П со свойством
.
(3) Из (2) следует,
что |F(x)
– F(a0)|
, т.е. верна оценка F(x)
= F(a0
) ±
, где Mi
=
,
или F(x)
. В частности, F(x)
= F(a0
) ±
n·M··,
где M
=
,
=
, или F(x)
n·M·
.
Доказательство. (1) Все оценки доказываются однообразно с использованием неравенств для модулей:
(x ± y) =|(x ± y)–(x0 ± y0)| = |(x–x0)±(y–y0)| |x–x0| + |y–y0| = (x) + (y),
,
(x·y) = |x·y – x0·y0 | = |(x – x0)·y + x·(y – y0 ) + (x0 – x)·(y – y0 )|
|x – x0 |·|y| + |x|·|y – y0 | + |x0 – x|·|y – y0 | = |y|·(x) + |x|·(y) + (x)·(y),
(x·y)
=
= (x)
+ (y)
+ (x)·(y),
(2) По функции F(x1 , … , xn ) построим вспомогательную действительную функцию
G(t) = (F(x)–F(a0))·t – F(a01 + t·(x1 – a01), … , a0n + t·(xn – a0n)),
определённую для t [0; 1]. Тогда G(0) = –F(a0) = G(1), и значит, найдётся такое t0 [0; 1], что G(t0) = 0, т.е.
0 =
G(t0)
= F(x)
– F(a0)
–
,
где ci = a0i + t0·(xi – a0i) (1 i n).
(3) Дальнейшие оценки очевидны: F(x) = |F(x) – F(a0) | =
=
n·M·
.
Теорема доказана.
Замечания: 1.
Относительная
погрешность суммы или разности может
весьма значительно отличаться от
относительных погрешностей слагаемых.
Например, если x
= 0,8 и y
= 0,9 – два
приближения для x0
= 1 = y0
, то (x)
=
= 0,25,
(y)
=
= 0,(1), но для
приближения x
– y
= –0,1
величины
x0
– y0
= 0 будет
выполнено равенство (x
– y)
=
= 1.
2. Абсолютная
погрешность частного может весьма
значительно отличаться от абсолютных
погрешностей делимого и делителя.
Например, если x
= 0,11 и y
= 0,09 – приближения
величин x0
= 0,1 = y0
, то (x)
= 0,01 = (y),
но
= 1,(2) и
=
0,(2). Величина
абсолютной погрешности увеличилась в
20 раз
!
3. Если величины (x), (y), (x), (y) малы как по величине, так и по сравнению с |x|, |y|, то в полученных в лемме оценках для произведения и частного можно пренебречь членами второго порядка малости, т.е. можно считать:
(x·y) |y|·(x) + |x|·(y), (x·y) (x) + (y),
,
.
Конечно, эти неравенства не являются точными: они могут нарушаться, но лишь на величины второго порядка малости.
Полученные в лемме оценки позволяют определять количество верных цифр результата приближённых вычислений. Цифра результата называется верной, если абсолютная погрешность результата не превосходит половины единицы разряда, в котором стоит эта цифра: цифра ck десятичного числа x = cm … c0 , c–1 … c–s … верна, если = (x) 0,510–k.
Примеры: 1. При округлении числа x0 = 1,987654 до x = 1,99 получается абсолютная погрешность (x) = |x – x0| = 0,002346, так что обе цифры верны: (x) = 0,002346 < 0,5·0,01 = 0,005.
При округлении того же числа x0 = 1,987654 до x = 1,98766 абсолютная погрешность будет (x) = |x – x0| = 0,000006, и последняя цифра уже не верна, поскольку (x) = 0,000006 > 0,5·0,00001 = 0,000005.
2. Пусть даны два числа x = 1,154 и y = 2,010, заданные верными цифрами. На калькуляторе вычислили их частное = 0,5741. Сколько в нём правильных цифр ?
Подсчитаем абсолютную погрешность частного, учитывая, что (x) = = (y) = 0,0005 (из неравенств (x) 0,5·0,001, (y) 0,5·0,001):
.
Таким образом,
если считать
,
то в результате 0,5741
верны три
цифры после запятой: 0,000392
0,5·0,001 = 0,0005,
четвёртая же цифра может оказаться
неверной.
Можно действовать по-другому: из 2,010 – (y) y 2,010 + (y) получаем
.
Как видим, и при таком подходе границы результата отличаются в десятитысячных, а первые три цифры после запятой неизменны.
Значит, в результате = 0,5741 верны три цифры после запятой.
3. Пусть даны два числа x = 1,154 и y = 0,010, заданные верными цифрами. На калькуляторе вычислили их частное = 115,4000. Сколько в нём правильных цифр ?
Аналогично предыдущему вычислим абсолютную погрешность частного, учитывая, что (x) = (y) = 0,0005 :
.
Таким образом,
если считать
,
то в результате 115,4000
можно
доверять лишь первой цифре: сотням.
Можно действовать по-другому: из 0,010 – (y) y 0,010 + (y) получаем
.
Как видим, и при таком подходе границы результата отличаются уже в цифре десятков.
Таким образом, в результате = 115,4000 верна только цифра сотен.
4. С какой точностью нужно округлить x0 = 0,587964 до величины x, чтобы значение sin x совпало в трёх цифрах после запятой со значением sin x0 ?
Ясно, что должно
выполняться неравенство |sin
x
– sin
x0
| <
0,0005, т.е.
sin
x
<
0,0005. По
теореме о погрешности для F(x)
= sin
x
имеем
.
Значит, для выполнения неравенства
F(x)
< 0,0005 нужно
взять
x
<
.
На интервале [0,5;
0,6] максимум
знаменателя достигается при x
= 0,5 (т.к. cos
x
убывает на
этом интервале). Значит,
x
<
,
0,587854
<
x
<
0,588074.
Нетрудно убедиться, что в указанном промежутке действительно три цифры после запятой числа sin x совпадают с цифрами числа sin x0 :
sin 0,587854 0,554577, sin 0,588074 0,554760,
sin 0,587964 0,554668.