close

Вход

Забыли?

вход по аккаунту

?

Blatov Starozhilova Vichislitel matematika

код для вставкиСкачать
Федеральное агентство связи
Государственное образовательное учреждение
высшего профессионального образования
ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ
ЭЛЕКТРОННАЯ БИБЛИОТЕЧНАЯ
СИСТЕМА
Самара
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
Государственное образовательное учреждение высшего
профессионального образования
ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ
Кафедра высшей математики
Блатов И.А., Старожилова О.В.
КОНСПЕКТ ЛЕКЦИЙ
ПО УЧЕБНОЙ ДИСЦИПЛИНЕ
Вычислительная математика
Самара, 2010
2
УДК 512.6, 514.1
Блатов И.А., Старожилова О.В. Вычислительная математика. Конспект
лекций.- Самара: ГОУВПО ПГУТИ, 2010.-240
Конспект лекций затрагивает такие разделы вычислительной математики как
методы
аппроксимации
и
приближения
функций;
численное
дифференцирование и интегрирование; методы решения задач линейной
алгебры, нелинейных уравнений.
Конспект содержит ряд инженерных задач с акцентом на программную
реализацию методов вычислительной математики.
Каждая лекция заканчивается контрольными вопросами, которые помогут
проверить теоретическое освоение курса, содержит большое количество задач
для самостоятельного решения и ответы для проверки.
Рецензент:
Асташкин С.В. – д.ф.м.н., проф., зав.кафедрой Самарского государственного
университета
Государственное образовательное учреждение высшего профессионального
образования
Поволжский государственный университет телекоммуникаций и информатики
Блатов И.А., Старожилова О.В., 2010
3
Содержание
Введение ................................................................. 8
Лекция 1 ....................................................................... 10
Предмет вычислительной математики ................ 10
Влияние алгоритма на результаты вычислений . 10
Экономичность вычислительного метода ........... 14
Погрешность вычислительного метода ............... 15
Обусловленность задачи ....................................... 16
Контрольные вопросы ........................................... 19
Лекция 2 ....................................................................... 20
Основные источники погрешностей .................... 20
Значащие цифры и верные значащие цифры числа 23
Погрешность суммы .............................................. 26
Погрешность разности .......................................... 28
Погрешность произведения .................................. 28
Погрешность частного........................................... 29
Погрешность степени ............................................ 30
Вычислительная погрешность .............................. 33
Задачи для самостоятельного решения ............... 33
Контрольные вопросы ........................................... 34
Лекция 3 ....................................................................... 35
Интерполирование и приближение функций ..... 35
Задача приближения .............................................. 36
Задачи интерполирования функций ..................... 36
Ошибка полиномиальной интерполяции ............ 39
Метод наименьших квадратов .............................. 40
Задачи для самостоятельного решения ............... 44
Контрольные вопросы ........................................... 45
Лекция 4 ....................................................................... 46
Интерполяционный многочлен Лагранжа........... 46
Оценка погрешности ............................................. 48
Задачи для самостоятельного решения ............... 49
Контрольные вопросы ........................................... 50
Лекция 5 ....................................................................... 51
Интерполирование сплайнами ............................. 51
Варианты условий на концах отрезка интерполяции 55
Задачи для самостоятельного решения ............... 56
Контрольные вопросы ........................................... 56
Лекция 6 ...................................................................... 57
Конечные разности различных порядков ............ 57
Интерполяционный полином Ньютона ............... 58
Погрешность интерполяционного полинома Ньютона
61
4
Интерполяционные формулы Гаусса ................... 63
Таблица центральных разностей .......................... 63
Интерполяция средствами Mathcad ..................... 64
Задачи для самостоятельного решения ............... 68
Контрольные вопросы ........................................... 69
Лекция 7 ....................................................................... 70
Численное дифференцирование ........................... 70
Дифференцирование по формуле Ньютона ........ 72
Формулы, основанные на разностных отношениях 73
Операция дифференцирования в пакете Mathcad
73
Контрольные вопросы ........................................... 75
Лекция 8 ....................................................................... 76
Численное интегрирование ................................... 76
Формулы прямоугольников .................................. 77
Формула трапеций ................................................. 79
Формула Симпсона ................................................ 81
Правило Рунге ........................................................ 82
Квадратурные формулы Ньютона-Котеса........... 84
Задачи для самостоятельного решения ............... 86
Контрольные вопросы ........................................... 87
Лекция 9 ....................................................................... 88
Квадратурные формулы Гаусса ............................ 88
О точности квадратурных формул ....................... 91
Сходимость квадратурных формул...................... 92
Экстраполяция по Ричардсону ............................. 93
Задачи для самостоятельного решения ............... 94
Контрольные вопросы ........................................... 95
Лекция 10 ..................................................................... 96
Приближенное вычисление несобственных интегралов
Метод Л.В.Канторовича выделения особенностей 97
Задачи для самостоятельного решения ............... 98
Контрольные вопросы ........................................... 98
Лекция 11 ..................................................................... 99
Решение нелинейных уравнений.......................... 99
Отделение корней .................................................. 99
Графический метод ................................................ 100
Метод дихотомии ................................................... 102
Задачи для самостоятельного решения ............... 103
Решение нелинейных уравнений в пакете Mathcad 103
Символьное решение уравнения .......................... 103
Численное решение уравнений ............................ 105
Метод простых итераций ...................................... 106
Метод касательных (Ньютона) ............................. 110
Задачи для самостоятельного решения ............... 111
96
5
Контрольные вопросы ........................................... 112
Лекция 12 ..................................................................... 113
Решение систем линейных уравнений ................. 113
Метод Гаусса с выбором главного элемента ...... 115
Количество операций при реализации метода Гаусса 118
Метод Гаусса с частичным выбором главного элемента
Метод квадратных корней .................................... 123
Схема Халецкого .................................................... 126
Задачи для самостоятельного решения ............... 127
Контрольные вопросы ........................................... 128
Лекция 13 ..................................................................... 129
Итерационные методы решения СЛАУ .............. 129
Классификация итерационных методов .............. 129
Метод итераций...................................................... 130
Достаточное условие сходимости процесса итерации 132
Метод Зейделя ........................................................ 135
Метод релаксации .................................................. 138
Задачи для самостоятельного решения ............... 142
Контрольные вопросы ........................................... 143
Лекция 14 .................................................................... 144
Численное решение дифференциальных уравнений 144
Метод Эйлера ......................................................... 146
Погрешности метода решения.............................. 147
Модифицированный метод Эйлера ..................... 150
Задачи для самостоятельного решения ............... 152
Контрольные вопросы ........................................... 152
Лекция 15 ..................................................................... 153
Методы Рунге-Кутта .............................................. 153
Правило Рунге ........................................................ 157
Метод Рунге-Кутта 4 порядка в системе Mathcad
158
Задачи для самостоятельного решения ............... 160
Контрольные вопросы ........................................... 161
Лекция 16 ..................................................................... 162
Многошаговые разностные методы ..................... 162
Устойчивость и сходимость многошаговых методов 164
Метод Пикара (последовательных приближений)
164
Метод малого параметра ....................................... 165
Метод Адамса ......................................................... 166
Примеры m-шаговых разностных методов Адамса 167
Неявные схемы ....................................................... 168
Сгущение сетки ...................................................... 168
Контрольные вопросы ........................................... 169
Лекция 17 ..................................................................... 170
Краевые задачи ....................................................... 170
119
6
Линейная краевая задача ....................................... 171
Метод стрельбы...................................................... 172
Разностные методы решения краевых задач ....... 175
Задачи для самостоятельного решения ............... 177
Контрольные вопросы ........................................... 177
Глоссарий ................................................................ 178
К лекции 1 ............................................................... 178
К лекции 2 ............................................................... 178
К лекции 3 .............................................................. 179
К лекции 4 .............................................................. 179
К лекции 5 .............................................................. 179
К лекции 6 .............................................................. 180
К лекции 7 .............................................................. 181
К лекции 8 .............................................................. 181
К лекции 9 .............................................................. 182
К лекции 10 ............................................................ 182
К лекции 11 ............................................................ 182
К лекции 12 ............................................................ 183
К лекции 13 ............................................................ 183
К лекции 14 ............................................................. 184
К лекции 15 ............................................................ 185
К лекции 16 ............................................................ 186
К лекции 17 ............................................................ 187
Рекомендуемая литература ................................... 189
Основная ................................................................. 189
Дополнительная ..................................................... 189
7
Введение
Исследование естественнонаучных проблем средствами вычислительной
математики тесно связано с использованием компьютерной техники.
Использование современных информационных технологий позволяет перейти
от простейших расчетов и оценок различных конструкций или процессов к
новой стадии работы - детальному математическому моделированию.
Разработка и исследование вычислительных алгоритмов, и их применение к
решению конкретных задач и составляют содержание одного из разделов
современной математики – вычислительной математики.
Первое применение вычислительных методов принадлежит древним
египтянам. С именем среднеазиатского врача, философа и математика АльХоремзи связано понятие алгоритма. Аль-Хорезми (787-850) - таджикский
(узбекский) математик, сформулировал первые правила выполнения основных
4 арифметических действий. Созданием вычислительных алгоритмов и
исследованием их применимости и занимается вычислительная математика.
Разработкой вычислительных методов занимались Л.Эйлер, которому
принадлежит, по-видимому, первый численный метод для решения
обыкновенных дифференциальных уравнений, И.Ньютон, О.Л.Коши,
Ж.Л.Лагранж, А.М.Лежандр, П.С.Лаплас, А.Пуанкаре, П.Л.Чебышѐв и многие
другие известные математики. Решающую роль в развитии вычислительной
математики как самостоятельной науки сыграли немецкий математик Карл
Рунге и русский математик, механик и кораблестроитель А.Н.Крылов.
В настоящее время вычислительная математика получила значительный
импульс, в дальнейшем численные методы нашли свое применение в таких
областях как динамика атмосферы, физика плазмы, биомеханика, теория
оптимизации, математическая экономика и др.
Разработаны эффективные и надежные алгоритмы приближенного решения
широкого круга математических задач, включающие стандартный набор задач
из алгебры, математического анализа и дифференциальных уравнений. В
настоящее время имеется целый ряд различных математических пакетов,
реализующих разнообразные численные методы. Пожалуй, наиболее
известными сегодня являются следующие пакеты: Mathematica (фирма Wolfram
Research), Maple (фирма Waterloo Maple Inc), Matlab (фирма The MathWorks),
Mathcad (фирма MathSoft Inc), а также свободно распространяемые SciLab и Rsystem.
Решение прикладных задач с использованием ЭВМ можно разбить на
несколько этапов:

Физическая постановка задачи осуществляется на первом этапе и
намечается путь ее решения.

Математическое моделирование. На этом этапе выбирается
математическая модель, адекватно описывающая основные законы физического
процесса.
8

Выбор численного метода. Для решения задачи необходимо найти
численный метод, позволяющий свести ее к вычислительному алгоритму.

Разработка алгоритма решения задачи. Алгоритм можно представить в
виде блок-схемы или стилизованной диаграммы.

Составление и отладка программы. Программа, реализующая алгоритм
решения задачи, записывается на языке программирования высокого уровня и
тестируется.

Анализ результатов счета. Полученные с помощью ЭВМ результаты
анализируются, сравниваются с экспериментальными данными.

Внедрение полученных результатов.
Рассматриваются действия с приближенными числами, вопросы оценки
погрешности вычислений, правила приближенных вычислений, прямые и
итерационные методы линейной алгебры, системы нелинейных уравнений,
задачи интерполирования функций, численного дифференцирования и
численного интегрирования, краевые задачи и задачи с начальными данными
для обыкновенных уравнений и уравнений с частными производными.
Рассмотрены многие современные подходы к численным методам.
Конспект лекций содержит множество примеров, демонстрирующих
применение рассматриваемых методов, набор задач для самостоятельной
работы. В дополнение приводится разнообразный справочный материал и
краткий глоссарий к основным определениям и методам. В изложении
материала широко используются основы матричного исчисления.
Учебное пособие предназначено для студентов 2 курса специальности
230105
«Программное
обеспечение
вычислительной
техники
и
автоматизированных систем». Книга также может быть полезна студентам
технических университетов, специалистам, работающим в области
вычислительной математики.
9
Лекция 1
Предмет вычислительной математики
Вычислительная математика — это наука о методах решения
вычислительных задач на компьютере. Она появилась от необходимости
решать практические
задачи,
такие,
как
управление
сложными
технологическими процессами, моделирование физических процессов.
Вычислительная математика отличается от других математических дисциплин
и обладает специфическими особенностями.
Основами для вычислительных методов являются:
интерполирование
численное интегрирование
решение систем линейных уравнений
численное решение нелинейных уравнений
численное решение обыкновенных дифференциальных уравнений
Вычислительная математика имеет дело не только с непрерывными, но и с
дискретными объектами. Так, вместо отрезка прямой часто рассматривается
система t k kK 0 , вместо непрерывной функции f x — табличная функция
K
k 0
fk
fk
xk
1
1
, вместо первой производной — ее разностная аппроксимация, например:
fk
xk
,
где k 0 K , xk 1 xk .
Такие замены, естественно, порождают погрешности метода.
В машинных вычислениях присутствуют числа с ограниченным количеством
знаков после запятой из-за конечности длины мантиссы при представлении
действительного числа в памяти ЭВМ. Другими словами, в вычислениях
присутствует машинная погрешность (округления) M . Это приводит к
вычислительным эффектам.
Погрешности при численном решении задач делятся на две категории —
неустранимые и устранимые.
К первым относят погрешности, связанные с построением математической
модели объекта и приближенным заданием входных данных, ко вторым —
погрешности метода решения задачи и ошибки округления, которые являются
источниками малых возмущений, вносимых в решение задачи.
Влияние алгоритма на результаты вычислений
В отличие от "классической" математики выбор вычислительного алгоритма
влияет на результаты вычислений.
Единого определения понятия «алгоритм» нет. Можно рассматривать
алгоритм как точный набор инструкций, описывающих порядок действий
исполнителя для достижения результата решения задачи за конечное время.
10
Различные определения алгоритма в явной или неявной форме содержат
следующий ряд общих требований:
Дискретность — алгоритм должен представлять процесс решения задачи
как последовательное выполнение некоторых простых шагов. При этом для
выполнения каждого шага алгоритма требуется конечный отрезок времени, то
есть преобразование исходных данных в результат осуществляется во времени
дискретно.
Детерминированность — определѐнность. В каждый момент времени
следующий шаг работы однозначно определяется состоянием системы. Таким
образом, алгоритм выдаѐт один и тот же результат (ответ) для одних и тех же
исходных данных.
Понятность — алгоритм для исполнителя должен включать только те
команды, которые ему (исполнителю) доступны, которые входят в его систему
команд.
Завершаемость (конечность) — при корректно заданных исходных
данных алгоритм должен завершать работу и выдавать результат за конечное
число шагов.
Массовость — универсальность. Алгоритм должен быть применим к
разным наборам исходных данных.
Результативность —
завершение
алгоритма
определѐнными
результатами.
Алгоритм содержит ошибки, если приводит к получению неправильных
результатов либо не даѐт результатов вовсе. Алгоритм не содержит ошибок,
если он даѐт правильные результаты для любых допустимых исходных данных
Существенная черта численного метода — экономичность вычислительного
алгоритма, т.е. минимизация числа элементарных операций при выполнении
его на ЭВМ.
Специфику машинных вычислений можно пояснить на нескольких
элементарных примерах.
Пример Вычислить значение выражения
2 1
3
.
2 1
Решение
Избавившись от знаменателя, получаем
2 1
6
Полагая
3 2 2
а)
3
2
99 70 2
7
1,4
5
в)
17
12
2
1,41 6
и рассматривая эти приближения как разные методы вычисления, получим
следующие результаты:
2
75
17 12
6
2 1
0,004096
0,005233
3 2 2
3
0,008000
0,004630
99 70 2
1
0,1 6
11
Очевидно, что столь значительное различие в результатах вызвано влиянием
ошибки округления в задании 2 .
Пример Вычисление функции e x с помощью ряда Тейлора.
Решение
Известно, что экспонента представляется своим рядом Тейлора
ex
1 x
x2
2!
x3
3!
,
Приведем некоторые результаты расчетов ( eMx - значения экспоненты,
вычисленные на компьютере).
x
ex
x
eM
1
20
2,718282
2,718282
4,851652010
8
-1
- 10
0,3678795
4,539993010
5
- 20
2,061153710
9
4,8516531108
0,3678794
1,640860910
4
1,202966
Выходом из этой ситуации может быть использование для отрицательных
аргументов экспоненты формулы
e
1
ex
x
1
x2
1 x
2!

Естественно ожидать рост ошибок округления при вычислении
рассматриваемой функции при больших значениях аргумента x . В этом случае
можно использовать формулу e x en a enea , где n x .
Пример Вычисление функции sin x с помощью ряда Тейлора.
Решение
Известно, что функция синус представляется своим рядом Тейлора
sin x
x
x3
3!
x5
5!
x7
7!
,
причем радиус сходимости ряда равен бесконечности — ряд сходится при
любых значениях x . Вычислим значения синуса при двух значениях аргумента.
Пусть сначала x 0,523630 . Будем учитывать лишь члены ряда, большие,
чем 10 4 . Выполнив вычисления с четырьмя значащими цифрами, получим
sin 0,5236 0,5000, что соответствует принятой точности.
Пусть теперь x 25,661470 . Если вычисления по данной формуле проводить с
восемью значащими цифрами, то получим абсурдный результат: sin 25,66 24
(учитывались члены ряда, большие, чем 10 8 ). Разумеется, выходом из
12
создавшейся ситуации может быть использование формул приведения.
Рассмотрим пример вычислений с точностью M 0.005 .
Пример Найти разность двух чисел u 1,001,
v 1,002.
Решение
Проанализируем причину происхождения ошибки, например, при
вычитании двух чисел, взятых с точностью до третьей цифры после десятичной
точки u 1,001, v 1,002, разность которых составляет
vM uM 0,001. В памяти
u
машины эти же числа представляются в виде
,
uM u 1 M
v ,
vM v 1 M
v
u
причем
M
M
M
M и
u
v
Тогда
, vM v v M
uM u u M
Относительная ошибка при вычислении разности uM vM будет равна
uM
vM
u v
u v
uM
u
M
Очевидно, что
u
vM
u v
v
M
v
u
2 M
2000
0,001
u
M
v
M
v
u v
1,
M
т.е. все значащие цифры могут
оказаться неверными.
Пример Вычислить интеграл I n
1
x ne1 x dx , где n 0,1,2
0
Решение
Интегрирование по частям дает
1
xnd
In
e1
x
xn
1
e1
0
откуда следует I 0
x1
0
1
1
e1
x
d xn
0
nxn 1e1 x dx
1
0
1
e1 x dx e 1 7,71828, In
nIn
1
1,
n 1.
0
Тогда
I1 1 I0 1 0,71828,
I3
3 I 2 1 0,30968,
I5 5 I 4 1 0,1936,
I7
7 I6 1 0,13120,
I9
9 I8 1
0,55360,
I 2 2 I1 1 0,43656,
I4
4 I3 1 0,23872,
I6
6 I5 1 0,16160,
I8 8 I7 1 0,00496,
I10 10 I9 1
6,5360
Очевидно, что отрицательные значения при n 9,10 не имеют смысла.
Дело в том, что ошибка, сделанная при округлении I0 до 6-ти значащих
цифр, сохранилась при вычислении I1 , умножилась на 2! при вычислении I2 , на
3! — при вычислении I3 , и так далее, т.е. ошибка растет очень быстро,
пропорционально n! .
13
Пример Рассмотрим рекуррентное соотношение
ui 1 qui , i 0 , u0 a , q 0 , ui 0 .
Пусть при выполнении реальных вычислений с конечной длиной мантиссы
на i-м шаге возникла погрешность округления, и вычисления проводятся с
возмущенным значением
uiM ui
i,
тогда вместо ui 1 , получим
uiM1
q ui
i
ui
1
q i,
т.е.
i 1 q i , q 0,1,
Следовательно, если q 1 , то в процессе вычислений погрешность,
связанная с возникшей ошибкой округления, будет возрастать (алгоритм
неустойчив). В случае q 1 погрешность не возрастает и численный
алгоритм устойчив.
Экономичность вычислительного метода
Экономичность вычислительного метода характеризуется затратами
вычислительных ресурсов для его реализации - затратами машинного времени
и памяти.
Основной задачей при выборе вычислительного метода остается оценка
экономичности алгоритма, т.е. нахождение зависимости числа арифметических
операций от количества неизвестных для определения приближенного решения
с точностью, совпадающей по порядку с погрешностью аппроксимации.
Пример Пусть требуется вычислить сумму
S 1 x x2  x1023 при 0 x 1 .
Решение
Для последовательного вычисления
x, x 2 ,, x1023 x1022 x
проделать 1022 умножения, а затем столько же сложений.
Однако если заметить, что
1 x1024
1 x
S
необходимо
,
то количество арифметических действий значительно уменьшается;
частности, для вычисления x1024 требуется всего 10 умножений:
x2
x x; x4
x 2 x 2 ,, x1024
в
x 512 x 512 .
Пример Вычислить значений многочленов.
Px
a0
a1x a2 x 2  an xn
как значения каждого члена и суммировать.
Решение
14
Для вычисления необходимо выполнить
n2
n
2
умножений и n сложений.
Такой способ вычислений может привести к накоплению ошибок округления
при вычислениях с плавающей точкой.
Его очевидным улучшением является вычисление каждого члена
последовательным умножением на x . Такой алгоритм требует 2n 1 умножение
и n сложений.
Еще более экономичным алгоритмом является хорошо известная в алгебре
схема Горнера:
Px
 an x an 1 x an 2 x  a0 ,
требующая n операций сложения и n операций умножения.
Этот метод был известен в средние века в Китае под названием Тянь-Юань и
был заново открыт в Европе в начале XIX века математиками Горнером и
Руффини.
Горнер Уильям Джордж (Horner William George), 1786-1837, английский
математик. Основные исследования относятся к теории алгебраических
уравнений. Разработал способ приближенного решения уравнений любой
степени. В 1819 г. ввѐл важный для алгебры способ деления многочлена на
двучлен (схема Горнера).
Руффини Паоло— итальянский математик (1765—1822), первый доказал
невозможность решения в радикалах всех уравнений высших степеней, начиная
с 5-й.
Au
Пример Рассмотрим систему линейных алгебраических уравнений вида
f , u u1,, un T , f
f1,, f n T , с трехдиагональной матрицей
A
b1
a2
0

0
c1
b2
a3


0
c2
b3


 0
 0
c3 0
 
a n bn
Если проводить решение такой системы без учета специфической структуры
матрицы (например, с помощью метода Гаусса), то количество арифметических
действий будет порядка n3 , если же учесть эту структуру, то количество
операций можно уменьшить до n .
Погрешность вычислительного метода
Источником погрешности результата может быть математическая модель,
исходные данные, приближенный метод решения и округления при
вычислениях. Под погрешностью понимается некоторая величина,
характеризующая точность результата.
Оценим погрешность при вычислении первой производной при помощи
соотношения: f x f x h f x или
h
15
f x h
h
f x
f x
O h2
hf x
f x
f x
h
Oh
,
где O h есть погрешность метода.
В данном случае под погрешностью метода понимается абсолютная
величина разности f x f x h f x , которая составляет O h (более точно
h
, где
h
f
2
f x
x, x h
f x h
f x h
2h
). Если же взять другой метод вычисления производной
, то получим, что его погрешность составляет O h2 , это
оказывается существенным при малых h . Однако уменьшать h до
бесконечности не имеет смысла. Реальная погрешность при вычислении первой
производной будет
h
max f
2 x, x h
2
M
h
O h
O h
1
,
поскольку абсолютная погрешность вычисления значения функции за счет
машинного округления не превосходит 2 M . В этом случае можно найти
h
оптимальный шаг h численного дифференцирования :
hопт
2
M
max f
x, x h
Выбирать значение h меньше оптимального не имеет смысла, так как при
дальнейшем уменьшении шага суммарная погрешность начинает расти из-за
возрастания вклада ошибок округления.
Обусловленность задачи
В вычислительной практике большое значение имеет обусловленность
задачи, т.е. чувствительность ее решения к малым изменениям входных
данных.
 Определение Задача называется хорошо обусловленной, если малым
погрешностям входных данных отвечают малые погрешности решения, и плохо
обусловленной, если возможны сильные изменения решения.
 Определение Число обусловленности - количественная мера степени
обусловленности вычислительной задачи, есть коэффициент возможного
возрастания погрешностей в решении по отношению к вызвавшим их
погрешностям входных данных.
Пусть между абсолютными погрешностями входных данных x и решения y
установлено неравенство
Δ(y ) vΔΔ( x ) ,
где x и y - приближенные входные данные, и приближенное решение.
Тогда величина vΔ называется абсолютным числом обусловленности.
Если же между относительными ошибками данных и решения установлено
неравенство
( y ) v (x ) ,
16
то величину называют относительным числом обусловленности.
Для плохо обусловленной задачи v 1 .
Грубо говоря, если v 10N , где v - относительное число обусловленности, то
порядок N показывает число верных цифр, которое может быть утеряно в
результате, по сравнению с числом верных цифр входных данных.
Ответ на вопрос о том, при каком значении v задачу следует признать плохо
обусловленной, зависит, с одной стороны, от предъявляемых к точности
решения требований, и, с другой, от обеспечиваемого уровня точности
исходных данных.
Например, если требуется найти решение с точностью 0.1%, а входная
информация задается с точностью 0.02%, то уже значение v 10 сигнализирует
о плохой обусловленности.
Однако при тех же требованиях к точности результата гарантия, что
исходные данные задаются с точностью не ниже 0.0001%, означает, что при =
103, задача хорошо обусловлена.
Если рассматривать задачу вычисления корня уравнения y = f(x), то роль
числа обусловленности будет играть величина
1 ,
vΔ
f ( x 0)
где x0 - корень уравнения.
Пример Вычислить все корни уравнения
4
x 4 x 3 8 x 2 16x 15, 99999999
10 8 0 .

 x 2
4
8
Решение
Точное решение задачи легко найти:
x 22
10 4 ,
x1 2,01; x2 1,99; x3,4 2 0,01i .
Если компьютер работает при M 10 8 , то свободный член в исходном
уравнении будет округлен до 16,0 и, с точки зрения представления чисел с
плавающей точкой, будет решаться уравнение ( x 2) 4 0 , т.е. x1,2,3,4 2 , что,
очевидно, неверно.
В данном случае малые погрешности в задании свободного члена 10 8
привели, независимо от метода решения, к погрешности в решении 10 2 .
Пример Решается задача Коши для обыкновенного дифференциального
уравнения 2-го порядка:
u t u t , u 0 1, u 0
1.
Решение
Общее решение: u(t ) 0,5 u(0) u (0) et 0,5 u(0) u (0) e t .
17
При заданных начальных данных точное решение задачи: u( x) e t , однако,
малая погрешность в их задании приведет к появлению члена e t , который
при больших значениях аргумента может существенно исказить решение.
Пример
Пусть
необходимо
дифференциального уравнения
u 10u,
u(t0 ) u0,
u
t
u (t )
0,1
найти
решение
обыкновенного
.
Решение
Решение имеет вид: u(t ) u0e10(t t ) ,
однако значение u (t0 ) известно лишь приближенно: u(t0 ) u0 , и на самом деле
u (t ) u0 e10(t t ) . Соответственно, разность u u будет u u (u0 u0 )e10(t t ) .
0 на отрезке t 0,1 . Тогда должно
Заданная точность вычислений
выполняться условие
0
0
0
u (t ) u (t )
Очевидно, что max u (t ) u(t )
u (1) u(1)
t 0,1
u0 u0 e10 1
t0
Отсюда можно получить требования к точности задания начальных данных
: u0 u0
,
e 10
при t0 0 .
Таким образом, требование к заданию точности начальных данных
оказываются в e10 раз выше точности результата решения задачи.
Решение оказывается очень чувствительным к заданию начальных данных.
Такого рода задачи называются плохо обусловленными.
Пример Решить систему линейных алгебраических уравнений
u 10v 11
100u 1001v 1001
Решение
Решением системы является пара чисел 1,1 .
Изменив правую часть системы на 0,01, получим возмущенную систему
u 10v 11,01
100u 1001v 1001
с решением 11,01;0,00 , сильно отличающимся от решения невозмущенной
системы. Эта система также плохо обусловлена.
Пример Рассмотрим полином
x 1 x 2  x 20
x20 210x19 , корни которого x1 1 , x2
2 , …, x20
20 .
18
Положим, что коэффициент (-210) x19 увеличен на 10 7 . В результате
вычислений с 11-ю значащими цифрами получим совершенно иные корни: x1 =
1,00; x2 = 2,00; x3 = 3,00; x4 = 4,00; x5 = 5,00; x6 = 6,00; x7 = 7,00; x8 = 8,01; x9 =
8,92; x10,11 = 10,1 ± 0,644i; x12,13 = 11,8 ± 1,65i; x14,15 = 14,0 ± 2,52i; x16,17 = 16,7 ±
2,81i; x18,19 = 19,5 ± 19,4i; x20 = 20,8.
Причина значительного расхождения также заключается в плохой
обусловленности задачи вычисления корней рассматриваемого выражения.
Контрольные вопросы
1. Укажите основные источники погрешности при численном решении
задач
2. Дайте классификацию погрешностей.
3. Определите абсолютную и относительную погрешности числа, верные
значащие цифры числа.
4. Сформулируйте прямую и обратную задачу теории погрешностей.
5. Погрешности основных арифметических операций.
6. Погрешности элементарных функций.
7. Прямая задача теории погрешностей и способы ее решения.
8. Обратная задача теории погрешностей и ее решение методом равных
влияний.
19
Лекция 2
Основные источники погрешностей
Одним из главных вопросов, возникающих при численном решении
вычислительных задач, является оценка достоверности полученного результата.
Источник возникновения погрешностей можно проследить, следуя этапам
численного решения задачи.
Во-первых, это погрешность, вносимая математической моделью задачи.
Величина погрешности, вносимой в результат математической моделью,
может возрасти, если в модели не учтены какие-либо важные характеристики
изучаемого явления. Кроме того, исходные данные вносят свою долю (иногда
основную) в образование погрешности результата.
Эти источники погрешности называют неустранимыми погрешностями,
так как их нельзя полностью устранить ни до начала решения задачи, ни, тем
более, в процессе ее решения.
Во многих численных методах, связанных, например, с приближенным
вычислением интегралов или с нахождением промежуточных значений
функции, заданной в виде таблицы, используется идея приближения функции
с помощью алгебраического многочлена степени n . Это приводит к
образованию погрешности, связанной с такой заменой.
При вычислении на ЭВМ неизбежно возникает погрешность округления в
силу ограниченности разрядной сетки компьютера. Например, при округлении
в компьютере максимальная относительная погрешность равна
1 k
,
max 0.5
где
– основание системы счисления, k – количество разрядов мантиссы
числа. Если просто отбрасывать лишние разряды, то эта погрешность может
возрасти в два раза.
Рассмотрим математические характеристики точности задания исходных
данных задачи.
 Определение Приближенное число a называется число, незначительно
отличающееся от точного числа A и заменяющее последнее в вычислениях.
Если a  A - то приближенное значение по недостатку, если a  A - по
избытку.
 Замечание В теории погрешностей при округлении чисел применяется
правило дополнения при округлении: если первая отбрасываемая цифра больше
или равна 5, то последняя сохраняемая цифра увеличивается на 1.
Если первая отбрасываемая цифра меньше 5, то последняя сохраняемая цифра
остается без изменения.
Обозначим через x – точное значение некоторой величины, а через x – ее
приближенное значение. Погрешность приближенного числа x , т.е. разность
20
x
x
x , обычно неизвестна. Обозначим погрешность приближенного числа
x
x .
 Определение Абсолютная погрешность приближения x - величина
удовлетворяющая неравенству
x
x
x
,
x
Ax
Число Ax называется предельной абсолютной погрешностью.
Практически число αx чаще всего неизвестно. В качестве Ax стараются
указать наименьшее число, удовлетворяющее неравенству:
x Ax
x x
Ax .
или, записывают в виде x x Ax .
В записи приближенного числа, полученного в результате измерения,
обычно отмечают его предельную абсолютную погрешность.
 Замечание Если x  x , то ошибка положительна, x  x , то ошибка
отрицательна. Во многих случаях знак ошибки
неизвестен, поэтому в
качестве абсолютной погрешности пользуются
.
 Замечание Абсолютная погрешность – величина размерная, имеющая
размерность x x .
Поясним сказанное на примерах. С помощью абсолютной погрешности
можно отразить количественную сторону погрешности некоторого результата,
но не качественную. Введем понятие относительной погрешности.
 Определение
Относительной
(предельной
относительной)
погрешностью x приближенного числа x x называется отношение его
абсолютной погрешности Ax к абсолютной величине числа x , т.е.
Δx
Ax
x
Тогда
x
x
x
Ax
x
Δx
и
x 1 Δx
x
x 1 Δx
.
 Замечание Относительная погрешность–величина безразмерная
обычно выражается в процентах.

Пример Определить, в каком случае качество вычислений выше:
13
52 7,21.
x1
0,684 ; x2
и
19
Рeшение
Вначале определим абсолютные погрешности x1 и x2 . Для этого берем
числа x1 и x2 с большим числом знаков: 13 0,68421 ; 52 7,2111. Определим
19
абсолютные погрешности, округляя их с избытком:
Ax
0,68421 0,684
0,00022
1
21
Ax
7,2111 7,21
0,0012
2
Далее определим относительные погрешности для x1 и x2 :
Ax1
x1
x1
Ax2
x2
x2
0,00022
0,684
0,00033 0,03%
0,0012
7,21
0,00017 0,02%
Сравнивая x и x , видим, что качество приближенных вычислений во втором
случае оказалось выше, чем в первом.
Погрешности, встречающиеся в математических задачах, могут быть
разбиты на 5 групп.
 Погрешности задачи – идеализированные модели. Математические
формулировки редко отображают реальные явления, принимаются условия,
упрощающие задачу.
 Остаточные погрешности – наличие бесконечных процессов.
Бесконечный процесс останавливаем на некотором члене, считая его
приближением к искомому решению.
Такой обрыв и вызывает остаточную погрешность.
 Начальная погрешность – наличие параметров, значения которых
определяются приближенно, таковы все физические константы.
 Погрешности округления – связанные с системой счисления.
 Погрешность действия – связаны с действиями над приближенными
числами.
Производя вычисления с приближенными числами, погрешности исходных
данных переносятся на результат вычисления. При решении конкретной задачи
те или иные погрешности отсутствуют, или их влияние ничтожно.
В теории погрешностей рассматриваются две основные задачи: прямая и
обратная. Сформулируем эти задачи и укажем способы их решения.
Прямая задача. Пусть задана функция
2
1
y
f x1, x2 ,, xn
Требуется, зная приближенные значения аргументов x1 , x2 ,, xn и их
абсолютные погрешности Ax , Ax ,, Ax , оценить неустранимую погрешность
1
функции y
2
n
f x1 , x2 ,, xn .
Будем решать поставленную задачу при следующих предположениях:
1) f x1, x2 ,, xn C1 G где G – некоторая выпуклая область n-мерного
числового пространства;
xi , i 1, n ;
2) погрешности Ax
1
3) погрешность приближенного значения функции y f x1 , x2 ,, xn
требуется найти с небольшой точностью, например, один-два верных знака.
22
Сформулированные
предположения
позволяют
сократить
объем
вычислений погрешности функции. Предельная абсолютная погрешность
приближенного значения функции y вычисляется по формуле
n
Ay
f x1 x
Ax
1
i 1
Тогда, используя определение предельной относительной погрешности
приближенного значения y , получаем формулу для еѐ нахождения
Δy
Ay
n
y
i 1
ln f x
xi
Ax
1
Можно
выразить
относительную
относительные погрешности аргументов.
В этом случае формула примет вид
Δy
Ay
y
n
xi
f x1 ( x )
i 1
Δx
f (x )
1
xi
0, i 1,, n
погрешность
функции
через
.
Значащие цифры и верные значащие цифры числа
При решении различных прикладных задач часто ставится условие получить
результат с определенной точностью , например,
10 2 ,10 3 ,Что это
значит?
Точность вычисления в вычислительной математике определяется
количеством цифр результата, заслуживающих доверия, а не числом
десятичных знаков после запятой
Известно, что любое число можно представить в виде конечной или
бесконечной дроби
x
x1
n
x2
n 1
 xm
n m 1
где xi – цифры числа x xi 0,1,,

1,
– основание системы счисления,
причем x1 0 , n – некоторое целое число (старший разряд числа ).
10 , то, например, для числа 327,012… можно записать
Если
представление
327,012 3 102 2 101 7 100 1 10 2 2 10 3 .
В основном на практике имеют дело с приближенными числами –
10 . Тогда, например, для числа a , состоящего
конечными дробями. Пусть
из m цифр, имеет место такое представление:
a
a1 10n a2 10n
1
am 10n
m 1
a1
0
Все сохраняемые десятичные знаки ai , i 1, m называются значащими
цифрами числа a , среди них есть равные нулю, за исключением a1 .
 Определение Значащая цифра приближенного числа - всякая цифра в его
десятичном изображении, отличная от нуля, и нуль, если он содержится между
23
значащими цифрами или является представителем сохраненного десятичного
разряда.
Пример 0,003090 –первые нули не значащие.
Пример 73200 – все цифры значащие.
 Определение n первые значащие цифры приближенного числа являются
верными, если абсолютная погрешность этого числа не превышает половины
единицы разряда, выражаемого n -ой значащей цифрой, считая слева направо.
Т.е. если известно, что Δ
A a
1
10 m
2
n 1
, то первые n цифр am , am 1,, am
n 1
верные
Пример A 36,98 приближенно a 37,00 является приближенным с тремя
верными знаками, т.к.
Δ
36,98 37,00
1
0,1
2
0,02
Теорема Если положительное приближенное число a имеет n верных
десятичных знаков, то относительная погрешность
этого числа не
1
10
превосходит
1
am
т.е.
1
10
n 1
, деленную на первую значащую цифру данного числа,
n 1
Доказательство
Пусть a m 10m
m 1
10m
1

Имеем по определению Δ 1 10 m
m n 1
n 1
2
1
10m
2
A a
m
1
10 n
2
1
m
10 m
1
10 m
2
n 1
Δ
A a
m
m
1
10 m
2
2
1
m
10 n
1
2
1
m
m
1
A
1
m
0.
10 m , т.е.
наименьшее при n 1 , тогда A 1 10 m 2
Следовательно
Или
n 1
n 1
Заменим a на меньшее
A
10m
1
10
m,
то A
1
10 m n 1
2
1
m
m 10
2
1
10 m
2
1
m
m
1 , но
m
1
10 n
1
n 1
24
 Следствие За предельную относительную погрешность
принять величину
n 1
1
1
.
a
m
a можно
10
Пример Какова предельная относительная погрешность
взять 3.14?
Решение
am
числа
n 3,
3
тогда
1 1
3 10
a
2
1
600
a,
если вместо
1
%.
6
Пример Если при записи числа 237000 надо показать, что три последних
нуля не являются значащими цифрами, то пишут это число следующим
образом:
237 103 , или 23,7 104 , или 2,37 105 , или 0,237 106 .
Абсолютные и относительные погрешности для приближенных
вещественных чисел тесно связаны с очень важным понятием верных
значащих цифр.
 Определение Число x имеет m верных значащих цифр, если для
абсолютной погрешности числа Ax справедливо неравенство
n m 1
Ax
,
где
0,5
1 1/
.
m 1 -я цифра числа x считается сомнительной.
0,5 , говорят о верных значащих цифрах числа x в узком смысле
При
1 , то в широком смысле.
слова, а когда
Если
10 , то получим, что
В двоичной системе счисления w
0,5
0,9
0,5555 0,56 .
0.5
1.
0.5
Если допускать сдвиг последней верной цифры на два разряда влево, то в
десятичной системе счисления в качестве w можно взять число
0.5
w
1
1
10
2
0,5050 0.56 .
Приближенные числа следует записывать, сохраняя верные знаки. Это
позволяет судить о точности задания этих чисел.
Можно оценить погрешность приближенного числа, указав, сколько в нем
верных значащих цифр. Поясним сказанное на примерах.
Пример Пусть число x 0,00139 имеет три верные значащие цифры.
Определить его абсолютную погрешность.
Решение
Исходя из связи, установленной между Ax и m получим
25
Ax
0,5 10
3 3 1
n
или
3, m 3
Ax
0,5 10
5
.
Абсолютная погрешность числа x не превосходит величины 0,5 10 5 .
Пример Со сколькими десятичными знаками следует взять число
чтобы его абсолютная погрешность не превосходила 0,5?
,
Решение
Исходя из определения числа верных значащих цифр, будем иметь
0,5 0,5 100
m 1
n 0
или
0,5 100 0,5 10n m , m 1,
3.
Тогда следует взять
Пример Со сколькими десятичными знаками надо взять
погрешность не превышала 0,1%.
Решение
Первая цифра 4, то am 4
Имеем
1
4 10n
1
0,001
20 , чтобы
0,001.
10n
1
250
n 4.
 Замечание Заметим, что если в исходных данных задачи дано число без
указания его абсолютной или относительной погрешности, то предполагается,
что все цифры данного числа являются верными значащими цифрами.
Погрешность суммы
Теорема Абсолютная погрешность алгебраической суммы нескольких
приближенных чисел не превышает суммы абсолютных погрешностей этих
чисел.
Доказательство
Пусть a1, a2 ,, an - данные приближенные числа. Рассмотрим их
алгебраическую сумму
a
a1 a2  an
Δa
Δa1  Δan .
 Следствие За предельную абсолютную погрешность алгебраической
суммы можно принять сумму предельных абсолютных погрешностей
слагаемых
Δa
Δa1
Δa2
 Δan
Другими словами, при сложении приближѐнных величин их абсолютные
погрешности складываются.
Заметим, что формула даѐт сильно завышенное значение абсолютной
погрешности, если число слагаемых n велико, т.к. обычно погрешности имеют
разные знаки и при их сложении происходит частичная компенсация. В таких
случаях можно пользоваться правилом статистической оценки абсолютной
погрешности суммы.
26
Если погрешности всех слагаемых оцениваются величиной 0.5 10 p , т.е.
слагаемые округлены до p-го десятичного разряда, то по правилу
статистической оценки Ay 3n 0.5 10 p ,где n > 10 – число слагаемых.
Кроме описанных выше правил, при сложении приближѐнных величин
можно применять следующее правило:
1) среди слагаемых выделяем число, имеющее наибольшую абсолютную
погрешность;
2) остальные слагаемые округляем по образцу выделенного с запасом в
один-два десятичных знака;
3) производим сложение приближѐнных чисел;
4) в сумме оставляем столько знаков, сколько их в слагаемом с
максимальной абсолютной погрешностью.
Пример. Найти сумму чисел 648,5; 121,8; 10,81; 1,15; 0,0713; 0,0181;
0,000461; 0,438; 0,118;
Решение
648,5 и 121,8 – абсолютная погрешность 0,1, округляя числа до 0,01, имеем
648,5+121,8+10,81+1,15+0,07+0,02+0+0,44+0,12=782,12.
Округляя до 0,1 782,1
Полная погрешность результата складывается
из погрешностей: суммы предельных погрешностей исходных данных
1
10
1
10
1
10
2
10
2
10
4
10
4
10
6
10
3
10
3
0,222
абсолютной величины суммы ошибок округления слагаемых
2
0,0013 0,0019 0,000039 0,002 0,002
0,005
заключительной погрешности округления результата
3
0,02 .
Следовательно
1
2
3
0,222 0,005 0.02 0,247  0,3
Таким образом, сумма
782,1
.
Пример Пусть требуется найти сумму чисел:
S 111,5 32,45 17,048 0,0074.
Решение
Число 111,5 имеет максимальную абсолютную погрешность, равную 0,05.
Округлим остальные слагаемые до двух десятичных знаков и произведѐм
сложение. Получим S 161,01.Так как число с максимальной погрешностью
имеет один верный десятичный знак после запятой, то окончательно получаем
S 161,0 .Этот же пример можно решить другим способом, пользуясь тем
фактом, что при сложении приближѐнных величин складываются их
погрешности. Найти значение S , As , а затем установить в числе S количество
верных знаков. Получится тот же самый результат: S 161,0 .
27
Погрешность разности
Теорема Предельная абсолютная погрешность разности равна сумме
предельных абсолютных погрешностей уменьшаемого и вычитаемого.
Доказательство
Рассмотрим разность двух приближенных чисел
a a1 a2 , имеем
a
a1
a2 , ч.т.д.
Предельная относительная погрешность разности
a
a1
a2
A
Таким образом, при вычитании приближенных чисел их абсолютные
погрешности складываются.
Пример Оценить погрешность разности z
1,05 1,045
Решение
Нетрудно показать, что погрешность первого числа есть 0,005, а второго –
0,0005, считая все знаки чисел верными.
Тогда Az
0,0055
100% 110% .
0,005
0,005и Δ z
0,0055, z
Видим, что при вычитании близких чисел сильно возрастает относительная
погрешность. Таких ситуаций при проведении численных расчѐтов следует
избегать.
Погрешность произведения
Теорема. Относительная погрешность произведения нескольких
приближенных чисел не превышает суммы относительных погрешностей этих
чисел.
Доказательство
Рассмотрим число a :
a1 a2  an
a
ln a
ln a1  ln an
Δa
a
Δan
Δa1

a1
an
Δa
a
1
Δ ln a
d ln x
Δa
a
Δa1
a1
2

Δa
a

Δan
an
n
Следовательно, при умножении приближѐнных чисел складываются их
относительные погрешности. Это правило можно использовать при решении
примеров.
Пример. Найти произведение a1
Решение
2,5 a 2
72,397 .
28
После
округления,
имеем
a1
2,5 a 2
72,4 ,
следовательно
2,5 72,4 181 1,8 10 2 .
a1 a 2
Пример Вычислить P
0,35 1,75 3,2 и оценить A p ,
p
.
Решение
Предполагая, что все сомножители даны с верными знаками, определим их
абсолютные погрешности. Получим соответственно:
Ax 0,005; Ax 0,005; Ax 0,05 ,
1
2
3
где x1 0,35 ; x2 1,75; x3 3,2 .
Ax
Δx
1
1
Тогда
x1
Ax
Δx
1
x2
Ax
Δx
x3
Δp
1
1
0,005
0,29 10
1,75
2
0,05
0,16 10
3,2
3
1
Следовательно, Δ p
2
0,005
0,14 10
0,35
Δp
2
Δp
3
1
3,3 10 2 , Δ p
Находим непосредственным умножением, что P
Зная, что Ap Δ p P , получаем A p 6,5 10 2 .
3,3% .
1,96 .
Погрешность частного
Теорема Относительная погрешность частного не превышает суммы
относительных погрешностей делимого и делителя.
Доказательство
a
Δa
a
a1
a2
, ln a
Δa1
a1
ln a1 ln a2
Δa2
a2
Δa
a
Δa1
a1
Δa2
a2
Таким образом, при делении приближѐнных величин складываются их
относительные погрешности.
Пример
Вычислить
r
0,75 1,4 0,002
1,1 3,7
и
оценить
абсолютную
и
относительную погрешность результата.
Решение
Обозначим,
Считаем,
что
все
x1 0,75; x2 1,4; x3 0,002; x4 1,1; x5 3,7.
приближѐнные числа даны с верными знаками. Тогда можно оценить их
29
абсолютные погрешности, пользуясь определением значащих цифр и верных
знаков. Имеем:
Ax 0,005; Ax 0,05; Ax 0,0005; Ax 0,05; Ax 0,05; .
1
2
3
4
5
Теперь можно найти относительные погрешности xi , i 1,5 . Получаем:
Воспользуемся тем, что при умножении и делении приближѐнных величин
складываются их относительные погрешности. Получим
Δ
Δ
35 % .
Непосредственным вычислением получаем, что
Тогда
A
r Δ
0,18 10 3 .
r
5,16 10
4
.
Определим теперь, сколько верных знаков имеет число r 0,000516.
Число r имеет 3 значащие цифры и может быть представлено в виде
r 5 10 4 1 10 5 6 10 6 .
Его старший разряд есть 10 4 . По определению верных знаков должно
выполняться неравенство
A
0,5 10
4 m 1
где m – количество верных знаков числа r .
Определим его из неравенства
0,18 10 3 0,5 10 4 m 1 .
Тогда получаем 3 4 m 1 и m 0 , т.е. число r не имеет ни одного
верного знака.
Можно получить формулы погрешности для степенной функции,
показательной, логарифмической и тригонометрических функций.
Погрешность степени
Теорема Предельная относительная погрешность n -ой степени числа в
m раз больше предельной относительной погрешности самого числа.
Доказательство
xm
a
a
m
ln a
m ln x
Δa
a
m
Δx
x
x
Вывод
при сложении и вычитании приближенных чисел младший
сохраненный десятичный разряд результата должен являться наибольшим

30
среди десятичных разрядов, выражаемых верными последними значащими
цифрами искомых данных;
при умножении и делении приближенных чисел в результате
следует сохранять столько значащих цифр, сколько их имеет
приближенные данное с наименьшим числом верных значащих цифр;
при возведении в квадрат или куб приближенного числа нужно
сохранять столько значащих цифр, сколько верных значащих цифр имеет
основание степени;
во всех промежуточных результатах следует сохранять на одну
цифру больше, в окончательном результате эта цифра отбрасывается.
Пример Найти предельные абсолютные и относительные погрешности
вычисления объѐма шара V 1 d 3 , если диаметр d 4,5 0,05м , а число
3,14 .
6
Решение
Так как число
3,14159,
V
Имеем AV
то можно взять A
V
A .
d d
A
v
Тогда
0,002.
v
d
Av
,d
1
d
6
,d
1
2
3
d
15,1875( м 3 );
2
31,7925( м 2 ).
.
15,1875 0,002 31,7925 0,05 1,62( м 3 )
Проводя вычисления, получаем
V
1
6
3
d
47,68875 ( м 3 )
Следовательно V V AV 47,689 1,62( м3 )
Предельная относительная погрешность объема шара есть
AV
1,62
ΔV
3,4 10 2 ,
47,689
V
или ΔV 3,4 10 2 100 % 3,4% .
Обратная задача. Найти, каковы должны быть допустимые погрешности
аргументов, чтобы погрешность функции не превосходила некоторого
заданного значения. В такой постановке обратная задача однозначно
разрешима лишь в случае функции одной переменной y f x .Зная
абсолютную погрешность Ay функции, можно получить
Ax
Ay
,
f (x )
а затем найти и относительную погрешность аргумента.
Следует отметить, что при решении обратной задачи иногда может
оказаться, что абсолютные погрешности некоторых аргументов настолько
малы, что измерить их с полученной точностью практически невозможно.
В таких случаях используют другие соглашения.
31
Будем предполагать, что предельные абсолютные погрешности всех
аргументов функции одинаковы, т.е. Ax Ax  Ax
1
Тогда имеем
Ax
1
Ay
n
2
n
, i 1, n
f x1 x1 ,  , xn
i 1
Возможны и другие соглашения.
Пример Определить, каковы должны быть допустимые погрешности
числа , радиуса основания R и высоты H , чтобы погрешность вычисления
объѐма цилиндра можно было определить с точностью до 1%?
Решение
Объѐм цилиндра определяется по формуле
V
R2 H .
По условию задачи известна предельная относительная погрешность
ΔV 1% . Тогда можно вычислить предельную абсолютную погрешность:
AV
ΔV V
100%
1%
R 2H
100%
0,01 R 2 H
Тогда получим:
A
AR
AH
AV
10 2
3R 2 H 3
AV
R
10 2
6 RH 6
AV
H
10 2
3 R 3
Отсюда находим предельные относительные погрешности аргументов:
Δ
A
ΔR
AR
ΔH
R
AH
100% 0,3%
100% 0,2%
100% 0,3%
H
Убедиться в правильности полученных результатов можно, учитывая, что
при умножении приближѐнных величин складываются относительные
погрешности сомножителей.
Тогда
Δ Δ 2Δ Δ 1% .
Данная задача допускает и другое решение.
Так как число можно практически взять с любым количеством цифр, то
его погрешность можно не учитывать в погрешности объѐма.
V
R
H
32
Вычислительная погрешность
Проведение численных расчѐтов на компьютере неизбежно связано с
погрешностью округления, иначе говоря, с вычислительной погрешностью.
Округления возникают в силу ограниченности разрядной сетки компьютера
при представлении в нем вещественных чисел. Округления в ЭВМ
производятся путѐм отбрасывания цифр, не помещающихся в разрядную
сетку.
Следует отметить, что встречаются задачи, которые очень чувствительны к
погрешностям исходных данных. Эта чувствительность может быть
охарактеризована понятием устойчивости, которое входит как составная часть
в понятие корректности. Численные методы нецелесообразно применять к
некорректно поставленным задачам. Эти задачи требуют особого
рассмотрения, и для их решения разрабатываются свои методы.
 Определение Задача называется поставленной корректно, если для
любых значений входных данных из некоторого класса выполняются
следующие условия:
1) решение задачи существует и единственно в рассматриваемом классе
решений;
2) решение устойчиво относительно входных данных, т.е. малые изменения
во входных данных приводят к малому изменению решения.
Если нарушается одно из условий или сразу оба, то задача называется
некорректно поставленной.
Задачи для самостоятельного решения
1.
Найти сумму приближѐнных чисел 23,44 0,263 445, все знаки
которых верны, и указать еѐ абсолютную и относительную погрешности.
2.
Сторона квадрата равна 3,07м 0,02м . Вычислить площадь квадрата,
округлив результат до верных знаков.
3.
Определить количество верных значащих цифр в следующих числах:
x1
0,2365, если
Δx
0,2 10
x1
426,75, если Δx
0,32 10
1
1
4
.
2
4.
Найти
допустимые
абсолютные
позволяющих найти значение функции
u
x1 x2
x2 x3 , x1
3,21458, x2 1,32487, x3
погрешности
аргументов,
0,026534 с пятью верными знаками.
Определить относительную погрешность чисел
a 27684, b 5,18, если Aa 0,3 10 1, Ab 0,4 10 3 .
6.
Определить количество верных значащих цифр в числах
5.
x1 , x2 :
x1
0,52432 если Δ x
x2
29,1846 если Δ x
0,02%
1
0,34%
2
33
7.
Найти частное двух чисел 0,327 15,4236 (у делимого и делителя все
знаки верные) и указать относительную погрешность результата.
8.
Найти допустимое число верных значащих цифр свободного члена
уравнения x2 4 x e0,8 0 , чтобы получить корни с тремя верными знаками.
9.
Вычислить значение функции
u
x1 3 x2
, x1
0,6 x3
2,68; x2
0,498; x3
2,653;
10. С какой абсолютной погрешностью следует задать xi , i 1,3 , чтобы
получить значение функции с тремя верными значащими цифрами.
11. Определить количество верных значащих цифр в числах
a 38441b
;
2,623 если Δa 0,5%, Δb 0,8%
12. Определить абсолютную погрешность чисел
a 17,296; b 0,002968 если Δa 2%, Δb 0,9%
13. Найти произведение приближенных чисел
0,305 254,8 25,43 – все знаки у сомножителей верные – и указать
абсолютную и относительную погрешности результата.
14. Определить абсолютную и относительную погрешности функции
y x1 x22 x32 , если x1 0,4 0,06 ; x2 0,7 0,07 ; x3 0,5 0,04.
15. Приближѐнное значение величины a 24,4827. Зная, что Δa 0,04% ,
указать область неопределѐнности a .
16. Вычислить выражение z 4,6 293,28 0,07625, считая, что все числа даны
1,3846 19,423
с верными знаками. Определить число верных значащих цифр результата.
17. Даны числа a 3,265 и b 0,138 с относительными погрешностями
Δa Δb 0,006 . Определить величину относительной погрешности корня
квадратного из их разности.
Контрольные вопросы
Введите понятие вычислительной погрешности
2. Введите понятие погрешности округления.
3. Абсолютная и относительная погрешности приближенного числа,
4. Границы погрешностей.
5. Что происходит с абсолютными погрешностями при сложении чисел?
6. Что происходит с абсолютными погрешностями при вычитании чисел?
7. Чему равны относительные погрешности при умножении чисел?
8. Чему равны относительные погрешности при делении чисел?
9. Сформулируйте определение корректности постановки задачи.
10. Понятия
значащей, верной и сомнительной цифры в записи
приближенного числа.
11. Правила округления и погрешность округления.
12. Устойчивые и неустойчивые задачи по исходным величинам.
1.
34
Лекция 3
Интерполирование и приближение функций
Приближение функций - нахождение для данной функции f другой
функции g из некоторого определѐнного класса (например, среди
алгебраических многочленов заданной степени), в том или ином смысле
близкой к f , дающей еѐ приближѐнное представление.
Существует много разных вариантов задачи о приближении функций в
зависимости от того, какие функции используются для приближения, как
ищется приближающая функция g , как понимается близость функций.
Интерполирование функций - частный случай задачи приближения, когда
требуется, чтобы в определѐнных точках (узлах интерполирования) совпадали
значения функции f и приближающей еѐ функции g , а в более общем случае и значения некоторых их производных.
Из курса математического анализа известны некоторые способы
приближения функций.
Например, всякая функция f x , непрерывная в окрестности точки x
и
имеющая в этой окрестности непрерывные производные до n - го порядка
включительно, может быть представлена формулой Тейлора
n
f x
k
fk
0 k!
x
k
Rn x
где Rn x - остаточный член, задающий величину ошибки при замене функции
f x на многочлен Тейлора
Rn x
f
n 1
x
n 1!
x
n 1
0  1
Пример Формула Тейлора единственный способ вычисления функций
y e x , y cos x и др.
ex
1 x
x2
2!

xn
n!
.
Задача
о
приближении
функций
возникает
при
обработке
экспериментальных данных, когда функциональная искомая связь f x
получена графически или таблично и требуется построить аналитическую
функцию x , заменяющую f x в вычислениях.
Дадим математическую постановку задачи о приближении функции.
Пусть на некотором множестве X задана система линейно независимых
функций,
0 x , 1 x , n x ,
которые являются непрерывно дифференцируемыми (достаточно гладкими).
Данная система называется основной.
Тогда функции вида
35
n
Pn x
ck
k
x
k 0
где ci i 0, n - числовые коэффициенты,
полиномами (многочленами) порядка n .
называются
обобщенными
Задача приближения
Данную функцию f x требуется заменить обобщенным полиномом Pn x
порядка n так, чтобы отклонение функции f x от Pn x на некотором
множестве X было наименьшим. При этом полином Pn x называют
аппроксимирующим, а процесс построения такого полинома – аппроксимацией.
Pn x
Чаще всего на практике в качестве полинома
берут
2
n
последовательность целых неотрицательных степеней 1, x, x ,, x . Тогда
функция есть алгебраический полином степени n :
Pn x
c0
c1 x c2 x 2  cn x n
Можно в качестве i x взять последовательности тригонометрических
1,cos x,sin x,cos 2 x,sin 2 x,,cos nx,sin nx .
функций
Тогда функция называется
тригонометрическим полиномом порядка n :
Pn x a0 a1 cos x b1 sin x  an cos nx bn sin nx .
Если множество X является дискретным (состоит из отдельных точек), то
приближение называется точечным. Если множество X - отрезок [a, b] , то
приближение интегральное.
Для практики весьма важным является приближение функций обычными и
тригонометрическими полиномами.
Понятие «отклонение функции» в различных случаях понимается поразному. При этом получаются различные задачи: интерполирование,
аппроксимация сплайнами, среднеквадратичное приближение, равномерное
приближение и др.
Задачи интерполирования функций
Известны три способа задания функции: аналитический, графический и
табличный. Очень часто для функции одного переменного y f x необходимо
вычислить ее значения в точках x , отличных от значений аргумента,
зафиксированных в таблицах. Такие задачи и формулируются как задачи
интерполирования.
Интерполяция (от лат. interpolar — подновлять) —восстановление
промежуточных значений функции внутри интервала по ряду известных ее
значений;
Экстраполяция (лат. приставка extra означает «вне») — когда не вошедшее в
исследование значение x лежит вне интервала.
36
Очевидно, интерполяция более надежна, чем экстраполяция.
Задача интерполяции функций возникает в тех случаях, когда:
функция задана в виде таблицы, и необходимо знать значения функции
для промежуточных значений аргументов, расположенных в таблице между
узлами xi , i 0, n , а также для аргументов, расположенных вне таблицы;
известна лишь таблица функции и требуется определить ее
аналитическое выражение;
известно аналитическое выражение функции, но оно имеет очень
сложный вид, вследствие чего возникает необходимость представления этой
функции в более простом виде.
Пусть при изучении некоторого явления установлено, что существует
функциональная зависимость между величинами x и y , описывающая
количественную сторону данного явления; при этом функция y f (x) остаѐтся
нам неизвестной. Однако на основании эксперимента установлены значения
этой функции y0 , y1 , y2 , ..., yn , при некоторых значениях аргумента x0 , x1 , x2 , ..., xn ,
принадлежащих отрезку a; b .
Найти функцию, по возможности более простую с точки зрения
вычисления еѐ значений (например, многочлен), которая бы представляла
неизвестную функцию y f (x) на отрезке a; b точно или приближѐнно.
Пусть задана функция y f x на [a, b] в точках xi [a, b] i 0, n , т.е.
yi f xi .
Требуется найти функцию y
x , как можно более простую, которая
представляла бы функцию y f x на [a, b] точно или приближенно и
совпадала с ней в заданных точках xi , т.е. f xi
xi . Точки xi называются
узлами интерполяции.
Процесс вычисления значений функции y f x в точках xi , отличных от
узлов интерполяции, называется интерполированием функции y f x .
На практике в качестве интерполирующей функции (x) часто используются
алгебраические полиномы различного вида, так как полиномы легко вычислять,
дифференцировать и интегрировать. При этом интерполяция носит название
полиномиальной.
Если значения x , для которых определяется приближенное значение
функции, лежат в [a, b] , то такая задача называется интерполированием в узком
смысле, если же xi [a, b] , то экстраполирование функции
Таким образом, в качестве критерия близости двух функций в задачах
интерполирования принимается следующий:
Функции f x и
x считаются близкими на дискретном множестве
X x0 , x1,xn , , если они совпадают в точках xi этого множества.
Геометрически задача интерполирования
37
Построение кривой y
x , проходящей через точки плоскости с
координатами xi , yi .
 Замечание В общем случае через данные точки xi , yi можно провести
множество кривых, т.е. в принципе задача неопределена.
Но, если в качестве интерполирующей функции выбрать многочлен Pn x
степени не выше n , то задача становится однозначной.
Если x выбирается в классе степенных функций, то такая интерполяция
называется параболической.
 Замечание Интерполяция – один из способов аппроксимации данных.
Интерполяция является важным математическим аппаратом при решении
многих задач численного анализа: численного интегрирования и
дифференцирования, при решении дифференциальных уравнений и др. Это
является полезным для компактного хранения информации, а также для
дальнейшей практической и теоретической работы с полученной информацией.
Пусть на [a, b] задана функция y f x
в узлах интерполяции
xi [a, b] i 0, n своими значениями yi f xi . Требуется найти многочлен
Pn x такой, чтобы выполнялось условие:
yi Pn xi
Узлы интерполяции в общем случае неравностоящие, т.е.
hi xi 1 xi const .
Величины hi называются шагом интерполирования.
Представим многочлен Pn x в виде
Pn x c0 c1 x c2 x 2  cn x n
где ci - неизвестные коэффициенты, константы, которые требуется найти.
Интерполирование с помощью алгебраических многочленов. Получаем систему
уравнений относительно ci .
c0
x0 c1
x0 2 c 2  x0 n c n
c0
x1 c1
x12 c2  x1n cn
y0
y1

c0
xn c1
xn 2 c2  xn n cn
yn
где xi , yi - заданы таблично.
Известно, что главный определитель системы - определитель Вандермонда
отличен от нуля, поэтому система
имеет единственное решение и
интерполирование функции всегда возможно и единственно:
ci
i
i
0, n
Александр Теофил Вандермонд (1735 —1796) — французский музыкант и
математик, член Парижской академии наук. Известен главным образом
благодаря работам по высшей алгебре, особенно по теории детерминантов
(определителей). Родился и умер в Париже. Главным увлечением Вандермонда
38
была музыка — он играл на скрипке, а к математике обратился лишь к 35
годам. В честь Вандермонда был назван специальный класс матриц — матрицы
Вандермонда, а также элементарное равенство в комбинаторике — свѐртка
Вандермонда.
Многочлен принимает вид
0
Pn x
1
x
2
x2 
n
xn
Таким образом, рассмотренный метод построения интерполяционного
полинома сводится к решению системы линейных уравнений.
При надлежащим выборе узлов xi и их числа n непрерывную функцию
можно на отрезке [a, b] интерполировать сколь угодно точно при помощи
алгебраического многочлена.
Если функция имеет производные достаточно высоких порядков, то по
своему поведению на малом участке она мало отличается от алгебраического
многочлена.
 Замечание Построив интерполяционный многочлен любого вида, также
можно расширить таблицу как влево, так и вправо, вычисляя построенный
многочлен в точках, не принадлежащих таблице (задача экстраполяции). Кроме
того, построив интерполяционный многочлен, можно уплотнить таблицу,
определяя значения функции для промежуточных аргументов между узловыми
точками.
Ошибка полиномиальной интерполяции
Лучший способ проверить качество интерполяции – вычислить значения
интерполирующей функции в большом числе точек и построить график.
Однако
в
некоторых
ситуациях
качество
интерполянта
можно
проанализировать.
Предположим, что величина yi представляет собой точные значения
известной функции f (x) в точках xi .
Пусть Pn (x) – единственный полином n -й степени, интерполирующий
функцию по этим точкам ( xi , yi ) , i 0, n .
Предположим, что во всех точках x a, b функция f (x) имеет (n 1)
непрерывную производную.
Тогда можно показать, что абсолютная ошибка интерполяции
( x) f ( x) Pn ( x) определяется выражением
( x)
где M n
1
| (x
x0 )(x x1 )...(x
(n 1)!
xn ) |
Mn
|
1
h ( x) | M
(n 1)!
n
1
,
max | f (n 1) ( x) | - максимальное значение (n+1)-й производной функции
f (x) на интервале a, b ;
n
( x xi ) .
h ( x)
i 0
39
Теперь посмотрим, что получится, если интерполировать известную
функцию f (x) все в большем и большем числе точек на фиксированном
интервале.
Выражение для погрешности состоит из трех разных частей; факториал и
произведение разностей с увеличением n уменьшают ошибку, но порядок
производной при этом растет.
Для многих функций величина M n 1 увеличиваются быстрее, чем (n 1)!. В
результате полиномиальные интерполянты редко сходятся к обычной
непрерывной функции.
Практический эффект выражается в том, что интерполирующий полином
высокой степени может вести себя "плохо" в точках, отличных от узлов
интерполяции xi , yi , i 0, n . Поэтому на практике часто используют
интерполянты степени не выше 5-6.
Точность приближения зависит не только от числа узлов интерполяции
(т.е. порядка интерполирующего полинома), но и от их расположения на
интервале [a, b] . В простейшем случае выбирается равномерное расположение
точек xi , yi , i 0, n на интервале [a, b] с шагом x=(b–a)/(n–1).
Однако, как показывает практика, равномерное расположение не является
оптимальным с точки зрения лучшего приближения (x) к зависимости f (x) .
Более оптимальным для полиномиальной интерполяции является
расположение узлов на интервале [a, b] по формуле Чебышева
xi
1
a b
2
b a
( 2i 1)
cos
2
2n 2
, i 0, n .
так называемое оптимальное распределение узлов интерполяции на интервале
[ a, b] .
Метод наименьших квадратов
При обработке эмпирических (экспериментальных) зависимостей,
результаты обычно представлены в табличном или графическом виде. Задача
заключается в аналитическом представлении искомой функциональной
зависимости, то есть в подборе формулы, корректно описывающей
экспериментальные данные.
Одним из наиболее часто применяемых и сравнительно простых
эвристических методов является метод наименьших квадратов. Эвристически
подбирают функцию (ее называют эмпирической, опытной) с небольшим
числом параметров или коэффициентов. Затем отыскиваются такие значения
указанных параметров, которые доставляют минимум квадрату суммы
отклонений значений эмпирической функции в узлах исходной сетки от
исходных данных.
Полученная таким образом эмпирическая функция позволяет однозначно
определить недостающие промежуточные значения.
40
Пусть данные некоторого эксперимента представлены в виде таблицы
значений переменных x и у.
xi
x1
x2
...
xm
yi
y1
y2
...
ym
Можно поставить задачу об отыскании аналитической зависимости между
переменными, то есть некоторой формулы y f (x) , явным образом
выражающей зависимость у от х. Естественно требовать, чтобы график искомой
функции y f (x) изменялся плавно и не слишком уклонялся от
экспериментальных точек xi , yi .
Поиск такой функциональной зависимости называют ―сглаживанием”
экспериментальных данных.
Задачу о сглаживании экспериментальных данных можно решать методом
наименьших квадратов. Согласно методу наименьших квадратов, указывается
формула
, где a0 , a1 , ..., an - числовые параметры.
y Q( x, a0 , a1 , ..., an )
Наилучшими значениями параметров a0 , a1 , ..., an (которые обозначим
a~0 , a~1 , ..., a~n ) считаются те, для которых сумма квадратов уклонений функции
Q( x, a0 , a1, ..., an ) от экспериментальных точек xi , yi является минимальной, т.е.
функция
m
S (a0 , a1 , ..., an )
(Q( xi , a0 , a1 , ..., an ) yi ) 2 ,
i 1
( a~0 , a~1, ..., a~n )
в точке
достигает минимума.
Отсюда, используя необходимые условия экстремума функции нескольких
переменных, получаем систему уравнений для определения параметров
a~0 , a~1 , ..., a~n :
S
a0
0,
S
a1
0, ...,
S
an
0.
.
Если система имеет единственное решение a~0 , a~1 , ..., a~n , то оно является
искомым и аналитическая зависимость между экспериментальными данными
определяется формулой
y f ( x) Q( x, a~0 , a~1 , ..., a~n ) .
Заметим, что в общем случае эта система нелинейна.
Рассмотрим подробнее аппроксимирующие зависимости с двумя
параметрами: y Q x, , .
Используя данные соотношения и опуская несложные выкладки, получим
систему двух уравнений с двумя неизвестными и :
m
(Q( xi , , )
yi )
Q( xi , , )
0,
i 1
.
m
(Q( xi , , )
yi )
Q( xi , , )
0
i 1
В частном случае аппроксимации экспериментальных данных с помощью
линейной функции имеем:
41
y
Q ( k , x, b )
kx
b,
Q
k
x,
Q
b
1.
Система для этого случая является линейной относительно неизвестных k и
b:
m
m
(kxi
b)
yi )
0,
m
bn k
i 1
xi
i 1
m
m
(kxi
b)
y i ) xi
0
b
m
xi
i 1
i 1
yi ,
i 1
k
xi
i 1
.
m
2
xi yi
i 1
Если для переменных x и у соответствующие значения экспериментальных
данных xi , yi не располагаются вблизи прямой, то выбирают новые
X
( x, y), Y
( x, y) ,
переменные
так,
чтобы
преобразованные
экспериментальные данные X i
( xi , yi ), Yi
( xi , yi ) в новой системе координат
( X , Y ) давали бы точки ( X i , Yi ) менее уклоняющиеся от прямой.
Для аппроксимирующей прямой Y kX B коэффициенты можно
определить, вместо x i и yi подставляют соответствующие значения X i и Yi .
Нахождение зависимостей называют, выравниваем экспериментальных данных.
Функциональная зависимость y f (x) определена неявно уравнением
( x; y)
k ( x; y) b
разрешимым относительно у в частных случаях.
Пример Установить вид эмпирической формулы y f (x) , используя
аппроксимирующие зависимости с двумя параметрами
и , и определить
наилучшие значения параметров, если опытные данные представлены
таблицей:
x
1
2
3
4
5
yi
7,1
27,8
62,1
110
161
i
Решение
Легко заметить, что экспериментальные точки xi , yi лежат приблизительно
на одной прямой. Положим X ln x; Y ln y и составим таблицу для
экспериментальных данных в новых переменных:
0,000
0,693
1,099
1,386
1,609
X
Yi
1,960
3,325
4,129
4,700
5,081
Точки ( X i , Yi ) лежат приблизительно на одной прямой, в чѐм легко
убедиться, построив их в системе координат ( X , Y ) .
Наилучшие значения параметров k и b находятся из системы уравнений:
i
m
bn k
m
Xi
i 1
m
b
m
Xi
i 1
Yi ,
i 1
k
i 1
X i2
m
X iYi ;
5b 4,787k 19,166,
.
4,787b 6,200k 21,535
i 1
Решив эту систему, получим:
b 1,97; k
1,95 .
42
Неявное уравнение, выражающее связь между переменными x и y имеет
вид ln y 1,95ln x 1,97 .
Отсюда легко получить прямую зависимость между переменными в виде
степенной функции:
y e1,97 x1,95 .
Для сравнения можно привести таблицу экспериментальных данных, и
данных, полученных с помощью найденной формулы:
xi
1
2
3
4
5
yi
7,1
27,8
62,1
110
161
1,97 1,95
y e x
7,1
27,70
61,0
107,
165,
6
3
81
04
39
Формула, полученная в результате решения приведѐнного примера, является
частным случаем аппроксимирующей зависимости с двумя параметрами,
имеющей вид Q( x, , ) x .
Параметры этой зависимости можно было бы найти из системы нелинейных
уравнений непосредственно, однако применение способа выравнивания
существенно упрощает вычисление параметров. В данном случае
eb ,
k .Одну из шести предложенных формул преобразования следует
выбирать одновременно с проверкой линейной зависимости к исходным
данным. Рекомендации по переведению экспериментальных данных в
аппроксимирующие зависимости с двумя переменными приведены в
следующей таблице:
Таблица
№
Выравнивание данных
(преобразование
переменных)
1
X
x; Y
2
X
x; Y
X
x; Y
3
xy
1
y
x
y
ln y
Эмпирическая
формула
y
y
y
x
1
x
x
x
,
k,
b
,
k,
b
,
k,
b
x
X x; Y
4
y
,
eb ,
ek
X ln x; Y y
y
ln x
,
k,
b
5
b
X ln x; Y ln y
y
x ,
e ,
k
6
Условием выбора наилучшей эмпирической формулы является наименьшее
уклонение исходных или преобразованных экспериментальных данных от
прямой.
Для наилучшей эмпирической формулы значение d (уклонение) будет
наименьшим.
Уклонение можно определить по формуле:
43
m
(Yi
d
kX i b)
i 1
m
2
1
2
.
Yi2
i 1
Достоинства метода наименьших квадратов - сравнительная простота и
возможность экстраполяции, т. е. определения не только промежуточных
значений, но и значений, лежащих за пределами охваченного сеткой интервала.
Но у метода наименьших квадратов есть и недостатки, обусловленные
интуитивным выбором типа кривой и малым числом параметров. При большом
(относительно параметров) числе задаваемых значений исходных данных
представляется весьма затруднительным ―натянуть‖ значения эмпирической
функции одинаково хорошо на все исходные данные и тем самым обеспечить
наиболее желательную точность.
Задачи для самостоятельного решения
Экспериментальные данные содержатся в таблицах. Выполнить следующие
операции:
Нанести экспериментальные точки x ; y на координатную сетку.
Выбрать формулу преобразования к новым переменным X ; Y так, чтобы
преобразованные экспериментальные данные X i ; Yi наименее уклонялись
от прямой.
Методом наименьших квадратов найти наилучшие значения параметров
k и b в уравнении прямой Y kX b .
Найти явный вид эмпирической формулы y Q(x, , ) и построить
график эмпирической функции.
а)
xi
1
2
3
4
5
yi
1,1
1,4
1,6
1,7
1,9
б)
xi
1
2
3
4
5
yi
1,05
1,55
1,7
1,75
1,8
i
i
в)
xi
yi
1
7,5
2
6,2
3
5,5
4
3,5
5
3,0
4
0,09
5
0,07
г)
xi
yi
1
0,4
2
0,55
3
0,13
44
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
В чем особенность приближения таблично заданной функции методом
интерполирования?
Как связана степень интерполяционного многочлена с количеством узлов
интерполяции?
В чем состоит различие между интерполяцией и экстраполяцией?
Основные особенности метода наименьших квадратов.
Как вычислят параметры среднеквадратичных приближений.
Как можно реализовать метод наименьших квадратов на ЭВМ.
Аппроксимация функций. В каких случаях она необходима?
Интерполирование функции. Интерполяционный многочлен.
В чем заключается критерий близости двух функций при
среднеквадратичном приближении?
Что называется сплайн-интерполяцией?
В чем заключается линейная интерполяция?
В чем заключается квадратичная интерполяция?
Выведите формулу линейной интерполяции, взяв первые два члена
интерполяционного многочлена Ньютона.
45
Лекция 4
Интерполяционный многочлен Лагранжа
Математическая обработка экспериментальных данных предполагает
представление данных в виде некоторой математической зависимости,
допускающей проведение статистической обработки (сглаживания или
фильтрации) и т. д. Данные эксперимента, получаемые на различных
физических или электронных измерительных установках, задаются обычно в
табличном виде, т. е. рядом значений х и соответствующих им значений у.
Одним из наиболее распространѐнных и удобных практически способов
построения многочлена, интерполирующего неизвестную функцию y f (x) ,
является многочлен, построенный с помощью интерполяционной формулы
Лагранжа. Основная идея этого метода состоит в том, чтобы прежде всего
найти многочлен, который принимает значение 1 в одной узловой точке и 0 во
всех других.
Для произвольно заданных узлов интерполирования пользуются
интерполяционной формулой Лагранжа.
Пусть на [a, b] даны n 1 различных значений X x0 , x1,xn , и известны
соответствующие значения
f x0 y0 , f x1 y1,, f xn
yn .
Требуется построить полином Ln x степени не выше n , имеющий в
заданных узлах те же значения, что и функция, т.е. такой, что
Ln xi
yi
Рассмотрим для простоты случай трех узлов, многочлен будем искать в виде
L2 x
A x x1 x x2 B x x0 x x2 C x x0
где A, B, C - неизвестные коэффициенты.
x x1
Для их определения воспользуемся условиями
L2 x0
f x0 , L2 x1
f x1 , L2 x2
f x2
тогда подставляя в правую часть x x0 , x x1, x x2 получим
y0
L2 x 0
y1
L2 x1
y2
L2 x 2
A x0
B x1
x1
x0
x0
x1
x2
x2
C x 2 x 0 x 2 x1
Вычисляются A, B, C и имеем
x x0 x x2
x x1 x x2
L2 x y0
y1
x0 x1 x0 x2
x1 x0 x1 x2
y3
x x0 x x1
x2 x0 x2 x1
Аналогично, можно записать и общий случай
n
Ln x
yk
k 0
x x0 x x1  x xk 1 x xk 1  x xn
xk x0  xk xk 1 xk xk 1  xk xn
– интерполяционная формула Лагранжа.
Докажем единственность полинома Лагранжа.
46
Пусть Ln x
- полином отличный от Ln x
такой что Ln xi yi , тогда
обращается в нуль в точках
т.е.
x0 , x1,, xn ,
Qn x Ln ( xi ) Ln ( x)
Qn x 0
Ln ( x) Ln ( x) .
Полином Ln x , коэффициенты которого определяются из системы,
называется интерполяционным полиномом Лагранжа для функции f x и может
быть записан в явном виде:
n
n
Ln x
(x x j )
yi
i 1
j 1, j
i ( xi
xj)
.
 Замечание Интерполяционный многочлен в форме Лагранжа в
представленном виде для практических вычислений неудобен. Поэтому
формулу часто приводят к «барицентрическому» виду:
n
Ln ( x)
k
Ak
f xk
0 x xk
n
Ak
k 0 x xk
,
где
Ak
1
xk
x0

xk
xk
xk
xk

xk
xn
.
 Замечание При интерполяции полиномом Лагранжа степень полинома п
однозначно связана с числом узловых точек. Она на единицу меньше этого
числа Значения ординат интерполирующей функции в узловых точках
совпадают со значениями ординат узловых точек, поэтому график
интерполирующей функции f (x) точно проходит через эти точки.
К сожалению, при высокой степени полинома (более 5—6) погрешность
вычислений его значений заметно возрастает, поэтому выбор п выше 6 на
практике нецелесообразен.
А это означает, что функция у (х) должна быть представлена небольшим
числом достаточно точных значений. Проиллюстрируем последнее
утверждение графиком, на котором точками заданы узлы функции (7 точек
синусоиды на интервале [0, 2π]), результат линейной интерполяции в виде
ломаной, а – интерполяция по формуле Лагранжа представлена в виде
сглаживающей кривой (расчеты проводилисьв пакете MathCAD).
1
1
 Замечание К недостаткам интерполяции по формуле Лагранжа относится
и довольно большое время вычислений, поскольку формула интерполяции
далеко не проста.
47
Оценка погрешности
Если функция f x непрерывно дифференцируема на a, b до (n 1) -го
порядка включительно, то остаточный член ее интерполяционного полинома
Лагранжа имеет вид:
Rn
f (n 1)
( x x0 )( x xn )
(n 1)!
f ( x) Ln ( x)
где
— внутренняя точка минимального отрезка, содержащего узлы
интерполирования x0 , x1,, xn и точку x . В узлах интерполирования погрешность
обращается в нуль, а в остальных точках она отлична от нуля.
Окончательно имеем, погрешность при использовании многочлена Лагранжа
определяется формулой
Rn x
n 1
f
max
x
n 1!
x [ x0 , xn
 Замечание При
уравнение прямой
x b
y0
a b
y
x x0  x xn
n 1 имеем
две точки, и формула Лагранжа представляет
x a
y1 .
b a
Пример Построить многочлен Лагранжа, если функция задана таблично
X
1
2
3
4
Y
0
3
5
7
Решение n 3 тогда
L3 x
x 2
0
x 3 x 4
1 2 1 3 1 4
x 1 x 2
5
x 4
7
3 1 3 2 3 4
3
x 1 x 3 x 4
2 1 2 3 2 4
x 1 x 2
x 3
4 1 4 2 4 3
3
x 9 2 38
x
x 5
6 6
6
Пример Для функции y sin x построить многочлен Лагранжа, выбрав
узлы
x0
0,
x1
Решение
1
,
6
y0
1
6
1
0
6
x
L2 x
0
x 0
1
1
0
2
1
6
1 1
2 6
x
x2
0, y1
1
2
1
0
2
1
2
sin
x
0
1
, y2
2
6
1
2
x 0
1
0
6
sin
2
1, n
2
1
2
1 1
6 2
x
7
x 3x 2
2
48
Формула Лагранжа может быть применена и для обратного
интерполирования – нахождения аргумента, соответствующего данному
значению функции, т.к. в (11) x, y равноправны и независимы, поэтому их в
данной формуле можно поменять местами.
Пример При каком x значение функции равно 6?
X
0
1
3
4
y
-3
1
13
24
Решение
Имеем n 3 , тогда
y 1
3 1
y 3 y
3
13 3 13
y 6
x
0
y
3
1
1
13 y 24
y 3
1
13
3 24
1 3
y 24
y 3 y
4
13 24
24 3 24
y 13 y 24
1 13 1 24
1 y 13
1,99
1 24 13
Пример Вычислить, пользуясь интерполяционной формулой Лагранжа,
105 и оценить погрешность
Решение Рассмотрим функцию y
x и запишем значения
X
100
121
144
y
10
11
12
n
2
105
100
105 100
12
144 100
L2 x
10
121
121
105
144
105 144
105 100 105 144
11
100 144
121 100 121 144
121
10,245624
121
Оценим R2 x
y
1
2
x
max
1
,y
4
y x
x [100,144]
R2 x 
1 3
10
3! 8
3
8
5
x3
3
,y
8
1
5
100
x5
3
10
8
115 100
,
5
, тогда
115 121 105 144
1,6 10
3
.
Задачи для самостоятельного решения
По заданной таблице узлов интерполяции построить полином Лагранжа.
Пусть заданы узлы интерполяции (x1, y1), (x2, y2), (x3, y3). Для этих узлов
полином Лагранжа имеет вид:
L2 ( x)
y1
( x x2 )(x x3 )
( x1 x2 )(x1 x3 )
y2
( x x1)(x x3 )
( x2 x1)(x2 x3 )
y3
( x x1)(x x2 )
( x3 x1)(x3 x2 )
Вычислить с помощью построенного полинома значения функции в точках,
расположенных между узлами интерполяции.
49
В указанных точках рассчитать погрешность вычисления значений функции
F (x) с помощью аналитического выражения функции и полинома Лагранжа по
формуле:
F ( x0i ) Ln ( x0i ) i 1,2 ,
i
где Ln ( x0i ) - значение полинома Лагранжа.
1. F ( x) sh x
xi
1,01
1,03
1,08
1,14
1,19
F ( xi )
1,19
1,22
1,30
1,40
1,49
По построенному интерполянту вычислить значения функции F (x) в
точках x01 1,053 и x02 1,172.
2 F ( x) ln x
xi
1,01
1,06
1,10
1,14
1,19
F ( xi )
0,01
0,06
0,09
0,13
0,17
По построенному интерполянту вычислить значения функции F (x) в
точках x01 1,032 и x02 1,171.
3
F ( x) e
x
1,01
1,05
1,10
1,14
1,20
F ( xi )
0,36
0,35
0,33
0,32
0,30
По построенному интерполянту вычислить значения функции F (x) в
точках x01 1,028 и x02 1,172.
4 F ( x) sin x
xi
1,00
1,04
1,08
1,10
1,17
F ( xi )
0,84
0,86
0,88
0,89
0,92
xi
Контрольные вопросы
1.
2.
3.
4.
5.
Приведите общий вид интерполяционного многочлена Лагранжа
Чему равна погрешность интерполяционного многочлена Лагранжа?
Оценка остаточного члена многочлена Лагранжа.
Особенности интерполирования в пакете MathCAD.
Приведение формулы Лагранжа к «барицентрическому» виду.
50
Лекция 5
Интерполирование сплайнами
В алгебраическом интерполировании при увеличении числа узлов
увеличивается, как правило, степень интерполяционного многочлена. С ростом
степени полинома возрастает количество операций для вычисления полинома и
как следствие возрастает вычислительная погрешность. Кроме того, когда
интерполирование выполняется для функций, не являющихся достаточно
гладкими, интерполирование высокого порядка нецелесообразно. В этом случае
лучший результат может дать сплайн-интерполирование. Поэтому
распространен другой способ приближения функций – с помощью сплайнов.
Сплайн-аппроксимация наиболее эффективный метод приближения
функций. В качестве аппроксимирующей функции, строится цепочка
полиномов. Соседние по цепочке полиномы ―склеиваются‖ так, что их значения
и значения их производных на стыках совпадают.
Пусть отрезок a; b разбит на n частей точками xi :
a x0 x1 x2 ... xn b 
 Определение Сплайн k й степени - функция, представляющая собой
многочлен степени не выше k на каждом из последовательно примыкающих
друг к другу интервалов xi 1 ; xi , i 1, 2, ..., n , причѐм во всех точках стыка двух
интервалов
непрерывна, вместе со своими
xi , i 1, 2, ..., n 1 функция
производными до порядка не выше k .
Например, непрерывная кусочно-линейная функция (графиком которой
является ломаная) является сплайном первой степени с производной, терпящей
разрыв в точках излома. a x0  xn b .
 Определение Интерполяционным сплайном порядка m -функция Sm x
,если выполнены следующие условия:
Sm x является
k 1, 2, , n ,
1) на каждом из отрезков xk 1, xk ,
многочленом степени m ;
2) на всем отрезке a, b Sm x имеет непрерывные производные до порядка
m 1;
f xk , k 0,1, , n .
3) Sm xk
Если m 2 , то для единственности Sm x следует задать дополнительно еще
m 1 условий, которые обычно задаются на концах отрезка a, b , либо
произвольно, либо из дополнительной информации о поведении f x . При
m 1 получаем известный метод ломаных.
Слово ―сплайн‖ переводится как ―гибкая линейка‖. Такую линейку можно
использовать для проведения кривых через заданную совокупность точек,
изгибая и придерживая ее так, чтобы ребро проходило через все точки на
плоскости.
51
Пусть на отрезке a; b определена функция y f (x) , значения которой в
точках x i равны yi f ( xi ) .
Задача интерполяции функции y f (x) на отрезке a; b кубическим
сплайном третьей степени состоит в нахождении функции S (x) , равной
многочлену третьей степени S i (x) на каждом отрезке xi 1; xi , i 1, 2, ..., n , то есть
,
S ( x) Si ( x) ai 0 x3 ai1 x2 ai 2 x ai 3
причѐм значения сплайна в узлах интерполяции x i равны соответствующим
значениям заданной функции yi и сплайн-функция непрерывна в узлах
интерполяции, вместе со своими производными первого и второго порядков:
S xi
Si 1 ( xi )
yi , i 0,1, 2, ..., n 1; S xn
Sn xn
yn
S xi
Si 1 ( xi ), i 0,1, 2, ..., n 1;
;
Условия дают 4n 2 линейных алгебраических уравнений для определения 4п
неизвестных коэффициентов аip , p 0, 1, 2, 3; i 1, 2, ..., n при соответствующих
степенях x в многочленах S i x .
Можно показать, что интерполяционный кубический сплайн для функции
y f (x) существует и является единственным.
Вместе с уравнениями удовлетворяется пара дополнительных (краевых)
условий следующего типа:
I. S (a) f a , S b f b ;
II. S a f a , S b f b ;
III. S a S b , S a S b .
Рассмотрим случай разбиения отрезка a; b на п равных частей с шагом h ,
для которого
x0 a, x1 x0 h, ..., xi 1 xi h, ..., xn b; h b a / n .
Разберѐм подробно построение интерполяционного кубического сплайна для
условия типа I.
При построении сплайна, удовлетворяющего краевым условиям типа I,
введѐм величины mi S xi , называемые иногда наклонами сплайна в узлах
интерполяции.
Можно показать, что интерполяционный кубический сплайн вида
S x
x xi
Si x
x xi
2
1
2
1
h
2
2 x xi
h
2 xi
h
x xi
2
x
h
3
x xi
mi ; x
1
h
yi
3
yi
x xi
2
h
1
x xi
2
mi
1
xi 1 ; xi , i 1, 2, ..., n 1.
удовлетворяет условиям для любых mi .Можно определить n 1 параметр mi .
Действительно, легко проверить, что
S xi Si 1( xi ) yi , i 0, 1, 2, ..., n 1 .
52
Кроме того, вычисления показывают, что
S ( xi ) Si xi mi , i 1, 2, ..., n и Si ( xi ) Si 1 xi mi .
Если учесть, что
2mi
h
Si xi
4mi
h
1
6
yi
yi
h
1
2
, i 1, 2, ..., n 1 ,
и
Si
4mi
h
xi
1
2mi
h
1
6
yi
yi
1
h
2
, i 1, 2, ..., n 1 ,
а также краевые условия, то получим систему из п 1 линейных уравнений
относительно неизвестных mi :
m0
mi
b0
4mi
1
mn
f a ,
bn
mi
1
3 yi
bi
yi
1
1
h
, i 1, 2, ..., n 1,
f b .
Решение этой системы позволяет найти значения неизвестных mi и
определить интерполяционный сплайн.
Пример
На
отрезке
0;
построить
кубический
сплайн,
2
интерполирующий функцию y sin x с шагом h
, удовлетворяющий на
2
концах отрезка краевым условиям. С помощью интерполяционной формулы
вычислить приближѐнное значение sin
6
и сравнить его с точным значением.
Решение
Будем искать уравнение кубической параболы
следующим условиям на концах отрезка x0 0 и x1 h
y0
S x0
m0
S x0
sin x0
0, y1
sin x0
Sh
cos x0
y
2
S x
, удовлетворяющее
:
sin h 1,
1, m1 S (h)
cosh
0.
Подставив полученные значения y0 , y1 , m0 , m1 и h , получим сплайн вида
S x
x2 2 h x
h3
S1 x
h
2
x h x
,x
h2
0; h
,
откуда
S x
x
Тогда
32
4
2
sin
6
S
x2
6
44
3
x3
x 0,057385x2 0,11074x3
.
0,49196983.
0,008 0,01.
Точное значение, как известно, равно 0,5.Здесь
Как видим, в данном (достаточно простом) примере сплайн-метод
обеспечивает достаточно высокую точность приближѐнных вычислений.
53
Пример На отрезке
построить кубический сплайн с шагом
0;
h
2
4
,
интерполирующий функцию y sin x , если заданы значения функции в трѐх
узлах интерполяции:
x
y
sin x
x0
0
x1
y0
0
y1
/4
0,7853982 x2
0,7071068
/ 2 1,570596
y2
1
С помощью интерполяционной формулы вычислить приближѐнное значение
sin и сравнить с точным значением.
6
Решение
Представим сплайн в виде:
S1 x , x
0;
4
S x
S2 x ,
,
;
.
4 2
При таком представлении должны удовлетворяться уравнения системы:
m0
sin x0
cos x0 1,
m0
4m1 m2
m2
sin x2
3 y2
h
cos x2 0.
Заметим, что
h
h3
x 2h
S2 x
x
x2
x2 2 h x
S1 x
3 где h
,
h
y0
2
Тогда имеем:
2
y1
2 x h
h
2h .
4
.
4
x h x x2 x h
h2
h
3
h2
x h
y1
2
m1 , x
2 2h x
h
0;
h
4
,
x 2h
3
2
h
x h
2
m1 , .
;
4 2
Учитывая, что 1
4m1
12
m1
12
4
0,70493
;
S1( x)
x 0,0050683975
x 2 0,15514782x3 , x
S2 x
0,166023415x 0,02897055x2 0,10224607x3 , x
0;
4
, получим после преобразований:
;
4 2
.
Тогда
sin
6
S1
6
0,499938.
Здесь 0,000062 0,0001 - весьма высокая точность.
Из данных примеров видно, что чем больше количество узлов интерполяции,
тем выше точность приближѐнных вычислений.
Признанными достоинствами сплайнов считаются:
высокая точность,
достаточная гладкость
технологическая отработанность.
54
Но проявляются эти достоинства в полной мере лишь на равномерной сетке
и при невысоких перепадах градиентов.
Варианты условий на концах отрезка интерполяции
Остановимся на нескольких вариантах условий на концах отрезка
интерполирования a, b .
1.
Сплайн с заданными значениями коэффициентов 0 , n . Или иначе
– это сплайн с заданными значениями второй производной в точках a и b.
Частный случай этих условий: 0 n 0 – естественный сплайн или по
терминологии программы Mathcad сплайн с линейными условиями на концах
отрезка интерполирования.
Команда для вычисления коэффициентов естественного сплайна:
lspline(X, Y),
где X, Y – массивы значений аргумента и интерполируемой функции в узлах
интерполяции.
2.
Сплайн, у которого значения третьей производной на концевых
подотрезках равны нулю. Эти условия означают:
0
1,
n 1
n.
Такой сплайн в программе Mathcad называется сплайн с параболическими
условиями на концах.
Команда расчета коэффициентов:
pspline(X, Y).
где X, Y – массивы значений аргумента и интерполируемой функции в узлах
интерполяции.
3.
Сплайн, для которого S x const на отрезках [x0,x2] и [xn–2,xn], т.е. на
каждом из этих отрезков используется единая кубическая функция.
Это требование эквивалентно условиям:
h0
h1 ,
hn 2
hn 1 .
1
0
2
1
n 1
n 2
n
n 1
Такой сплайн в программе Mathcad назьвается сплайном с кубическими
условиями на концах отрезка интерполирования.
Команда расчета коэффициентов имеет вид
cspline(X, Y),
где X, Y – массивы значений аргумента и интерполируемой функции в узлах
интерполяции.
4.
Если известны значения производной интерполируемой функции
y(x), то могут быть использованы следующие условия:
S’(x0) = y’(x0) и S’(xn) = y’(xn).
Для построения трех видов сплайнов, доступных в программе Mathcad, не
требуется знания значений производных интерполируемой функции.
Если же значения производных известны, то эту информацию целесообразно
использовать, чтобы уменьшить погрешности интерполяции.
Как правило, наилучшую аппроксимацию обеспечивает четвертый вид
сплайна.
55
Задачи для самостоятельного решения
Построить для указанных функций
кубический сплайн,
y f (x)
интерполирующий их на данном отрезке a; b с заданным шагом h . В данном
задании найти приближѐнное значение и сравнить с точным значением.
1) y cos x, x 0; , h .
2
2)
y cos x, x
0;
2
2
,h
4
.
3) y ex , x 0; 1 , h 1.
4) y ln x, x 1; 2 , h 1.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Сформулируйте задачу интерполяции функции y f (x) на отрезке a; b .
Что такое узлы интерполяции?
Перечислите достоинства интерполирования на основе кубического
сплайна (не менее двух).
Каждый ли многочлен степени не выше k может быть сплайном?
Задача сплайн-интерполяции.
Построение кубического сплайна.
Какие условия накладываются на интерполяционный кубический сплайн
для функции y f (x) .
56
Лекция 6
Конечные разности различных порядков
На практике часто встречается случай, когда интерполяционная функция
подбирается для таблиц с равноотстоящими значениями аргумента. Рассмотрим
метод построения интерполирующей функции, основанный на вычислении
конечных разностей. Конечные разности являются рабочим аппаратом при
изучении функций, заданных таблицей значений в равноотстоящих точках.
Разностные отношения, применяются на произвольной системе значений
аргумента.
Табулирование функций производится для равностоящих значений
аргумента, т.е. когда
xi x0 i h
i 1, n ,
где h - шаг интегрирования. Пусть задана функция y f x .
В приближенных методах функции непрерывного аргумента заменяются
функциями дискретного аргумента – сеточными функциями.
 Определение Конечная разность 1-го порядка - разность между
значениями функций в соседних узлах интерполирования
Δyi
yi
1
yi
i 0, n 1
Из конечных разностей 1-го порядка образуются конечные разности 2-го
порядка.
Δ2 yi
Δ Δyi
Δyi
Δyi
i 0, n 2
Конечная разность – k -го порядка
Δk yi
Δ Δn 1 yi
1
Δk 1 yi
1
Δk 1 yi
i 0, n k
Свойства конечных разностей
1. Δm c1 yk c2qk c1Δm yk c2Δmqk
2. Конечная разность первого порядка от многочлена степени n есть
многочлен степени n 1 -й степени,
3. Конечные разности n -го порядка от многочлена степени n постоянны.
Конечные разности различных порядков удобно располагать в виде
горизонтальной таблице разностей.
Таблица конечных разностей
y
y
x
2
y
3
y
4
y
y0
3
y0
4
y0
3
y1
x0
y0
y0
2
x1
y1
y1
2
y1
x2
y2
y2
2
y2
x3
x4
y3
y4
y3
57
Используя понятие конечных разностей выведем интерполяционную
формулу Ньютона для равноотстоящих узлов xi .
Конечная разность первого порядка называется разностью первого порядка
или :
yi yi 1 yi - правая разность
yi yi yi 1 -левая разность
1
2
yi
yi
1
yi
2
yi
yi
1
1
-центральная разность
 Замечание Правая и левая разности 2 порядка определятся как
yi
2
yi
1
yi
yi
yi
yi
yi
yi
1
yi
1
yi
1
yi
yi
2 yi
2
yi
yi
1
yi
1
yi
1
2 yi
yi
2
Разности m - го порядка представимы в виде:
m
yi
yi
1
yi
1
m 1
yi .
 Замечание
Аппроксимировать
дифференциальные
уравнения
разностными можно множеством различных способов. От выбора конкретного
варианта зависит простота, быстрота и удобство вычислений и сама
возможность получения правильного ответа.
Интерполяционный полином Ньютона
Весьма часто приходиться сталкиваться с таблично заданными функциями.
Такого типа функции возникают при работе с экспериментальными,
статистическими данными. Интерполяционные формулы Ньютона - формулы
вычислительной математики, применяющиеся для полиномиального
интерполирования.
Если узлы интерполяции равноотстоящие и упорядочены по величине, то
интерполяционный многочлен удобно строить в форме Ньютона.
Рассмотренные методы нахождения интерполяционного многочлена по n 1
точке подразумевали, что множество используемых узлов известно.
Часто известным является лишь требуемая точность, а множество узлов,
которые следует использовать, определяется информацией о том, как
вычисляется функция.
Интерполяционная формула Ньютона, которая будет изложена, представляет
собой просто другой способ написания интерполяционного многочлена. Она
полезна, потому что число используемых узлов может быть легко увеличено
или уменьшено без повторения всего вычисления.
Пусть заданы значения функции yi f xi для равноотстоящих значениях
аргумента xi x0 i h
i 1, n , где h - шаг интерполяции.
Требуется построить многочлен Pn x степени не выше n , принимающий в
точках xi значения
58
Pn xi .
yi
Такой многочлен может быть построен двумя способами:
Pn x
a 0 a1 x x 0
a 2 x x 0 x x1 a 3 x x 0 x x1 x x 2
 a n x x 0 x x1  x x n
1
или
получили
первую
интерполяционную формулу Ньютона, применяется для интерполирования
вперед, т.е. для точек, лежащих вблизи точек x0 ,.
Вторая интерполяционная формула Ньютона и используется для
интерполирования назад, т.е. для точек, лежащих вблизи x n .
Выбор формулы определяется той частью таблицы, которая будет
интерполироваться. Первая формула Ньютона удобна для интерполирования
начальных значений функции, вторая для конечных.
Определим коэффициенты ai . Для этого, положим x x 0 , получим
Pn x0
y 0 a0 .
Для определения a1 подставим x x1 , тогда
Pn x a0 a1 x1 x0 y0 a1 x1 x0 ,
откуда
Pn x
a 0 a 1 x xn
2
x xn 1  a
x xn
x xn
n
x xn 1  x x1
Δy0
,
1!h
y1 y0
x1 x0
a1
a
где Δy0 y1 y0 f x1 f x0 - первая конечная разность.
Для определения a 2 подставим в (4) x x 2 тогда
Pn x
a0 a1 x2 x0
a2 x2 x0
x2 x1
Δy0
2h a2 2h 2 ,
h
y0
откуда
y2 y0 2Δy0
2h 2
a2
y2 y0 2 y1 2 y0
2h2
Δ2 y0
y2 2 y1 y0
2h2
или
a2
2! h 2
,
Δ 2 y0 .
2! h 2
Продолжая подстановку, введя обозначения
0
y 0 , получим
Δ y0
k
ak
k! h k
Pn x
y0
h
y0
2
y0
2! h2
x
x0
x
x1  x
x
x0
x
x1

n
y0
n! h n
x
x0
xn
Полином полностью удовлетворяет требованиям поставленной задачи.
- степень полинома не выше n
- Pn x0 y0 a0
-
Pn xk
y0
тогда имеем
Δy0
Δn y0
xk x0 
xk x0 xk x1  xk xk
h
n! hn
1
,
59
x k x0
k,
h
x k x 0 x k x1
h
k k 1 
2
x k x0 x k x 1  x k xk
h
1
k
k k 11
Получим
k k 1 2
k k 1 1 k
Δ y0 
Δ y0 1 Δ k y0 y k
2!
k!
.
x x0
t - число шагов,
ввести обозначения
h
y0 k Δ y0
Pn xk
Если
необходимых для
достижения точки x , исходя из точки x0 .
2
Pn x
Pn x0
h t
y0 t
y0
t t 1
2!
y0
n
y0
t t 1 t n 1
n!

.
– первая интерполяционная формула Ньютона.
Эту формулу используют для интерполирования функции в окрестности
начального значения x x0 , где t мало по абсолютной величине.
Заметим, что при h 0 формула превращается в полином Тейлора для
функции y f x , т.к
lim
h
0
Pn x
k
y0
h
k
y x0
dk y
dx k
y x0
y
x
k
x0
x0
x x0
y x0
x x0
2
y n x0
n!
x x0 n .
Если положить n 1 , то получим формулу линейного интерполирования
P1 x y 0 t y 0 .
При n 2 формула параболического или квадратичного интерполирования
P2 x
y0
t Δy0
t t 1
Δ 2 y0
2
За начальное значение x 0 можно принимать любое табличное значение
аргумента x .
Формулу Ньютона для интерполирования назад, если подставить значения
xn , xn 1 , , x1 .
Pn x
yn
2
yn 1
x xn
h
yn 2
x xn
2! h2
x xn 1

n
y0
x xn
n! h n
x xn 1  x x1
сделав замену
x xn
h
Pn x
yn t Δ yn
Pn xn h t
t , получим
1

Δn y0
t t 1t n 1
n!
60
Пример Построить эмпирическую формулу для функции, заданной
таблично.
0
1
2
3
4
5
x
y
5.2
8.0
10.4
12.4
14.0
15.2
Составим таблицу разностей и убедимся, что вторая разность постоянна.
2
y
y
x
y
0
5.2
2.8
-0.4
1
8
2.4
-0.4
2
10.4
2.0
-0.4
3
12.4
1.6
-0.4
4
14
1.2
5
15.2
Используя интерполяционную формулу Ньютона и учитывая, что h 1 имеем
y 5.2 2.8 x
0.4
x x 1
2
Или
y 5.2 3x 0.2x2 .
 Замечание Интерполяционную формулу Ньютона удобнее применять в
том случае, когда интерполируется одна и та же функция f(x), но число узлов
интерполяции постепенно увеличивается. Если узлы интерполяции
фиксированы и интерполируется не одна, а несколько функций, то удобнее
пользоваться формулой Лагранжа.
Погрешность интерполяционного полинома Ньютона
Погрешность интерполяции по формуле Ньютона, оценивается также как и
при использовании многочлена Лагранжа, т.е. по формуле
Rn x
max
x [ x0 , xn
f
n 1
x
n 1!
x x0  x xn
Однако оценить производную высокого порядка часто бывает трудно,
поэтому на практике пользуются следующим:
- степень интерполяционного полинома должна совпадать с порядком
практически постоянных конечных разностей.
Тогда оценка погрешности для первой интерполяционной формулы Ньютона
находится по формуле
Rn x
t t 1t n
Δn 1 y0
n 1!
Для второй
где
t
x x0
h
t t 1t n
Δn 1 y n
n 1!
формулы и t x x n для
h
Rn x
для первой
второй.
Пример Построить интерполяционный многочлен Ньютона, если
функция задана таблично
X 1
2
3
4
61
Y 0
3
5
7
Решение
n 3 тогда h 1 . Составим таблицу конечных разностей.
y
y
x
1
0
2
3
3
5
4
7
По формуле имеем:
P3 x
0 3 x 1
1
6
2
3
2
2
1
-1
0
1
2
3
y
1
6
2
x 1
x 2
y
1
x 3
x3 9 x 2 38 x 30
.
Пример Построить интерполяционный многочлен Ньютона для y
если функция задана таблично на отрезке [3.5,3.6] и оценить погрешность.
X
3,5
3,55
3,6
3,65
3,7
Y
33,1
34,8
36,59
38,47
40,44
15
13
8
5
7
Решение
n 4 , но так как 3 практически постоянны, примем n 3 .
Составим таблицу разностей
2
3
y
X
Y
y
y
3,5
3,55
3,6
3,65
3,7
Положим
P3 x
где
33,115
34,813
36,598
38,475
40,447
1,698
1,785
1,877
1,972
x0
0,05
3,5 h
33,115 1,698 t 0,087
t
x 3,5
0,05
20 x 3,5
t t 1
2
0,087
0,092
0,095
0,005
max y n
ex,
0,005
0,003
t t 1 t 2
6
e3.7 40.447
x [3.5,3.7]
Rn x
40.447
5!
x 3.5
x 3.55
x 3.6
x 3.65
x 3.7
 Замечание
Формулой
Ньютона
удобно
пользоваться
для
интерполирования одной функции с меняющейся системой узлов: при
добавлении нового узла xn 1 нужно вычислить только одно слагаемое
x x0  x xn f x0 , x1,, xn
1
и добавить его к предыдущей сумме.
62
 Замечание В интерполяционной формуле Ньютона безразличен порядок
нумерации узлов, что очень удобно при подключении новых узлов для
построения полинома более высокого порядка.
 Замечание Свойства сходимости или расходимости интерполяционного
процесса зависят как от выбора последовательности сеток, так и от гладкости
функции f(x).
Интерполяционные формулы Гаусса
Интерполяционная формула Гаусса использует в качестве
интерполяции ближайшие к точке интерполирования x узлы.
Пусть имеем 2n 1 равноотстоящих узлов интерполирования
x n , x n 1 , , x 1 , x0 , x1 , , xn ,
узлов
где xi xi 1 xi h const .
Для функции y f x известны ее значения в узлах yi f xi . Требуется
построить полином P x степени не выше 2 n , такой, что P xi yi . Из
последнего условия вытекает
Δk P xi
Δk yi
Полином ищем в виде
P x
an
a0
x
a1
x
x
x0
 x
n 1
a2
x
x0
x
x1

xn
Получим
a2 n
Δ2n 1 y
1
n 1
,
2n 1
2n 1 ! h
Введя обозначения q
Px
yn q Δ y0
q q 1 2
Δy
2!
Δ2n y
a2 n
2n ! h
x
x0
h
1
n
2n
.
, получим
q n 1  q n 2n 2n

Δ y
2n !
n
– первая интерполяционная формула Гаусса.
При построении интерполяционных формул Ньютона в качестве начального
приближения x0 выбирается первый или последний узел интерполирования, для
центральных же формул интерполирования начальный узел является средним.
Наилучший выбор узлов интерполирования дается формулой П.Л.Чебышева.
Таблица центральных разностей
При построении интерполяционных формул Ньютона используются лишь
значения функции, лежащие по одну сторону от выбранного значения, это
является их недостатком.
63
Во многих случаях оказываются полезными интерполяционные формулы,
содержащие как последующие, так и предшествующие значения функции по
отношению к начальному ее значению
b a
2
xi
где
i
b a
2
2i 1
cos
2n 2
i
- нули полинома Чебышева.
Эти узлы не являются равноотстоящими, а сгущаются около концов отрезка.
Центральные разности – выражения, расположенные по горизонтальной
ломаной
y 1 , y0 , 2 y 1 , Δ3 y 2 , Δ3 y 1 , Δ4 y 2 , 5 y 3 , 5 y 2 , 6 y 3 .
Соответствующие
интерполяционные
формулы
носят
названия
интерполяционных формул с центральными разностями (формулы Гаусса,
Стирлинга, Бесселя). Составим таблицу центральных разностей.
Интерполяция средствами Mathcad
При линейной интерполяции MathCAD соединяет существующие точки
данных прямыми линиями. Это выполняется функцией linterp.
Функция linterp
использует векторы данных
и
, чтобы
возвратить интерполируемое значение , соответствующее третьему аргументу
. Аргументы и должны быть векторами одинаковой длины. Вектор
должен содержать вещественные значения, расположенные в порядке
возрастания. Эта функция соединяет точки данных отрезками прямых, создавая
таким образом ломаную.
Интерполируемое значение для конкретного х есть ордината у
соответствующей точки ломаной.
Для значений , расположенных перед первой точкой в векторе
,
MathCAD продолжает ломаную прямой линией, проходящей через первые две
точки данных. Для значений , расположенных за последней точкой
,
64
MathCAD продолжает ломаную прямой линией, проходящей через последние
две точки данных.
Для получения наилучших результатов должно находится между самыми
большими и самыми маленькими значениями - маловероятно, что будут
полезны значения, вычисленные для вне этого диапазона.
Функция linterp предназначена для интерполяции, а не для экстраполяции.
Кубическая сплайн-интерполяция позволяет провести кривую через
набор точек таким образом, что первые и вторые производные кривой
непрерывны в каждой точке. Эта кривая образуется путем создания ряда
кубических полиномов, проходящих через наборы из трех смежных точек.
Кубические полиномы затем состыковываются друг с другом, чтобы образовать
одну кривую.
MathCAD поставляется с тремя сплайн-функциями:
o cspline
o pspline
o lspline
Они возвращают вектор коэффициентов вторых производных, который
мы будем называть .
Этот вектор обычно используется в функции interp, описанной ниже.
Аргументы и должны быть вещественными векторами одинаковой длины.
Значения вектора должны быть расположены в порядке возрастания.
Эти три функции отличаются только граничными условиями:
функция lspline генерирует кривую сплайна, которая приближается к
прямой линии в граничных точках;
функция pspline генерирует кривую сплайна, которая приближается к
параболе в граничных точках.
функция cspline генерирует кривую сплайна, которая может быть
кубическим полиномом в граничных точках.
Функция interp
возвращает интерполируемое значение
,
соответствующее аргументу . Вектор
вычисляется на основе векторов
данных и одной из функций pspline, lspline или cspline.
Пример
65
Можно сделать то же самое, вычисляя: interp
.
Интерполируемое значение для конкретного х есть ордината у
соответствующей точки сплайна. Для значений , расположенных перед первой
точкой вектора , MathCAD продолжает сплайн первой из составляющих его
кубических парабол. Для значений , расположенных за последней точкой ,
MathCAD продолжает сплайн первой из составляющих его кубических парабол.
Иногда необходимо оценить значения формул в точках, находящихся вне
области расположения сетки, на которой заданы значения функции. В Mathcad
есть функция predict, которая позволяет это сделать.
Эта функция использует линейный алгоритм предсказания, который
является полезным, когда экстраполируемая функция является гладкой и
осциллирующей, хотя не обязательно периодической.
Линейное предсказание можно рассматривать как разновидность
экстраполяции, но нельзя путать с линейной или полиномиальной
экстраполяцией.
66
Функция predict
возвращает предсказанных значений, основанных
на m последовательных значениях вектора данных . Элементы вектора
должны представлять собой значения, взятые через равные интервалы.
Функция predict использует последние m исходных значений данных,
чтобы вычислять коэффициенты предсказания. Как только это сделано она
использует последние m точек, чтобы предсказать координаты (m 1) - ой точки,
фактически создавая скользящее окно шириной в m точек.
На рисунке показаны глобальный многочлен и естественный кубический
1
сплайн для функции Рунге f x
.
2
1 25 x
На отрезке
1,1
выбрана равномерная сетка узлов
Xk
1 k
2
, k
n
0, , n .
Коэффициенты глобального многочлена Pol x определяются методом
неопределенных коэффициентов. Для этого с помощью встроенной функции
lsolve решается система алгебраических уравнений с матрицей M и столбцом
свободных коэффициентов F.
Сплайновая функция находится с помощью двух встроенных функций
lspline и interp, первая из которых определяет коэффициенты сплайна, и вторая
производит интерполяцию.
67
На левом рисунке показаны: исходная функция f x , отсчеты значений f x ,
сплайновая функция Sp x и глобальный многочлен Pol x . На правом рисунке
показаны погрешности сплайновой интерполяции. Уже при n 8 сплайн
достаточно хорошо описывает исходную функцию. Можно убедиться, что при
увеличении числа узлов погрешность сплайновой интерполяции уменьшается.
В то же время глобальный многочлен очень плохо описывает функцию
Рунге. При увеличении числа узлов погрешности глобальной интерполяции
только растут.
Интерполирование кубическими сплайнами является сходящимся
процессом при неограниченном увеличении числа узлов n. Оценки
погрешности интерполяции S x y x зависят от выбора сеток и гладкости
функции y x .
Задачи для самостоятельного решения
1. Функция задана аналитически:
.
1. Постройте график функции и определите количество узлов сетки на
заданном отрезке.
2. Осуществите интерполяцию функции:
а) c использованием полиномов Лагранжа;
б) с использованием формулы Ньютона.
3. Постройте графики интерполянты и погрешности.
4. Выполните интерполяцию функции s(t) кубическим сплайном.
5. Постройте
графики базисных функций, кубического сплайна и
погрешности интерполяции.
Система базисных функций:
2. Используя таблицу
68
x
y
2
8
0
0
3
2
1
1
7
вычислить интерполяционный многочлен Ньютона.
Показать, что y = x3.
3. Вычислить таблицу разностей для y=sinx с шагом в 30о:
x
sin
0o
0,000
30o
0,500
60o
0,866
90o
1,000
x
0
0
0
0
Найти аппроксимационный многочлен.
4. С помощью интерполяционной формулы Ньютона построить многочлен
2-й степени, проходящий через узловые точки:
а) (0,1), (1,4), (2,3); б) (0,-2), (1,3), (2,1); в) (0,2), (1,-1), (2,3).
5. С помощью интерполяционной формулы Ньютона построить многочлен
3-й степени проходящий через узловые точки:
а) (0,2), (1,4), (2,4), (3,3); б) (0,0), (1,2), (2,0) (3,4); в) (0,1), (1,-2), (2,4),
(3,5).
Контрольные вопросы
Конечные разности различных порядков (определение).
2. Таблица разностей (способ построения).
3. Первая интерполяционная схема Ньютона.
4. Вторая интерполяционная схема Ньютона.
5. Оценка остаточного члена.
6. Перечислите интерполяционные формулы с центральными разностями.
7.
Как строятся интерполяционные многочлены Лагранжа и Ньютона?
8.
В чем особенности двух способов интерполяции?
9.
Что называется разностной схемой при численном решении
обыкновенного дифференциального уравнения методом конечных
разностей?
10.
Первые и вторые разности таблично заданной функции с постоянным
шагом аргумента.
11.
В чем заключается метод конечных разностей решения обыкновенных
дифференциальных уравнений?
12.
Дать определение первых и вторых конечных разностей для таблично
заданной функции.
Какие уравнения называются разностными? Что называется порядком
13.
разностных уравнений?
1.
69
Лекция 7
Численное дифференцирование
При решении практических задач часто нужно найти производные от
функции y f x , заданной таблично. Это возможно еще в случае, когда
непосредственное дифференцирование затруднено. В этих случаях необходимо
приближенное дифференцирование. Каждая из формул для интерполяционного
многочлена, указанных ранее, может служить источником для получения
формул вычисления производных.
В основе численного дифференцирования лежит аппроксимация функции, от
которой берется производная, интерполяционным многочленом. Все основные
формулы численного дифференцирования могут быть получены при помощи
первого интерполяционного многочлена Ньютона (формулы Ньютона для
начала таблицы).
Пусть на отрезке [a, b] рассматривается функция y f x , имеющая
непрерывную производную порядка n 1
Интерполируем y f x посредством интерполирующей функцией P x и
полагают f x P x .
Если погрешность интерполирующей функции P x ,то
Rx
f x
Px
- то погрешность производной будет
r x
f x
P x
R x
т.е. погрешность производной интерполирующей функции равна производной
от погрешности этой функции.
Пренебрегая R x , получим формулу для приближенного вычисления
производной
f
m
Pn m x
x
Пользоваться ею целесообразно при небольших порядках m производной,
когда m n .
 Замечание Операция приближенное дифференцирование менее точная,
чем интерполирование. Близость друг к другу двух кривых y f x и y P x
на отрезке [a, b] не гарантирует близости на этом отрезке их производных.
Пусть функция y f x определена в некоторой окрестности точки x0 и
имеет производную в этой точке, то есть существует предел отношения
функции к приращению аргумента при стремлении последнего к нулю.
.
Значение производной в точке x0 можно получить, переходя к пределу в по
последовательности целых чисел п и полагая, например,
x
x
x
n
n
0
.
70
Здесь ( x) 0 - некоторое начальное приращение аргумента,
- некоторое
число, большее единицы, n 0, 1, 2, 3, ... . Тогда значение производной функции
y f x в точке x0 запишется так:
y x0
f x0
Δy n
, Δy
Δx n
lim
n
Δx
f x0
n
f x0 .
n
Отсюда получаем приближѐнное равенство
.
Для функции y f x , имеющей непрерывную производную до второго
порядка включительно в окрестности точки x0 , точность приближения можно
установить, воспользовавшись формулой Тейлора:
y
x
y x0
L
2
n
n
x
n
0
,L
.
max f c
c x0 ; x
Для достижения заданной точности приближения производной можно при
определѐнном (конечном) числе вычислений использовать неравенство:
.
Пример Вычислить производную функции y sin x в точке x0
точностью
10 3 / 3 1,047198.
Решение
Положим ( x) 0 0,1;
откуда:
y
n
sin
3
10;
x
0,1 10
n
/3 с
0,1 10 n ,
n
sin
3
.
Определим приближѐнное значение производной:
y
3
y
x
sin
3
n
n
0,1 10
n
0,1 10
n
sin
3
, n
0, 1, 2, ...
Найдѐм отношения, аппроксимирующие производную:
у
( x)
0
0
у
( x)
0,45590189,
2
0,49956690,
2
у
1
( x)
у
Заметим, что
y
x
.
3
( x)
0,49566158,
1
0,49995670
3
3
3
y
x
2
0,0003897939
0
.
2
Таким образом, начиная с третьего приближения, получаем искомое
приближение производной данной функции с точностью не меньшей заданной.
Точное значение y
3
cos
3
0,5 .
71
Дифференцирование по формуле Ньютона
Пусть y f (x) задана на отрезке [a, b] в n 1 равноотстоящих точках xi .
Построим формулы для вычисления производных от y f (x) в любой точке
[a, b] .
Имеем по 1 формуле Ньютона
y f ( x) y 0 q y 0
q q 1
2!
x x0
h
где q
h
2
xi
y0
q q 1 q 2
3!
1
xi
3
y0 
,
Перемножая, после преобразования, имеем
y
f ( x) y 0 q y 0
q2 q
2!
2
q 3 3q 2 2q 3 y0
3!
y0

Для производной сложной функции имеем
dy
dx
y
dy dq
dq dx
1
Δy0
h
1 dy
, тогда
h dq
2q 1 2
Δ y0
2!
3q 2
6q 2 3
Δ y0 
3
аналогично, так как
y x
y
1
h
2
d y
dx
d y
dq
dq
, то
dx
Δ 2 y0
(q 1) Δ3 y0 
Для нахождения y , y , в фиксированной точке x , за x0 принимают
ближайшее к x табличное значение аргумента.
В частности, так как каждое табличное значение можно считать за
начальное, то положим x x0 , q 0 , тогда формулы будут иметь вид
Δ 2 y0
1
Δy0
h
2!
y ( x0 )
y
1
h
2
Δ 2 y0
1 3
Δ y0 
3
Δ3 y0 
Аналогично можно найти производные и в любой точке x xi , учитывая, что
q xi i . Чтобы получить значение производных в конце таблицы, то
необходимо воспользоваться второй интерполяционной формулой Ньютона.
Пример Найти f 1 , f 1,2 .
1
2
3
x
y
5
17
35
Решение
72
h 1
Так как x 1 x x0 q 0 , тогда по формуле
y 1
y0
1
2
2
y0
1
6 9
2
12
1,2 1
0,2
1
0,4 1
y 1,2 12
6 10,2
2
y
y
x
q 1,2
1
2
3
5
17
35
2
12
18
y
6
Формулы, основанные на разностных отношениях
Приближенное вычисление производных производится на основе формул,
которыми они определяются.
f x
lim
h
0
f x h
h
f x
Разностное отношение дает приближенное вычисление производной. Эта
формула позволяет вычислять производную с любой точностью только за счет
выбора соответствующего шага, позволяет построить простой вычислительный
алгоритм:
Задать значение точки, в которой вычисляется производная.
Задать значение приращение h .
Вычислить производную.
Замена бесконечно-малых приращений конечными является причиной
возникновения ошибки. Разложим функцию f x в точке x x в ряд Тэйлора
f x
x
f x
Получим
f x
1!
x
f x
f x
2!
f ( x)
x
2

f x
2!
f
n
n!
x n
x .
Видно, что все члены начиная с со второго, определяют отличие численного
значения производной от ее точного значения. Основной член погрешности
равен f x x 2! , т.к. данный член
x , говорят, что формула имеет первый
порядок точности по x .
Операция дифференцирования в пакете Mathcad
Операция дифференцирования реализована в Mathcad как в численной, так и
в аналитической форме и обозначается при помощи традиционного оператора,
т. е. соответствующими математическими символами (подобно сложению или
умножению).
73
Определение функции посредством оператора дифференцирования
С помощью Mathcad можно вычислять производные скалярных функций
любого количества аргументов, причем как функции, так и аргументы могут
быть и действительными, и комплексными.
Пример Вычислим производную
Соответствующий документ состоит из следующих блоков:
1. Задание дифференцируемой функции и ее производной
f(x) := sin(x) df(x) : d f(x)
dx
2. Задание пространственной сетки
Xmin := 0 X max : N := 2000 i := 0 .. N
2
x:
X max
3. Вычисление производной функции
j := 0 .. N
1
dy j :
f xj 1
X min
N
xi :=Xmin + x i
f xj
x
4. Построение графика модуля разности между точным и численным
значениями производной
5. Вычисление производной функции
m := 1 .. N 1
dy2m :
f xm 1 f xm -1
2 x
6. Построение графика модуля разности между точным и численным
значениями производной
74
Аналогичным образом поступают при вычислении производных высших
порядков.
Задачи для самостоятельного решения
1.
С каким порядком точности аппроксимирует 2-ю производную функции
ее разностный аналог?
d 2 f (x 0 )
dx 2
2.
x) 2f (x 0 ) f (x 0
2
x
x)
С каким порядком точности аппроксимирует 1-ю производную функции
f (x) ее разностный аналог?
df (x 0 )
dx
3.
f (x 0
f (x)
f (x 0
x) f (x 0
2 x
x)
Какая из разностных формул аппроксимирует 1-ю производную функции
f (x) с лучшей точностью?
df (x 0 )
dx
f (x 0
x) f (x 0
2 x
x)
df (x 0 )
dx
f (x 0
x) f (x 0
x
x)
Контрольные вопросы
Что понимается под термином численное дифференцирование?
2.
Что называется порядком погрешности аппроксимации производной?
3.
Приведите примеры погрешности разных порядков.
4.
Приведите конечно-разностное выражение для второй производной,
использующее центральную разность.
5.
Приведите конечно-разностное выражение для первой производной в
граничной точке со вторым порядком точности.
6.
Как использовать правило Рунге для получения уточненного значения
производной?
7.
Вычисление значений производных различного порядка.
1.
75
Лекция 8
Численное интегрирование
Численное
интегрирование
(историческое
название:
численная
квадратура)— вычисление значения определѐнного интеграла (как правило,
приближѐнное), основанное на том, что величина интеграла численно равна
площади криволинейной трапеции, ограниченной осью абсцисс, графиком
интегрируемой функции и отрезками прямых x = a и x = b, где a и b — пределы
интегрирования. Численные методы интегрирования основаны на различных
способах оценки этой площади, поэтому полученные формулы численного
интегрирования называются квадратурными (формулами вычисления
площади).
Необходимость применения численного интегрирования, чаще всего, может
быть вызвана отсутствием у первообразной функции представления в
элементарных функциях и, следовательно, невозможностью аналитического
вычисления значения определѐнного интеграла по формуле НьютонаЛейбница.
Также возможна ситуация, когда вид первообразной настолько сложен, что
быстрее вычислить значение интеграла численным методом.
Задача численного интегрирования заключается в вычислении значения
определенного интеграла на основании ряда значений подынтегральной
функции.
При замене подынтегральной функции на полином нулевой, первой и второй
степени получаются соответственно методы прямоугольников, трапеций и
парабол Симпсона
Численные методы интегрирования универсальны.
Позволяют вычислить значение определенного интеграла непосредственно
по значениям подынтегральной функции f (x) , независимо от способа ее
задания или вида аналитического выражения.
b
Рассмотрим интеграл I
f x dx . Отрезок [a, b] делят на n необязательно
a
равных частей – элементарных отрезков.
Принято такое деление отрезка называть сеткой, а точки x0 , x1,, xn n –
узлами сетки.
76
Можно принципиально найти интеграл с любой достаточной заданной
точностью, взяв достаточно малые частичные отрезки [ xi 1, xi ] и вычислив
достаточно много значений f i .
Если сетка равномерная, то h =
b-a
– шаг сетки, при интегрировании – шаг
n
интегрирования, а координата i -го узла вычисляется по формуле:
xi = a +i h ,
i = 0,n
Аналогично, мы вынуждены за i брать середины частичных отрезков и
принять следующее правило
b
f x dx
h
a
f
h
2
f
3
h
2
f
5
h
2

f b
h
2
Это выражение позволяет вычислить интеграл сколь угодно точно при
всякой функции, но является медленно сходящимся даже для аналитической
функции и требует для этого большого числа значений. Оно вообще
неприемлемо, если интеграл несобственный. Методы вычислений,
направленные на очень широкие классы функций, обычно обладают невысокой
точностью и если увеличивать число значений функции, показывают
медленную сходимость. Лучшую точность и сходимость имеют правила
интегрирования, рассчитанные на узкие классы функций.
Общее правило основано на замене f x на элементарную функцию –
алгебраический многочлен, рациональную функцию, тригонометрический
многочлен и т.д. Если f x имеет особенность, то необходимо ее выделить.
Полная площадь криволинейной трапеции состоит из n элементарных
криволинейных трапеций – элементарных площадей:
n-1
I =
Si
i=0
Квадратурные формулы отличаются друг от друга способом оценки
значения S i – площади элементарной криволинейной трапеции.
Рассмотрим получение простейших формул для часто используемой
равномерной сетки.
Формулы прямоугольников
Площадь i-той элементарной трапеции можно оценить (приближенно
вычислить) как площадь прямоугольника со сторонами xi+1 - xi = h и f i .
Тогда Si fi h и значение интеграла:
n-1
I
n-1
Si
i=0
n 1
fi h
h
i=0
n 1
fi
i 0
h
n-1
f(xi ) h
i 0
f(a + i h)
i=0
fi+1
→ Погрешность
fi
Si
77
Полученная формула называется формулой левых прямоугольников, т.к. для
оценки площади использовалось левое основание элементарной криволинейной
трапеции. Аналогично можно получить формулу правых прямоугольников. Для
данного случая Si fi+1 h и тогда значение интеграла:
n-1
I=
n-1
Si
n
f i+1 h = h
i=0
i=0
n
fi = h
i=1
n
f(xi )= h
i=1
f(a + i h)
i=1
Эти формулы не находят широкого применения, т.к. имеют большую
погрешность, пропорциональную величине шага dM O(h) . Как появляется эта
погрешность, видно на рисунках.
Для повышения точности площадь S i можно оценить, используя
прямоугольник со стороной, равной значению подынтегральной функции в
середине элементарного отрезка
δ1 ←
h
fi = f(xi + )
2
→ δ2 ~
fi
Si
xi
xi+1
~
fi h и формула центральных прямоугольников
Для данного случая Si
имеет вид:
n-1
I=
n-1
Si
i=0
fi h = h
i=0
n-1
fi = h
i=0
n-1
i=0
n-1
h
h
f(xi + )= h f(a +i h+ )
2
2
i=0
Как видно из рисунка, погрешность в оценке площади S i в данном случае
существенно меньше, чем в двух предыдущих (погрешность оценивается
разницей площадей δ1 и δ2). Погрешность метода пропорциональная квадрату
величины шага dM O(h2 )
Пример Вычислить: I
2, 0
x2
1 dx
0, 5
Решение
Точное значение легко вычисляется по формуле Ньютона-Лейбница:
x3
I (
3
23
x)
0,5 3
2
0,53
2 (
3
0,5) (
8
1 1
2) - (
)=
3
8 3 2
78
=
14
3
13
24
112 13
24
99
24
33
8
4,125
Для вычисления интеграла по квадратурной формуле необходимо
выбрать число узлов n.
Пусть n=5, тогда h
b a
n
2 0,5
5
0,3.
Расчет по формуле левых прямоугольников:
n 1
I лп
h
4
f(a i h)
0,3
i 0
f(0,5 i 0,3)
i 0
0,3 f(0,5) f(0,8) f(1,1) f(1,4) f(1,7)
0,3((0,52
1)
(0,82
1)
(1,12
1)
(1,42
1)
(1,72 1)) 0,3 1,25 1,64 2,21 2,96 3,89
0,3 11,95 3,585
I* - I
4,125 3,585 0,540.
Погрешность расчета
ëï
Расчет по формуле правых прямоугольников:
n
I пп
h
5
f(a i h) 0,3
i 1
f(0,5 i 0,3)
i 1
0,3 f(0,8) f(1,1) f(1,4) f(1,7) f(2,0)
0,3 (0,82 1) (1,12 1) (1,42 1) (1,72
0,3 1,64 2,21 2,96 3,89 5 4,71
1) (2,02
1)
Погрешность расчета
4,125 - 4,71 = - 0,585. Для повышения точности
необходимо увеличить n или использовать более точные квадратурные
формулы. Расчет по формуле центральных прямоугольников:
n-1
I цп
h
i
h
f(a i h
)
2
0
4
0,3
f(i 0,3 0,15) 0,3(f(0,65
)
i 0
f(0,95) f(1,25) f(1,55) f(1,85)) 0,3((0,652
1)
(0,952 1) (1,252 1) (1,552 1) (1,852
0,3 1,4225 1,9025 2,5625 3,4025 4,4225
1))
4,114
Погрешность расчета
4,125 - 4,114= 0,011. Формула центральных
прямоугольников на порядок точнее предыдущих формул.
Формула трапеций
В данном методе элементарная
криволинейная
трапеция
заменяется
трапецией (кривая f(x) заменяется хордой
CD).
Из рисунка видно, что Si
fi
fi
2
1
h.
Отсюда:
79
I*
n 1
n 1
fi fi
2
0
Si
i 0
i
1
h
h(
f0 f1
2
f
n 1
f1 f 2
2
f
n
2
h (
f0
n 1
fn
fi )
2
h
i 1
f 2 f3
f
...
2
f
n 2
n 1
2
)
f(a) f(b) n 1
f (a i h)
2
i 1
Погрешность формулы трапеций пропорциональная квадрату шаг h
δM O(h2 ) т.е. формулы центральных прямоугольников и трапеций имеют
близкую точность.
Ошибку для метода трапеций можно оценить по формуле:
b a
M2 h 2
12
где M 2
,
max f x - наибольшее значение второй производной подынтегральной
a;b
функции на отрезке интегрирования.
Пример
Вычислить
1
е х dx , использовать формулу трапеций. Оценить
0
ошибку вычисления; сравнить полученное приближѐнное значение с точным.
Решение
Вычислим значения подынтегральной функции е х
соответствующие значения занесѐм в таблицу:
х 0,0
у 1,0
0,1
1,105
17
0,7
х 0,6
у 1,822 2,013
12
75
0,2
1,221
4
0,8
2,225
54
0,3
1,3498
6
0,9
2,4596
0
в точках деления и
0,4
0,5
1,492 1,6487
82
2
1,0
2,71828
Сразу по формуле трапеций получаем:
1
e x dx
0
1 0 1,0 2,71828
15,33798
10
2
1
17,19712 1,71971.
10
Оценим ошибку вычисления. Имеем
1 0
2,71828 0,01
10
ex
e x ; maxe x
0;1
e
2,71828.
Получаем:
0,00271 .
Действительно, сравнивая полученное значение с точным, получаем
d 1,71828 1,71971 0,00143 .

Замечание Формулы прямоугольников и трапеций имеют второй
порядок точности, они дают точное значение интеграла для линейной
подынтегральной функции.
80
Формула Симпсона
На каждом элементарном отрезке подынтегральная функция f(x) заменяется
квадратичной параболой, построенной по трем точкам: концам элементарного
h ~
отрезка ( x i , f i ), ( x i 1, f i 1 ) и его середине ( x i
, fi ).
2
Для случаев, когда количество точек разбиения x i чѐтно, то есть n 2m, m N ,
удобно использовать так называемую формулу Симпсона (параболических
трапеций). Примем еѐ без вывода:
f x dx
a
m 1
h
y0
3
y2m
2
m
y 2i
4
i 1
y 2i
1
i 1
Формула Симпсона имеет высокую точность, так как погрешность метода
O h3 .
M
Оценка ошибки при вычислении определѐнного интеграла методом
Симпсона:
b a
,
M4 h 4
180
где M 4 max f
a ;b
4
x
- наибольшее значение производной четвѐртого порядка
подынтегральной функции на отрезке интегрирования.

Замечание Формула Симпсона имеет третий порядок точности и дает
точное значение интеграла для кубической подынтегральной функции.
Пример Вычислим I
2
x 2 1 dx по формуле Симпсона.
0,5
Для упрощения расчета возьмем n=2, тогда h=0,75.
Ic
h
f(b) f(a)
2
0,75 f(2) f(0,5)
3
2
n 1
(f(a i h) 2 f(a i h
i 0
h
))
2
1
(f(0,5 i 0,75) 2 f(0,5 i 0,75 0,375))
i 0
1
4
(2 2 1) (0,52 1)
f(0,5) 2 f(0,875) f(1,25) 2 f(1,625)
2
1
4
5 1,25
(0,52 1) 2 (0,8752 1) (1,252 1) 2 (1,6252 1)
2
1
16,5
1,875 1,25 3,53125 2,5625 7,28125
4,125
4
4
Погрешность расчета = 4,125 – 4,125 = 0.
Такой результат объясняется тем, что подынтегральная функция в
примере является квадратичной параболой, и замена ее параболой не вносит
погрешности метода, а погрешность округления в расчѐтах отсутствует.
81
Правило Рунге
Если подынтегральная функция – достаточно гладкая, то правило Рунге
позволяет найти оценку погрешности приближенного интегрирования.
Рунге Давид Тольме (1856- 1927) — немецкий математик, физик. Считается
исторически первым немецким математиком по прикладной математики.
Совместно с М. Куттой разработал методы численного интегрирования систем
обыкновенных дифференциальных уравнений — методы Рунге — Кутты.
Исследовал поведение полиномиальной интерполяции при повышении степени
полиномов — Феномен Рунге.
Пусть вычисления проводятся с помощью квадратурной формулы,
имеющей порядок p. Обозначим:
x
f ( x) dx ;
U i – результат приближенного вычисления интеграла I i
x
i 1
i
– результат приближенного вычисления того же интеграла при делении
отрезка [ xi , xi 1 ] на два подотрезка половинной длины hi 2 xi 1 xi 2 .
Погрешность вычислений:
Ui Ii C hip 1 ,
p 1
Vi Ii C hi 2
2,
где C – константа, зависящая от значения производной f p 1 .
Vi
U i Vi
C
hip 1 p
2 1
2p
Vi
Ii
2p 1
.
Первая формула Рунге – оценка погрешности вычислений с делением отрезка
пополам:
Vi
Ii
Ui Vi
2p 1
Вторая формула Рунге – уточненный результат:
Ui Vi
Vi Vi
2p 1

Замечание Формулы Рунге применимы, когда известен порядок точности
квадратурной формулы. Однако, порядок формулы зависит от гладкости
подынтегральной функции.

Замечание Для функций, имеющих особенности, порядок точности
уменьшается и формулы Рунге неприменимы.
Пример. С помощью формулы трапеций вычислим интеграл от
гладкой функции f x на отрезке a, b , поделив отрезок на N подотрезков.
Повторим вычисления для удвоенного числа отрезков и уточним результат по
правилу Рунге.
Решение
На рисунке приведено решение в среде Mathcad.
82
При вычислении значения определенного интеграла от функций,
заданных аналитически, необходимо обеспечить требуемую точность расчета
.Точность вычисления можно повысить двумя способами:
Использовать более точную квадратурную формулу.
Увеличить количество узлов, соответственно уменьшить шаг
интегрирования h.
На практике обычно используется формула Симпсона, а требуемая
точность расчета достигается вторым из указанных выше способов.
Выполняется расчет с выбранным числом узлов n, затем выполняется
расчет с удвоенным их числом.
Если результаты отличаются более чем на требуемую точность, число
узлов вновь удваивается.
Расчет заканчивают, когда
I n I 2n ε ,
полагая, что | I 2n I * |
, т.е. последнее вычисленное приближенное
значение интеграла отличается от точного значения не больше чем на заданную
точность.
Такой
способ
называется
автоматическим
выбором
шага
интегрирования и легко реализуется на ЭВМ.
Начальный шаг интегрирования рекомендуется выбирать из
соотношения: h k ,
где k = 1 для формул правых и левых прямоугольников;
k = 2 для формул трапеций и центральных прямоугольников;
k = 3 для формулы Симпсона.
Важно напомнить, что погрешность решения включает погрешности метода M
и погрешность округления 0 .
83
При увеличении числа узлов n M уменьшается, но растет 0 , т.к.
увеличивается количество арифметических действий для решения задачи. Из
графика следует, что требуемую точность
следует выбирать больше кр ,
иначе требуемая точность не может быть достигнута.
Квадратурные формулы Ньютона-Котеса
Формулы Ньютона-Котеса для численного интегрирования обладают
следующими особенностями:
необходимым условием сходимости данного метода является
существование и ограниченность производной функции (порядок
производной зависит от выбранной формулы)
формулы Ньютона-Котеса обладают высоким порядком точности
формулы порядка
являются численно устойчивыми.
Пусть для данной функции y
f x требуется вычислить интеграл
b
f x dx .
a
Разделим отрезок [a, b] на n частей с шагом h
примем за узлы интерполирования. Тогда
b
n
p x g x dx
xi
b a
n
и точки xk
a kh
Bkn f a kh
b a
k 0
a
где
Bkn
b a
1
Ak
b a
1
b
px
a
x
x a
x
x a kh
a kh
dx
x a h  x a nh
Придадим B kn другую форму, введя переменную t , положив x a th , тогда
hn
x
1
x a kh
a kh
t t 1
t 2
t n
h t k
1n
k
hnk ! n k !
следовательно
n
1n k
t t 1 t 2  t n
p a th
dt
n k! n k ! 0
t k
Bkn
Остановимся на случае p 1 - весовая функция постоянна.
Формула Ньютона -Котеса имеет вид
b
n
f x dx
b a
Bkn f a kh
k 0
a
,
где
Bkn
n
1n k
t t 1 t 2  t n
dt
n k! n k ! 0
t k
84
В таблице приведены значения коэффициентов B kn формулы
значений n до n 4
для ряда
Таблица значения коэффициентов B kn
0
1
2
k
n
1
2
3
4
Ѕ
1/6
1/8
7/90
4/6
3/8
32/90
12/90
Для больших n правило Ньютона-Котеса не применяется, так как смежные
коэффициенты B kn и Bkn 1 будут иметь большие абсолютные значения и
противоположные знаки,
будет большой и быстро возрастающей
Bkn
величиной, возникает большая погрешность в квадратурной сумме.
 Замечание При каждом n сумма коэффициентов Ньютона-Котеса равна
1.
n 1 B01
n
2
B02
B11
B22
1
2
1
6
B12
4
6

Замечание При n 1 формула Ньютона -Котеса преобразуется в
известную формулу трапеции:
b
f x dx
a
b a
f a
2
f b
.
При n 2 квадратурная формула преобразуется
b
f x dx
a
b a
f a
6
4f
a b
2
f b
в квадратурную формулу Симпсона или формулу парабол.
Роджер Котс (1682 —1716) — английский математик и философ.

Замечание Предпочтительно использовать формулы Ньютона-Котеса с
малыми значениями n , а для уменьшения погрешности результата отрезок
разбивается на достаточно большое число интервалов, и к каждому из них
применяют квадратурную формулу с малым числом узлов, затем результаты
складывают.

Замечание Формулы Ньютона–Котеса являются интерполяционными,
очевидно, что они не могут успешно использоваться для получения формул
высокой точности по причине неустойчивости интерполяционного процесса
для многочленов высокого порядка.
85
Задачи для самостоятельного решения
1. Вычислить интегралы по формулам трапеций и Симпсона с заданной
точностью , определяя шаг интегрирования h по оценке остаточного члена.
3
dx
, n 10 ,
2
1
x
1
1
dx , n 12 ,
2.
3
01 x
3
dx ,.
ln x
11
1.
3.
2
0
9
6 x 5dx , n
1,3
sin x
dx ,.
2
01 x
8,
4
dx
2x
0,7
2
, n 17 , .
0,3
ln cos xdx ,.
0
4
5,2
sin x 2dx ,.
5. ln xdx , n 6 ,
4
1,2
6.
7.
x
,.
1
1
4.
dx
cos x
0
6
0
2
ln 1 x 2 dx , n
6,
sin xdx ,.
0
lg x 2 3,5 dx , n
1
8,
cos x 2dx ,.
0
2
1
2
2
x
8. e dx , n 10 ,
0
1 1 4sin 2 xdx ,.
0
2
9.
sin xdx , n
4,
0
0
1
10. sin x dx , n 10 ,
0
1
x
dx
1 x
,.
4
dx
.
1 x x2
86
Контрольные вопросы
Какой вид имеет квадратурная формула прямоугольников для
вычисления определенного интеграла?
2.
Что называется численным интегрированием при вычислении
определенного интеграла?
3.
В каких случаях для вычисления определенного интеграла приходится
использовать формулы численного интегрирования?
4.
Что называется квадратурной формулой для приближенного
вычисления определенного интеграла?
5.
Напишите квадратурную формулу метода прямоугольников для
вычисления определенного интеграла.
6.
Напишите составную квадратурную формулу метода прямоугольников
для вычисления определенного интеграла.
7.
Какую погрешность имеют квадратурные формулы метода
прямоугольников при вычислении определенного интеграла?
8.
Приведите квадратурную формулу метода трапеций для вычисления
определенного интеграла.
9.
Приведите составную квадратурную формулу метода трапеций для
вычисления определенного интеграла.
10.
Какую погрешность имеют квадратурные формулы метода трапеций
при вычислении определенного интеграла?
11.
Приведите квадратурную формулу метода Симпсона для вычисления
определенного интеграла.
12.
Приведите составную квадратурную формулу метода Симпсона для
вычисления определенного интеграла.
13.
Какую погрешность имеют квадратурные формулы метода Симпсона
при вычислении определенного интеграла?
14.
Что называют квадратурными формулами Ньютона – Котеса?
15.
В чем заключается метод Рунге повышения точности численного
интегрирования?
16.
Как получить уточнение по методу Рунге при использовании метода
Симпсона для вычисления определенного интеграла?
1.
87
Лекция 9
Квадратурные формулы Гаусса
Задача приближенного вычисления определенного интеграла зависит от
различных подходов. Самая ресурсоемкая операция с точки зрения вычислений
— подсчет значения функции. Желательно построить численный метод,
позволяющий получать как можно более высокую точность при наименьшем
количестве вычислений, при этом выбор узлов квадратурных формул целиком в
руках вычислителя. В этом случае наиболее эффективными окажутся
квадратурные формулы типа Гаусса.
Параметрами квадратурных формул интегрирования являются узлы и веса.
При построении формул трапеций, Симпсона заранее задаются узлы и по ним
находятся веса, но параметры можно подобрать и так, чтобы квадратурная
формула была точна для любого многочлена степени не выше 2n 1 .
1 построил Гаусс, для произвольного
Первую такую формулу для веса
веса рассмотрел Кристоффель.
КРИСТОФФЕЛЬ Эльвин Бруно (1829—1900), немецкий математик. Труды
по математическому анализу, теории дифференциальных квадратичных форм
(ввел понятие символы Кристоффеля).
Идея Гаусса состоит в том, что можно получить большую точность не
фиксируя заранее узлы, а использовать расположение задаваемых точек таким
образом, чтобы получить наилучшие результаты.
Процесс получается свободный от опасности равноотстоящей интерполяции
полиномами.
Узлами формулы Гаусса-Кристоффеля являются нули многочленов
соответствующей степени Pn x , ортогональных на отрезке [a, b] с весом.
 Определение Полиномы вида
Pn x
1
dn
2n n! dxn
x2 1
n
n 0,1,2,
называются полиномами Лежандра.
ЛЕЖАНДР Адриен Мари (1752—1833), французский математик. Труды по
теории чисел, эллиптическим интегралам и др. Автор классического курса
элементарной геометрии.
Свойства полиномов Лежандра
1. Pn 1 1
2. Pn 1
1n
n
0,1,2,
1
3. Свойство ортогональности
Pn x Qk x dx 0
k
n ,
1
где Qk x - любой полином степени k .
4. Полином Лежандра Pn x имеет n различных действительных корней,
которые расположены на интервале 1;1 .
 Теорема Квадратурная формула
88
1
n
f t dt
Ai f ti
i 1
1
должна быть точной для всех полиномов f x наивысшей возможной степени
N 2n 1 , где t i - нули соответствующего полинома Лежандра и коэффициенты
Ai определяются из системы
n
Ai
2
i 1
n
Ai ti
0
Ai ti2 n
2
Ai ti2 n
1
i 1

n
i 1
n
2
2n 1
0
i 1
Доказательство
Как известно (свойство 4), t i - нули соответствующего полинома Лежандра,
действительны, различны и расположены на интервале [ 1,1] .
1
Действительно, полагая
n
t k dt
2n 1
tik Ai
i 1
1
Ck t k
f t
k 0
Будем иметь
1
1
2n 1
f t dt
k 0
1
n
n
Ai tik
ck
k 0
1
2n 1
i 1
.
n
Ck tik
Ai
i 1
2n 1
t k dt
Ck
k 0
Ai f ti
i 1
заключаем, что для решения поставленной задачи, достаточно определить t i и
Ai из системы 2 n уравнений.
Пример Приведем первые пять полиномов Лежандра.
P0 x
1 , P1 x
x , P2 x
P3 x
1 3
5 x 3x
2
, P4 x
1 2
3x 1 ,
2
1
35x 4 30x 2
8
1
k
t dt

Замечание Учтем, что
1
1
3
.
1k
k 1
1
2
, k
k 1
0
, k
2m
2m 1
.
89
1, t , t 2 , , t 2 n
Рассмотрим функцию f x
1
, заданную на промежутке [ 1,1] .
k
Система - нелинейная, поэтому рассмотрим полином f t t Pn t , где Pn t полином Лежандра.
Так как степень данного полинома не превышает 2n 1 , то для них должна
быть справедлива формула
1
t k Pn t dt
n
Ai tik Pn ti
.
i 1
1
С другой стороны в силу свойства ортогональности полиномов Лежандра
(свойства 3), имеем
1
n
t k Pn t dt 0
k
n
Ai tik Pn ti
0
i 1
1
Равенства выполняются при любых Ai , если положить Pn ti 0 .
Таким образом, для достижения наивысшей точности квадратурной
формулы в качестве точек t i достаточно взять нули соответствующего
полинома Лежандра. Имеются весьма точные таблицы этих нулей.
Тогда зная t i , легко можно найти из линейной системы первых n уравнений
системы коэффициенты Ai .Определитель этой системы есть определитель
Вандермонда:
D
ti t j
0
i j
и, следовательно, Ai определяются однозначно.
Вандермoнд Александр Теофиль (1735-1796) -французский математик, член
Парижской АН. Основные труды по алгебре, в частности по теории
симметрических функций. Вандермонд дал логичное изложение теории
детерминантов, где известен определитель Вандермонда.
В общем случае квадратурная формула Гаусса
b
f t dt
a
b a
2
a b
2
где xi
n
Ai f xi
i 1
b a
ti , а t i - нули полинома Лежандра.
2
Формула Гаусса называется также формой наивысшей алгебраической
точности,
так
как
для
произвольного
многочлена
степени
выше 2n 1 квадратурная формула с n узлами уже не может быть точной.
 Замечание Неудобство, что t i и Ai иррациональные числа, достоинство:
высокая точность при малом количестве t i .
Пример Вычислить интеграл по формуле Гаусса
1
1 2 x dx
n
3
.
0
Решение
P3 t
1
5t 3 3t
2
t1
3
5
t2
0
t3
3
5
90
A1
для
A1
определения
5
,
9
A3
коэффициентов
1
3
5
положим a 0, b 1
x
f t dt
1
Точное значение I
x1
То есть x
2
x3
суммируем
3
ci y i
8f 0
b a
2
3
5
5f
2
3
3
A1
A3
5
5
3
3
2
A1
A3
5
5
3
0,
откуда
1,39870
1
i 1
1
1,39872 .
3
yi
ci
ci yi
0,1127
1,1069
0,2777
0,3074
8
0,5000
0
3
b a
1 5
A1
0,27778
2
2 9
b a
1 8
A2
0,44444
2
2 9
b a
1 5
A3
0,27778
2
2 9
xi
0
2
,
b a
t.
2
1 1
c1
t1 0,11270
2 2
1 1
t 2 0,50000 Далее c2
2 2
1 1
c3
t3 0,88730
2 2
i
3
I
A3
8
,
9
A2
1
5f
9
тогда
имеем
A2
8
1,4142
1
0,8873
0
7
0,4444
4
1,6657
1
1,39870
0,6285
3
0,2777
8
0,4627
0

Замечание Формулы Гаусса обеспечивают высокую точность уже при
небольшом количестве узлов (от 4 до 10) Отметим также, что веса квадратур
Гаусса всегда положительны, что обеспечивает устойчивость алгоритма.
О точности квадратурных формул
Пример Дана функция y
интеграла I
8 45x 2
25x 4 . Имеем по точное значение
1
ydx
2 8 15 5
4.
1
При h 1 формула трапеций дает точное значение
1
1
I
I
f 1 f 0
f 1 4 -,по формуле Симпсона
2
2
1
f
3
1
4f 0
f 1
8 не
3
обеспечивается даже знак интеграла. Формула более точная, а результат
отрицательный.
Точность квадратурных формул, где узлы равноотстоящие (формулы
трапеций, Симпсона, Ньютона-Котеса) определяется порядком остаточного
91
b a
, где h n - шаг ( n - число делений) и m - натуральное число.
Квадратурная формула считается тем точнее, чем больше число m . В этом
смысле формула Симпсона m 4 является более точной, чем формула
трапеций m 2 . Качество формулы обнаруживается при достаточно малом
шаге h .
Отсюда вовсе не следует, что в конкретных случаях более грубая
квадратурная формула при одном и том же шаге не может дать лучших
результатов, чем более точная. Точность квадратурной формулы при
фиксированном числе узлов существенно зависит от расположения этих узлов.
При неудачном их выборе может получиться сильно искаженный результат.
При наличии значительного числа нулей подынтегральной функции f x или
при большом числе экстремумов точность квадратурной формулы существенно
снижается.
Поэтому шаг рекомендуется выбирать так, чтобы он был значительно
меньше расстояния между соседними нулями f x и ее производной f x . Для
этого рекомендуется основной отрезок интегрирования [a, b] разбить на отрезки,
внутри каждого, из которых функции f x и f x сохраняют постоянный знак
и производить вычисление интеграла частями, выбирая для каждого частичного
отрезка, свой шаг.
В более сложных случаях нужно учитывать поведение производных высших
порядков.
Для общей ориентировки
полезно построить график
подынтегральной функции f x . Если функция сильно колеблющаяся, то
следует применять специальные приемы вычислений.
 Замечание Если подынтегральная функция f x задана таблично, то
нельзя оценить точность квадратурной формулы. Так как, через конечную
систему точек xi , yi можно провести бесчисленное множество кривых
y f x , ограничивающих на данном отрезке различные площади, т.е. интеграл
априори может иметь произвольное значение.
Пользование квадратурными формулами допустимо лишь тогда, если
известны промежуточные значения подынтегральной функции f x и ее общие
свойства, позволяющие судить о графике функции.
члена R
O hm
Сходимость квадратурных формул
Формула прямоугольников является интегральной суммой. Следовательно,
для любой непрерывной функции она сходится к точному значению интеграла
при стремлении к нулю max xi xi 1 . Это справедливо и для обобщенной
формулы трапеции. Она тоже является интегральной суммой, соответствующей
несколько иному выбору интервалов.
Обобщенная формула Симпсона получается линейной комбинацией двух
обобщенных формул трапеций на равномерной сетке. При сгущении сетки
каждая их последних формул сходится к точному значению интеграла. Значит и
92
формула Симпсона сходится для любой непрерывной функции. Вопрос
скорости сходимости связан с оценкой остаточного члена формул.
Погрешность формул прямоугольника и трапеций есть O h 2 , а формулы
Симпсона - O h 4 .
Эти оценки пригодны, если функция имеет ту производную, которая входит
в оценку остаточного члена, причем эта производная непрерывна или кусочнонепрерывна. Наличие у функции более высоких производных не улучшает
оценку. Зато если у функции нет требуемой ограниченной производной, то
сходимость может быть хуже. Для функций малой гладкости (имеющих лишь
первую или вторую производные) лучше результат дает формула
прямоугольников. Для функций высокой гладкости выгодны формулы Гаусса.
Экстраполяция по Ричардсону
Для уточнения значения интеграла можно примерить метод двойного
пересчета. Если для квадратурной формулы известен порядок остаточного
члена R R f , то для определения R можно использовать метод двойного
пересчета.
Пусть R O hm
m 1 , где h
b a
n
шаг, тогда приближенно можно
положить R Mhm
Выберем два разных шага h1
Rn1
I
I n2
I n1
I n1
b a
M
n1
m
M b a
b a
n1
m
Rn2
1
1
n1m
n2m
Следовательно
M
I
h2
b a
, тогда
n2
I n2
b a
M
n2
n1 n2
m
I n2
I n1
b a
m
n2m
n1m
Получаем для остаточного члена
R
m
.
n1 n2
n
m
I n2
I n1
n2m
n1m
в частности при h h2 , n n2 , имеем
Rn2
n1
m
n2m n1m
I n2
I n1 , тогда используя эту поправку, имеем для интеграла
уточненное значение
I n1 , n 2
I n2
n1m
n2m
n1m
I n2
I n1 .
Такой прием называется экстраполяцией по Ричардсону.
Введем обозначение
n2
n1
1 , следовательно
93
1 .
где
m
,
1
Коэффициенты табулированы для различных и m .
Покажем, что если I n1 I n2 , то I n1 ,n2 лежит вне отрезка [I n1 , I n2 ] .
1. если I n1 I n2 , то имеем I n1 , n2 I n2 max I n1 , I n2 .
I n1 ,n2
I n2
I n2
I n1
2. если I n2 I n1 , то ) получаем I n1 , n2 I n2 max I n1 , I n2 .
Таким образом I n1 , n2 [I n1 , I n2 ] , т.е. I n1 ,n2 получается из I n1 и I n 2 в результате
операции экстраполирования.
Если I n1 I n2 , то, I n1 , n2 I n1 I n2 .
 Замечание Для функций, не имеющих особенностей, экстраполирование
повышает точность вычислений.
Задачи для самостоятельного решения
1. Вычислить интегралы с заданной точностью
формулы типа Гаусса
1
dx , n
13 x
1..
1
2.
5;
1
1 xdx , n 4 ;
1
3. ln 1 x dx , n 16 ;
0
2
0
sin x , n
dx
x
2
5.
0
x e0,4 x 1,5
dx
,n
3
01 x
1
7.
x
dx ,
2
1
x
0
12 ;
10 5 .
10 6 .
2
xe x dx ,
8;
0
e x sin x
dx ,
2
x
0
3;
1
2
e x dx , n 10 ;
x ln 1 x
10 3 .
10 3 .
dx ,
0
1
e
x2
dx , n
4
14 ;
10 4 .
sin x 2dx ;
0
0
1
9.
10.
10 5 .
1 x 2 e x dx ,
0
8.
10 5 .
,
10 6 .
x sin x 2dx ,
1
1
1 2
sin x dx , n
4
1
0
1
6.
dx
0
0
1
4.
1
, используя квадратурные
e
1
2x
2
dx , n
1
1 x
1
dx
,n
x 1 x
0
dx
5;
1 x
0
5;
e
1
2
4 3x
x
x
,.
dx ,
2
10 3 .
94
Контрольные вопросы
1.
2.
3.
4.
5.
Квадратурные формулы Гаусса.
Основные положения экстраполяции по Ричардсону.
Для каких функций предпочтительнее использовать формулы Гаусса.
Сходимость квадратурных формул.
Точность методов интегрирования.
95
Лекция 10
Приближенное вычисление несобственных интегралов
 Определение
b
Интеграл
f x dx
называется
собственным,
если
a
промежуток интегрирования [a, b] конечен, подынтегральная функция f x
непрерывна на [a, b] ,в противном случае интеграл (9) называется
несобственным.
 Определение Интеграл f x dx называется сходящимся, если существует
a
b
конечный предел
f x dx
f x dx ,если предел не существует, то интеграл
lim
b
a
a
называется расходящимся.
Поэтому, прежде чем вычислять несобственный интеграл, необходимо
убедиться, что он сходится.
Пусть необходимо вычислить сходящийся несобственный интеграл
f x dx с заданной точностью
I
. Представим интеграл в виде
a
b
f x dx
a
f x dx
a
f x dx
b
В силу сходимости интеграла число b можно выбрать столь угодно большим
числом, чтобы имело место неравенство
f x dx
2
b
.
Первый интеграл - собственный, вычисляем его по одной из квадратурных
формул, а второй f x dx , тогда f x dx S , где S - приближенное значение
b
интеграла с точностью до
2
a
2
. Для интегралов с бесконечными пределами есть
несколько приемов вычисления:
Пример
Интеграл
f x dx
a
замена
x
a
1 t
превращает
пределы
интегрирования в отрезок [0,1] . Если после преобразования подынтегральная
функция остается ограниченной, то можно находить интеграл стандартными
численными методами.
1. В некоторых случаях несобственный интеграл может быть преобразован
в собственный интеграл с помощью замены переменной или
интегрирования по частям.
2. обрезание верхнего предела.
3. использование формул Гаусса-Кристоффеля.
96
4. построение нелинейных
бесконечном интервале.
квадратурных
формул,
применимых
на
Метод Л.В.Канторовича выделения особенностей
Для приближенного вычисления интеграла от разрывной функции
применяют метод Л.В.Канторовича выделения особенностей.
Идея метода в том, что из подыинтегральной функции f x выделяют
некоторую функцию g x , имеющую те же особенности, что и функция f x , а
также g x - элементарно интегрируема на [a, b] и чтобы разность f x g x была достаточно гладкой, тогда
b
b
f x dx
a
b
g x dx
a
g x dx ,
f x
a
где первый интеграл берется непосредственно, а второй вычисляется с
помощью стандартных квадратурных формул.
0,5
dx
0
x1 x
J
Пример Вычислить приближенно интеграл
Решение
Особой является точка x 0 . Разлагая 1 x
4
члене, содержащем x , и положим
g x
x
x
x
12
12
1
1
3 2 5 3 35 4
x
x
x
x
2
8
16
128
1 x
12
1

12
.
по степеням x , остановимся на
,
35 4
x
128
63 9 2
x
256

Тогда
0,5
J
0,5
g x dx
0
x dx
0
J1 J 2
.
J1 1,5691585.
легко вычислить:
Интеграл J 2 можно вычислить по формуле
Симпсона. При n 10 имеем J2 0,00116385 . Окончательно получаем J 1,5707967 .
Истинное же значение интеграла J равно 2 1,5707963.
Метод Канторовича применим также к несобственным интегралам,
подинтегральная функция которых имеет несколько точек разрыва.
В этом случае для вычисления интеграла достаточно разбить промежуток
интегрирования на части, содержащие лишь одну особую точку
подынтегральной функции, и воспользоваться свойством аддитивности
интеграла.
В некоторых случаях при вычислении несобственных интегралов можно
использовать квадратурные формулы с весом (например, квадратурные
формулы типа Гаусса). Для этого подынтегральную функцию f x
J1
97
x , причем
x имеет
представляют в виде произведения f x p x
достаточное число производных, а p x рассматривают как весовую функцию.
Задачи для самостоятельного решения
Вычислить интегралы с заданной точностью :
1
1
dx
dx
1.
,
2.
,
10 6 ;
3
x
1
x
4
0 x 1 x
0
2
dx
3.
x e
2
dx
5.
,
x 2
0
5
10 ;
3
,
x x2 1
2
xe x
7.
dx ,
2
sin
x
1
1
4.
0
10 6 ;
x 2 dx
1 x2
6.
1
9.
dx
,
1 x
3
4
10 ;
10 3 ;
,
10 4 ;
10 6 ;
arctgx
dx ,
3
1
x
1
1
8. ln xdx ,
10 6 ;
10 4 ;
0
10.
dx
,
4
1
x
0
10 3 ;
Контрольные вопросы
1.
2.
3.
4.
Определение несобственного интеграла.
Сформулируйте условие сходимости несобственного интеграла.
Идея метода Л.В.Канторовича выделения особенностей.
Для вычисления каких интеграла применяют метод Л.В.Канторовича.
98
Лекция 11
Решение нелинейных уравнений
Огромное количество задач вычислительной математики связано с решением
нелинейных алгебраических уравнений, а также систем таких уравнений. При
этом необходимость решения нелинейных уравнений возникает зачастую на
промежуточных шагах, при реализации фрагментов более сложных алгоритмов.
При решении некоторых нелинейных уравнений невозможно найти корни с
помощью традиционных методов. Например, даже такое, внешне несложное
уравнение, как x cos x 1 0 , невозможно решить привычными способами.
Абель Нильс Хенрик (1802—1829), норвежский математик - доказал, что
алгебраические уравнения степени выше 4-й в общем случае неразрешимы в
радикалах. Поэтому во многих случаях приходится прибегать к численным
методам решения уравнений, которые позволяют найти действительные корни
уравнения f (x) 0 с любой заранее заданной точностью. Решением нелинейного
уравнения будет являться такая точка x* , при подстановке которой в уравнение
будет выполняться с определенной степенью точности f ( x* )
, где - малая
величина. Решение нелинейных уравнений распадается на два этапа:
отделение корней уравнений
уточнение корней нелинейных уравнений.
На первом этапе необходимо исследовать уравнение и выяснить, имеются
корни или нет. Если корни имеются, то определить их количество, и затем
определить интервалы, в каждом из которых находится единственный корень.
На втором этапе уточняется корень с заданной точностью.
 Определение Нелинейное уравнение - уравнения вида
f x 0,
где f x - нелинейная функция.
 Определение Число с называют корнем или решением уравнения, если
оно, будучи подставленным в это уравнение, обращает его в верное числовое
равенство, то есть
f (c) 0 .
Также число c называют нулѐм функции y f (x).
Отделение корней
Процесс нахождения действительных корней с определѐнной точностью
можно разделить на два этапа:
1) отделение корней, то есть установление числовых промежутков, в
каждом из которых содержится один корень уравнения;
2) вычисление корня, принадлежащего данному промежутку, с заданной
точностью.
99
 Определение Уравнение f x 0 имеет только изолированные корни, если
для каждого корня существует окрестность, не содержащая других корней
этого уравнения.
Будем искать только изолированные корни.
Известно, что если функция f (x) непрерывна и принимает на концах отрезка
a; b значения разных знаков, то внутри этого промежутка существует хотя бы
один нуль функции.
Условие, согласно которому функция принимает на концах отрезка значения
разных знаков, можно сформулировать в виде:
f (a) f (b)
0.
Отделение корней уравнения f (x) 0 для непрерывной в области
определения функции можно осуществить различными способами.
1) Составляют таблицу значений функции y f (x) на определѐнном
промежутке изменения переменной x , и если окажется, что для соседних
значений аргумента значения функции имеют разные знаки, то нуль функции (и
корень уравнения) находится между ними.
2) Уравнение f (x) 0 заменяют равносильным ему
( x)
( x) .
(x) ; искомые корни являются
Строят графики функций y (x) и y
абсциссами точек пересечения этих графиков.
3) Строят график функции y f (x) на промежутке изменения х; тогда
абсциссы точек пересечения графика с осью ОХ – нули функции (и корни
данного уравнения).
Перечисленные способы не только позволяют отделить корни, но и
определить их количество. Рассмотрим подробнее решение уравнений.
Метод отделения корней хорошо работает только в том случае, если
исходное уравнение не имеет близких корней. Данный метод дает тем точнее
результат, чем мельче берется сетка по оси Ох.
Графический метод
Первый способ отделения корней – графический.
Исходя из уравнения f x 0 , можно построить график функции y f x .
Тогда точка пересечения графика с осью абсцисс является приближенным
значением корня.
Если
имеет сложный вид, то
f x
представим ее в виде разности двух функций
f x
1 x
2 x .
Так как f x 0 , то выполняется равенство
1 x
2 x .
Построим два графика y1 1 x , y2 2 x .
100
Значение
- приближенное значение корня , являющееся абсциссой точки
пересечения двух графиков.
Пример Решить уравнение x e
x
0.
Решение
Представим уравнение в виде
0 , где 1 x x ; 2 x e x .
1 x
2 x
Графики функций y x ; y e x представлены
на рисунке, из которого видно, что исходное
уравнение имеет единственный корень.
Пример Решить уравнение e x x 0 или
x e x.
Решение
x и
Построив два графика функций y
y e x , видим, что исходное уравнение не
имеет корней.
Пример Выяснить, сколько корней имеет уравнение 4 e x 2x 2 0 , и
найти промежутки, в которых эти корни находятся.
Решение
Рассмотрим три функции:
f ( x)
4 ex
2x 2 , ( x)
4 2x 2 , ( x)
ex.
Уравнение 4 e x 2x 2 0 эквивалентно уравнению 4 2 x 2 e x . Отделим его
корни первым из перечисленных способов.
Из таблицы значений функции f (x) на промежутке 3; 1 с шагом изменения
x , равным 1, видно, что существуют корни уравнения на отрезках
2; 1 и
0; 1 , так как значения функции имеют на концах этих отрезков разные знаки.
-3
-2
-1
0
1
x
f(x)
-4,14
1,63
3,00
-0,72
14,05
-4,00
2,00
4,00
2,00
(x)
14,00
0,05
0,14
0,37
1,00
2,72
(x)
Заметим, что аналогичный результат получится, если построить графики
указанных функций (необходимые данные содержатся в таблице).
101
Метод дихотомии
Метод дихотомии (метод половинного деления) состоит в последовательном
делении начального отрезка a , b пополам и выборе на каждом шаге деления
подотрезка, содержащего корень.
Пусть дано уравнение f x 0 , причѐм функция f (x) непрерывна на отрезке
f (a) f (b) 0. Для вычисления корня уравнения, принадлежащего
a; b и
x1
a b
.
2
указанному промежутку, найдѐм середину этого отрезка:
. Если
f ( x1 ) 0 , то для продолжения вычисления выберем ту из частей данного
отрезка a; x1 или x1 ; b , на концах которой функция f (x) имеет
противоположные знаки. Концы нового отрезка обозначим a1 ; b1 . . Новый
суженный промежуток снова делим пополам и проводим вычисления по
указанной схеме и так далее.
В результате получаем либо точный корень на одном из этапов, либо
последовательность вложенных отрезков a; b , a1 ; b1 , ..., an; bn , ..., таких, что
Число с – общий предел последовательностей an и bn - является корнем
уравнения. Оценку погрешности решения на п-м шаге вычислений можно
получить из соотношения в виде:
Здесь an
1
(b a ).
c с точностью , не превышающей 2 n
.
Пример Методом половинного деления найти корень уравнения
4 e 2 x 2 0 с точностью =0,01.
x
Решение
В предыдущем примере было при отделении корней уравнения установлено,
что один из искомых корней принадлежит отрезку 0; 1 . На каждом шаге
xn
an
bn
2
вычислений значение корня принимаем равным
с погрешностью
d n an bn . Будем производить вычисления и выбирать последовательность
вложенных отрезков a n ; bn .
a; b
Имеем
Так как
a1
x1
0; 1 , x1
f ( a)
0,5, b1
a b
2
0,5.
.
3, f ( x1 ) 1,8513, f (b)
b
1; d 1
b1
a1
0,72 и
0,5.
f ( x1 ) f (b)
0 , то принимаем:
102
a1 ; b1
0,5; 1 , x 2
a 2 ; b2
0,75; 1 , x3
a1
b1
0,75.
2
Тогда
Здесь f (a1 ) 1,8513, f ( x2 ) 0,758, f (b1 ) 0,72, f ( x2 ) f (b1 ) 0.
Следовательно, a2 x2 0,75, b2 b1 1; d 2 b2 a2 0,25.
a2
b2
0,875; d 3
0,125.
2
Тогда
.
Производя вычисления далее (рекомендуется воспользоваться специальной
компьютерной программой), можно убедиться, что требуемая точность
0,01.
достигается на 7-м шаге: x7 0,8828125с погрешностью d 7 0,00785
 Замечание Метод половинного деления практически удобно применять
для грубого нахождения корня данного уравнения, т.к. при увеличении
точности существенно возрастает объем вычислительной работы.
Задачи для самостоятельного решения
Методом половинного деления найти корни уравнений (предварительно
отделив их):
x 3 4 x 2 0; с точностью до 0,001;
x 3 2 x 5 0; с точностью до 0,01.
x4
x4
x5
ex
5x 7 0;
2x 2 6x 2
x 2 0;
x 2 0.
0;
Решение нелинейных уравнений в пакете Mathcad
Символьное решение уравнения
Аналитическое решение алгебраического уравнения можно получить при
помощи меню. Данный способ удобно применять, когда уравнение записано в
форме математического выражения, и требуется вычислить аналитически
значение одной переменной, при котором выражение обращается в ноль. Для
этого:
1. Введите выражение.
2. Выделите переменную, относительно которой будет решаться уравнение,
приравнивающее выражение нулю.
3. Выберите в меню Symbolics (Символика) пункт Variable/Solve
(Переменная/ Решить).
В итоге появится строка с результатом решения уравнения (т. е. значениями
переменной, которые обращают исходное выражение в ноль).
 Замечание Следует иметь в виду, что решение уравнения производится
именно по той переменной, которую пользователь выделяет перед вводом
команды меню.
103
Другой способ решения нелинейного уравнения поясним на примере
решения одного (кубического) уравнения с одним неизвестным.
Первая строка представляет собой обязательное ключевое слово Given,
следующая строка является, собственно, записью уравнения, а в последней
строке листинга включается в работу встроенная функция Find.
Обратите внимание, что после имени функции Find находится оператор
символьного вывода, справа от которого возникает аналитический результат
решения уравнения.
Существенно, что он является точным решением (записанным в данном
случае в трансцендентном виде), а получить числовые значения корней можно,
поставив после него символ численного равенства.
Уравнение имеет три различных корня, которые представляются справа от
функции соответствующим трехкомпонентным вектором.
104
Листинг решение того же самого уравнения, если оно представлено в
несколько другой форме, подчеркивающей специфику задачи нахождения
корней функции.
Если решить уравнение аналитически не удается, то результатом
применения оператора символьного вывода после функции Find сообщение об
ошибке "No symbolic result was found" (Ни один символьный результат не
найден).
Численное решение уравнений
Как правило, отыскание корней алгебраического уравнения (или системы
уравнений) численными методами связано с двумя задачами:
локализация корней, т. е. определение их существования в принципе, а
также исследование их количества и примерного расположения;
отыскание корней с заданной погрешностью (в Mathcad системная
константа TOL).
Последнее означает, что надо найти значения х0, при которых f(х0)
отличается от нуля не более чем на TOL.
Встроенные функции системы Mathcad, предназначенные для решения
нелинейных алгебраических уравнений (в том числе функция Find
применительно к численному процессору) предполагают, что корни уже
приблизительно локализованы.
Если функция f (х) является полиномом, то все его корни можно определить,
используя встроенную функцию polyroots(v) ,где v — вектор, составленный из
коэффициентов полинома.
В основе встроенной функции polyroots лежат специфические численные
алгоритмы, а результатом ее действия является вектор, составленный из N
корней рассматриваемого полинома.
Пример Решить уравнение
f (х) = (х-3)-(х-1)3=х4-6х3+12х2-10х+3
Решение
105
Поиск корней полинома четвертой степени иллюстрируется листингом.
Коэффициенты рассматриваемого в примере полинома записаны в виде вектора
в первой строке листинга.
Первым в векторе должен идти свободный член полинома, вторым —
коэффициент при х1 и т. д. Соответственно, последним N+1элементом вектора
должен быть коэффициент при старшей степени xN.
Иногда исходный полином имеется не в развернутом виде, а, например, как
произведение нескольких полиномов. В этом случае определить все его
коэффициенты можно, выделив его и выбрав в меню Symbolics (Символика)
пункт Expand (Разложить).
В результате символьный процессор Mathcad сам преобразует полином в
нужную форму; надо будет только корректно ввести ее в аргументы функции
polyroots.
Метод простых итераций
Методы отделения корней весьма удобны и просты. Однако они дают ответ
только на вопрос локализации корня, и позволяю найти грубое приближение
этого корня. Если же требуется найти более точное значение корня, то следует
воспользоваться итерационными методами.
Пусть известно, что нелинейное уравнение f x 0 имеет на отрезке a, b
единственный вещественный корень
[a, b] .
Требуется найти этот корень с заданной точностью. Применяя
тождественные преобразования, приведем уравнение к виду
x
x
Выберем произвольно приближенное значение корня x0 a, b и вычислим
x1 x2 .
x0 x1 . Найденное значение x1 подставим и вычислим
Продолжая
процесс
вычислений
дальше,
получим
числовую
последовательность
Если
существует
предел
этой
x0 , x1 , x2 ,... .
последовательности, то он и является корнем уравнения.
Корень можно вычислить с заданной точностью по итерационной формуле
xn 1
xn , n 0,1,2,...
106
Построим два графика: y x и y
x . Абсцисса точки пересечения
графиков – корень . Построим итерационный процесс. Зададим x0 [a, b] .
Вычислим x1
– первое приближение и x2
x0
x1 – второе
приближение. В первом случае процесс сходящийся ( x 1). Во втором
случае процесс расходящийся ( x 1 ).
Выполнение условия сходимости можно добиться путем перехода от
исходного уравнения f (x) 0 к эквивалентному виду x
x следующим
образом: умножим обе части уравнения (1) на c const 0 , затем прибавим к
обеим частям по x , тогда x cf x x .
Обозначим
x x . Константа c выбирается так,
x x cf x , тогда
чтобы выполнялось достаточное условие сходимости итерационного процесса
x 1 cf x 1, x a, b .
Это условие равносильно
1 1 cf x 1,
отсюда
2
f x
c 0 при f x
0, x
a, b и 0 c
2 при
f x
f x
0, x
a, b .
Требуемую точность вычислений можно обеспечить путем использования
оценок приближения xn к корню :
qn
q
xn
x1 x0 ; 2)
xn
xn xn 1
1 q
1 q
1
При q
второе неравенство примет вид
xn xn xn 1 . Таким
2
образом, если xn xn 1
, то
.
xn
Очевидно, что чем меньше q , тем быстрее сходится процесс итераций.
Практически грубую оценку приближенного решения можно получить без
дополнительных вычислений при ' ( x ) 0 .
В этом случае итерации попеременно оказываются
то с одной, то с другой стороны корня, так что корень
заключен в интервале ( xn , xn 1 ) .
Это надежная, хотя и грубая оценка, но она
неприменима при ' ( x ) 0 , когда итерации сходятся к
корню монотонно, т.е. с одной стороны.
107
Вблизи корня итерации сходятся примерно так же, как геометрическая
прогрессия со знаменателем q xn xn 1 .
xn
1
xn
2
Чтобы сумма дальнейших членов прогрессии не превосходила
выполняться критерий сходимости
x
xn
q n
1 q
1
( xn xn 1 ) 2
2 xn 1 xn xn
, должен
.
2
При выполнении этого условия процесс итераций можно прекращать.
Метод простых итераций и почти все другие итерационные методы имеют
два достоинства:
- являются универсальными и самоисправляющимися, то есть любая
неточность на каком – либо шаге итераций не отразится на конечном
результате, а лишь на количестве итераций.
Подобные ошибки устойчивы даже по отношению к грубым ошибкам (сбоям
ЭВМ), если только ошибка не выбрасывает очередное приближение за пределы
области сходимости.
- позволяют достигнуть любой заданной точности при любом начальном
приближении x0 a, b .
Недостатки методов:
- если начальное приближение x0 далеко от корня, то число итераций
достаточно большое. Объем вычислений возрастает.
Процесс итераций заканчивается при выполнении двух критериев:
Когда два последних приближения отличается между собой по модулю на
заданную величину :
.
xn 1 xn
Этого критерия недостаточно, так как в случае крутизны графика, данное
условие будет выполнено, но x n 1 может находиться далеко от корня.
Мера удовлетворения уравнению последнего приближения корня:
.
f xn 1
Отдельно второго критерия недостаточно, так как при пологой функции f (x)
условие может быть выполнено, но xn 1 может быть далеко от корня.
Пример Методом итераций найти корни уравнения e x
x 0.
Решение
Для нахождения интервала расположения корней воспользуемся
графическим методом.
Для этого преобразуем исходное уравнение к виду e x
x и построим два
x
x . Абсцисса точки пересечения этих графиков является
графика y e и y
приближенным значением корня .
108
Более точные значения можно получить по итерационной формуле. Из
рисунка видно, что корень находится на отрезке [a,0].
Выберем a 1 ; f ( 1) e 1 1 0 , f (0) e 0 0 . На концах отрезка функция
f (x) меняет знак f (x) 0 на [ 1;0] .
Запишем исходное уравнение в эквивалентном виде:
x x c (e x x )
( x) ,
где 2
c 0 x [ 1;0] .
f ( x)
Выберем c
0.1. Для получения корня процесс итераций
xn
1
xn
0,1 e xn
xn
сходится,
так как
x
0.9xn
0.1e xn
1 x [ 1,0] .
Таким образом, рабочая формула метода простых итераций будет иметь вид:
xn
1
0,1 e xn
0,9 x n
 Замечание Метод итераций достаточно прост, обобщается на системы
уравнений, устойчив к погрешности округления (она не накапливается).
 Замечание При разработке алгоритма решения нелинейного уравнения
методом простых итераций следует предусмотреть защиту итерационного
процесса от зацикливания: использовать в качестве дополнительного условия
завершения итерационного процесса превышение заданного максимального
числа итераций.
3
Пример Решить уравнение f (x ) 0 , где f (x) x x 1000 . Решение
Поскольку f (9) 0 , а f (10) 0 , то искомый корень лежит на отрезке [9;10] .
На этом отрезке 244 f (x) 301 ,
сходящийся итерационный процесс:
xn
1
xn
следовательно,
можно
построить
f ( xn ) / 301 .
Результаты расчетов в соответствии с данной формулой показаны на
рисунке. Видно, что процесс приближений сходится очень быстро: уже на
6
четвертом шаге погрешность становится меньше 10 .
109
Метод касательных (Ньютона)
Существуют различные математические интерпретации метода итераций.
Одной из наиболее эффективных и, в то же время, простых разновидностей
этого метода является метод касательных (метод Ньютона). Этот метод
является еще одним классическим методом решения нелинейного уравнения.
Иначе его называют методом линеаризации. Сформулируем условия, в которых
он применим, а также запишем соответствующую итерационную формулу.
Пусть снова дано уравнение f (x) 0 , и известно, что существует его корень
c a; b , причѐм на отрезке a; b первая производная функции y f (x) не
меняет знака. Предположим ещѐ, что и вторая производная не меняет знака на
указанном отрезке (при необходимости этого можно добиться, уменьшая длину
интервала, содержащего корень).
Последнее условие, очевидно, означает, что кривая y f (x) либо выпукла,
либо вогнута на всѐм данном интервале. Тогда для решения уравнения f (x) 0
используется следующая итерационная формула:
xk
1
xk
f ( xk )
.
f ( xk )
В качестве начальной точки итераций следует брать тот из концов отрезка
a; b , в котором совпадают знаки функции и второй производной.
Заметим, что если отрезок a; b содержит внутри себя точку перегиба, то
данный метод может дать значение корня, не принадлежащую отрезку.
Однако, как было сказано выше, можно решить эту проблему, сузив отрезок,
содержащий корень.
Данный метод уже при первой итерации может дать достаточно точное
значение корня и поэтому весьма эффективен.
Пример Один из корней уравнения x 3 6 x 2 0 заключѐн в отрезке 0; 1 .
Найти приближѐнное значение этого корня методом касательных с помощью
двух итераций и оценить погрешность вычисления.
Решение
Здесь f ( x) x3 6x 2; f ( x) 3x 2 6; f ( x) 6x .
Заметим, что на отрезке 0; 1 сохраняют знак и первая и вторая производные:
f ( x) 0; f ( x) 0 .
Таким образом, выполняются условия применения метода касательных. В
качестве x0 можно взять, например, x 0 , так как f (0) 2 0 и f (0) 0 0 . Тогда
имеем x1 0
f (0)
f (0)
1
3
0,3333.
Оценим погрешность вычисления.
Найдѐм значения необходимых параметров:
110
m
min f ( x )
M
max (3 x 2
min (3 x 2
0;1
0;1
6)
0;1
q
m
M
1
1
3
6
1
3
.
6;
6)
3;
.
1
2
Тогда
c
x1
x1
x0
Вторая итерация:
x2
1
3
1
f( )
3
1
f ( )
3
1
3
1
27
16
3
1 1
147 29 .
3 144 432 144
Оценим погрешность вычисления:
с
x2
x2
x1
1
144
0,007
.
Таким образом, мы уже на второй итерации получили приближѐнное
значение корня такой же точности, как в примере из предыдущей лекции лишь
на седьмом шаге.
 Замечание Достоинством всех итерационных методов является то, что
ошибка вычислений не накапливается.
 Замечание Метод Ньютона можно рассматривать как частный случай
метода простой итерации.
111
Задачи для самостоятельного решения
1. Методом итераций решить уравнения:
x ln x 0; x e x 0; с точностью до 0,001.
2. Методом касательных решить уравнения:
x 4 3x 20 0; x3 3x 5 0; x 2 ln x 0; с точностью до 0,01
Контрольные вопросы
1. В чем заключается отделение корней нелинейного уравнения?
2. Что называется порядком сходимости итерационного метода решения
одного нелинейного уравнения?
3. Что называется погрешностью приближенного значения для корня
нелинейного уравнения?
4. При каких условиях сходится метод половинного деления для
нахождения корня уравнения ?
5. Перечислите достоинства и недостатки метода половинного деления
для решения нелинейного уравнения.
6. В чем заключается метод простой итерации для решения нелинейного
уравнения?
7. Сформулируйте достаточное условие сходимости метода простой
итерации.
8. Какой порядок сходимости имеет метод простой итерации?
9. Метод Ньютона для решения нелинейного уравнения. Его
геометрическая интерпретация. Достаточное условие сходимости.
10.. Каков порядок сходимости метода Ньютона?
11.Приведите какое-либо достаточное условие сходимости метода
простой итерации для решения системы нелинейных уравнений.
12.В чем заключается метод Ньютона решения системы нелинейных
уравнений?
112
Лекция 12
Решение систем линейных уравнений
Проблема численного решения линейных уравнений интересует
математиков уже несколько столетий. Первые математические результаты
появились в XVIII веке. В 1750 году Г. Крамер (1704-1752) опубликовал свои
труды по детерминантам квадратных матриц и предложил алгоритм
нахождения обратной матрицы, известный как правило Крамера.
Крамер (Cramer) Габриель (1704—1752), швейцарский математик, известны
труды по теории алгебраических уравнений (правило Крамера.) и геометрии.
Гаусс в 1809 году опубликовал работу, посвященную движению небесных
тел, в которой был изложен метод для решения линейных систем, известный
как метод исключения.
Гаусс (Gauss) Kaрл Фридрих (1777—1855), немецкий математик. Труды
Гаусса оказали влияние на развитие алгебры (доказательство основной.
теоремы алгебры), теории чисел (квадратичные вычеты), геодезии (разработка
метода наименьших квадратов. Ввѐл абсолютную. систему единиц.
Методы решения систем линейных алгебраических уравнений условно
можно разделить на точные и итерационные.
 Определение Прямые (точные)методы решения систем линейных
уравнений
методы, дающие решение системы за конечное число
арифметических операций.
 Определение Итерационные методы решения систем линейных
уравнений - методы, дающие решение системы уравнений как предел
последовательности приближений, вычисляемых по единообразной схеме.
Итерационные
методы
дают
бесконечную
последовательность
приближенных решений, предел которой (если он существует) является
решением системы.
Точные методы применяют для решения линейных систем относительно
невысокого порядка. Для решения систем большой размерности, для системы
специального вида, со слабо заполненной матрицей очень большого вида
порядка 103 105 используют итерационные методы.
Точные методы просты и универсальны, однако вследствие неизбежных
округлений результаты являются приближенными, причем оценка погрешности
корней в общем случае затруднительна.
Окончательное решение о применении итерационных или прямых методов
решения СЛАУ необходимо принимать на основе анализа структуры
исследуемой математической задачи.
Прямые методы решения СЛАУ более выгодно использовать, если
необходимо решать много одинаковых систем с различными правыми частями,
или если матрица A не является положительно-определенной.
Кроме того, существуют задачи с такой структурой матрицы, для которой
прямые методы всегда предпочтительнее, чем итерационные.
Будут рассмотрены следующие точные методы решения систем линейных
алгебраических уравнений: метод исключения Гаусса, метод главных
113
элементов, метод квадратного корня, схема Халецкого. Из итерационных
методов – метод простой итерации, метод Зейделя. Выбор конкретного метода
решения определяется спецификой рассматриваемой задачи.
Вместо слов ―система линейных алгебраических уравнений‖ будем также
употреблять аббревиатуру СЛАУ.
Пусть дана система линейных алгебраических уравнений (СЛАУ) вида
a11x1
...
a1n x n
b1
a 21x1
...
a2n xn
b2
a n1 x1

... a nn x n
bn
Ax f
или в матричной форме
 Определение Система называется обусловленной (не вырожденной, не
особенной), если определитель системы
0, и тогда система имеет
единственное решение.
 Определение Система называется не обусловленной (вырожденной,
особенной), если
= 0, и тогда система не имеет решений или имеет
бесконечное множество решений.
На практике коэффициенты системы aij и свободные члены bi часто
задаются приближенно, с некоторой неустранимой погрешностью. Поэтому,
кроме существования и единственности решения СЛАУ, важно еще знать, как
влияет такая погрешность на получаемое решение.
 Определение Система называется плохо обусловленной, если
неустранимая погрешность оказывает сильное влияние на решение; у таких
систем определитель близок, но не равен 0.
Пример
Дана
система
x1 0 x 2 1
x1 0.001 x 2 1
.
Будет
ли
система
плохо
обусловленной?
Решение
ΔA
detA
1
0
*
0.001 0 .Решение x1
1 0,001
1 ; x *2
0.
Пусть b2 имеет неустранимую погрешность 1 %.
Если b2 = 1,01, то x1* 1; x *2 10.
Если b2 = 0,99, то x1* 1; x *2 10.
Решение изменяется очень сильно, следовательно, система плохо
обусловлена, о чем говорит значение еѐ определителя.
Для решения СЛАУ широко применяются прямые и итерационные
методы. Область применения некоторых из них показана в таблице.
114
Таблица
Название
метода
Тип
Формулы
Крамера
Прямые
Исключен
ия Гаусса
Простых
Итерационн итераций
ые
ГауссаЗейделя
Число
Область
арифметически
применени
х
действий
я
(при n = 20)
20
2
~ n! n ( 9,7 10 )
n<5
2 3
n
~ 3
n<200
n2
(5733)
~ n² на каждой
до 105
итерации (400n)
Современная
супер-ЭВМ имеет
производительност
ь 30 терафлоп –
30·1012 операций с
вещественными
числами в секунду.
Такой машине для
решения СЛАУ для
n=20 по формуле
Крамера требуется:
t
9,7 1020
30 1012 365 24 60
года.
На решение СЛАУ прямым методом сильное влияние оказывает
погрешность округления, т.к. требуется огромное количество арифметических
действий.
На решение СЛАУ итерационным методом погрешность округления
практически не влияет, но не всегда удается обеспечить сходимость
итерационного процесса. В вычислительной практике процесс итерации
обычно продолжается до тех пор, пока два последовательных приближения не
совпадут в пределах заданной точности.
Метод Гаусса с выбором главного элемента
Метод последовательного исключения неизвестных Гаусса является одним
из наиболее универсальных и эффективных методов решения линейных систем.
Этот метод известен в различных вариантах уже более 2000 лет.
Метод Гаусса применим для решения систем с произвольной
(невырожденной) матрицей, относится к числу прямых методов.
Процесс решения по методу Гаусса состоит из двух этапов, называемых
прямым и обратным ходом.
На первом этапе система приводится к треугольному виду; на втором
(обратный ход) идет последовательное определение неизвестных из указанной
треугольной системы.
Для реализации метода Гаусса требуется примерно (2/3)n3 арифметических
операций, причем основное число этих действий совершается на этапе прямого
хода [1].
Может оказаться, что система
Ax
f
имеет единственное решение, хотя какой-либо из угловых миноров матрицы
A равен нулю. В этом случае обычный метод Гаусса оказывается
115
непригодным, но может быть применен метод Гаусса с выбором главного
элемента.
Основная идея метода состоит в том, чтобы на очередном шаге
исключать не следующее по номеру неизвестное, а то неизвестное,
коэффициент при котором является наибольшим по модулю.
Таким образом, в качестве ведущего элемента здесь выбирается
главный, т.е. наибольший по модулю элемент. Тем самым, если A 0 , то в
процессе вычислений не будет происходить деление на нуль.
Вначале исключим неизвестную x1 из всех уравнений приведенной системы
за исключением первого уравнения.
a11 x1 a12 x2  a1n xn
b1 ,
a21 x1 a22 x2  a2 n xn
b2 ,
a31 x1 a32 x2  a3n xn
b3 ,

an1 x1 an 2 x2  ann xn
bn ,
Для этого, умножив первое уравнение на a21 a11 , вычтем его из второго – тем
самым сократим слагаемое a21 x1 во втором уравнении. Предполагаем при этом,
что коэффициент a11 не равен нулю. Если же оказалось, что a11 0 , то
необходимо предварительно поменять местами уравнения так, чтобы
коэффициент при неизвестной x1 в первом уравнении был отличен от нуля. В
результате вычитания, очевидно, изменятся также все остальные
коэффициенты второго уравнения.
Например, коэффициент при неизвестной
примет значение
x2
a22 a22 a12 a21 a11 ; свободный коэффициент станет равным b2 b2 b1 a21 a11 и т.д.
Затем, умножив первое уравнение на a31 a11 , вычтем его из третьего – тем
самым сократим слагаемое a31 x1 в третьем уравнении. При этом, очевидно,
изменятся все коэффициенты третьего уравнения.
Аналогично исключим слагаемые, содержащие x1 , из остальных уравнений
системы. Если обратиться к виду матрицы системы, то проведенные операции
означают обнуление всех элементов первого столбца матрицы за исключением
элемента первой строки. Элемент главной диагонали матрицы a11 ,
используемый во всех операциях обнуления, назовем главным или ведущим
элементом. Еще раз отметим, что главный элемент не может быть равным
нулю.
После исключения x1 аналогичным образом последовательно исключим x2
из всех уравнений, начиная с третьего. При этом в качестве ведущего элемента
будем использовать элемент a22 , находящийся во второй строке на главной
диагонали матрицы. Исключение x2 означает обнуление всех элементов
второго столбца матрицы.
Продолжая процесс исключения неизвестных, обнулим элементы всех
столбцов, расположенные ниже главной диагонали. В итоге приведем
расширенную матрицу системы к следующему виду:
116
A|b
a1,1
a1,2 
a1,n
1
a1,n
b1
0
a2,2 
a2,n
1
a2, n
b2





0
0
 an
1, n 1
0
0

0

an
1, n
an ,n
bn
.
1
bn
Все элементы новой матрицы отличны от элементов исходной матрицы.
В частном случае, если уравнения системы не менялись местами, элементы
первой строки сохраняют исходные значения.
Обозначим преобразованную матрицу A буквой U. Матрица U является
верхней треугольной. Это означает, что уравнения системы выглядят
следующим образом:
последнее уравнение
an, n xn bn ;
предпоследнее –
an 1, n 1 xn 1 an, n xn bn , и т.д.
Приведение матрицы A к треугольному виду представляет собой содержание
первого этапа решения или прямого хода метода Гаусса.
Второй этап решения или обратный ход метода Гаусса состоит в
последовательном вычислении значений неизвестных. Из последнего
уравнения находим: xn bn an, n ; из предпоследнего – xn 1 bn 1 an, n xn an 1, n 1 , и
т.д. Вообще,
xn
bn an, n ,
xk
bk
ak
1, k 1
xk
1
ak , k , k
n 1, n 2,, 1.
Формулы описывают последовательность вычислений на втором этапе
решения СЛАУ в соответствии с методом Гаусса.
Пример Методом Гаусса найти решение системы уравнений:
2 x1
x2
x3
2 x1 3 x2
9,
x3 11,
3 x1 2 x2 3 x3 17.
Решение
Для упрощения записи оперируем только с расширенной матрицей системы:
2 1 1
9
2 3 1 11
3 2 3 17
.
Вычтем первую строку матрицы из второй. Затем, умножив первую строку
на 3 2 , вычтем ее из третьей строки. В результате этих действий обнулим
второй и третий элементы первого столбца матрицы, получим:
2
1
1
9
0 2
0
2
0 12 32 7 2
.
117
Затем обнуляем элементы второго столбца. В данном случае требуется
обнулить только второй элемент третьей строки; при этом ведущим элементом
является второй элемент второй строки. Умножив вторую строку на 1 4 , вычтем
ее из третьей строки. В итоге всех действий преобразуем матрицу системы к
верхней треугольной матрице:
2 1
1
9
0 2 0 2
0 0 32 3
Далее
x3
–
2, x2
.
обратный
1, x1 3 .
ход
метода
Гаусса:
последовательно
вычисляем
Количество операций при реализации метода Гаусса
Оценим количество умножений и делений, необходимых для решения
методом Гаусса системы из n уравнений: A X B .
Для вычисления весовых коэффициентов вида ai k ,i ai ,i потребуется n 1
деление при обнулении первого столбца матрицы; n 2 деления при
обнулении второго столбца и т.д. Одно деление потребуется при обнулении
предпоследнего столбца матрицы. Всего требуется n 1 1 n 1 n n 1 делений.
2
2
Найдем требуемое количество умножений. При обнулении первого столбца
матрицы придется n 1 раз умножать первую строку на весовые
коэффициенты; всего потребуется n 1 2 умножений. При обнулении второго
столбца потребуется n 2 умножений и т.д. При обнулении предпоследнего
столбца достаточно одного умножения. Всего для приведения матрицы к
треугольному виду потребуется k умножений. Воспользовавшись известной
2
n 1
2
k 1
формулой
m
k2
k 1
1
m m 1 2m 1
6
,
получим, что требуемое количество умножений равно
n 1
k2
k 1
1
n 1 n 2n 1
6
.
Всего требуемое количество операций (умножений и делений) при приведении
матрицы А к треугольному виду равно
1
n 1 n 2n 1
6
n n 1
2
n3 n
.
3
При преобразовании матрицы А одновременно происходит преобразование
правой части системы уравнений – столбца B. При обнулении первого столбца
матрицы А потребуется n 1 умножение элементов столбца B; при обнулении
второго столбца матрицы потребуется n 2 умножений и т.д. При обнулении
предпоследнего столбца матрицы А потребуется только одно умножение. Всего
потребуется n n 1 2 умножений элементов столбца B. При выполнении
118
обратного хода метода Гаусса необходимо в общем случае произвести n
делений и n n 1 2 умножений. Всего при решении системы уравнений
методом Гаусса требуется
n3 n
3
n n 1
2
n n 1
2
n
n3
3
n2
n
3
умножений и делений. При большом числе уравнений преобладающим в
окончательном выражении является первое слагаемое, поэтому количество
операций при решении системы уравнений методом Гаусса обычно оценивают
величиной n3 3 .
Метод Гаусса с частичным выбором главного элемента
В ходе решения системы с помощью метода Гаусса элемент, стоящий на
главной диагонали в очередном обнуляемом столбце матрицы, может оказаться
равным нулю.
Поскольку ведущий элемент не может быть равным нулю, то в этом случае
необходимо поменять местами строки матрицы так, чтобы на главной
диагонали оказался ненулевой элемент. Оказывается, из соображений точности
вычислений желательно переставлять строки и в том случае, когда ведущий
элемент близок к нулю.
Пример Найти методом Гаусса найдем решение системы уравнений с
расширенной матрицей:
10
7
0
7
3 2.09 6 3.91
5
1 5
6
Решение
Нетрудно убедиться, что решением системы является вектор xT 0 1 1 .
Предположим, что имеется система с плавающей запятой с четырьмя
значащими цифрами. Найдем решение задачи в такой системе. После
обнуления первого столбца имеем:
10
0
0
7
0
7
0.01 6 6.01
2.5 5 2.5
.
Для обнуления второго столбца умножим вторую строку на 250 и прибавим ее
к третьей. Получим:
10
0
0
7
0
7
0.01
6
6.01
0
1505 1504
.
Вообще, последний элемент третьей строки равен 1502.5 2.5 , но поскольку
наша арифметическая система сохраняет только четыре значащие цифры, то эта
сумма равна 1504. Проведя обратный ход метода Гаусса, из данной матрицы
получим:
x3
0.9993, x2
100 6.01 6 x3
1.4, x1
7 7 x2 10
0.28.
119
Небольшая погрешность округления приводит к значительной
погрешности при вычислении x1 и x2 !!!
Погрешности можно избежать, если перед обнулением второго столбца
предварительно переставить вторую и третью строки матрицы. Имеем после
перестановки:
10
0
0
7
0
7
2.5 5 2.5
0.01 6 6.01
.
Теперь для обнуления второго столбца умножим вторую строку на 0.004. После
прибавления второй строки к третьей получим:
10
0
0
7
0
7
2.5
5
2.5
0 6.02 6.02
.
Выполнение обратного хода метода Гаусса дает в этом случае правильный
ответ.
 Замечание следует избегать случаев, когда ведущий элемент имеет малое
значение (и, следовательно, множитель, требуемый при компенсации, велик).
Приходим отсюда к видоизменению метода Гаусса – схеме с частичным
выбором ведущего элемента:
при обнулении k-го столбца в качестве ведущего элемента выбирается
наибольший (по абсолютной величине) элемент в неприведенной части
столбца. Для осуществления этого меняются местами строки расширенной
матрицы системы.
Различные варианты метода Гаусса с выбором главного элемента
проиллюстрируем на примере системы из двух уравнений
a11x1 a12 x2
a21x1 a22 x2
f1 ,
f 2.
Предположим, что a12  a11 . Тогда на первом шаге будем исключать
переменное x2 . Такой прием эквивалентен тому, что система переписывается
в виде
a12 x2 a11x1 f1
a22 x2 a21x1 f 2
и применяется первый шаг обычного метода Гаусса.
Указанный способ исключения называется методом Гаусса с выбором
главного элемента по строке. Он эквивалентен применению обычного метода
Гаусса к системе, в которой на каждом шаге исключения проводится
соответствующая перенумерация переменных.
Применяется также метод Гаусса с выбором главного элемента по
столбцу. Предположим, что a21  a11 . Тогда перепишем систему в виде
a21x1 a22 x2 f 2
a11x1 a12 x2 f1
и к новой системе применим на первом шаге обычный метод Гаусса.
120
Таким образом, метод Гаусса с выбором главного элемента по столбцу
эквивалентен применению обычного метода Гаусса к системе, в которой на
каждом шаге исключения проводится соответствующая перенумерация
уравнений.
Иногда применяется и метод Гаусса с выбором главного элемента по
всей матрице, когда в качестве ведущего выбирается максимальный по
модулю элемент среди всех элементов матрицы системы.
Матрицы перестановок
Обычный метод Гаусса можно записать в виде
Lm Lm 1 L1 Ax Lm Lm 1 L1 f ,
где Lk ; k 1, m - элементарные нижние треугольные матрицы. Чтобы
получить аналогичную запись метода Гаусса с выбором главного элемента,
необходимо рассмотреть матрицы перестановок.
 Определение Матрица перестановок P - квадратная матрица, у которой
в каждой строке и в каждом столбце только один элемент отличен от нуля и
равен единице.
 Определение Элементарная матрица перестановок Pkl - матрица,
полученная из единичной матрицы перестановкой k -й и l-й строк.
Например, элементарными матрицами перестановок третьего порядка
являются матрицы
P12
0
1
1
0
0
0 , P13
0
0
0
1
1
0 , P23
1
0
0
0
0
1 .
0
0
1
1
0
0
0
1
0
Можно отметить следующие свойства элементарных матриц
перестановок, вытекающие непосредственно из их определения.
Произведение двух (а, следовательно, и любого числа) элементарных матриц
перестановок является матрицей перестановок (не обязательно элементарной).
Для любой квадратной матрицы А матрица Pkl A отличается от А перестановкой
k -й и l -строки.
Для любой квадратной матрицы А матрица APkl отличается от А перестановкой
k -го и l -го столбцов.
Применение элементарных матриц перестановок для описания метода
Гаусса с выбором главного элемента по столбцу можно пояснить на следующем
примере системы третьего порядка:
x1
x2
x3
f1 ,
x3
f2 ,
3 x3
f 3.
2 x1
5x2
Система имеет вид, где
1 1 1
A
2 0 1 .
0 5 3
121
Максимальный элемент первого столбца матрицы A находится во второй
строке.
Поэтому надо поменять местами вторую и первую строки и перейти к
эквивалентной системе
2 x1
x3
f2 ,
x2
x3
f1 ,
5x2
3x 3
f 3.
x1
Систему можно записать в виде
P12 Ax
P12 f ,
т.е. она получается путем умножения на матрицу
перестановок
0 1 0
1 0 0 .
P12
0 0 1
Далее, надо применить первый шаг обычного метода исключения Гаусса.
Этот шаг эквивалентен умножению системы на элементарную нижнюю
треугольную матрицу
1
0 0
2
1
1 0 .
2
0
0 1
L1
В результате перейдем к эквивалентной системе
L1 P12 Ax
L1 P12 f ,
или в развернутом виде
x1
1
f2
x3
,
2
2
1
f2
x2
x3 f1
,
2
2
5x2 3x 3 f 3 .
Из последних двух уравнений системы надо теперь исключить переменную
x2 . Поскольку максимальным элементом первого столбца укороченной
системы
1
x3
2
5x2 3x3
x2
f2
,
2
f1
f3,
является элемент второй строки, делаем в перестановку строк и тем самым
переходим к эквивалентной системе
x1
5x2
x2
1
x3
2
3x3
f2
,
2
f3,
1
x3
2
f1
f2
,
2
которую можно записать в матричном виде как
P23 L1 P12 Ax P23 L1 P12 f .
Таким образом, элементарная матрица перестановок
122
1 0 0
P23
0 0 1 .
0 1 0
Далее применим второй шаг исключения обычного метода Гаусса. Это
эквивалентно умножению системы на элементарную нижнюю треугольную
матрицу
1
L2
0
0
0
0
1
0 .
5
1 1
5
В результате получим систему
L2 P23 L1 P12 Ax L2 P23 L1P12 f
x1
или
x2
1
f2
x3
,
2
2
3
1
x3
f3,
5
5
1
f2
x3 f1
10
2
1
f 3.
5
Заключительный шаг прямого хода метода Гаусса состоит в замене
последнего уравнения системы уравнением
x3
10( f 1
f2
2
f3
),
5
что эквивалентно умножению (13) на элементарную нижнюю треугольную
матрицу
L3
1 0
0 1
0
0
0 0
10
.
Таким образом, для рассмотренного примера процесс исключения Гаусса с
выбором главного элемента по столбцу записывается в виде
L3 L2 P23 L1 P12 Ax L3 L2 P23 L1 P12 f .
По построению матрица
U L3 L2 P23 L1 P12 A
является верхней треугольной матрицей с единичной главной диагональю.
Отличие от обычного метода Гаусса состоит в том, что в качестве
сомножителей наряду с элементарными треугольными матрицами Lk могут
присутствовать элементарные матрицы перестановок Pkl .
 Замечание Метод Гаусса устанавливает факт отсутствия решения
системы (несовместность), а также неединственность.
Метод квадратных корней
Этот метод пригоден только для линейных систем с эрмитовой
(симметричной) матрицей, т.е. матрица совпадающая с комплексно-
123
сопряженной транспонированной: A A (в действительном случае
симметричной).
Формулы расчета несколько сложней, чем в методе Гаусса, но вдвое
быстрее, так как использует информацию о симметрии матрицы. Метод
применяется в основном при численном решении интегральных уравнений
Фредгольма с симметричным ядром.
Пусть дана линейная система
A x
b
где A aij - симметрическая матрица, т.е. A a ji A .
Тогда матрицу A можно представить в виде
транспонированных между собой треугольных матриц
произведения
двух
A T T
t11 0  0
t11 t12  t1n
где
T
t 22  t 2 n
0

0 0

,
T
t nn
t12
t 22  0

t1n
t 2n  t nn
Производя перемножение матриц T и
матрицы T получим следующие уравнения:
t 2i t 2 j  tii tij
t1i t1 j
t12i
t 22i 
tii2
aij
i
T
, для определения элементов tij
j
aii
Отсюда находим последовательно:
t11
a11
tii
aii
, t1 j
i 1
a1 j
t11
2
t ki
j
1
1
i
n
k 1
i 1
aij
tij
tij
t kit kj
k 1
tii
0
i
j
i
j
Система имеет определенное единственное решение, если tii
тогда
det A det T det T
det T
2
t11t22 tnn
2
0
Коэффициенты матрицы T - действительны, если
Из соотношения следует
T y b
T x
0 , так как
tii2
0.
y
t11 y1 b1
или в открытом виде
t12 y1 t 22 y2
b2

t1n y1 t 2n y2  t nn yn
bn
124
t11 x1 t12 x2  t1n xn
y1
t 22 x2  t 2n xn
y2
t nn xn
yn

Отсюда находим
y1
b1
t11
yn
tnn
xn
i 1
bi
n
t ki y k
yi
k 1
yi
i 1
tii
xi
tik xk
k i 1
i
tii
n
Метод называется метод квадратных корней.
При практическом применении метода квадратных корней прямым ходом
вычисляются tij и yi , обратным ходом находим неизвестные xi
Пример Решить СЛАУ методом квадратных корней
x1 3 x2
2 x3
2 x5
3 x1 4 x2 5 x3
2 x1 5 x2
x2
x4 3 x5
3 x3
2 x4
2 x3 5 x4
2 x1 3 x2
0 .5
5.4
2 x5
3 x5
2 x3 3 x4
5.0
7.5
4 x5
3.3
Решение
Записываем коэффициенты aij и свободные члены bi и подсчитываем
столбец
. Применяя формулы, последовательно переходя от строки к строке,
вычисляем коэффициенты tij и новые свободные члены yi .
Например
t35
2
a35 t13 t15 t23 t25
t33
Таблица
ai1 ai 2
2
2
0,4472i
1,3416i
1,5653i
0,8944i
ai 3
ai 4
ai 5
bi
1
3
-2
0
-2
3
4
-5
1
-3
-2
-5
3
-2
2
0
1
-2
5
3
-2
-3
2
3
4
0.5
5.4
5.0
7.5
3.3
ti1
ti 2
ti 3
ti 4
ti5
yi
1
3
2.236
1i
0
2.012
0.447
3.041
5i
2i
4
0.899
0.100
6
7
-2
1.565
1.341
2.219
2i
6i
0.822
4i
0.199
1i
8
1.199
2
0.5
-1.747
-7.580
1i
0.164
2.292
3i
3i
8
-2
0.894
0.447
4i
2i
-6.09 -2.201 -6.801
78
6
1
5.09 1.201
5.800
73
7
4
0.5
5.4
1.04
14.5
7.3
А
0.5
-1.74
2.96
3.10
71i
0.98
79
81i
xi
59i
Б
В
xi
125
Находим значения неизвестных xi и контрольные величины xi
y3
x3
Например
t35 x5
t33
1.
t34 x4
7,5803i 1,5652i 0,1998 2,0125i
0,8996
6,8011 .
корня
требует
0,8944i
 Замечание
xi
Метод
квадратного
порядка
N3
3
арифметических действий, то есть при больших N , он вдвое быстрее метода
Гаусса и занимает вдвое меньше машинной памяти.
Схема Халецкого
Рассмотрим систему линейных уравнений A x b ,где A aij - квадратная
матрица порядка n . Тогда матрицу A можно представить в виде произведения
двух треугольных матриц
A
B C
где
1 c12  c1n
b11 0  0
B
b21 b22  0

bn1
bn 2
C
bnn
0 1  c2 n

0 0  1
Тогда элементы bij , cij определяются по формулам
bi1
ai1
j 1
bij
aij
bik ckj
i
j 1
k 1
c1 j
cij
a1 j
b11
i 1
1
bii
aij
bik ckj
1 i
j
k 1
Искомый вектор может быть вычислен
B y
C x
b
y
Так как матрицы B, C - треугольные, то система легко решается, а именно
y1
yi
a1, n
1
b11
1
bii
xn
yn
xi
yi
i 1
ai , n
bik y k
1
i 1
k 1
n
cik
i
n
k i 1
Этот метод называется – схема Халецкого.
126
 Замечание yi выгодно вычислять вместе с коэффициентами cij . Если
матрица A - симметрическая, т.е. aij
a ji , то
cij
b ji
bii
i
j.
Пример Решить СЛАУ методом Халецкого
3x1
x2
5 x1
x3
x2
2 x1
2 x4
3x3 4 x4
x3
x1 5 x2
6
12
x4 1
3x3 3x4
3
Так как bi1 ai1, то первый раздел из раздела I переносится в первый столбец
раздела II.Чтобы получить первую строку раздела II, делим все элементы
первой строки раздела I на элемент a11 b11 , в нашем случае на 3. Имеем c12 1 ,
3
1
, c14
3
c13
2
, c15
3
6
3
11
3
2 , c16
Переходим к заполнению второго столбца раздела II , начиная со второй
строки. Определим b j 2
1
3
1
0 2
3
b22
a22 b21 c12 1
b32
a32 b31 c12
b42
8
3
2
3
5
a42 b41 c12
5 1
1
3
16
3
Далее, определяем c2 j , заполняем вторую строку раздела II.
c23
1
a23 b21 c13
b22
c24
1
a24 b21 c14
b22
c25
1
a25 b21 c15
b22
c26
1
a26 b21 c16
b22
3
3
8
3
8
4
3
8
3
8
1
3
5
5
12
17
2
3
1
2
1
4
3
4
5 2
5
11
3
1
2
Затем переходим к третьему столбцу, вычисляя его элементы и т.д., пока не
будет заполнена вся таблица раздела II. Заполнение раздела II происходит
способом «елочки»: столбец – строка, и т.д.
В разделе III, определяем yi и xi
Ответ: x1 1, x2 1, x3 2 x4 3
Задачи для самостоятельного решения
1. Найти LU-разложение для матриц:
A
2 1
, B
8 7
1 0
.
8 1
127
2. Построить разложение A L U и выписать систему U X C для системы
уравнений:
2 3 3
A X
0 5 7
6 9 8
2
2 .
5
X
3. Предполагая, что все ведущие элементы отличны от нуля, построить
LDU-разложение матрицы A
a b
.
c d
4. Найти LDU-разложение и матрицу преобразования для матрицы
2
A
1
0
1
2
1
0
1 .
2
5. Решить систему A X
L
1
0
0
1
1
0
1 0 , U
1 1
0
0
B , если
1 0
1
0
известно, что
2
3 .
4
1 , B
1
Ответы
1. A
2. L
3. L
4. A
1 0
4 1
2 1
, B
0 3
1 0
8 1
1 0
.
0 1
1 0 0
2 3
3
2
0 1 0 , U
3 0 1
0 5
0 0
7 , C
1
2 .
1
1 0
, D
ca 1
a
0
,U
0 d bc a
1
0
0
12
0
1
0
23 1
2
0
0
0 32 0
0 0 43
1 ba
, M
0 1
1
0
.
ca 1
1
12
0
0
0
1
0
23 , M
1
1
0
0
12 1 0 .
13 23 1
Контрольные вопросы
Прямые и итерационные методы решения системных уравнений.
Какую матрицу называют диагональной?
Какую матрицу называют единичной?
Какую матрицу называют верхней или нижней треугольной?
Какую матрицу называют симметричной?
Какую матрицу называют трехдиагональной?
Опишите метод Гаусса решения систем линейных уравнений.
Представление исходной матрицы системы уравнений в
произведения двух треугольных матриц.
9. В чем суть модификации метода Гаусса.
10.Обусловленность систем линейных уравнений.
1.
2.
3.
4.
5.
6.
7.
8.
виде
128
Лекция 13
Итерационные методы решения СЛАУ
Итерационные методы находят решение системы как предел бесконечного
вычислительного процесса, позволяющего по уже найденным приближениям к
решению построить следующее, более точное приближение. Достоинство таких
методов самоисправляемость и простота реализации. Итерационный метод, для
того чтобы начать по нему вычисления требует знания начального
приближения к решению.
Условия и скорость сходимости каждого итерационного процесса
существенно зависят от свойств уравнений, т.е. от свойств матрицы системы, и
от выбора начальных приближений.
Классификация итерационных методов
Итерационные методы широко применяются при решении систем линейных
алгебраических уравнений (СЛАУ)
Ax b
где A (aij ), i, j 1, n, x ( x1 , x2 ,, xn )T , b (b1 , b2 ,, bn )T
В этих методах решение СЛАУ с невырожденной матрицей A получается как
предел итерационной последовательности {x k }0 , определяемой по формуле
Fk x0 , x1,, xk , ,
где k 0 – номер итерации, начальное приближение x0 – задано, а векторфункции Fk определяют тот или иной итерационный метод и зависят, вообще
xk
1
говоря, от матрицы A , вектора правой части b и номера итерации k .
 Определение Если Fk не зависят от номера итерации k , то итерационный
метод называется стационарным (в противном случае – нестационарным).
 Определение Если функции Fk зависят только от x k и не зависят от
остальных приближений к решению x0 , x1,, xk 1 , то метод называется
двухслойным, или одношаговым или методом первого порядка.
Наибольшее
распространение
на
практике
получили
линейные
стационарные методы первого порядка,
представимые в виде
xk 1 B xk C b ,
где B, C – квадратные матрицы, связанные с исходной матрицей A некоторым
соотношением.
К настоящему времени широкое распространение получили следующие
итерационные методы: Якоби, простой итерации, Зейделя, релаксации,
Ричардсона и др.
 Определение Будем говорить, что итерационный метод сходится, если
, где z k x k x – вектор погрешности приближенного
zk
0 при k
129
решения x k , а под нормой понимается одна из норм векторов, согласованных с
нормой матрицы A .
 Замечание Итерационные методы в отличие от прямых методов
сохраняют структуру исходной матрицы (не увеличивают число ненулевых
элементов). Эффективность итерационных методов определяется скоростью
сходимости последовательных приближений.
Метод итераций
Рассмотрим метод итераций решения систем линейных уравнений. Вообще
говоря, метод не дает возможности найти точное решение за конечное число
итераций даже при отсутствии ошибок округления. Это приближенный
численный метод, используется для большого числа неизвестных. Пусть дана
линейная система
A x
b
В методе простой итерации ее предварительно приводят к виду
x
Bx
f
где B C 1D f C 1b
C D A
Разрешим первое уравнение относительно x1 , второе – относительно x2 и
т.д. Тогда получим эквивалентную систему

x1
1
12 x2
1n xn
x2
2
21x2

2 n xn
n
n1 x2

n , n 1 xn 1

xn
где
bi ,
aii
aij
i
j aij
0
i
j
.
,
Систему можно записать в матричном виде
x
x.
Будем решать методом последовательных приближений. За нулевое
приближение принимаем столбец свободных членов x 0
.
Далее, последовательно
x1
xk
i
ij
aii
x0
1
xk
Метод последовательных приближений, определяемый данными формулами
называется метод итераций.
 Замечание Процесс итерации хорошо сходится, т.е. число приближений,
необходимых для получения корней системы с заданной точностью, невелико,
если элементы матрицы малы по абсолютной величине.
Иными словами, для успешного применения процесса итерации модули
диагональных коэффициентов системы должны быть велики по сравнению с
модулями недиагональных коэффициентов этой системы (свободные члены при
этом роли не играют).
130
Пример Решить СЛАУ методом итерации
4 x1 0.24x2 0.08x3
8
0.09x1 3x2 0.15x3
9
0.04x1 0.08x2
20
4 x3
Решение
Диагональные коэффициенты 4,3,4 значительно преобладают над другими
коэффициентами при неизвестных. Приведем систему к нормальному виду.
x1
2 0.06 x2
0.02 x3
x2
3 0.03x1 0.05x3
x3
5 0.01x1 0.02 x2
или в матричном виде
x1
2
x2
3
5
x3
За
x10
0.06 0.02
x1
0.03 0 0.05
0.01 0.02 0
x2
0
нулевые
2, x20
3,
x30
x3
приближения
корней
системы
принимаем
5
Подставляя эти значения в правые части уравнений, получим первые
приближения корней
x11
2 0.06 3 0.02 5 1.92
x21
3 0.03 2 0.05 5 3.19
x31
5 0.01 2 0.02 3 5.04
Далее подставляя эти найденные приближения, получим вторые
приближения корней
x12
1.9094, x22
3.1944, x32
5.0446
Результаты можно поместить в таблицу
Таблица
k
x1k
x2k
x3k
0
1
2
3
2
2
5
1.92
3.19
5.04
1.9094
3.1944
5.0446
1.90923
3.19495
5.04485

Замечание При применении метода итерации нет необходимости за
нулевое приближение принимать столбец свободных членов. Сходимость
процесса итерации зависит только от свойств матрицы , поэтому начальный
вектор может быть взят произвольным. Обычно за компоненты начального
вектора выбирают приближенные значения корней системы, находимые грубой
прикидкой.
 Замечание Метод итерации обладает свойством самоисправляемости, т.е.
отдельная ошибка в вычислениях не отразится на окончательном результате,
так как ошибочное приближение можно рассматривать как новый начальный
вектор.
131
Достаточное условие сходимости процесса итерации
Пусть дана линейная система
A x
b
Получим эквивалентную систему
12 x2

x1
1
1n xn
x2
2
21x2

2 n xn
n
n1 x2

n , n 1 xn 1
bi ,
aii
ij

xn
где
i
aij
i
aii
j aij
0
i
j
,
 Теорема Если для приведенной системы выполнено, по крайней мере,
одно из условий
n
n
1 или
ij
ij
j 1
1,
i 1
то процесс итерации сходится к единственному решению этой системы,
независимо от начального приближения.
n
Следствие Для системы
ij x j
метод итерации сходится, если
bi
j 1
выполнены неравенства
n
ii
ij
,
т.е. модули диагональных коэффициентов для каждого уравнения системы
больше суммы модулей всех остальных коэффициентов (не считая свободных
членов).
Теорема накладывает жесткие условия на коэффициенты данной линейной
системы. Однако с помощью линейного комбинирования уравнений системы
можно заменить эквивалентной системой
j 1
x
x
такой, что условия теоремы сходимости будут выполнены.
Умножим на матрицу D A
элементами.
Тогда будем иметь
A
1
1
,где
ij
- матрица с малыми по модулю
Ax Db
Или
x
x,
A
Db .
и
Умножение на матрицу D эквивалентно совокупности элементарных
преобразований над уравнениями системы.
Из заданной системы выделяют уравнения с коэффициентами, модули
которых больше суммы модулей остальных коэффициентов уравнения. Каждое
выделенное уравнение выписывают в такую строку новой системы, чтобы
наибольший по модулю коэффициент оказался диагональным.
132
Из оставшихся неиспользованных и выделенных уравнений системы
составляют линейно независимые между собой линейные комбинации с таким
расчетом, чтобы был соблюден принцип указанный выше и все заполненные
строки оказались заполненными.
 Замечание Условие преобладания диагональных элементов является
достаточным, но не необходимым. Практически нарушение устойчивости
возникает крайне редко.
Пример Решить систему уравнений
2 x1 3 x2
4 x3
x4 3 0
x1 2 x2 5 x3
x4
5 x1 3 x2
4 x4 1 0
x3
10x1 2 x2
x3
2 0
2 x4
4 0
Решение
Обозначим уравнения (А) - (Г). В уравнении (Б) коэффициент при x3 по
модулю больше суммы модулей остальных коэффициентов, при x1 в уравнении
(Г) также больше, поэтому системы примет вид
10x1 2 x2

x1 2 x2
x3
5 x3
2 x4
x4
4
2
0
0

Для получения уравнения с максимальным по модулю коэффициентом при
x2 составим разность (А) – (В)
x1 5x2
x3 0x4 1 0
Теперь в новую систему вошли уравнения (А), (Б), (Г), поэтому в должно
войти уравнение (В). За уравнение можно взять линейную комбинацию 2(А) (Б)+2(В) - (Г)
3x1 0x2 0x3 9x4 10 0 .
Получили преобразованную систему уравнений, эквивалентную исходной и
удовлетворяющую условиям сходимости процесса итерации.
Разрешив эту систему относительно диагональных неизвестных, будем
иметь
x1
0 x1 0,2 x2
0,1x3 0,2 x4
0,4
x2
0,2 x1 0 x2
0,2 x3 0 x4
x3
0,2 x1 0,4 x2
0 x3 0,2 x4
x4
0,333x1 0 x2
0 x3 0 x4 1,111
0,2
0,4
к которой можно применить метод итерации.
Достоинства итерационных методов:
1. Погрешность округления не накапливается от итерации к итерации.
2. Число итераций при n>100 обычно меньше n , поэтому общее число
действий меньше n3, т.е. меньше, чем в методе исключений Гаусса.
133
3. Не требуется больший объем памяти.
4. Итерационные методы особенно выгодны для систем с большим
количеством нулевых коэффициентов (систем с разряженной итерацией).
Методы исключения наоборот: чем больше нулей, тем чаще требуется
выбирать новую рабочую строку.
Недостаток - не всегда можно обеспечить сходность итерационного
процесса. С увеличением размерности системы труднее выполнить линейные
преобразования для обеспечения сходимости.
Пример Решить систему уравнений
2 x1 3 x2 4 x3
x1 2 x2 5 x3
5 x1 3 x2
3
2
x3 1
Решение
Точное решение системы равно: X T 0.4 0.2 0.4 . Найдем это решение
методом итераций. Нужно преобразовать матрицу системы так, чтобы ее
диагональные элементы были преобладающими. Это можно сделать, например,
взяв в качестве первого уравнения сумму первого и третьего уравнений, в
качестве второго уравнения –
разность первого и второго и, наконец, в
качестве третьего уравнения взяв сумму первого и второго.
Решение в среде Mathcad показано на рисунке. Исходная расширенная
матрица системы обозначена буквами AB.
Поскольку в среде Mathcad нет удобного выделения строк матрицы, будем
оперировать со столбцами транспонированной матрицы системы AT.
Учтем, что в среде Mathcad нумерация массивов по умолчанию начинается с
нуля.
Вычислив алгебраические суммы столбцов матрицы AT, находим матрицу
AT1 с преобладанием диагональных элементов. Затем делим столбцы матрицы
AT1 на диагональные элементы и обнуляем диагональные элементы.
Формируем тем самым матрицу CF. Эта матрица включает в себя матрицу С (со
знаком минус) и столбец F, используемые в процессе итераций:
k 1
k
X
C X
F.
Выделив из матрицы CF матрицу С и столбец F, организуем, наконец,
процесс итераций.
Видим, что процесс итераций сходится: отклонение от точного решения на
восьмом шаге итераций приблизительно равно 0.0001.
134
Метод Зейделя
Метод Зейделя – модификация метода итерации. Основная идея метода
состоит в том, что новые значения xi используются сразу же по мере получения.
Более быструю сходимость метода простых итераций можно обеспечить, если
для каждой i -ой компоненты вектора решения k 1 приближения
использовать предыдущие компоненты от 1 до i 1 также k 1 приближения,
а остальные компоненты от i до n используются от предыдущего k -го
приближения.
Такая модификация метода простых итераций носит название «метода
Зейделя». Этот метод достаточно широко применяется на практике, особенно
тогда, когда информации о матрице недостаточно.
Людвиг Зейдель (1821-1896) - немецкий астроном и математик.
Пусть дана приведенная линейная система
n
xi
ij x j
i
j 1
Выберем произвольно начальные приближения корней x10 , x20 , xn0
Предполагая, что k приближение xi k корней известны, будем строить k 1
приближения корней по формулам
x1k
n
1
k
1jxj
1
j 1
x2k
1
2
k
21 x1
1
n
k
2jxj
j 2

xi k
i 1
1
i
k 1
ij x j
j 1
n
k
ij x j
j i

xnk
n 1
1
n
k 1
nj x j
k
nn xn
j 1
135
При использовании итерационных методов для решения систем ошибка
вычислений в большинстве случаев эквивалентна некоторому ухудшению
очередного приближения. Это отразится только на числе итераций, а не на
точности окончательного результата.
 Замечание Метод Зейделя дает лучшую сходимость, чем метод простой
итерации, но более громоздкие вычисления, может сходиться в некоторых
случаях, когда расходится процесс итерации. Но бывает и наоборот.
Пример Методом Зейделя решить систему уравнений
10 x1
x2
2 x1 10x2
x3
12
x3
13
2 x1 2 x2 10x3
14
Решение
Приведем эту систему к виду, удобному для итерации
x1 1,2 0,1x2 0,1x3
x2 1,3 0,2 x1 0,1x3
x3 1,4 0,2 x1 0,2 x2
В качестве нулевых приближений корней возьмем
x10
1,2 ,
x20
0 ,
x30
0
x12
1,2 0,1 1,06 0,1 0,948 0,9992
x22
1,3 0,2 0,9992 0,1 0,948 1,00536
x32
1,4 0,2 0,9992 0,2 1,00536 0,999098
Применяя процесс Зейделя, последовательно получим
x11
1,2
0,1 0
x21
1,3
0,2 1,2
0,1 0
x31
1,4
0,2 1,2
0,2 1,06
0,1 0
1,2
1,06
0,948
Точные значения корней
x1 1, x2 1, x3 1
Пример Найти решение СЛАУ методом Зейделя с точностью, если
СЛАУ имеет вид:
115 x1 20 x2
15 x1 50 x2
6 x1
2 x2
75 x3
5 x3
20
40
20 x3
28
Решение
Вычисления по методу Зейделя будем проводить по формулам:
x1( k
1)
0,17391 0,17391 x2( k )
0,65217 x3( k )
x2( k
1)
0,8 0,3 x1( k
1)
0,1 x3( k )
x3( k
1)
1,4 0,3 x1( k
1)
0,1 x2( k
1)
;k
0
136
Положим
0,17391
x0
0,8
1,4
. Последующие приближения будут иметь значения:
x1(1)
1,2260 x1( 2)
0,9588 x1(3)
1,0074
x1( 4)
0,9986
x2(1)
1,0278
x2( 2)
0,9947 x2(3)
1,0009
x2( 4)
1,0003
x3(1)
0,9294 x3( 2)
0,9977 x3( 4)
1,0004
1,0129
x3(3)
Очевидно, что x3 и x4 различаются между собой в тысячных долях, поэтому
в методе Зейделя счет можно прекратить после третьей итерации. В этом
случае получаем:
x x3
max xi
i 1,3
x3
x2
xi(3)
max xi(3)
0,007 10
xi( 2)
1
0,048 10
1
.
Обычно метод Зейделя обеспечивает более быструю сходимость, чем метод
простых итераций. Процесс Зейделя может сходиться даже в том случае, когда
процесс простых итераций расходится.
Однако, возможны случаи, когда процесс Зейделя сходится медленнее, чем
процесс простых итераций. Более того, могут быть случаи, когда процесс
простых итераций сходится, а процесс Зейделя расходится.
i 1,3
Пример Методом Зейделя решить систему
2 x1 3 x2 4 x3
x1 2 x2 5 x3
5 x1 3 x2
3
2
x3 1
Решение
Приведем к виду, удобному для решения итерационным методом:
x1
x2
x3
1
3 x3 4 ,
7
1
x1 x3 1 ,
5
1
3 x1 x2 5 .
9
Решение в системе Mathcad показано на рисунке.
Приведенная функция-программа Z (C, F , n) вычисляет n итераций для
системы вида X C X F . Метод Зейделя в данном случае сходится быстрее
метода простых итераций.
137
Метод релаксации
Для ускорения итерационного процесса в методе Зейделя его необходимо
привести к методу релаксации .
Рассмотрим обобщение метода Зейделя, которое, благодаря наличию
числового параметра w , позволяет в некоторых случаях ускорить
итерационный процесс и носит название метода релаксации.
Пусть имеем систему линейных уравнений
a11x1 a12 x2  a1n xn
b1
a21x1 a22 x2  a2n xn
b2

an1x1 an 2 x2  ann xn
bn
.
Преобразуем эту систему следующим образом: перенесем свободные члены
налево и разделим первое уравнение на a11, второе на a22 и т.д.
Тогда получим систему, приготовленную к релаксации
x1 b12 x2  b1n xn
c1
0
x2  b2n xn
c2
0

bn1x1 bn 2 x2  xn
cn
0
b21x1
где
bij
aij
aii
i
j
ci
bi
aii
Пусть x 0 x10 , x20 ,, xn0 - начальное приближение решения системы.
Подставляя эти значения в систему, получим невязки
138
R10
n
x10
c1
b1 j x j0
j 2
R20
n
x20
c2
b2 j x j0
j 1
j 2

Rn0
n 1
xn0
cn
bnj x j0
j 1
Если одной из неизвестных x s0 дать приращение x s0 , то соответствующая
невязка Rs0 уменьшится на величину x s0 , а все остальные невязки Ri 0
i
s
увеличатся на величины bis x s0 .
Таким образом, чтобы обратить очередную невязку Rs1 в нуль, достаточно
величине x s0 дать приращение
xs0
Rs0
и будем иметь Rs1 0 и, следовательно Ri 1 Ri 0 bis xs0
i s.
Метод релаксации (метод ослабления) заключается в том, что на каждом
шаге обращает в нуль максимальную по модулю невязку путем изменения
значения соответствующей компоненты приближения.
Процесс заканчивается, когда все невязки последней преобразованной
системы будут равны нулю с заданной точностью.
Пример Методом релаксации решить систему
10x1 2 x2
2 x3
6
x1 10x2
2 x3
7
x1 x2 10x3 8
Решение
Приведем систему к виду, удобному для релаксации
x1 0,2 x2 0,2 x3 0,6 0
x2 0,1x1 0,2 x3 0,7 0
x3 0,1x1 0,1x2 0,8 0
В качестве нулевых приближений корней возьмем
x10
0 ,
x20
0 ,
x30
0
находим соответствующие невязки
R10
R20
0,6
0,7
R30
Согласно теории, полагаем
R11
R10
0,2 0,8 0,6 0,16 0,76
R21
R20
0,2 0,8 0,7 0,16 0,86
R31
R10
R20
0,8
x30
0,8 .Отсюда
получаем невязки
0
139
1
Далее полагаем x2
приведены в таблице.
0,86
и т.д. Соответствующие результаты вычислений
Суммируем все приращения
x1
0 0,93 0,07 1,00
x2
0 0,86 0,13 0,01 1,00
x1
0 0,80 0,18 0,02 1,00
k
i
, получим значения корней
Таблица
x1
R1
x2
R2
x3
0
0,6
0,16
0,76
0,17
0,93
-0,93
0
0,04
0,04
0,03
0,07
-0,07
0
0
0
0
0
0
0,7
0,16
0,86
-0,86
0
0,09
0,09
0,04
0,13
-0,13
0
0,01
0,01
0
0,01
-0,01
0
0
0,8
0,93
0,07
1,00
0,86
0,13
0,01
1,00
R3
0,8
-0,8
0
0,09
0,09
0,09
0,18 0,18
-0,18
0
0,01
0,01
0,01
0,02 0,02
-0,02
0
0
0
1,00
Очевидно, что собственные значения будут зависеть от параметра
релаксации
и наиболее быстрая сходимость последовательности x k 0
достигается тогда, когда спектральный радиус матрицы B минимальный.
К сожалению, до сих пор задача подбора оптимального значения
в
общем случае не решена.
В практических расчетах используют метод проб и ошибок. Можно
подбирать параметр , требуя B 1 .
(0,2) , если СЛАУ имеет
В дальнейшем будет показано, что
положительную симметричную матрицу.
140
Заметим, что при
(1,2) метод называют методом последовательной
верхней релаксации (или SOR-методом), а при значениях
(0,1) – методом
нижней релаксации.
Наибольшее распространение на практике получил метод верхней
релаксации ввиду его большей эффективности.
Проиллюстрируем на тестовом примере применение итерационных методов
(Зейделя, релаксации) и дадим сравнительный анализ результатов.
Пример Найти четыре приближения к решению СЛАУ по каждому из
методов: Зейделя, релаксации. Результаты сравнить с точным решением.
Решение
Рассмотрение проведем на следующем тестовом примере:
2 x1
x2
4
x1 2 x2
5
Здесь
матрица
СЛАУ
является
симметричной
и
положительно
определенной, а точное решение
.
В методе Зейделя итерационные формулы имеют вид:
Пользуясь ими, получаем приближения к решению исходной СЛАУ:
Тогда
Согласно изложенной выше теории итерационные формулы метода
релаксации в рассматриваемом примере приобретают вид:
Чтобы проводить по ним вычисления, требуется знать параметр релаксации
.
Найдем его, требуя, чтобы
Здесь
была меньше 1.
В итоге находим, что
141
Примем, что
2
B
max
i 1, 2 j 1
bij
Имеем, что
B(1)
1
; B(1,02)
2
Примем
0,53; B(1,1)
0,65 .
1,02 .
Тогда получаем:
Следовательно,
Получилось, что в рассматриваемом тестовом примере незначительное
ускорение сходимости расчетов дает метод релаксации.
 Замечание Процесс итерации хорошо сходится, т.е. число приближений,
необходимых для получения корней системы с заданной точностью, невелико,
если элементы матрицы малы по абсолютной величине.
 Иными словами, для успешного применения процесса итерации модули
диагональных коэффициентов системы должны быть велики по сравнению с
модулями недиагональных коэффициентов этой системы (свободные члены при
этом роли не играют).
 Замечание Скорость сходимости метода релаксации зависит от
параметра . Для сходимости метода должно выполняться условие 0
2.
Задачи для самостоятельного решения
Решить СЛАУ двумя итерационными методами по выбору. Доказать
сходимость выбранных методов и получить оценку погрешности решения.
1.
2.
3.
Решить систему линейных алгебраических уравнений методом Гаусса с
выбором главного элемента. Вычислить погрешность найденного решения
142
1.
2.
x1 0, 47 x2 0,11x3 0,55 x4 1,33
0, 42 x1 x2 0,35 x3 0,17 x4 1, 29
0, 25 x1 0,67 x2 x3 0,36 x4 2,11
0,54 x1 0,32 x2 0,74 x3 x4 0,10
0,63x1 x2 0,11x3 0,34 x4 2,08
0,17 x1 1,18 x2 0, 45 x3 0,11x4 0,17
0,31x1 0,15 x2 1,17 x3 2,35 x4 1, 28
0,58 x1 0, 21x2 3, 45 x3 1,18 x4 0,05
Контрольные вопросы
Итерационный метод решения систем линейных уравнений.
Выбор начального приближения.
Приведение системы к виду, удобному для итераций.
Метод простой итерации.
Метод Зейделя.
Сформулируйте достаточные условия сходимости методов простой
итерации и Зейделя.
7. В чем заключается метод верхней релаксации для ускорения сходимости
итерационных методов?
1.
2.
3.
4.
5.
6.
143
Лекция 14
Численное решение дифференциальных уравнений
Решение дифференциальных уравнений широко применяется в практике
научно-технических расчетов. Это связано с тем, что дифференциальные
уравнения (и системы из них) описывают поведение различных объектов в
динамике, например переходные процессы в электронных схемах. Линейные
дифференциальные уравнения имеют решения в виде специальных функций
(скажем, функций Бесселя) Однако многие физические системы нелинейны и
описываются нелинейными дифференциальными уравнениями, не имеющими
аналитического решения. В этом случае приходится использовать численные
методы решения дифференциальных уравнений.
Методы их решения подразделяются на два класса:
аналитические методы, в которых решение получается в виде
аналитических функций. Точные методы изучаются в курсе дифференциальных
уравнений. Однако классы уравнений, к которым применимы точные методы,
достаточно узки и охватывают малую часть возникающих на практике задач.
численные (приближенные) методы, где искомые интегральные кривые
получают в виде таблиц их численных значений. К приближенным методам
относятся методы, в которых решение получается как предел некоторой
последовательности функций, причем каждый член этой последовательности
выражается через элементарные функции или при помощи квадратур.
Численные методы не позволяют найти общее решение уравнения. С их
помощью можно найти лишь частное решение. Но они применимы к широким
классам уравнений и всем типам задач для них.
Численные методы можно применять к задачам, имеющим единственное
решение (корректно поставленным). В некоторых случаях условий
корректности может оказаться недостаточно. Необходимо, чтобы задача была
хорошо обусловлена (устойчива), т.е. малые изменения в задании исходных
данных приводили к достаточно малым изменениям искомого решения.
Пример Решить дифференциальное уравнение
y ( x) y x, 0 x 100, y(0) 1 .
Решение
Общее решение дифференциального уравнения имеет вид
y( x) 1 x ce x .
Из начального условия определяем
c
0,
тогда y(100)
6
101 .
Изменим начальное
37
условие: пусть y(0) 1,000001 . Постоянная c 10 , а y (100) 2,7 10 , т.е. малое
изменение начального условия привело к сильному изменению решения. Задача
плохо обусловлена.
Дифференциальное уравнение первого порядка, разрешѐнное относительно
производной, имеет вид:
144
y
f x, y
.
Решением дифференциального уравнения называется функция
x ,
подстановка которой в уравнение обращает его в тождество:
x f x, x .
График решения y
x называется интегральной кривой.
Пример решением уравнения y ' 1 e x является
функция
при любом значении
( x) x ce x C ,
произвольной постоянной ñ. Функции такого вида
образуют семейство кривых, представленных на
рисунке.
Задача Коши для дифференциального уравнения
первого порядка состоит в том, чтобы найти его
решение, удовлетворяющее условию
.
y f x, y , если y x x y0
0
Пару чисел x0 , y0 называют начальными данными (условиями).
Решение задачи Коши называется частным решением уравнения при
начальном условии.
Пример Найти частное решение задачи Коши
y
y, y x
0
1
Решение
частным решением задачи Коши является функция x e x .
Частному решению соответствует та из семейства интегральных кривых,
которая проходит через точку ( x0 , y0 ) .
Общепринятый
подход
нахождения
решения
обыкновенного
дифференциального уравнения заключается в дискретизации задачи.
Это означает, что искомая функция ищется только в конечном числе
дискретных точек a x0 x1  xN b (узлов сетки), а не на всем
непрерывном отрезке. При этом полагают yi ( xi ), i 1,2,, n .
Численное решение задачи Коши состоит в том, что получить таблицу
приближенных значений решения yi , причем начальное условие выполняется
точно y0 ( x0 ) .
Приближенным решением задачи будет некоторая сеточная функция
y y (x) .
Для получения значений сеточной функции используются различные методы
основанные на замене производной каким-либо разностным уравнением.
Рассмотрим некоторые из них более подробно.
Будем использовать равномерную сетку с шагом h:
h
b a
; xi
n
xi
1
h; xi
x0
ih, i 1, 2, ..., n .
145
Приближѐнные значения численного решения задачи Коши в узловых
точках x i обозначим через yi :
yi
xi , i 1, 2, ..., n .
Для любого численного метода решения задачи Коши начальное условие
выполняется точно, то есть, имеем y0
x0 .
Величина погрешности численного метода решения задачи Коши на сетке
отрезка a, b оценивается величиной
d max y i
xi .
1 i n
 Определение Говорят, что численный метод имеет р-й порядок
точности по шагу h на сетке, если расстояние d можно представить в виде
степенной функции от h:
d Ch p , p 0 ,
где С – некоторая постоянная, зависящая от правой части уравнения и от
рассматриваемого метода.
 Замечание Очевидно, что когда шаг h стремится к нулю, погрешность d
также стремится к нулю.
Рассмотрим наиболее распространенные при решении практических задач
методы интегрирования Эйлера, Рунге-Кутта..
Метод Эйлера
В методе Эйлера приближенные значения y xi yi вычисляются
последовательно hi xi 1 xi . При этом искомая интегральная кривая y x ,
проходящая через точку x0 , y0 , заменяется ломаной с вершинами xi , yi .
Каждое звено ломаной имеет направление, совпадающее с направлением
интегральной кривой, которая проходит через точку xi , yi . Поэтому метод
Эйлера часто называют методом ломаных.
Этот метод является сравнительно грубым и применяется в основном для
ориентировочных расчетов. Однако идеи, положенные в основу метода Эйлера,
являются исходными для ряда других численных методов.
Задача Коши или начальная задача состоит в нахождении решения
дифференциального уравнения при заданном начальном условии:
y
f ( x, y),
y( x0 )
y0
Пусть требуется найти решение задачи Коши на отрезке [ x0 , X ] . Разобьем
отрезок на n частей точками x0 , x1 ,...,xn X ; иными словами введем на отрезке
сетку точек: xi , i 0,...,n . Будем искать приближенное решение задачи в узлах
сетки. Введем обозначения:
yi y( xi ), i 1,...,n – приближенные значения решения в узлах сетки;
f i f ( xi , yi ), i 0,...,n ; hi xi 1 xi , i 0,..., n 1 – шаг приращения аргумента – шаг
146
сетки; h max(hi ) – максимальное значение шага (в частном случае сетка может
быть равномерной hi h Const ).
Метод Эйлера описывается формулой
yi
1
yi
hi f i
На каждом шаге приращения аргумента значение производной
y фиксируется. Вместо реального уравнения как бы рассматривается уравнение с
постоянной правой частью. Решением такого уравнения является прямая линия –
касательная к интегральной кривой. Итак, на каждом
шаге истинная
интегральная кривая заменяется отрезком касательной. Получаем в итоге линию,
называемую ломаной Эйлера.
Пример
Ломаная
Эйлера
для
решения
задачи
Коши:
dy dx k y(x), y 0 1 – показана на рис.8.1. Рисунок представляет собой
активную вставку, созданную в среде Mathcad. Двойной щелчок мышкой
активизирует вставку, что позволяет изменять параметры расчетов. Например,
можно изменить величину и знак коэффициента k. Можно также проследить,
как при увеличении количества шагов на отрезке (и, следовательно, при
уменьшении величины шага приращения аргумента) ломаная Эйлера стремится
к точному решению.
На рисунке показан график точного решения и
приближенного (отмечено +)
Погрешности метода решения
Рассмотрим более подробно погрешности, возникающие при решении
задачи Коши приближенными методами. Эти погрешности называют ошибками
метода решения или ошибками дискретизации.
Различают локальную и глобальную ошибки метода решения задачи Коши.
 Определение Локальная ошибка – ошибка, сделанная на одном шаге
приращения аргумента, при условии, что предыдущие значения точны.
Локальная ошибка, сделанная на n -ом шаге, равна
Ln yn u n 1(t n ) ,
где un t – точное решение уравнения un t f t, un t , при условии un tn yn .
147
 Определение Глобальная ошибка дискретизации - ошибка, накопленная
за n шагов
Gn yn u0 tn .
В общем случае глобальная ошибка может быть как больше, так и меньше
суммы локальных.
На рисунке показаны глобальные и локальные ошибки в случае решения
методом Эйлера Видно, что в данном случае глобальная погрешность больше
суммы локальных:
G3 L1 L2 L3 .
Пример Решить дифференциальное уравнение y
y, y 0
1
Решение
Показано начальной задачи Коши решение в пакете Mathcad
Точное решение этой задачи представляет собой экспоненциальную
функцию: y x e x . Это точное решение показано на рисунке верхней линией.
Нижняя ломаная линия представляет собой ломаную Эйлера.
Вследствие наличия ошибок метода ломаная Эйлера в каждой следующей
точке касается новой интегральной кривой, и глобальная погрешность
монотонно растет. Глобальные погрешности показаны на рисунке
вертикальными линиями.
Нижний отрезок каждой вертикальной линии представляет собой локальную
ошибку на данном шаге.
Если изменить знак коэффициента , получим затухающее решение. В этом
случае будет справедливо обратное соотношение:
G3 L1 L2 L3 .
В частном случае вырожденного дифференциального уравнения y f (t) , у
которого правая часть уравнения не зависит от y, глобальная ошибка равна
сумме локальных:
148
n
Gn
k 1
Lk .
 Определение Метод имеет порядок сходимости p, если существует
положительное число C 0 такое, что
Ln C h np 1 при h n 0 .
Число C зависит от производных функции f (t, y) , определяющей правую часть
дифференциального уравнения, и может зависеть также от длины интервала, на
котором ищется решение. Но это число не должно зависеть от номера шага n и
величины шага hn.
Неравенство может быть записано более компактно:
Ln O(h np 1) .
Порядок метода Эйлера равен p=1, так что уменьшение средней длины шага
в 2 раза уменьшит среднюю локальную ошибку в 4 раза. Но на том же отрезке
интегрирования уравнения потребуется приблизительно вдвое больше шагов.
Поэтому глобальная ошибка уменьшится лишь примерно в два раза.
Пример
y
Решить
задачу
Коши
для
вырожденного
уравнения
2 x, y(0) 0 .
Решение
Точное решение задачи равно u( x) x2 . Найдем глобальные и локальные
ошибки при решении задачи методом Эйлера. Решение в системе Mathcad
приведено на рисунке.
Положим шаг приращения аргумента равным h 1 N . Используя метод
Эйлера, заполняем первые две строки таблицы. Нулевая строка содержит
значения x, первая строка – значения приближенного решения, полученного по
формуле Эйлера. (Учтем, что в программе Mathcad нумерация элементов
массивов начинается от нуля.)
Добавляем затем во вторую строку значения точного решения x2 . В третью и
четвертую строки добавляем значения глобальной и локальной ошибки.
Локальная ошибка в данном примере равна просто h 2 . Изменяя величину
шага, можем проследить, как меняются погрешности вычислений. Например,
положив шаг равным h 2 N , увидим, что локальная ошибка становится равной
-0.04.
149
 Замечание Следует иметь в виду, что ошибки εi на каждом i-ом шаге (в
простейшем случае) складываются, а общая ошибка быстро накапливается. В
этом состоит существенный недостаток данного метода.
 Замечание С помощью этого метода можно получить (в численном виде)
решение любого дифференциального уравнения (в том числе и неразрешимого
аналитически).
 Замечание При большом числе итераций в расчет вносится существенная
погрешность из-за ограниченной точности вычислительных машин и ошибок
округления. Вследствие систематического накопления ошибок метод
используется редко или используется только для оценки вида интегральной
кривой.
Размер шага и ошибка для метода Эйлера связаны линейно. Хотите
уменьшить в 10 раз ошибку — уменьшайте в 10 раз шаг и увеличивайте
соответственно в 10 раз количество вычислений. Этот факт в математике
принято обозначать символом
O Δ t , а метод Эйлера называют методом
первого порядка точности.
Поскольку в методе Эйлера ошибка достаточно велика и от шага к шагу
накапливается, а точность пропорциональна количеству вычислений, то метод
Эйлера обычно применяют для грубых расчетов, для оценки поведения
системы в принципе.
Для точных количественных расчетов применяют более точные методы.
Метод должен быть устойчив. Устойчивость связана с некоторой
критической величиной шага. При проявлении неустойчивости наблюдается
полное искажение качественной картины расчета, «разболтка» результата.
При выборе метода рекомендуется сначала добиться устойчивости, а внутри
области устойчивости — сходимости результата. Устойчивость обеспечивает
качественную картину. Сходимость обеспечивает количественный результат.
На практике интересуются более совершенными методами. Вопрос стоит
так: можно ли увеличить точность на порядок, но при этом сэкономить на
количестве вычислений? Да, такие методы есть.
Модифицированный метод Эйлера
Модифицированный метод Эйлера имеет точность второго порядка. В
методе Эйлера производная берется в начале шага и по ней прогнозируется
движение системы на конец шага, считая, что во время шага производная
неизменна. То есть в течение всего шага производная считается той, какой она
была в самом начале шага. Это основной источник неточности.
Рассмотрим модификацию метода Эйлера.
Дано y f x, y
y x0
y0 .
Выберем шаг xi
yi
1
yi
x0
ih . По методу Эйлера имеем
hf xi , yi
Вычислим промежуточные значения
150
x
i
y
i
1
2
1
2
xi
h
2
yi
h
fi
2
найдем направление интегральных кривых в точках
x
i
f
i
f x
1
2
i
1
2
,y
i
1
2
1
2
,y
i
1
2
, т.е.
,
а затем полагают
yi
yi
1
hf
i
1
2
Сначала определяют грубое приближение
yi
1
yi
hf xi , yi
исходя из которого определяем
f i 1 f xi 1 , yi 1 ,
затем
yi
1
yi
h
fi
fi
1
2
Улучшение метода состоит в том, что берется производная не в начале шага,
а как промежуточное или среднее на разных участках одного шага.
В разных вариантах метода вычисляют несколько производных в разных
частях шага и усредняют их. Конечно, в этом случае число вычислений
увеличивается, — но не в десятки раз, — а вот точность возрастает на порядок,
в этом и состоит выигрыш.
Метод Эйлера легко распространяется на системы дифференциальных
уравнений первого порядка. Рассмотрим, например, систему
y
z
f1 x, y, z , a
f 2 x, y , z .
с условиями y a
x b,
y0 , z a
z0 .
Приближенные значения yi y xi , zi z xi
вычисляются последовательно по формулам:
yi 1 yi hi f1 xi , yi , zi , i 0,1, 2, , N 1,
zi 1 zi hi f 2 xi , yi , zi .
этой системы в точках xi
1
Пример Рассмотрим решение задачи Коши для вырожденного уравнения
y 2 x, y(0) 0 . Точное решение задачи равно u( x) x2 . Найдем глобальные и
локальные ошибки при решении задачи методом Эйлера. Решение в системе
Mathcad приведено на рисунке.
151
Вначале создаем заготовку для матрицы V из пяти строк. Положим шаг
приращения аргумента равным h 1 N . Используя метод Эйлера, заполняем
первые две строки таблицы. Нулевая строка содержит значения x, первая строка
– значения приближенного решения, полученного по формуле Эйлера. (Учтем,
что в программе Mathcad нумерация элементов массивов начинается от нуля.)
Добавляем затем во вторую строку значения точного решения x2 . В третью и
четвертую строки добавляем значения глобальной и локальной ошибки.
Локальная ошибка в данном примере равна просто h 2 . Изменяя величину
шага, можем проследить, как меняются погрешности вычислений. Например,
положив шаг равным h 2 N , увидим, что локальная ошибка становится равной
-0.04.
Задачи для самостоятельного решения
Найти решение задачи Коши для дифференциального уравнения первого
порядка на равномерной сетке отрезка a; b с шагом 0,2 методом Эйлера.
Сравнить численное решение с точным значением. Результаты представить в
виде таблиц, аналогичных приведѐнной в примере.
1) y
2) y
1 xy
1
1
;
, y x 1 0, x 1, 2 , x
x
2
2
x
x
2x
y
, y x 0 1, x 0, 1 , x
2x 1 ;
y
3) y
xy, y
x 0
1, x
0; 1 ,
x
ex
2
/2
.
Контрольные вопросы
1. Сформулируйте задачу Коши для обыкновенных дифференциальных
уравнений первого порядка.
2. Что является решением дифференциального уравнения: а) в высшей
математике, б) в вычислительной математике?
3. Какие методы решения дифференциальных уравнений называются
одношаговыми? Приведите примеры.
4. Чем модифицированный метод Эйлера отличается РТ метода Эйлера?
5. Порядок точности метода Эйлера.
6. Условия сходимости итерационных методов.
152
Лекция 15
Методы Рунге-Кутта
Методы Рунге-Кутта являются одними из наиболее распространенных
численных методов интегрирования обыкновенных дифференциальных
уравнений. По сравнению с описанным выше методом Эйлера метод РунгеКутта имеет более высокую точность
Карл Рунге 1885 г. немецкий физик и математик высказал основную идею
метода численного решения систем обыкновенных дифференциальных
уравнений, которую в 1901 г. развил и усовершенствовал Вильгельм Кутта.
Кутта Мартин Вильгельм (1867 —1944) — немецкий математик.
Была разработана целая серия вычислительных методов («методы РунгеКутта») различной степени точности. Данные итеративные методы явного и
неявного приближѐнного вычисления были разработаны около 1900 года.
Формально, методом Рунге — Кутты является модифицированный и
исправленный метод Эйлера, они представляют собой схемы второго порядка
точности. Существуют стандартные схемы третьего порядка, не получившие
широкого распространения. Наиболее часто используется и реализована в
различных математических пакетах (Maple, MathCAD, Maxima) стандартная
схема четвѐртого порядка. Иногда при выполнении расчѐтов с повышенной
точностью применяются схемы пятого и шестого порядков. Построение схем
более высокого порядка сопряжено с большими вычислительными
трудностями. Методы седьмого порядка должны иметь по меньшей мере девять
этапов, в схему восьмого порядка входит 11 этапов. Хотя схемы девятого
порядка не имеют большой практической значимости, неизвестно, сколько
этапов необходимо для достижения этого порядка. Аналогичная задача
существует для схем десятого и более высоких порядков.
Методы Рунге-Кутта - это группа итерационных методов решения задачи
Коши, характеризуемая следующими условиями:
1.
Это одношаговые методы, т.е. при переходе из точки ( xk , y k ) в точку
( x k 1 , y k ! ) используется лишь информация о предыдущей точке ( xk , y k ) .
Этому условию соответствует такая общая запись итерационной процедуры
y k 1 y k h ( xk , y k ) ,
где ( xk , y k ) выражается через значения функции f ( x, y) в точке ( xk , y k ) или
близким к ней (сдвинутым на долю шага).
2.
Процедура согласуется с рядом Тейлора вплоть до членов порядка h p ,
где p -порядок метода.
3.
Метод не использует производных от f ( x, u) , а требует только
вычисления функции в различных точках сетки, причем число вычислений
функции - минимально возможное для данного порядка.
Эти методы позволяет строить схемы различного порядка точности.
153
Достоинства методов:
имеют хорошую точность,
являются явными, т.е. значение yn 1 вычисляются по ранее найденным
значениям за определенное число действий по определенным формулам,
все схемы допускают пересчет переменным шагом, следовательно, можно
уменьшить шаг там, где функция быстро меняется и увеличить его в
обратном случае,
для начала расчета достаточно выбрать сетку и задать начальное значение
y0 и далее расчеты ведутся по одним и тем же формулам.
 Определение Порядок (степень) точности метода типа Рунге – Кутта
- число s , для которого погрешность приближенного равенства
yi y xi 1 y xi величина порядка h2 .
Заметим, что метод Эйлера является частным случаем метода Рунге-Кутта,
имеющий наименьший первый порядок точности.
Рассмотрим один из примеров повышения порядка точности метода РунгеКутта до второго порядка.
Представим ( xk , y k ) в виде следующей линейной комбинации
( xk , yk ) a1 f ( xk , yk ) a2 f ( xk b1h, yk b2 hf ( xk , yk )) .
Разложим функцию f ( x, y) в точке ( xk , y k ) в ряд Тейлора до членов первого
порядка включительно
f ( xk b1h, yk b2 hf ( xk , yk )) f ( xk , yk ) f x' ( xk , yk )b1h f y' ( xk , yk )b2 hf o(h 2 )
Подставляя эти формулы в, получим:
yk
yk
1
h a1 f
a2 f
ha 2 (b1 f x'
b2 f y' f )
o( h 3 ) .
(все входящие в правую часть функции берутся в точке ( xk , y k ) )
Аналогичное разложение по Тейлору напишем для функции y(x) , используя
уравнение y' ( x) f ( x, y)
yk
y( x k 1 ) y k
1
hf
h 2 ''
yk
2
o( h 3 ) y k
hf
h2 '
( fx
2
f y' f ) o(h 3 ) Требуя
совпадения
коэффициентов разложений при одинаковых степенях h, получим систему
уравнений для неизвестных коэффициентов a1 , a2 , b1 , b2 :
a1
a2
a 2 b1
a 2 b2
1
1
2
1
2
Система недоопределена. Поэтому один из коэффициентов можно задать
произвольно. Например, положим a 2
.
Получим
1
.
a1 1
, b1 b2
2
Итерационная процедура приобретает вид
154
yk
1
yk
h (1
) f ( xk , y k )
f ( xk
h
, yk
2
h
f ( x k , y k ))
2
Заключаем, что точность этого метода
порядка.
Частные случаи
1

O( h 2 )
o( h 3 )
, т.е. данный метод - второго
2
Отбрасывая погрешность, получаем
yk
1
h
( f ( xk , y k )
2
yk
f ( xk
h, y k
hf ( x k , y k ))
.
Полученный метод Рунге-Кутта носит название “предиктор-корректор”.
Чтобы прояснить смысл этого названия разобьем процедуру на два этапа:
yk
1
yk
yk
1
yk
hf ( xk , y k )
f ( xk , y k )
h
f ( xk 1 , y k 1 )
2
На первом этапе ―предсказываем‖ значение yk 1 по методу Эйлера.
На втором этапе это значение корректируется путем усреднения угловых
коэффициентов в точках ( xk , y k ) и ( xk 1 , y k 1 ) .
В этом методе значение неизвестной функции в каждой точке сетки
вычисляется дважды. Сначала вычисляется новое значение неизвестной
функции y n 1 с помощью менее точной явной формулы – формулы предиктор.
Затем это значение уточняется с помощью неявной формулы – формулы
корректор; при этом для вычисления величины fn 1 используется найденное
значение yn 1. За счет коррекции, точность данного метода и повышается на
порядок по сравнению с методом Эйлера.
1

Получаем y k
x
k
1
2
xk
Тогда
h
,
2
yk
1
y
k
hf ( x k
yk
1
2
h
, yk
2
h
f ( x k , y k )) Обозначим
2
.
h
f ( xk , y k ) .
2
разбивается на два этапа: на первом этапе находим y
k
1
2
-
прогнозируемое значение на половинном шаге от точки xk по методу Эйлера.
Вычисляем наклон интегральной кривой в точке ( x 1 , y 1 ) .
k
2
k
2
На втором этапе, двигаясь по касательной с данным угловым
коэффициентом из точки ( xk , yk ) в точку ( xk 1 , y k 1 ), получаем окончательно
y k 1 y k hf ( x 1 , y 1 ) .
k
2
k
2
Полученный метод носит название “модифицированный метод Эйлера”.

Замечание При практическом применении методов Рунге-Кутта
возникает вопрос: какой формулой пользоваться на практике? Если априори
155
4
известно, что f ( x, y) - достаточно гладкая функция, например, f C (G) , то
наиболее эффективны методы 4 го порядка. Если же гладкость функции f ( x, y)
недостаточна, то лучше использовать методы второго и третьего порядка.
Метод
Рунге-Кутта
четвертого
порядка
точности
(наиболее
употребляемый на практике) сформулирован следующим образом
yk
y0
!
yk
2
1
2
2
4 ),
3
u0
1
где
h
(
6
2
3
4
f ( xk , yk ),
h
f ( xk
, yk
2
h
f ( xk
, yk
2
f ( xk h, yk
1
2
),
2
2
3)
),
Если f ( x, y) C 4 (G) , то погрешность процедуры O(h 4 ) .

Замечание На практике наибольшее распространение получил
метод Рунге-Кутта 4-го порядка, в котором усреднение проводится по трѐм
точкам, формула Эйлера на каждом отрезке используется 4 раза: в начале
отрезка, дважды в его середине и в конце отрезка.
Пример Решить задачу Коши y x y, y x 0 1методом Эйлера на отрезке
0; 0,4 . Найти решение на равномерной сетке с шагом h 0,1 в четырѐх узловых
точках. Вычислить погрешность вычисления, сравнив его результат с точным
x
значением (аналитическое решение задачи имеет вид x 2e x 1.
Решение
Здесь f x, y x y; n 4; a 0, b 0,4; h b a / n 0,1 . На основе этих данных
получаем рекуррентные формулы
x0
0, y0
1, xi
xi
1
0,1, yi
yi
1
0,1 xi
1
yi 1 , i 1, 2, 3, 4
Последовательно находим
при i 1 : x1 0,1, y1 1 0,1 0 1 1,1;
при i 2 : x2 0,2, y2 1,1 0,1 0,1 1,1 1,22;
при i 3 : x3 0,3, y3 1,22 0,1 0,4 1,22 1,362;
при i 4 : x4 0,4, y4 1,362 0,1 0,3 1,362 1,5282.
Составим следующую таблицу:
i
xi
yi h
1
0,
1,1
1
2
1,22
2
1,362
3
0,01342
1,2428
0,02280
5
1,3997
18
0,
4
1,1103
05
0,
4
di
42
0,
3
xi
1,5282
0,03771
8
1,5836
49
0,05544
9
156
Таким образом, погрешность для приближѐнных вычислений с шагом 0,1
составляет d y4 h
x4
0,06 .
 Замечание Метод Рунге-Кутта может быть использован и при решении
систем дифференциальных уравнений.
Все методы являются одношаговыми, то есть для вычисления значения
функции в новой точке используется ее значение в предыдущей точке. Это
свойство называется самостартованием.
Шаг сетки можно менять при переходе от одной точки к другой. Для контроля
правильности выбора шага h вычисляют дробь
K2
i
K3
i
K2
K1
i
.
i
Величина не должна превышать нескольких сотых, в противном случае
шаг следует уменьшить. В практике для контроля вычислений применяют
двойной пересчет, т.е. сначала вычисляют решение с шагом h , затем с шагом
h / 2 . В заданных точках приближенные решения должны совпасть в пределах
заданной точности.
Отличительная особенность методов Рунге-Кутта от метода Эйлера
заключается в том, что значение правой части уравнения вычисляется не только
в точках сетки, но и также в середине отрезков (промежуточных точках).
Методы Рунге-Кутта сходятся и порядок их точности совпадает с порядком
аппроксимации разностным отношением, легко распространятся на системы
линейных уравнений первого порядка.
Правило Рунге
Рассматриваем метод порядка p. Обозначим: u – точное решение в точке
x h , лежащее на интегральной кривой, проходящей через точку x, y(x) ; y –
приближенное значение в точке x h , полученное при решении, исходя из
точки x, y(x) , с шагом h;y*– приближенное значение в точке x h , полученное
в результате перехода из точки x, y(x) за два шага половинной длины h/2.
Локальная погрешность решения с шагом h:
y u C hp
1
Погрешность решения с шагом h/2:
y* u
2 C h 2
p 1
Вычтем второе неравенство из первого:
y y*
2 C h 2
p 1
2p 1
y* u
2p 1
Получаем отсюда первую формулу Рунге – оценку погрешности более точного
решения – решения с шагом h/2:
y* u
y y*
2p 1
157
Зная оценку погрешности, можно улучшить решение, полученное с шагом h/2.
Получим тем самым вторую формулу Рунге, описывающую уточненное
решение:
y
y*
y y*
2p 1
Пример Найти решение дифференциального уравнения
y 2 x, y(0) 0 . Используя правило Рунге, оценить погрешность решения и
найти уточненное решение.
Решение
Найдем решение методом Эйлера, используя два значения шага: h=0.2 и
h=0.1..
Для данного уравнения метод Эйлера описывается формулой:
yi 1 yi h 2 xi .
Обозначим:
y – решение, полученное с шагом 0.2;
y* – решение, полученное с шагом 0.1;
y= y – y* – оценка погрешности решения с шагом 0.1;
y y* y – уточненное решение;
u(x)=x2 – точное решение задачи.
Результаты расчетов приведены в таблице
x
0
0.1
0.2
0.3
0.4
0.5
0.6
y
0
–
0
–
0.08 –
0.24
y*
0
0
0.02 0.06 0.12 0.2
0.3
y
0
-0.01 -0.02 -0.03 -0.04 -0.05 -0.06
y
0
0.01 0.04 0.09 0.16 0.25 0.36
u
0
0.01 0.04 0.09 0.16 0.25 0.36
Метод Рунге-Кутта 4 порядка в системе Mathcad
Встроенная функция, реализующая метод Рунге-Кутта четвертого порядка,
для решения системы из n уравнений, вызывается командой: rkfixed(y, x1, x2,
npoints, D).
Аргументы функции:
y – вектор, содержащий n начальных условий,
x1, x2 – начальная и конечная точки отрезка интегрирования,
npoints – количество точек, в которых вычисляется приближенное решение,
D – вектор, размерности n, содержащий правые части системы уравнений.
В случае одного уравнения y и D – скалярные величины.
Функция rkfixed применяется также для решения уравнения n-го порядка,
которое может быть нелинейным относительно старшей производной. В этом
158
случае уравнение предварительно преобразуется к системе уравнений первого
порядка.
Функция rkfixed возвращает матрицу, в которой первый столбец содержит
значения независимой переменной, а остальные столбцы содержат найденные
значения неизвестных функций. Количество строк возвращаемой матрицы равно
npoints+1.
Пример
Сравним
погрешности
решения
начальной
задачи
y y, y 0 1 тремя методами: простым и модифицированным методами
Эйлера, а также методом Рунге-Кутта. Решение в среде Mathcad приведено на
риунке. Точное решение задачи представляет собой экспоненциальную
функцию u t exp t .
На отрезке 0, 2 задаем равномерную сетку значений аргумента xi с шагом
2 N . Последовательность yi включает решение обычным методом Эйлера.
Решение первым модифицированным методом Эйлера представляет
последовательность vi .
На левом графике показаны эти два решения и точное решение u t .
Решение методом Рунге-Кутта находим с помощью встроенной функции
rkfixed. Аргументы функции:
1 – значение y в начальной точке;
0, 2 – отрезок интегрирования уравнения;
N – количество узлов сетки;
D – функция, описывающая правую часть дифференциального уравнения,
D(t, y)=y.
Решение методом Рунге-Кутта и точное решение показаны на правом рисунке.
Формируем матрицу погрешностей Err. Первый столбец матрицы включает
значения
Второй
столбец
содержит
погрешности
решения
xi .
модифицированным методом Эйлера, третий – погрешности решения методом
Рунге-Кутта.
Приведенный пример достаточно наглядно демонстрируют преимущества
метода четвертого порядка.
159
Задачи для самостоятельного решения
1. Найти решение задачи Коши для дифференциального уравнения первого
порядка на равномерной сетке отрезка a; b с шагом 0,2 методом Эйлера.
Сравнить численное решение с точным значением.
1 xy
1) y
x
2) y
2
,y
2x
,y
y
y
x 1
1
x
2
0, x
1, 2 ,
x
1, x
0, 1 ,
x
x 0
1
;
x
2x 1 ;
2. Применяя метод Эйлера, численно решить следующие дифференциальные
уравнения и системы дифференциальных уравнений с данными начальными
условиями на отрезке a, b с шагом h и h 2 при указанных значениях
параметров.
1. y
x
x
y,
y 0
y
2. y
6 x2 y 2
, y1
x2
xy
3. y
2
1 , a 0 , b 1, h 0,1 .
2 , a 1, b 1,5 , h 0,05 .
e, a
, y 0
0 , b 0,5 , h 0,05 .
4. y
1 x
1
sin x
y, y 0
cos x cos x
0, a
0 , b 1, h 0,1 .
5. y
3
y
2x
0, a
1, b 2 , h 0,1 .
6. y
2 xy 3 ,
y 2
1 x2 y 2
3 13
xy , y 1
2
1 , a 2 , b 2,5 , h 0,05 .
3.Методом Рунге-Кутта найти решение на отрезке a, b следующих
дифференциальных уравнений при заданных начальных условиях с указанным
шагом h . Нарисовать график найденного решения. Выяснить возможность
аналитического решения. Сравнить результаты численного и точного решений.
1. y
2. y
3. y
4. y
5. y
2
y x , y 1 0 , h 0,1 , a 1 , b 1,5 .
x
xy ,
y 0 2 , h 0,05 , a 0 , b 0,3 .
1 x2
y 1 x y 2 , y 0 1 , h 0,1 , a 0 , b 0,5 .
y
x2
x
x2 y 2
y2 ,
y1
0 , h 0,1 , a
2x 1 y 1
, y1
x
1 , b 1,5 .
0 , h 0,1 , a 1 , b 1,5 .
160
Контрольные вопросы
1.
2.
3.
4.
5.
Сформулируйте основные положения методов Рунге-Кутта.
Основные формула методов Рунге-Кутта 4 порядка
Правило Рунге-Кутта.
Как осуществить вычисления в пакете Mathcad методом Рунге-Кутта
Какие встроенные функции необходимо использовать.
161
Лекция 16
Многошаговые разностные методы
В одношаговых методах решения ОДУ значение yn 1 определяется лишь
значениями tn , yn и значением шага приращения аргумента h . В многошаговых
методах используется также информация в предыдущих точках yn 1 , yn 2 …
Многошаговые методы строятся на равномерной сетке
tn t0 n h, n 0,1, 2, ... , где h – шаг сетки.
Обозначим: yn y( xn ) , f n f ( xn , yn ) .
Линейный m-шаговый метод можно описать формулой:
m
m
yn 1
h
0.
i yn 1 i
i fn 1 i ,
m
m
i 1
i 0
Рассмотрим задачу Коши для обыкновенного дифференциального уравнения
du
dt
f (t , u )
,
где u(0) u 0 .
Для решения задачи Коши при t>0 введем равномерную сетку с постоянным
шагом ωτ t n n τ,n 0,1,... .
Введем понятие линейного m шагового разностного метода для решения
задачи.
 Определение Линейный m-шаговый метод - система разностных
уравнений вида:
a0 y n
a1 y n
1
τ
...
am yn
m
b0 f n
b1 f n
1
...
bm f n
m
,
где n=m,m+1; a k , bk - числовые коэффициенты не зависящие от n; k=0,1,…,m.
Систему будем рассматривать как рекуррентные соотношения, выражающие
новое значения y n y(t n ) через ранее найденные значения y n 1 , yn 2 ,..., y n m ,
причем расчет начинают с индекса n=m, т.е. с уравнения
a0 y m a1 y m 1 ... a m y 0
b0 f m b1 f m 1 ... bm f 0 .
τ
Отсюда следует, что для начала расчета надо знать m предыдущих значений
функции y , причем y 0 =u 0 . Эти предыдущие m значений могут быть найдены
одним из одношаговых методов Рунге-Кутта.
Отличие от одношаговых методов состоит в том, что по формулам расчет
ведется только в точках сетки.
 Определение Метод
a0 y n a1 y n 1 ... a m y n m
b0 f n b1 f n 1 ... bm f n m
τ
называется явным, если коэффициент b 0 =0. Тогда значение y n
легко
выражается через y n 1 , y n 2 ,..., y n m . В противном случае метод называется
неявным, и для нахождения y придется решать нелинейное уравнение вида:
162
m
a0
ak
y n b0 f(t n ,y n )
(bk t n k
yn k )
τ
τ
k 1
Обычно это уравнение решают методом Ньютона при начальном значении
( 0)
yn
y n 1 . Коэффициенты уравнения определены с точностью до множителя,
тогда, чтобы устранить этот произвол, вводят условие
m
bk
1 . На практике
k 0
используют частный случай методов, так называемый метод Адамса, т.е. когда
производная u (t ) апроксимируется разностным отношением, включающим две
соседние точки t n и t n 1 . Тогда a0
a1 1; ak =0, k=2,...,m и
yn
yn
m
1
bk f n
k
k 0
Это и есть методы Адамса. При b 0 =0 метод будет явным, в противном
случае - неявным.
Выясним, как влияют коэффициенты ak, bk на погрешность аппроксимации,
на устойчивость и сходимость.
 Определение Невязкой, или погрешностью аппроксимации методов
называется функция
m
m
ak
rn
un
bk f (t n
k
k , un k )
,
где u (t ) - точное решение дифференциального уравнения.
Если разложить функции u n k u(t n , k ) в ряд Тейлора в точках t
равномерной сетки, окончательно получим функцию
k 0
m
rn
(
k 0
ak
p
)U (t n )
m
(
( k ) l 1 (a k
U (l ) (t n )
k
bk ))
O(
l
(l 1)!
p
tn
)
.
Из вида функции rn следует, что порядок аппроксимации будет равен p, если
выполнены условия
k 0
l 1 k 0
m
ak
0;
k 0
m
k l 1 (kak
lb k )
0;
k 0
m
bk
0,
k 0
где l=1,...,p.
Условия представляют собой СЛАУ относительно неизвестных a0 ,..., am ,
b0 ,..., bm . Их количество равно 2(m+1). Решив систему, получаем неизвестные
числовые коэффициенты.
Для неявных методов наивысшим порядком аппроксимации p=2m, а для
неявных – p=2m-1.
163
Устойчивость и сходимость многошаговых методов
 Определение Устойчивый метод- метод, при использовании которого
решение меняется мало при малых изменениях входных данных.
 Определение Неустойчивый метод - метод решения, при использовании
которого малые возмущения входных данных (ошибки округления), приводят к
сильному изменению результатов расчетов.
 Определение
Численная устойчивость означает непрерывную
зависимость решения от входных данных.
Будем рассматривать однородные разностные уравнения вида
a0Vn a1Vn 1 ... amVn m 0 ,где n=m,m+1,... .
n
Будем искать его решение в виде функции Vn q , где q-число подлежащее
определению.
Получаем уравнение для нахождения q
a 0 q m a1 q m 1 ... a m 1 q a m 0
Уравнение принято называть характеристическим уравнением для
разностных методов.
Говорят, что разностный метод удовлетворяет условию корней, если все
корни уравнения q1 ,..., q m
a0 q m
a1 q m
1
...
a m 1q
am
0
лежат внутри или на границе единичного круга комплексной плоскости,
причем на границе нет кратных корней.
Разностный метод, удовлетворяющий условию корней, называется
устойчивым методом.
Для устойчивых методов порядок аппроксимации удовлетворяет
неравенству
p
m 1, m нечетно,
m 2, m четно.
Для явных m-шаговых устойчивых методов порядок аппроксимации не
превосходит m.
Метод Пикара (последовательных приближений)
Данный метод является представителем класса приближенных методов
решения. Идея метода чрезвычайно проста и сводится к процедуре
последовательных приближений для решения интегрального уравнения, к
которому приводится исходное дифференциальное уравнение.
ПИКАР Эмиль(1856-1941), французский математик.
Рассмотрим задачу Коши
u x
u
f ( x, u ( x))
x
X
164
Интегрируя дифференциальное уравнение, заменим ее интегральным
уравнением типа Вольтерра.
x
u ( x)
f ( , u ( ))d
Решая это уравнение методом последовательных приближений, получим
итерационный процесс Пикара
x
f ( , y s 1 ( ))d .
y s ( x)
На каждой итерации этого процесса интегрирование выполняется либо
точно, либо численными методами.
Пример Решить задачу Коши
y
x
y,
y0
1
Решение
x
y 1
x
y dx
,
0
x
y1
Тогда
1
x 1 dx 1 x
0
x2
dx 1 x
2
x
y2
1
x 1 x
0
y3
1 x
x2
x3
6
x4
24 ,
x 1
y4
x2
2
x2
x3
6
1 x
x2
x3
6
x4 x5
24 120 .
Видно, что при
эти приближения быстро сходятся и позволяют вычислить
решение с высокой точностью.
 Замечание Метод Пикара выгодно применять, если интегралы удается
вычислить через элементарные функции.
Метод малого параметра
Пусть дано дифференциальное уравнение
u
f x,u,
правая часть уравнения зависит от параметра и известно частное решение
y 0 x при некотором значении параметра.
Решение уравнения будем искать в виде
n
u x
0
yn x
n 0
Подставляя этот ряд в исходное уравнение и разлагая f x,u,
Тейлора по степеням
уравнения
yn x
vn x ,
n x yn x
0
, получим для определения
yn x
по формуле
линейные
165
x выражаются через производные f x,u, , а функция
v n x выражается через yk x
0 k n.
Нахождение yn x сводится к квадратурам. Достаточным условием
здесь коэффициенты
n
сходимости является аналитичность f x,u, по всем аргументам.
 Замечание При практическом применении метода малого параметра
специально вводят в правую часть параметр так, чтобы при некотором его
значении легко находилось частное решение.
Пример Решить дифференциальное уравнение: u x
x2
u2 x .
Решение
Решение не выражается через элементарные функции. Если прибавить к правой
2
части u , положив таким образом
x2
f x, u,
тогда при
где
1 сразу видно частное решение
0
1 3
x
3
y0 x
u2
1
c
,
определяется из начального условия.
c
Метод Адамса
Пусть дана задача Коши. Будем рассматривать правую часть уравнения не на
всей плоскости, а только на определенной интегральной кривой,
соответствующей искомому решению, x i - равноотстоящие узлы.
Пусть известно приближенное решение в нескольких точках сетки, тогда в
окрестности этих узлов приближенно можно заменить интерполяционным
xi
многочленом. Имеем
yi
1
y dx
xi
По второй интерполяционной формуле Ньютона имеем
y
yi
q
где q
x
yi
xi
h
1
q q 1
2!
2
yi
q q 1 q 2
3!
2
3
yi 3 ,
, или
q2
3q 2 2q 3
y yi q yi 1
yi 2
yi 3
2!
3!
Подставляя в (1) и учитывая dx hdq, получим
1
q q 1 2
q q 1 q 2
yi h yi q yi 1
yi 2
2!
3!
0
q
q3
2
3
yi
3
dq
Отсюда получаем экстраполяционную формулу Адамса
yi
hy i
1
2
hy i
1
5
12
2
hy i
2
3
8
3
hy i
3
166
Для начала процесса нужны четыре начальных значения. Для определения
начального отрезка используется любой метод.
 Замечание Формулы Адамса рассчитаны на постоянный шаг, это
недостаток.
Джон Адамс в 1845 г. английский астроном и математик, занимаясь
расчетом орбиты планеты Нептун, разработал численный метод решения
дифференциальных уравнений, отличающийся от метода Эйлера более высокой
точностью и экономичностью. При этом все расчеты были проведены им
вручную.
Примеры m-шаговых разностных методов Адамса
Явные методы.
При m=1 порядок точности p=1.
Тогда метод описывается формулой
yn
yn
1
fn 1.
В этом случае получаем метод Эйлера.
При m=2 порядок точности p=2.
Тогда метод описывается формулой
yn yn 1 3
1
fn 1
fn 2.
2
2
При m=3 порядок точности p=3.
Тогда метод описывается формулой
yn yn 1 1
(23 f n 1 16 f n 2 5 f n 3 .
12
При m=4 порядок точности p=4.
Метод описывается формулой
yn yn 1 1
(55 f n 1 59 f n 2 37 f n 3 9 f n 4 ) .
24
Неявные формулы Адамса.
y
yn 1 1
m=1, p=2, n
( f n f n 1 ) -метод трапеций;
2
y
yn 1 1
m=2, p=3, n
(5 f n 8 f n 1 f n 2 ) ;
12
y
yn 1 1
m=3, p=4, n
(9 f n 19 f n 1 5 f n 2 f n 3 ) .
24
Неявные методы содержат искомое значение y n нелинейным образом,
поэтому для его нахождения применяют итерационные методы решения
нелинейных уравнений.
167
Неявные схемы
Неявные схемы решения дифференциального уравнения можно получить,
если записать дифференциальное уравнение и по одному интервалу вычислять
по формуле трапеций
y1
yn
y1
1
1
h
2
f xn , y n
f xn 1 , y n
1
.
Схема имеет второй порядок точности, допускает счет неравномерным
шагом, не требует специальных приемов для начала счета.
2
u 0 1.
 Замечание Разрешима ли задача f ( x, u) u
Тогда на первом шаге

1
h
h 1 y12
2
и при
1
1
2 - вещественного корня нет, не разрешима.
Замечание Как найти корень, если он есть. Метод последовательных
приближений сходится к корню, если h f u
2
, т.е. при достаточно малом шаге.
Если в ходе расчета f u - возрастает, то итерации могут перестать сходиться.
Ограничим число итераций и рассмотрим явную схему.
y n0 1
yn
1
n 1
yn
h f yn
y n2 1
yn
1
h
2
y
f yn
f yn
hfn
дальнейшие итерации не увеличат порядка точности.
Таким образом, неявные схемы с заданным числом итераций мало, чем
отличаются от схем Рунге – Кутта.
Сгущение сетки
Для получения требуемой точности расчета используют апостериорную
оценку точности. Для ее получения расчет проводят на двух или более
сгущающихся сетках и применяют правило Рунге. Если сетка равномерная
h const , то остаточный член пропорционален h p . Поэтому при сгущении
равномерной сеткой применима оценка точности по Рунге.
Если имеются численные решения на двух сетках y ( x, h) и y( x, rh) , где r 1 ,
то погрешность решения на сетке с меньшим шагом составляет
y x, h
y x, h y x, rh
rp 1
Вместо оценки точности, можно погрешность прибавить к численному
решению, уточнив его
y x, h
y x, h
y x, h y x, rh
rp 1
.
168
Контрольные вопросы
Какие методы решения дифференциальных уравнений называются
многошаговыми? Приведите примеры
2.
Сравните решения, полученные методами Эйлера, Рунге-Кутта и
разложением в ряд Тейлора (трудоемкость, погрешность…).
3.
Как оценить погрешность применяемого метода?
4.
Как уменьшить погрешность применяемого метода?
5.
Сравните
одношаговые
и
многошаговые
методы
решения
дифференциальных уравнений.
6.
Укажите достоинства и недостатки одношаговых и многошаговых
методов решения дифференциальных уравнений.
7.
Что такое экстраполяционные методы (формулы) Адамса?
8.
Что такое интерполяционные методы (формулы) Адамса?
9.
Можно ли применять только экстраполяционные методы Адамса?
10.
Можно ли применять только интерполяционные методы Адамса?
11.
Можно ли использовать: а) многошаговые методы без одношаговых;
1.
169
Лекция 17
Краевые задачи
Постановка краевых задач для ОДУ отличается от задач Коши,
рассмотренных ранее, тем, что граничные условия для них ставятся не в одной
начальной точке, а на всех границах расчетного интервала. Если имеется
система N обыкновенных дифференциальных уравнений первого порядка, то
часть из N условий может быть поставлена на одной границе интервала, а
оставшиеся условия - на противоположной границе.
Рассмотрим случай, когда дифференциальное уравнение и краевые условия
линейны. Такая краевая задача называется линейной краевой задачей.
Наиболее часто рассматриваются двухточечные краевые задачи. В таких
задачах условия заданы только на концах отрезка a, b , на котором требуется
найти решение дифференциального уравнения.
Пример Найти решение уравнения второго порядка
y
f ( x, y, y ) ,
удовлетворяющее краевым условиям: y(a) A, y(b) B .
Геометрически это означает: найти интегральную кривую, проходящую через
точки (a, A), и (b, B) .
Пример Найти решение уравнения второго порядка
y
f ( x, y, y ) ,
удовлетворяющее краевым условиям: y (a) A, y (b) B .
Геометрически это означает: найти интегральную кривую, пересекающую
arctg ( A),
arctg ( B) .
прямые x a, x b под заданными углами:
В общем случае краевая задача может
а) не иметь решений,
б) иметь единственное решение,
в) иметь несколько решений.
Пример Краевая задача
y
y 0, y(0)
y( ) 0
имеет бесконечно много решений вида
y C sin( x)
Пример Краевая задача
y
при
y 0, y(0) 0, y(b) 1
0 b
y sin x
при
b
имеет единственное решение
sin b ;
не имеет решений.
170
Линейная краевая задача
Определим линейный дифференциальный оператор:
n
pi x y n
L y
i
x
,
i 0
где pi x i 0,1,..., n – известные, непрерывные на отрезке a, b функции. Тогда
неоднородное линейное дифференциальное уравнение можно записать в
следующем виде:
L y f x ,
где f x – также непрерывная на a, b функция.
Будем рассматривать двухточечные краевые условия.
Краевые условия называются линейными, если они имеют вид:
n 1
yk a
m, k
m, k
yk b
m
, m 1,2,..., n ,
k 0
где
m, k
,
причем
m, k
,
m
– заданные постоянные,
n 1
m, k
m, k
0, при m 1,2,..., n .
k 0
Линейная краевая задача состоит в нахождении решения линейного
дифференциального уравнения, удовлетворяющего линейным краевым
условиям. Предполагается, что краевые условия линейно независимы.
Линейная краевая задача называется однородной, если
1) f x
2)
m
0,
0, m 1,2,..., n .
Однородная краевая задача всегда имеет тривиальное решение y x 0 .
Разумеется, интерес представляют нетривиальные решения задачи.
Для нахождения таких решений в дифференциальное уравнение или в
краевые условия вводят параметр
и ищут те значения параметра, при
которых задача имеет нетривиальные решения. Соответствующие значения
называются собственными значениями или характеристическими числами
задачи. Соответствующие собственным значениям нетривиальные решения
называются собственными функциями задачи.
Будем рассматривать точечно разделенные краевые условия, т.е. условия,
каждое из которых содержит лишь одну из абсцисс. Рассмотрим вначале
решение линейных краевых задач для уравнений второго порядка.
Точное решение возможно лишь в редких случаях, к приближенным относят
разложение в ряды Фурье, методы Ритца, Галеркина, метод стрельбы,
разностные методы.
171
Метод стрельбы
Метод стрельбы или пристрелки (shooting method) – численный метод,
сводит решение краевой задачи к решению серии задач Коши с различными
начальными условиями.
В методе пристрелки рассматривается двухточечная краевая задача для
системы дифференциальных уравнений
yi fi ( x, y1,..., yn ), i 1,2,..., n ,
или в векторной форме
Y ( x) F ( x, Y ) .
В качестве краевых условий заданы значения искомых функций yi x на концах
отрезка a, b , причем часть условий задана в точке a, а другая часть - в точке b:
yi a
i
, i i1 ,..., ik ,
yj b
j
, j
jk 1 ,..., jn .
Числа i и j могут частично или даже полностью совпадать; однако между собой
все числа i различны, также как и числа j.
Метод состоит в сведении краевой задачи к задаче Коши. Для того, чтобы
можно было решать задачу Коши, исходя из точки a, нужно добавить
недостающие (n–k) условий – значений неизвестных функций в точке a. При
отсутствии каких-либо предположений относительно недостающих условий,
эти условия выбираются произвольным образом. Аналогично добавляется k
недостающих значений неизвестных функций в точке b.
Тем самым формируется вектор недостающих или добавленных параметров
P, часть координат которого относится к точке a, и часть к точке b.
После добавления недостающих параметров – добавления недостающих
условий – можно решать задачу Коши, как исходя из точки a, так и исходя из
точки b, – навстречу друг другу.
Обозначим: Ya x, P – решение задачи Коши, исходящее из точки a при
заданном значении вектора P, Yb x, P – решение, исходящее из точки b. Если
добавленные условия (координаты вектора P) выбраны правильно,
то Ya x, P Yb x, P во всех внутренних точках отрезка a, b . Если добавленные
условия неверны, то существует расхождение: Ya x, P Yb x, P . Задача состоит в
поэтапном улучшении первоначально добавленных условий – корректировке
координат вектора P – до тех пор, пока решения не совпадут. В этом и состоит
суть метода пристрелки.
Формально можно сказать, что цель состоит в решении системы уравнений:
Q( xc , P) 0 ,
Однако у нас нет аналитического вида этой системы уравнений. Фактически
T
мы имеем только вектор невязки Q q1 ,, qn – набор каких-то n чисел.
Рассмотрим на примере задачи системы двух уравнений
u x
v x
f x, u, v
f x, u, v
u a ,v a
0
u b ,v b
0.
172
Выберем произвольно значение u a
алгебраическое уравнение
,
a
, рассмотрим краевое условие как
0
Возьмем значение u a
в качестве начальных условий задачи Коши
,v a
и проинтегрируем эту систему любым численным методом. При этом решение
получим, зависящее от , как от параметра. Значение
выбрано так, что
найденное решение удовлетворяет левому краевому условию, однако правому
не удовлетворяет.
Таким образом, решение краевой задачи свелось к решению корня
0.
алгебраического уравнения
Делают пробные выстрелы – расчеты с наудачу выбранными значениями i .
До тех пор, пока среди i не окажется разных по знаку. Пара таких значений
.
i , i 1 , образует вилку. Деля ее, пополам производим пристрелку параметра
Линейные задачи решаются методом стрельбы особенно просто.
Пусть дана линейная система
u x
1
xu
1
xv
v x
2
xu
2
xv
p1u a
q1v a
r1
p2u a
q2 v a
r2
1
2
x
x
Тогда начальные условия задачи Коши примут вид
ua
r1
va
p1
q1
Решение задачи Коши линейно зависит от параметра ,
Тогда решение найденное методом секущих
s 1
s
s
s 1
s
s
s 1
является точным решением
Таким образом, для решения краевой задачи достаточно трижды решить
задачу Коши.
Метод стрельбы прост, применим как к линейным, так и нелинейным
системам. Затруднения лишь тогда когда краевая задача хорошо обусловлена, а
соответствующая ей задача Коши плохо. В этом случае пробуют поставить
начальные условия на другом конце.
Пример Методом пристрелки найти решение краевой задачи:
y
xy
y 2 x, y0
y 0
1, y2
y1
1 1 e 1.6065, h 0.5
Решение
Краевая задача имеет точное решение u x
x exp
x2 2
.
173
Для нахождения приближенного решения методом пристрелки будем
использовать метод Эйлера. Преобразуем исходное уравнение к системе
уравнений первого порядка:
y
z
z,
2 x x z y, y0 1, y2 1.6065.
При выбранном шаге приращения аргумента требуется найти лишь одно
значение неизвестной функции y1 y 1 2 .
Решение по методу Эйлера:
yi
1
yi
h zi ,
zi
1
zi
h 2 xi
xi zi
yi .
Дополняем левое краевое условие:
1
1
y
1
2
1,
z11
y
1 0.5
0.5
z10
p1
0.
Находим
0.75.
0.5,
Получаем значение невязки при выбранном значении добавленного параметра:
Q1 Q p1 0.75 1.6065 0.8565 .
Изменяем значение добавленного параметра и находим новое значение невязки:
2
0
z
p2
Q2
Q p2
y12 1 0.5 2 2,
2,
2
1
z
y22
2 0.5 1.5 2.75.
2 0.5 ( 1) 1.5,
2.75 1.6065 1.1435 .
Используя метод секущих (метод хорд), находим уточненное значение
параметра
p
p2
Q2
p2
Q2
p1
Q1
0.8565 .
Поскольку данная краевая задача линейна, то найденное значение и есть
искомое значение производной неизвестной функции в начальной точке
z0 y 0 . Находим значение y 0.5 :
y1 y0 h p 1 0.5 0.8565 1.4282 .
Отметим, что точное решение задачи равно y 0.5 0.5 exp 1 8 1.3825 .

Замечание Начальное значение фактически является параметром
численного метода и поэтому может сильно повлиять на решение краевой
задачи.
Средства Mathcad позволяют решать краевые задачи для систем ОДУ, в
которых часть граничных условий поставлена в начальной точке интервала, а
остальная часть - в его конечной точке. Также возможно решать уравнения с
граничными условиями, поставленными в некоторой внутренней точке. Для
решения краевых задач в Mathcad предусмотрены соответствующие
встроенные функции, реализующие алгоритм пристрелки. Встроенная функция
sbval, реализующая в Mathcad алгоритм стрельбы, может справляться и с
нелинейными задачами.

Замечание Метод стрельбы не годится для решения жестких краевых
задач.
174
Разностные методы решения краевых задач
Многие краевые задачи не поддаются решению методом стрельбы. Тем не
менее, это не означает, что по-другому решать краевые задачи невозможно,
существуют другие численные алгоритмы решения краевых задач.
Рассмотрим возможную реализацию наглядного метода, называемого
разностным, которым можно решать краевые задачи, как для ОДУ, так и для
дифференциальных уравнений в частных производных.
u x
p xu x
ua
f x
ub
Введем сетку, приближенно выразим производные через значения решения в
узлах сетки
u x
1
un
h2
1
2u n
un
1
обозначая, получим
yn 1
2 h 2 pn y n
yn
h2 f n
1
система из алгебраических уравнений, а неизвестные в ней приближенные
значения решения в узлах сетки. Число неизвестных больше числа уравнений,
поэтому
y0
. Исходная задача линейная, разностная аппроксимация тоже
yN
линейная, в матрице преобладают диагональные элементы, в каждой строке
модуль диагонального элемента больше суммы модулей остальных элементов,
при этом условие решение единственно и существует, найти его можно
методом Гаусса.
Рассмотрим краевую задачу
L y
la y
lb y
u x pxu x
0u a
1y a
0
ub
1
y b
qx y
A
f x
B
Тогда разностным оператором 2 порядка называется
Lh y
u xk
1
2u xk
h2
u xk
1
p xk
u xk
1
u xk
2h
1
q xk y xk
или
Lh yk
f xk
равенство называется разностная схема.
Разностная схема – полная система линейных алгебраических уравнений,
число уравнений N 1 , а матрица – трехдиагональная, неизвестные
y0 , y1 , y N аппроксимирующая исходную краевую задачу. Процесс решения
системы разностных уравнений называют также реализацией разностной
схемы.
Пример Используя метод конечных разностей, составить решение
краевой задачи
175
y
xy
0.5
y
x
1
y 2 2 y ( 2) 1
y 2.3 2.15
Решение
Разобьем отрезок [2, 2.3] на части с шагом h 0.1 , получим четыре узловые
точки.
Данное уравнение во внутренних точках заменим конечно-разностным
уравнением
yi
2 yi
h2
1
yi
1
xi
yi
yi
1
1
2h
0.5
yi
xi
1
i 1,2
Из краевых условий составим конечно разностные уравнения в конечных
точках
y0
y0
2
y3
2.15
4 y1 3 y 0
2h
i 3
1, i
0
Данная задача сводится к решению системы уравнений
y2
y0
y2
y3
y3
4 y1
0.1
2 y1 y 0
0.01
2 y 2 y1
0.01
2.15
3 y0
1
y2 y0
0.2
y y1
2. 2 3
0.2
2. 1
y1
1
2.1
y
0.5 2 1
2.2
0.5
Выполнив преобразования, получим
2.9 y 0
4 y1
375.9 y 0
y2
0.1
841y1
464.1y 2
4.2
391.6 y1 881y 2
488.4 y 3
4.4
y3
2.15
Для решения
элементов.
Ответ
x2
y2
полученной
системы
воспользуемся
схемой
главных
2.235
x 2.1
x 2.2
y 2.1
y 2.2
2.185
2.158
x 2.3
y 2.3
2.15 .
 Замечание Решение краевых задач при помощи разностных схем связано
с необходимостью разработки собственного алгоритма для каждой конкретной
задачи.
176
Задачи для самостоятельного решения
Краевые задачи решить методом стрельбы, используя для решения задачи
Коши метод Эйлера.
Решить также эти задачи методом конечных разностей сначала с шагом h , а
затем с шагом h 2 , оценить погрешность и уточнить решение по правилу Рунге.
1. y 2 y 5 y 5 x 2, y 0 0, y 1 2, h 0.5 .
Точное решение: y x
2. y
xy
x y 0, y 0
Точное решение: y x
3. y
xy
x e1
sin 2 x
.
sin 2
e , h 0.5 .
1, y 1
exp x
x y 0, y 2
Точное решение: y x
x
x2
.
2
1, y 3
exp x
exp
3 2 , h 0.5 .
x2
2
4. y y x y x2 1 x2 , y 1 1, y 2 0, h 0.5 .
Точное решение: y x 1 sin ln x sin ln 2 .
5. y y x y x2 1 x2 , y 1 0, y 2 1, h 0.5 .
Точное решение: y x 1 cos ln x cot ln 2 sin ln x .
6. y 2 y 2 y 2 x 2, y 0 0, y 1 1, h 0.5 .
Точное решение: y x
x 2 e1 x sin x sin 1 .
7. y 2 y 2 y 2 x 2, y 0 1, y 1 1, h 0.5 .
Точное решение: y x x e x cos x e x cot 1 sin x
Контрольные вопросы
1.
2.
3.
4.
5.
6.
Сформулируйте краевую задачу.
В чем суть метода стрельбы?
Что такое разностная схема? К каким задачам применима.
Что такое реализация разностной схемы?
Какие разностные методы знаете?
Что значит точечно разделенные краевые условия?
177
Глоссарий
К лекции 1
Вычислительная математика - раздел современной математики,
рассматривающей вопросы разработки и исследования вычислительных
алгоритмов, и их применение к решению конкретных задач.
Погрешность неустранимая - погрешность, связанная с построением
математической модели объекта и приближенным заданием входных данных.
Погрешность устранимая - погрешность метода решения задачи и ошибки
округления, которые являются источниками малых возмущений, вносимых в
решение задачи.
К лекции 2
Абсолютная погрешность приближения x - величина x , удовлетворяющая
неравенству
x x Ax , где Ax - предельная абсолютная погрешность.
x
Верные n первые значащие цифры приближенного числа - абсолютная
погрешность этого числа не превышает половины единицы разряда,
выражаемого n -ой значащей цифрой, считая слева направо.
Значащая цифра приближенного числа - всякая цифра в его десятичном
изображении, отличная от нуля, и нуль, если он содержится между значащими
цифрами или является представителем сохраненного десятичного разряда
Начальная погрешность – наличие параметров, значения которых
определяются приближенно, таковы все физические константы.
Относительная (предельная) погрешность Δ x приближенного числа x
x -
отношение его абсолютной погрешности Ax к абсолютной величине числа x
Δx
Ax
x
Остаточные погрешности – погрешности бесконечных процессов.
Бесконечный процесс останавливаем на некотором члене, считая его
приближением к искомому решению. Такой обрыв и вызывает остаточную
погрешность.
Плохо обусловленная задача – решение задачи оказывается очень
чувствительным к заданию начальных данных.
Погрешности задачи – идеализированные модели.
Погрешность действия – погрешность, связанная с действиями над
приближенными числами. Производя вычисления с приближенными числами,
погрешности исходных данных переносятся на результат вычисления.
Погрешности округления – погрешности, связанные с системой счисления.
Приближенное число a - число, незначительно отличающееся от точного
числа A и заменяющее последнее в вычислениях. Если a  A - то
приближенное значение по недостатку, если a  A - по избытку.
178
Формула конечных приращений Лагранжа –формула вида:
f x1, x2 ,, xn
y
f x1 , x2 ,, xn
f x1
x1 , x2
x2 ,, xn
xn
n
f x1 , x2 ,, xn
f x1
x1
i 1
Хорошо обусловленная задача – решение задачи в которой малым
погрешностям входных данных отвечают малые погрешности решения
Число обусловленности - количественная мера степени обусловленности
вычислительной задачи, есть коэффициент возможного возрастания
погрешностей в решении по отношению к вызвавшим их погрешностям
входных данных.
К лекции 3
Выравнивание экспериментальных данных – нахождение зависимостей в
экспериментальных данных.
Интерполирование функций (от лат. interpolar — подновлять) - частный
случай задачи приближения, когда требуется, чтобы в определѐнных точках
(узлах интерполирования) совпадали значения функции f и приближающей еѐ
функции g , а в более общем случае - и значения некоторых их производных,
т.е. восстановление промежуточных значений функции внутри интервала по
ряду известных ее значений
Экстраполяция (лат. приставка extra означает «вне») — частный случай
задачи приближения, когда не вошедшее в исследование значение x лежит вне
интервала.
К лекции 4
Интерполяционный полиномом Лагранжа – полином вида:
n
n
Ln x
yi
i 1
j 1, j i
(x x j )
( xi
xj)
Интерполяционная формула Лагранжа – формула для интерполяции
n
Ln x
yk
k 0
x x0 x x1  x xk 1 x xk 1  x xn
xk x0  xk xk 1 xk xk 1  xk xn
Погрешность многочлена Лагранжа
Rn x
max
x [ x0 , xn
f
n 1
x
n 1!
x x0  x xn
.
К лекции 5
Сплайн k й степени - функция, представляющая собой многочлен степени не
выше k на каждом из последовательно примыкающих друг к другу интервалов
xi 1 ; xi , i 1, 2, ..., n , причѐм во всех точках стыка двух интервалов
179
xi , i 1, 2, ..., n 1 функция непрерывна вместе со своими производными до
порядка не выше k .
К лекции 6
Первая интерполяционная формула Гаусса - интерполяционная формула
вида:
yn q Δ y0
Px
q q 1 2
Δy
2!
1
q n 1  q n 2n 2n
Δ y
2n !

n
Конечная разность 1-го порядка - разность между значениями функций в
соседних узлах интерполирования:
Δyi
yi
yi
1
i 0, n 1
Конечная разность 2-го порядка – выражение вида:
Δ2 yi
Δyi
i 0, n 2
Конечная разность – k -го порядка – выражение вида:
Δk yi
Δ Δyi
Δ Δn 1 yi
Δyi
1
Δk 1 yi
1
i 0, n k Δyi
Δk 1 yi
yi
1
yi
i 0, n 1
Оценка погрешности для 1 интерполяционной формулы Ньютона
t t 1t n
Δn 1 y0 , где t
n 1!
Rn x
x x0
h
Оценка погрешности для 2 интерполяционной формулы Ньютона
t t 1t n
Δn 1 yn , где t
n 1!
Rn x
x xn
h
Первая интерполяционная формула Гаусса
Px
yn q Δ y0
q q 1 2
q n 1  q n 2n 2n
Δ y1 
Δ y
2!
2n !
n
Первая интерполяционная формула Ньютона
2
Pn x
Pn x0
h t
y0 t
y0
t t 1
2!
y0

n
y0
t t 1 t n 1
n!
Погрешность интерполяции по формуле Ньютона
Rn x
f
max
x [ x0 , xn
n 1
x
n 1!
x x0  x xn
Разности первого порядка - аналоги первой производной:
yi yi 1 yi - правая разность
yi yi yi 1 -левая разность
yi
1
2
yi
yi
1
yi
2
1
yi
1
-центральная разность
Сеточные функции – функции дискретного аргумента заменяющие в
приближенных методах функции непрерывного аргумента.
180
К лекции 7
Формула левых прямоугольников - формула численного интегрирования
вида:
n-1
I
n-1
n 1
Si
i=0
fi h
h
n 1
fi
i=0
h
n-1
f(xi ) h
i 0
f(a + i h)
i 0
i=0
Формула правых прямоугольников - формула численного интегрирования
вида:
n-1
I=
n-1
n
Si
i=0
f i+1 h = h
i=0
n
fi = h
i=1
i=1
Формула
центральных
интегрирования вида:
n-1
I=
n-1
Si
i=0
fi h = h
i=0
n-1
n
f(xi )= h
fi = h
i=0
n-1
i=0
f(a + i h)
i=1
прямоугольников
-формула
численного
n-1
h
h
f(xi + )= h f(a +i h+ )
2
2 .
i=0
К лекции 8
Квадратурные формулы численного интегрирования - численные методы
интегрирования основанные на различных способах оценки площади.
Первая формула Рунге – оценка погрешности вычислений с делением отрезка
пополам:
Vi
Ii
Ui Vi
2p 1
,
где p - порядок квадратурной формулы, U i ,Vi – результат приближенного
вычисления интеграла.
Вторая формула Рунге – уточненный результат:
Ui Vi
Vi Vi
2p 1
,где
p-
порядок квадратурной формулы,
U i ,Vi
– результат
приближенного вычисления интеграла. .
Формула Ньютона-Котеса - формула численного интегрирования вида:
b
n
f x dx
b a
Bkn f a kh
k 0
n
a
1n k
t t 1 t 2  t n
dt
n k! n k ! 0
t k
Bkn
Формула Симпсона -формула численного интегрирования вида:
I
1
f
3
1
4f 0
f 1
8
3.
Формула трапеций -формула численного интегрирования вида:
I h
I
h
3
f (a) f (b)
2
n 1
f (a) f (b)
2
n 1
f (a i h
i 1
f (a i h) 2f (a ih
i 1
h
)
2
181
К лекции 9
Квадратурная формула Гаусса – формула численного интегрирования
вида:
b
n
b a
2
f t dt
a
Ai f xi
i 1
a b
2
где xi
b a
ti , а t i - нули полинома Лежандра.
2
Формула Гаусса форма наивысшей алгебраической точности.
Полиномы Лежандра – полиномы вида
Pn x
dn
1
2
n
n
x2 1
n
n 0,1,2,
n! dx
.
К лекции 10
b
f x dx
Собственный интеграл
- интеграл вида a
,если промежуток
интегрирования [a, b] конечен, подынтегральная функция f x непрерывна на
[a, b] ,в противном случае интеграл называется несобственным.
Сходящийся несобственный интеграл - интеграл вида
f x dx
a
, если
существует конечный предел
b
f x dx
b
a
f x dx ,
lim
a
если предел не существует, то интеграл называется расходящимся.
Метод Л.В.Канторовича выделения особенностей - метод приближенного
вычисления интеграла от разрывной функции. Идея метода в том, что из
подыинтегральной функции f x выделяют некоторую функцию g x ,
имеющую те же особенности, что и функция f x , а также g x - элементарно
интегрируема на [a, b] и чтобы разность f x g x - была достаточно гладкой,
тогда
b
b
f x dx
a
b
g x dx
a
f x
g x dx ,
a
где первый интеграл берется непосредственно, а второй вычисляется с
помощью стандартных квадратурных формул.
К лекции 11
Изолированный корень - корень уравнения f x 0 , если существует
окрестность, не содержащая других корней этого уравнения.
Корень (решение) уравнения – число с , которое обращает уравнение в верное
числовое равенство, то есть
182
f (c)
0.
Метод дихотомии (метод половинного деления) – метод, состоящий в
последовательном делении начального отрезка a , b пополам и выборе на
каждом шаге деления подотрезка, содержащего корень.
Нелинейное уравнение - уравнение вида
f x 0,
где f x - нелинейная функция.
Эрмитовая матрица (симметричная) - матрица совпадающая с комплексносопряженной транспонированной:
A A.
К лекции 12
Итерационные методы решения систем линейных уравнений - методы,
дающие решение системы уравнений как предел последовательности
приближений, вычисляемых по единообразной схеме.
Матрица перестановок P -квадратная матрица, у которой в каждой строке и в
каждом столбце только один элемент отличен от нуля и равен единице.
Необусловленная (вырожденная, особенная) СЛАУ - система вида:
Ax f ,
определитель которой
= 0, не имеет решений или имеет бесконечное
множество решений
Обусловленная СЛАУ(не вырожденная, не особенная) - система вида:
Ax f ,
определитель которой
0, имеет единственное решение.
Плохо обусловленная СЛАУ – система вида:
Ax f ,
неустранимая погрешность оказывает сильное влияние на решение; у таких
систем определитель
близок, но не равен 0.
Прямые (точные) методы решения систем линейных уравнений методы,
дающие решение системы уравнений за конечное число арифметических
операций.
Элементарная матрица перестановок Pkl - матрица, полученная из единичной
матрицы перестановкой k -й и l-й строк.
К лекции 13
Двухслойный (одношаговый; метод первого порядка) - итерационный метод
xk
1
Fk x0 , x1,, xk , ,
k 0 – номер итерации, начальное приближение x0 – задано, а вектор-
где
функции Fk зависят только от x k и не зависят от остальных приближений к
решению x0 , x1,, xk 1 .
183
Линейные стационарные методы первого порядка – итерационные методы,
представимые в виде
xk 1 B xk C b ,
где B, C – квадратные матрицы, связанные с исходной матрицей A некоторым
соотношением.
Метод Зейделя – модификация метода итерации. Основная идея метода
состоит в том, что новые значения xi используются сразу же по мере получения.
Более быструю сходимость метода простых итераций можно обеспечить, если
для каждой i -ой компоненты вектора решения k 1 приближения
использовать предыдущие компоненты от 1 до i 1 также k 1 приближения,
а остальные компоненты от i до n используются от предыдущего k -го
приближения.
Метод итераций - итерационный метод последовательных приближений,
определяемый формулами:
x1
x0
xk
1
xk
Метод релаксации (метод ослабления) – итерационный метод, заключается в
том, что на каждом шаге обращает в нуль максимальную по модулю невязку
путем изменения значения соответствующей компоненты приближения.
Стационарный итерационный метод – итерационный метод
xk
1
Fk x0 , x1,, xk , ,
k 0 – номер итерации, начальное приближение x0 – задано, а вектор-
где
функции Fk не зависят от номера итерации k (в противном случае нестационарный).
Сходящийся итерационный метод - итерационный метод для которого вектор
погрешности приближенного решения x k ,представим в виде
zk
xk
x,
где zk
0 при k
,а под нормой понимается одна из норм векторов,
согласованных с нормой матрицы A .
К лекции 14
Аналитические методы – методы, в которых решение получается в виде
аналитических функций.
Глобальная ошибка дискретизации - ошибка, накопленная за n шагов.
Gn yn u0 tn .
Дискретизация задачи - искомая функция ищется только в конечном числе
дискретных точек a x0 x1  xN b (узлов сетки), а не на всем
непрерывном отрезке. При этом полагают
yi
( xi ), i 1,2,, n .
Дифференциальное уравнение первого порядка - уравнение вида:
184
y
f x, y
Задача Коши для дифференциального уравнения первого порядка состоит в
том, чтобы найти его решение, удовлетворяющее условию
.
y f x, y ,если y x x y0
0
Пару чисел x0 , y0 называют начальными данными (условиями).
Задача хорошо обусловлена - задача, в которой малые изменения в задании
исходных данных приводят к достаточно малым изменениям искомого
решения.
Интегральная кривая - график решения y
x
Локальная ошибка – ошибка, сделанная на одном шаге приращения
аргумента, при условии, что предыдущие значения точны. Локальная ошибка,
сделанная на n -ом шаге, равна
Ln yn u n 1(t n ) ,
где un t – точное решение уравнения un t f t, un t , при условии un tn yn .
Методы Рунге-Кутта - группа итерационных методов решения задачи Коши.
Метод Эйлера – численный метод решения дифференциального уравнения,
приближенные значения y xi yi вычисляются последовательно hi xi 1 xi .
При этом искомая интегральная кривая y x , проходящая через точку x0 , y0 ,
заменяется ломаной с вершинами xi , yi . Каждое звено ломаной имеет
направление, совпадающее с направлением интегральной кривой, которая
проходит через точку xi , yi .
Погрешность численного метода решения задачи Коши - величина
d max y i
xi .
1 i n
Решение дифференциального уравнения - функция
x , подстановка
которой в уравнение обращает дифференциальное уравнение в тождество:
x
f x, x .
Численные методы - приближенные методы, где искомые интегральные
кривые получают в виде таблиц их численных значений.
Численное решение задачи Коши - таблица приближенных значений решения
yi , причем начальное условие выполняется точно y0 ( x0 ) .
К лекции 15
Методы Рунге-Кутта - численные методы интегрирования обыкновенных
дифференциальных уравнений.
Метод Рунге-Кутта четвертого порядка точности (наиболее употребляемый
на практике) имеет вид:
yk
y0
!
yk
h
(
6
1
2
2
2
3
4 ),
u0
185
f ( xk , yk ),
h
f ( xk
, yk
2
h
f ( xk
, yk
2
f ( xk h, yk
1
2
где
3
4
1
2
2
2
3)
),
),
Если f ( x, y) C 4 (G) , то погрешность процедуры O(h 4 ) .
Метод “предиктор-корректор” - численный итерационный метод решения
дифференциального уравнения, решается в два этапа.
yk
1
yk
yk
1
yk
hf ( xk , y k )
f ( xk , y k )
h
f ( xk 1 , y k 1 )
2
На первом этапе ―предсказываем‖ значение yk 1 по методу Эйлера. На
втором этапе это значение корректируется путем усреднения угловых
коэффициентов в точках ( xk , y k ) и ( xk 1 , y k 1 ) .
В этом методе значение неизвестной функции в каждой точке сетки
вычисляется дважды. Сначала вычисляется новое значение неизвестной
функции y n 1 с помощью менее точной явной формулы – формулы предиктор.
Затем это значение уточняется с помощью неявной формулы – формулы
корректор; при этом для вычисления величины fn 1 используется найденное
значение yn 1.
Одношаговые методы – методы, обладающие свойством самостартованием,
т.е. для вычисления значения функции в новой точке используется ее значение
в предыдущей точке.
Порядок (степень) точности метода типа Рунге – Кутта - число s , для
которого погрешность приближенного равенства yi y xi 1 y xi величина
порядка h2 .
К лекции 16
Линейный m-шаговый метод - метод, который можно описать формулой:
m
m
yn 1
h
0.
i yn 1 i
i fn 1 i ,
m
m
i 1
i 0
система разностных уравнений вида:
a0 y n
a1 y n
1
...
am yn
τ
m
b0 f n
b1 f n
1
...
bm f n
m
,
где n=m,m+1; a k , bk - числовые коэффициенты не зависящие от n; k=0,1,…,m.
Невязка - погрешность аппроксимации методов, функция вида:
m
rn
ak
m
un
k
bk f (t n
k , un k )
,
где u (t ) -точное решение дифференциального уравнения.
k 0
k 0
186
Неустойчивый метод - метод решения, при использовании которого малые
возмущения входных данных (ошибки округления), приводят к сильному
изменению результатов расчетов.
Пикара метод – приближенный метод решения дифференциального уравнения
u x
u
f ( x, u ( x))
x
X
с помощью интегрального уравнения.
Устойчивый метод- метод, при использовании которого решение меняется
мало при малых изменениях входных данных.
Численная устойчивость означает непрерывную зависимость решения от
входных данных.
Шаговый метод явный представим в виде
a0 y n a1 y n 1 ... a m y n m
b0 f n b1 f n 1 ... bm f n m
τ
если коэффициент b 0 =0. В противном случае метод называется неявным, и
для нахождения y придется решать нелинейное уравнение вида
m
a0
ak
y n b0 f(t n ,y n )
(bk t n k
yn k )
τ
τ
k 1
.
Экстраполяционная формулу Адамса
yi
hy i
1
2
hy i
5
12
1
2
hy i
2
3
8
3
hy i
3
К лекции 17
Двухточечные краевые задачи – краевые задачи, в которых требуется найти
решение дифференциального уравнения и краевые условия заданы только на
концах отрезка a, b .
Линейная краевая задача – краевая задача, в которой дифференциальное
уравнение и краевые условия линейны. Линейный дифференциальный
оператор:
n
pi x y n
L y
i
x
,
i 0
где pi x i 0,1,..., n – известные, непрерывные на отрезке
Неоднородное линейное дифференциальное уравнение в виде:
L y f x ,
где f x – также непрерывная на a, b функция.
Двухточечные краевые условия
a, b
функции.
n 1
m, k
yk a
m, k
yk b
m
, m 1,2,..., n ,
k 0
187
где
m, k
,
m, k
,
m
– заданные постоянные, причем
n 1
m, k
m, k
0, при m 1,2,..., n .
k 0
Линейная краевая задача называется однородной, если
1) f x
2)
m
0,
0, m 1,2,..., n .
Однородная краевая задача всегда имеет тривиальное решение y x 0 .
Метод стрельбы – численный метод, сводящий решение краевой задачи к
решению серии задач Коши с различными начальными условиями.
Разностная схема - полная система алгебраических уравнений вида
Lh yk
f xk ,
где
Lh y
u xk
1
2u xk
h2
u xk
1
p xk
u xk
1
u xk
2h
1
q xk y xk
-разностный оператор 2 порядка, f ( xk ) - известные функции, неизвестные
y0 , y1 , y N , аппроксимирующая исходную краевую задачу.
Реализация разностной схемы - процесс решения системы разностных
уравнений.
Точечно разделенные краевые условия - условия, каждое из которых
содержит лишь одну из абсцисс.
188
Рекомендуемая литература
Основная
1.
2.
3.
4.
Бахвалов Н.С и др. Численные методы. - М.: Физматлит,2000.
Азаров А.И. и др. Сборник по методам вычислений - М.: Наука, 1994.
Бахвалов Н. С. и др. Численные методы в задачах и примерах. - М.: Высшая
школа, 2000.
Самарский А.А., Гулин А.В. Численные методы. - М.: Наука, 1989.
Дополнительная
1.
2.
3.
4.
5.
Демидович Б.П., Марон И.А. Основы вычислительной математики. - М.:
Наука, 1970.
Демидович Б.П. и др. Численные методы анализа. - М.: Гос. изд-во физ.мат литературы, 1967.
Верисбицкий В.М. Численные методы. - М.: Высшая школа, 2001.
Верисбицкий В.М. Численные методы. Линейная алгебра и нелинейные
уравнения. - М.: Высшая школа, 2000.
Копченова Н.В., Марон И.А. Вычислительная математика в примерах и
задачах. - М.: Наука, 1972.
189
Документ
Категория
Без категории
Просмотров
24
Размер файла
5 721 Кб
Теги
matematiki, starozhilova, blatov, vichislitel
1/--страниц
Пожаловаться на содержимое документа