close

Вход

Забыли?

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

?

Blatov Starozhilova Vychislitelnaya matematika uchebnoe posobie

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
Кафедра высшей математики
И.А.Блатов, О.В.Старожилова
ВЫЧИСЛИТЕЛЬНАЯ
МАТЕМАТИКА
Учебное пособие
Самара
2017
УДК 519.6
Рекомендовано к изданию методическим советом ПГУТИ,
протокол № 45 , от 10.03.2017 г.
Блатов,И.А..
Б
Вычислительная математика: учебное пособие // Блатов
И.А.,Старожилова О.В.. – Самара: ПГУТИ, 2017. –205 с.
Учебное пособие затрагивает такие разделы вычислительной
математики как методы теории приближения функций; численное
дифференцирование и интегрирование; методы решения задач
линейной алгебры, нелинейных уравнений.
Предназначено в качестве учебного пособия для студентов направления
подготовки 09.03.02. «Информационные системы и технологии», а также
для студентов и магистрантов других направлений подготовки и
специалистов,
желающих
изучать
вычислительную
математику
самостоятельно. Пособие содержит ряд инженерных задач с акцентом
на программную реализацию методов вычислительной математики.
Каждый раздел заканчивается контрольными вопросами, которые
помогут проверить теоретическое освоение курса, содержит большое
количество задач для самостоятельного решения и ответы для
проверки.
Блатов И.А., Старожилова О.В., 2017
2
Содержание
Введение ...............................................................................6
Глава 1 Вычислительная математика......................................8
1.1 Предмет вычислительной математики ........................8
1.2 Влияние алгоритма на результаты вычислений .........9
1.3 Экономичность вычислительного метода ...................13
1.4 Погрешность вычислительного метода .......................14
Глава 2 Теория погрешностей .................................................16
2.1 Основные источники погрешностей ............................19
2.2Значащие цифры и верные значащие цифры числа ....20
2.3 Неустранимая погрешность функции ..........................24
2.4 Погрешность суммы ......................................................26
2.5 Погрешность разности ..................................................28
2.6 Погрешность произведения ..........................................28
2.7 Погрешность частного...................................................30
2.8 Погрешность степени ....................................................32
2.9 Вычислительная погрешность ......................................35
2.10 Обусловленность задачи .............................................35
Задачи для самостоятельного решения..............................39
Контрольные вопросы .........................................................40
Глава 3 Приближение функций ...............................................42
3.1 Задача приближения ......................................................43
3.2 Задачи интерполирования функций .............................44
3.3 Общая задача интерполирования .................................46
3.4 Ошибка полиномиальной интерполяции ....................47
3.5 Метод наименьших квадратов ......................................48
Глава 4 Интерполяционный многочлен Лагранжа .................54
4.1 Оценка погрешности .....................................................56
Задачи для самостоятельного решения..............................59
Задачи для самостоятельного решения..............................59
Контрольные вопросы .........................................................60
4.2 Интерполирование сплайнами.....................................61
Задачи для самостоятельного решения..............................67
Контрольные вопросы .........................................................67
3
Глава 5 Конечные разности различных порядков .................68
5.1 Интерполяционные формулы Ньютона .......................69
5.2 Погрешность полинома Ньютона.................................73
5.3 Интерполяционные формулы Гаусса ...........................75
5.4 Таблица центральных разностей ..................................76
Контрольные вопросы .........................................................77
Глава 6 Численное дифференцирование .................................78
6.1 Вычисление производной .............................................79
6.2 Формулы приближенного дифференцирования .........80
6.3 Формулы, основанные на разностных отношениях ...82
6.4 Задача вычисления производных в пакете MathCAD 83
Глава 7 Численное интегрирование .........................................85
7.1 Формулы прямоугольников ..........................................88
7.2 Формулы трапеций ........................................................91
7.3 Формула Симсона ..........................................................92
7.4 Выбор шага интегрирования ........................................93
7.5 Квадратурные формулы Ньютона-Котеса ...................95
7.6 Квадратурные формулы Гаусса ....................................98
7.7 Сходимость квадратурных формул .............................105
Задачи для самостоятельного решения..............................105
7.8 Экстраполяция по Ричардсону .....................................106
7.9 Приближенное вычисление несобственных интегралов
................................................................................................109
7.10 Метод Л.В.Канторовича выделения особенностей ..110
Задачи для самостоятельного решения..............................112
Глава 8 Решение нелинейных уравнений ................................113
8.1 Отделение корней ..........................................................114
8.2 Метод половинного деления.........................................117
8.3 Метод простых итераций ..............................................119
8.4 Метод касательных (Ньютона) ....................................123
Задачи для самостоятельного решения..............................124
Глава 9 Решение систем линейных уравнений .......................125
9.1 Метод Гаусса с выбором главного элемента..............128
9.2 Метод квадратных корней ...........................................134
9.3 Схема Халецкого...........................................................137
9.4 Итерационные методы решения СЛАУ ......................141
4
9.5 Метод итераций.............................................................142
9.6 Достаточное условие сходимости процесса итерации
................................................................................................145
9.7 Метод Зейделя ...............................................................148
9.8 Метод релаксации .........................................................151
Задачи для самостоятельного решения..............................158
Глава 10 Решение дифференциальных уравнений .................160
10.1 Метод Эйлера ..............................................................164
10.2 Модифицированный метод Эйлера...........................172
Контрольные вопросы .........................................................173
10.3 Методы Рунге-Кутта ....................................................174
Задачи для самостоятельного решения..............................179
10.4 Многошаговые разностные методы ..........................182
10.5 Устойчивость многошаговых разностных методов 184
10.6 Метод Пикара (последовательных приближений) ..185
10.7 Метод малого параметра ............................................186
10.8 Метод Адамса ..............................................................187
10.9 Примеры m-шаговых разностных методов Адамса..188
10.10 Неявные схемы ..........................................................189
10.11 Сгущение сетки .........................................................190
Контрольные вопросы .........................................................190
Глава 11 Краевые задачи ....................................................192
11.1 Метод стрельбы...........................................................193
11.2 Сеточные функции ......................................................195
11.3 Разностные методы .....................................................195
Глоссарий..............................................................................198
Рекомендуемая литература .................................................205
5
Введение
В настоящее время появился новый способ теоретического
исследования сложных процессов, допускающих математическое описание,
вычислительный эксперимент, т.е. исследование естественнонаучных
проблем средствами вычислительной математики. Разработка и
исследование вычислительных алгоритмов, и их применение к решению
конкретных задач и составляют содержание одного из разделов
современной математики – вычислительной математики.
Первое применение вычислительных методов принадлежит древним
египтянам. С именем среднеазиатского врача, философа и математика АльХоремзи связано понятие алгоритма. Аль-Хорезми (787-850) - таджикский
(узбекский) математик, сформулировал первые правила выполнения
основных 4 арифметических действий.
Разработкой вычислительных методов занимались Л.Эйлер, которому
принадлежит, по-видимому, первый численный метод для решения
обыкновенных дифференциальных уравнений, И.Ньютон, О.Л.Коши,
Ж.Л.Лагранж, А.М.Лежандр, П.С.Лаплас, А.Пуанкаре, П.Л.Чебышёв и
многие другие известные математики. Решающую роль в развитии
вычислительной математики как самостоятельной науки сыграли немецкий
математик Карл Рунге и русский математик, механик и кораблестроитель
А.Н.Крылов.
В наше время вычислительная математика получила значительный
импульс в 1950-е годы, в дальнейшем численные методы нашли свое
применение в таких областях как динамика атмосферы, физика плазмы,
биомеханика, теория оптимизации, математическая экономика и др.
К этому времени в основном были разработаны разнообразные,
достаточно эффективные и надежные алгоритмы приближенного решения
широкого круга математических задач, включающего стандартный набор
задач из алгебры, математического анализа и дифференциальных
уравнений. Решение прикладных задач с использованием ЭВМ можно
разбить на несколько этапов:

Физическая постановка задачи осуществляется на первом этапе и
намечается путь ее решения.

Математическое моделирование. На этом этапе выбирается
математическая модель, адекватно описывающая основные законы
физического процесса.

Выбор численного метода. Для решения задачи необходимо найти
численный метод, позволяющий свести ее к вычислительному алгоритму.
6

Разработка алгоритма решения задачи. Алгоритм можно
представить в виде блок-схемы или стилизованной диаграммы.

Составление и отладка программы. Программа, реализующая
алгоритм решения задачи, записывается на языке программирования
высокого уровня и тестируется.

Анализ результатов счета. Полученные с помощью ЭВМ
результаты анализируются, сравниваются с экспериментальными данными.

Внедрение полученных результатов.
Рассматриваются действия с приближенными числами, вопросы оценки
погрешности вычислений, правила приближенных вычислений, прямые и
итерационные методы линейной алгебры, системы нелинейных уравнений,
задачи интерполирования функций, численного дифференцирования и
численного интегрирования, краевые задачи и задачи с начальными
данными для обыкновенных уравнений и уравнений с частными
производными. Рассмотрены многие современные подходы к численным
методам.
Учебное пособие содержит множество примеров, демонстрирующих
применение рассматриваемых методов, набор задач для самостоятельной
работы. В дополнение приводится разнообразный справочный материал и
краткий глоссарий к основным определениям и методам. В изложении
материала широко используются основы матричного исчисления.
Учебное пособие предназначено для студентов направления подготовки
09.03.02. «Информационные системы и технологии».
7
Глава 1 Вычислительная математика
1.1 Предмет вычислительной математики
Вычислительная математика отличается от других математических
дисциплин и обладает специфическими особенностями. Вычислительная
математика имеет дело не только с непрерывными, но и с дискретными
объектами. Так, вместо отрезка прямой часто рассматривается система
t k kK 0 ,
 f k kK0 ,
вместо непрерывной функции
f x  — табличная функция
вместо первой производной — ее разностная аппроксимация,
например:
f k 1  f k
,
xk 1  xk
где k  0 K , xk 1  xk .
Такие замены, естественно, порождают погрешности метода.
В машинных вычислениях присутствуют числа с ограниченным
количеством знаков после запятой из-за конечности длины мантиссы при
представлении действительного числа в памяти ЭВМ. Другими словами, в
вычислениях присутствует машинная погрешность (округления)  M . Это
приводит к вычислительным эффектам.
В отличие от "классической" математики выбор вычислительного
алгоритма влияет на результаты вычислений.
Существенная черта численного метода — экономичность
вычислительного алгоритма, т.е. минимизация числа элементарных
операций при выполнении его на ЭВМ.
Погрешности при численном решении задач делятся на две категории —
неустранимые и устранимые. К первым относят погрешности, связанные с
построением математической модели объекта и приближенным заданием
входных данных, ко вторым — погрешности метода решения задачи и
ошибки округления, которые являются источниками малых возмущений,
вносимых в решение задачи.
Специфику машинных вычислений можно пояснить на нескольких
элементарных примерах.
8
1.2 Влияние алгоритма на результаты вычислений
3
Пример Вычислить значение выражения  2  1  .
 2 1


Решение
Избавившись от знаменателя, получаем

6 
3
2  1  3  2 2  99  70 2
7
Полагая
а) 2   1,4
5
17
 1,416
12
и рассматривая эти приближения как разные методы вычисления,
получим следующие результаты:
2
75
17 12

в)
6 3  2 2 3
2 1
0,004096
0,005233
0,008000
0,004630
2
99  70 2
1
 0,16
Очевидно, что столь значительное различие в результатах вызвано
влиянием ошибки округления в задании
2.
x
Пример Вычисление функции e с помощью ряда Тейлора.
Решение
Из курса математического анализа известно, что экспонента
представляется своим рядом Тейлора
ex  1  x 
x 2 x3

,
2! 3!
радиус сходимости этого ряда также равен бесконечности.
x
Приведем некоторые результаты расчетов ( e M
- значения экспоненты,
вычисленные на компьютере).
Выходом из этой ситуации может быть использование для
отрицательных аргументов экспоненты формулы
e x 
1

ex
1
x2
1 x 

2!
Естественно ожидать рост ошибок округления при вычислении
рассматриваемой функции при больших значениях аргумента x .
9
ex
x
eM
1
2,718282
2,718282
20
4,8516520  108
4,8516531108
-1
0,3678795
0,3678794
- 10
4,5399930  105
 1,6408609 104
- 20
2,0611537  109
1,202966
x
В этом случае можно использовать формулу e x  en  a  enea , где
n  x .
Пример Вычисление функции sin x с помощью ряда Тейлора.
Решение
Из курса математического анализа известно, что функция синус
представляется своим рядом Тейлора
sin x  x 
x3 x5 x 7


,
3! 5! 7!
причем радиус сходимости ряда равен бесконечности — ряд сходится
при любых значениях x .
Вычислим значения синуса при двух значениях аргумента.
 
Пусть сначала x  0,5236 30 . Будем учитывать лишь члены ряда,
большие, чем 104 . Выполнив вычисления с четырьмя значащими
цифрами, получим sin0,5236  0,5000 , что соответствует принятой
точности.


Пусть теперь x  25,66 1470 .
Если вычисления по данной формуле проводить с восемью
значащими цифрами, то получим абсурдный результат: sin25,66  24
(учитывались члены ряда, большие, чем 108 ).
Разумеется, выходом из создавшейся ситуации может
использование формул приведения.
Рассмотрим пример вычислений с точностью  M  0,005 .
быть
10
Пример Найти разность двух чисел u  1,001 и v  1,002 .
Решение
Проанализируем причину происхождения ошибки, например, при
вычитании двух чисел, взятых с точностью до третьей цифры после
десятичной точки u  1,001 , v  1,002 , разность которых составляет
  vM  uM  0,001 .
В памяти машины эти же числа представляются в виде




u
v
, vM  v 1   M
,
uM  u 1   M
причем
u
v
M
 M и M
 M
Тогда
u
v
, vM  v  v M
uM  u  u M
Относительная ошибка при вычислении разности uM  vM будет равна

uM  vM   u  v   uM  u   vM  v   u Mu  v Mv
u  v 
u  v 
u  v 
uM  vM
2M

 2000M  1
Очевидно, что  

0,001
т.е. все значащие цифры могут оказаться неверными.
1
Пример Вычислить интеграл I n  x ne1 x dx , где n  0,1,2

0
Решение
Интегрирование по частям дает
1

1 x
In   x d  e
n
 x
n 1
1 x 1
e
0
0
1
1 x
 e
0
 
1
 d x  1   nx n 1e1 x dx
n
0
откуда следует
1
I 0   e1 x dx  e  1  7,71828 ,
0
11
I n  nI n1  1 , n  1 .
Тогда
I1  1  I0  1  0,71828 ,
I 3  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 ,
I 4  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 не имеют смысла.
Дело в том, что ошибка, сделанная при округлении I 0 до 6-ти значащих
цифр, сохранилась при вычислении I1 , умножилась на 2! при вычислении
I 2 , на 3! — при вычислении I 3 , и так далее, т.е. ошибка растет очень
быстро, пропорционально n! .
Пример Рассмотрим рекуррентное соотношение
ui 1  qui , i  0 , u0  a , q  0 , ui  0 .
Пусть при выполнении реальных вычислений с конечной длиной
мантиссы на i-м шаге возникла погрешность округления, и вычисления
проводятся с возмущенным значением
uiM  ui   i ,
тогда вместо ui 1 , получим
uiM1  qui   i   ui 1  q i ,
т.е.  i 1  q i , q  0,1,
Следовательно, если q  1 , то в процессе вычислений погрешность,
связанная с возникшей ошибкой округления, будет возрастать (алгоритм
неустойчив).
В случае q  1 погрешность не возрастает и численный алгоритм
устойчив.
12
1.3 Экономичность вычислительного метода
Пример Пусть требуется вычислить сумму
S  1  x  x2    x1023 при 0  x  1 .
Решение
Для последовательного вычисления
x, x 2 ,, x1023  x1022  x
необходимо проделать 1022 умножения, а затем столько же сложений.
Однако если заметить, что
1  x1024
,
S
1 x
то количество арифметических действий значительно уменьшается; в
частности, для вычисления x1024 требуется всего 10 умножений:
x 2  x  x; x4  x 2 x 2 ,, x1024  x 512x 512
Пример Вычисления значений многочленов.
Если вычислять значение многочлена
Px   a0  a1x  a2 x 2    an x n
как значения каждого члена и суммировать, то окажется, что необходимо

n
выполнить  n 2     умножений и n сложений.
2

Кроме того, такой способ вычислений может привести к накоплению
ошибок округления при вычислениях с плавающей точкой.
Его очевидным улучшением является вычисление каждого члена
последовательным умножением на x . Такой алгоритм требует 2n  1
умножение и n сложений.
Еще более экономичным алгоритмом является хорошо известная в
алгебре схема Горнера:
Px   an x  an1 x  an2 x    a0  ,
требующая n операций сложения и n операций умножения.
Этот метод был известен в средние века в Китае под названием ТяньЮань и был заново открыт в Европе в начале XIX века математиками
Горнером и Руффини.
Горнер Уильям Джордж (Horner William George), 1786-1837,
английский математик. Основные исследования относятся к теории
13
алгебраических уравнений. Разработал способ приближенного решения
уравнений любой степени. В 1819 г. ввёл важный для алгебры способ
деления многочлена на двучлен (схема Горнера).
Руффини Паоло— итальянский математик (1765—1822), доктор
медицины; первый доказал невозможность решения в радикалах всех
уравнений высших степеней, начиная с 5-й.
Пример Рассмотрим систему линейных алгебраических уравнений
вида Au  f , u  u1,, un  , f   f1,, f n  ,
с трехдиагональной матрицей
T
T
 b1 c1 0

a b c
A 2 2 2
0 a3 b3

0  0

 0


 0

c3  0 


an bn

Если проводить решение такой системы без учета специфической
структуры матрицы (например, с помощью метода Гаусса), то количество
арифметических действий будет порядка n3 , если же учесть эту структуру,
то количество операций можно уменьшить до n .
1.4 Погрешность вычислительного метода
Оценим погрешность при вычислении первой производной при помощи
соотношения:
f x  h   f x 
f x  
h
2
f x  h   f x  f x   hf x   O h  f x 

 f x   Oh 
h
h
где Oh  есть погрешность метода.
В данном случае под погрешностью метода понимается абсолютная
величина разности
 
f x  
f x  h   f x 
,
h
14
которая составляет Oh  (более точно
h
f   , где   x, x  h ).
2
Если же взять другой метод вычисления производной
f x  h   f x  h 
,
2h
то получим, что его погрешность составляет O h 2 , это оказывается
существенным при малых h . Однако уменьшать h до бесконечности не
f x  
 
имеет смысла, что видно из следующего примера.
Реальная погрешность при вычислении первой производной будет
2 M
h

max f     
 O  h   O h 1 ,
2  x , x  h
h
поскольку абсолютная погрешность вычисления значения функции за счет

машинного округления не превосходит

2 M
.
h
В этом случае можно найти оптимальный шаг h . Будем считать полную
погрешность в вычислении производной  функцией шага h . Отыщем
минимум этой функции. Приравняв производную h  h  к нулю, получим
оптимальный шаг численного дифференцирования
hопт  2
M
max
 x, x  h 
f  
Выбирать значение h меньше оптимального не имеет смысла, так как
при дальнейшем уменьшении шага суммарная погрешность начинает расти
из-за возрастания вклада ошибок округления.
15
Глава 2 Теория погрешностей
Одним из главных вопросов, возникающих при численном решении
вычислительных задач, является оценка достоверности полученного
результата. Под погрешностью понимается некоторая величина,
характеризующая точность результата. Источником погрешности
результата может быть математическая модель, исходные данные,
приближенный метод решения и округления при вычислениях.
Источник возникновения погрешностей можно проследить, следуя
этапам численного решения задачи.
Во-первых, это погрешность, вносимая математической моделью
задачи.
Величина погрешности, вносимой в результат математической
моделью, может возрасти, если в модели не учтены какие-либо важные
характеристики изучаемого явления.
Кроме того, исходные данные вносят свою долю (иногда основную) в
образование погрешности результата.
Эти
источники
погрешности
называют
неустранимыми
погрешностями, так как их нельзя полностью устранить ни до начала
решения задачи, ни, тем более, в процессе ее решения.
Еще одним источником погрешности является численный метод. Во
многих численных методах, связанных, например, с приближенным
вычислением интегралов или с нахождением промежуточных значений
функции, заданной в виде таблицы, используется идея приближения
функции с помощью алгебраического многочлена степени n . Это
приводит к образованию погрешности, связанной с такой заменой.
При вычислении на ЭВМ неизбежно возникает погрешность
округления в силу ограниченности разрядной сетки компьютера.
Например, при округлении в компьютере максимальная относительная
погрешность равна  max  0.5   1k , где 
– основание системы
счисления, k – количество разрядов мантиссы числа. Если просто
отбрасывать лишние разряды, то эта погрешность может возрасти в два
раза.
Рассмотрим математические характеристики точности задания
исходных данных задачи.
 Определение Приближенное число a называется число,
незначительно отличающееся от точного числа A и заменяющее последнее
16
в вычислениях. Если a  A - то приближенное значение по недостатку,
если a  A - по избытку.
 Замечание В теории погрешностей при округлении чисел
применяется правило дополнения при округлении: если первая
отбрасываемая цифра больше или равна 5, то последняя сохраняемая цифра
увеличивается на 1. Если первая отбрасываемая цифра меньше 5, то
последняя сохраняемая цифра остается без изменения. Обозначим через x –
точное значение некоторой величины, а через x  – ее приближенное
значение.
Погрешность приближенного числа x  , т.е. разность x   x , обычно
неизвестна. Обозначим погрешность приближенного числа
x   x   x .
Под оценкой погрешности x  понимают установление неравенства
вида:
 x  x   x  Ax


 Определение Пусть x и x  — точное и приближенное значение
некоторой величины, соответственно. Тогда абсолютной погрешностью
приближения x  называется величина  x  , удовлетворяющая неравенству
 x  x   x  Ax


Число Ax называется предельной абсолютной погрешностью.
Практически число  x  чаще всего неизвестно, и, следовательно,
нельзя определить абсолютную погрешность по формуле , поэтому вводят
ее оценку сверху.
Ax
В
качестве
стараются
указать
наименьшее
число,
удовлетворяющее неравенству. Иначе можно записать
x   Ax  x  x   Ax .
Часто полученное неравенство, задающее область неопределенности
точного значения x , записывают в виде
x  x   Ax .
17
В записи приближенного числа, полученного в результате измерения,
обычно отмечают его предельную абсолютную погрешность.


 Замечание Если x  x , то ошибка положительна, x  x , то ошибка
отрицательна. Во многих случаях знак ошибки Δ неизвестен, поэтому в
качестве абсолютной погрешности пользуются
 Замечание
Абсолютная
Δ  Δ
.
погрешность–величина
размерная,

имеющая размерность x  x .
Поясним сказанное на примерах.
С помощью абсолютной погрешности можно отразить количественную
сторону погрешности некоторого результата, но не качественную.
Введем понятие относительной погрешности.
 Определение
Относительной (предельной относительной)
погрешностью Δx  приближенного числа x   x называется отношение его
абсолютной погрешности Ax к абсолютной величине числа x  , т.е.
Δx 

Тогда
x  x
x


Ax 
x

Ax 
x
 Δx  и x  1  Δx   x   x  1  Δx  .
 Замечание Относительная погрешность–величина безразмерная и
обычно выражается в процентах.
Пример Определить, в каком случае качество вычислений выше:
x1 
13
 0,684 ; x2  52  7,21 .
19
Рeшение
Вначале определим абсолютные погрешности x1 и x 2 . Для этого
берем числа x1 и x 2 с большим числом знаков:
13
 0,68421 ;
19
52  7,2111 .
Определим абсолютные погрешности, округляя их с избытком:
Ax  0,68421  0,684  0,00022
1
18
Ax  7,2111  7,21  0,0012
2
Далее определим относительные погрешности для x1 и x 2 :
Δx 

1
Δx 

2
Ax 
1
x1
Ax 
2
x2


0,00022
 0,00033  0,04%
0,684
0,0012
 0,00017  0,02%
7,21
Сравнивая Δx  и Δx  , видим, что качество приближенных вычислений во
1
2
втором случае оказалось выше, чем в первом.
2.1 Основные источники погрешностей
Погрешности, встречающиеся в математических задачах, могут быть
разбиты на 5 групп.

Погрешности задачи – идеализированные модели.
Математические формулировки редко отображают реальные явления,
принимаются условия, упрощающие задачу.

Остаточные погрешности – наличие бесконечных
процессов. Бесконечный процесс останавливаем на некотором члене,
считая его приближением к искомому решению. Такой обрыв и
вызывает остаточную погрешность.

Начальная погрешность – наличие параметров, значения
которых определяются приближенно, таковы все физические
константы.

Погрешности округления – связанные с системой
счисления.

Погрешность действия – связаны с действиями над
приближенными числами.
Производя вычисления с приближенными числами, погрешности
исходных данных переносятся на результат вычисления. При решении
конкретной задачи те или иные погрешности отсутствуют, или их влияние
ничтожно.
19
2.2Значащие цифры и верные значащие цифры числа
При решении различных прикладных задач часто ставится условие
получить результат с определенной точностью  , например,
  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 10 nm1 a1  0
Все сохраняемые десятичные знаки ai , i  1, m называются значащими
цифрами числа a  , среди них есть равные нулю, за исключением a1 .
 Определение Значащей цифрой приближенного числа называется
всякая цифра в его десятичном изображении, отличная от нуля, и нуль, если
он содержится между значащими цифрами или является представителем
сохраненного десятичного разряда.
Пример 0,003090 –первые нули не значащие.
Пример 73200 – все цифры значащие.
 Определение n первые значащие цифры приближенного числа
являются верными, если абсолютная погрешность этого числа не
20
превышает половины единицы разряда, выражаемого n -ой значащей
цифрой, считая слева направо.
Т.е. если известно, что Δ  A  a 
1
10m n 1 , то первые n цифр
2
am , am1,, amn1 верные
Пример A  36,98 приближенно a  37,00 является
приближенным с тремя верными знаками, т.к.
1
2
Δ  36,98  37,00  0,02   0,1
 Теорема Если положительное приближенное число a имеет n
верных десятичных знаков, то относительная погрешность  этого числа
1
не превосходит  
 10 
n 1
, деленную на первую значащую цифру данного
числа, т.е.
1 1

 
am  10 
n 1
Доказательство
Пусть a   m 10 m   m1 10 m1     mn1 10 mn1
Имеем по определению Δ
 m  0 .
1
10m n 1  Δ A  a 
2
1
A  a  10 m  n 1
2
m
Заменим a на меньшее  m 10 , т.е.

1
1
1 

A   m 10 m  10 mn 1  10 m   2   m 
2
2
10 n 1 

1
1
m
наименьшее при n  1 , тогда A  10  2   m  1 , но
n 1
2
10
1
2   m  1   m   m  1   m , то A  10 m   m
2
21
1
10 m  n 1
 2
1
1
Следовательно  



A 1
 m 10 n 1
  m 10 m
2
Или

1
m
1
 
 10 
n 1
 Следствие За предельную относительную погрешность числа a можно
принять величину
1 1
a 
 
 m  10 
n 1
.
Пример Какова предельная относительная погрешность
вместо  взять 3.14?
Решение
am  3
n  3,
 a , если
2
1 1
1
1
тогда  a     
 %.
3  10 
600 6
Пример Если при записи числа 237000 надо показать, что три
последних нуля не являются значащими цифрами, то пишут это число
следующим образом:
237  103 , или 23,7  104 , или 2,37 105 , или 0,237 106 .
Абсолютные и относительные погрешности для приближенных
вещественных чисел тесно связаны с очень важным понятием верных
значащих цифр.
 Определение Число x  имеет m верных значащих цифр, если для
абсолютной погрешности числа Ax  справедливо неравенство
Ax      n m1 ,
m  1 -я цифра числа
где  
0,5
.
1  1/ 
считается сомнительной.
При   0,5 , говорят о верных значащих цифрах числа x  в узком
смысле слова, а когда   1 , то в широком смысле.
22
Если   10 , то получим, что  
системе счисления  
0,5
 0,5555  0,56 . В двоичной
0,9
0,5
 1.
0,5
Если допускать сдвиг последней верной цифры на два разряда влево,
то в десятичной системе счисления в качестве
можно взять число

0,5
 0,5050  0,56 .
1  1 / 102
Приближенные числа следует записывать, сохраняя верные знаки. Это
позволяет судить о точности задания этих чисел.
Можно оценить погрешность приближенного числа, указав, сколько в
нем верных значащих цифр. Поясним сказанное на примерах.
Пример Пусть число x  0,00139 имеет три верные значащие
цифры. Определить его абсолютную погрешность.
Решение
Исходя из связи, установленной между Ax  и m получим
Ax  0,5 10331
n  3, m  3
Ax   0,5 105 .
или
Абсолютная погрешность числа
x
не превосходит величины
5
0,5 10 .
Пример Со сколькими десятичными знаками следует взять число
 , чтобы его абсолютная погрешность не превосходила 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   0,001 .
23
20 ,
Имеем
1
 0,001  10n1  250  n  4 .
n1
4 10
 Замечание Заметим, что если в исходных данных задачи дано число
без указания его абсолютной или относительной погрешности, то
предполагается, что все цифры данного числа являются верными
значащими цифрами.
2.3 Неустранимая погрешность функции
В теории погрешностей рассматриваются две основные задачи: прямая
и обратная. Сформулируем эти задачи и укажем способы их решения.
Прямая задача. Пусть задана функция
y  f x1, x 2 ,, xn 
Требуется, зная приближенные значения аргументов x1 , x2 , , xn и их
абсолютные
погрешности
Ax , Ax ,, Ax  ,

1

2
оценить
неустранимую
n
погрешность функции y  f x1 , x2 ,, xn
Будем решать поставленную задачу при следующих предположениях:
1) f x1, x 2 ,, xn   C1G  где G – некоторая выпуклая область nмерного числового пространства;
2) погрешности Ax  xi , i  1, n ;
1
3)

y  f

погрешность
x1 , x2 ,, xn
приближенного
значения
функции
 требуется найти с небольшой точностью, например,
один-два верных знака.
Сформулированные предположения позволяют сократить объем
вычислений погрешности функции.
В самом деле, по формуле конечных приращений Лагранжа имеем
  f x , x , , x   f x , x , , x   f x  , x  , , x   

y
1
2
n

 
1

2
n

1

x
1
2

x
2
n
xn
n
 f x , x , , x  

1

2

n
f 
x1
x
1
i 1
24
Здесь
f x1   – производные функции, вычисленные в точке
  1, 2 ,, n  отрезка,

соединяющего

x  x1, x2 ,, xn  и
точки
x  x1 , x2 ,, xn .
Координаты точки  неизвестны. Однако в силу второго
предположения о малости погрешностей аргументов функции мы можем
заменить точку  на x  .
Тогда получаем
 
n
 
n
 f x1 x  x   f x1 x Ax
y 

i 1
1
i 1
1
Можно подобрать  x таким образом, что правая часть неравенства
1
будет равна Ay  .
Следовательно, предельная абсолютная погрешность приближенного
значения функции y  вычисляется по формуле
 
n
Ay    f x1 x
i 1
Ax 
1
Тогда, используя определение предельной относительной погрешности
приближенного значения y  , получаем формулу для её нахождения
Δy 

Ay 
y

 
 ln f x
xi
i 1
n

Ax 
1
Можно выразить относительную погрешность
относительные погрешности аргументов.
В этом случае формула примет вид
Δy  
25
Ay 
y

n

i 1
xi
f x1 ( x )

f (x )
Δx

1
x

i
функции

 0, i  1,, n .
через
2.4 Погрешность суммы

Теорема Абсолютная погрешность алгебраической суммы
нескольких приближенных чисел не превышает суммы абсолютных
погрешностей этих чисел.
Доказательство
Пусть a1, a2 , , an - данные приближенные числа. Рассмотрим их
алгебраическую сумму
a  a1  a2    an
 Δa  Δa1    Δan .
 Следствие
За
предельную
абсолютную
погрешность
алгебраической суммы можно принять сумму предельных абсолютных
погрешностей слагаемых
Δa  Δa1  Δa2    Δan
Другими словами, при сложении приближённых величин их
абсолютные погрешности складываются.
Заметим, что формула даёт сильно завышенное значение абсолютной
погрешности, если число слагаемых n велико, т.к. обычно погрешности
имеют разные знаки и при их сложении происходит частичная
компенсация.
В таких случаях можно пользоваться правилом статистической оценки
абсолютной погрешности суммы.
Если погрешности всех слагаемых оцениваются величиной
,
т.е. слагаемые округлены до 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;
Решение
26
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
2.5 Погрешность разности
 Теорема Предельная абсолютная погрешность разности равна
сумме предельных абсолютных погрешностей уменьшаемого и
вычитаемого.
Доказательство
Рассмотрим разность двух приближенных чисел
 a   a   a , ч.т.д.
a  a1  a2 , имеем
1
2
Предельная относительная погрешность разности
a 
 a1   a 2
A
Таким образом, при вычитании приближенных чисел их абсолютные
погрешности складываются.
Пример Оценить погрешность разности z   1,05  1,045
Решение
Нетрудно показать, что погрешность первого числа есть 0,005, а
второго – 0,0005, считая все знаки чисел верными.
Тогда
и
Az   0,0055 , z   0,005
0,0055
Δz  
100%  110% .
0,005
Видим, что при вычитании близких чисел сильно возрастает
относительная погрешность. Таких ситуаций при проведении численных
расчётов следует избегать.
2.6 Погрешность произведения
 Теорема. Относительная погрешность произведения нескольких
приближенных чисел не превышает суммы относительных погрешностей
этих чисел.
Доказательство
Рассмотрим число a :
28
a  a1  a2   an
ln a  ln a1    ln an
Δln a  d ln x 
Δa
Δa Δa1

 n
a
a1
an
 Δa


 a




Δa
a
Δan
Δa Δa1


a
a1
an
  1   2     n
Следовательно, при умножении приближённых чисел складываются их
относительные погрешности. Это правило можно использовать при
решении примеров.
Пример. Найти произведение a1  2,5 a 2  72,397 .
Решение
После округления, имеем a1  2,5 a 2  72,4 , следовательно
a1  a 2  2,5  72,4  181  1,8 10 2 .
Пример Вычислить P  0,35  1,75  3,2 и оценить A p  , Δp  .
Решение
Предполагая, что все сомножители даны с верными знаками, определим
их абсолютные погрешности. Получим соответственно:
Ax   0,005 ; Ax   0,005 ; Ax   0,05 ,
1
где
x1
 0,35 ;
x2
2
x3
 1,75 ;
Δx  
1
Тогда
Δx  
1
Δx  
1
3
 3,2 .
Ax 
1
x1
Ax 
2
x2
Ax 
3
x3

0,005
 0,14  10 1
0,35

0,005
 0,29  10 2
1,75

0,05
 0,16  10 1
3,2
Следовательно, Δp  Δp  Δp  Δp  3,3 102 , Δp  3,3% .
1
29
2
3
Находим непосредственным умножением, что P   1,96 .
Зная, что Ap  Δp  P  , получаем A p  6,5 10 2 .
2.7 Погрешность частного
 Теорема Относительная погрешность частного не превышает
суммы относительных погрешностей делимого и делителя.
Доказательство
a
a1
a2
, ln a  ln a1  ln a2
Δa Δa1 Δa2


a
a1
a2

Δa Δa1 Δa2


a
a1
a2
Таким образом, при делении приближённых величин складываются их
относительные погрешности.
0,75 1,4  0,002
Пример Вычислить
и оценить
r
1,1  3,7
абсолютную и относительную погрешность результата.
Решение
Обозначим, x1  0,75; x2  1,4; x3  0,002; x4  1,1; x5  3,7.
Считаем, что все приближённые числа даны с верными знаками.
Тогда можно оценить их абсолютные погрешности, пользуясь
определением значащих цифр и верных знаков. Имеем:
Ax  0,005; Ax  0,05; Ax  0,0005; Ax  0,05; Ax  0,05; .
1
Теперь
Получаем:
2
можно
найти
3
относительные
4
5
погрешности
xi , i  1,5 .
30
Δx  
1
Δx  
2
Δx  
3
Δx  
4
Δx  
5
Ax 
1
x1
Ax 
2
x2
Ax 
3
x3
Ax 
4
x4
Ax 
5
x5

0,005
 0,67  10  2
0,75

0,05
 0,36  10 1
1,4

0,0005
 0,25
0,002

0,05
 0,46  10 1
1,1

0,05
 0,14  10 1
3.7
Воспользуемся тем, что при умножении и делении приближённых
величин складываются их относительные погрешности. Получим
Δ    Δ   35% , или Δ  35%

Непосредственным вычислением получаем, что r   5,16 104 .
Тогда
A   r   Δ   0,18 103 .
Определим теперь, сколько верных знаков имеет число 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 .
Тогда получаем
31
 3  4  m  1 и m  0 ,
т.е. число r  не имеет ни одного верного знака.
Можно получить формулы погрешности для степенной функции,
показательной, логарифмической и тригонометрических функций.
2.8 Погрешность степени
 Теорема Предельная относительная погрешность n -ой степени
числа в m раз больше предельной относительной погрешности самого
числа.
Доказательство
a  xm
ln a  m  ln x 
Δa
Δx
 m
a
x
 a  m  x

Вывод
при сложении и вычитании приближенных чисел младший
сохраненный десятичный разряд результата должен являться наибольшим
среди десятичных разрядов, выражаемых верными последними значащими
цифрами искомых данных;
при умножении и делении приближенных чисел в результате
следует сохранять столько значащих цифр, сколько их имеет приближенные
данное с наименьшим числом верных значащих цифр;
при возведении в квадрат или куб приближенного числа нужно
сохранять столько значащих цифр, сколько верных значащих цифр имеет
основание степени;
во всех промежуточных результатах следует сохранять на одну
цифру больше, в окончательном результате эта цифра отбрасывается.
Пример
Найти
предельные
абсолютные
погрешности вычисления объёма шара
и
относительные
1
V    d 3 , если диаметр
6
d  4,5  0,05 м , а число    3,14 .
Решение
Так как число   3,14159 , то можно взять A   0,002 .
Имеем AV  
V
V
A  
A .

d d
32
   15,1875( м );
v
1
 d
   ,d   6
Тогда
3
3
 
v
1
   d
d   ,d   2
2
 31,7925( м 2 ).
.
Av  15,1875  0,002  31,7925  0,05  1,62( м3 )
Проводя вычисления, получаем
3
1
V     d   47,68875( м3 )
6
Следовательно,
 
V  V   AV   47,689  1,62( м3 )
Предельная относительная погрешность объема шара есть
A 
1,62
ΔV   V 
 3,4 10 2 ,
47
,
689
V
2
или ΔV   3,4 10 100%  3,4% .
Обратная задача. Найти, каковы должны быть допустимые
погрешности аргументов, чтобы погрешность функции не превосходила
некоторого заданного значения. В такой постановке обратная задача
однозначно разрешима лишь в случае функции одной переменной
y  f x  .
Зная абсолютную погрешность Ay  функции, можно получить
Ax  
Ay 
f ( x  )
,
а затем найти и относительную погрешность аргумента.
Следует отметить, что при решении обратной задачи иногда может
оказаться, что абсолютные погрешности некоторых аргументов настолько
малы, что измерить их с полученной точностью практически невозможно.
В таких случаях используют другие соглашения.
Будем предполагать, что предельные абсолютные погрешности всех
аргументов функции одинаковы, т.е. Ax   Ax     Ax 
1
Тогда имеем
Ax  
1
Ay 
n

i 1
33

f x1 x1 ,, xn
2

, i  1, n
n
Возможны и другие соглашения.
Пример Определить, каковы должны быть допустимые
погрешности числа  , радиуса основания R и высоты H , чтобы
погрешность вычисления объёма цилиндра можно было определить с
точностью до 1%?
Решение
Объём цилиндра определяется по формуле
V   R2 H .
По условию задачи известна предельная относительная погрешность
ΔV   1% . Тогда можно вычислить предельную абсолютную
погрешность:
AV  
ΔV   V 1%    R2 H 

 0,01  R2 H 
100%
100%
Тогда получим:
AR 
AV

10 2
3R H 3
AV
R

 10 2
6 RH 6
A  
2

AV
H
 10 2
3 R 3
Отсюда находим предельные относительные погрешности аргументов:
A 
Δ    100%  0,3%

AR 
ΔR    100%  0,2%
R
A 
ΔH   H 100%  0,3%
H
Убедиться в правильности полученных результатов можно, учитывая,
что при умножении приближённых величин складываются относительные
погрешности сомножителей.
Тогда Δ  Δ  2Δ  Δ  1% .
AH  
V

R
H
34
Данная задача допускает и другое решение. Так как число 
можно практически взять с любым количеством цифр, то его
погрешность можно не учитывать в погрешности объёма.
2.9 Вычислительная погрешность
Проведение численных расчётов на компьютере неизбежно связано с
погрешностью
округления,
иначе
говоря,
с
вычислительной
погрешностью. Округления возникают в силу ограниченности разрядной
сетки компьютера при представлении в нем вещественных чисел.
Округления в ЭВМ производятся путём отбрасывания цифр, не
помещающихся в разрядную сетку.
Следует отметить, что встречаются задачи, которые очень
чувствительны к погрешностям исходных данных. Эта чувствительность
может быть охарактеризована понятием устойчивости, которое входит как
составная часть в понятие корректности. Численные методы
нецелесообразно применять к некорректно поставленным задачам. Эти
задачи требуют особого рассмотрения, и для их решения разрабатываются
свои методы.
 Определение Задача называется поставленной корректно, если для
любых значений входных данных из некоторого класса выполняются
следующие условия:
1) решение задачи существует и единственно в рассматриваемом
классе решений;
2) решение устойчиво относительно входных данных, т.е. малые
изменения во входных данных приводят к малому изменению решения.
Если нарушается одно из условий или сразу оба, то задача называется
некорректно поставленной.
2.10 Обусловленность задачи
В вычислительной практике большое значение имеет обусловленность
задачи, т.е. чувствительность ее решения к малым изменениям входных
данных.
 Определение Задача называется хорошо обусловленной, если малым
погрешностям входных данных отвечают малые погрешности решения, и
плохо обусловленной, если возможны сильные изменения решения.
 Определение Число обусловленности - количественная мера
степени обусловленности вычислительной задачи, есть коэффициент
35
возможного возрастания погрешностей в решении по отношению к
вызвавшим их погрешностям входных данных.
Пусть между абсолютными погрешностями входных данных x и
решения y установлено неравенство
Δ(y  )  vΔΔ( x  ) ,
где x  и y  - приближенные входные данные, и приближенное решение.
Тогда величина vΔ называется абсолютным числом обусловленности.
Если же между относительными ошибками данных и решения
установлено неравенство
 ( y  )  v  ( x  ) ,
то величину  называют относительным числом обусловленности.
Для плохо обусловленной задачи
v  1 .
Грубо говоря, если v  10 N , где v - относительное число
обусловленности, то порядок N показывает число верных цифр, которое
может быть утеряно в результате, по сравнению с числом верных цифр
входных данных.
Ответ на вопрос о том, при каком значении v задачу следует признать
плохо обусловленной, зависит, с одной стороны, от предъявляемых к
точности решения требований, и, с другой, от обеспечиваемого уровня
точности исходных данных.
Например, если требуется найти решение с точностью 0.1%, а входная
информация задается с точностью 0.02%, то уже значение
v  10
сигнализирует о плохой обусловленности.
Однако при тех же требованиях к точности результата гарантия, что
исходные данные задаются с точностью не ниже 0.0001%, означает, что при
 = 103, задача хорошо обусловлена.
Если рассматривать задачу вычисления корня уравнения y = f(x), то роль
числа обусловленности будет играть величина
vΔ
1
,
f ( x0)
где x0 - корень уравнения.
Пример Вычислить все корни уравнения
36
4
8
x 4  4 x 3  8 x 2  16 x  15, 99999999

  x  2  10  0 .
8
Решение
Точное решение задачи легко найти:
x  22  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
При заданных начальных данных точное решение задачи: u ( x)  e t ,
однако, малая погрешность  в их задании приведет к появлению члена
 e t , который при больших значениях аргумента может существенно
исказить решение.
Пример Пусть необходимо
дифференциального уравнения
u   10u,
u (t0 )  u0,
найти
u  u (t )
t  0,1
Решение
Решение имеет вид:
37
решение
u(t )  u0e10(t t0 ) ,
обыкновенного
однако значение u (t 0 ) известно лишь приближенно: u (t0 )  u0 , и на
10(t t0 )
самом деле u  (t )  u0e
.
10(t t )
0
Соответственно, разность u   u будет u   u  (u0  u0 )e
.
Предположим, что необходимо гарантировать некоторую заданную
точность вычислений   0 всюду на отрезке t  0,1 . Тогда должно
выполняться условие
u  (t )  u (t )  
101t0 
Очевидно, что max u  (t )  u (t )  u  (1)  u (1)  u0  u0 e
t0,1
Отсюда можно получить требования к точности задания начальных
данных  : u0  u0   ,    e 10 при t 0  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  210 x19   ,
корни которого
x2  2 , …, x20  20 .
решения
x1  1 ,
Положим, что коэффициент (-210) x19 увеличен на  107 .
38
В результате вычислений с 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.
Найти сумму приближённых чисел 23,44  0,263  445 , все
знаки которых верны, и указать её абсолютную и относительную
погрешности.
2.
Сторона квадрата равна 3,07 м  0,02 м . Вычислить площадь
квадрата, округлив результат до верных знаков.
3.
Определить количество верных значащих цифр в следующих
числах:
x1  0,2365, если
Δx   0,2  101
x1
Δx   0,32  10 4
 426,75, если
1
2
4.
Найти допустимые абсолютные погрешности аргументов,
позволяющих найти значение функции
u  x1 x2  x2 x3 , x1  3,21458, x2  1,32487, x3  0,026534 с пятью
верными знаками.
5.
Определить относительную погрешность чисел
a  27684, b  5,18 , если Aa   0,3 101, Ab  0,4 103 .
6.
Определить количество верных значащих цифр в числах
x1 , x2
:
x1  0,52432 если
Δx   0,02%
x2  29,1846 если
Δx   0,34%
1
2
7.
Найти частное двух чисел 0,327 15,4236 (у делимого и
делителя все знаки верные) и указать относительную погрешность
результата.
8.
Найти допустимое число верных значащих цифр свободного
члена уравнения x 2  4 x  e0,8  0 , чтобы получить корни с тремя
верными знаками.
39
9.
Вычислить значение функции
u
x13  x2 
, x1  2,68; x2  0,498; x3  2,653;

0,6 x3
10.
С какой абсолютной погрешностью следует задать xi , i  1,3 ,
чтобы получить значение функции с тремя верными значащими цифрами.
11.
Определить количество верных значащих цифр в числах
a  38441; b  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 . Определить величину относительной
погрешности корня квадратного из их разности.
Контрольные вопросы
1. Укажите основные источники погрешности при численном
решении задач и дайте классификацию погрешностей.
2. Определите абсолютную и относительную погрешности числа,
верные значащие цифры числа.
3. Сформулируйте прямую и обратную задачу теории погрешностей.
40
4. Что происходит с абсолютными погрешностями при сложении и
вычитании чисел?
5. Чему равны относительные погрешности при умножении и
делении чисел?
6. В чем смысл принципа равных влияний?
7. Сформулируйте определение корректности постановки задачи.
8. Введите понятие вычислительной погрешности (погрешности
округления).
41
Глава 3 Приближение функций
Приближение функций - нахождение для данной функции f другой
функции g из некоторого определённого класса (например, среди
алгебраических многочленов заданной степени), в том или ином смысле
близкой к f , дающей её приближённое представление.
Существует много разных вариантов задачи о приближении функций в
зависимости от того, какие функции используются для приближения, как
ищется приближающая функция g , как понимается близость функций.
Интерполирование функций - частный случай задачи приближения,
когда требуется, чтобы в определённых точках (узлах интерполирования)
совпадали значения функции f и приближающей её функции g , а в более
общем случае - и значения некоторых их производных.
Из курса математического анализа известны некоторые способы
приближения функций.
Например, всякая функция f  x  , непрерывная в окрестности точки
x   и имеющая в этой окрестности непрерывные производные до n - го
порядка включительно, может быть представлена формулой Тейлора
n
f k  
f x   
 x   k  Rn x 
k 0 k!
где Rn  x  - остаточный член, задающий величину ошибки при замене
функции f  x  на многочлен Тейлора
f n 1   x   
Rn x  
 x   n 1
0  1
n  1!
Пример Формула Тейлора единственный способ вычисления
функций y  e , y  cos x и др.
x
x2
xn
e  1 x 

 .
2!
n!
x
Задача о приближении функций возникает при обработке
экспериментальных данных, когда функциональная искомая связь f  x 
получена графически или таблично и требуется построить аналитическую
функцию   x  , заменяющую f  x  в вычислениях.
Дадим математическую постановку задачи о приближении функции.
42
Пусть на некотором множестве X задана система линейно независимых
функций,
 0 x ,1 x ,  n x  ,
которые являются непрерывно дифференцируемыми (достаточно
гладкими). Данная система называется основной.
Тогда функции вида
Pn x  


n
 ck   k  x 
k 0
где ci i  0, n
- числовые коэффициенты, называются обобщенными
полиномами (многочленами) порядка n .
3.1 Задача приближения
Данную функцию f x  требуется заменить обобщенным полиномом
Pn  x  порядка n так, чтобы отклонение функции f  x  от Pn  x  на
P x 
некотором множестве X было наименьшим. При этом полином n
называют аппроксимирующим, а процесс построения такого полинома –
аппроксимацией.
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,cos2 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] , то приближение интегральное.
Для практики весьма важным является приближение функций
обычными и тригонометрическими полиномами.
43
Понятие «отклонение функции» в различных случаях понимается поразному. При этом получаются различные задачи: интерполирование,
аппроксимация сплайнами, среднеквадратичное приближение, равномерное
приближение и др.
3.2 Задачи интерполирования функций
Известны три способа задания функции: аналитический, графический и
табличный. Очень часто для функции одного переменного y  f  x 
необходимо вычислить ее значения в точках x , отличных от значений
аргумента, зафиксированных в таблицах. Такие задачи и формулируются
как задачи интерполирования.
Задача интерполяции функций возникает в тех случаях, когда:
 функция задана в виде таблицы, и необходимо знать значения
функции для промежуточных значений аргументов, расположенных в
таблице между узлами xi , i  0, n , а также для аргументов,
расположенных вне таблицы;
 известна лишь таблица функции и требуется определить ее
аналитическое выражение;
 известно аналитическое выражение функции, но оно имеет
очень сложный вид, вследствие чего возникает необходимость
представления этой функции в более простом виде.
Пусть при изучении некоторого явления установлено, что существует
функциональная зависимость между величинами x и y , описывающая
количественную сторону данного явления; при этом функция y  f (x)
остаётся нам неизвестной.
Однако на основании эксперимента установлены значения этой
y0 , y1 , y 2 , ..., y n ,
x0 , x1 , x2 , ..., xn
функции
при
некоторых
значениях
аргумента
, принадлежащих отрезку a; b .
Задача заключается в том, чтобы найти функцию, по возможности
более простую с точки зрения вычисления её значений (например,
многочлен), которая бы представляла неизвестную функцию y  f (x) на
отрезке a; b точно или приближённо.
44
Пусть
xi  [a, b]
задана
функция
y  f x 
i  0, n, т.е. yi  f xi  .
на
[ a, b]
в
точках
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 этого
множества.
Геометрически задача интерполирования
Построение кривой y    x  , проходящей через точки плоскости с
координатами  xi , yi  .
 Замечание В общем случае через данные точки  xi , yi  можно
провести множество кривых, т.е. в принципе задача неопределена.
Но, если в качестве интерполирующей функции выбрать многочлен
Pn  x  степени не выше n , то задача становится однозначной.
Если   x  выбирается в классе степенных функций, то такая
интерполяция называется параболической.
 Замечание Интерполяция – один из способов аппроксимации
данных.
45
3.3 Общая задача интерполирования
Интерполяция является важным вспомогательным аппаратом при
решении многих задач численного анализа: численного интегрирования и
дифференцирования, при решении дифференциальных уравнений и др.
Пусть на [a, b] задана функция y  f  x  в узлах интерполяции
xi  [a, b]
многочлен
i  0, n своими значениями
yi  f  xi  . Требуется найти
Pn  x  такой, чтобы выполнялось условие:
yi  Pn  xi 
Узлы интерполяции в общем случае неравностоящие, т.е.
hi  xi 1  xi  const .
h
Величины i называются шагом интерполирования.
Представим многочлен Pn  x  в виде
Pn  x   c0  c1  x  c2  x 2  cn  x n
c
где i - неизвестные коэффициенты, константы, которые требуется найти.
Интерполирование с помощью алгебраических многочленов. Получаем
c
систему уравнений относительно i .
c0  x0  c1  x0 2  c2    x0 n  cn  y0
c0  x1  c1  x12  c2    x1n  cn  y1

c0  xn  c1  xn 2  c2    xn n  cn  y n
где xi , yi  - заданы таблично.
Известно, что главный определитель системы - определитель
Вандермонда отличен от нуля, поэтому система имеет единственное
решение и интерполирование функции всегда возможно и единственно:

ci  i
i  0, n

Многочлен принимает вид

Pn  x  

 0 1



 x  2  x2   n  xn




46
Таким образом, рассмотренный метод построения интерполяционного
полинома сводится к решению системы линейных уравнений.
x
i и их числа n непрерывную
При надлежащим выборе узлов
функцию можно на отрезке [a, b] интерполировать сколь угодно точно при
помощи алгебраического многочлена.
Если функция имеет производные достаточно высоких порядков, то по
своему поведению на малом участке она мало отличается от
алгебраического многочлена.
 Замечание Построив интерполяционный многочлен любого вида,
также можно расширить таблицу как влево, так и вправо, вычисляя
построенный многочлен в точках, не принадлежащих таблице (задача
экстраполяции). Кроме того, построив интерполяционный многочлен,
можно уплотнить таблицу, определяя значения функции для
промежуточных аргументов между узловыми точками.
3.4 Ошибка полиномиальной интерполяции
Лучший способ проверить качество интерполяции – вычислить
значения интерполирующей функции в большом числе точек и построить
график. Однако в некоторых ситуациях качество интерполянта можно
проанализировать.
Предположим, что величина 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) 
| ( x  x0 )( x  x1 )...( x  xn ) |
|  ( x) |
M n 1  h
M n 1 ,
(n  1)!
(n  1)!
где M n 1  max | f ( n 1) ( x) | - максимальное значение (n+1)-й производной
функции f (x) на интервале a, b ;  h ( x) 
47
n
 ( x  xi ) .
i 0
Теперь посмотрим, что получится, если интерполировать известную
функцию 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 ba
 ( 2i  1)   , i  0, n .

cos

2
2
 2n  2 
так называемое оптимальное распределение узлов интерполяции на
интервале [a, b] .
3.5 Метод наименьших квадратов
При обработке эмпирических (экспериментальных) зависимостей,
результаты обычно представлены в табличном или графическом виде.
Задача
заключается
в
аналитическом
представлении
искомой
функциональной зависимости, то есть в подборе формулы, корректно
описывающей экспериментальные данные.
Одним из наиболее часто применяемых и сравнительно простых
эвристических методов является метод наименьших квадратов.
Эвристически подбирают функцию (ее называют эмпирической, опытной) с
48
небольшим числом параметров или коэффициентов. Затем отыскиваются
такие значения указанных параметров, которые доставляют минимум
квадрату суммы отклонений значений эмпирической функции в узлах
исходной сетки от исходных данных. Полученная таким образом
эмпирическая функция позволяет однозначно определить недостающие
промежуточные значения.
Пусть данные некоторого эксперимента представлены в виде таблицы
значений переменных 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 (которые обозначим
~
a0 , 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~ , ..., a~ :
параметров a
0
1
n
S
S
S
 0,
 0, ...,
 0.
a0
a1
an
.
~ , a~ , ..., a~ , то оно
Если система имеет единственное решение a
0
1
n
является
искомым
и
аналитическая
зависимость
между
экспериментальными данными определяется формулой
49
y  f ( x)  Q( x, a~0 , a~1 , ..., a~n ) .
Заметим, что в общем случае эта система нелинейна.
Рассмотрим подробнее аппроксимирующие зависимости с двумя
параметрами: y  Qx,  ,   .
Используя данные соотношения и опуская несложные выкладки,
получим систему двух уравнений с двумя неизвестными  и  :
Q( xi , , )
m
 0,
 (Q( xi , , )  yi )


 i 1
.

m
Q( xi , , )
 (Q( xi , , )  yi )
0

 i 1
В частном случае аппроксимации экспериментальных данных с
помощью линейной функции имеем:
y  Q(k , x, b)  kx  b,
Q
Q
 x,
 1.
k
b
Система для этого случая является линейной относительно неизвестных
k и b:
m
m
m

(
kx

b
)

y
)

0
,
bn

k
x

yi ,

i
i



i

 i 1

i 1
i 1
 m
.
m
m
m
 (kx  b)  y ) x  0 b xi  k  xi 2   xi yi
i
i
i
 i 1

i 1
i 1
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 и y i подставляют соответствующие значения X i и
Yi . Нахождение зависимостей называют, выравниваем экспериментальных
данных.
50
Функциональная зависимость y  f (x) определена неявно уравнением
 ( x; y)  k ( x; y)  b разрешимым относительно у в частных случаях.
Пример Установить вид эмпирической формулы y  f (x) ,
используя аппроксимирующие зависимости с двумя параметрами  и  ,
и определить наилучшие значения параметров, если опытные данные
представлены таблицей:
xi
1
2
3
4
5
yi
7,1
27,8
62,1
110
161
Решение
Легко
заметить,
что
экспериментальные
 xi , y i 
точки
лежат
приблизительно на одной прямой. Положим X  ln x; Y  ln y и составим
таблицу для экспериментальных данных в новых переменных:
Xi
0,000
0,693
1,099
1,386
1,609
Yi
1,960
3,325
4,129
4,700
5,081
Точки ( X i , Yi ) лежат приблизительно на одной прямой, в чём легко
убедиться, построив их в системе координат ( X , Y ) .
Наилучшие значения параметров k и b находятся из системы
уравнений:
m
m

bn  k  X i   Yi ,
5b  4,787k  19,166,

i 1
i 1
.

 m
m
m
4
,
787
b

6
,
200
k

21
,
535


2
b X i  k  X i   X iYi ;
i 1
i 1
 i 1
Решив эту систему, получим: b  1,97; k  1,95 .
Неявное уравнение, выражающее связь между переменными x и y
имеет вид ln y  1,95 ln x  1,97 .
Отсюда легко получить прямую зависимость между переменными в
виде степенной функции:
y  e1,97 x1,95 .
Для сравнения можно привести таблицу экспериментальных данных, и
данных, полученных с помощью найденной формулы:
xi
51
1
2
3
4
5
yi
7,1
27,8
62,1
110
161
y  e1,97 x1,95
7,16
27,703
61,081
107,04
165,39
Формула, полученная в результате решения приведённого примера,
является частным случаем аппроксимирующей зависимости с двумя
параметрами, имеющей вид Q( x,  ,  )  x  .
Параметры этой зависимости можно было бы найти из системы
нелинейных уравнений непосредственно, однако применение способа
выравнивания существенно упрощает вычисление параметров. В данном
  e b ,   k .Одну из шести предложенных формул
случае
преобразования следует выбирать одновременно с проверкой линейной
зависимости к исходным данным. Рекомендации по переведению
экспериментальных данных в аппроксимирующие зависимости с двумя
переменными приведены в следующей таблице:
Таблица
№
Выравнивание данных
Эмпирическая формула
(преобразование переменных)

1
X  x; Y  xy
y  x  ,   k ,   b

2
1
1
y
,   k,   b
X  x; Y 
x  
y
3
x
,   k,   b
x  
y
4
x
y
X  x; Y  ln y
5
6
X  ln x; Y  y
X  ln x; Y  ln y
y   ln x   ,   k ,   b
X  x; Y 
y   x ,   e b ,   e k
y  x  ,   e b ,   k
Условием выбора наилучшей эмпирической формулы является
наименьшее
уклонение
исходных
или
преобразованных
экспериментальных данных от прямой. Для наилучшей эмпирической
формулы значение d (уклонение) будет наименьшим.
Уклонение можно определить по формуле:
52
1
 m
2
  (Yi  kXi  b)2 

 .
d   i 1 m

2


Y
i


i 1


Достоинства метода наименьших квадратов - сравнительная простота и
возможность экстраполяции, т. е. определения не только промежуточных
значений, но и значений, лежащих за пределами охваченного сеткой
интервала. Но у метода наименьших квадратов есть и недостатки,
обусловленные интуитивным выбором типа кривой и малым числом
параметров. При большом (относительно параметров) числе задаваемых
значений исходных данных представляется весьма затруднительным
“натянуть” значения эмпирической функции одинаково хорошо на все
исходные данные и тем самым обеспечить наиболее желательную точность.
в)
1
2
3
4
5
xi
7,5
yi
6,2
5,5
3,5
3,0
г)
53
xi
1
2
3
4
5
yi
0,4
0,55
0,13
0,09
0,07
Глава 4 Интерполяционный многочлен Лагранжа
Математическая обработка экспериментальных данных предполагает
представление данных в виде некоторой математической зависимости,
допускающей проведение статистической обработки (сглаживания или
фильтрации) и т. д. Данные эксперимента, получаемые на различных
физических или электронных измерительных установках, задаются обычно
в табличном виде, т. е. рядом значений х и соответствующих им значений у.
Одним из наиболее распространённых и удобных практически
способов построения многочлена, интерполирующего неизвестную
функцию y  f (x) , является многочлен, построенный с помощью
интерполяционной формулы Лагранжа.
Для произвольно заданных узлов интерполирования пользуются
интерполяционной формулой Лагранжа.
Пусть на [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   x  x1  (10)
где A, B, C - неизвестные коэффициенты.
Для
их
определения
воспользуемся
условиями
L2 x0   f x0 , L2 x1   f x1 , L2 x2   f x2 
тогда подставляя в правую часть x  x0 , x  x1 , x  x2 получим
y 0  L2  x 0   A x 0  x1    x 0  x 2 
y1  L2  x1   B x1  x 0    x1  x 2 
y 2  L2  x 2   C  x 2  x 0    x 2  x1 
Вычисляются A, B, C и подставив их в (10) имеем
54
L2 x   y0 
x  x1   x  x2   y  x  x0   x  x2   y  x  x0   x  x1 
x0  x1   x0  x2  1 x1  x0   x1  x2  3 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 
– интерполяционная формула Лагранжа.
Докажем единственность полинома Лагранжа.
Пусть Ln  x  - полином отличный от Ln x  такой что Ln xi   yi , тогда
Qn x   Ln ( xi )  Ln ( x) обращается в нуль в точках x0 , x1,, xn , т.е.
Qn x   0  Ln ( x)  Ln ( x) .
Полином Ln x  , коэффициенты которого определяются из системы,
называется интерполяционным полиномом Лагранжа для функции f x  и
может быть записан в явном виде:
n
Ln x    yi
i 1
n

(x  x j )
j 1, j  i ( xi  x j )
.
Замечание Интерполяционный многочлен в форме Лагранжа в
представленном виде для практических вычислений неудобен. Поэтому
формулу часто приводят к «барицентрическому» виду:
n
Ak
f  xk 
k  0 x  xk
Ln ( x) 
n
A
 k
k  0 x  xk
,

Ak 
где
 xk  x0 
1
 xk  xk 1  xk  xk 1 
 xk  xn  .
 Замечание При интерполяции полиномом Лагранжа степень
полинома п однозначно связана с числом узловых точек. Она на единицу
меньше этого числа Значения ординат интерполирующей функции в
узловых точках совпадают со значениями ординат узловых точек, поэтому
график интерполирующей функции f (x) точно проходит через эти точки.
55
К сожалению, при высокой степени полинома (более 5—6) погрешность
вычислений его значений заметно возрастает, поэтому выбор п выше 6 на
практике нецелесообразен. А это означает, что функция у (х) должна быть
представлена небольшим числом достаточно точных значений.
Проиллюстрируем последнее утверждение графиком, на котором точками
заданы узлы функции (7 точек синусоиды на интервале [0, 2π]), результат
линейной интерполяции в виде ломаной, а – интерполяция по формуле
Лагранжа представлена в виде сглаживающей кривой (расчеты
проводилисьв пакете MathCAD).
 Замечание К недостаткам интерполяции по формуле Лагранжа
относится и довольно большое время вычислений, поскольку формула
интерполяции далеко не проста.
4.1 Оценка погрешности
Если функция f x  непрерывно дифференцируема на a, b до
(n  1) -го порядка включительно, то остаточный член ее
интерполяционного полинома Лагранжа имеет вид:
f ( n 1)  
Rn  f ( x)  Ln ( x) 
(n  1)!
( x  x0 )( x  xn )
где  — внутренняя точка минимального отрезка, содержащего узлы
интерполирования x0 , x1,, xn и точку x . В узлах интерполирования
погрешность обращается в нуль, а в остальных точках она отлична от нуля.
Окончательно имеем, погрешность при использовании многочлена
Лагранжа определяется формулой
f n 1 x 
Rn x   max
 x  x0 x  xn 
x[ x0 , xn n  1!
56
 Замечание При n  1 имеем две точки, и формула Лагранжа
представляет уравнение прямой
x b
xa
y
 y0 
 y1 .
a b
ba
Пример Построить многочлен Лагранжа, если функция задана
таблично
X
Y
1
0
2
3
3
5
4
7
Решение n  3 тогда
 x  2   x  3   x  4  3   x  1   x  3   x  4 
1  2  1  3  1  4  2  1   2  3   2  4 
 x  1   x  2   x  4   x  1   x  2    x  3
5 
 7

 3  1   3  2   3  4  4  1   4  2    4  3
L3  x   0 
x3 9 2 38
 x  x5
6 6
6
Пример Для функции y  sin x построить многочлен Лагранжа,

выбрав узлы x0  0,
1
1
x1  , x2 
6
2
 1

Решение y0  0, y1  sin
6
 , y2  sin  1, n  2
2
2
1 
1
1


x  0   x  

 x   x  
1
6 
2
2

L2  x   0  
0  

1 
1
2 1

 1 1
0  0  
  0   
6 
2

6
 6 2
1
 x  0    x   7
6

1 
  x  3x 2
1
1
1

 
 2
  0   
2
 2 6
Формула Лагранжа может быть применена и для обратного
интерполирования – нахождения аргумента, соответствующего данному
значению функции, т.к. в (11) x, y равноправны и независимы, поэтому их
в данной формуле можно поменять местами.
57
Пример Функция задана таблично. При каком x значение функции
равно 6?
X
0
1
3
4
y
-3
1
13
24
Решение
Имеем n  3 , тогда
 y  1   y  13   y  24  1   y  3   y  13   y  24 
x  0
 3  1   3  13   3  24
1  3  1  13  1  24
 3
 y  3   y  1   y  24  4   y  3   y  1   y  13  1,99
13  3  13  1  13  24
24  3  24  1  24  13
y6
Пример Вычислить, пользуясь
Лагранжа, 105 и оценить погрешность
Решение Рассмотрим функцию y 
формулой
x и запишем значения
X
100
121
144
y
10
11
12
n2
интерполяционной
105  121  105  144   11  105  100   105  144  
L2  x   10 
100  121  100  144 
121  100   121  144 
105  100   105  121  10,245624
 12 
144  100   144  121
Оценим R2 x 
1
1
3
y 
, y  
, y 
,
2 x
8  x5
4  x3
max
x[100,144]
R2 x  
y x  
3
1
3

 10 5 , тогда
8 1005 8
1 3 5
 10  115  100   115  121  105  144  1,6 10 3 .
3! 8
58
Задачи для самостоятельного решения
Экспериментальные данные содержатся в таблицах. Выполнить
следующие операции:
 Нанести экспериментальные точки xi ; yi  на координатную сетку.
 Выбрать формулу преобразования к новым переменным  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
Задачи для самостоятельного решения
По заданной таблице узлов интерполяции построить полином Лагранжа.
Пусть заданы узлы интерполяции (x1, y1), (x2, y2), (x3, y3). Для этих узлов
полином Лагранжа имеет вид:
L2 ( x)  y1
( x  x2 )( x  x3 )
( x  x1)( x  x3 )
( x  x1)( x  x2 )
 y2
 y3
( x1  x2 )( x1  x3 )
( x2  x1)( x2  x3 )
( x3  x1)( x3  x2 )
Вычислить с помощью построенного полинома значения функции в
точках, расположенных между узлами интерполяции.
Для этого значения x01 и x02 подставляются вместо x в построенный
полином. В указанных точках ( x01 и x02 ) рассчитать погрешность
вычисления значений функции F (x) с помощью
выражения функции и полинома Лагранжа по формуле:
59
аналитического
 i  F ( x0i )  Ln ( x0i ) i  1,2 ,
где Ln ( x0i ) - значение полинома Лагранжа.
F ( x)  sh x
1,01
xi
1,19
F ( xi )
1.
1,03
1,08
1,14
1,19
1,22
1,30
1,40
1,49
По построенному интерполянту вычислить значения функции
F (x) в точках x01  1,053 и x02  1,172 .
2 F ( x)  ln x
1,01
1,06
1,10
1,14
1,19
xi
0,01
0,06
0,09
0,13
0,17
F ( xi )
По построенному интерполянту вычислить значения функции
F (x) в точках x01  1,032 и x02  1,171 .
3
F ( x)  e  x
xi
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
Контрольные вопросы
1. Многочлен Лагранжа.
2. Оценка остаточного члена многочлена Лагранжа.
60
4.2 Интерполирование сплайнами
В алгебраическом интерполировании при увеличении числа узлов
увеличивается, как правило, степень интерполяционного многочлена. С
ростом степени полинома возрастает количество операций для вычисления
полинома и как следствие возрастает вычислительная погрешность. Кроме
того, когда интерполирование выполняется для функций, не являющихся
достаточно
гладкими,
интерполирование
высокого
порядка
нецелесообразно. В этом случае лучший результат может дать сплайнинтерполирование. Поэтому распространен другой способ приближения
функций – с помощью сплайнов.
Сплайн-аппроксимация наиболее эффективный метод приближения
функций. В качестве аппроксимирующей функции, строится цепочка
полиномов. Соседние по цепочке полиномы “склеиваются” так, что их
значения и значения их производных на стыках совпадают.
Пусть отрезок 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 .

функция
Определение Интерполяционным сплайном порядка
Sm  x 
,если выполнены следующие условия:
1) на каждом из отрезков
многочленом степени m ;
61
 xk 1,
m
-
xk  k  1, 2, , n Sm  x 
,
,
является
2) на всем отрезке
 a, b 
Sm  x 
m  1;
Sm  xk   f  xk  , k  0,1,
имеет непрерывные производные до
порядка
3)
Если
m  2,
, n.
то для единственности
дополнительно еще
m 1
Sm  x 
следует задать
условий, которые обычно задаются на концах
 a, b , либо произвольно, либо из дополнительной информации о
f  x
поведении
.
отрезка
При m  1 получаем известный метод ломаных.
Пусть на отрезке 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 x 2  ai 2 x  ai 3
причём
значения
сплайна
в
узлах
,
интерполяции
xi
равны
соответствующим значениям заданной функции y i и сплайн-функция
непрерывна в узлах интерполяции, вместе со своими производными
первого и второго порядков:
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;
4 ;
Si( xi )  Si1xi , i  0, 1, 2, ..., n  1;
5 .
Si( 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  .
62
Можно показать, что интерполяционный кубический сплайн для
функции 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  , называемые иногда наклонами сплайна в
узлах интерполяции.
Можно показать, что интерполяционный кубический сплайн вида
2
 x  xi   2  x  xi 1   h 
S  x   Si  x  
yi 1 
h3
 x  xi 1   2  xi  x   h 
2

h3
 x  xi   x  xi 
2
yi 
h2
mi 1 
 x  xi 1   x  xi  m ; x 

2
 xi 1 ; xi  , i  1, 2, ..., n  1.
i
h2
удовлетворяет условиям (2), (3), (4) для любых mi .Можно определить n  1
параметр mi .
Действительно, легко проверить, что
S xi   Si 1( xi )  yi , i  0, 1, 2, ..., n  1 .
Кроме того, вычисления показывают, что
S  ( xi )  Sixi   mi , i  1, 2, ..., n и Si( xi )  Si1xi   mi .
Если учесть, что
Sixi  
63
2mi 1 4mi
y y

 6 i 2 i 1 , i  1, 2, ..., n  1 ,
h
h
h
и Si1xi   
4mi 2mi 1
y y

 6 i 1 2 i , i  1, 2, ..., n  1 ,
h
h
h
а также краевые условия типа I и условие (5), то получим систему из п  1
линейных уравнений относительно неизвестных mi :
m0  b0  f   a  ,

3  yi 1  yi 1 

, i  1, 2, ..., n  1,
mi 1  4mi  mi 1  bi 
h

mn  bn  f   b  .

Решение этой системы позволяет найти значения неизвестных mi и
определить интерполяционный сплайн .
Пример На отрезке    построить кубический сплин,
0; 2 


интерполирующий функцию y  sin x с шагом h 

2
, удовлетворяющий
на концах отрезка краевым условиям типа I. С помощью интерполяционной
формулы вычислить приближённое значение sin
точным значением.
Решение
Будем искать

6
и сравнить его с
y  S x  ,
удовлетворяющее следующим условиям на концах отрезка x0  0 и
x1  h 

2
уравнение
кубической
параболы
:
y 0  S x0   sin x0  0, y1  S h   sin h  1,
m0  S x0   sin  x0  cos x0  1, m1  S (h)  cos h  0.
Подставив полученные значения y0 , y1 , m0 , m1 и h в формулу (6) и
получим сплин вида
x 2 2h  x   h  x  h  x
S x   S1 x  

, x  0; h ,
h3
h2
2
64
откуда
S x   x 
4  32


 

2
x2 
44   

3
x3  x  0,057385 x 2  0,11074 x3 Тогда
 S    0,49196983 . Точное значение, как известно, равно 0,5.
6
Здесь   0,008  0,01. Как видим, в данном (достаточно простом)
sin
6
примере сплин-метод обеспечивает
приближённых вычислений.

h

4
достаточно
высокую
точность

Пример На отрезке 0;  построить кубический сплин с шагом
 2
, интерполирующий функцию y  sin x , если заданы значения
функции в трёх узлах интерполяции:
x
x0  0
x1   / 4  0,7853982
x2   / 2  1,570596
y  sin x
y0  0
y1  0,7071068
y2  1
С помощью
значение sin

6
интерполяционной формулы
вычислить приближённое
и сравнить с точным значением.
Решение
Представим сплин в виде:

 
S1 x , x  0; 4 ,



S x   
S x ,  ;   .
 4 2 
 2
При таком представлении должны удовлетворяться уравнения системы:
m0  sin x0  cos x0  1,

3 y2  y0  3


 , где h  .
m0  4m1  m2 
4
h
h


m2  sin x2  cos x2  0.
65
Заметим, что x 2 
S1  x  

4
x2  2  h  x   h 
h3
 2h . Тогда имеем:
y 1
 x  h
 x  2h   2  x  h   h 
h2
2
S2  x  
h3
2
x x2  x  h 
 

m1 , x  0;  ,
2
h
 4
 x  h   2  2h  x   h   x  2 h  2  x  h 


m ,.
2
y1
h3
 
x ; 
4 2
Учитывая, что 1  4m1 
12

 m1 
h2
1
12  
 0,70493 , получим после
4
преобразований:
 
S1( x)  x  0,0050683975 x 2  0,15514782 x3 , x  0;  ;
 4
  
S2 x   0,166023415x  0,02897055x 2  0,10224607 x3 , x   ;  .
4 2

 
Тогда sin  S1   0,499938 . Здесь   0,000062  0,0001 - весьма
6
6
высокая точность.
Из данных примеров видно, что чем больше количество узлов
интерполяции, тем выше точность приближённых вычислений.
Признанными достоинствами сплайнов считаются высокая точность,
достаточная гладкость и технологическая отработанность. Но проявляются
эти достоинства в полной мере лишь на равномерной сетке и при
невысоких перепадах градиентов.
66
Задачи для самостоятельного решения
y  f (x) кубический сплин,
интерполирующий их на данном отрезке a; b с заданным шагом h .
Построить для указанных функций

 
,
h

. В данном задании найти приближённое

2
 2
1) y  cos x, x  0;
значение cos

3
и сравнить с точным значением.

 
,h .

4
 2
2) y  cos x, x  0;
y  e x , x  0; 1, h  1 . В данном задании найти приближённое
e
значение
и сравнить с точным значением.
4
4) y  ln x, x  1; 2, h  1.
3)
Контрольные вопросы
1. Сформулируйте задачу интерполяции функции y  f (x) на отрезке
a; b.
2. Перечислите достоинства интерполирования на основе кубического
сплайна ( не менее двух).
3. Каждый ли многочлен степени не выше k может быть сплайном?
4. Что такое узлы интерполяции?
67
Глава 5 Конечные разности различных порядков
Конечные разности являются рабочим аппаратом при изучении
функций, заданных таблицей значений в равноотстоящих точках.
Разностные отношения, которые называются также разделенными
разностями, применяются на произвольной системе значений аргумента.
Табулирование функций производится для равностоящих значений


xi  x0  i  h
i  1, n , где
интегрирования. Пусть задана функция y  f  x  , тогда
аргумента,
т.е.
когда
h
-
шаг
 Определение Конечной разностью 1-го порядка
называется
разность между значениями функций в соседних узлах интерполирования:
Δyi  yi 1  yi
i  0, n 1
Из конечных разностей 1-го порядка образуются конечные разности 2го порядка.
Δ2 yi  ΔΔyi   Δyi 1  Δyi
i  0, n  2
Конечная разность – k -го порядка


Δk yi  ΔΔn1 yi  Δk 1 yi 1  Δk 1 yi
i  0, n  k 
Конечные разности различных порядков удобно располагать в виде
горизонтальной таблице разностей.
Таблица конечных разностей
x
y
y
2 y
3 y
4 y
x0
y0
y 0
2 y 0
3 y 0
4 y 0
x1
y1
y1
2 y1
3 y1
x2
y2
y 2
2 y 2
x3
y3
y 3
x4
y4
68
Свойства конечных разностей
1. Δm c1 yk  c2 qk   c1Δm yk  c2Δm qk
2. Конечная разность первого порядка от многочлена степени n есть
многочлен степени n  1 -й степени, а конечные разности n -го порядка от
многочлена степени n постоянны.
5.1 Интерполяционные формулы Ньютона
Пусть заданы значения функции yi  f  xi  для равноотстоящих


значениях аргумента xi  x0  i  h
i  1, n , где h - шаг
интерполяции.
Требуется построить многочлен Pn  x  степени не выше n ,
принимающий в точках xi значения
yi  Pn  xi  .
Такой многочлен может быть построен двумя способами:
P n x   a 0  a 1 x  x 0   a 2 x  x 0   x  x 1   a 3 x  x 0   x  x 1   x  x 2  

   a n x  x 0   x  x 1   x  x n 1

(4)
или
Pn x  a 0  a 1 x  xn   a 2 x  xn   x  xn1     a n x  xn   x  xn1  x  x1 
Выражение (4) первая интерполяционная формула Ньютона и применяется
для интерполирования вперед, т.е. для точек, лежащих вблизи точек x 0 ,
следующая формула вторая интерполяционная формула Ньютона и
используется для интерполирования назад, т.е. для точек, лежащих вблизи
xn .
Выбор формулы определяется той частью таблицы, которая будет
интерполироваться. Формула (4) удобна для интерполирования начальных
значений функции, другая для конечных.
69
Определим коэффициенты a i в формуле (4). Для этого, положим
x  x 0 , получим Pn x 0   y 0  a 0 .
Для определения a1 подставим в (4) x  x1 тогда
Pn x  a0  a1  x1  x0   y0  a1  x1  x0  ,
откуда
a1 
y1  y0
x1  x0

Δy0
,
1!h
где Δy0  y1  y0  f x1   f x0  - первая конечная разность.
Для
определения
a2
подставим
Pn x   a0  a1  x2  x0   a2  x2  x0  x2  x1   y0 
в
x  x2
(4)
тогда
Δy0
 2h  a2  2h2 ,
h
откуда
a2 
y2  y0 2Δy0
2h2

y2  y0 2 y1  2 y0
2h2

y2 2 y1  y0
2h2

Δ2 y0
или
a2 
Δ2 y0
2!h 2
2!h 2
,
.
Продолжая подстановку, введя обозначения  y 0 , получим
0
ak 
Δk y0
k!h k
Pn  x   y0 
(6)
y0
 2 y0
  x  x0  
  x  x0    x  x1  
h
2! h 2
(7)
 n y0

  x  x0    x  x1    x  xn 
n! h n
Полином (7) полностью удовлетворяет требованиям поставленной
задачи.
- степень полинома не выше n
Pn x0   y0  a0
-
70
имеем
Δy0
Δn y0
Pn xk   y0 
 xk  x0     n  xk  x0  xk  x1  xk  xk 1  ,
h
n!h
xk  x0
 k,
h
x k  x0  x k  x1 
h2
 k  k  1 
x k  x0  x k  x 1  x k  x k 1 
hk
тогда
 k  k  1 1
Получим
k  k  1 2
k  k  1  1 k
 Δ y0   
 Δ y0  1  Δk  y0  yk
2!
k!
x  x0
Если ввести обозначения
 t - число шагов, необходимых для
h
Pn xk   y0  k  Δy0 
достижения точки x , исходя из точки x0 .
 2 y0
Pn  x   Pn  x0  h  t   y0  t  y0 
 t   t  1 
2!
 n y0

 t   t  1  t  n  1
n!
.(8)
(8) – первая интерполяционная формула Ньютона. Эту формулу
используют для интерполирования функции в окрестности начального
значения x  x0 , где t мало по абсолютной величине.
Заметим, что при h  0 формула (7) превращается в полином Тейлора
для функции y  f  x  , т.к
k y0  d k y 


 y k  x0 
lim
k
k 

h 0 h
 dx  x  x
0
Pn x   yx0   yx0   x  x0   yx0   x  x0 2 
Если в (8) положить
интерполирования
71
y n x0 
 x  x0 n .
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 .
Формулу Ньютона для интерполирования назад, если подставить в (5)
значения x n , x n1 ,  , x1 .
yn1
 2 yn  2
Pn  x   yn 
  x  xn  
  x  xn    x  xn 1  
h
2! h2
 n y0

  x  xn    x  xn 1   x  x1 
n! hn
сделав замену
x  xn
 t , получим
h
Pn x   Pn xn  h  t   yn  t  Δyn 1   
Δn y0
 t  t  1t  n  1 (9)
n!
 Замечание Первая интерполяционная формула рекомендуется для
интерполяции в начале таблицы.
Пример Построить эмпирическую формулу для функции, заданной
таблично.
x
0
1
2
3
4
5
y
5.2
8.0
10.4
12.4
14.0
15.2
Составим таблицу разностей и убедимся, что вторая разность
постоянна.
x
y
y
2 y
0
1
2
3
4
5
5.2
8
10.4
12.4
14
15.2
2.8
2.4
2.0
1.6
1.2
-0.4
-0.4
-0.4
-0.4
72
Используя интерполяционную формулу Ньютона в форме (7) и
учитывая, что h  1 имеем
0.4
 x  x  1
2
y  5.2  3x  0.2 x 2 .
y  5.2  2.8 x 
Или
 Замечание Интерполяционную формулу Ньютона удобнее
применять в том случае, когда интерполируется одна и та же функция f(x),
но число узлов интерполяции постепенно увеличивается. Если узлы
интерполяции фиксированы и интерполируется не одна, а несколько
функций, то удобнее пользоваться формулой Лагранжа.
5.2 Погрешность полинома Ньютона
Погрешность интерполяции по формуле Ньютона, оценивается также
как и при использовании многочлена Лагранжа, т.е. по формуле
f n1 x 
Rn x   max
 x  x0 x  xn 
x[ x0 , xn n  1!
Однако оценить производную высокого порядка часто бывает трудно,
поэтому на практике пользуются следующим:
- степень интерполяционного полинома должна совпадать с порядком
практически постоянных конечных разностей.
Тогда оценка погрешности для 1 интерполяционной формулы Ньютона
находится по формуле
Rn x  
Для второй
Rn x  
где t 
t  t  1t  n  n1
 Δ y0
n  1!
t  t  1t  n  n1
 Δ yn
n  1!
(10)
(11)
x  x0
x  xn
для (11) и t 
для (12).
h
h
Пример Построить интерполяционный многочлен Ньютона, если
функция задана таблично
X
73
1
2
3
4
Y
0
3
5
7
Решение n  3 тогда h  1 . Составим таблицу конечных разностей.
x
y
y
2 y
3 y
1
2
3
4
0
3
5
7
3
2
2
-1
0
1
По формуле (7) имеем:
P3  x   0  3   x  1 
 1  1  1 
2
2
6
 x  1   x  2    x  3 
1
   x3  9  x 2  38 x  30 
6
Пример Построить интерполяционный многочлен Ньютона для
y  e , если функция задана таблично на отрезке [3.5,3.6] и оценить
x
погрешность.
X
Y
3,5
33,115
3,55
34,813
3,6
36,598
3,65
38,475
3,7
40,447
Решение n  4 , но так как  практически постоянны, примем n  3 .
Составим таблицу разностей
3
X
y
2 y
3 y
1,698
1,785
1,877
1,972
0,087
0,092
0,095
0,005
0,003
Y
3,5
33,115
3,55
34,813
3,6
36,598
3,65
38,475
3,7
40,447
Положим x 0  3,5
h  0,05
P3 x   33,115  1,698 t  0,087 
t  t  1
t  t  1  t  2
 0,005 
2
6
74
x  3,5
 20  x  3,5
0,05
где t 
max y n e3.7  40.447
x[3.5,3.7 ]
Rn x  
40.447
 x  3.5  x  3.55  x  3.6  x  3.65  x  3.7
5!
 Замечание Формулой Ньютона удобно пользоваться для
интерполирования одной функции с меняющейся системой узлов: при
добавлении нового узла
xn 1
 x  x0 
нужно вычислить только одно слагаемое
 x  xn  f  x0 , x1,
, xn 1 
и добавить его к предыдущей сумме.
 Замечание
Свойства
сходимости
или
расходимости
интерполяционного процесса зависят как от выбора последовательности
сеток, так и от гладкости функции f(x).
5.3 Интерполяционные формулы Гаусса
Пусть имеем 2n  1 равноотстоящих узлов интерполирования
x n , x n1 ,  , x 1 , x0 , x1 , , x n , где xi  xi 1  xi  h  const .
Для функции y  f  x  известны ее значения в узлах yi  f  xi  .
Требуется построить полином P x  степени не выше 2n , такой, что
P x i   y i .
Из последнего условия вытекает
Δk Pxi   Δk yi
(12)
Полином ищем в виде
P  x   a0  a1   x  x0   a2   x  x0    x  x1  


 an  x  x n 1 
 x  xn 
(13)
Получим
a2n1 
Δ2n1 yn1
2n  1!h
,
2 n1
Введя обозначения q 
75
a2 n 
Δ2n yn
2n!h 2n
.
x  x0
из (12) получим
h
P x   yn  q Δy0 
q  n  1q  n2n  Δ2n y (14)
q  q  1 2
 Δ y1   
n
2n!
2!
(14) – первая интерполяционная формула Гаусса.
При построении интерполяционных формул Ньютона в качестве
начального приближения x0 выбирается первый или последний узел
интерполирования, для центральных же формул интерполирования
начальный узел является средним.
Наилучший выбор узлов интерполирования дается формулой
П.Л.Чебышева.
5.4 Таблица центральных разностей
При построении интерполяционных формул Ньютона используются
лишь значения функции, лежащие по одну сторону от выбранного
значения, это является их недостатком.
Во многих случаях оказываются полезными интерполяционные
формулы, содержащие как последующие, так и предшествующие значения
функции по отношению к начальному ее значению
xi 
где  i   cos
ba ba

 i
2
2
2i  1
  - нули полинома Чебышева. Эти узлы не являются
2n  2
равноотстоящими, а сгущаются около концов отрезка. Центральные
разности – выражения, расположенные по горизонтальной ломаной
y 1 , y0 , 2 y 1 , Δ3 y2 , Δ3 y1 , Δ4 y2 , 5 y  3 , 5 y  2 , 6 y  3 .
Соответствующие интерполяционные формулы носят названия
интерполяционных формул с центральными разностями (формулы Гаусса,
Стирлинга, Бесселя). Составим таблицу центральных разностей.
76
Контрольные вопросы
1. Конечные разности различных порядков (определение).
2. Таблица разностей (способ построения).
3. Первая интерполяционная схема Ньютона.
4. Вторая интерполяционная схема Ньютона.
5. Оценка остаточного члена.
6. Перечислите интерполяционные формулы с центральными
разностями.
77
Глава 6 Численное дифференцирование
При решении практических задач часто нужно найти производные от
функции y  f  x  , заданной таблично. Это возможно еще в случае, когда
непосредственное дифференцирование затруднено. В этих случаях
необходимо приближенное дифференцирование. Каждая из формул для
интерполяционного многочлена, указанных ранее, может служить
источником для получения формул вычисления производных.
Пусть на отрезке [a, b] рассматривается функция y  f  x  , имеющая
непрерывную производную порядка n  1
Интерполируем y  f  x  посредством интерполирующей функцией
P x  и полагают f x   Px  .
Если погрешность интерполирующей функции P x  ,то
Rx   f x   Px 
- то погрешность производной будет
r x   f x   Px   Rx 
т.е. погрешность производной интерполирующей функции равна
производной от погрешности этой функции.

Пренебрегая R  x  , получим формулу для приближенного вычисления
производной
f m   x   Pnm   x 
Пользоваться
ею
целесообразно
при
небольших
порядках
m
производной, когда m  n .
 Замечание Операция приближенное дифференцирование менее
точная, чем интерполирование. Близость друг к другу двух кривых
y  f x  и y  P x  на отрезке [a, b] не гарантирует близости на этом
отрезке их производных, т.е. малого расхождения угловых коэффициентов
касательных к рассматриваемым кривым при одинаковых значениях
аргумента.
78
6.1 Вычисление производной
Пусть функция y  f x  определена в некоторой окрестности точки x 0
и имеет производную в этой точке, то есть существует предел отношения
функции к приращению аргумента при стремлении последнего к нулю.
y
x 0 x
y x0   f x0   lim
1
Значение производной в точке x 0 можно получить, переходя к пределу в
(1) по последовательности целых чисел п и полагая, например,
x  x n 
x 0
n
. Здесь (x) 0 - некоторое начальное приращение
аргумента,  - некоторое число, большее единицы, n  0, 1, 2, 3, ... .
Тогда значение производной функции y  f x  в точке x 0 запишется так:
Δy n
, Δy n  f x0  Δx n   f x0  .
n Δ
x n
yx0   f x0   lim
Отсюда получаем приближённое равенство
y x0  
y n
x n
2 .
Для функции y  f x  , имеющей непрерывную производную до
второго порядка включительно в окрестности точки x 0 , точность
приближения можно установить, воспользовавшись формулой Тейлора:
y x0  
y n
x n

L
x 0  n , L  cmax
f c  .
 x0 ; x 
2
Для достижения заданной точности  приближения производной можно
при определённом (конечном) числе вычислений использовать неравенство:
Δy n Δy n1

Δx n Δx n1
Пример

Вычислить производную функции y  sin x в точке
x0   / 3 с точностью   103  / 3  1,047198 .
79
3 .
Решение
Положим
(x) 0  0,1;   10; x n  0,1  10  n ,
откуда:
y n  sin 


 0,1  10 n   sin .
3
3

Определим приближённое значение производной:
   y n
y   
 3  x n



sin  0,1  10 n   sin
3
3


, n  0, 1, 2, ...
n
0,1  10
Найдём отношения, аппроксимирующие производную:
 у 
(x)
Заметим, что
 0, 45590189,
0
 у 
(x)
0
2
 0, 49956690,
2
y 3 y 2

x 3 x 2
 у 
(x)
1
 у 
(x)
 0, 49566158,
.
1
3
 0, 49995670
3
 0,00038979390   .
Таким образом, начиная с третьего приближения, получаем искомое
приближение производной данной функции с точностью не меньшей

 
  cos  0,5 .
3
3
заданной. Точное значение y 
6.2 Формулы приближенного дифференцирования
Пусть y  f (x) задана на отрезке [a, b] в
n  1 равноотстоящих
точках xi
Построим формулы для вычисления производных от y  f (x) в любой
точке [a, b] .
Имеем по 1 формуле Ньютона
y  f ( x)  y0  q  y0 
q  q  1 2 q  q  1  q  2 3
  y0 
  y0    (1),
2!
3!
80
где q 
x  x0
h
h  xi 1  xi
Перемножая, после преобразования, имеем
q 3  3q 2  2q3 y0
q2  q 2
y  f ( x)  y0  q  y0 
  y0 
   Для
2!
3!
производной сложной функции имеем
dy dy dq 1 dy


  , тогда
dx dq dx h dq
y 

1
2q  1 2
3q 2  6q  2 3
 Δ y0 
 Δ y0 
Δy0 
h 
2!
3

(2)
аналогично, так как
y  x  
y 
1
h
2
d  y  d  y  dq

 , то
dx
dq dx
Δ y
2
0

 (q  1)  Δ3 y0  
(3)
Для нахождения y , y , в фиксированной точке x , за x0 принимают
ближайшее к x табличное значение аргумента.
В узлах интерполирования (2), (3) принимают наиболее простой вид. В
частности, так как каждое табличное значение можно считать за начальное,
то положим x  x0 , q  0 , тогда формулы будут иметь вид
y( x0 ) 
y 
1
h
2

Δ2 y0 1 3
1
  Δ y0  
Δy0 
h 
2!
3

Δ y
2
0

(4)
 Δ3 y0  
Аналогично можно найти производные и в любой точке x  xi ,
учитывая, что q xi   i . Чтобы получить значение производных в конце
таблицы, то необходимо воспользоваться 2 интерполяционной формулой
Ньютона.
81
Пример
x
y
1
5
2
17
3
35
Найти f 1, f 1,2 .
Решение:
x
y
y
2 y
1
2
3
5
17
35
12
18
6
h 1
Так как x  1 x  x0
q  0 , тогда по формуле (4)
1
1
y 1  y0   2 y0  12   6  9
2
2
Для вычисления f 1,2 воспользуемся формулой (2)
1,2  1
q1,2 
 0,2
1
0,4  1
y 1,2  12 
 6  10,2
2
6.3 Формулы, основанные на разностных отношениях
Приближенное вычисление производных производится на основе
формул, которыми они определяются.
f  x   lim
h 0
f x  h  f x 
h
Разностное отношение дает приближенное вычисление производной.
Эта формула позволяет вычислять производную с любой точностью только
за счет выбора соответствующего шага, позволяет построить простой
вычислительный алгоритм:
1) Задать значение точки, в которой вычисляется производная.
82
2) Задать значение приращение h .
3) Вычислить производную.
Замена бесконечно-малых приращений конечными является причиной
возникновения ошибки.
Для оценки ее величины разложим функцию f  x  в точке x  x в ряд
Тэйлора
f  x 
f  x 
f n 
x 2   
x n 
f  x  x   f  x  
x 
1!
2!
Получим
f  x   f ( x) 
n!
f  x 
x   .
2!
Видно, что все члены начиная с со второго, определяют отличие
численного значения производной от ее точного значения. Основной член
погрешности равен f  xx 2! , т.к. данный член  x , говорят, что формула
имеет первый порядок точности по x .
6.4 Задача вычисления производных в пакете MathCAD
Соответствующий документ состоит из следующих блоков:
1. Задание дифференцируемой функции и ее производной
f(x) := sin(x) df(x) :
d
f(x)
dx
2. Задание пространственной сетки
Xmin := 0 X max :
xi
X
 X min

N := 2000 i := 0 .. N x : max
2
N
xi :=Xmin +
3. Вычисление производной функции
j := 0 .. N  1
dy j :
   
f x j1  f x j
x
4. Построение графика модуля разности между точным и численным
значениями производной
83
5. Вычисление производной функции
m := 1 .. N1
dy2m :
f x m1   f x m - 1 
2  x
6. Построение графика модуля разности между точным и численным
значениями производной
Аналогичным образом поступают при вычислении производных
высших порядков.
84
Глава 7 Численное интегрирование
Задача численного интегрирования заключается в вычислении
значения определенного интеграла на основании ряда значений
подынтегральной функции
Если функция f (x) непрерывна на [a, b] и известна ее первообразная
F  x  , то определенный интеграл от этой функции в пределах от a до b
может быть вычислен по формуле Ньютона-Лейбница
b
 f x dx  F b   F a 

где F  x   f  x  .
a
Однако во многих случаях первообразная F  x  не может быть найдена
с помощью элементарных средств или является слишком сложной, а также
в случаях когда подынтегральная функция не допускает непосредственного
интегрирования подынтегральная функция представлена в виде
бесконечного ряда (ряда Тейлора, тригонометрического ряда и т.д.)
подынтегральная функция задана не аналитически, а таблично (само
понятие первообразной теряет смысл). Во всех случаях необходимо
численное интегрирование.
Численные методы интегрирования универсальны: позволяют
вычислить значение определенного интеграла непосредственно по
значениям подынтегральной функции f (x) , независимо от способа ее
задания или вида аналитического выражения.
Геометрический смысл определенного интеграла – площадь
криволинейной трапеции, ограниченной осью OX, кривой f (x) , и
прямыми x  a и x  b .Численные методы интегрирования основаны на
различных способах оценки этой площади, поэтому полученные формулы
численного интегрирования называются квадратурными (формулами
вычисления площади).
85
Рис. Геометрический смысл определённого интеграла
b
Рассмотрим интеграл I 
 f x dx .
Отрезок [a, b] делят на n
a
необязательно равных частей – элементарных отрезков.
Принято такое деление отрезка называть сеткой, а точки
x0 , x1,, xn n – узлами сетки.
Можно принципиально найти интеграл с любой достаточной заданной
точностью, взяв достаточно малые частичные отрезки [ xi 1 , xi ] и
вычислив достаточно много значений f  i  .
Если сетка равномерная, то h =
b-a
– шаг сетки, при интегрировании
n
– шаг интегрирования, а координата i -го узла вычисляется по формуле:
xi = a +i  h ,
Аналогично, мы вынуждены за
и принять следующее правило
b
 h
i = 0,n
 i брать середины частичных отрезков
3 
5 

h 
 f x dx  h   f  2   f  2 h   f  2 h     f  b  2 
a
Это выражение позволяет вычислить интеграл сколь угодно точно при
всякой функции, но является медленно сходящимся даже для
аналитической функции и требует для этого большого числа значений. Оно
вообще неприемлемо, если интеграл несобственный.
86
Методы вычислений, направленные на очень широкие классы функций,
обычно обладают невысокой точностью и если увеличивать число значений
функции, показывают медленную сходимость. Лучшую точность и
сходимость имеют правила интегрирования, рассчитанные на узкие классы
функций.
Общее правило основано на замене f  x  на элементарную функцию –
алгебраический многочлен, рациональную функцию, тригонометрический
многочлен и т.д. Если f  x  имеет особенность, то необходимо ее
выделить.
Полная площадь криволинейной трапеции состоит из n элементарных
криволинейных трапеций – элементарных площадей:
n-1
I =  Si
i=0
Квадратурные формулы отличаются друг от друга способом оценки
значения Si – площади элементарной криволинейной трапеции.
Рассмотрим получение простейших формул для часто используемой
равномерной сетки.
87
7.1 Формулы прямоугольников
Площадь i-той элементарной трапеции можно оценить (приближенно
вычислить) как площадь прямоугольника со сторонами xi+1 - xi = h и
f i . Тогда Si  fi  h и значение интеграла:
n-1
n-1
n 1
n 1
n-1
i=0
i=0
i 0
i 0
i=0
I   Si   fi  h  h   fi  h   f(xi )  h   f(a +i  h)
fi+1
→ Погрешность
fi
Si
Рис. Оценка элементарной площади Si левым прямоугольником
xi левых прямоугольников,
xi+1
Полученная формула называется формулой
т.к.
для оценки площади использовалось левое основание элементарной
криволинейной трапеции.
Аналогично можно получить формулу правых прямоугольников.
Для данного случая Si  fi+1  h и тогда значение интеграла:
n-1
n-1
n
n
n
i=0
i=0
i=1
i=1
i=1
I =  Si   fi+1  h = h f i = h f(xi )= h f(a +i  h)
fi+1
Погрешность ←
fi
Si
x
xi+1
Рис. Оценка элементарной площади iSi правым прямоугольником
88
Эти формулы не находят широкого применения, т.к. имеют
большую погрешность, пропорциональную величине шага d M  O(h) .Как
появляется эта погрешность, видно на рисунках.
Для повышения точности площадь Si можно оценить, используя
прямоугольник со стороной, равной значению подынтегральной функции в
h
середине элементарного отрезка fi = f(xi + )
2
δ1 ←
~
fi
→ δ2
Si
xi
xi+1
Рис. Оценка элементарной площади Si центральным прямоугольником
~
Si  fi  h
Для данного случая
прямоугольников имеет вид:
n-1
n-1
n-1
и
формула
центральных
n-1
n-1
h
h
I =  Si   fi  h = h fi = h f(xi + )= h f(a +i  h+ )
2
2
i=0
i=0
i=0
i=0
i=0
Как видно из рисунка, погрешность в оценке площади Si в данном
случае существенно меньше, чем в двух предыдущих (погрешность
оценивается разницей площадей δ1 и δ2).Погрешность метода
пропорциональная квадрату величины шага
 x
2,0
Пример Вычислить: I

2
d M  O(h2 )

 1 dx
0,5
Решение
Точное значение легко вычисляется по формуле НьютонаЛейбница:
89
I(
2 23
x3
0,53
8
1 1
 x)
 2(
 0,5)  (  2) - (
 )=
0,5 3
3
3
3
83 2
=
14 13 112  13 99 33




 4,125
3 24
24
24 8
Для вычисления интеграла по квадратурной формуле необходимо
выбрать число узлов n.
b  a 2  0,5

 0,3.
n
5
Расчет по формуле левых прямоугольников:
Пусть n=5, тогда
h
n 1
4
i 0
i 0
I лп  h  f(a  i h)  0,3 f(0,5  i 0,3) 
0,3f(0,5)  f(0,8)  f(1,1)  f(1,4)  f(1,7) 
0,3((0,5 2  1)  (0,8 2  1)  (1,12  1)  (1,4 2  1) 
 (1,7 2  1))  0,31,25  1,64  2,21  2,96  3,89  
 0,3  11,95  3,585
*
 4,125  3,585  0,540 .
Погрешность расчета   I - I
ëï
Расчет по формуле правых прямоугольников:
n
5
i 1
i 1
I пп  h  f(a  i h)  0,3 f(0,5  i 0,3) 
0,3f(0,8)  f(1,1)  f(1,4)  f(1,7)  f(2,0)  


0,3 (0,8 2  1)  (1,12  1)  (1,4 2  1)  (1,7 2  1)  (2,0 2  1) 
0,31,64  2,21  2,96  3,89  5  4,71
Погрешность расчета   4,125 - 4,71 = - 0,585.
Для повышения точности необходимо увеличить n или использовать
более точные квадратурные формулы.
Расчет по формуле центральных прямоугольников:
90
n-1
I цп  h  f(a  i h 
i 0
4
h
)  0,3 f(i 0,3  0,15) 0,3(f(0,65) 
2
i 0
f(0,95)  f(1,25)  f(1,55)  f(1,85))  0,3((0,65 2  1) 
 (0,95 2  1)  (1,25 2  1)  (1,55 2  1)  (1,85 2  1)) 
0,31,4225  1,9025  2,5625  3,4025  4,4225  4,114
Погрешность расчета   4,125 - 4,114= 0,011.
Формула центральных прямоугольников на порядок точнее предыдущих
формул.
7.2 Формулы трапеций
В данном методе
элементарная криволинейная
трапеция
заменяется
трапецией
(кривая
f(x)
заменяется хордой CD).
Рис. Оценка
элементарной площади Si
трапецией
Из рисунка видно, что
Si 
f i  f i 1
 h.
2
Отсюда:
n 1
n 1
fi  fi 1
f f f f f f
f
 h  h ( 0 1  1 2  2 3  ... 
2
2
2
2
i 0
I   Si  
*
i 0

f
n 1 f n
2
n  2 f n 1
2
)
 f(a)  f(b) n 1

f 0  f n n 1
 h (
  fi )  h  
  f (a  i  h) 


2
2
i 1
i 1


91
Погрешность формулы трапеций пропорциональная квадрату шаг h
δ M  O(h 2 )
т.е. формулы центральных прямоугольников и трапеций
имеют близкую точность.
7.3 Формула Симсона
На каждом элементарном отрезке подынтегральная функция f(x)
заменяется квадратичной параболой, построенной по трем точкам: концам
элементарного
( xi

отрезка
( x i , f i ),
( x i 1 , f i 1 )
и
его
середине
h ~
, fi ).Площадь полученной криволинейной трапеции служит
2
оценкой элементарной площади Si:
Si 


~
h
h 
h

 f i  4 fi  f i1    f(x i )  4f(x i  )  f(x i1 ) 
6
6 
2

Тогда значение интеграла:
n 1
~
h
*
I 
f i  4 fi  f i 1
i 0 6
 
  h6 (f 0  4 ~f0  f1  f1  4 ~f1  f 2  
~
~
...  f n 2  4 f n 2   f n 1  f n 1  4 f n 1  f n )
Добавим в скобки
 f 0  f 0 , вынесем общий множитель за скобки:
~ 
h  f n  f 0 n 1
I  
  f i  2 fi  
3  2
i 0


*

h  f(b)  f(a) n 1
h 

   f(a  ih)  2 f(a  ih  ) 
3 
2
2 
i 0 
Формула Симпсона имеет высокую точность, так как погрешность
 
метода  M  O h3
92
 x
2
Пример Вычислим
I
2

 1 dx
по формуле Симпсона.
0,5
Для упрощения расчета возьмем n=2, тогда h=0,75.
 f(b)  f(a) n 1
h 
I c  h 
  (f(a  i h)  2  f(a  i h  )) 
2
2 

i 0

0,75  f(2)  f(0,5) 1

  (f(0,5  i 0,75)  2  f(0,5  i 0,75  0,375)) 
3 
2

i 0

1  (2 2  1)  (0,5 2  1)

 f(0,5)  2  f(0,875)  f(1,25)  2  f(1,625)  

4 
2

1  5  1,25


 (0,5 2  1)  2  (0,875 2  1)  (1,25 2  1)  2  (1,625 2  1)  
4  2

1
16,5
 1,875  1,25  3,53125  2,5625  7,28125 
 4,125
4
4
Погрешность расчета  = 4,125 – 4,125 = 0.
Такой результат объясняется тем, что подынтегральная функция в
примере является квадратичной параболой, и замена ее параболой не
вносит погрешности метода, а погрешность округления в расчётах
отсутствует.
7.4 Выбор шага интегрирования
При вычислении значения определенного интеграла от функций,
заданных аналитически, необходимо обеспечить требуемую точность
расчета  .Точность вычисления можно повысить двумя способами:
 Использовать более точную квадратурную формулу.
 Увеличить количество узлов, соответственно уменьшить шаг
интегрирования h.
На практике обычно используется формула Симпсона, а требуемая
точность расчета достигается вторым из указанных выше способов.
93
Выполняется расчет с выбранным числом узлов n, затем
выполняется расчет с удвоенным их числом. Если результаты отличаются
более чем на требуемую точность, число узлов вновь удваивается. Расчет
заканчивают, когда
*
I n  I 2n  ε , полагая, что | I 2n  I |  , т.е.
последнее вычисленное приближенное значение интеграла отличается от
точного значения не больше чем на заданную точность.
Такой способ называется автоматическим выбором шага
интегрирования и легко реализуется на ЭВМ.
Начальный шаг интегрирования рекомендуется выбирать из
соотношения:
hk 
где
,
k = 1 для формул правых и левых прямоугольников;
k = 2 для формул трапеций и центральных прямоугольников;
k = 3 для формулы Симпсона.
Важно напомнить, что погрешность решения включает погрешности
метода  M и погрешность округления  0 . При увеличении числа узлов n
M
уменьшается, но
арифметических действий
показана на графике. Из
следует выбирать больше
растет  0 , т.к. увеличивается количество
для решения задачи. Зависимость этих величин
графика следует, что требуемую точность 
 кр , иначе требуемая точность не может быть
достигнута.
94
7.5 Квадратурные формулы Ньютона-Котеса
Пусть для данной функции y  f  x  требуется вычислить интеграл
b
 f  x dx .Разделим отрезок [a, b]
на n частей с шагом h  xi 
a
ba
и
n
точки xk  a  kh примем за узлы интерполирования. Тогда
b
 px   g x dx  b  a  
a
где
b
Bkn  b  a 1  Ak  b  a 1  p x  
a
n
 Bkn  f a  kh
k 0
 x 
dx
x  a  kh   a  kh
  x    x  a    x  a  h      x  a  nh
Придадим
Bkn другую форму, введя переменную t , положив
x  a  th , тогда
 x   h n 1  t  t  1  t  2 t  n
x  a  kh  h  t  k 
 a  kh   1
nk
Bkn
h k !n  k ! следовательно
n
n

 1n  k
t  t  1  t  2    t  n 

pa  th 
dt

n  k!n  k ! 0
t k
Остановимся на случае p  1 - весовая функция постоянна.
Формула Ньютона -Котеса имеет вид
b

a
где
Bkn 
95
f  x dx  b  a  
n
 Bkn  f a  kh
k 0
,
 1n  k n t  t  1  t  2  t  n  dt
n  k!n  k ! 0
t k
n
В таблице приведены значения коэффициентов Bk формулы для ряда
значений n до n  4
Таблица 1
k
n
1
2
3
4
0
1
2
Ѕ
1/6
1/8
7/90
4/6
3/8
32/90
12/90
Для больших n правило Ньютона-Котеса не применяется, так как
смежные коэффициенты Bkn и Bkn1 будут иметь большие абсолютные
значения и противоположные знаки,
 Bkn
будет большой и быстро
возрастающей величиной, возникает большая погрешность в квадратурной
сумме.

Замечание При каждом n сумма коэффициентов Ньютона-Котеса
равна 1.
1
2
1
n  2 B02  B22 
6
n  1 B01  B11 
B12 
4
6

Замечание При n  1 формула Ньютона -Котеса преобразуется в
известную формулу трапеции:
b
ba
 f  x  dx  2  f  a   f  b  .
a
При
n  2 квадратурная формула преобразуется
ba
ab



 f  x  dx  6  f  a   4 f  2   f  b  .




a
b
в квадратурную формулу Симпсона или формулу парабол.
Замечание Предпочтительно использовать формулы Ньютона-Котеса
с малыми значениями n , а для уменьшения погрешности результата
отрезок разбивается на достаточно большое число интервалов, и к каждому
96
из них применяют квадратурную формулу с малым числом узлов, затем
результаты складывают.
97
7.6 Квадратурные формулы Гаусса
Параметрами квадратурных формул интегрирования являются узлы и
веса. При построении формул трапеций, Симпсона заранее задаются узлы и
по ним находятся веса, но параметры можно подобрать и так, чтобы
квадратурная формула была точна для любого многочлена степени не выше
2n  1 .
Первую такую формулу для веса   1 построил Гаусс, для
произвольного веса рассмотрел Кристоффель. Идея Гаусса состоит в том,
что можно получить большую точность не фиксируя заранее узлы, а
использовать расположение задаваемых точек таким образом, чтобы
получить наилучшие результаты.
Процесс получается свободный от опасности равноотстоящей
интерполяции полиномами.
Узлами формулы Гаусса-Кристоффеля являются нули многочленов
соответствующей степени Pn  x  , ортогональных на отрезке [a, b] с весом.
 Определение Полиномы вида


n
dn  2
Pn x   n
 n  x  1 

2  n! dx 
1
n  0,1,2,
(1)
называются полиномами Лежандра.
Свойства полиномов Лежандра

1. Pn 1  1


n  0,1,2,
2. Pn  1   1
3. свойства ортогональности
n
1
 Pn x   Qk x dx  0 k  n , где Qk x  - любой полином степени
1
k.

4. полином Лежандра Pn  x  . имеет n различных действительных
корней, которые расположены на интервале  1;1 .
98
Пример Приведем первые пять полиномов Лежандра.
P0  x   1 ,
P1  x   x ,

1
P3  x   5 x 3  3x
2

,
P2  x  



1 2
3x  1 ,
2

1
P4  x   35 x 4  30 x 2  3
8
.
 Замечание Учтем, что
 2
, k  2m
1   1k 1 
 t dt  k  1   k  1

1
, k  2m  1
0
1
k
Рассмотрим функцию f  x  , заданную на промежутке [1,1] . Пусть
f  x   1, t , t 2 , , t 2n 1 .

Теорема Квадратурная формула
1
n
1
i 1
 f t dt   Ai  f ti 
(2)
должна быть точной для всех полиномов f  x  наивысшей возможной
степени N  2n  1 , где t i - нули соответствующего полинома Лежандра и
коэффициенты Ai определяются из системы
99
n
 Ai  2
i 1
n
 Ai  ti  0
i 1

(3)
n
2
 Ai  ti2n  2  2n  1
i 1
n
 Ai  ti2n 1  0
i 1
Доказательство
Как известно (свойство 4), t i - нули соответствующего полинома
Лежандра, действительны, различны и расположены на интервале [1,1] .
1
Действительно, полагая
t
1
k
n
dt  
i 1
tik
 Ai
f t  
2 n 1
 Ck  t k
k 0
Будем иметь
1

1
2 n 1
1
2 n 1
n
k 0
1
k 0
i 1
f  t  dt   Ck   t k dt   ck   Ai  tik 
n
2 n 1
n
i 1
k 0
i 1
  Ai  Ck tik   Ai  f  ti 
.
заключаем, что для решения поставленной задачи, достаточно
определить t i и Ai из системы 2n уравнений (3).
Система (3) - нелинейная, поэтому рассмотрим полином
f t   t k  Pn t  , где Pn t  - полином Лежандра.
Так как степень данного полинома не превышает 2n  1 , то для них
должна быть справедлива формула (2), т.е.
100
1
n
1
i 1
k
k
 t  Pn t dt   Ai  ti  Pn ti  .
С другой стороны в силу свойства ортогональности полиномов
Лежандра (свойства 3), имеем
1
k
 t  Pn t dt  0
k  n
n
 Ai  tik  Pn ti   0 (4)

i 1
1
Равенства (4) выполняются при любых Ai , если положить Pn ti   0 .
Таким образом, для достижения наивысшей точности квадратурной
формулы (2) в качестве точек t i достаточно взять нули соответствующего
полинома Лежандра. Имеются весьма точные таблицы этих нулей.
Тогда зная t i , легко можно найти из линейной системы первых n
уравнений системы (3) коэффициенты Ai .Определитель этой системы есть
определитель Вандермонда


D   ti  t j  0
i j
и, следовательно, Ai определяются однозначно.
В общем случае квадратурная формула Гаусса
b

a
где xi 
f t dt 
ba n
  Ai  f xi 
2 i 1
(5)
ab ba

 ti , а t i - нули полинома Лежандра.
2
2
Формула Гаусса называется также формой наивысшей алгебраической
точности,
так
как
для
произвольного
многочлена
степени
выше 2n  1 квадратурная формула с n узлами уже не может быть точной.
 Замечание Неудобство, что t i и Ai иррациональные числа,
достоинство: высокая точность при малом количестве t i .
Пример
Вычислить
интеграл
по
формуле
1

1  2 x dx
0
Решение
101
n  3 .
Гаусса
P3 t  
для

1
 5t 3  3t
2

определения
t1  
3
5
коэффициентов

 A1  A2  A3  2

3
5
 3
A1 
A3  0 , откуда A1  A3  ,

5
9
 5
3
3
2
 5 A1  5 A3  3

t2  0
из
t3 
системы
3
5
(3)
имеем
8
A2  ,
9
тогда
1
1 

1


 f t dt  9  5 f  
 3 
3
  8 f 0  5 f 

 5 
5 


положим a  0, b  1
Точное значение I 
x
ba ba

t.
2
2
1
3   1,39872 .
3
То есть
1 1
 t1  0,11270
2 2
1 1
x2   t 2  0,50000
2 2
1 1
x3   t3  0,88730
2 2
x1 
ba
1 5
 A1    0,27778
2
2 9
ba
1 8
Далее c2 
 A2    0,44444
2
2 9
ba
1 5
c3 
 A3    0,27778
2
2 9
c1 
суммируем
102
i
xi
yi
ci
1
2
3
0,11270
0,50000
0,88730
1,10698
1,41421
1,66571
0,27778
0,44444
0,27778
ci yi
0,30747
0,62853
0,46270
1,39870
3
I   ci yi  1,39870
i 1
 Замечание о точности квадратурных формул.

Пример Дана функция y  8  45 x  25 x . Имеем по точное
2
значение интеграла I 
4
1
 ydx  2 8  15  5  4 .
1
y
-1
x
1
При h  1 формула трапеций дает точное значение
I
1
1
f  1  f 0  f 1  4 -,
2
2
по формуле Симпсона
1
8
I    f  1  4 f 0  f 1  
3
3
не обеспечивается даже знак интеграла.
Формула более точная, а результат отрицательный.
Точность квадратурных формул, где узлы равноотстоящие (формулы
трапеций, Симпсона, Ньютона-Котеса) определяется порядком остаточного
члена
 
R  O hm
103
(6)
где h 
ba
- шаг ( n - число делений) и m - натуральное число.
n
Квадратурная формула считается тем точнее, чем больше число 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  , ограничивающих на данном отрезке различные
площади, т.е. интеграл априори может иметь произвольное значение.
104
Пользование квадратурными формулами допустимо лишь тогда, если
известны промежуточные значения подынтегральной функции f  x  и ее
общие свойства, позволяющие судить о графике функции.
7.7 Сходимость квадратурных формул
Формула
прямоугольников
является
интегральной
суммой.
Следовательно, для любой непрерывной функции она сходится к точному
значению интеграла при стремлении к нулю max  xi  xi 1  .
Это справедливо и для обобщенной формулы трапеции. Она тоже
является интегральной суммой, соответствующей несколько иному выбору
интервалов.
Обобщенная формула Симпсона получается линейной комбинацией
двух обобщенных формул трапеций на равномерной сетке. При сгущении
сетки каждая их последних формул сходится к точному значению
интеграла. Значит и формула Симпсона сходится для любой непрерывной
функции.
Вопрос скорости сходимости связан с оценкой остаточного члена
 2 , а
формул. Погрешность формул прямоугольника и трапеций есть O h
 4
формулы Симпсона - O h .
Эти оценки пригодны, если функция имеет ту производную, которая
входит в оценку остаточного члена, причем эта производная непрерывна
или кусочно-непрерывна.
Наличие у функции более высоких производных не улучшает оценку.
Зато если у функции нет требуемой ограниченной производной, то
сходимость может быть хуже.
Для функций малой гладкости (имеющих лишь первую или вторую
производные) лучше результат дает формула прямоугольников. Для
функций высокой гладкости выгодны формулы Гаусса.
Задачи для самостоятельного решения
Интеграл предлагается вычислить по квадратурной формуле Гаусса с
восемью узлами:
,;
X 2   X 7  0.79666648 , A2  A7  0.22238103 ;
,;
105
,.
Варианты заданий к лабораторной работе приведены в таблице.
Номер
варианта
3
1
Номер
варианта
Задание
x
1
Задание
5
exp x dx
1
2
6
3
7
4
8
7.8 Экстраполяция по Ричардсону
Для уточнения значения интеграла можно примерить метод двойного
пересчета. Если для квадратурной формулы известен порядок остаточного
члена R  R f  , то для определения R можно использовать метод
двойного пересчета.
 
Пусть R  O h m
m  1 ,
где h 
ba
шаг, тогда приближенно
n
можно положить
R  Mh m
Выберем два разных шага h1 
ba
n1
ba

Rn1  I  I n1  M 
 n1 
h2 
(7).
ba
, тогда
n2
m
Rn2  I  I n2
ba

 M 
 n2 
m
 1
1 
I n2  I n1  M b  a m   m  m 
n
n2 
 1
следовательно
106

n1  n2 m I n  I n
.
M

b  a m n2m  n1m
2
1
На основании (7) получаем для остаточного члена
m
 n1  n2  I n2  I n1
R
 
 n  n2m  n1m
в частности при h  h2 , n  n2 , имеем
Rn2 
n1 m
n2m  n1m


 I n2  I n1 , тогда используя эту поправку, имеем для
интеграла уточненное значение
I n1 , n 2  I n 2 
n1m
n2m  n1m


 I n 2  I n1 .
Такой прием называется экстраполяцией по Ричардсону.
Введем обозначение
следовательно
где  
1
 m 1
n2

n1
  1 ,

I n1 ,n2  I n2    I n2  I n1

(8)
.
 табулированы для различных  и m .
Покажем, что если I n  I n , то I n ,n всегда лежит вне отрезка
1
2
1 2
[ I n1 , I n2 ] .
1. если I n  I n , то из (8) имеем I n , n  I n  max I n , I n .
1
2
1 2
2
1
2
2. если I n  I n , то из (8) получаем I n , n  I n  max I n , I n .
2
1
1 2
2
1
2
Таким образом I n , n  [ I n , I n ] , т.е. I n ,n получается из I n и
1 2
1
2
1 2
1
I n 2 в результате операции экстраполирования.
Если I n  I n , то, I n , n  I n  I n .
1
2
1 2
1
2
Коэффициенты

107



 Замечание
Для
функций,
не
имеющих
экстраполирование, повышает точность вычислений.
особенностей,
108
7.9 Приближенное вычисление несобственных интегралов
b

 f  x dx
Определение Интеграл
(9)
a
называется собственным, если
- промежуток интегрирования [a, b] конечен,
подынтегральная функция f  x  непрерывна на [a, b] ,
в противном случае интеграл (9) называется несобственным.
-


Определение Интеграл
 f x dx
(10)
a
называется сходящимся, если существует конечный предел

b
a
a
 f x dx  blim
 f x dx ,

если предел не существует, то интеграл (10) называется расходящимся.
Поэтому, прежде чем вычислять несобственный интеграл, необходимо
убедиться, что он сходится.
Пусть необходимо вычислить сходящийся несобственный интеграл
I

 f x dx с заданной точностью  . Представим интеграл в виде
a


b

a
b
f x dx   f x dx   f x dx
a
В силу сходимости интеграла число b можно выбрать столь угодно
большим числом, чтобы имело место неравенство


 f x dx  2
b
109
Первый интеграл - собственный, вычисляем его по одной из квадратурных

формул, а второй


 f x dx  2 , тогда  f x dx  S
b
  , где S -
a
приближенное значение интеграла с точностью до

.
2
Для интегралов с бесконечными пределами есть несколько приемов
вычисления.
1. введение такой замены переменных, чтобы превратить пределы
интегрирования в конечные пределы.

Пример Интеграл
 f  x dx замена
a
x
a
превращает пределы
1 t
интегрирования в отрезок [0,1] . Если после преобразования
подынтегральная функция остается ограниченной, то можно находить
интеграл стандартными численными методами.
2. В некоторых случаях несобственный интеграл может быть
преобразован в собственный интеграл с помощью замены переменной или
интегрирования по частям.
3. обрезание верхнего предела.
4. использование формул Гаусса-Кристоффеля.
5.построение нелинейных квадратурных формул, применимых на
бесконечном интервале.
7.10 Метод Л.В.Канторовича выделения особенностей
Для приближенного вычисления интеграла от разрывной функции
применяют метод Л.В.Канторовича выделения особенностей.
Идея метода в том, что из поды интегральной функции f  x  выделяют
некоторую функцию g  x  , имеющую те же особенности, что и функция
f  x  , а также g  x  - элементарно интегрируема на [a, b] и чтобы
разность f x   g x  - была достаточно гладкой, тогда
b

a
b
b
a
a
f x dx   g x dx    f x   g x dx ,
110
где первый интеграл берется непосредственно, а второй вычисляется с
помощью стандартных квадратурных формул.
Пример Вычислить приближенно интеграл
0,5
J 
0
dx
x 1  x 
.
Решение
Особой является точка
x  0 . Разлагая 1  x 
1 2
по степеням
x,
x 4 и положим
3
5
35 4 
 1
g  x   x 1 2 1  x  x 2  x3 
x 
8
16
128  ,
 2
остановимся на члене, содержащем

  x   x 1 2 1  x 

1 2

 1


35 4   63 9 2
x  
x 
128   256
Тогда
0,5
0,5
0
0
J   g  x  dx     x  dx  J1  J 2
J1
легко вычислить: J1  1,5691585
.
. Интеграл
J2
можно вычислить по
формуле Симпсона. При n  10 имеем J 2  0,00116385 . Окончательно
получаем J  1,5707967 .
Истинное же значение интеграла J равно  2  1,5707963 .
Метод Канторовича применим также к несобственным интегралам,
поды интегральная функция которых имеет несколько точек разрыва.
В этом случае для вычисления интеграла достаточно разбить
промежуток интегрирования на части, содержащие лишь одну особую
точку подынтегральной функции, и воспользоваться свойством
аддитивности интеграла.
В некоторых случаях при вычислении несобственных интегралов
можно использовать квадратурные формулы с весом (например,
квадратурные формулы типа Гаусса). Для этого подынтегральную функцию
111
f  x
  x
представляют в виде произведения
f  x   p  x   x  ,
имеет достаточное число производных, а
весовую функцию.
p  x
причем
рассматривают как
Задачи для самостоятельного решения
Используя квадратурные формулы прямоугольников, трапеций и
Симпсона, вычислить значения заданного интеграла и, применив правило
Рунге, найти наименьшее значение n (наибольшее значение шага h), при
котором каждая из указанных формул дает приближенное значение
интеграла с погрешностью , не превышающей заданную.
Варианты заданий приведены в таблице ( = 0.01; 0.001; 0.0001).
Номер
варианта
Задание
 cos x  x
1
1
3
dx
Номер
варианта
Задание
5
0
2
6
3
7
4
8
1
5
 cos( x)  dx
e
9
0
112
Глава 8 Решение нелинейных уравнений
Для алгебраических уравнений доказано, что не существует общих
формул вычисления корней для уравнений степени выше четвёртой. При
решении некоторых нелинейных уравнений невозможно найти корни с
помощью традиционных методов. Например, даже такое, внешне
несложное уравнение, как x  cos x  1  0 , невозможно решить
привычными способами.
Поэтому во многих случаях приходится прибегать к численным
методам решения уравнений, которые позволяют найти действительные
корни уравнения f ( x)  0 с любой заранее заданной точностью. Решением
*
нелинейного уравнения будет являться такая точка x , при подстановке
которой в уравнение
будет выполняться с определенной степенью
точности
f ( x * )   , где 
- малая величина.
Решение нелинейных уравнений распадается на два этапа: отделение
корней уравнений и уточнение корней нелинейных уравнений.
На первом этапе необходимо исследовать уравнение и выяснить,
имеются корни или нет. Если корни имеются, то определить их количество,
и затем определить интервалы, в каждом из которых находится
единственный корень. На втором этапе уточняется корень с заданной
точностью.
 Определение Нелинейное уравнение - уравнения вида
f x   0 ,
где f x  - нелинейная функция.
 Определение Число с называют корнем или решением уравнения,
если оно, будучи подставленным в это уравнение, обращает его в верное
числовое равенство, то есть
f (c)  0 .
Также число c называют нулём функции y  f (x).
113
8.1 Отделение корней
Процесс нахождения действительных корней с определённой точностью
можно разделить на два этапа:
1) отделение корней, то есть установление числовых промежутков, в
каждом из которых содержится один корень уравнения;
2) вычисление корня, принадлежащего данному промежутку, с
заданной точностью.
Известно, что если функция f (x) непрерывна и принимает на концах
отрезка a; b значения разных знаков, то внутри этого промежутка
найдётся хотя бы один нуль функции.
Условие, согласно которому функция принимает на концах отрезка
значения разных знаков, можно сформулировать в виде:
f (a) f (b)  0.
Отделение корней уравнения f ( x)  0 для непрерывной в области
определения функции можно осуществить различными способами.
1) Составляют таблицу значений функции y  f (x) на
определённом промежутке изменения переменной x , и если окажется, что
для соседних значений аргумента значения функции имеют разные знаки,
то нуль функции (и корень уравнения) находится между ними.
2) Уравнение f ( x)  0 заменяют равносильным ему  ( x)   ( x) .
Строят графики функций y   (x) и y   (x) ; искомые корни являются
абсциссами точек пересечения этих графиков.
3) Строят график функции y  f (x) на промежутке изменения х;
тогда абсциссы точек пересечения графика с осью ОХ – нули функции (и
корни данного уравнения).
Заметим, что перечисленные способы не только позволяют отделить
корни, но и определить их количество.
Первый способ отделения корней – графический.
Исходя из уравнения f x   0 , можно построить график функции
y  f x  .
Тогда точка пересечения графика
приближенным значением корня.
с
осью
абсцисс
является
114
Если f x  имеет сложный вид, то
представим ее в виде разности
двух
функций
f x   1x    2 x  .
Так как f x   0 , то выполняется
равенство 1x    2 x  .
Построим два графика y1  1x  ,
y2   2 x  . Значение  - приближенное значение корня , являющееся
абсциссой точки пересечения двух графиков.
Пример Пусть дано нелинейное уравнение вида x  ex  0 .
Решим его графическим методом.
Для этого представим
уравнение в виде
1x    2 x   0 ,
yx
y
y
где 1x   x ;
1
y  e  x   x   e x .
2
0
y
Графики функций y  x ;
x
y  e x представлены на
рисунке, из которого видно, что исходное уравнение имеет
единственный корень.
Пример Пусть дано
нелинейное
уравнение
вида
y
y
y  x 1
0
y
115
e x  x  0 или  x  e
ye
x
x
Построив
два
x
.
графика
x
функций y   x и y  e ,
видим, что исходное уравнение
не имеет корней.
Пример
Для нелинейного уравнения вида
с
помощью
x  sin x  0
аналогичных
преобразований
и
построений получим, что исходное
уравнение имеет несколько (три)
корней.
Пример
Выяснить,
сколько
корней
имеет
уравнение
4  e  2 x  0 , и найти промежутки, в которых эти корни находятся.
x
2
Решение
Рассмотрим три функции:
f ( x)  4  e x  2 x 2 ,  ( x)  4  2 x 2 ,  ( x)  e x .
Уравнение
4  e x  2 x 2  0 эквивалентно уравнению
4  2x 2  e x .
Отделим его корни первым из перечисленных способов.
Из таблицы значений функции f (x) на промежутке  3; 1 с шагом
изменения x , равным 1, видно, что существуют корни уравнения на
отрезках  2;  1 и 0; 1, так как значения функции имеют на концах этих
отрезков разные знаки.
x
f(x)
(x)
(x)
-3
-14,05
-14,00
0,05
-2
-4,14
-4,00
0,14
-1
1,63
2,00
0,37
0
3,00
4,00
1,00
1
-0,72
2,00
2,72
Заметим, что аналогичный результат получится, если построить графики
указанных функций (необходимые данные содержатся в таблице).
116
8.2 Метод половинного деления
Пусть дано уравнение
f ( x)  0 (*) ,
причём функция f (x) непрерывна на отрезке a; b и f (a) f (b)  0.
Для вычисления корня уравнения (*), принадлежащего указанному
x1 
ab
.
2
Если f ( x1 )  0 ,
промежутку, найдём середину этого отрезка:
то для продолжения вычисления выберем ту из частей данного отрезка
a; x1 
или
x1 ; b,
на
концах
которой
функция
f (x)
противоположные знаки. Концы нового отрезка обозначим a1 ; b1 .
имеет
Новый суженный промежуток снова делим пополам и проводим
вычисления по указанной схеме и так далее. В результате получаем либо
точный корень на одном из этапов, либо последовательность вложенных
отрезков a; b, a1 ; b1 , ..., an; bn , ..., таких, что


f (ai ) f (bi )  0, i  1, 2, ..., (2)
bn  an 
1
2n
(b  a). (3)
Число с – общий предел последовательностей a n  и bn  - является
корнем уравнения (*). Оценку  погрешности решения на п-м шаге
вычислений можно получить из соотношения (3) в виде
0  c  an 
1
2n
(b  a)  bn  an . (4)
1
(b  a).
n
a c
Здесь n
с точностью , не превышающей 2
Пример Методом половинного деления найти корень уравнения
4  e x  2 x 2  0 с точностью =0,01.
Решение.
В предыдущем
примере
было
при
отделении
корней
уравнения
установлено, что один из искомых корней принадлежит отрезку 0; 1 . На
117
каждом шаге вычислений значение корня принимаем равным
xn 
a n  bn
2
d n  an  bn . Будем производить вычисления и выбирать
a ; b 
последовательность вложенных отрезков n n , используя условие (2).
с погрешностью
Имеем
ab
 0,5.
2
Так как f (a)  3, f ( x1 )  1,8513, f (b)  0,72 и f ( x1 ) f (b)  0 , то
принимаем: a 1  x 1  0,5, b 1  b  1; d 1  b 1  a 1  0,5.
a; b  0; 1,
x1 
a1 ; b1   0,5; 1, x2  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,75; 1, x3  a2  b2
 0,875; d 3  0,125.
2
Тогда
Производя вычисления далее (рекомендуется воспользоваться специальной
компьютерной программой), можно убедиться, что требуемая точность
достигается
на
7-м
d 7  0,00785    0,01.
шаге:
x7  0,8828125
с
погрешностью
Задание
Методом половинного деления найти корни уравнений (предварительно
отделив их):
x 3  4 x  2  0; с точностью до 0,001;
x 3  2 x  5  0; с точностью до 0,01.
x 4  5x  7  0;
x 4  2 x 2  6 x  2  0;
x 5  x  2  0;
ex  x  2  0.
118
8.3 Метод простых итераций
f x   0
  [a, b] .
Пусть известно, что нелинейное уравнение
a, b
единственный вещественный корень
этот корень с заданной точностью.
преобразования, приведем уравнение к виду
имеет на отрезке
Требуется найти
Применяя тождественные
x  x 
Выберем произвольно приближенное значение корня
вычислим
x0   x1 .
x1   x2 .
Найденное значение
x1
x0  a, b
и
подставим и вычислим
Продолжая процесс вычислений дальше, получим числовую
последовательность x0 , x1 , x2 ,.... Если существует предел этой
последовательности, то он и является корнем уравнения.
Корень можно вычислить с заданной точностью по итерационной
формуле
xn1  xn , n  0,1,2,...
y  x и y  x  . Абсцисса точки
пересечения графиков – корень  . Построим итерационный процесс.
Зададим x0  [a, b] . Вычислим x1  x0  – первое приближение и
x2  x1  – второе приближение. В первом случае процесс сходящийся
(  x   1). Во втором случае процесс расходящийся (  x   1 ).
Построим два графика:
119
Выполнение условия сходимости можно добиться путем перехода от
исходного уравнения f ( x)  0 к эквивалентному виду x   x
 
следующим образом: умножим обе части уравнения (1) на c
затем прибавим к обеим частям по x , тогда x  cf x  x .
 
 
 
x   x .
 const  0 ,
Обозначим  x  x  cf x , тогда
Константа c
выбирается так, чтобы выполнялось достаточное условие сходимости
итерационного процесса
x   1  cf x   1, x  a, b.
Это условие равносильно
 1  1  cf x   1 ,
2
 c  0 при f x   0, x  a, b
f x 
f x   0, x  a, b.
отсюда
при
Требуемую точность вычислений можно
использования оценок приближения x n к корню  :
и
0c
обеспечить
2
f x 
путем
q
qn
x1  x0 ; 2)   xn 
xn  xn1
1 q
1 q
1
При q 
второе неравенство примет вид   xn  xn  xn1 .
2
Таким образом, если xn  xn1   , то   xn   .
Очевидно, что чем меньше q , тем быстрее сходится процесс итераций.
  xn 
Практически грубую оценку приближенного решения можно получить
без дополнительных вычислений при
 ' ( x)  0 .
В этом случае итерации попеременно
оказываются то с одной, то с другой
стороны корня, так что корень заключен в
интервале ( xn , xn1 ) .
120
Это надежная, хотя и грубая оценка, но она неприменима при
 ( x)  0 ,
'
когда итерации сходятся к корню монотонно, т.е. с одной
стороны.
Вблизи корня итерации сходятся примерно так же, как геометрическая
xn  xn1
. Чтобы сумма дальнейших
xn1  xn2
превосходила  , должен выполняться критерий
прогрессия со знаменателем
членов прогрессии не
сходимости
q
xn  xn1
( xn  xn1 ) 2
q

 .
1 q
2 xn1  xn  xn2
При выполнении этого условия процесс итераций можно прекращать.
Метод простых итераций и почти все другие итерационные методы имеют
два достоинства:
- являются универсальными и самоисправляющимися, то есть любая
неточность на каком – либо шаге итераций не отразится на конечном
результате, а лишь на количестве итераций.
Подобные ошибки устойчивы даже по отношению к грубым ошибкам
(сбоям ЭВМ), если только ошибка не выбрасывает очередное приближение
за пределы области сходимости.
- позволяют достигнуть любой заданной точности при любом
начальном приближении x0  a, b .
Недостатки методов:
- если начальное приближение x 0 далеко от корня, то число итераций
достаточно большое. Объем вычислений возрастает.
Процесс итераций заканчивается при выполнении двух критериев:
1)
Когда два последних приближения отличается между собой

по модулю на заданную величину

 : x n1  x n   .
Этого критерия недостаточно, так как в случае крутизны графика, данное
условие будет выполнено, но x n 1 может находиться далеко от корня.
2)
Мера удовлетворения уравнению последнего приближения
корня:
f x n1    .
при пологой функции
121
Отдельно второго критерия недостаточно, так как
f (x)
условие может быть выполнено, но
xn1
может быть далеко от корня.
Пример. Методом итераций найти корни уравнения e  x  0 .
Решение
Для нахождения интервала расположения корней воспользуемся
графическим методом. Для этого преобразуем исходное уравнение к виду
x
и построим два графика y  e и y   x . Абсцисса точки
пересечения этих графиков является приближенным значением корня  .
Более точные значения можно получить по итерационной формуле. Из
рисунка видно, что корень  находится на отрезке [a,0] . Выберем
e x  x
x
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.9 xn  0.1e xn  1 x  [1,0] .
Таким образом, рабочая формула метода простых итераций будет
иметь вид: x n1  0,1  e
xn
 0,9 x n

Замечание Метод итераций достаточно прост, обобщается на
системы уравнений, устойчив к погрешности
округления (она не
накапливается).

Замечание При разработке алгоритма решения
нелинейного
уравнения методом простых итераций следует предусмотреть защиту
итерационного процесса от зацикливания: использовать в качестве
дополнительного условия завершения итерационного процесса превышение
заданного максимального числа итераций.
122
8.4 Метод касательных (Ньютона)
Существуют различные математические интерпретации метода
итераций. Одной из наиболее эффективных и, в то же время, простых
разновидностей этого метода является так называемый метод касательных
(метод Ньютона). Не вдаваясь глубоко в теоретическое обоснование этого
метода, сформулируем условия, в которых он применим, а также запишем
соответствующую итерационную формулу.
Пусть снова дано уравнение 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 содержит внутри себя точку перегиба, то
данный метод может дать значение корня, не принадлежащую отрезку.
Однако, как было сказано выше, можно решить эту проблему, сузив
отрезок, содержащий корень.
Оценку погрешности при использовании метода касательных следует
проводить так, как было описано в пункте 1 настоящей лекции. Вообще,
обычно данный метод уже при первой итерации даёт достаточно точное
значение корня и поэтому весьма эффективен.
Пример Один из корней уравнения x 3  6 x  2  0 заключён в
отрезке 0; 1 . Найти приближённое значение этого корня методом
касательных с помощью двух итераций и оценить погрешность
вычисления.
Решение
123
Здесь f ( x)  x 3  6 x  2; f ( x)  3x 2  6; f ( x)  6 x . Заметим, что на
отрезке
0; 1
сохраняют знак и первая и вторая производные:
f ( x)  0; f ( x)  0 .
Таким образом, выполняются условия применения метода касательных.
В качестве x 0 можно взять, например, x  0 , так как f (0)  2  0 и
f (0)  0  0 . Тогда имеем x1  0 
f (0) 1
  0,3333 .
f (0) 3
Оценим погрешность вычисления. Найдём значения необходимых
параметров:
m  min f ( x )  min (3 x 2  6)  3;
 0;1
M  max (3 x
 0;1
q 1
 0;1
2
 6)  6;
.
m
3
1
1

M
6
2
1
 .
3
1
1
f( )
1
3  1  27  1  1  147  29 .
Вторая итерация: x2  
3 f ( 1 ) 3  16 3 144 432 144
3
3
1
Оценим погрешность вычисления: с  x2  x2  x1 
 0,007   .
144
Тогда c  x1  x1  x0 
Таким образом, мы уже на второй итерации получили приближённое
значение корня такой же точности, как в примере из предыдущей лекции
лишь на седьмом шаге.
Задачи для самостоятельного решения
1. Методом итераций решить уравнения:
x  ln x  0; x  e x  0; с точностью до 0,001.
2. Методом касательных решить уравнения:
x 4  3x  20  0; x 3  3x  5  0; x 2  ln x  0; с точностью до 0,01
124
Глава 9 Решение систем линейных уравнений
Проблема численного решения линейных уравнений интересует
математиков уже несколько столетий. Первые математические результаты
появились в XVIII веке. В 1750 году Г. Крамер (1704-1752) опубликовал
свои труды по детерминантам квадратных матриц и предложил алгоритм
нахождения обратной матрицы, известный как правило Крамера. Гаусс в
1809 году опубликовал работу, посвященную движению небесных тел, в
которой был изложен метод для решения линейных систем, известный как
метод исключения.
Методы решения систем линейных алгебраических уравнений условно
можно разделить на точные и итерационные.
Определение Прямые методы решения систем линейных уравнений 
методы, дающие решение системы за конечное число арифметических
операций.
Точные методы в предположении отсутствия округлений дают решение
задачи за конечное число арифметических действий. Прямые методы
относятся к классу точных методов.
Определение Итерационные методы решения систем линейных
уравнений - методы, дающие решение системы уравнений как предел
последовательности приближений, вычисляемых по единообразной схеме.
Итерационные методы дают бесконечную последовательность
приближенных решений, предел которой (если он существует) является
решением системы. Точные методы применяют для решения линейных
систем относительно невысокого порядка. Для решения систем большой
размерности используют итерационные методы. Итерационные методы
выгодны для системы специального вида, со слабо заполненной матрицей
очень большого вида порядка 103105.
Точные методы просты и универсальны, однако вследствие неизбежных
округлений результаты являются приближенными, причем оценка
погрешности корней в общем случае затруднительна.
Будут рассмотрены следующие точные методы решения систем
линейных алгебраических уравнений: метод исключения Гаусса, метод
главных элементов, метод квадратного корня, схема Халецкого. Из
итерационных методов – метод простой итерации, метод Зейделя. Выбор
конкретного метода решения определяется спецификой рассматриваемой
задачи.
125
Пусть дана система линейных алгебраических уравнений (СЛАУ) вида
a11 x1  ...  a1n x n  b1
a 21 x1  ...  a 2 n xn  b2

a n1 x1  ...  a nn x n  bn
или в матричной форме
Ax  f
.
 Определение Система называется обусловленной (не вырожденной,
не особенной), если определитель системы   0, и тогда система имеет
единственное решение.
 Определение Система называется не обусловленной (вырожденной,
особенной), если  = 0, и тогда система не имеет решений или имеет
бесконечное множество решений.
На практике коэффициенты системы aij и свободные члены bi часто
задаются приближенно, с некоторой неустранимой погрешностью.
Поэтому, кроме существования и единственности решения СЛАУ, важно
еще знать, как влияет такая погрешность на получаемое решение.
 Определение Система называется плохо обусловленной, если
неустранимая погрешность оказывает сильное влияние на решение; у таких
систем определитель близок, но не равен 0.
Пример Дана система
x 1  0x 2  1
x 1  0,001x 2  1
Будет ли система плохо обусловленной?
Решение
ΔA  detA 
1
0
1 0,001
 0.001  0 .Решение x 1*  1 ; x *2  0.
Пусть b2 имеет неустранимую погрешность  1 %.
Если b2 = 1,01, то x 1*  1; x *2  10.
Если b2 = 0,99, то x 1*  1; x *2  10.
Решение изменяется очень сильно, следовательно, система плохо
обусловлена, о чем говорит значение её определителя.
126
Для решения СЛУ широко применяться прямые и итерационные
методы. Область применения некоторых из них показана в таблице.
Таблица
Тип
Прямые
Итерационны
е
Название
метода
Число
арифметических
действий
(при n = 20)
Область
применения
Формулы
Крамера
20
2
~ n!n ( 9,7  10 )
n<5
Исключения
Гаусса
2 3
n  n2
~ 3
(5733)
n<200
Простых
итераций
ГауссаЗейделя
~ n² на каждой
итерации (400n)
до 105
Современная супер-ЭВМ имеет производительность 30 терафлоп –
30·1012 операций с вещественными числами в секунду. Такой машине для
решения СЛАУ для n=20 по формуле Крамера требуется:
t
9,7  10 20
30  1012  365  24  60  60
 1,03 года.
На решение СЛАУ прямым методом сильное влияние оказывает
погрешность
округления,
т.к.
требуется
огромное
количество
арифметических действий.
На решение СЛАУ итерационным методом погрешность округления
практически не влияет, но не всегда удается обеспечить сходимость
итерационного процесса.
В вычислительной практике процесс итерации обычно продолжается до
тех пор, пока два последовательных приближения не совпадут в пределах
заданной точности.
127
9.1 Метод Гаусса с выбором главного элемента
Метод последовательного исключения неизвестных Гаусса является
одним из наиболее универсальных и эффективных методов решения
линейных систем.
Карл Фридрих Гаусс (1777-1855) - немецкий математик и физик, работы
которого оказали большое влияние на дальнейшее развитие высшей
алгебры, геометрии, теории чисел, теории электричества и магнетизма.
Этот метод известен в различных вариантах уже более 2000 лет. Он
относится к числу прямых методов.
Процесс решения по методу Гаусса состоит из двух этапов, называемых
прямым и обратным ходом. На первом этапе система приводится к
треугольному виду; на втором (обратный ход) идет последовательное
определение неизвестных из указанной треугольной системы.
Для реализации метода Гаусса требуется примерно (2/3)n3
арифметических операций, причем основное число этих действий
совершается на этапе прямого хода [1].
Может оказаться, что система
Ax  f
имеет единственное решение, хотя какой-либо из угловых миноров
матрицы A равен нулю. В этом случае обычный метод Гаусса
оказывается непригодным, но может быть применен метод Гаусса с
выбором главного элемента.
Основная идея метода состоит в том, чтобы на очередном шаге
исключать не следующее по номеру неизвестное, а то неизвестное,
коэффициент при котором является наибольшим по модулю. Таким
образом, в качестве ведущего элемента здесь выбирается главный, т.е.
наибольший по модулю элемент. Тем самым, если A  0 , то в процессе
вычислений не будет происходить деление на нуль.
Различные варианты метода Гаусса с выбором главного элемента
проиллюстрируем на примере системы из двух уравнений
(2)
a11 x1  a12 x2  f 1 ,
a21 x1  a22 x2  f 2.
128
Предположим, что a12  a11 . Тогда на первом шаге будем
исключать переменное x2 . Такой прием эквивалентен тому, что система
(2) переписывается в виде
(3)
a12 x2  a11x1  f1
a22 x2  a21x1  f 2
и к (3) применяется первый шаг обычного метода Гаусса. Указанный
способ исключения называется методом Гаусса с выбором главного
элемента по строке.
Он эквивалентен применению обычного метода Гаусса к системе, в
которой на каждом шаге исключения проводится соответствующая
перенумерация переменных.
Применяется также метод Гаусса с выбором главного элемента по
столбцу. Предположим, что a21  a11 . Перепишем систему (2) в виде
a21x1  a22 x2  f 2
a11x1  a12 x2  f1
и к новой системе применим на первом шаге обычный метод Гаусса.
Таким образом, метод Гаусса с выбором главного элемента по столбцу
эквивалентен применению обычного метода Гаусса к системе, в которой на
каждом шаге исключения проводится соответствующая перенумерация
уравнений.
Иногда применяется и метод Гаусса с выбором главного элемента
по всей матрице, когда в качестве ведущего выбирается максимальный
по модулю элемент среди всех элементов матрицы системы.
Матрицы перестановок
Обычный метод Гаусса можно записать в виде
Lm Lm 1  L1 Ax  Lm Lm 1  L1 f ,
где Lk ; k  1, m - элементарные нижние треугольные матрицы. Чтобы
получить аналогичную запись метода Гаусса с выбором главного
элемента, необходимо рассмотреть матрицы перестановок.
 Определение Матрица перестановок P -квадратная матрица, у
которой в каждой строке и в каждом столбце только один элемент отличен
от нуля и равен единице.
129
 Определение
Элементарная
матрица
перестановок
матрица, полученная из единичной матрицы перестановкой
й строк.
Pkl -
к-й и l-
Например, элементарными матрицами перестановок третьего
порядка являются матрицы
0

P12   1

0
1
0
0
0
0


0 , P13   0


1
1
0
1
0
1
1


0 , P23   0


0
0
0
0
1
0

1 .

0
Можно отметить следующие свойства элементарных матриц
перестановок, вытекающие непосредственно из их определения.
 Произведение двух (а, следовательно, и любого числа)
элементарных матриц перестановок является матрицей перестановок (не
обязательно элементарной).
 Для любой квадратной матрицы А матрица Pkl A отличается от А
перестановкой k -й и l -строки.
 Для любой квадратной матрицы А матрица APkl отличается от А
перестановкой k -го и l -го столбцов.
Применение элементарных матриц перестановок для описания метода
Гаусса с выбором главного элемента по столбцу можно пояснить на
следующем примере системы третьего порядка:
x1  x2  x3  f1 ,
2 x1
 x3  f 2 ,
5x2  3x3  f 3 .
Система имеет вид, где
 1 1 1


A   2 0 1 .


 0 5 3
Максимальный элемент первого столбца матрицы A находится во
второй строке.
Поэтому надо поменять местами вторую и первую строки и перейти к
эквивалентной системе
130
 x3  f 2 ,
2 x1
x1  x2  x3  f1 ,
5x2  3x 3 f 3 .
Систему можно записать в виде
P12 Ax  P12 f ,
т.е. она получается путем умножения на матрицу
перестановок
 0 1 0


P12   1 0 0 .


 0 0 1
Далее, надо применить первый шаг обычного метода исключения
Гаусса. Этот шаг эквивалентен умножению системы (7) на
элементарную нижнюю треугольную матрицу
 1
0 0
 2

L1    1
1 0 .
2


0
0 1

В результате перейдем к эквивалентной системе
L1 P12 Ax  L1 P12 f ,
или в развернутом виде
x1
1
x3 
2
1
x2  x3 
2
5x2  3x 3

f2
,
2
f1 
f2
,
2
f 3.
Из последних двух уравнений системы надо теперь исключить
переменную x2 .
Поскольку максимальным элементом первого столбца укороченной
системы
131
1
f
x3  f1  2 ,
2
2
5x2  3x3  f 3 ,
x2 
является элемент второй строки, делаем в перестановку строк и тем
самым переходим к эквивалентной системе
x1
1
f
x3  2 ,
2
2
5x2  3x3  f 3 ,

x2 
1
f
x3  f1  2 ,
2
2
которую можно записать в матричном виде как
P23 L1 P12 Ax  P23 L1 P12 f
.
Таким образом, элементарная матрица перестановок
 1 0 0


P23   0 0 1 .


 0 1 0
Далее применим второй шаг исключения обычного метода Гаусса. Это
эквивалентно умножению системы на элементарную нижнюю
треугольную матрицу
1
0
0

L2   0 1
0 .
5


1
 0  5 1
В результате получим систему
L2 P23 L1 P12 Ax  L2 P23 L1 P12 f
или
132
x1
1
f
 x3  2 ,
2
2
3
1
x2  x3  f 3 ,
5
5
1
f
1
 x3  f1  2  f 3 .
10
2 5
Заключительный шаг прямого хода метода Гаусса состоит в замене
последнего уравнения системы уравнением
x3  10( f 1 
f2 f3
 ),
2
5
что эквивалентно умножению (13) на элементарную нижнюю
треугольную матрицу
0 
1 0


L3   0 1
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 .
 Замечание Метод Гаусса устанавливает факт отсутствия
решения системы (несовместность), а также неединственность.
133
9.2 Метод квадратных корней
Этот метод пригоден только для линейных систем с эрмировой
(симметричной) матрицей, т.е. совпадает с комплексно-сопряженной

транспонированной: A  A (в действительном случае симметричной).
Формулы расчета несколько сложней, чем в методе Гаусса, но вдвое
быстрее, так как использует информацию о симметрии матрицы.
Метод применяется в основном при численном решении интегральных
уравнений Фредгольма с симметричным ядром.
Пусть дана линейная система
A x  b
 
 
где A  aij - симметрическая матрица, т.е. A  a ji  A .
Тогда матрицу A можно представить в виде произведения двух
транспонированных между собой треугольных матриц
A  TT
t11 t12  t1n 
0 t

22  t 2 n 
где T  
,




0 0  t nn 
t11 0  0 
t
t 22  0 
T    12




t1n t 2n  t nn 
Производя перемножение матриц T  и T , для определения элементов
tij матрицы T получим следующие уравнения:

t1i t1 j  t 2i t 2 j    tiitij  aij
2 2

 tii2  aii
t1i  t 2i  
i j
Отсюда находим последовательно:
134
t11  a11
, t1 j 
a1 j
t11
i 1
tii  aii   t ki2
j 1
1 i  n
k 1
i 1
tij 
aij   t ki t kj
k 1
i j
tii
tij  0
i j
Система имеет определенное единственное решение, если tii  0 , так
как тогда
det A  det T   det T  det T 2  t11t22 tnn 2  0
Коэффициенты матрицы T - действительны, если tii  0 .
Из соотношения следует
2
T y  b
T x  y
или в открытом виде
t11 y1  b1
t12 y1  t 22 y2  b2

t1n y1  t 2n y2    t nn yn  bn
t11x1  t12 x2    t1n xn  y1
t 22 x2    t 2n xn  y2

t nn xn  yn
Отсюда находим
135
y1 
b1
t11
xn 
i 1
yi 
bi   t ki yk
k 1
yi 
i 1
tii
yn
tnn
xi 
n
 tik xk
k  i 1
in
tii
Метод называется метод квадратных корней.
При практическом применении метода квадратных корней прямым
ходом вычисляются tij и yi , обратным ходом находим неизвестные xi
Пример Методом квадратных корней решить систему
x1  3 x2  2 x3
 2 x5  0.5
3x1  4 x2  5 x3  x4  3x5  5.4
 2 x1  5 x2  3x3  2 x4  2 x5  5.0
x2  2 x3  5 x4  3x5  7.5
 2 x1  3x2  2 x3  3x4  4 x5  3.3
Записываем коэффициенты aij и свободные члены bi и подсчитываем
столбец

. Применяя формулы (3) и (6), последовательно переходя от
строки к строке, вычисляем коэффициенты tij и новые свободные члены
yi .
Например
2   2    2    0,4472i    1,3416i 
a  t t  t t
t35  35 13 15 23 25 
 1,5653i
t33
0,8944i
Таблица
ai1
ai 2
ai 3
ai 4
ai 5
bi

1
3
-2
0
-2
3
4
15
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
0.
5
5.
4
1.
04
14
.5
7.
3
А
136
ti1
ti 2
ti 3
ti 4
ti 5
1
3
-2
0
-2
2
.
0.
0.4
1.3
2.0
1.5
2
44
47
416
89
12
652
3.0
2.2
3
72
2i
44
5i
i
41
194
0.8
i
221
-6
-i
-4
0.1
i
0.8
998
-6.0
-21
-6.
0.1
1.1
97
80
99
5.0
1.i
5.
00
992
Находим значения неизвестных xi
8
11
6
97
.2
80
7
04
xi  xi3  1 . 20
1
0
Например
6
y3  t351x5  t34 x4
7
x3 

yi

0.
0.
Б
551.
1.
74
74
7.
3.
2.
71
71
58
10
2.
96
0.
0.
i
03
81
29
79
16
98
В
xi i
i
i
28
43
59
x
i
i i
и контрольные величины
t33

7,5803i  1,5652i  0,1998  2,0125i   0,8996 
0,8944i
 6,8011 .
 Замечание Метод квадратного корня требует порядка
N3
3
арифметических действий, то есть при больших N он вдвое быстрее
метода Гаусса и занимает вдвое меньше машинной памяти.
9.3 Схема Халецкого
Рассмотрим систему линейных уравнений
 
A x  b
где A  aij - квадратная матрица порядка n .
Тогда матрицу A
треугольных матриц
где
137
можно представить в виде произведения двух
A  B C
1 c12  c1n 
0 1  c 
2n 
C




0 0  1 
b11 0 0 
b

21 b22 0 

B




bn1 bn 2 bnn 
Тогда элементы bij , cij определяются по формулам
bi1  ai1
bij  aij 
c1 j 
a1 j
cij 
1
bii
j 1
 bik ckj
i  j 1
k 1
b11
i 1


  aij   bik ckj 
k 1


1 i  j
Искомый вектор может быть вычислен
B y  b
Cx  y
Так как матрицы B, C - треугольные, то система легко решается, а именно
y1 
a1, n 1
b11
1
yi 
bii
i 1



  ai , n 1   bik yk 
k 1


i 1
xn  y n
xi  yi 
n
 cik
in
k i 1
Этот метод называется – схема Халецкого.
138
 Замечание yi выгодно вычислять вместе с коэффициентами cij . Если
матрица A - симметрическая, т.е. aij  a ji , то
Пример
cij 
b ji
bii
i j.
3x1  x2  x3  2 x4  6
 5 x1  x2  3x3  4 x4  12
2 x1
 x3  x4  1
x1  5 x2  3x3  3x4  3
Так как bi1  ai1 , то первый раздел из раздела I переносится в первый
столбец раздела II.
Чтобы получить первую строку раздела II, делим все элементы первой
строки раздела I на элемент a11  b11 , в нашем случае на 3.
Имеем c12 
1
1
2
6
11
, c13   , c14  , c15   2 , c16 
3
3
3
3
3
Переходим к заполнению второго столбца раздела II , начиная со второй
строки. Пользуясь формулами (10), определим b j 2
 1 8
b22  a22  b21  c12  1   5   
 3 3
1
2
b32  a32  b31  c12  0  2   
3
3
1
16
b42  a42  b41  c12  5  1   
3
3
Далее, определяем c2 j по формулам (11), заполняем вторую строку
раздела II.
c23 
1
3 
 1  1
 a23  b21  c13    3   5     
b22
8 
 3  2
c24 
1
3 
2
1
 a24  b21  c14     4   5    
b22
8 
3
4
139
c25 
1
3
3
 a25  b21  c15     12    5  2  
b22
8
4
c26 
1
3 
11 1
 a26  b21  c16     17    5   
b22
8 
3 2
Затем переходим к третьему столбцу, вычисляя его элементы
не будет заполнена вся таблица раздела II. Заполнение
происходит способом «елочки»: столбец – строка, и т.д.
В разделе III, пользуясь формулами .(13), (14), определяем yi и
Ответ: x1  1,
и т.д., пока
раздела II
xi
x2  1, x3  2 x4  3
140
9.4 Итерационные методы решения СЛАУ
Итерационные методы находят решение системы как предел
бесконечного вычислительного процесса, позволяющего по уже
найденным приближениям к решению построить следующее, более
точное
приближение.
Достоинство
таких
методов
самоисправляемость и простота реализации. Итерационный метод,
для того чтобы начать по нему вычисления требует знания
начального приближения к решению.
Условия и скорость сходимости каждого итерационного процесса
существенно зависят от свойств уравнений, т.е. от свойств матрицы
системы, и от выбора начальных приближений.
Классификация итерационных методов
Итерационные методы широко применяются при решении систем
линейных алгебраических уравнений (СЛАУ)
Ax  b
где
A  (aij ), i, j  1, n, x  ( x1, x2 ,, xn )T , b  (b1, b2 ,, bn )T
В этих методах решение СЛАУ с невырожденной матрицей A
получается как предел
определяемой по формуле
итерационной

последовательности
x k 1  Fk x0 , x1,, x k ,
{x k }
0 ,

где k  0 – номер итерации, начальное приближение x 0 – задано, а векторфункции Fk определяют тот или иной итерационный метод и зависят,
вообще говоря, от матрицы A , вектора правой части b и номера итерации
k.
 Определение Если Fk не зависят от номера итерации k , то
итерационный метод называется стационарным (в противном случае –
нестационарным).
 Определение Если функции Fk зависят только от x k и не зависят
от остальных приближений к решению x0 , x1,, x k 1 , то метод называется
двухслойным, или одношаговым или методом первого порядка.
141
Наибольшее распространение на практике получили
стационарные методы первого порядка, представимые в виде
линейные
x k 1  B  x k  C  b
где B, C – квадратные матрицы, связанные с исходной матрицей A
некоторым соотношением.
К настоящему времени широкое распространение получили следующие
итерационные методы: Якоби, простой итерации, Зейделя, релаксации,
Ричардсона и др.
 Определение Будем говорить, что итерационный метод сходится,
если
zk  0 при k   , где z k  x k  x – вектор погрешности
приближенного решения x k , а под нормой понимается одна из норм
векторов, согласованных с нормой матрицы A .
 Замечание Итерационные методы в отличие от прямых методов
сохраняют структуру исходной матрицы (не увеличивают число ненулевых
элементов). Эффективность итерационных методов определяется
скоростью сходимости последовательных приближений.
9.5 Метод итераций
Рассмотрим метод итераций решения систем линейных уравнений.
Вообще говоря, метод не дает возможности найти точное решение за
конечное число итераций даже при отсутствии ошибок округления. Это
приближенный численный метод, используется для большого числа
неизвестных.
Пусть дана линейная система
A x  b
В методе простой итерации ее предварительно приводят к виду
x  Bx  f
где
B  C 1D
f  C 1b
CD A
Разрешим первое уравнение относительно x1 , второе – относительно
x2 и т.д. Тогда получим эквивалентную систему
142
x1  1  12 x2    1n xn
x2   2   21 x2     2n xn

xn   n   n1 x2     n, n 1 xn 1
aij
bi
,  ij  
aii
aii
i j
i 
где
aij  0
i j
Систему (16) можно записать в матричном виде
x     x .
Систему (16) будем решать методом последовательных приближений.
За нулевое приближение принимаем столбец свободных членов x
Далее, последовательно
0    .
x 1      x 0
x k 1      x k 
Метод последовательных приближений, определяемый данными
формулами называется метод итераций.
 Замечание Процесс итерации хорошо сходится, т.е. число
приближений, необходимых для получения корней системы с заданной
точностью, невелико, если элементы матрицы  малы по абсолютной
величине.
Иными словами, для успешного применения процесса итерации модули
диагональных коэффициентов системы должны быть велики по сравнению
с модулями недиагональных коэффициентов этой системы (свободные
члены при этом роли не играют).
Пример Решить систему методом итерации
4 x1  0.24 x2  0.08 x3  8
0.09 x1  3x2  0.15 x3  9
0.04 x1  0.08 x2  4 x3  20
Решение
Диагональные коэффициенты 4,3,4 значительно преобладают над
другими коэффициентами при неизвестных. Приведем систему к
нормальному виду.
143
x1  2  0.06 x2  0.02 x3
x2  3  0.03 x1  0.05 x3
x3  5  0.01 x1  0.02 x2
или в матричном виде
 x1  2 0  0.06 0.02  x1 
 x   3    0.03 0 0.05    x 
 2   
  2
 x3  5   0.01 0.02 0   x3 
За нулевые приближения корней системы принимаем
x10  2, x20  3, x30  5
Подставляя эти значения в правые части уравнений, получим первые
приближения корней
x11  2  0.06  3  0.02  5  1.92
x 1  3  0.03  2  0.05  5  3.19
2
x31
 5  0.01  2  0.02  3  5.04
Далее подставляя эти найденные приближения, получим вторые
приближения корней
x12   1.9094 , x22   3.1944 , x32   5.0446
Результаты можно поместить в таблицу
Таблица
k
x1k 
x2k 
x3k 
0
2
2
5
1
1.92
3.19
5.04
2
1.9094
3.1944
5.0446
3
1.90923
3.19495
5.04485
 Замечание При применении метода итерации нет необходимости за
нулевое приближение принимать столбец свободных членов. Сходимость
процесса итерации зависит только от свойств матрицы  , поэтому
начальный вектор может быть взят произвольным.
 Обычно за компоненты начального вектора выбирают
приближенные значения корней системы, находимые грубой прикидкой.
144
 Замечание Сходящийся процесс итерации обладает важным
свойством самоисправляемости, т.е. отдельная ошибка в вычислениях не
отразится на окончательном результате, так как ошибочное приближение
можно рассматривать как новый начальный вектор.
9.6 Достаточное условие сходимости процесса итерации
Пусть дана линейная система A  x  b
Разрешим первое уравнение относительно x1 , второе – относительно
x2 и т.д. Тогда получим эквивалентную систему
x1  1  12 x2    1n xn
x2   2   21 x2     2n xn

xn   n   n1 x2     n, n 1 xn 1
i 
где
aij
bi
,  ij  
aii
aii
i  j aij  0
i j
,
Теорема Если для приведенной системы выполнено, по крайней мере,
одно из условий
n
  ij
n
  ij  1 ,
 1 или
i 1
j 1
то процесс итерации сходится к единственному решению этой системы,
независимо от начального приближения.
n

Следствие Для системы
 ij x j  bi
j 1
если выполнены неравенства
 ii 
145
n
  ij
j 1
метод итерации сходится,
т.е. модули диагональных коэффициентов для каждого уравнения системы
больше суммы модулей всех остальных коэффициентов (не считая
свободных членов).
Теорема накладывает жесткие условия на коэффициенты данной
линейной системы.
Однако с помощью линейного комбинирования уравнений системы
можно заменить эквивалентной системой
x     x
такой, что условия теоремы сходимости будут выполнены.
1
Умножим на матрицу D  A   ,где
модулю элементами.
Тогда будем иметь
A
или
1
 
   ij - матрица с малыми по

   Ax  Db
x     x
  A и   Db .
Умножение на матрицу D эквивалентно совокупности элементарных
преобразований над уравнениями системы.
Из заданной системы выделяют уравнения с коэффициентами, модули
которых больше суммы модулей остальных коэффициентов уравнения.
Каждое выделенное уравнение выписывают в такую строку новой системы,
чтобы наибольший по модулю коэффициент оказался диагональным.
Из оставшихся неиспользованных и выделенных уравнений системы
составляют линейно независимые между собой линейные комбинации с
таким расчетом, чтобы был соблюден принцип указанный выше и все
заполненные строки оказались заполненными.
Пример Решить систему уравнений
2 x1  3x2  4 x3  x4  3  0
x1  2 x2  5 x3  x4  2  0
5 x1  3x2  x3  4 x4  1  0
10 x1  2 x2  x3  2 x4  4  0
Решение
146
Обозначим уравнения (А) - (Г). В уравнении (Б) коэффициент при
x3 по модулю больше суммы модулей остальных коэффициентов, при
x1 в уравнении (Г) также больше, поэтому системы примет вид
10 x1  2 x2  x3  2 x4  4  0

x1  2 x2  5 x3  x4  2  0

Анализируя данную систему, заметим, что для получения уравнения (2) с
максимальным по модулю коэффициентом при x 2 составим разность (А)
– (В)
x1  5x2  x3  0 x4  1  0
Теперь в новую систему вошли уравнения (А), (Б), (Г), поэтому в
уравнение (4) должно войти уравнение (В)
За уравнение (4) можно взять линейную комбинацию 2(А) - (Б)+2(В) (Г)
3x1  0 x2  0 x3  9 x4  10  0
Получили преобразованную систему уравнений (1)-(4), эквивалентную
исходной и удовлетворяющую условиям сходимости процесса итерации.
Разрешив эту систему относительно диагональных неизвестных, будем
иметь
x1  0 x1  0,2 x2  0,1x3  0,2 x4  0,4
x2  0,2 x1  0 x2  0,2 x3  0 x4  0,2
x3  0,2 x1  0,4 x2  0 x3  0,2 x4  0,4
x4  0,333 x1  0 x2  0 x3  0 x4  1,111
к которой можно применить метод итерации.
Достоинства итерационных методов:
1. Погрешность округления не накапливается от итерации к итерации.
2. Число итераций при n>100 обычно меньше n , поэтому общее число
действий меньше n3, т.е. меньше, чем в методе исключений Гаусса.
3. Не требуется больший объем памяти.
4. Итерационные методы особенно выгодны для систем с большим
количеством нулевых коэффициентов (систем с разряженной итерацией).
147
Методы исключения наоборот: чем больше нулей, тем чаще требуется
выбирать новую рабочую строку.
Недостаток - не всегда можно обеспечить сходность итерационного
процесса. С увеличением размерности системы труднее выполнить
линейные преобразования для обеспечения сходимости.
9.7 Метод Зейделя
Основная
идея
метода
состоит
в
том,
что
новые
значения
xi используются сразу же по мере получения. Более быструю сходимость
метода простых итераций можно обеспечить, если для каждой i -ой
компоненты вектора решения
k  1 приближения использовать

предыдущие компоненты от 1 до
i 1

также
k  1
приближения, а
остальные компоненты от i до n используются от предыдущего k -го
приближения. Такая модификация метода простых итераций носит
название «метода Зейделя». Метод Зейделя – модификация метода
итерации.
Этот метод достаточно широко применяется на практике, особенно
тогда, когда информации о матрице
недостаточно.
Людвиг Зейдель (1821-1896) - немецкий астроном и математик.
Пусть дана приведенная линейная система
n
xi   i   ij x j
j 1
Выберем
x 0  , x 0  , x 0 
1
2
n
произвольно
начальные
приближения
корней
k 
Предполагая, что k приближение xi корней известны, будем строить
k  1 приближения корней по формулам
148
n
x1k 1  1   1 j x jk 
j 1
x2k 1   2   21x1k 1 
n
  2 j x jk 
j 2

i 1
n
j 1
j i
xik 1   i    ij x jk 1    ij x jk 

n 1
xnk 1   n    nj x jk 1   nn xnk 
j 1
При использовании итерационных методов для решения систем ошибка
вычислений в большинстве случаев эквивалентна некоторому ухудшению
очередного приближения. Это отразится только на числе итераций, а не на
точности окончательного результата.
 Замечание Метод Зейделя дает лучшую сходимость, чем метод
простой итерации, но более громоздкие вычисления, может сходиться в
некоторых случаях, когда расходится процесс итерации. Но бывает и
наоборот.
Пример Методом Зейделя решить систему уравнений
10 x1  x2  x3  12
2 x1  10 x2  x3  13
2 x1  2 x2  10 x3  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
В качестве нулевых приближений корней возьмем
x10  1,2 ,
149
x20  0 ,
x30  0
Применяя процесс Зейделя, последовательно получим
x 2   1,2  0,1 1,06  0,1  0,948  0,9992
1
x22   1,3  0,2  0,9992  0,1  0,948  1,00536
x 2   1,4  0,2  0,9992  0,2 1,00536  0,999098
3
Точные значения корней
x11  1,2  0,1  0  0,1  0  1,2
x21  1,3  0,2  1,2  0,1  0  1,06
x 1  1,4  0,2  1,2  0,2  1,06  0,948
3
x1  1, x2  1, x3  1
Пример
Найти решение СЛАУ методом Зейделя с точностью
1
  10 .
115  x1  20  x2  75  x3  20

15  x1  50  x2  5  x3  40
6  x  2  x  20  x  28
2
3
 1
Решение
Вычисления по методу Зейделя будем проводить по формулам:
 x1( k 1)  0,17391  0,17391  x2( k )  0,65217  x3( k )

( k 1)
 0,8  0,3  x1( k 1)  0,1  x3( k )
 x2
 ( k 1)
x
 1,4  0,3  x1( k 1)  0,1  x2( k 1) ; k  0
 3
 0,17391


Положим x 0   0,8  . Последующие приближения будут иметь
 1,4 


значения:
 x1(1)  1,2260

(1)
 x2  1,0278
 (1)
 x3  0,9294
 x1( 2)  0,9588  x1(3)  1,0074


( 2)
(3)
x

0
,
9947
 2
 x2  1,0009
 ( 2)
 (3)
 x3  1,0129  x3  0,9977
 x1( 4)  0,9986

( 4)
 x2  1,0003
 ( 4)
 x3  1,0004
150
Очевидно, что x 3 и x 4 различаются между собой в тысячных долях,
поэтому в методе Зейделя счет можно прекратить после третьей итерации.
В этом случае получаем:
x  x3  max xi  xi(3)  0,007  101
i 1,3
x3  x 2  max xi(3)  xi( 2)  0,048  101
i 1,3
.
9.8 Метод релаксации
Для ускорения итерационного процесса в методе Зейделя его
необходимо привести к методу релаксации .
Рассмотрим обобщение метода Зейделя, которое, благодаря наличию
числового параметра
, позволяет в некоторых случаях ускорить
итерационный процесс и носит название метода релаксации.
Пусть имеем систему линейных уравнений
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
b21x1  x2    b2n xn  c2  0

bn1x1  bn 2 x2    xn  cn  0
151
bij  
Где
aij
aii
i j
ci 

bi
aii

Пусть x0  x10, x20, , xn0 - начальное приближение решения системы.
Подставляя эти значения в систему, получим невязки
n
R10   c1  x10    b1 j xj0 
j 2
n
R20   c2  x20    b2 j xj0 
j 1
j 2

n 1
Rn0   cn  xn0    bnj xj0 
j 1
0  дать приращение x 0  , то
Если одной из неизвестных x s
s


0
0
соответствующая невязка Rs уменьшится на величину x s , а все
0  i  s увеличатся на величины b x 0  .
остальные невязки R
is
i
s
1 в нуль,
Таким образом, чтобы обратить очередную невязку Rs
0  дать приращение
достаточно величине x s
 xs0  Rs0
1  0
1
0
0
и, следовательно Ri  Ri  bisxs
и будем иметь Rs
is.
Метод релаксации (метод ослабления) заключается в том, что на
каждом шаге обращает в нуль максимальную по модулю невязку путем
изменения значения соответствующей компоненты приближения.
Процесс заканчивается, когда все невязки последней преобразованной
системы будут равны нулю с заданной точностью.
Пример Методом релаксации решить систему
152
10 x1  2 x2  2 x3  6
 x1  10 x2  2 x3  7
 x1  x2  10 x3  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
В качестве нулевых приближений корней возьмем
x10  0 ,
x20  0 ,
x30  0
находим соответствующие невязки
R10  0,6
R20  0,7
R30  0,8
0 
Согласно теории, полагаем  x3  0,8 .
Отсюда получаем невязки
R11  R10   0,2  0,8  0,6  0,16  0,76
R21  R20   0,2  0,8  0,7  0,16  0,86
R 1  R 0   R 0   0
3
1
2
 x21  0,86
Далее полагаем
и т.д. Соответствующие результаты
вычислений приведены в таблице.
Суммируем все приращения
 ik  , получим значения корней
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
Очевидно, что собственные значения будут зависеть от параметра
 
релаксации  и наиболее быстрая сходимость последовательности x k 0
достигается тогда, когда спектральный радиус матрицы B минимальный. К
153
сожалению, до сих пор задача подбора оптимального значения  в общем
случае не решена.
В практических расчетах используют метод проб и ошибок. Можно
подбирать параметр  , требуя B  1 .
В дальнейшем будет показано, что   (0,2) если СЛАУ имеет
положительную симметричную матрицу.
Заметим, что при   (1,2) метод называют методом последовательной
верхней релаксации (или SOR-методом), а при значениях   (0,1) –
методом нижней релаксации.
Наибольшее распространение на практике получил метод верхней
релаксации ввиду его большей эффективности.
Таблица
x1
R1
x2
R2
x3
R3
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,8
-0,8
0
0,09
0,09
0,09
0,18
-0,18
0
0,01
0,01
0,01
0,02
-0,02
0
0
0
0,93
0,07
0,86
0,13
0,01
0,18
0,02

1,00
1,00
1,00
Проиллюстрируем на тестовом примере применение трех итерационных
методов (Якоби, Зейделя, релаксации) и дадим сравнительный анализ
результатов.
154
Пример Требуется найти четыре приближения к решению СЛАУ по
каждому из методов: Якоби, Зейделя, релаксации. Результаты сравнить с
точным решением.
Решение
Рассмотрение проведем на следующем тестовом примере:
2  x1  x2  4

 x1  2  x2  5
Здесь матрица СЛАУ является симметричной и положительно
определенной, а точное решение
Примем, что
Вычисления по методу Якоби проводим по формулам:
Получаем следующие приближения к точному решению:
Оценим x  x 4 , пользуясь формулой:
x  x 4  max xi  xi( 4)  max( 0,0625;0,0312)  0,063
i 1, 2
В методе Зейделя итерационные формулы имеют вид:
Пользуясь ими, получаем приближения к решению исходной СЛАУ:
Тогда
155
Согласно изложенной выше теории итерационные формулы метода
релаксации в рассматриваемом примере приобретают вид:
Чтобы проводить по ним вычисления, требуется знать параметр
релаксации
. Найдем его, требуя, чтобы
была меньше 1. Здесь
В итоге находим, что
Примем, что
2
B  max  bij
i 1, 2 j 1
Имеем, что B(1) 
1
; B(1,02)  0,53; B(1,1)  0,65 .
2
Примем   1,02 Тогда получаем:
Следовательно,
Получилось, что в рассматриваемом тестовом примере незначительное
ускорение сходимости расчетов дает метод релаксации.
 Замечание Процесс итерации
хорошо сходится, т.е. число
приближений, необходимых для получения корней системы с заданной
точностью, невелико, если элементы матрицы  малы по абсолютной
величине. Иными словами, для успешного применения процесса итерации
модули диагональных коэффициентов системы должны быть велики по
156
сравнению с модулями недиагональных коэффициентов этой системы
(свободные члены при этом роли не играют).
 Замечание Скорость сходимости метода релаксации зависит от
параметра  . Для сходимости метода должно выполняться условие
0  2.
Пример Решить систему уравнений методом итераций
4 x1  0.24 x2  0.08 x3  8
0.09 x1  3x2  0.15 x3  9
0.04 x1  0.08 x2  4 x3  20
Решение
Диагональные коэффициенты 4,3,4 значительно преобладают над
другими коэффициентами при неизвестных. Приведем систему к
нормальному виду.
x1  2  0.06 x2  0.02 x3
x2  3  0.03x1  0.05 x3
x3  5  0.01x1  0.02 x2
или в матричном виде
 x1  2 0  0.06 0.02  x1 
 x   3    0.03 0 0.05    x 
 2   
  2
 x3  5   0.01 0.02 0   x3 
За нулевые приближения корней системы принимаем
x10  2, x20  3, x30  5
Подставляя эти значения, получим первые приближения корней
x11  2  0.06  3  0.02  5  1.92
x 1  3  0.03  2  0.05  5  3.19
2
x31
 5  0.01  2  0.02  3  5.04
Далее подставляя эти найденные приближения, получим вторые
приближения корней
x2  1.9094, x2  3.1944, x2  5.0446
1
2
3
Результаты можно поместить в таблицу
157
 Замечание При применении метода итерации нет необходимости за
нулевое приближение принимать столбец свободных членов. Сходимость
процесса итерации зависит только от свойств матрицы  , поэтому
начальный вектор может быть взят произвольным. Обычно за компоненты
начального вектора выбирают приближенные значения корней системы,
находимые грубой прикидкой.
Таблица
k
x1k 
x2k 
x3k 
0
1
2
3
2
1.92
1.9094
1.90923
2
3.19
3.1944
3.19495
5
5.04
5.0446
5.04485
 Замечание Сходящийся процесс итерации обладает важным
свойством самоисправляемости, т.е. отдельная ошибка в вычислениях не
отразится на окончательном результате, так как ошибочное приближение
можно рассматривать как новый начальный вектор.
Задачи для самостоятельного решения
Решить СЛАУ двумя итерационными методами по выбору. Доказать
сходимость выбранных методов и получить оценку погрешности решения.
1.
2.
3.
158
Решить систему линейных алгебраических уравнений методом Гаусса с
выбором главного элемента. Вычислить погрешность найденного решения
 x1  0, 47 x2  0,11x3  0,55 x4  1,33
0, 42 x1  x2  0,35 x3  0,17 x4  1, 29
1. 
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
2. 
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
159
Глава 10 Решение дифференциальных уравнений
Решение дифференциальных уравнений широко применяется в
практике научно-технических расчетов. Это связано с тем, что
дифференциальные уравнения (и системы из них) описывают поведение
различных объектов в динамике, например переходные процессы в
электронных схемах. Линейные дифференциальные уравнения имеют
решения в виде специальных функций (скажем, функций Бесселя) Однако
многие физические системы нелинейны и описываются нелинейными
дифференциальными уравнениями, не имеющими аналитического решения.
В этом случае приходится использовать численные методы решения
дифференциальных уравнений. Дифференциальные уравнения являются
основным математическим инструментом моделирования и анализа
разнообразных явлений и процессов в науке и технике.
Методы их решения подразделяются на два класса:
 аналитические методы, в которых решение получается в виде
аналитических функций. Точные методы изучаются в курсе
дифференциальных уравнений. Однако классы уравнений, к
которым применимы точные методы, достаточно узки и охватывают
малую часть возникающих на практике задач.

численные (приближенные) методы, где искомые интегральные
кривые получают в виде таблиц их численных значений. К приближенным
методам относятся методы, в которых решение получается как предел
некоторой последовательности функций, причем каждый член этой
последовательности выражается через элементарные функции или при
помощи квадратур. Численные методы не позволяют найти общее решение
уравнения. С их помощью можно найти лишь частное решение. Но они
применимы к широким классам уравнений и всем типам задач для них.
Численные методы можно применять к задачам, имеющим
единственное решение (корректно поставленным). В некоторых случаях
условий корректности может оказаться недостаточно. Необходимо, чтобы
задача была хорошо обусловлена (устойчива), т.е. малые изменения в
задании исходных данных приводили к достаточно малым изменениям
искомого решения.
Приведем пример плохо обусловленной задачи :
y( x)  y  x, 0  x  100,
y(0)  1 .
160
Общее
решение дифференциального уравнения имеет вид
y( x)  1  x  ce x . Из начального условия определяем c : c  0 , тогда
y(100)  101. Изменим начальное условие: пусть y(0)  1,000001 .
37
6
Постоянная c  10 , а y(100)  2,7  10 , т.е. малое изменение
начального условия привело к сильному изменению решения.
Дифференциальное уравнение первого порядка, разрешённое
относительно производной, имеет вид:
y  f  x, y  .
Решением дифференциального уравнения называется функция  x  ,
подстановка которой в уравнение обращает его в тождество:
 x  f x,  x  .
График решения y   x  называется интегральной кривой.
Пример, Решение уравнения y  y является функция
 x   Ce x при любом значении постоянной С.
Пример, решением уравнения y '  1  e x является функция
 ( x)  x  ce x  C , при любом значении произвольной постоянной ñ.
Функции такого вида образуют семейство кривых ,представленных на
рисунке.
161
Задача Коши для дифференциального уравнения первого порядка
состоит в том, чтобы найти его решение, удовлетворяющее условию
y
x  x0
 y0
.
Пару чисел x0 , y 0  называют начальными данными (условиями).
Решение задачи Коши называется частным решением уравнения при
начальном условии.
Пример, частным решением задачи Коши
y   y, y
x 0  1
является функция  x   e .
Частному решению соответствует та из семейства интегральных
кривых, которая проходит через точку ( x0 , y0 ) , координаты которой
называются начальными данными.
Общепринятый подход
нахождения решения обыкновенного
дифференциального уравнения заключается в дискретизации задачи. Это
означает, что искомая функция ищется только в конечном числе
дискретных точек
a  x0  x1 
 xN  b (узлов сетки),
а не на всем непрерывном отрезке.
При этом полагают yi   ( xi ), i  1,2, , n .
Численное решение задачи Коши состоит в том, что получить таблицу
приближенных значений решения yi , причем начальное условие
выполняется точно y0   ( x0 ) .
Приближенным решением задачи будет некоторая сеточная функция
y  y(x) .
Для получения значений сеточной функции используются различные
методы основанные на замене производной каким-либо разностным
уравнением. Рассмотрим некоторые из них более подробно.
Частному решению соответствует одна из интегральных кривых,
x0 , y0  . Условия существования и
проходящая через точку
единственности решения задачи Коши содержатся в следующей теореме.
 Теорема Пусть функция f ( x, y) - правая часть дифференциального
x
уравнения (1) – непрерывна вместе со своей частной производной
f
в
y
162
некоторой области D на плоскости. Тогда при любых начальных данных
x0 , y0  из этой области задача Коши имеет единственное решение
y   x  .
При выполнении условий теоремы через точку x0 , y 0  на
плоскости проходит единственная интегральная кривая.
Будем считать, что условия теоремы выполняются.
Численное решение задачи Коши состоит в том, чтобы получить
искомое решение y   x  в виде таблицы его приближённых значений
для заданных значений аргумента на некотором отрезке a, b:
x0  a, x1 , x2 , ..., xn1 , xn  b
.
Будем использовать равномерную сетку с шагом h:
h
ba
; xi  xi 1  h; xi  x0  ih, i  1, 2, ..., n .
n
Приближённые значения численного решения задачи Коши в узловых
точках x i обозначим через y i :
yi   xi , i  1, 2, ..., n .
Для любого численного метода решения задачи Коши начальное
условие выполняется точно, то есть, имеем y0   x0  .
Величина погрешности численного метода решения задачи Коши на
сетке отрезка a, b оценивается величиной
d  max  yi   xi .
1i  n
 Определение Говорят, что численный метод имеет р-й порядок
точности по шагу h на сетке, если расстояние d можно представить в виде
степенной функции от h:
d  Ch p , p  0 ,
где С – некоторая постоянная, зависящая от правой части уравнения (1) и от
рассматриваемого метода.
 Замечание Очевидно, что когда шаг h стремится к нулю,
погрешность d также стремится к нулю.
Рассмотрим наиболее распространенные при решении практических
задач методы интегрирования Эйлера, Рунге-Кутта..
163
10.1 Метод Эйлера
i вычисляются
В методе Эйлера приближенные значения  i 
последовательно hi  xi 1  xi . При этом искомая интегральная кривая
y  x  , проходящая через точку  x0 , y0  , заменяется ломаной с вершинами
 xi , yi  . Каждое звено ломаной имеет направление, совпадающее с
y x y
направлением интегральной кривой, которая проходит через точку  i i  .
Поэтому метод Эйлера часто называют методом ломаных.
Этот метод является сравнительно грубым и применяется в основном
для ориентировочных расчетов. Однако идеи, положенные в основу метода
Эйлера, являются исходными для ряда других численных методов.
Задача для дифференциального уравнения первого порядка ставится
следующим образом
x ,y
 du
  u ' ( x )  f ( x, u )
 dx
u ( x0 )  u0
В курсе математического анализа формулируется и доказывается
теорема существования и единственности решения задачи Коши. Отметим,
что для выполнения теоремы необходимо и достаточно, чтобы функция
f ( x, u) имела непрерывные частные производные в замкнутой
ограниченной области G .
Пусть нам известна входная динамическая последовательность X
(входной сигнал) и модель (способ преобразования входного сигнала в
выходной сигнал). Рассматривается задача определения выходного сигнала
y(t)
Рис. Структурная модель динамической системы с одним входом и одним
выходом
164
Модель
динамической
системы
дифференциальным уравнением.
Основное уравнение динамики:
может
быть
представлена
y  f xt , yt , t  .
Известны начальные условия в нулевой момент времени t 0 : y t 0  ,
xt0  . Чтобы определить выходной сигнал, заметим, что по определению
производной:
y  tg   
Δy
Δt
Нам известно положение системы в точке «1», требуется определить
положение системы в точке «2». Точки отделены друг от друга расстоянием
Δt . То есть расчет поведения системы производится по шагам. Из точки
«1» мы скачком (дискретно) переходим в точку «2», расстояние между
точками по оси t называется шагом расчета Δt .
Рис. Иллюстрация расчета будущего состояния системы методом Эйлера на
одном шаге
Тогда:
y t  Δt   y t   Δy  y t   tg    Δt  y t  
 y t   f x, y, t   Δt
или
165
Δy
 Δt 
Δt
y t  Δt 



Состояниесистем ы
в будущем
состояние
систем ы
в настоящем


y t 
 f  x, y , t   Δ
t


 
Скорость, шаг
тенденция



Приращение,
изм енение
Последняя формула называется формулой Эйлера.
Пусть A — точка, в которой состояние системы известно. Это
«настоящее» состояние системы.
В точке A к траектории движения системы проведем касательную.
Касательная — это производная функции f xt , yt , t  по переменной t .
Производную в точке всегда легко вычислить, достаточно подставить
известные переменные (в момент «Настоящее» они известны) в формулу
y  f xt , yt , t  .
Рис. Геометрическая иллюстрация метода Эйлера
Заметим, что, по определению, производная связана с углом наклона
касательной: y  tg   , значит, угол  легко вычислить (   arctg  y ) и
провести касательную.
Проведем касательную до пересечения с линией t  Δt . Момент t  Δt
соответствует «будущему» состоянию системы. Проведем линию
параллельно оси t от точки A до пересечения с линией t  Δt . Линии
166
образуют прямоугольный треугольник ABC, один катет которого равен Δt
(известен). Известен также угол  . Тогда второй катет в прямоугольном
треугольнике ABC равен: a  Δt  tg   . Теперь легко вычислить ординату
yt  и a . Ордината
символизирует положение системы в точке yt  Δt  . То есть
yt  Δt   yt   a или далее yt  Δt   yt   Δt  tg   или, подставляя
дальше,
имеем:
и,
наконец,
yt  Δt   yt   Δt  y
yt  Δt   yt   Δt  f xt , yt , t  . Снова мы получили формулу Эйлера
точки B . Она состоит из двух отрезков —
(из геометрических соображений).
Эта формула может дать точные результаты только при очень малых
Δt (говорят при Δt  0 ).
При Δt  0 формула дает расхождение между истинным значением y
и расчетным, равное  , поэтому в ней должен стоять знак приближенного
равенства, либо она должна быть записана так:
yt  Δt   yt   Δt  f xt , yt , t    .
Заменяя реальную кривую прямой (касательной) на отрезке Δt , мы
вносим в решение ошибку, попадая в результате не в точку «2», а рядом, в
точку «3». Очевидно, что этот численный метод на каждом шаге имеет
погрешность расчета  .
Из рисунка видно, что чем меньше взять величину Δt , тем меньше
будет ошибка расчета  . То есть для расчета поведения системы на
сколько-нибудь продолжительном отрезке времени (например, от t 0 до t k ),
чтобы уменьшить ошибку на каждом шаге, шаги Δt
делают по
возможности малыми. Для достижения точки t k отрезок t k  t0  делится
t  t 
на отрезки длиной Δt ; таким образом, всего получится N  k 0
Δt
шагов.
В результате расчета придется формулу Эйлера применить для каждого
шага, то есть N раз.
167
Рис. Нарастание суммарной ошибки в методе Эйлера на ряде шагов
 Замечание Следует иметь в виду, что ошибки εi на каждом i-ом
шаге (в простейшем случае) складываются, а общая ошибка быстро
накапливается. В этом состоит существенный недостаток данного метода.
 Замечание С помощью этого метода можно получить (в численном
виде) решение любого дифференциального уравнения (в том числе и
неразрешимого аналитически).
 Замечание При большом числе итераций в расчет вносится
существенная погрешность из-за ограниченной точности вычислительных
машин и ошибок округления. Вследствие систематического накопления
ошибок метод используется редко или используется только для оценки вида
интегральной кривой.
Пример Дано дифференциальное уравнение y' = 2ty. Задано начальное
положение системы: y(0) = 1. Требуется найти y(t), то есть поведение
системы на интервале времени t от 0 до 1.
Решение
Аналитический способ решения y' = 2ty.
Методом разделения переменных найдем: y'/y = 2t
Будем интегрировать
интегрирования имеем:
от
0
до
ti,
тогда
согласно
правилам
168
Полученное аналитическое решение характеризуется тем, что оно
является абсолютно точным, но если уравнение окажется сколько-нибудь
сложным, то решение не будет найдено вовсе. Аналитический путь
решения не универсален.
Численный способ решения
Численный способ решения предполагает, что расчет будет вестись по
формуле Эйлера на ряде последовательных шагов. На каждом шаге
решение имеет свою ошибку, поскольку на каждом шаге кривая заменяется
прямым отрезком.
При алгоритмической реализации расчет реализуется циклом, в котором
изменяется t (счетчик t ) и y :
t : t  Δt
y : y  2  t  y  Δt
Блок-схема при реализации метода на компьютере показана на рисунке.
Рис. Блок-схема реализации метода Эйлера
169
Если при уменьшении шага предел y n стремится к значению yтеор ., то
говорят, что метод обладает сходимостью.
Размер шага и ошибка для метода Эйлера связаны линейно. Хотите
уменьшить в 10 раз ошибку — уменьшайте в 10 раз шаг и увеличивайте
соответственно в 10 раз количество вычислений. Этот факт в математике
принято обозначать символом   OΔt  , а метод Эйлера называют
методом первого порядка точности.
Поскольку в методе Эйлера ошибка достаточно велика и от шага к шагу
накапливается, а точность пропорциональна количеству вычислений, то
метод Эйлера обычно применяют для грубых расчетов, для оценки
поведения системы в принципе. Для точных количественных расчетов
применяют более точные методы.
Метод должен быть устойчив. Устойчивость связана с некоторой
критической величиной шага. При проявлении неустойчивости
наблюдается полное искажение качественной картины расчета, «разболтка»
результата.
При выборе метода рекомендуется сначала добиться устойчивости, а
внутри области устойчивости — сходимости результата. Устойчивость
обеспечивает
качественную
картину.
Сходимость
обеспечивает
количественный результат.
Будем
искать
решение
задачи
(5)
в
прямоугольниках
G  x, u  xo  x  xo  d , a  u  b
Введем сетку на оси OX
 h  xo , x1 , ... , xn  ,
xi  x  ih, i  0, 1, ... , n
d
h  , n N
n
Простейший итерационный процесс решения (5) на сетке
h
получается, если аппроксимировать производную u ' ( x) на сетке правой
конечной разностью.
Обозначая приближенное решение на сетке y j , j  0, 1, ... , n , получим
y j 1  y j
h
 f x j , y j   oh 
или
170
 y j 1  y j  hf ( x j , y j )  o(h 2 ), j  0,1,.., n  1

 y0  u 0
Итерационная процедура называется “метод Эйлера” (или “метод
ломаных”). Дадим графическую иллюстрацию метода.
Рис. Метод ломаных
Начав движение из точки ( x0 , y 0 ) на точном решении u (x) ,
итерационное решение образует ломаную линию, каждый отрезок которой
представляет собой касательную к кривой u (x) , проходящую через данную
точку.
Например,
y1  yo  hf ( xo , yo )  u o  hu' ( xo ))
- уравнение касательной к u (x) в точке x o .
y 2  y1  hf ( x1 , y1 )  y1  hu1 ' ( x1 ),
где u1 ( x1 ) -та интегральная кривая, которая проходит через точку (x1,y1).
Из рисунка видно, что ошибка  k  y k  u k растет с номером k.
Выясним, каков порядок этой ошибки в сеточной норме  k
h
 max  k
k
Метод Эйлера для расчета дифференциальных уравнений имеет
небольшую точность расчета. Точность расчета у него зависит от размера
шага линейно, зависимость точности от шага — первой степени. То есть,
чтобы увеличить точность в 10 раз, надо уменьшить шаг в 10 раз.
171
На практике интересуются более совершенными методами. Вопрос
стоит так: можно ли увеличить точность на порядок, но при этом
сэкономить на количестве вычислений? Да, такие методы есть.
10.2 Модифицированный метод Эйлера
Модифицированный метод Эйлера имеет точность второго порядка. В
методе Эйлера производная берется в начале шага и по ней прогнозируется
движение системы на конец шага, считая, что во время шага производная
неизменна. То есть в течение всего шага производная считается той, какой
она была в самом начале шага. Это основной источник неточности.
Рассмотрим модификацию метода Эйлера.
Дано
y   f x, y 
y  x0   y 0
Выберем шаг xi  x0  ih . По методу Эйлера имеем
yi 1  yi  hf xi , yi 
Вычислим промежуточные значения
x
i
y
i
1
2
1
2
 xi 
h
2
 yi 
h
 fi
2


найдем направление интегральных кривых в точках  x 1 , y 1  , т.е.
 i 2 i 2 


f 1  f  x 1 , y 1  ,
i
2
 i 2 i 2 
а затем полагают
yi 1  yi  hf 1
i
2
Сначала определяют грубое приближение
y i 1  yi  hf xi , yi 
исходя из которого определяем
172


f i 1  f xi 1 , yi 1 ,
затем
f  f i 1
yi 1  yi  h  i
2
Улучшение метода состоит в том, что берется производная не в начале
шага, а как промежуточное или среднее на разных участках одного шага. В
разных вариантах метода вычисляют несколько производных в разных
частях шага и усредняют их. Конечно, в этом случае число вычислений
увеличивается, — но не в десятки раз, — а вот точность возрастает на
порядок, в этом и состоит выигрыш.
Метод Эйлера легко распространяется на системы дифференциальных
уравнений первого порядка. Рассмотрим, например, систему
с условиями
 y  f1  x, y, z  , a  x  b,
 
 z  f 2  x, y , z  .
y  a   y0 z  a   z0
,
Приближенные значения
.
yi  y  xi  , zi  z  xi 
этой системы в
x
точках i 1 вычисляются последовательно по формулам:
 yi 1  yi  hi f1  xi , yi , zi  , i  0,1, 2,

 zi 1  zi  hi f 2  xi , yi , zi .
, N  1,
Контрольные вопросы
1. Сформулируйте задачу Коши для обыкновенных дифференциальных
уравнений первого порядка.
1. Что является решением дифференциального уравнения: а) в высшей
математике, б) в вычислительной математике?
2. Какие методы решения дифференциальных уравнений называются
одношаговыми? Приведите примеры.
173
10.3 Методы Рунге-Кутта
Методы Рунге-Кутта являются одними из наиболее распространенных
численных методов интегрирования обыкновенных дифференциальных
уравнений. По сравнению с описанным выше методом Эйлера метод РунгеКутта имеет более высокую точность Методы Рунге-Кутта - это группа
итерационных методов решения задачи Коши, характеризуемая
следующими условиями:
 Это одношаговые методы, т.е. при переходе из точки ( x k , y k ) в
точку ( x k 1 , y k ! ) используется лишь информация о предыдущей
точке ( x k , y k ) . Этому условию соответствует такая общая запись
итерационной процедуры
y k 1  y k  h ( xk , y k ) ,
где  ( x k , y k ) выражается через значения функции f ( x, y) в точке
( x k , y k ) или близким к ней (сдвинутым на долю шага).

Процедура согласуется с рядом Тейлора вплоть до членов порядка
h p , где p -порядок метода.
 Метод не использует производных от f ( x, u ) , а требует только
вычисления функции в различных точках сетки, причем число
вычислений функции - минимально возможное для данного
порядка.
Эти методы позволяет строить схемы различного порядка точности.
Достоинства методов:
 имеют хорошую точность,
y
n 1
 являются явными, т.е. значение
вычисляются по ранее
найденным значениям за определенное число действий по
определенным формулам,
 все схемы допускают пересчет переменным шагом, следовательно,
можно уменьшить шаг там, где функция быстро меняется и увеличить
его в обратном случае,
 для начала расчета достаточно выбрать сетку и задать начальное
значение
y 0 и далее расчеты ведутся по одним и тем же формулам.
174
 Определение Порядком (или степенью) точности метода типа
Рунге – Кутта называют такое число s , для которого погрешность
приближенного равенства
yi  y  xi 1   y  xi  будет величиной порядка h 2 .
Заметим, что метод Эйлера является частным случаем метода РунгеКутта, имеющий наименьший первый порядок точности.
Рассмотрим один из примеров повышения порядка точности метода
Рунге-Кутта до второго порядка.
Представим  ( x k , y k ) в виде следующей линейной комбинации
 ( xk , y k )  a1 f ( xk , y k )  a2 f ( xk  b1h, y k  b2 hf ( xk , y k )) .
Разложим функцию f ( x, y) в точке ( x k , y k ) в ряд Тейлора до членов
первого порядка включительно
f ( xk  b1h, y k  b2 hf ( xk , y k ))  f ( xk , y k )  f x' ( xk , y k )b1h  f y' ( xk , y k )b2 hf  o(h 2 ) П
одставляя эти формулы в, получим:


yk 1  yk  h a1 f  a2 f  ha2 (b1 f x'  b2 f y' f )  o(h3 ) .
(все входящие в правую часть функции берутся в точке ( x k , y k ) )
Аналогичное разложение по Тейлору напишем для функции y (x) ,
используя уравнение y' ( x)  f ( x, y)
y k 1  y( x k 1 )  y k  hf 
h 2 ''
h2
y k  o(h 3 )  y k  hf  ( f x'  f y' f )  o(h 3 ) Т
2
2
ребуя совпадения коэффициентов разложений при одинаковых степенях h,
получим систему уравнений для неизвестных коэффициентов a1 , a 2 , b1 , b2 :

a1  a 2  1

1
 a 2 b1 
2

 a 2 b2  1

2
Система недоопределена. Поэтому один из коэффициентов можно
задать произвольно. Например, положим a 2   .
Получим
175
a1  1   , b1  b2 
1
.
2
Итерационная процедура приобретает вид


h
h
y k 1  y k  h (1   ) f ( x k , y k )  f ( x k 
, yk 
f ( x k , y k ))  o(h 3 )
2
2


за
O(h 2 )
ключаем, что точность этого метода
, т.е. данный метод - второго
порядка.
Рассмотрим некоторые частные случаи .

1
2
Отбрасывая погрешность, получаем
y k 1  y k 
h
( f ( x k , y k )  f ( x k  h, y k  hf ( x k , y k ))
2
.
Полученный метод Рунге-Кутта носит название “предикторкорректор”. Чтобы прояснить смысл этого названия разобьем процедуру
на два этапа:
 y k 1  y k  hf ( xk , y k )

f ( xk , y k )  f ( xk 1 , y k 1 )

y k 1  y k  h

2

На первом этапе “предсказываем” значение y k 1 по методу Эйлера.
На втором этапе это значение корректируется путем усреднения
угловых коэффициентов в точках ( x k , y k ) и ( x k 1 , y k 1 ) .
За счет коррекции, точность данного метода и повышается на порядок
по сравнению с методом Эйлера.
 1
Получаем
y k 1  y k  hf ( x k 
h
h
, y k  f ( x k , y k ))
2
2
Обозначим
x
1
k
2
 xk 
h
,
2
y
1
k
2
 yk 
h
f ( xk , y k ) .
2
176
Тогда разбивается на два этапа:
На первом этапе находим y
k
1
2
- прогнозируемое значение на
половинном шаге от точки x k по методу Эйлера.
Вычисляем наклон интегральной кривой в точке ( x
k
1
2
,y
k
1
2
) , и на
втором этапе, двигаясь по касательной с данным угловым коэффициентом
из точки ( x k , y k ) в точку ( x k 1 , y k 1 ), получаем окончательно
y k 1  y k  hf ( x
k
1
2
,y
k
1
2
).
Полученный метод носит название “модифицированный метод
Эйлера”.

Замечание При практическом применении методов Рунге-Кутта
возникает вопрос: какой формулой пользоваться на практике? Если
априори известно, что f ( x, y) - достаточно гладкая функция, например,
f  C 4 (G) , то наиболее эффективны методы 4 го порядка. Если же
гладкость функции f ( x, y) недостаточна, то лучше использовать методы
второго и третьего порядка.
 Замечание Существуют процедуры Рунге-Кутта повышенной
точности.
Например, метод Рунге-Кутта четвертого порядка точности
(наиболее употребляемый на практике) сформулирован следующим
образом
где
h

 yk !  yk  (1  2 2  2 3   4 ),

6

y

u
0
 0
 1  f ( xk , yk ),

h
 2  f ( xk  , yk  1 ),
2
2
2
h
 3  f ( xk  , yk  ),
2
2
 4  f ( xk  h, yk   3 )
Если f ( x, y)  C 4 (G) , то погрешность процедуры  O(h 4 ) .
177

Замечание На практике наибольшее распространение
получил метод Рунге-Кутта 4-го порядка, в котором усреднение проводится
по трём точкам, формула Эйлера на каждом отрезке используется 4 раза: в
начале отрезка, дважды в его середине и в конце отрезка.
Пример. Решить задачу Коши y   x  y, y x 0  1 методом Эйлера
на отрезке 0; 0,4 . Найти решение на равномерной сетке с шагом h  0,1 в
четырёх узловых точках. Вычислить погрешность вычисления, сравнив его
результат с точным значением (аналитическое решение задачи имеет вид
 x   2e x  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, y 2  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, y 4  1,362  0,10,3  1,362  1,5282 .
Составим следующую таблицу:
i
xi
yi h 
1
,1
2
,2
3
,3
4
,4
0
1,
1
0
1,
22
0
1,
362
0
1,
5282
  xi 
1,11
0342
1,24
2805
1,39
9718
1,58
3649
di
0,01
342
0,02
2805
0,03
7718
0,05
5449
Таким образом, погрешность для приближённых вычислений с шагом
0,1 составляет d  y 4 h   x4   0,06 .
178

Замечание Метод Рунге-Кутта может быть использован и при
решении систем дифференциальных уравнений.

Замечание Все методы являются одношаговыми, то есть для
вычисления значения функции в новой точке используется ее значение в
предыдущей точке. Это свойство называется самостартованием.

Замечание Шаг сетки можно менять при переходе от одной точки к
другой. Для контроля правильности выбора шага h вычисляют дробь
i
i
K 2   K3  .
  i 
i 
K1  K 2
Величина  не должна превышать нескольких сотых, в противном
случае шаг следует уменьшить. В практике для контроля вычислений
применяют двойной пересчет, т.е. сначала вычисляют решение с шагом h ,
затем с шагом h / 2 . В заданных точках приближенные решения должны
совпасть в пределах заданной точности.
Отличительная особенность методов Рунге-Кутта от метода Эйлера
заключается в том, что значение правой части уравнения вычисляется не
только в точках сетки, но и также в середине отрезков(промежуточных
точках).
Методы Рунге-Кутта сходятся и порядок их точности совпадает с
порядком аппроксимации разностным отношением, легко распространятся
на системы линейных уравнений первого порядка.
Задачи для самостоятельного решения
1. Найти решение задачи Коши для дифференциального уравнения
первого порядка на равномерной сетке отрезка a; b с шагом 0,2 методом
Эйлера. Сравнить численное решение с точным значением. Результаты
представить в виде таблиц, аналогичных приведённой в примере.
1) y 
1  xy
x
2
2) y  y 
,y
x 1  0,
2x
,y
y
x  0  1,
x  1, 2,  x  
1
1
x ;
2
x
x  0, 1,  x   2 x  1 ;
2. Применяя метод Эйлера, численно решить следующие
дифференциальные уравнения и системы дифференциальных уравнений
с данными начальными условиями на отрезке  a, b с шагом h и h 2
179
при указанных значениях параметров. Нарисовать график найденного
решения. Выяснить возможность аналитического решения. Сравнить
результаты численного и точного решений.
1. y  x  y , y  0   1 , a  0 , b  1, h  0,1.
x y
6  x2 y 2
2. y 
, y 1  2 , a  1, b  1,5 , h  0,05 .
 x2
xy
3. y  
, y  0   e , a  0 , b  0,5 , h  0,05 .
1 x
1
sin x
4. y 

y , y  0   0 , a  0 , b  1, h  0,1.
cos x cos x
5. y 
2
3
3
y  xy1 3 , y 1  0 , a  1 , b  2 , h  0,1.
2x
2
3
6. y  2 xy2 2 , y  2   1 , a  2 , b  2,5 , h  0,05 .
1 x y
3.Методом Рунге-Кутта найти решение на отрезке
 a, b 
следующих
дифференциальных уравнений при заданных начальных условиях с
указанным шагом h . Нарисовать график найденного решения. Выяснить
возможность аналитического решения. Сравнить результаты численного
и точного решений.
1. y 
2
y  x , y 1  0 , h  0,1, a  1 , b  1,5 .
x
2. y  
xy
, y  0   2 , h  0,05 , a  0 , b  0,3 .
1  x2
3. y  y  1  x  y 2 , y  0   1 , h  0,1,
4. y 
a  0 , b  0,5 .
y  x2  y 2 ,
y 1  0 , h  0,1, a  1 , b  1,5 .
x
180
5.
181
y 
x 2 y 2   2 x  1 y  1
, y 1  0 , h  0,1, a  1 , b  1,5 .
x
10.4 Многошаговые разностные методы
Рассмотрим задачу Коши для обыкновенного дифференциального
уравнения
du
 f (t , u )
dt
где u (0)  u 0 .
Для решения задачи Коши при t>0 введем равномерную сетку с
постоянным шагом  ωτ  t n  n  τ,n  0,1,... .
Введем понятие линейного m шагового разностного метода для решения
задачи.
Определение Линейный m-шаговый метод - система разностных
уравнений вида:


a 0 y n  a1 y n 1  ...  a m y n  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 , y n2 ,..., y nm ,
причем расчет начинают с индекса n=m, т.е. с
уравнения
a 0 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 значений могут
быть найдены одним из одношаговых методов Рунге-Кутта.
Отличие от одношаговых методов состоит в том, что по формулам
расчет ведется только в точках сетки.
Определение Метод
182
a 0 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
придется решать нелинейное уравнение вида
m
a0
a
y n  b0 f(tn ,yn )   (bk t nk  k y nk )
τ
τ
k 1
Обычно это уравнение решают методом Ньютона при начальном
значении y n  y n 1 . Коэффициенты уравнения определены с точностью
до множителя, тогда, чтобы устранить этот произвол, вводят условие
( 0)
m
 bk
 1.
k 0
На практике используют частный случай методов, так называемый
метод Адамса, т.е. когда производная u (t ) аппроксимируется разностным
отношением, включающим две соседние точки
a 0  a1  1; ak =0, k=2,...,m и
y n  y n 1


tn
и
t n 1 .
Тогда
m
 bk f n  k
k 0
Это и есть методы Адамса. При b 0 =0 метод будет явным, в противном
случае - неявным.
Выясним, как влияют коэффициенты ak, bk на погрешность
аппроксимации, на устойчивость и сходимость.
Определение Невязкой, или погрешностью аппроксимации методов
называется функция
m
rn   
ak
k 0 
где
183
un  k 
m
 bk f (tn  k , un  k )
k 0
u (t ) -точное решение дифференциального уравнения.
Если разложить функции
t  tn
u nk  u(t n , k   )
в ряд Тейлора в точках
равномерной сетки, окончательно получим функцию
p m
ak
U (l ) (t n )
k
l 1
rn  (  )U (t n )   (  (k   ) (a k  bk )) 
 O( p )
l
(l  1)!
k 0 
l 1 k 0
вида функции rn следует, что порядок аппроксимации будет равен p,
m
Из
если выполнены условия
m
 ak
 0;
k 0
m
 k l 1 (kak
k 0
m
 bk
 lbk )  0;
 0,
k 0
где l=1,...,p.
Условия представляют собой СЛАУ относительно неизвестных
a 0 ,...,a m , b0 ,...,bm . Их количество равно 2(m+1). Решив систему,
получаем неизвестные числовые коэффициенты.
Для неявных методов наивысшим порядком аппроксимации p=2m, а для
неявных – p=2m-1.
10.5 Устойчивость многошаговых разностных методов
Будем рассматривать т.н.однородные разностные уравнения вида
a0Vn  a1Vn1  ...  a mVnm  0
где n=m,m+1,... .
Будем искать его решение в виде функции
Vn  q n ,
где q-число подлежащее определению.
Получаем уравнение для нахождения q
a0 q m  a1q m1  ...  a m1q  a m  0
184
Уравнение принято называть характеристическим уравнением для
разностных методов.
Говорят, что разностный метод удовлетворяет условию корней, если все
корни уравнения q1 ,...,q m
a0 q m  a1q m1  ...  a m1q  a m  0
лежат внутри или на границе единичного круга комплексной плоскости,
причем на границе нет кратных корней.
Разностный метод, удовлетворяющий условию корней, называется
устойчивым методом.
10.6 Метод Пикара (последовательных приближений)
Рассмотрим задачу Коши
u  x   f ( x, u ( x))
u    
 x X
Интегрируя дифференциальное уравнение, заменим ее интегральным
уравнением типа Вольтерра.
x
u ( x)     f ( , u ( ))d

Решая это уравнение методом последовательных приближений, получим
итерационный процесс Пикара
x
y s ( x)     f ( , y s 1 ( ))d .

На каждой итерации этого процесса интегрирование выполняется либо
точно, либо численными методами.
Пример Решить задачу Коши
y   x  y,
y0  1
Решение
x
y  1    x  y dx
0
тогда
185
,
x
y1  1    x  1dx  1  x 
0
x2
2
x

x2 
x3
y 2  1    x  1  x  dx  1  x  x 2 
2 
6
0
3
4
x
x
y3  1  x  x 2 

6 24
x3 x4 x5
y4  1  x  x 2 


6 24 120
Видно, что при x  1 эти приближения быстро сходятся и позволяют
вычислить решение с высокой точностью.
 Замечание Метод Пикара выгодно применять, если интегралы
удается вычислить через элементарные функции.
Пусть правая часть уравнения
u   f x,u,  
зависит от параметра и известно частное решение
значении параметра.
y 0  x  при некотором
10.7 Метод малого параметра
Решение будем искать в виде

u  x      0   y n  x 
n
n 0
f x,u,   по
  0  , получим для определения y n x 
формуле Тейлора по степеням
Подставляя этот ряд в исходное уравнение и разлагая
линейные уравнения
здесь коэффициенты
функция
vn x 
y n x    n x  y n x   vn x 
,
 n  x  выражаются через производные f x,u,   , а
выражается через
yk x
0k n
.
186
y n  x  сводится к квадратурам. Достаточным условием
сходимости является аналитичность f x,u,   по всем аргументам.
Нахождение
 Замечание При практическом применении метода малого
параметра специально вводят в правую часть параметр так, чтобы при
некотором его значении легко находилось частное решение.
Пример
Решить
дифференциальное
уравнение:
u x   x 2  u 2 x  .
Решение
Решение не выражается через элементарные функции. Если прибавить к
2
правой части   u , положив таким образом
f x, u,    x 2  1     u 2
тогда при
0  1 сразу видно частное решение
1
y0 x    x 3  c
3
,
где c определяется из начального условия.
10.8 Метод Адамса
Пусть дана задача Коши. Будем рассматривать правую часть уравнения
не на всей плоскости, а только на определенной интегральной кривой,
соответствующей искомому решению, x i - равноотстоящие узлы.
Пусть известно приближенное решение в нескольких точках сетки,
тогда в окрестности этих узлов приближенно можно заменить
интерполяционным многочленом. Имеем
xi 1
yi   y dx
xi
По второй интерполяционной формуле Ньютона имеем
y   yi  q  yi1 
187
q  q  1 2
q  q  1  q  2 3
  yi2 
  yi3 ,
2!
3!
где q 
x  xi
, или
h
q2  q 2
q 3  3q 2  2q 3
  yi2 
  yi3
2!
3!
Подставляя в (1) и учитывая dx  hdq , получим
1
q  q  1 2
q  q  1  q  2 3


yi  h   yi  q  yi1 
  yi2 
  yi3 dq От
2!
3!

0
y   yi  q  yi1 
сюда получаем экстраполяционную формулу Адамса
1
5
3
yi  hyi  hyi1   2 hyi2   3 hyi3 
2
12
8
Для начала процесса нужны четыре начальных значения. Для определения
начального отрезка используется любой метод.

Замечание Формулы Адамса рассчитаны на постоянный шаг, это
недостаток.
10.9 Примеры m-шаговых разностных методов Адамса
Явные методы.
При m=1 порядок точности p=1.
Тогда метод описывается формулой
y n  y n 1

 f n 1 .
В этом случае получаем метод Эйлера.
При m=2 порядок точности p=2.
Тогда метод описывается формулой
y n  y n1


3
1
f n1  f n 2 .
2
2
При m=3 порядок точности p=3.
Тогда метод описывается формулой
y n  y n1


1
(23 f n1  16 f n 2  5 f n3 .
12
При m=4 порядок точности p=4.
Метод описывается формулой
188
y n  y n1


1
(55 f n1  59 f n2  37 f n3  9 f n4 ) .
24
Неявные формулы Адамса.
y n  y n 1
1
( f n  f n 1 ) -метод трапеций;

2
y n  y n1 1
m=2, p=3,
 (5 f n  8 f n 1  f n2 ) ;

12
y n  y n1 1
m=3, p=4,

(9 f n  19 f n1  5 f n2  f n3 ) .

24
Неявные методы содержат искомое значение y n нелинейным образом,
m=1, p=2,

поэтому для его нахождения применяют итерационные методы решения
нелинейных уравнений.
10.10 Неявные схемы
Неявные схемы решения дифференциального уравнения можно
получить, если записать дифференциальное уравнение и по одному
интервалу вычислять по формуле трапеций
y1  y n 
1
 h   f xn , y n   f  xn1 , y n1 
2
Схема имеет второй порядок точности, допускает счет неравномерным
шагом, не требует специальных приемов для начала счета.
 Замечание Разрешима ли задача.
f ( x, u)  u 2
u0  1 .
Тогда на первом шаге


1
1
h
y1  1  h  1  y12
1  2 - вещ. корня нет, не разрешима.
2
и при
189
 Замечание
Как
найти
корень,
если
он
последовательных приближений сходится к корню, если
есть.
Метод
h  fu  2
, т.е.
f
при достаточно малом шаге. Если в ходе расчета u - возрастает, то
итерации могут перестать сходиться.
Ограничим число итераций и рассмотрим явную схему.
y n01  y n
y 1n 1  y n  h  f  y n 
y n21  y n 
1
h   f  y n   f  y n  hf n 
2
дальнейшие итерации не увеличат порядка точности.
Таким образом, неявные схемы с заданным числом итераций мало, чем
отличаются от схем Рунге – Кутта.
10.11 Сгущение сетки
Для получения требуемой точности расчета используют апостериорную
оценку точности. Для ее получения расчет проводят на двух или более
сгущающихся сетках и применяют правило Рунге. Если сетка равномерная
h  const , то остаточный член пропорционален h p . Поэтому при
сгущении равномерной сеткой применима оценка точности по Рунге.
Если имеются численные решения на двух сетках y( x, h) и y( x, rh) ,
где r  1 , то погрешность решения на сетке с меньшим шагом составляет
y x, h  
y x, h   y x, rh
r p 1
(1)
Вместо оценки точности, можно погрешность прибавить к численному
решению, уточнив его
yx, h   yx, h  
y x, h   yx, rh
r p 1
(2)
Контрольные вопросы
1. Какие методы решения дифференциальных уравнений называются
многошаговыми? Приведите примеры
190
2. Сравните решения, полученные методами Эйлера, Рунге-Кутта и
разложением в ряд Тейлора (трудоемкость, погрешность…).
3. Как оценить погрешность применяемого метода?
4. Как уменьшить погрешность применяемого метода?
5. Сравните одношаговые и многошаговые методы решения
дифференциальных уравнений.
6. Укажите достоинства и недостатки одношаговых и многошаговых
методов решения дифференциальных уравнений.
7. Что такое экстраполяционные методы (формулы) Адамса?
8. Что такое интерполяционные методы (формулы) Адамса?
9. Можно ли применятьтолько экстраполяционные методы Адамса?
10. Можно ли применятьтолько интерполяционные методы Адамса?
11. Можно ли использовать: а) многошаговые методы без
одношаговых;
191
Глава 11 Краевые задачи
Постановка краевых задач для ОДУ отличается от задач Коши,
рассмотренных ранее, тем, что граничные условия для них ставятся не в
одной начальной точке, а на обеих границах расчетного интервала. Если
имеется система N обыкновенных дифференциальных уравнений первого
порядка, то часть из N условий может быть поставлена на одной границе
интервала, а оставшиеся условия - на противоположной границе.
Рассмотрим случай, когда дифференциальное уравнение и краевые
условия линейны. Такая краевая задача называется линейной краевой
задачей.
Линейное дифференциальное уравнение можно записать в следующем
виде
L[y]=f(x)
где L[y] -линейный дифференциальный оператор
причем обычно предполагается, что
и f(x) известные
непрерывные функции на отрезке [a,b].
Для простоты будем предполагать, что в краевые условия входят две
абсциссы
(a<b) концы отрезка [a,b]. Такие условия
называют двухточечными.
Краевые условия
называют линейными, если они имеют вид
заданные постоянные и выполняются условия
192
Линейная краевая задача состоит в нахождении функции y(x),
удовлетворяющей дифференциальному уравнению (1) и краевым условиям
(2), причем последние - линейно независимые.
Краевая задача – задача отыскания частного решения системы
d
u k x   f k x, u1 , u 2 , u p 
dx
1  k  p на [a, b]
дополнительные условия налагаются на значения u k  x  более чем в одной
точке этого отрезка.
Точного решения не бывает, к приближенным относят разложение в
ряды Фурье, методы Ритца, Галеркина, метод стрельбы, разностные
методы.
11.1 Метод стрельбы
Метод стрельбы или пристрелки (shooting method) – численный
метод , сводит решение краевой задачи к решению серии задач Коши
с различными начальными условиями
Рассмотрим на примере задачи системы двух уравнений
u  x   f  x, u, v 
v x   f  x, u, v 
 ua , va   0
 ub , vb   0
Выберем произвольно значение ua    , рассмотрим краевое условие
как алгебраическое уравнение
 , va   0
Возьмем значение ua   , va    в качестве начальных условий
задачи Коши и проинтегрируем эту систему любым численным методом.
При этом решение получим, зависящее от  , как от параметра.
Значение  выбрано так, что найденное решение удовлетворяет левому
краевому условию, однако правому не удовлетворяет.
Таким образом, решение краевой задачи свелось к решению корня
алгебраического уравнения    0 .
Делают пробные выстрелы – расчеты с наудачу выбранными
значениями
193
i
До тех пор, пока среди
 
 i  не окажется разных по знаку. Пара таких
значений i , i 1 образует вилку. Деля ее, пополам производим пристрелку
параметра  .
Линейные задачи решаются методом стрельбы особенно просто.
Пусть дана линейная система
u  x    1  x u   1  x v   1  x 
v  x    2  x u   2  x v   2  x 
p1u a   q1va   r1
p 2 u a   q 2 va   r2
Тогда начальные условия задачи Коши примут вид
u a    va    
r1  p1
q1
Решение задачи Коши линейно зависит от параметра  ,
Тогда решение найденное методом секущих
 s 1  s 
 s   s 1   s 
  s     s 1 
является точным решением
Таким образом, для решения краевой задачи достаточно трижды решить
задачу Коши.
Метод стрельбы прост, применим как к линейным, так и нелинейным
системам. Затруднения лишь тогда когда краевая задача хорошо
обусловлена, а соответствующая ей задача Коши плохо. В этом случае
пробуют поставить начальные условия на другом конце.

Замечание Начальное значение фактически является параметром
численного метода и поэтому может сильно повлиять на решение краевой
задачи.

Замечание Метод стрельбы не годится для решения жестких
краевых задач.
194
11.2 Сеточные функции
В приближенных методах функции непрерывного аргумента
заменяются функциями дискретного аргумента – сеточными функциями.
Аналогом первой производной являются разности первого порядка:
yi  yi 1  yi - правая разность
yi  yi  yi 1 -левая разность
1
1
 yi  yi  yi    yi 1  yi 1  -центральная разность
2
2
 Замечание Правая и левая разности 2 порядка
yi  yi 1
2 yi  yi    yi 1  yi   yi  2  2 yi 1  yi
yi   yi  yi 1    yi 1  yi    yi  yi 1   yi 1  2 yi  yi 1
 Замечание Разности m - го порядка
2 yi  yi 1

m yi   m1 yi

-
-
11.3 Разностные методы
u  x   p x u  x   f  x 
u a   
u b   
Введем сетку, приближенно выразим производные через значения
решения в узлах сетки
u  x  
обозначая, получим

1
u n1  2u n  u n1 
h2

y n1  2  h 2 pn y n  y n1  h 2 f n
195
система из алгебраических уравнений, а неизвестные в ней приближенные
значения решения в узлах сетки. Число неизвестных больше числа
уравнений, поэтому
y0  
yN  
.
Исходная задача линейная, разностная аппроксимация тоже линейная, в
матрице преобладают диагональные элементы, в каждой строке модуль
диагонального элемента больше суммы модулей остальных элементов, при
этом условие решение единственно и существует, найти его можно
методом Гаусса.
Рассмотрим
L y   u  x   p x u  x   q x  y  f  x 
l a  y    0 u a    1 y a   A
lb  y    0 u b    1 y b   B
Тогда разностным оператором 2 порядка называется
Lh  y  
или
Тогда
uxk 1   2uxk   uxk 1 
ux   uxk 1 
 pxk  k 1
 q x k  y  x k 
2
2h
h
Lh  y k   f xk 
(1)
равенство называется разностная схема.
(1) – система линейных алгебраических уравнений, число уравнений
N  1 , а матрица – трехдиагональная. Неизвестные y0 , y1 , y N
Пример Используя метод конечных разностей, составить решение
краевой задачи
y
1
x
y 2  2 y (2)  1
y   xy   0.5
y 2.3  2.15
Решение
Разобьем отрезок [2, 2.3] на части с шагом h  0.1 , получим четыре
узловые точки.
196
Данное уравнение во внутренних точках заменим конечно-разностным
уравнением
yi 1  2 yi  yi 1
y  yi 1
y
 xi  i 1
 0.5  i  1
2
2h
xi
h
i  1,2
Из краевых условий составим конечно разностные уравнения в
конечных точках
 y 0  4 y1  3 y 0
 1, i  0
2h
y3  2.15
i3
y0  2 
Данная задача сводится к решению системы уравнений
y0 
 y 2  4 y1  3 y 0
1
0.1
y 2  2 y1  y 0
y  y0
y
 2.1  2
 0.5  1  1
0.01
0.2
2.1
y 3  2 y 2  y1
y  y1
y
 2.2  3
 0.5  2  1
0.01
0.2
2.2
y 3  2.15
Выполнив преобразования, получим
 2.9 y 0  4 y1  y 2  0.1
375.9 y 0  841y1  464.1y 2  4.2
391.6 y1  881 y 2  488.4 y 3  4.4
y 3  2.15
Для решения полученной системы воспользуемся схемой главных
элементов
Ответ
x2 y 2  2.235
x2.1 y 2.1  2.185
x2.2 y 2.2  2.158
x2.3 y 2.3  2.15
197
Глоссарий
Погрешность неустранимая - погрешности, связанные с построением
математической модели объекта и приближенным заданием входных
данных
Погрешность устранимая - погрешности метода решения задачи и
ошибки округления, которые являются источниками малых возмущений,
вносимых в решение задачи
Погрешность реальная при вычислении первой производной -
 
h
2
max f    M  Oh   O h 1
2  x, x  h
h
Схема Горнера - Px   an x  an1 x  an2 x    a0  , требующая
n операций сложения и n операций умножения
Δ
Шаг численного дифференцирования - hопт  2
M
max
 x, x  h 
Абсолютная
приближения x 
погрешность
-
f  
величина
x ,

удовлетворяющая неравенству
 x  x   x  Ax , где Ax - предельная абсолютная погрешность.



Верные n первые значащие цифры приближенного числа - абсолютная
погрешность этого числа не превышает половины единицы разряда,
выражаемого n -ой значащей цифрой, считая слева направо.
Значащая цифра приближенного числа - всякая цифра в его десятичном
изображении, отличная от нуля, и нуль, если он содержится между
значащими цифрами или является представителем сохраненного
десятичного разряда
Начальная погрешность – наличие параметров, значения которых
определяются приближенно, таковы все физические константы.
198
Относительная
Δx

(предельная
приближенного
погрешности
Δx 

Ax
числа

относительная)
x x
-
погрешность
отношение
к абсолютной величине числа x
его
абсолютной

Ax 
x
Остаточные погрешности – наличие бесконечных процессов.
Бесконечный процесс останавливаем на некотором члене, считая его
приближением к искомому решению. Такой обрыв и вызывает остаточную
погрешность.
Плохо обусловленная задача – решение оказывается очень
чувствительным к заданию начальных данных
Погрешности задачи – идеализированные модели.
Математические формулировки редко отображают реальные явления,
принимаются условия, упрощающие задачу.
Погрешность действия – связаны с действиями над приближенными
числами. Производя вычисления с приближенными числами, погрешности
исходных данных переносятся на результат вычисления.
Погрешности округления – связанные с системой счисления.
Приближенное число a - число, незначительно отличающееся от точного
числа
A
и заменяющее последнее в вычислениях. Если
aA
- то
приближенное значение по недостатку, если a  A - по избытку.
Погрешности округления – связанные с системой счисления.
Погрешность действия – связаны с действиями над приближенными
числами. Производя вычисления с приближенными числами, погрешности
исходных данных переносятся на результат вычисления.
Формула конечных приращений Лагранжа
 


 y  f x1, x2 ,, xn   f x1 , x2 ,, xn  f x1   x , x2   x ,, xn   x 




1

2

n
n
f x1 , x2 ,, xn   f x1   x 
i 1
1
Хорошо обусловленная задача - малым погрешностям входных данных
отвечают малые погрешности решения
Число обусловленности - количественная мера степени обусловленности
вычислительной задачи, есть коэффициент возможного возрастания
199
погрешностей в решении по отношению к вызвавшим их погрешностям
входных данных.
Выравнивание экспериментальных данных – нахождение зависимостей
Интерполирование функций - частный случай задачи приближения, когда
требуется, чтобы в определённых точках (узлах интерполирования)
совпадали значения функции f и приближающей её функции g , а в
более общем случае - и значения некоторых их производных.
Тригонометрический полином порядка n
Pn x   a0  a1  cos x  b1  sin x    an  cos nx  bn  sin nx
Формула Тейлора – Всякая функция
f (x) ,
непрерывная в окрестности
точки x   и имеющая в этой окрестности непрерывные производные до
n - го порядка включительно
f x  
n

k 0
f k  
 x   k  Rn x 
k!
Погрешность многочлена Лагранжа
Rn x   max
x[ x0 , xn
f n 1 x 
 x  x0 x  xn 
n  1!
интерполяционный полиномом Лагранжа в явном виде
n
(x  x j )
j 1, j  i
( xi  x j )
n
Ln x    yi
i 1

интерполяционная формула Лагранжа
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 
Сплайн k  й степени -функция, представляющая собой многочлен
степени не выше k на каждом из последовательно примыкающих друг к
другу интервалов xi 1 ; xi , i  1, 2, ..., n , причём во всех точках стыка
двух интервалов xi , i  1, 2, ..., n  1 функция непрерывна вместе со своими
производными до порядка не выше k .
Конечная разность 1-го порядка - разность между значениями функций в
соседних узлах интерполирования:
Δyi  yi 1  yi
i  0, n 1
200
Оценка погрешности для 1 интерполяционной формулы Ньютона
Rn x  
x  x0
t  t  1t  n  n1
 Δ y0 , где t 
n  1!
h
Оценка погрешности для 2 интерполяционной формулы Ньютона
Rn x  
x  xn
t  t  1t  n  n1
 Δ yn , где t 
n  1!
h
Первая интерполяционная формула Гаусса

q  q  1 2
q  n  1q  n2n 2n
P x   yn  q Δy0 
 Δ y1  
 Δ y n
2n !
2!
Первая интерполяционная формула Ньютона
Pn  x   Pn  x0  h  t   y0  t  y0 

 n y0
 t   t  1
n!
 2 y0
 t   t  1 
2!
 t  n  1
Погрешность интерполяции по формуле Ньютона
f n1 x 
Rn x   max
 x  x0 x  xn 
x[ x0 , xn n  1!
Погрешность
производной
интерполирующей
производной от погрешности этой функции
функции
r x   f x   Px   Rx 
Формула Тейлора
f  x  h   f  x   f  x   h 
h2
 f  x    h 
2
Формула Ньютона-Лейбница
b
 f ( x)dx  F (b)  F (a) , где F ( x)  f ( x) .
a
Формула Ньютона-Котеса
201
0  1
равна
b

f  x dx  b  a  
a
Bkn 
n
 Bkn  f a  kh
k 0
n
 1
t  t  1  t  2    t  n 
dt

n  k!n  k ! 0
t k
nk
Полиномы Лежандра – полиномы вида
Pn x  


n
dn  2
x

1

2 n  n! dx n 
1

n  0,1,2,
Порядок остаточного члена
 
R  O h m , где h 
ba
n
Формула Симпсона
1
8
I    f  1  4 f 0  f 1  
3
3
Формула трапеций
I
1
1
f  1  f 0  f 1  4
2
2
b
Собственный интеграл
 f  x dx
a
-
промежуток интегрирования [a, b] конечен,
подынтегральная функция f  x  непрерывна на [a, b] ,
в противном случае интеграл называется несобственным

Сходящийся интеграл
 f x dx
- существует конечный предел
a


a
f  x dx  lim
b 
b
 f x dx ,
a
если предел не существует, то интеграл называется расходящимся.
202
Корень (решение) уравнения – число с , которое будучи подставленным в
это уравнение, обращает его в верное числовое равенство, то есть
f (c)  0 .
Матрица перестановок P -квадратная матрица, у которой в каждой
строке и в каждом столбце только один элемент отличен от нуля и равен
единице.
Элементарная матрица перестановок Pkl - матрица, полученная из
единичной матрицы перестановкой k -й и l-й строк.
Двухслойный (одношаговый; метод первого порядка) - функции Fk
зависят только от x k и не зависят от остальных приближений к решению
x0 , x1,, x k 1
Сходящийся итерационный метод -
zk  0
при
k   , где
z k  x k  x – вектор погрешности приближенного решения x k , а под
нормой понимается одна из норм векторов, согласованных с нормой
матрицы A .
Стационарный метод интерации - Fk не зависят от номера итерации k
(иначе - нестационарный)
Дифференциальное уравнение первого порядка
y   f x, y 
Интегральная кривая - график решения y   x 
Методы Рунге-Кутта - группа итерационных методов решения задачи
Коши .
p -й порядок точности численного метода - расстояние d можно
представить в виде степенной функции от h, где h – шаг на сетке
Решение дифференциального уравнения - функция  x  , подстановка
которой в уравнение обращает его в тождество:
 x   f x,  x  .
Интегральная кривая - график решения y   x 
Экстраполяционная формулу Адамса
203
1
5
3
yi  hyi  hyi1   2 hyi2   3 hyi3 
2
12
8
Линейная кривая задача - дифференциальное уравнение и краевые условия
линейны
Метод стрельбы или пристрелки (shooting method) – численный метод,
сводит решение краевой задачи к решению серии задач Коши с различными
начальными условиями
Разностная схема
Lh  y k   f xk 
Разности первого порядка - аналоги первой производной:
yi  yi 1  yi - правая разность
yi  yi  yi 1 -левая разность
1
1
 yi  yi  yi    yi 1  yi 1  -центральная разность
2
2
Сеточные функции – функции дискретного аргумента
204
Рекомендуемая литература
Основная
1.
2.
Краснов, М.Л. Вся высшая математика. Т. 6. Вариационное
исчисление, линейное программирование, вычислительная
математика, теория сплайнов / М.Л. Краснов, А.И. Киселев, Г.И.
Макаренко. - М.: КД Либроком, 2014. - 256 c.
Пантина, И.В. Вычислительная математика: Учебник / И.В.
Пантина, А.В. Синчуков. - М.: МФПУ Синергия, 2012. - 176 c.
Дополнительная
1. Бахвалов Н.С и др. Численные методы. - М.: Физматлит,2000.
2. Азаров А.И. и др. Сборник по методам вычислений - М.: Наука,
1994.
3. Бахвалов Н. С. и др. Численные методы в задачах и примерах. - М.:
Высшая школа, 2000.
4. Самарский А.А., Гулин А.В. Численные методы. - М.: Наука, 1989.
205
Документ
Категория
Без категории
Просмотров
66
Размер файла
2 794 Кб
Теги
posobie, vychislitelnoe, matematiki, starozhilova, blatov, uchebnoy
1/--страниц
Пожаловаться на содержимое документа