Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. Учебное пособие
.pdf
Министерство науки и высшего образования Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В. В. ЛАНДОВСКИЙ
ЧИСЛЕННЫЕ МЕТОДЫ
Утверждено
Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИ
2023
БИРСК

УДК 519.6(075.8)
Л 222
Рецензенты:
В. Д. Фроловский, д-р техн. наук, профессор
Г. А. Клочков, канд. техн. наук, доцент, НИНХ
Ландовский В. В.
Л 222 Численные методы : учебное пособие / В. В. Ландовский. –
Новосибирск : Изд-во НГТУ, 2023. – 72 с.
ISBN 978-5-7782-4904-2
В у
чебном пособии рассмотрены классические численные методы решения
алгебраических и дифференциальных уравнений, задач дифференцирования,
интегрирования и аппроксимации функций. В каждой главе приведены задания
для самостоятельной работы.
Учебное пособие предназначено для студентов II курса АВТФ направлений
09.03.01 «Информатика и вычислительная техника» и 09.03.03 «Прикладная информатика».
УДК 519.6(075.8)
Работа подготовлена на кафедре
автоматизированных систем управления
Ландовский Владимир Владимирович
ЧИСЛЕННЫЕ МЕТОДЫ
Учебное пособие
Редактор Татарникова Е.Е.
Выпускающий редактор И.П. Брованова
Корректор И.Е. Семенова
Дизайн обложки А.В. Ладыжская
Компьютерная верстка Н.В. Гаврилова
Налоговая льгота – Общероссийский классификатор продукции
Издание соответствует коду 95 3000 ОК 005-93 (ОКП)
Подписано в печать 20.03.2023. Формат 60 × 84 1/16. Бумага офсетная
Тираж 30 экз. Уч.-изд. л. 4,18. Печ. л. 4,5. Изд. № 278/22. Заказ № 110. Цена договорная
Новосибирского государственного технического университета
Отпечатано в типографии
630073, г. Новосибирск, пр. К. Маркса, 20
ISBN 978-5-7782-4904-2 Ландовский В. В., 2023
© Новосибирский государственный
технический университет, 2023

ОГЛАВЛЕНИЕ
Введение ................................................................................................................... 5
1. РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ ..................................................... 7
1.1. Метод половинного деления .................................................................... 10
1.2. Метод простых итераций .......................................................................... 11
1.3. Метод Ньютона ......................................................................................... 13
1.4. Метод секущих .......................................................................................... 15
1.5. Метод хорд ................................................................................................. 17
1.6. Обусловленность задачи уточнения корня и устойчивость методов ......... 18
1.7. Задание для самостоятельной работы к главе 1 ..................................... 19
2. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ
УРАВНЕНИЙ .................................................................................................... 22
2.1. Метод Гаусса ............................................................................................. 23
2.2. Метод прогонки ......................................................................................... 25
2.3. Метод
2.4. Метод Зейделя ........................................................................................... 29
2.5. Задание для самостоятельной работы к главе 2 ..................................... 30
простых итераций .......................................................................... 26
3. АППРОКСИМАЦИЯ ФУНКЦИЙ .................................................................... 33
3.1. Интерполяция многочленом ..................................................................... 34
3.2. Интерполяционный многочлен в форме Лагранжа ................................ 35
3.3. Интерполяционный многочлен в форме Ньютона ................................. 36
3.4. Сглаживание методом наименьших квадратов ...................................... 38
3.5. Задание для самостоятельной работы к главе 3 ..................................... 40
3.6. Интерполяция сплайнами ......................................................................... 42
3.7. Кубический сплайн ................................................................................... 43
4. ЧИСЛЕННОЕ
4.1. Погрешности вычисления производных ................................................. 48
4.2. Задание для самостоятельной работы к главе 4 ..................................... 51
ДИФФЕРЕНЦИРОВАНИЕ ...................................................... 47
3

5. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ ............................................................... 53
5.1. Метод прямоугольников ........................................................................... 53
5.2. Метод трапеций ......................................................................................... 57
5.3. Метод Симпсона ........................................................................................ 58
5.4. Методы более высоких порядков ............................................................ 60
5.5. Выбор шага интегрирования .................................................................... 61
5.6. Задание для самостоятельной работы к главе 5 ..................................... 62
6. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ ................................... 64
6.1. Метод Эйлера ............................................................................................ 64
6.2. Модификации метода Эйлера .................................................................. 65
6.3. Метод Рунге – Кутты четвертого порядка .............................................. 67
6.4. Метод Рунге – Кутты – Мерсона (с
6.4. Семейство явных многошаговых методов Адамса ................................ 69
6.5. Задание для самостоятельной работы к главе 6 ..................................... 70
Библиографический список .................................................................................. 72
контролем точности) .................... 68
4

ВВЕДЕНИЕ
Численные методы – это методы, которые сводят решение задачи
к последовательности вычислений, т. е. элементарных арифметических
и логических действий над числами. К типовым задачам, которые могут быть решены численно, относится решение систем линейных и нелинейных алгебраических уравнений, дифференцирование и интегрирование функций, задачи аппроксимации, а также решение систем
дифференциальных уравнений
ные методы без труда могут быть реализованы в виде компьютерных
программ, так как по своей природе уже представляют собой строго
формализованные алгоритмы. Результат работы таких алгоритмов всегда числовой; даже если задача состоит в поиске функции, численным
решением будет набор ее значений. Входной информацией могут
служить как числовые данные, так и зависимости, выраженные с помощью элементарных функций. Математические библиотеки большинства языков программирования позволяют без труда получить значения элементарных функций, но вычисляются они в результате
работы численных методов.
Решение, полученное численным методом на компьютере, не может считаться точным хотя бы в силу того
представлены точно в ограниченном объеме памяти регистров ЭВМ.
Результаты выполнения арифметических операций округляются,
и возникающую при этом погрешность принято называть вычислительной. Вычислительная погрешность каждой отдельной операции
на современных компьютерах ничтожно мала, но в некоторых ситуациях она может накапливаться в процессе поиска решения
ственно искажать результат. Многие методы построены так, чтобы
найти приближенное решение с заранее заданной точностью, которую называют погрешностью метода. Теоретически такую точность
можно задать сколь угодно малой, но на практике она ограничена вычислительной погрешностью.
. В отличие от аналитических числен-
, что не все числа могут быть
и суще-
5

Вычислительную, или машинную, точность не следует путать
с минимальным положительным числом, которое может быть представлено на ЭВМ. В силу особенностей форматов хранения чисел с
плавающей точкой плотность чисел, которые могут быть представлены
точно, неравномерна на числовой оси. В окрестности нуля плотность
максимальная, а по мере удаления от нуля падает. Для
двоичной ЭВМ нижняя граница диапазона возможных значений равна
–38
10
, но вычислительная погрешность составляет примерно 10–7.
32-разрядной
Говорят, что вычислительная задача поставлена корректно, если
выполнены следующие три условия:
1) решение существует при любых допустимых исходных данных;
2) это решение единственное;
3) решение устойчиво по входным данным.
Устойчивость по входным данным означает, что решение непрерывно зависит от входных данных. В этом случае погрешность результата будет уменьшаться
при уменьшении погрешности входных дан-
ных, и теоретически решение можно получить с любой точностью.
Понятие обусловленности тесно связано с устойчивостью. Говорят, что задача хорошо обусловлена, если малому изменению исходных данных соответствует малое изменение решения. Незначительные
погрешности в исходных данных плохо обусловленной задачи приводят к большим погрешностям в решении
. Классическим примером та-
кой задачи служит поиск корней многочлена
( ) ( 1) ( 2) ( 3) ... ( 20) 210 ...Px x x x x x x
20 19
Очевидно, что корнями являются
изменить коэффициент –210 на 10
–7
12 20
, то половина корней станет мни-
. Если
1, 2,..., 20xx x
мыми. Количественную меру степени обусловленности задачи называют числом обусловленности, его определяют как отношение погрешностей решения к вызвавшим их погрешностям входных данных.
Различают абсолютное и относительное числа обусловленности, характеризующие соответственно изменение абсолютной или относительной погрешности.
Свойство численного метода (например, методов решения задачи
Коши), заключающееся во влиянии возникающей на некотором шаге
погрешности на последующие шаги, также называют устойчивостью.
Если погрешность накапливается, то говорят, что метод неустойчив.
6

f
x
f
1. РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Пусть дана некоторая функция ()
*
которые значения
, для которых
x и требуется найти все или не-
*
)(0fx
. Относительно ()
x ча-
сто предполагается, что она непрерывна и непрерывно дифференцируема в окрестности корня.
Выделяют два этапа решения задачи:
локализация (или отделение)
корня и уточнение корня. Локализация корня заключается в определении отрезка, содержащего один и только один корень. На наличие
корня на отрезке указывает различие знаков функции на его концах, но
это не гарантирует, что корень единственный. Это свойство будет выполняться для любого нечетного количества корней. Универсального,
всегда эффективного подхода не существует. В любом
случае на этом
этапе потребуются знания, выходящие за рамки формальной постановки задачи, одних только вычислительных процедур здесь недостаточно. Прежде всего нужно определиться с диапазоном возможных значений корня. Бесконечный диапазон рассматривается аналитическими
методами, а в численных методах бесконечность конечна – хотя бы
потому, что конечны числовые типы данных. Работа
с числами бесконечной разрядности может быть реализована, но при этом время выполнения операций становится переменным, что влечет за собой неприятные последствия.
Простейший, относительно универсальный способ отделения корней – выбрать длину отрезка не слишком малой (чтобы количество отрезков не оказалось слишком велико) и не слишком большой (чтобы
избежать
размещения нескольких корней на одном отрезке) и проверить все отрезки в пределах интересующего диапазона. На этапе
уточнения корня его значение вычисляют с
заданной точностью.
Приближенное значение корня уточняют с помощью различных итерационных методов.
7

Суть итерационных методов состоит в построении последова-
x
x
x
x
x
p
x
x
x
x
x
N
тельных приближений к решению задачи. Вначале выбирают одно или
несколько
начальных приближений, а затем последовательно, ис-
пользуя найденные ранее приближения и однотипную процедуру расчета, строят новые приближения. В результате такого итерационного
процесса
можно построить бесконечную последовательность прибли-
жений к решению.
Говорят, что последовательность приближений
дится
к точному решению
*
xx
, если при неограниченном возраста-
, , ,
xx
12
схо-
n
нии числа итераций предел этой последовательности существует и ра-
*
, т. е.
вен
lim
n
Важной характеристикой итерационных методов является
рость сходимости
*
x
.
n
метода. Говорят, что метод сходится со скоростью
ско-
геометрической прогрессии со знаменателем q < 1, если для любого n
справедливо
*
–
где
– граница погрешности начального приближения
0
xq
n
n
,
0
.
0
(1.1)
Скорость сходимости можно выразить через соотношение рас-
стояний между последовательными приближениями и корнем:
**
– –
xCx x
, где
nn
ния;
C – константа из интервала (0, 1), не зависящая от n, а p называют
1
порядком сходимости. Зная скорость сходимости, т. е. зная
1n
и
– последовательные приближе-
n
C и p,
можно сформулировать условие окончания итерационного процесса.
Выполнение такого условия на некотором шаге
что
вычислений
удален от корня не более чем на величину требуемой точности
n
.
Пусть 1/ 2, 1,
Cp тогда каждое следующее приближение в два
n будет означать,
раза ближе к корню, чем предыдущее. Если на этапе локализации определено, что корень расположен на отрезке [
a, b], то
*
(– – )
xba ,
0
и тогда можно дать априорную оценку необходимого числа итераций:
((log – /))
bae . На практике скорость сходимости зависит не
2
8

только от метода, но и от поведения ()
f
p
x
f
g
f
x в окрестности корня, а точ-
ное соотношение заменяется неравенством
**
.––
xx Cx x
(1.2)
nn
1
Утверждение относительно числа итераций остается справедливым.
Учитывая, что скорость сходимости может меняться по мере приближения к корню, априорная оценка может оказаться неэффективной.
Если неравенство определяет наименьшую, т. е. гарантированную,
скорость приближения к корню на всем интервале локализации, то реальное
N, скорее всего, окажется меньше полученного априорно. В та-
ком случае лучше пользоваться условием окончания на основе неравенства вида
где
g в общем случае определяется методом уточнения корня и пове-
дением ()
x в окрестности корня.
– ( )
xg
nn
, (1.3)
1
В идеализированном примере, приведенном выше, после каждого
шага расстояние до корня сокращалось ровно вдвое. Остановить вычисления можно, если разница между последовательными приближениями не превосходит требуемой точности:
–
xx
nn
. (1.4)
1
Количество итераций в этом случае совпадает с рассчитанным априорно.
Если бы метод позволял двигаться к корню быстрее и при этом на
каждой итерации расстояние до корня сокращалось бы не менее чем
вдвое, то применение такой апостериорной оценки было бы выгодно.
Для всех методов первого порядка сходимости (т. е. линейной сходи
мости) при
1/ 2C условие (1.4) будет более сильным. При 1/2C
выполнения этого условия недостаточно, оно может остановить итерации раньше достижения точности.
Для методов со сверхлинейной сходимостью (
в условии (1.3) связано с анализом ()
()
x и требует дополнитель-
p > 1) определение
ных вычислительных затрат или предварительных расчетов. Чтобы
этого избежать, используют упрощенное условие (1.4) – оно, как правило, более сильное, и его выполнения достаточно.
-
9

1.1. Метод половинного деления
x
f
x
f
x
f
x
x
x
x
x
x
x
Пусть корень
()() 0fa fb . Отрезок делят пополам:
00
)(0fx , то
0
цах отрезков
имеет значения разных знаков, принимают за новый отрезок
вычисляют следующее приближение
*
*
x
. В противном случае находят знаки ()
0
[, ]ax и
00
[, ]
ab
, ( )
00
[, ]
00
x непрерывна на отрезке
( )/2xab
000
. Если
b . Тот из них, на концах которого ()
/()2xab
111
и т. д.
[, ]ab и
00
x на кон-
x
[, ]ab, и
11
В отличие от большинства других методов, метод половинного деления обладает безусловной сходимостью, т. е. сходится всегда (при
корректной локализации корня). Как окончательный результат можно
рассматривать середину отрезка
[],
ab либо сам отрезок (одну из гра-
nn
ниц или любую другую точку). Если за приближенное значение корня
берется величина
неравенство
ba или неравенство
nn
, то вычисления заканчиваются, когда выполнено
n
– 2
log –()/–1nba.
20 0
Метод сходится со скоростью геометрической прогрессии со знаменателем 1/2, однако соотношение (1.2) справедливо не для всех
n.
Дело в том, что сходимость метода половинного деления не всегда
, , ,
монотонна (последовательность
xx
01
тонной). Соотношение (1.1) будет справедливо для всех
не всегда является моно-
n
n, так как опе-
рирует оценкой погрешности в противоположность соотношению (1.2),
где сравниваются фактические расстояния до корня. Если использовать
в формуле (1.2) оценки погрешности –/2()
выполняться:
на рис. 1.1, где
. Пример немонотонной сходимости показан
nn
обозначают фактическое расстояния от
/2
1
n
Шаг метода тем сильнее приближает
ba , то оно будет
nnn
до
n
*
к
n
, чем ближе
*
к сере-
*
.
дине текущего отрезка. При этом уже на следующей итерации ситуация станет наихудшей, когда корень находится почти на границе отрезка. Если в некоторый момент корень окажется на расстоянии
меньше от одной из границ, то сходимость станет монотонной и соотношение (1.2) станет справедливым, причем фактически его можно
будет
считать равенством. Пример такой ситуации изображен на
рис. 1.2.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
