Загрузил prihod.ko

Вычислительная математика КР ЛР 2019

Реклама
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ
Кафедра автоматизированных систем управления (АСУ)
А. А. Мицель, В. В. Романенко
ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА
Методические указания по выполнению
контрольной и лабораторных работ
Томск 2019
Корректор: А. Н. Миронова
Мицель А. А., Романенко В. В.
Вычислительная математика : методические указания по выполнению контрольной и лабораторных работ / А. А. Мицель,
В. В. Романенко. – Томск : ФДО, ТУСУР, 2019. – 119 с.
© Мицель А. А.,
Романенко В. В., 2019
© Оформление.
ФДО, ТУСУР, 2019
3
СОДЕРЖАНИЕ
Введение ............................................................................................................... 5
1 Решение уравнений с одной переменной ...................................................... 7
1.1 Отделение корней ...................................................................................... 7
1.2 Интервальные методы поиска корней ..................................................... 9
1.2.1 Метод перебора..................................................................................... 9
1.2.2 Метод дихотомии (метод половинного деления) ........................... 10
1.2.3 Метод хорд .......................................................................................... 13
1.2.4 Метод золотого сечения..................................................................... 17
1.3 Итерационные методы поиска корней................................................... 20
1.3.1 Метод Ньютона ................................................................................... 20
1.3.2 Метод итераций .................................................................................. 23
1.4 Комбинированный метод ........................................................................ 27
1.5 Задачи для самостоятельного решения ................................................. 29
2 Решение задач линейной алгебры ................................................................ 31
2.1 Методы решения систем линейных уравнений .................................... 31
2.1.1 Метод Гаусса ....................................................................................... 31
2.1.2 Метод ортогонализации ..................................................................... 33
2.1.3 Метод декомпозиции (схема Халецкого)......................................... 36
2.1.4 Метод простой итерации ................................................................... 38
2.1.5 Метод Зейделя .................................................................................... 41
2.2 Решение переопределенной системы .................................................... 43
2.3 Вычисление определителей .................................................................... 45
2.4 Вычисление обратной матрицы ............................................................. 49
2.5 Задачи для самостоятельного решения ................................................. 51
3 Приближение функций .................................................................................. 54
3.1 Постановка задачи ................................................................................... 54
3.2 Алгебраическое интерполирование ....................................................... 56
3.2.1 Формула Ньютона для равномерной сетки ..................................... 56
4
3.2.2 Формула Ньютона для неравномерной сетки.................................. 60
3.2.3 Формула Лагранжа для неравномерной сетки ................................ 62
3.2.4 Формула Лагранжа для равномерной сетки .................................... 63
3.3 Аппроксимация тригонометрическими функциями ............................ 64
3.4 Приближение функций полиномами Лежандра ................................... 68
3.5 Полиномы Чебышева .............................................................................. 70
3.6 Задачи для самостоятельного решения ................................................. 72
4 Численное дифференцирование ................................................................... 75
4.1 Формулы Ньютона ................................................................................... 75
4.2 Формула Лагранжа .................................................................................. 78
4.3 Задачи для самостоятельного решения ................................................. 83
5 Численное интегрирование ........................................................................... 85
5.1 Формулы трапеции и Симпсона ............................................................. 85
5.2 Формулы прямоугольников .................................................................... 89
5.3 Правило Рунге оценки остаточного члена ............................................ 91
5.4 Формула Гаусса........................................................................................ 92
5.5 Задачи для самостоятельного решения ................................................. 95
6 Задания для контрольной и лабораторных работ ....................................... 97
6.1 Решение уравнений с одной переменной .............................................. 97
6.2 Решение задач линейной алгебры .......................................................... 99
6.2.1 Решение систем линейных уравнений ............................................. 99
6.2.2 Вычисление определителей матриц ............................................... 103
6.2.3 Вычисление обратной матрицы ...................................................... 103
6.3 Приближение функций.......................................................................... 104
6.4 Численное дифференцирование ........................................................... 106
6.5 Численное интегрирование ................................................................... 107
Ответы и решения к задачам для самостоятельного выполнения ............. 110
Литература ....................................................................................................... 117
Приложение А (справочное) Шаблон титульного листа и оглавления
отчета по контрольной и лабораторным работам .................................... 118
5
ВВЕДЕНИЕ
При использовании ЭВМ численные методы выступают как мощное
математическое средство решения практических задач. Современные успехи
в решении важных проблем в таких значимых областях, как атомная энергетика, космическая отрасль, экономика не были бы возможны без применения ЭВМ и численных методов. По оценкам ученых, эффект, достигаемый за
счет совершенствования численных методов, составляет 40% от общего эффекта, достигаемого за счет повышения производительности ЭВМ [1].
Численные методы – это методы, позволяющие при помощи алгоритмов, имеющих конечное число итераций, решать различные математические задачи (заданные в аналитическом виде).
Проведение сложных математических расчетов требуется во многих
отраслях науки и техники. При этом объем этих расчетов таков, что вручную
за разумное время их выполнить невозможно. Примеры – распределение
нагрузки между подключенными к электростанции объектами (оно должно
происходить практически мгновенно при изменении потребляемой мощности), вычисление траектории космических тел, расчет движений земной коры
в геоинформационных системах (а это задачи нефтяной, газовой и других отраслей) и многое другое. Для этого и внедряются в промышленность и науку
вычислительные системы, создаются специализированные пакеты для проведения численных расчетов. Распространение же ЭВМ ставит, в свою очередь, новые математические задачи, не существовавшие ранее – распределение интернет-трафика, обсчет трехмерных моделей в графических редакторах и играх и т. п.
Таким образом, знание численных методов необходимо инженеру, область деятельности которого связана с программным обеспечением вычислительной техники и, в особенности, автоматизированных систем.
6
В предлагаемом пособии рассмотрены в примерах и задачах основные
численные методы решения задач из следующих разделов вычислительной
математики: решение уравнений с одной переменной, решение задач линейной алгебры (решение систем линейных алгебраических уравнений, вычисление определителей, обратной матрицы), приближение функций, численное дифференцирование и интегрирование функций. В каждом разделе приведены краткие сведения из теории [2], описаны алгоритмы вычислений
и разобраны примеры по каждому из описываемых алгоритмов. В конце
каждого раздела даны задачи и примеры для самостоятельного решения.
В главах 6–8 приведены задания на контрольную и лабораторные работы
с индивидуальными вариантами заданий.
Выбор варианта задания осуществляется по общим правилам с использованием следующей формулы:
V = (N ⋅ K) div 100,
где
V – искомый номер варианта,
N – общее количество вариантов,
div – целочисленное деление,
при V = 0 выбирается максимальный вариант,
K – код варианта.
В приложении представлен шаблон титульного листа и оглавления отчета по контрольной и лабораторным работам. Отчеты должны быть оформлены согласно ОС ТУСУР 01–2013. Работы студенческие по направлениям
подготовки и специальностям технического профиля. Общие требования
и правила оформления. Приказ ректора от 03.12.2013 № 14103. Режим доступа: https://regulations.tusur.ru/documents/70
7
1 РЕШЕНИЕ УРАВНЕНИЙ С ОДНОЙ ПЕРЕМЕННОЙ
1.1 Отделение корней
Решение нелинейных уравнений с одной переменной представляет
одну из важнейших задач прикладного анализа. В общем случае нелинейное
уравнение можно записать в виде:
f ( x ) = 0,
(1.1)
где f ( x ) определена и непрерывна на [a, b] . Всякое число ξ∈ [a, b] , обращающее функцию f ( x ) в нуль, т. е. f ( ξ ) =0 , называется корнем уравнения
(1.1). Число ξ называется корнем k-й кратности, если при x = ξ вместе
с функцией f ( x ) обращаются в ноль её производные до (k − 1) порядка
включительно:
f ( ξ ) = f ′ ( x ) = ... = f (
k −1)
(ξ) =
0.
Однократный корень называется простым.
Первый этап численного решения уравнения (1.1) состоит в отделении
корней, т. е. в установлении тесных промежутков, содержащих только один
корень. Фактически этот этап состоит в нахождении грубого значения
корня. Рассмотрим графический способ отделения корня. Для этого строится график функции f ( x ) . Точка пересечения с осью абсцисс и есть искомый корень.
Построение графика часто удаётся упростить, если уравнение (1.1)
удаётся заменить равносильным ему уравнением f1 ( x ) = f 2 ( x ) . Например,
на рисунке 1.1 показан графический способ решения уравнения
f (=
x) ln x − sin x . Здесь f1 ( x) = ln x , f 2 ( x) = sin( x) .
8
f 2 ( x) = ln( x)
1
1 12 π 2 ξ 3 π
4
3
2
π 5
6
f1 ( x) = sin( x)
–1
x) ln x − sin x
Рис. 1.1 – Графический метод решения уравнения f (=
Для нахождения приближённого значения корней с использованием
ЭВМ
поступают
следующим
образом.
Задают
сетку
{xi }: a = x1 < x2 < ... < xn = b и вычисляют значения функции f ( xi ) = fi . Если
для двух соседних точек выполняется неравенство
f ( xi ) ⋅ f ( xi +1 ) ≤ 0 ,
то в интервале
[ xi , xi+1 ]
расположен по крайней мере один корень
ξ m 1 2 ( xi + xi +1 ) , то точность определеξ m ∈ [ xi , xi +1 ] . Далее, если положить =
ния корня ξ m равна
=
∆ m 1 2 ( xi +1 − xi ) .
Примечание. Вообще говоря, выполнение данного условия означает,
что на интервале [ xi , xi +1 ] может быть произвольное количество корней.
Более того, даже если f ( xi ) ⋅ f ( xi +1 ) > 0 , на интервале могут быть корни.
Поэтому успешность решения данной задачи зависит от удачного выбора
шага сетки.
На рисунке 1.2 приведена схема алгоритма отделения корней для равномерной сетки.
На втором этапе уточняют значение найденного корня. Для этой цели
можно использовать различные методы. Рассмотрим некоторые из них.
9
Отделение корней
Ввод a, b, h
x1 := a
x2 := x1 + h
y1 := f(x1)
x2 < b
y2 := f(x2)
y1*y2 ≤ 0
Вывод x1, x2
x1 := x2
x2 := x1 + h
y1 := y2
Конец
Рис. 1.2 – Схема алгоритма отделения корней
1.2 Интервальные методы поиска корней
1.2.1 Метод перебора
Пусть на интервале [ a, b ] расположен один корень. Требуется найти
ξ с точностью ε . Разобьём [ a, b ] на n равных частей:
xi = a + i ⋅ h, h = ( b − a ) n , i = 0,..., n,
где n =( b − a ) ε , и вычислим значение функции fi = f ( xi ) . Здесь h – шаг
сетки.
10
Если для двух соседних точек выполняется неравенство fi ⋅ fi +1 ≤ 0 ,
=
ξ 1 2 ( xi + xi +1 ) . Погрешность составит ∆ = h 2 = ε 2 . Схема
то полагают
алгоритма приведена на рисунке 1.3.
Метод перебора
Ввод a,b,ε
x1=a
x2=x1+ε
y1=f(x1)
x2 ≤
y2=f(x2)
y1*y2>0
x1=x2
ξ=(a+b)/2
Вывод ξ, f(ξ)
Конец
Рис. 1.3 – Схема алгоритма метода перебора
1.2.2 Метод дихотомии (метод половинного деления)
Пусть на [ a, b ] f ( x ) имеется один корень ξ . Зададим точность ε . Вы-
=
c 1 2 ( a + b ) и значение функции f ( c ) .
числяем среднюю точку
Если f ( c ) = 0 , то c – корень. Если f ( c ) ≠ 0 , то рассматриваем два
случая:
1) если f ( a ) ⋅ f ( c ) ≤ 0 , то b = c и повторяем процесс деления;
2) иначе a = c и повторяем процесс деления.
11
Так как за каждую итерацию интервал, где расположен корень, уменьшается в два раза, то через n итераций интервал будет равен
bn − an=
1
( b − a ) , при этом an ≤ ξ ≤ bn .
2n
В качестве корня ξ возьмем
1
( bn + an ) . Тогда погрешность определе2
ния корня будет равна ( bn − an ) / 2 . Если выполняется условие
( bn − an ) / 2 < ε,
то процесс поиска заканчивается и
=
ξ
(1.2)
1
( bn + an ) .
2
Метод дихотомии иллюстрирует рисунок 1.4. Сходимость метода линейная с коэффициентом α =0.5 .
Рис. 1.4 – Графическая интерпретация метода дихотомии
12
Пример 1. Методом половинного деления уточнить корень уравнения
f ( x ) = x 4 + 2 x3 − x − 1 = 0 до 2 верных знаков, лежащий на отрезке [0,1] .
Решение. Последовательно имеем
f ( 0) =
−1; f (1) =
1; f ( 0 ) ⋅ f (1) < 0;
c0 =
a0 + b0 0 + 1
=
= 0.5; f ( 0.5 ) = −1.188;
2
2
f ( 0.5 ) ⋅ f (1) < 0 ⇒ a1 = c0 = 0.5, b1 = b0 = 1.
Здесь и далее в решениях примеров приведена лишь часть значащих
цифр результатов вычислений.
С учетом того, что корень лежит в интервале [ 0.5,1] , заданная точность до 2 верных знаков означает, что погрешность корня должна быть
не более 0.01 (в широком смысле), т. е. ε =0.01 .
∆ 1 2 (1 − 0.5
=
Проверяем условие (1.2) =
) 0.25 > ε , следовательно,
продолжаем процесс поиска корня:
c1 =
a1 + b1 0.5 + 1
=
= 0.75; f ( 0.75 ) = −0.590;
2
2
f ( 0.75 ) ⋅ f (1) < 0 ⇒ a2 = c1 = 0.75, b2 = b1 = 1;
=
∆ 1 2 (1 − 0.75
=
) 0.125 > ε.
=
c2
a2 + b2 0.75 + 1
= = 0.875; f ( 0.875
=
) 0.051;
2
2
f ( 0.75 ) ⋅ f ( 0.875 ) < 0 ⇒ a3 = a2 = 0.75, b3 = c2 = 0.875;
=
∆ 1 2 ( 0.875 − 0.75
=
) 0.063 > ε.
c3 =
a3 + b3 0.75 + 0.875
=
= 0.813; f ( 0.813) = −0.304;
2
2
f ( 0.813) ⋅ f ( 0.875 ) < 0 ⇒ a4 = c3 = 0.813, b4 = b3 = 0.875;
=
∆ 1 2 ( 0.875 − 0.813
=
) 0.031 > ε.
13
c4 =
a4 + b4 0.813 + 0.875
=
= 0.844; f ( 0.844 ) = −0.136;
2
2
f ( 0.844 ) ⋅ f ( 0.875 ) < 0 ⇒ a5 = c4 = 0.844, b5 = b4 = 0.875;
=
∆ 1 2 ( 0.875 − 0.844
=
) 0.016 > ε.
c5 =
a5 + b5 0.844 + 0.875
=
= 0.859; f ( 0.859 ) = −0.045;
2
2
f ( 0.859 ) ⋅ f ( 0.875 ) < 0 ⇒ a6 = c5 = 0.859, b6 = b5 = 0.875;
=
∆ 1 2 ( 0.875 − 0.859
=
) 0.008 < ε.
Таким образом, в качестве корня можно принять
=
ξ 1 2 ( 0.859 + 0.875
=
) 0.867 ≈ 0.87.
1.2.3 Метод хорд
Метод хорд является более быстрым методом поиска корня. Суть его
иллюстрируется на рисунках 1.5 и 1.6.
f ′′ ( x ) > 0
а
f ′′ ( x ) < 0
б
Рис. 1.5 – Графическая иллюстрация метода хорд
(конец b неподвижен)
14
Пусть на интервале [ a, b ] имеется корень, т. е. f ( a ) f ( b ) ≤ 0 . Находим точку x1 по формуле:
f (a)
x1 =
a−
(b − a ) .
f (b ) − f ( a )
Если выполняется условие
f ( xn ) f ( b ) ≤ 0; n =
1,2,...,
(1.3)
то итерационный процесс строится по формуле:
f ( xn−1 )
xn =
xn−1 −
( b − xn−1 ) ; x0 = a .
f ( b ) − f ( xn−1 )
(1.4)
Здесь b – неподвижный конец (см. рис. 1.5).
f ′′ ( x ) < 0
f ′′ ( x ) > 0
а
б
Рис. 1.6 – Графическая иллюстрация метода хорд
(конец a неподвижен)
Если выполняется условие
f ( xn ) f ( a ) ≤ 0; n =
1,2,...,
(1.5)
то итерационный процесс строится по формуле:
f (a)
xn =
a−
( xn−1 − a ) ; x0 = b .
f ( xn−1 ) − f ( a )
(1.6)
15
Здесь a – неподвижный конец (см. рис. 1.6). На практике может встретиться ситуация, когда первая или вторая производная функции на интервале [a, b] меняют знак. В такой ситуации попеременно будут выполняться
(1.3) и (1.5). Рассмотрим этот случай более подробно. Пусть сначала было
выполнено условие (1.3). Итерационный процесс строим по формуле (1.4).
Предположим, что при некотором n = p условие (1.3) не выполнено. В этом
случае переходим к формуле (1.6), в которой a = x p −1 , x0 = x p . Далее, если
при некотором n = m будет нарушено условие (1.5) (в котором теперь
a = x p −1 ), то переходим опять к формуле (1.4), где полагаем b = xm , x0 = xm−1.
То есть получим следующий (даже более простой) алгоритм: находим точку
пересечения хорды с осью абсцисс
f ( an )
xn =
an −
( bn − an ) ,
f ( bn ) − f ( an )
и рассматриваем два случая:
1) если f ( an ) ⋅ f ( xn ) ≤ 0 , то bn+1 = xn и повторяем процесс;
2) иначе an+1 = xn и повторяем процесс.
Условие окончания процесса xn − xn−1 < ε , где ε – заданная точность.
Значение корня равно ξ ≈ xn .
Сходимость метода хорд суперлинейная с коэффициентом α = 1 −
m1
,
M1
где m1 = min f ′( x) , M 1 = max f ′( x) .
Пример 2. Найти методом хорд положительный корень с точностью
до 0.01 уравнения f ( x ) = x3 − 1.2 x 2 − x + 0.5 на интервале [ −0.5,1.5] .
Решение. Вычисляем значения функции
f ( −0.5 ) =
0.575 > 0, f (1.5 ) =
−0.325 < 0.
16
Таким образом, ξ ∈ [−0.5,1.5] . Далее последовательно вычисляем
x0 =a0 −
=−0.5 −
f ( a0 )
f ( b0 ) − f ( a0 )
( b0 − a0 ) =
0.575
(1.5 − ( −0.5) ) =0.778;
−0.325 − 0.575
f ( 0.778 ) = −0.533;
f ( −0.5 ) ⋅ f ( 0.778 ) < 0 ⇒ a1 =a0 =−0.5, b1 =x0 =0.778.
x1 =a1 −
=−0.5 −
f ( a1 )
f ( b1 ) − f ( a1 )
( b1 − a1 ) =
0.575
( 0.778 − ( −0.5) ) =0.163.
−0.533 − 0.575
x0
0.163 − 0.778
= 0.615 > ε . Продолжаем
Проверяем условие x1 −=
процесс:
f ( 0.163) = 0.309;
f ( 0.163) ⋅ f ( 0.778 ) < 0 ⇒ a2 = x1 = 0.163, b2 = b1 = 0.778;
x2 =a2 −
=0.163 −
f ( a2 )
f ( b2 ) − f ( a2 )
( b2 − a2 ) =
0.309
( 0.778 − 0.163) =0.389.
−0.533 − 0.309
− x1 0.389 − 0.163
= 0.226 > ε . Продолжаем
Проверяем условие x2 =
процесс:
f ( 0.389 ) = −0.011;
f ( 0.163) ⋅ f ( 0.389 ) < 0 ⇒ a3 = a2 = 0.163, b3 = x2 = 0.389;
x3 =a3 −
=0.163 −
f ( a3 )
f ( b3 ) − f ( a3 )
( b3 − a3 ) =
0.309
( 0.389 − 0.163) =0.381.
−0.011 − 0.309
17
x2 0.381 − 0.389
= 0.008 < ε . Процесс можно
Проверяем условие x3 −=
закончить.
=
ξ 0.381 ≈ 0.38 .
Ответ:
1.2.4 Метод золотого сечения
Метод золотого сечения (см. рис. 1.7), так же как и метод дихотомии,
относится к интервальным методам (или методам исключения интервалов).
Рис. 1.7 – Графическая иллюстрация метода золотого сечения
Точки деления интервала выбираются таким образом, чтобы выполнялось соотношение между интервалами:
∆1 ∆ 2
∆
∆
=
= ... = k = k +1 = γ,
∆ 2 ∆3
∆ k +1 ∆ k + 2
=
γ
где
5 +1
≈ 1.618 – золотое сечение, ∆ k = bk − ak – длина отрезка.
2
Представим алгоритм поиска нулей в форме последовательного вы-
полнения итераций.
Задаем точки a1 = a , b1 = b , номер итерации k = 1 .
18
Шаг 1. Определяем координаты золотого сечения:
∆k
;
γ
∆
ck= ak + ∆ k + 2= ak + 2k ;
γ
d k= ak + ∆ k +1= ak +
Вычисляем точку=
xk
1
= γ − 1;
γ
1
= ( γ − 1) 2 .
2
γ
1
(ak + bk ) .
2
Шаг 2. Вычисляем значения функции f (ak ) , f (ck ) , f (d k ) , f (bk )
и проверяем условия:
а) если f (ak ) ⋅ f (d k ) ≤ 0 , то
=
ak +1 a=
dk ;
k ; bk +1
б) иначе f (сk ) ⋅ f (bk ) < 0 , то
=
ak +1 с=
bk ;
k ; bk +1
Вычисляем новое приближение корня =
xk +1
1
(ak +1 + bk +1 ) . Если
2
1
(bk +1 − ak +1 ) < ε , то конец, иначе k= k + 1 и переход на шаг 1.
2
Скорость сходимости линейная с коэффициентом α = γ − 1 .
Пример 3. Найти нуль функции f ( x=
) ex −
1
на интервале [0.1,0.9]
x
с точностью ε =0.05 методом золотого сечения.
Решение.
∆ 2=
Вычисляем
интервалы
∆1 = b1 − a1 = 0.9 − 0.1 = 0.8 ;
∆1
2
= 0.494 ; ∆3 = ∆1 ( γ − 1) = 0.306 . Задаем координаты золотого сечеγ
ния:
c1= a1 + ∆ 3= 0.1 + 0.306= 0.406;
d1= a1 + ∆ 2= 0.1 + 0.494= 0.594.
Вычисляем значения функции в точках золотого сечения:
f (a1 ) =
−8.895; f (c1 ) =
−0.965; f (d1 ) =
0.130; f (b1 ) =
1.348.
19
Определяем интервал, в котором расположен корень:
a=
0.1; b=
d=
0.594;
f (a1 ) ⋅ f (d1 ) < 0 , поэтому a=
2
1
2
1
Проверяем условие останова: ∆=
0.247 > ε , т. е. точность не до2 /2
стигнута. Вычисляем новые точки золотого сечения:
∆ 3 = 0.306; ∆ 4 = ∆ 2 ( γ − 1) 2 = 0.189;
c2= a2 + ∆ 4= 0.1 + 0.189= 0.289;
d 2= a2 + ∆3= 0.1 + 0.306= 0.406.
Вычисляем значения функции в точках:
f (a2 ) =
−8.895; f (c2 ) =
−2.127; f (d 2 ) =
−0.965; f (b2 ) =
0.130.
Определяем интервал, в котором расположен корень:
c=
b=
f (c2 ) ⋅ f (b2 ) < 0 , поэтому a=
0.289; b=
0.594.
3
2
3
2
Проверяем условие останова: ∆=
0.153 > ε . Не выполнено. Про3 / 2
должаем вычисления.
∆ 4 = 0.189; ∆ 5 = ∆ 3 ( γ − 1) 2 = 0.117;
c3= a3 + ∆ 5= 0.289 + 0.117= 0.406;
d3= a3 + ∆ 4= 0.289 + 0.189= 0.478.
f (a3 ) =
−2.127; f (c3 ) =
−0.965; f (d3 ) =
−0.481; f (b3 ) =
0.130.
Определяем интервал, в котором расположен корень:
c=
0.406; b=
b=
0.594.
f (c3 ) ⋅ f (b3 ) < 0 , поэтому a=
4
3
4
3
Проверяем условие останова: ∆=
0.094 > ε . Не выполнено. Про4 /2
должаем вычисления.
∆ 5 = 0.117; ∆ 6 = ∆ 4 ( γ − 1) 2 = 0.072;
c4= a4 + ∆ 6= 0.406 + 0.072= 0.478;
d 4= a4 + ∆ 5= 0.406 + 0.117= 0.522.
f (a4 ) =
−0.965; f (c4 ) =
−0.481; f (d 4 ) =
−0.229; f (b4 ) =
0.130.
Определяем интервал, в котором расположен корень:
f (c4 ) ⋅ f (b4 ) < 0 , поэтому a=
c=
0.478; b=
b=
0.594.
5
4
5
4
20
Проверяем условие останова: ∆=
0.058 > ε . Не выполнено. Про5 / 2
должаем вычисления.
∆ 6 = 0.072; ∆ 7 = ∆ 4 ( γ − 1)2 = 0.045;
c5= a5 + ∆ 7= 0.478 + 0.045= 0.522;
d5= a5 + ∆ 6= 0.478 + 0.072= 0.550.
f (a5 ) =
−0.481; f (c5 ) =
−0.229; f (d5 ) =
−0.086; f (b5 ) =
0.130.
Определяем интервал, в котором расположен корень:
c=
0.522; b=
b=
0.594.
f (c5 ) ⋅ f (b5 ) < 0 , поэтому a=
6
5
6
5
Проверяем условие останова:
ξ (b6 + a6 ) / =
2 0.558 ≈ 0.56 .
∆=
0.036 < ε ; =
6 / 2
1.3 Итерационные методы поиска корней
1.3.1 Метод Ньютона
Итерационный процесс выполняется по следующей схеме:
f ( xn−1 )
; n=
1,2,... ,
xn =
xn−1 −
f ′ ( xn−1 )
(1.7)
при этом в качестве x0 берется либо точка a , либо точка b . Если известна
вторая производная f ′′( x), то точка x0 выбирается в соответствии со следующим условием:
а) если f ( a ) f ′′ ( a ) > 0 , то x0 = a ;
б) если f ( b ) f ′′ ( b ) > 0 , то x0 = b .
Если f ′′( x) неизвестна, то поступают следующим образом. Задают
x0 = a и проводят вычисления x1 по формуле (1.7). Если x1 удовлетворяет
условию
с) a ≤ x1 ≤ b ,
то продолжают вычислять приближения x2 , x3 , x4 ,...xn .
21
Если условие (с) не выполняется, то задают x0 = b и далее по формуле
(1.7) проводят вычисления xi , i = 1,2,... Вычисления заканчивают при выполнении двух условий:
xn − xn−1 < ε, f ( xn ) < ε1 ,
где ε, ε1 – заданные числа. В качестве корня берут ξ = xn .
Геометрическая интерпретация метода Ньютона показана на рисунке 1.8.
Рис. 1.8 – Геометрическая интерпретация метода Ньютона
Отметим, что приведенный алгоритм поиска корня может расходиться. Например, для функции f ( x) = sin x на интервале [π / 6,11π / 6]
22
корень ξ = π (см. рис. 1.9). Однако алгоритм метода Ньютона для этой функции не пригоден. Действительно, пусть x0 = a = π / 6 . Тогда первое приближение равно:
π sin(π / 6)
x1 =
−
=
−0.054,
6 cos(π / 6)
т. е. мы вышли за границы интервала [π / 6,11π / 6] . Аналогичная ситуация
будет, если за x0 взять правую границу x0= b= 11π / 6 .
a=
a
π
π
π
; b = 11
6
6
b
Рис. 1.9 – Пример расходимости алгоритма Ньютона
Скорость сходимости метода Ньютона квадратичная с коэффициентом α =
M2
, где M 2 = max f ′′( x) ; m1 = min f ′( x) .
2m1
f ( x) x sin x − 1
Пример 4. Найти методом Ньютона нуль функции =
на интервале [0, π / 2] с точностью ε =0.01 .
′( x) sin x + x cos x . Возьмем x0 = π / 2 и вычислим первое
Решение: f =
приближение:
x1 =
x0 −
f ( x0 )
0.571
=
π/2−
=
1.
f ′( x0 )
1
23
Значение x1 не выходит за границы интервала [0, π / 2] , поэтому продолжаем вычислять приближения корня по формуле (1.7). Сначала проверим условие завершения процесса 1 − 1.571
= 0.571 > ε . Так как условие не
выполнено, то продолжаем процесс вычислений корня:
f ( x1 )
−0.159
x2 =
x1 −
=
1−
=
1.115;
f ′( x1 )
1.382
1.115=
− 1 0.115 > ε.
x3 =
x2 −
f ( x2 )
0.0008
=
=
1.115 −
1.114;
f ′( x2 )
1.389
1.114 − 1.115
= 0.0006 < ε.
Проверяем также условие f (1.114) = 2 ⋅10−8 < ε .
=
ξ 1.114 ≈ 1.11 (фактически четвертая цифра также получилась
Ответ:
верной).
1.3.2 Метод итераций
Одним из наиболее эффективных способов численного решения уравнений является метод итерации. Сущность этого метода заключается в замене исходного уравнения f ( x ) = 0 на эквивалентное
x = ϕ ( x ).
(1.8)
Итерационный процесс имеет вид:
xn = ϕ ( xn−1 ) , n = 1,2,...
(1.9)
Останов процесса осуществляется по критерию
xn − xn−1 <
1− q
ε,
q
где ε – заданная точность; q = max ϕ′( x) < 1 .
Сходимость метода итерации линейная с коэффициентом сходимости
α =q .
24
Геометрически способ итерации может быть пояснен следующим образом (см. рис. 1.10). Построим на плоскости XOY графики функции y = x
и y = ϕ( x) . Каждый действительный корень ξ уравнения (1.8) является абсциссой точки пересечения М кривой y = ϕ( x) с прямой y = x .
Рис. 1.10 – Сходящийся итерационный процесс ( ϕ′( x) < 1 )
Отправляясь от некоторой точки A0 ( x0 , ϕ( x0 )) , строим ломаную
линию A0 B1 A1 B2 A2 ... («лестница»), звенья которой попеременно параллельны оси OX и оси OY , вершины A0 , A1 , A2 ,... лежат на кривой y = ϕ( x) ,
а вершины B1 , B2 , B3 ,... лежат на прямой y = x . Общие абсциссы точек A1
и B1 , A2 и B2 , и т. д., очевидно, представляют собой соответственно последовательные приближения x1 , x2 ,... корня ξ .
Возможен также другой вид ломаной A0 B1 A1 B2 A2 ... («спираль»).
Легко сообразить, что решение в виде «лестницы» получается, если
производная ϕ′( x) положительна, а решение в виде «спирали», если ϕ′( x)
отрицательна.
На рисунке 1.10 кривая y = ϕ( x) в окрестности корня ξ – пологая,
т. е. ϕ′( x) < 1 , и процесс итерации сходится. Однако если рассмотреть
25
случай ϕ′( x) > 1 , то процесс итерации будет расходиться (рис. 1.11). Поэтому для практического применения метода итерации нужно выяснить достаточные условия сходимости итерационного процесса.
Рис. 1.11 – Расходящийся итерационный процесс ( ϕ′( x) > 1)
Теорема. Пусть функция ϕ ( x ) определена и дифференцируема на отрезке [a, b] , причем все ее значения ϕ ( x ) ∈ [a, b] , и пусть | ϕ′ ( x ) |≤ q < 1 при
x ∈ [a, b] . Тогда процесс итерации xn = ϕ ( xn−1 ) сходится независимо
от начального значения x0 ∈ [a, b] и предельное значение ξ =lim xn является
k →∞
единственным корнем уравнения x = ϕ ( x ) на отрезке [a, b] .
Рассмотрим способ задания функции ϕ( x) . Перепишем (1.8) в форме
x= x − λ ⋅ f ( x ) ,
(1.10)
где λ =1 / M 1 , M 1 = f ′(c) , где f ′(c) = max f ′( x) , т. е. M 1 – это значение
a ≤ x ≤b
производной f ′( x) в точке, где она имеет максимальное по модулю
значение на отрезке [a, b] . Таким образом, из (1.10) имеем
ϕ( x)= x − λ ⋅ f ( x) .
Пример 5. Найти методом итерации нуль функции f ( x)= x + ln x
на интервале [0.1, 0.7] с точностью δ =0.01.
26
Решение.
1
f ′( x) = 1 + ; ϕ( x) = x − λ( x + ln x);
x
max f ′( x=
)
[0.1,0.7]
f ′(0.1) ⇒ M=
f ′(0.1)
= 11, =
λ 1 11.
1
В результате получим
ϕ( x) =x −
x + ln x
.
11
Проверим условие сходимости
1  1
ϕ′( x) =
1 − 1 +  ; max ϕ′( x) =
ϕ′(0.7) =
0.779 < 1 ,
11  x  [0.1,0.7]
следовательно, процесс будет сходиться. Вычислим параметр точности
=
ε
1− q
δ ≈ 0.0028 .
q
Возьмем x0 = 0.7 и вычислим x1 и x2 .
x1 =0.7 − (0.7 − 0.357) / 11 ≈ 0.669;
x2 =0.669 − (0.669 − 0.402) / 11 =0.645 .
− x1 0.024 > ε .
Проверим условие останова x2 =
Продолжаем вычисления дальше:
x3 =0.645 − (0.645 − 0.439) / 11 =0.626;
x3 −=
x2 0.019 > ε;
x4 =0.626 − (0.626 − 0.469) / 11 =0.612;
x4 −=
x3 0.014 > ε;
x5 =0.612 − (0.612 − 0.492) / 11 =0.601;
x5 −=
x4 0.011 > ε;
x6 =0.601 − (0.601 − 0.510) / 11 =0.592;
x6 −=
x5 0.008 > ε;
…
x10 =0.578 − (0.578 − 0.548) / 11 =0.575;
27
x10=
− x9 0.0027 < ε.
Ответ: =
ξ x10= 0.575 .
1.4 Комбинированный метод
Этот метод является композицией двух методов – метода хорд и метода Ньютона – и позволяет значительно ускорить процесс поиска корня
уравнения (1.1). Пусть на отрезке [a, b] расположен один корень,
т. е. f (a ) ⋅ f (b) < 0 . Предположим, что f ′( x) и f ′′( x) существуют и сохраняют свои знаки. Итерационный процесс выполняется по следующим формулам:
а) если f (b) ⋅ f ′′(b) > 0 , то

f ( xn )( bn − xn )
; x0 =
x
x
a0 =
a; b0 =
b;
=
−
 n+1
n
f
b
f
x
−
(
)
(
)
n
n

(1.11)

f
b
f
b
(
)
(
)
1
1
−
−
n
n
b =
либо bn =
.
b −
bn−1 −
 n n−1 f ′ ( bn−1 )
′
f
b
(
)
0

Критерий останова:
1
1
(bn − xn ) < ε=
;ξ
( xn + bn ) ;
2
2
б) если f (a ) ⋅ f ′′(a ) > 0 , то

f ( an )( xn − an )
an −
, x0 =
b0 =
b; a0 =
a;
 xn+1 =
f ( xn ) − f ( an )

(1.12)

f
a
f
a
(
)
(
)
n −1
n −1
a =
an−1 −
an−1 −
либо an =
.
n

′
′
f
a
f
a
(
)
(
)
−
n
1
0

Критерий останова:
1
1
( xn − an ) < ε=
;ξ
(an + xn ) .
2
2
В формулах (1.11) для метода хорд конец b неподвижен и для ускорения процесса поиска корня конец b двигаем влево по методу Ньютона.
В формулах (1.12) ситуация обратная – двигаем конец a вправо по формуле
Ньютона.
28
Геометрическая схема комбинированного метода дана на рисунке 1.12.
f ( x1 )
x0=a
x1 x2
a0 a1
b2 b1 b0=b
x0=b
x1
f ( x1 )
Рис. 1.12 – Геометрическая интерпретация комбинированного метода
Пример 6. Найти комбинированным методом корень уравнения
f ( x) = x5 − x − 5 = 0 на интервале [1, 2] с точностью ε =0.01.
Решение.
f (1) ⋅ f (2) < 0 ,
Проверим
наличие
следовательно,
корня:
корень
f (1) = −5 ;
f (2) = 25 ;
существует.
Вычислим
производные f ′(=
x) 5 x 4 − 1 , f ′′( x) = 20 x3 . Итак, на интервале [1, 2]
f ′( x) и f ′′( x) сохраняют знаки, причем f ′( x) > 0 и f ′′( x) > 0 . Так как
f (2) ⋅ f ′′(2) > 0 , то вычисления проводим по формулам (1.11):
x0= a= 1; b0= b= 2;
f ( x0 )( b0 − x0 )
−5(2 − 1)
1−
1.167;
x1 =
x0 −
=
=
25 − (−5)
f ( b0 ) − f ( x0 )
b1 =
b0 −
f ( b0 )
25
2
1.684.
=−
=
79
f ′ ( b0 )
Проверяем условие останова:
(b1 − x1=
) / 2 (1.684 − 1.167)=
/ 2 0.258 > ε.
29
Точность не достигнута, продолжаем вычисления:
−4.005 (1.684 − 1.167 )
f ( x1 )( b1 − x1 )
=
=
x2 =
x1 −
1.167 −
1.358;
f ( b1 ) − f ( x1 )
6.841 − (−4.005)
b2 =
b1 −
f ( b1 )
6.841
=
=
1.684 −
1.509.
f ′ ( b1 )
39.167
=
(b2 − x2=
) / 2 (1.509 − 1.358)
/ 2 0.076 > ε.
f ( x2 )( b2 − x2 )
−1.747 (1.509 − 1.358 )
x3 =
x2 −
=
1.358 −
=
1.444;
f ( b2 ) − f ( x2 )
1.312 − (−1.747)
b3 =
b2 −
f ( b2 )
1.312
=
1.509 −
=
1.456.
f ′ ( b2 )
24.917
(b3 − x3=
) / 2 (1.456 − 1.444)
=
/ 2 0.006 < ε.
Ответ:
=
ξ
1
( x3 +=
b3 ) 1.450 ≈ 1.45 .
2
1.5 Задачи для самостоятельного решения
1. Найти корень методом половинного деления с точностью 1%
) 2 x − cos x на интервале [ 0, π 2] .
уравнения f ( x=
2. Определить максимальное количество итераций метода перебора
поиска корня с точностью ε на интервале [a, b] .
3. Определить количество итераций метода половинного деления поиска корня с точностью ε на интервале [a, b] .
4. Найти корень методом хорд с точностью до 0.001 функции
f ( x) = x 4 + 2 x3 − x − 1 на интервале [0,1] .
5. Найти нуль функции f ( x)= x + ln x с тремя верными знаками на интервале (0.2, 0.9) методом хорд.
6. Найти методом Ньютона корень с четырьмя верными знаками
x − 10sin x =
0 на интервале [π / 2,11π / 12] .
уравнения f ( x) =
30
7. Найти нуль функции f ( x)= x + ln x комбинированным методом
с тремя верными знаками на интервале [0.2,0.9] .
8. Методом золотого сечения найти корень уравнения 2 x − cos x =
0
на интервале [0, π / 2] с точностью ε =0.01 .
9. Определить максимальное количество итераций метода золотого
сечения поиска корня с точностью ε на интервале [a, b] .
( x) sin x − 0.2 x на интервале [π / 2, π]
10. Найти нуль функции f=
с точностью δ =0.001 методом итераций.
11. Найти максимальное количество итераций n метода итераций поиска корня на интервале [a, b] с точностью ε .
31
2 РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ
2.1 Методы решения систем линейных уравнений
Пусть дана система
a11 ⋅ x1 + a12 ⋅ x2 + ….. + a1n ⋅ xn = b1;
a ⋅ x + a ⋅ x + ….. + a ⋅ x = b ;
 21 1 22 2
2n
n
2


an1 ⋅ x1 + an 2 ⋅ x2 + ….. + ann ⋅ xn = bn ,
(2.1)
или, в матричном виде,
Ax = b.
Введем обозначение ai ,n+1 = bi .
2.1.1 Метод Гаусса
Метод Гаусса – это метод последовательного исключения неизвестных. Суть его состоит в преобразовании (2.1) к системе с треугольной матрицей, из которой затем последовательно (обратным ходом) получаются
значения всех неизвестных. Рассмотрим одну из вычислительных схем. Эта
схема называется схемой единственного деления.
Пусть a11 ≠ 0 (ведущий элемент).
Этап 1
Приводим систему к треугольному виду:
mi ,1 a=
i 2,3,..., n
=
i ,1 / a1,1 ,
Шаг 1:
(1)
a=
ai , j − mi ,1a1, j ,
i, j
bi(1)= bi − mi ,1b1 ,
i, j = 2,3,..., n.
32
(1)
(1)
mi ,2 a=
i 3,4,..., n
=
i ,2 / a2,2 ,
(2)
(1)
a=
ai(1)
, j − mi ,2 a2, j ,
i, j
Шаг 2:
(2)
bi=
bi(1) − mi ,2b2(1) ,
i, j = 3,4,..., n.
mn ,n−1 = an( n,n−−2)1 / an( n−1,−2)n−1 ,
Шаг (n − 1) :
( n −1)
a=
an( n,n−2) − mn ,n−1an( n−1,−2)n ,
n ,n
( n −1)
b=
bn( n−2) − mn ,n−1bn( −n1−2) .
n
Этап 1 можно представить в следующем виде:
/ ak( k,k−1) , k 1,2,3,4,..., n − 1
=
mi ,k ai(,kk−1)=
=
ai(,kj) ai(,kj−1) − mi ,k ak( k, j−1) ,
=
bi( k ) bi( k −1) − mi ,k bk( k −1) ,
i, j =k + 1, k + 2,..., n.
где k – номер шага; a1,(0)j = a1, j , b1(0) = b1 .
Этап 2
Вычисляем неизвестные:
( n −1)
xn = bn( n−1) / ann
,
 ( n−i −1) i ( n−i −1)

−
⋅
x=
b
a
x
 n −i
∑
n −i
n −i , n − j
n− j  ,
an( n−−i ,in−−1)i 
j =0

=
i 1,2,..., n − 1.
1
Этап 3
Для проверки вычисляем невязку e , =
где ei
n
∑a
k =1
ik
xk − bi , i = 1,..., n.
Если решение верное, то невязка будет равна нулю или очень малой величиной.
33
Пример 1. Решить систему методом Гаусса.
15;
7 x1 + 2 x2 + 3 x3 =

15;
5 x1 − 3 x2 + 2 x3 =
10 x − 11x + 5 x =
36.
2
3
 1
Решение. Результаты прямого хода выпишем в таблицу.
A
A1
A2
x1
x2
x3
b
7
2
3
15
5
–3
2
15
10
–11
5
36
7
2
3
15
0
–31/7
–1/7
30/7
0
–97/7
5/7
102/7
7
2
3
15
0
–31/7
–1/7
30/7
0
0
36/31
36/31
Обратный ход:
x3 =
1; x2 =
−
30 1
15 2
3
− ⋅1 =
−1; x1 = − ⋅ ( −1) − ⋅ 1 =
2.
31 31
7 7
7
2.1.2 Метод ортогонализации
В основе метода лежит теорема. Всякую действительную неособенную матрицу A можно представить в виде произведения матрицы с ортогональными столбцами R и верхней треугольной матрицы T с единичной
диагональю.
Представим матрицу системы (2.1) Ax = b в виде произведения
A= R ⋅ T ,
(2.2)
34
где R – матрица с ортогональными столбцами; T – верхняя треугольная
матрица с единичной диагональю. Столбцы матрицы R и элементы
матрицы T вычисляются по следующим формулам:
i −1
r=
a1; r=
a2 − t12 r1; r=i ai − ∑=
tki rk ; tij
1
2
k =1
( r a ) ; i < j.
i
j
( ri ri )
(2.3)
Подставим (2.2) в (2.1), получим RTx = b . Отсюда с учетом ортогональности матрицы R имеем Tx = D −1R Tb или
Tx = y,
где D = diag ( d ,..., d
−1
−1
1
−1
n
);
(2.4)
n
y = D R b ; di = ∑ rik2 . Система (2.4) имеет тре−1
T
k =1
угольный вид и легко решается:
xn = yn ;
x=
yn−1 − tn−1,n xn ;
n −1
(2.5)
i
1,..., n − 1.
xn−i =
yn−i − ∑ tn−k ,n−k +1 xn−k +1 , i =
k =1
Пример 2. Решить систему методом ортогонализации.
x1 + x2 − 2 x3 =
6;
2 x1 + 3 x2 − 7 x3 =
16;
5 x1 + 2 x2 + x3 =
16.
Решение. Представим матрицу системы в виде
 1 1 −2 
 2=

−
3
7


5 2 1 


 r11
r
 21
r
 31
r12
r22
r32
r13   1 t12
r23  ⋅  0 1
r33   0 0
t13 
t23  .
1 
По формулам (2.3) найдем столбцы матрицы R и элементы
матрицы T .
) 17; t12=
=
r1 (1, 2,5); =
(r1 ⋅ r1 ) 30; (r1 ⋅ a2=
17
.
30
35
11
(r1 ⋅ a3 ) =
−11; t13 =
− ;
30
17
17   13 56 25 
 17
r2 = a2 − t12 ⋅ r1 = 1 − ,3 − 2 ⋅ ,2 − 5 ⋅  =  , , −  ;
30
30   30 30 30 
 30
30 ⋅ 443 443
3930
443
−
(r2 ⋅ r2 ) = ; (r2 ⋅ a3 ) =
; t23 =
−
=
;
900
30
3930
131
r3 = a3 − t13 r1 − t23 r2 = (−2 + 11 / 30 + 13 ⋅ 443 / 3930, − 7 + 2 ⋅ 11 / 30 +
 22 6 2 
+ 56 ⋅ 443 / 3930, 1 + 5 ⋅ 11 / 30 − 25 ⋅ 443 / 3930) =  −
,
,
.
 131 131 131 
Таким образом, для матрицы R и T получили
13
22 

 1 30 − 131 


56
6 

=
R= 2
; T

30
131 


2 
 5 − 25

30 131 

Получим
элементы
матрицы
17

 1 30

0 1


 0 0

11 
30 

443 
−
.
131 

1 


−
131 4 

T
=
D R=
R diag  30,
,

30 131 

 1 30 131 
и D −1 = diag  ,
,
 . Вычислим вектор y :
 30 131 4 
 1


0  
 30 0
1
2
5 

 
 6
30
13
56
25

y D −1R T=
b  0
0 ⋅
=
−  ⋅ 16=


  30
131
30
30   
16

 
131 
22
6
2   
 0

0
 −
4   131 131 131 

Вычислим вектор x по формулам (2.5):
574 443
131
x3 =−1; x2 =
−
⋅ 1 = =1;
131 131
131
118 17
11
90
x1 =
− ⋅1 − ⋅1 =
= 3.
30 30
30
30
 118 
 30 


 574  .
 131 


 −1 


36
2.1.3 Метод декомпозиции (схема Халецкого)
Пусть имеем систему:
Ax = d ,
(2.6)
где A – квадратная матрица размерности n × n ;
x, d – n -мерные векторы.
Разложим A на две треугольные матрицы B и C
A= B ⋅ C ,
(2.7)
где C – верхняя треугольная матрица с диагональными элементами, равными единице; B – нижняя треугольная матрица.
Элементы bij и cij вычисляются по следующим формулам:
j −1
bi1 = ai1; bij = aij − ∑ bik ⋅ ckj , (i ≥ j > 1);
k =1
i −1
1 
a1i

; cij =
c1i =
⋅  aij − ∑ bik ⋅ ckj  , 1 < i < j.
b11
bii 
k =1

(2.8)
Важно соблюдать порядок вычислений: сначала вычисляется первый
столбец матрицы B , затем первая строка матрицы C , далее второй столбец
матрицы B , вторая строка матрицы C и т. д.
Подставим (2.7) в (2.6). В результате исходная система теперь может
быть представлена как две треугольные системы
=
By d=
; Cx y,
которые легко решаются:
d
1
y1 = 1 ; yi =
b11
bii
i −1


⋅  di − ∑ bik ⋅ yk  ; i =2,3,..., n;
k =1


xn =yn ; xi =yi −
n
∑c
k = i +1
ik
⋅ xk ; i =n − 1, n − 2,...,1.
(2.9)
37
Пример 3. Найти решение системы методом Халецкого.
5 x1 + 8 x2 + x3 =
2;
−7;
3 x1 − 2 x2 + 6 x3 =
−5.
2 x1 + x2 − x3 =
Решение. Имеем
5 8 1 
=
A  3 −2 6  ; d =
 2 1 −1


 2
 −7  .
 
 −5 
 
По формулам (2.8) вычисляем элементы матриц B и C :
b=
a=
5;
11
11
c=
a11 b=
1;
11
11
b=
a=
3;
21
21
c=
a12 b=
8 5;
12
11
b=
a=
2;
31
31
c=
1 5;
13
b22 =a22 − b21 ⋅ c12 =−2 − (3 ⋅ 8 5) =− 34 5;
−11 5 =
−2.2;
b32 =
a32 − b31 ⋅ c12 =
1 − (2 ⋅ 8 5) =
c22 =1; c23 =1 b22 ⋅ (a23 − b21 ⋅ c13 ) =(− 5 34) ⋅ (6 − 3 ⋅ 1 5) =
= − 27 34;
c33 = 1;
b33 = a33 − (b31 ⋅ c13 + b32 ⋅ c23 ) =
=−1 − (2 ⋅ 1 5 + (−11 5) ⋅ (− 27 34)) =−107 34.
Итак, получили:
0
0
5


; C
=
B  3 −34 / 5
0=

 2 −11 / 5 −107 / 34 


1/ 5 
1 8 / 5
0 1
.
−
27
/
34


0

0
1


По формулам (2.9) вычисляем вектор y :
y1 =
d1 b11 =
2 5; y2 =
1 b22 ⋅ (d 2 − b21 ⋅ y1 ) =
(− 5 34) ×
×(−7 − 3 ⋅ 2 5) =41 34;
y3 =(1 b33 ) ⋅ (d3 − b31 ⋅ y1 − b32 ⋅ y2 ) =−
( 34 107) ×
×(−5 − 2 ⋅ 2 5 − (−11 5) ⋅ (41 34)) = (− 34 107) ⋅ (−107 34) = 1.
Окончательный результат: y = (2 5,41 34,1)T .
38
Вычисляем вектор решения x :
x3 = y3 = 1; x2 = y2 − c23 x3 = (41 34) − (− 27 34 ⋅ 1)=
= 68
=
34 2;
x1 =y1 − c12 ⋅ x2 − c13 ⋅ x3 =2 5 − (8 5) ⋅ 2 − (1 5) ⋅ 1 =−3.
Ответ: x = (−3,2,1)T .
2.1.4 Метод простой итерации
При большом числе неизвестных схема Гаусса, дающая точное решение, становится весьма сложной. В этом случае для нахождения корней системы используют приближенные методы. Одним из приближенных методов является метод простой итерации.
Пусть дана линейная система (2.1), которую запишем в матричном виде:
Ax = b .
(2.10)
Предположим, что диагональные коэффициенты aii ≠ 0, i = 1,..., n. Разрешим первое уравнение системы (2.1) относительно
x1 , второе
относительно x2 и т. д. Тогда получим эквивалентную систему
x1 = β1 + α12 x2 + α13 x3 + ... + α1n xn ;
x2 = β2 + α 21 x1 + α 23 x3 + ... + α 2 n xn ;
........................................................
xn = βn + α n1 x1 + α n 2 x2 + ... + α nn−1 xn−1 ,
(2.11)
где βi =bi / aii ; αij =−aij / aii ; i ≠ j; αii =0 .
Введем матрицы
 α11 α12
α
α 22

α = 21
 .
.

 α n1 α n 2
. α1n 
 β1 
β 
. α 2 n 
; β = 2  .
 . 
. . 
 

. α nn 
 βn 
Систему (2.11) можем записать в матричной форме:
x = β + αx.
(2.12)
39
Систему (2.12) будем решать методом последовательных приближений. За нулевое приближение принимаем столбец свободных членов
x (0) = β . Далее последовательно находим решения
x (1) = β + αx (0) (первое приближение);
x (2) = β + αx (1) (второе приближение) и т. д.
Тогда (k + 1) -е приближение вычисляется по формуле
x ( k +1) = β + αx ( k ) ; k = 1,2,...
(2.13)
Критерий завершения процесса (14) имеет вид
x ( k +1) − x ( k ) <
1− α
⋅ε,
α
(2.14)
где ε – заданная точность.
В методе простой итерации можно предварительно оценить число шагов, необходимых для достижения заданной точности ε , исходя из следуюα
щей формулы:
⋅ β < ε . Отсюда следует
1− α
n+1
n≤
lg[ε ⋅ (1 − α )] − lg β
− 1.
lg α
(2.15)
Пример 4. Методом простой итерации решить систему уравнений
12;
10 x1 + x2 + x3 =

13;
2 x1 + 10 x2 + x3 =
2 x + 2 x + 10 x =
14
2
3
 1
с точностью до ε =0.01 .
Решение. Приведем эту систему к эквивалентному виду, удобному для
итерации:
40
1.2 − 0.1x2 − 0.1x3 ;
 x1 =

1.3 − 0.2 x1 − 0.1x3 ;
 x2 =
x =
 3 1.4 − 0.2 x1 − 0.2 x2 .
(2.16)
Оценим норму матрицы=
α max ∑
=
α ij 0.4 и величину
i
=
δ
В
качестве
j
1− α
=
⋅ ε 0.015 .
α
нулевого
приближения
решения
x (0) = (1.2, 1.3, 1.4). Оценим количество шагов:
=
n
lg[0.01(1 − 0.4) / 1.4]
− 1 ≈ 4.
lg 0.4
Подставим x (0) в (2.16), получим:
 x1(1) = 1.2 − 0.1 ⋅ 1.3 − 0.1 ⋅ 1.4 = 0.93;
 (1)
 x2 = 1.3 − 0.2 ⋅ 1.2 − 0.1 ⋅ 1.4 = 0.92;
 (1)
 x3 = 1.4 − 0.2 ⋅ 1.2 − 0.2 ⋅ 1.3 = 0.9.
x (1) − x (0) =max xi(1) − xi(0) = x3(1) − x3(0) =0.5 > δ.
i
Продолжим вычисления:
 x1(2) = 1.2 − 0.1 ⋅ 0.92 − 0.1 ⋅ 0.9 = 1.018;
 (2)
 x2 = 1.3 − 0.2 ⋅ 0.93 − 0.1 ⋅ 0.9 = 1.024;
 (2)
 x3 = 1.4 − 0.2 ⋅ 0.93 − 0.2 ⋅ 0.92 = 1.03.
(1)
x (2) − x (1)
= x3(2) − x=
0.13 > δ.
3
 x1(3) = 1.2 − 0.1 ⋅ 1.024 − 0.1 ⋅ 1.03 = 0.9946;
 (3)
 x2 = 1.3 − 0.2 ⋅ 1.018 − 0.1 ⋅ 1.03 = 0.9934;
 (3)
 x3 = 1.4 − 0.2 ⋅ 1.018 − 0.2 ⋅ 1.024 = 0.9916.
x (3) − x (2)
= x3(3) − x3(2)
= 0.0384 > δ.
возьмем
41
 x1(4) = 1.2 − 0.1 ⋅ 0.9934 − 0.1 ⋅ 0.9916 = 1.0015;
 (4)
 x2 = 1.3 − 0.2 ⋅ 0.9946 − 0.1 ⋅ 0.9916 = 1.00192;
 (4)
 x3 = 1.4 − 0.2 ⋅ 0.9946 − 0.2 ⋅ 0.9934 = 1.0024.
(3)
x (4) − x (3)
0.0108 < δ.
= x3(4) − x3=
В качестве корня берем=
x x (4) ≈ (1.002, 1.002, 1.002)T .
Точное решение x = (1, 1, 1)T .
2.1.5 Метод Зейделя
Метод Зейделя представляет собой некоторую модификацию метода
простой итерации. Основная идея заключается в том, что при вычислении
(k + 1) -го приближения неизвестной xi учитываются уже вычисленные ранее (k + 1) -е приближения неизвестных x1 , x2 , ... xi −1 .
Пусть дана приведенная линейная система
n
xi =βi + ∑ αij x j ; i = 1, 2, ... , n .
j =1
Зададим начальное приближение корней
x1(0) , x2(0) ,..., xn(0) . Далее,
предполагая что k-е приближение xi( k ) корней известно, согласно Зейделю,
будем строить (k + 1) -е приближение корней по следующим формулам:
( k +1)
1
x
n
=β1 + ∑ α1 j x (jk ) ;
j =1
n
x2( k +1) = β2 + α 21 x1( k +1) + ∑ α 2 j x (jk ) ;
j =2
--------------------------------------------------i −1
n
( k +1)
( k +1)
i
i
ij j
=j 1 =j i
x
=
β + ∑α x
+ ∑ αij x (jk ) ;
---------------------------------------------------
(2.17)
42
( k +1)
n
x
n
= βn + ∑ α nj x (jk +1) + α nn xn( k ) ; k = 0,1,2,...
j =1
Достаточные условия сходимости метода Зейделя такие же, как для
метода простых итераций, т. е. α < 1 . Обычно метод Зейделя дает лучшую
сходимость, чем метод простых итераций, но он приводит к более громоздким вычислениям.
Если предварительно привести исходную систему Ax = b к нормальному виду
AT Ax = ATb или Cx = g ,
(2.18)
где C = AT A, g = ATb , то процесс Зейделя будет сходиться для любой
матрицы A (т. е. любой матрицы α независимо от величины ее нормы).
Пример 5. Методом Зейделя решить систему уравнений
12;
10 x1 + x2 + x3 =

13;
2 x1 + 10 x2 + x3 =
2 x + 2 x + 10 x =
14
2
3
 1
с точностью до ε =0.01 .
Эту систему мы уже решали методом простых итераций и приводим
здесь решение методом Зейделя для сравнения скорости сходимости.
Решение. Приведем эту систему к эквивалентному виду
1.2 − 0.1x2 − 0.1x3 ;
 x1 =

x = β + αx =  x2 = 1.3 − 0.2 x1 − 0.1x3 ;
x =
 3 1.4 − 0.2 x1 − 0.2 x2 .
В качестве нулевого приближения решения берем
x (0) = β = (1.2, 1.3, 1.4)T .
43
Применяя метод Зейделя, последовательно получим:
 x1(1) = 1.2 − 0.1 ⋅ 1.3 − 0.1 ⋅ 1.4 = 0.93;
 (1)
 x2 = 1.3 − 0.2 ⋅ 0.93 − 0.1 ⋅ 1.4 = 0.974;
 (1)
 x3 = 1.4 − 0.2 ⋅ 0.93 − 0.2 ⋅ 0.974 = 1.0192.
 x1(2) = 1.2 − 0.1 ⋅ 0.974 − 0.1 ⋅ 1.0192 = 1.0007;
 (2)
 x2 = 1.3 − 0.2 ⋅ 1.00068 − 0.1 ⋅ 1.0192 = 0.9979;
 (2)
 x3 = 1.4 − 0.2 ⋅ 1.0007 − 0.2 ⋅ 0.9979 = 1.0003.
 x1(3) = 1.2 − 0.1 ⋅ 0.9979 − 0.1 ⋅ 1.0003 = 1.0002
 (3)
 x2 = 1.3 − 0.2 ⋅ 1.0002 − 0.1 ⋅ 1.0003 = 0.9999;
 (3)
 x3 = 1.4 − 0.2 ⋅ 1.0002 − 0.2 ⋅ 0.9999 = 1.0000.
Таким образом, уже на третьей итерации мы получили искомое решение, так как
x (3) − x (2)
= x2(3) − x2(2)
= 0.002 < δ.
2.2 Решение переопределенной системы
При обработке данных эксперимента часто приходится иметь дело
с переопределенными системами линейных алгебраических уравнений,
т. е. с системами, в которых число уравнений больше числа неизвестных.
Пусть дана система
Ax = b,
(2.19)
где A (n × m) – матрица, причем n ≥ m ;
x – m -мерный вектор неизвестных;
b – n -мерный вектор правой части.
Если n > m , то есть число уравнений больше числа неизвестных,
то говорят, что система (2.19) переопределена.
44
Для решения переопределенной СЛАУ используют метод наименьших квадратов (МНК). Идея его состоит в минимизации суммы квадратов
невязок
2
m


=
Q ∑  bi − ∑ aij x j  .
=i 1 =
j 1


n
(2.20)
Из необходимого условия минимума (24)
∂Q
k 1,..., n
= 0,=
∂xk
получим систему уравнений с квадратной матрицей
n
 n

a
a
x
⋅
⋅
=
∑
 ∑ ij ik  k ∑ aij ⋅ bi или
=
=i 1
k 1=
i1

m
m
∑c
k =1
jk
⋅ x=
g j, =
j 1,..., m.
k
(2.21)
В матричной форме система (2.21) имеет вид (2.18). Система (2.21)
решается любым известным методом.
Пример 6. Найти решение системы:
2;
x1 + x2 =
0.5;
x1 − x2 =
3 x1 − 4 x2 =
−1;
5 x1 − 3 x2 =
2.
Решение.
1 1 
 1 −1 
;
A=
 3 −4 


 5 −3 
1 1 3 5 
AT = 
;
1
−
1
−
4
−
3


 36 −27 
T
=
C A=
A 
;
 −27 27 
(2.22)
45
 2 
 
1 1 3 5   0.5   9.5 
T
g =A b =
=
⋅
.
1 −1 −4 −3   −1   −0.5 
 
 2 
В результате, вместо (2.22), мы получили систему
36 x1 − 27 x2 =
9.5;
(2.23)
−27 x1 + 27 x2 =
−0.5.
Решение системы (2.23) x = (1, 0.981)T .
2.3 Вычисление определителей
Определение. Определителем называется алгебраическая сумма всевозможных произведений элементов, взятых по одному из каждого столбца
и каждой строки матрицы A . Если в каждом таком произведении (члене
определителя) множители расположены в порядке следования столбцов
(т. е. вторые индексы элементов aij в произведении расположены в порядке
возрастания), то со знаком (+) берутся те произведения, у которых перестановка первых индексов чётная, а со знаком (–) те, у которых она нечетная.
=
det A
a11
A= a21
an1
a12
a22
an 2
a1n
a2 n=
ann
[i1 ,...,in ]
∑ ( −1)
× ai11 ⋅ ai2 2 ⋅ ⋅ ⋅ ain n .
Здесь [i1 , i2 ,..., in ] – число инверсий в перестановке индексов i1 , i2 ,..., in .
Пример 7. Пусть дан ряд из натуральных чисел 2, 5, 1, 4, 7, 3, 6. Число
инверсий в этом ряде равно [2, 5, 1, 4, 7, 3, 6] = 2 + 0 + 3 + 1 + 0 + 1 = 7, т. е. нечётное число, следовательно, имеем нечётную перестановку. Для ряда 5, 2,
1, 6, 7, 4, 3 имеем: [5, 2, 1, 6, 7, 4, 3] = 2 + 1 + 4 + 3 + 0 + 0 = 10, т. е. чётная
перестановка.
46
Пример 8. Определители 2-го и 3-го порядка равны
a 
a
A =  11 12  ; det A = a11 ⋅ a22 − a21 ⋅ a12 .
 a21 a22 
 a11
A =  a21
a
 31
a12
a22
a32
a13 
a23  ;
a33 
det A = a11 ⋅ a22 ⋅ a33 + a31 ⋅ a12 ⋅ a23 + a21 ⋅ a32 ⋅ a13 −
−a31 ⋅ a22 ⋅ a13 − a11 ⋅ a32 ⋅ a23 − a21 ⋅ a12 ⋅ a33 .
Доказать следующие свойства определителя, используя его определение (самостоятельно):
Если матрицу транспонировать, то определитель не изменится.
Если все элементы строки (или столбца) умножить на одно и то же
число, то определитель умножается на это число.
Если переставить две строки (два столбца) определителя, то он изменит свой знак; в частности, если 2 строки (два столбца) определителя равны,
то определитель равен нулю.
Если каждый элемент некоторой строки (столбца) определителя представлен в виде суммы двух слагаемых, то определитель равен сумме двух
определителей, у которых все строки (столбцы) кроме данной, прежние,
а в данной строке (столбце) в первом определителе стоят первые, а во втором – вторые слагаемые.
Если одна строка (столбец) является линейной комбинацией остальных строк (столбцов), то определитель равен нулю.
Определитель произведения двух матриц равен произведению определителей этих матриц ( det( B ⋅ C )= det B ⋅ det C ).
Определитель треугольной матрицы равен произведению диагональных элементов.
47
Пример 9. Доказать следующее тождество:
a1 + b1 x
a1 − b1 x
c1
a1
b1
c1
a2 + b2 x a2 − b2 x c2 =
−2 x a2 b2
c2 .
a3 + b3 x
c3
a3 − b3 x
c3
a3
b3
Решение.
Доказательство рассмотрим на примере i -й строки:
(ai + bi x, ai − bi x, ci ) =(ai , ai − bi x, ci ) + (bi x, ai − bi x, ci ) =
=(ai , ai , ci ) − (ai , bi x, ci ) + (bi x, ai , ci ) − (bi x, bi x, ci ) =
=
0 − (ai , bi x, ci ) − (ai , bi x, ci ) − 0 =
−2 ⋅ (ai , bi x, ci ).
В результате получим:
a1 xb1 c1
a1 b1 c1
det =
−2 a2 xb2 c2 =
−2 x a2 b2 c2 .
a3 xb3 c3
a3 b3 c3
Метод Гаусса. При решении системы линейных алгебраических уравнений методом Гаусса матрица системы приводится к треугольному виду
A( n−1) . Определитель треугольной матрицы A( n−1) равен произведению диагональных элементов. Таким образом, получим:
(1) (2)
( n −1)
, где a11(0) = a11 .
=
a33 ⋅ ⋅⋅ ann
det A a11(0) a22
Элементы промежуточных матриц вычисляем по формулам:
mik aik( k −1)=
/ akk( k −1) , k 1,2,3,4,..., n − 1
=
aij( k ) aij( k −1) − mik akj( k −1) ,
=
i, j =k + 1, k + 2,..., n,
где k – номер шага.
48
Пример 10. Вычислить определитель
3 4 5
D= 1 2 3.
8 7 1
Решение.
(1)
m21 = 1 / 3; a11 = 3; a22
= a22 − m21a12 = 2 − (1 / 3) ⋅ 4 = 2 / 3;
(1)
m31 =8 / 3; a32
=a32 − m31a12 =7 − (8 / 3) ⋅ 4 =−11 / 3;
(1)
a33
=a33 − m31a13 =1 − (8 / 3) ⋅ 5 =−37 / 3;
2
(1)
(1)
m32 =−11 / 2; a33
=a33
− m32 a23
=−37 / 3 − (−11 / 2) ⋅ (4 / 3) =
=
−15 / 3 =
−5.
2
2
=3 ⋅ ⋅ (−5) =−10.
D =a11 ⋅ a122 ⋅ a33
3
Метод декомпозиции основан на разложении исходной матрицы A
на произведение треугольных матриц A= B ⋅ C , где B – нижняя треугольная
матрица, C – верхняя треугольная матрица с единичной диагональю
(см. формулы (2.8)). Определитель матрицы A будет равен
n
det A = det B ⋅ det C = det B = ∏ bii .
i =1
Пример 11. Вычислить определитель методом декомпозиции
1 2 3
D= 4 5 6.
7 8 9
49
Решение. Вычисляем элементы матриц B и C :
b=
a=
1; b=
4; b=
7;
11
11
21
31
=
c11 1;=
c12 2;=
c13 3;
b22 =a22 − b21c12 =5 − 4 ⋅ 2 =−3;
b32 =a32 − b31c12 =8 − 7 ⋅ 2 =−6;
c22 = 1; c23 =
1
(a23 − b21c13 )= 1 / (−3) ⋅ (6 − 4 ⋅ 3)= 2;
b22
b33 = a33 − b31c13 − b32c23 = 9 − 7 ⋅ 3 − (−6) ⋅ 2 = 9 − 21 + 12 = 0.
Вычисляем определитель
det A = b11 ⋅ b22 ⋅ b33 = 1 ⋅ (−3) ⋅ 0 = 0.
2.4 Вычисление обратной матрицы
Для построения численных схем вычисления обратных матриц будем
использовать соотношение A ⋅ A−1 =
E , где E – единичная матрица. Пусть A
– неособенная матрица (n × n) и пусть X = A−1 . Тогда имеем
A⋅ X =
E.
(2.24)
Если обозначить столбцы матрицы X за x1 , x2 ,..., xn , а столбцы
матрицы E за e1 , e2 ,..., en , то (2.24) можно переписать в виде n систем линейных алгебраических уравнений:
Ax
=i e=
1,..., n.
i, i
(2.25)
Таким образом, меняя только правую часть, мы последовательно решаем систему (2.25) и находим столбцы матрицы X .
Вектора правой части представляют собой единичные вектора,
т. е. e1 = (1,0,...,0)T , e2 = (0,1,...,0)T , …, en = (0,0,...,1)T .
Системы (2.25) решаем любым известным методом.
50
Пример 12. Найти A−1 для матрицы A с использованием метода декомпозиции
 1 2 −1
A =  3 0 2  .
 4 −2 5 


Решение. Нам надо решить три системы уравнений вида
=i e=
Ax
1, 2,3.
i, i
(2.26)
Будем решать (2.26) методом декомпозиции. Факторизуем матрицу A :
A= B ⋅ C и вычислим элементы матриц B и C :
1; b=
3; b=
4;
b=
a=
11
11
21
31
c11 = 1; c12 = 2; c13 = −1;
b22 =a22 − b21c12 =0 − 3 ⋅ 2 =−6;
b32 =a32 − b31c12 =−2 − 4 ⋅ 2 =−10;
1
c22 =1; c23 = (a23 − b21c13 ) =1 / (−6) ⋅ (2 − 3 ⋅ (−1)) =−5 / 6;
b22
b33 = a33 − b31c13 − b32c23 = 5 − 4 ⋅ (−1) − (−10) ⋅ (−5 / 6) = 2 / 3.
Таким образом, получили
0 
1 0

; C
=
B  3 −6
0=

 4 −10 2 / 3 


−1 
1 2
 0 1 −5 / 6  .


0 0

1


Системы (2.26) раскладываются на две эквивалентные системы
=
Byi ei , =
Cxi y=
1, 2,3.
i, i
Компоненты векторов yi и xi вычисляются по формулам:
=
y1i e1i / b11; y=
(e2i − b21 y1i ) / b22 ;
2i
y3i =(e3i − b31 y1i − b32 y2i / b33 ;
x3i =
y3i ; x2i =
y2i − c23 x3i ; x1i =
y1i − c12 x2i − c13 x3i .
51
Полагаем i = 1 :
y11 = 1; y21 = (0 − 3 ⋅ 1) / (−6) = 1 / 2;
y31 = (0 − 4 ⋅ 1 − (−10) ⋅ (1 / 2) / (2 / 3) = 3 / 2;
2) 7 / 4;
x31 3 / 2; =
x21 (1 / 2) − (−5 / 6) ⋅ (3 /=
=
x11 =1 − 2 ⋅ (7 / 4) − (−1) ⋅ (3 / 2) =−1.
Полагаем i = 2 :
y12 =0; y22 =(1 − 3 ⋅ 0) / (−6) =−1 / 6;
y32 =(0 − 4 ⋅ 0 − (−10) ⋅ (−1 / 6)) / (2 / 3) =−5 / 2;
x32 =−5 / 2; x22 =(−1 / 6) − (−5 / 6) ⋅ (−5 / 2) =−9 / 4;
x12 = 0 − 2 ⋅ (−9 / 4) − (−1) ⋅ (−5 / 2) = 2.
Полагаем i = 3 :
y13 = 0; y23 = (0 − 3 ⋅ 0) / (−6) = 0;
y33 = (1 − 4 ⋅ 0 − (−10) ⋅ 0) / (2 / 3) = 3 / 2;
x33 = 3 / 2; x23 = 0 − (−5 / 6) ⋅ (3 / 2) = 5 / 4;
x13 =0 − 2 ⋅ (5 / 4) − (−1) ⋅ (3 / 2) =−1.
Таким образом, получим
−1 
2
 −1


=
A
 7 / 4 −9 / 4 5 / 4  .
 3 / 2 −5 / 2 3 / 2 


−1
2.5 Задачи для самостоятельного решения
1. Решить методом Гаусса систему уравнений:
4;
2 x1 + 2 x2 − x3 + x4 =
4 x + 3x − x + 2 x =
6;
 1
2
3
4

12;
8 x1 + 5 x2 − 3 x3 + 4 x4 =
3 x1 + 3 x2 − 2 x3 + 2 x4 =
6.
52
2. Найти решение системы методом ортогонализации:
5 x1 + 8 x2 + x3 =
2;
−7;
3 x1 − 2 x2 + 6 x3 =
−5.
2 x1 + x2 − x3 =
3. Решить систему методом декомпозиции:
−8;
3 x1 + x2 − x3 =
5 x1 + 8 x2 + x3 =
2;
−7.
3 x1 − 2 x2 + 6 x3 =
4. Найти области сходимости методов простой итерации и Зейделя
x Bx + g ):
(=
p
1) B = 
q
q
 p
; 2) B = 

p
 −q
q
.
p 
5. Найти все матрицы, для которых методы итераций и Зейделя будут
x Bx + g ):
сходящимся (=
p
1) B =  q
0

q
p
q
0
p

q  ; 2) B =  0
q
p 

0
p
0
q
0  .
p 
6. Решить систему методом простой итерации:
10;
6 x1 − x2 − x3 =

−11;
− x1 + 6 x2 − x3 =
− x − x + 6 x =
17;
3
 1 2
ε =0.01.
7. Решить систему методом Зейделя:
10;
6 x1 − x2 − x3 =

−11;
− x1 + 6 x2 − x3 =
− x − x + 6 x =
17;
3
 1 2
ε =0.01.
53
8. Вычислить определитель матрицы A :
1
1
E2
1
1
E
E
E cos 2π / 3 + i ⋅ sin 2π / 3 .
E 2 , где =
1
9. Доказать следующее тождество:
a1 + b1 x a1 x + b1
a2 + b2 x a2 x + b2
a3 + b3 x a3 x + b3
c1
a1
c2 =
(1 − x 2 ) a2
c3
a3
b1
b2
b3
c1
c2 .
c3
10. Вычислить определитель методом Гаусса:
1 1 1 1
1 −1 2 2
.
D=
1 1 −1 3
1 1 1 −1
11. Вычислить определитель методом декомпозиции:
3 4 5
D= 1 2 3.
8 7 1
12. Вычислить обратную матрицу методом Гаусса, ортогонализации
или декомпозиции:
 3 −4 5 
A  2 −3 1  .
=


 3 −5 −1
54
3 ПРИБЛИЖЕНИЕ ФУНКЦИЙ
3.1 Постановка задачи
Под приближением функции f ( x ) , заданной на интервале [a, b] , будем понимать замену f ( x ) некоторой другой функцией P ( x ) , близкой к исходной функции f ( x ) . Простейшая задача, приводящая к приближению
функций, состоит в следующем. Пусть на сетке
{ xi }
задана табличная
функция f ( xi ) = yi , i = 0,1,..., n . Требуется найти значения функции f ( x )
в точках x j , не совпадающих с узлами исходной сетки xi .
Рассмотрим некоторую систему действительных линейно независимых функций {ϕi ( x)} , определенных на отрезке [a, b] , и составим обобщенный полином
n
∑ c ϕ ( x).
( x)
P=
i =0
i
i
Определение. Система функций ϕ0 ( x), ϕ1 ( x),..., ϕn ( x) называется системой Чебышева на отрезке [a, b] , если любой обобщенный полином
по этой системе функций имеет на [a, b] не более n корней.
Задача приближения состоит в подборе коэффициентов ci таким образом, чтобы отклонение f ( x ) от P ( x ) было минимальным на заданном
множестве X . Полином P ( x ) при этом называют аппроксимирующим
или приближающим.
Если параметры ci , i = 0,1,..., n определяются из условия совпадения
значений f ( x ) и P ( x ) в узлах сетки xk
n
f ( xk ) =
P ( xk ) =
0,1,..., n ,
∑ ciϕi ( xk ), k =
i =0
55
то такой способ приближения называют интерполяцией или интерполированием, а сетку { xk } называют интерполяционной сеткой. При этом полагается, что значения сетки { x j } , в которой мы хотим вычислять P ( x j ) , не выходят за пределы интервала [a, b] (a ≤ x j ≤ b; j =
1,2,..., m) . Если мы хотим
вычислить значение P ( x j ) в точках x j ∉ [ a, b ] , то приближение называют
экстраполяцией.
Теорема. Для того чтобы для любой функции f ( x ) ∈ R , определенной
на отрезке [a, b] , и любого набора узлов a= x0 < x1 < x2 < ⋅ ⋅ ⋅ < x=
b
n
существовал и был единственным полином P( x) = c0 ϕ0 ( x) + c1ϕ1 ( x) + ...
+ cn ϕn ( x) , необходимо и достаточно, чтобы система функций ϕi ( x),
i = 0,1, ..., n являлась системой Чебышева.
На практике чаще всего используют следующие системы функций
ϕi ( x) :
а) 1, x, x 2 , x3 , ... , x n либо линейные комбинации этих функций (например, полиномы Лежандра, полиномы Чебышева);
б) 1, sin x, cos x, sin 2 x, cos 2 x, ..., sin nx, cos nx ;
в) eα0 x , eα1x , eα3 x , ..., eαn x либо линейные комбинации этих функций
(например, ортогональные экспоненциальные функции), где αi – некоторая
последовательность попарно различных действительных чисел.
В случае (а) интерполирование называется алгебраическим, в случае (б) – тригонометрическим, в случае (в) – экспоненциальным.
Рассмотрим алгебраическое интерполирование.
56
3.2 Алгебраическое интерполирование
3.2.1 Формула Ньютона для равномерной сетки
Пусть для функции y = f ( x) заданы значения yi = f ( xi ) в равностоящих узлах xi = a + i ⋅ h , i = 0,1,..., n , h= (b − a ) / n .
Интерполяционный полином Ньютона имеет вид:
∆y0
∆ 2 y0
∆ n y0
[1]
[2]
Pn ( x) = y0 +
( x − x0 ) +
( x − x0 ) + ... +
( x − x0 )[ n ] ,
2
n
n!h
1!h
2!h
(3.1)
где
– ( x − x0 )[1] =
( x − x0 ) ,
( x − x0 )[2] =
( x − x0 )( x − x1 ) ,
…,
( x − x0 )[ n ] =
( x − x0 )( x − x1 )...( x − xn −1 ) – обобщенные степени первого, второго, …, n -го порядка;
– ∆y0 = y1 − y0 , ∆ 2 y0 = ∆y1 − ∆y0 , …, ∆ n y0 = ∆ n −1 y1 − ∆ n −1 y0 – конечные
разности первого, второго, …, n -го порядка для точки x0 . Общая формула
конечных разностей:
∆ 0 y j = y j , ∆ i y j = ∆ i −1 y j +1 − ∆ i −1 y j , i = 1, 2,..., n, j = 0,..., n − i.
Введем переменную q =
x − x0
. Тогда формула (3.1) примет вид:
h
q (q − 1) 2
∆ y0 + ... +
2!
n
q (q − 1)...(q − n + 1) n
∆ i y0 i −1
+
∆ y0 = y0 + ∑
( q − j ).
∏
!
n!
i
i =1
j =0
Pn (q ) = y0 + q∆y0 +
(3.2)
Пусть n = 1 , тогда из (3.2) получим формулу линейного интерполирования:
P1 ( x) = y0 + q∆y0 .
При n = 2 получим формулу квадратичного (параболического) интерполирования:
57
P2 ( x) = y0 + q∆y0 +
q (q − 1) 2
∆ y0 .
2
При n = 3 получим формулу кубического интерполирования:
P3 ( x) = y0 + q∆y0 +
q (q − 1) 2
q (q − 1)(q − 2) 3
∆ y0 +
∆ y0 .
2
6
На практике обычно ограничиваются полиномами первого – третьего
порядков. При этом, по возможности, в качестве x0 берут ближайший слева
от требуемой точки x узел интерполяционной сетки.
Погрешность
интерполирования
(остаточный
член)
Rn ( x) =
= f ( x) − Pn ( x) вычисляется по формуле:
Rn ( x)
=
( x − x0 )( x − x1 ) ⋅⋅⋅ ( x − xn ) ( n+1)
(ξ); ξ ∈ [ a, b ].
f
(n + 1)!
(3.3)
Введем переменную q= ( x − x0 ) / h , тогда из (3.3) следует
Rn (q ) h n+1
=
q (q − 1) ⋅⋅⋅ (q − n) ( n+1)
(ξ); ξ ∈ [ a, b ].
f
(n + 1)!
(3.4)
На практике точка ξ , как правило, неизвестна. Поэтому вместо
f ( n+1) (ξ) обычно используют M n+1 = max f ( n+1) ( x) .
x
Для табличной функции значение производной (n + 1) -го порядка
функции f ( x) приближенно можно положить f ( n+1) (ξ) ≈
∆ n+1 y0
и формула
h n+1
(3.4) примет вид:
Rn (q )
=
q (q − 1) ⋅⋅⋅ (q − n) n+1
∆ y0 .
(n + 1)!
(3.5)
58
Пример 1. Пусть имеем таблицу значений функции f ( x) = y :
x
y
3.5
3.55
3.60
3.65
3.70
33
34.8
36.8
39.1
41.9
Составим таблицу разностей:
x
y
∆y
∆2 y
∆3 y
∆4 y
3.50
33.0
1.8
0.2
0.1
0.1
3.55
34.8
2.0
0.3
0.2
3.60
36.8
2.3
0.5
3.65
39.1
2.8
3.70
41.9
Примечание. Таблица конечных разностей получается следующим образом: столбец ∆y – вычитанием цифр столбца y ; столбец ∆ 2 y – вычитанием
цифр столбца ∆y ; столбец ∆ 3 y – вычитанием цифр столбца ∆ 2 y и т. д.
По данной таблице можно построить полином максимальной степени,
равной 4. Построим полином третьей степени. Здесь h = 0.05 . Для построения полинома используем данные первой строки таблицы: x0 = 3.5 , y0 = 33.0
0.2 , ∆ 3 y =
0.1 . Значения x1 = 3.55 , x2 = 3.60 . Используя фор∆y0 =
1.8 , ∆ 2 y =
мулу (3.1), получим
1.8
0.2
( x − 3.5) +
( x − 3.5) ⋅ ( x − 3.55) +
1 ⋅ (0.05)
2 ⋅ (0.05) 2
0.1
+
( x − 3.5) ⋅ ( x − 3.55) ⋅ ( x − 3.60).
6 ⋅ (0.05)3
P3 ( x)= 33.0 +
Погрешность оцениваем по формуле (3.5):
R3 ( x)
( x − 3.50)( x − 3.55)( x − 3.60)( x − 3.65)
⋅ 0.1 .
4!⋅ (0.05) 4
59
Используя формулу (3.2), получим
P3 (q )= 33.0 +
где q =
1.8
0.2
0.1
q+
q (q − 1) +
q (q − 1)(q − 2),
1
2
6
x − 3.5
.
0.05
С помощью полученных полиномов P3 ( x) и P3 (q ) можно вычислить
значение интерполируемой функции f ( x) для любого x из интервала
3.50 ≤ x ≤ 3.65. Если требуется вычислить f ( x) в интервале [3.65, 3.70] ,
то необходимо построить полином P3 ( x) или P3 (q ) по данным второй
строки таблицы: x0 = 3.55 , y0 = 34.8 , ∆y0 =
0.3 .
0.3 , ∆ 3 y =
2.0 , ∆ 2 y =
Соответственно, x1 = 3.60 , x2 = 3.65 .
Пример 2. Получить формулу для вычисления суммы ряда
Sn = 12 + 22 + 32 + ... + n 2 , т. е. вычислить
n
∑i
2
.
i =1
Решение. Найдем конечные разности
∆Sn = Sn+1 − Sn = ( n + 1) ;
2
∆ 2 Sn = ∆Sn+1 − ∆Sn = ( n + 2 ) − ( n + 1) = 2n + 3;
2
2
∆ 3 Sn = ∆ 2 Sn+1 − ∆ 2 Sn = 2 ( n + 1) + 3 − [ 2n + 3] = 2.
Поскольку ∆ 2 Sn не зависит от n , то Sn можно аппроксимировать полиномом степени не выше третьей. Составим таблицу:
n
Si
∆Si
∆ 2 Si
∆ 3 Si
1
1
4
5
2
2
5
9
7
3
14
16
4
30
60
Имеем: h = 1 , x0 = 1 , x1 = 2 , x2 = 2 , x3 = 3 . Введем переменную
q=
n −1
= n − 1. Строим полином по первой строке таблицы ( y0 = 1 , ∆S0 =
4,
1
∆ 2 S0 =
5 , ∆ 3 S0 =
2 ). В результате имеем
P3 (n) =1 + 4 ( n − 1) + 5
( n − 1)( n − 2 ) + 2 ( n − 1)( n − 2 )( n − 3) .
2
6
1
После преобразования получим P3 = n ( n + 1)( 2n + 1) . Таким образом,
6
для Sn мы получили формулу Sn =
1
n ( n + 1)( 2n + 1) .
6
3.2.2 Формула Ньютона для неравномерной сетки
Пусть
функция
f ( x)
задана
на
неравномерной
сетке
{ xi } = a = x0 < x1 < ... < xn = b .
Интерполяционный полином Ньютона имеет вид:
P( x) = y0 + [ x0 , x1 ]( x − x0 )[1] + [ x0 , x1 , x2 ]( x − x0 )[2] + ... +
n
i −1
i =1
j =0
y0 + ∑ [ x0 ,..., xi ]∏ ( x − x j ),
+[ x0 , x1 ,..., xn ]( x − x0 )[ n ] =
(3.6)
где
– [ x0 , x1 ] =
y1 − y0
– разделенная разность первого порядка в точке x0 ;
x1 − x0
– [ x0 , x1 , x2 ] =
[ x1 , x2 ] − [ x0 , x1 ]
– разделенная разность второго порядка
x2 − x0
в точке x0 ;
– [ x0 , x1 ,..., xn ] =
[ x1 , x2 ,..., xn ] − [ x0 , x1 ,..., xn −1 ]
– разделенная разность
xn − x0
n -го порядка в точке x0 .
61
Общая формула разделенных разностей:
=
[ x j ] y=
j , [ x j ,..., x j + i ]
[ x j +1 ,..., x j + i ] − [ x j ,..., x j + i −1 ]
x j +i − x j
,
=
i 1,2,...,=
n, j 0,..., n − i.
Погрешность интерполяции рассчитывается по формуле (3.3):
Rn ( x) =
( x − x0 )( x − x1 ) ⋅⋅⋅ ( x − xn )
M n+1 .
(n + 1)!
Значение производной M n+1 (n + 1) -го порядка для табличной функции может быть оценено приближенно через конечную разность (n + 1) -го
порядка
=
M n+1 max f ( n+1) ( x) ≈ (n + 1)!⋅ [ x0 , x1 ,..., xn+1 ] .
x
Пример 3. Дана табличная функция f ( x) .
x
f ( x)
1-й порядок
2-й порядок 3-й порядок
0.0
0.4
0.04
0.008
2.5
0.5
0.08
0.02
5.0
0.7
0.2
6.0
0.9
0.002
Решение. По формуле (3.6) строим полином 2-го порядка по первой
строке. Здесь x0 = 0 . Получим
P2 ( x) =
0.4 − 0.04 x − 0.008 x( x − 2.5).
Для оценки погрешности нам потребуется производная 3-го порядка.
Приближенную оценку можно получить следующим образом. Запишем полином 3-го порядка и возьмём производную 3-го порядка.
P3′′′( x) =
6 ⋅ [ x0 , x1 , x2 , x3 ] =
6 ⋅ (0.002) =
0.012 ≈ f ′′′( x).
62
=
f ′′′( x) 0.012 . Таким образом,
M3
Возьмем абсолютное значение=
погрешность интерполирования равна
R2 ( x) =
M3
0.012
( x − x0 )( x − x1 )( x − x2 ) ≈
( x − 0.0)( x − 2.5)( x − 5.0).
3!
6
3.2.3 Формула Лагранжа для неравномерной сетки
Полином Лагранжа имеет вид:
( x − x0 )...( x − xi −1 )( x − xi +1 )...( x − xn )
n
Ln ( x)
y
∑=
( x − x )...( x − x )( x − x )...( x − x )
i =0
i
0
i
n
i
i −1
n
x − xj
i
i +1
i
n
∑y∏x −x .
i
i =0
j =0
j ≠i
i
(3.7)
j
Если ввести обозначение
Π i ( x)=
n
∏ ( x − x ),
j
j =0
j ≠i
то выражение (3.7) можно переписать в виде
n
Ln ( x) = ∑ yi
i =0
Π i ( x)
.
Π i ( xi )
При n = 1 (дана сетка из 2 узлов x0 , x1 ) из (3.7) имеем
=
L1 ( x) y0
x − x1
x − x0
+ y1
.
x0 − x1
x1 − x0
При n = 2 (дана сетка из 3 узлов x0 , x1 , x2 ):
L2 ( x) = y0
( x − x1 )( x − x2 )
( x − x0 )( x − x2 )
( x − x0 )( x − x1 )
.
+ y1
+ y2
( x0 − x1 )( x0 − x2 )
( x1 − x0 )( x1 − x2 )
( x2 − x0 )( x2 − x1 )
Можно показать, что формула Лагранжа и формула Ньютона – это две
разные формы записи одного и того же полинома. Поэтому численные значения функций, полученных по формуле Лагранжа и Ньютона, будут совпадать.
По этой же причине погрешность интерполяционного полинома Лагранжа
63
вычисляется по той же формуле (3.3), по которой вычисляется погрешность
интерполяционного полинома Ньютона:
=
Rn ( x)
M n+1
Π n+1 ( x),
(n + 1)!
где Π n+1 ( x=
) ( x − x0 )( x − x1 )( x − x2 ) ⋅ ⋅ ⋅ ( x − xn ) .
Пример 4. Построить полином Лагранжа для табличной функции.
x
0
1
2
5
y
2
3
12
147
Решение. По формуле (3.7) имеем
( x − 1)( x − 2)( x − 5)
( x − 0)( x − 2)( x − 5)
+ 3⋅
+
(0 − 1)(0 − 2)(0 − 5)
(1 − 0)(1 − 2)(1 − 5)
( x − 0)( x − 1)( x − 5)
( x − 1)( x − 1)( x − 2)
+ 12 ⋅
+ 147 ⋅
.
(2 − 0)(2 − 1)(2 − 5)
(5 − 0)(5 − 1)(5 − 2)
L3 ( x) = 2 ⋅
3.2.4 Формула Лагранжа для равномерной сетки
Полином Лагранжа для равномерной сетки имеет вид:
Ln (q )
n
(q − 0)...(q − (i − 1))(q − (i + 1))...(q − n)
=
yi
∑
(i − 0)...(i − (i − 1))(i − (i + 1))...(i − n)
i =0
n
yi
= ∑
(q − j ).
∏
n −i
(
−
1)
i
!(
n
−
i
)!
i =0
j =0
n
j ≠i
Если ввести обозначение
Π i (q )=
n
∏ (q − j ),
j =0
j ≠i
(3.8)
64
то выражение (3.8) можно переписать в виде
=
Ln (q )
n
∑ (−1)
i =0
n −i
yi
Π i (q ).
i !(n − i )!
Погрешность интерполирования вычисляется по формуле (3.4):
=
Rn (q ) h n+1
q (q − 1) ⋅⋅⋅ (q − n) ( n+1)
f
(ξ); ξ ∈ [ a, b ].
(n + 1)!
3.3 Аппроксимация тригонометрическими функциями
Пусть дан тригонометрический полином
Q( x=
)
n
a0
+ ∑ (ak cos kx + bk sin kx), x ∈ [ −π; π].
2 k =1
(3.9)
Так как тригонометрические функции ортогональны, то для функции
f ( x) , заданной на интервале [ −π; π] , получим следующие выражения для
коэффициентов ak , bk :
π

1
ak = ∫ f ( x)cos kxdx,
π −π


π
b = 1 f ( x)sin kxdx,
 k π∫
−π

k = 0,1,..., n.
(3.10)
Коэффициенты ak , bk , определяемые формулами (3.10), называются
тригонометрическими коэффициентами Фурье.
) f (− x)
Из (3.10) следует, что если f ( x) – четная, т. е. f ( x=
на интервале [ −π; π] , то
π

2
=
f ( x)cos kxdx, k 0,1,..., n;
ak =
π ∫0

b 0,=
k 1,..., n.
k
=
(3.11)
65
В этом случае аппроксимирующий полином имеет вид:
)
Q( x=
n
a0
+ ∑ ak cos kx.
2 k =1
(3.12)
− f (− x) ) получим
Для нечетной функции ( f ( x) =
ak 0,=
k 0,1,..., n;
=

π
2

bk = π ∫ f ( x)sin kxdx,
0

(3.13)
n
Q( x) = ∑ bk sin kx.
(3.14)
k =1
Примечание 1. Если функция f ( y ) задана на интервале [a, b] , то введением новой переменной y =
1
b−a
мы получим функцию
(b + a ) + x
2
2π
 b−a 1

( x) f  x
f=
+ (b + a )  , x ∈ [−π; π] .
2
 2π

Примечание 2. Если функция f ( x) не обладает четностью, то можно
ее представить в виде суммы двух функций:
f=
( x) f1 ( x) + f 2 ( x),
где

( x)
 f1=

f=
( x)
 2
1
[ f ( x) + f (− x)] − четная;
2
1
[ f ( x) − f (− x)] − нечетная.
2
Интегралы в формулах (3.10), (3.11), (3.13) можно вычислить приближенно по формуле трапеции:
b
f ( x)dx
∫=
a
b−a1
1 
 y0 + y1 +  + ym−1 + ym  .
m 2
2 
66
Тогда коэффициент ak из (3.11) равен
π
2
=
ak
f ( x)cos kxdx ≈
π ∫0
m −1

2 π 1
1
≈
y
cos
kx
+
y
cos
kx
+
y
cos
kx
∑
 0
0
j
j
m
m ,
π m 2
2
j =1

π
x j = ⋅ j, j =
0,1,..., m.
m
Аналогично для коэффициента bk (3.13) получим
2 m−1
bk = ∑ y j sin kx j ;
m j =1
π
x j = ⋅ j, j =
1,2,..., m − 1.
m
Пример 5. Построить тригонометрический полином для четной функции, заданной следующими данными:
xj
0
f (x j )
9.55
xj
f (x j )
π/12
π/6
π/4
π/3
5π/12
π/2
9.46 9.25 8.96
8.58
8.10
7.59
7π/12 2π/3 3π/4 5π/6 11π/12
7.00
6.34 5.56 4.80
4.21
π
4.00
Решение. Здесь 13 узлов, т. е. m = 12 ; полином будем строить для
n = 6 . Результаты занесем в таблицу.
67
j
xj
yj
cos x j
cos 2 x j
cos3 x j
cos 4 x j
cos5 x j
cos6 x j
0
0
9.55
1
1
1
1
1
1
1
π/12
9.46
0.9659
0.8660
0.7071
0.5
0.2588
0
2
π/6
9.25
0.8660
0.5
0
–0.5
–0.8660
–1
3
π/4
8.96
0.7071
0
–0.7071
–1
–0.7071
0
4
π/3
8.58
0.5
–0.5
–1
–0.5
0.5
1
5
5π/12
8.10
0.5
0.9659
0
6
π/2
7.59
0
1
0
–1
7
7π/12
7.00 –0.2588 –0.8660
0.7071
0.5
–0.9659
0
8
2π/3
6.34
–0.5
1
–0.5
–0.5
1
9
3π/4
5.56 –0.7071
0
0.7071
–1
0.7071
0
10
5π/6
4.80 –0.8660
0.5
0
–0.5
0.8660
–1
11
11π/12
–0.7071
0.5
–0.2588
0
12
π
0.2588 –0.8660 –0.7071
0
–0.5
–1
4.21 –0.9659 0.8660
4.00
–1
1
–1
1
–1
1
∑
86.63
15.52
–2.48
1.06
–0.25
0
0.06
ak
14.4
2.25
–0.41
0.18
–0.04
0
0.01
k
Ответ:
Q( x) =
7.22 + 2.25cos x − 0.41cos 2 x + 0.18cos 3 x −
− 0.04 cos 4 x + 0.01cos 6 x.
Погрешность аппроксимации равна
  a0 2 6 2 
S 2 ∫ f ( x)dx − π  2   =
=
+ ∑ ak  6.689.
2


k =1
0


π
2
68
3.4 Приближение функций полиномами Лежандра
Полиномы Лежандра определяются формулой:
n
1 dn 2
=
Pn ( x )
x − 1) ,
n
n (
2 n! dx
n = 0,1, 2,...

P0 ( x)
=


 P3 ( x) =


 P5 ( x)=
1
(3 x 2 − 1);
2
1
1
(5 x3 − 3 x); P4 ( x) = (35 x 4 − 30 x 2 − 3);
2
8
1
(63 x5 − 70 x3 − 15 x).
8
(3.15)
P1 ( x) x; =
P2 ( x)
1; =
(3.16)
Общая рекуррентная формула для полиномов Лежандра:
(n + 1) Pn+1 ( x) − x(2n + 1) Pn ( x) + nPn−1 ( x) =0, n =1, 2,...
(3.17)
Теорема. Полиномы Лежандра образуют ортогональную систему
на отрезке [−1,1] , т. е.
1
0,1, 2,...) .
∫ P ( x ) P ( x ) dx = 0 при m ≠ n ( m, n =
n
m
−1
Норма полинома Лежандра:
1
=
Pn ( x )
P ( x ) dx
∫=
2
2
n
−1
2
.
2n + 1
(3.18)
Пусть задан обобщенный полином в виде
n
Q( x) = ∑ Ci Pi ( x) , x ∈ [−1, 1] ,
(3.19)
i =0
где {Pj ( x)} – полиномы Лежандра.
Для функций f ( x) на интервале [−1, 1] коэффициенты разложения Ci
определяются по формулам:
69
2i + 1
Ci =
f ( x) Pi ( x)dx , i = 0,1,..., n .
2 −∫1
1
(3.20)
Погрешность аппроксимации равна
1
1
n
n
2
S=
∫ [ f ( x) − ∑ Ci Pi ( x)] dx =
∫ f ( x)dx − ∑ Ci
2
2
=
i 0=
i 0
−1
−1
2
.
2i + 1
(3.21)
Примечание 1. Если функция f ( y ) задана на интервале y ∈ [a, b] ,
то, введя переменную
=
x
2
b+a
, мы получим функцию:
y−
b−a
b−a
b+a
b−a
=
f ( y) f 
x−
 ; x ∈ [−1, 1] .
2 
 2
Примечание 2. Если функция f ( x) задана таблично, то интегралы
(3.20), (3.21) необходимо вычислять по квадратурным формулам.
Пример 6. Функцию f ( x) = x на отрезке [−1, 1] аппроксимировать
полиномом Лежандра 5-й степени (рис. 3.1).
Решение. Полином Q5 ( x) ищем в виде
Q5 ( x) = C0 P0 ( x) + C1P1 ( x) + C2 P2 ( x) + C3 P3 ( x) + C4 P4 ( x) + C5 P5 ( x) .
Так как функция f ( x) = x – четная и Pk ( x) – четны при четном k
и нечетны при нечетном k , то из формулы (3.20) получим:
1
1
=
C0
| x=
| dx
2 −∫1
1
xdx
∫=
0
1
;
2
C=
C=
C=
0;
1
3
5
1
1
5
5
5
4
2
=
=
−
+
=
C2
|
x
|
P
(
x
)
dx
x
(35
x
30
x
3)
dx
;
2
2 −∫1
2 ∫0
8
1
9
3
4
2
−
+
=
−
C4 =
x
(35
x
30
x
3)
dx
.
8 ∫0
16
70
В результате для полинома Q5 ( x) следует выражение
1 5
3
+ (3 x 2 − 1) −
(35 x 4 − 30 x 2 + 3) =
2 16
128
15
=
(−7 x 4 + 14 x 2 + 1).
128
Q5 ( x) =
Следовательно,
=
x
15
(−7 x 4 + 14 x 2 + 1), − 1 ≤ x ≤ 1.
128
y
1
–1
1
Рис. 3.1 – График функции f ( x) = x и результат интерполяции
3.5 Полиномы Чебышева
Полиномы Чебышева определяются формулой:
( x + x 2 − 1) n + ( x − x 2 − 1) n
=
Tn ( x) =
, n 0,1,...
2n
(3.22)
Для n = 0,...,5 из (3.22) получим
1
3
1; T1 ( x) =
T0 ( x) =
x; T2 ( x) =
x 2 − ; T3 ( x) =
x3 − x;
2
4
1
5
5
T5 ( x) = x 4 − x 2 + ; T5 ( x) = x5 − x3 + x.
8
4
16
Для полиномов Чебышева справедлива следующая рекурсивная формула:
1
Tn+1 ( x ) =
xTn ( x ) − Tn−1 ( x ) , n =
2,3,...
4
(3.23)
71
Теорема. Полиномы Чебышева Tn ( x ) образуют на отрезке [–1,1] ор-
1
тогональную систему с весом ρ ( x ) =
, т. е.
2
1− x
1
dx
∫ T ( x )T ( x )
k
m
= 0 , при m ≠ k ,
1 − x2
−1
dx
π
2
T
x
=
=
; m 1,2,...,
(
)
m
2
m −1
∫−1
2
2
1− x
1
1
∫T
2
0
( x)
−1
1
dx
1− x
2
dx
∫
=
1− x
−1
2
= π.
Перейдем к задаче аппроксимации функций полиномами Чебышева.
Обобщенный полином представляется в виде
n
Pn = ∑ CiTi ( x) ,
(3.24)
i =0
1
∫ ρ( x) f ( x)T ( x)dx
i
где
Ci =
−1
.
1
∫ ρ( x)T
i
2
(3.25)
( x)dx
−1
Здесь f ( x) – аппроксимируемая функция, т. е.
=
f ( x)
n
C T ( x)
∑=
i =0
i i
Pn ( x) .
Погрешность аппроксимации равна
1
1
n
2
S=
∫ ρ( x)[ f ( x) − ∑ CiTi ] dx =
∫ ρ( x) f ( x)dx −
2
i =0
−1
n
1
k =0
−1
−1
(3.26)
− ∑ Ci2 ∫ ρ( x)Ti 2 ( x)dx.
Пример 7. Пусть f ( x)=
1 − x 2 , x ∈ [−1,1] . Необходимо аппроксими-
ровать полиномом Чебышева 5-й степени P5 ( x) и вычислить ошибку.
72
Решение. Так как f ( x) – четная, то отличными от нуля будут
коэффициенты Ci с четными номерами, а с нечетными равны нулю.
По формуле (3.25) получим
1 +1 2
=
x −1
;
π
π
1
2
23 1
8
2
C2 =
( x − 1 / 2)dx =
−
=
− ;
∫
π −1
π3
3π
=
C0
+1
27
27  1 5 1 3 1 
4
2
C4
( x − x + 1 / 8)=
dx
x − x + x=
=
π −∫1
π  5
3
8  −1
1
27 1
32
=
−
=
−
.
π 60
15π
В результате получим
1 − x2 ≈
2 8  2 1  32  4
1
2
− x − −
x − x + 
π 3π 
2  15π 
8
или 1 − x 2 =
46
8 2 32 4
−
x −
x .
15π 15π
15π
Погрешность равна:
1
S=
∫ ρ( x) f ( x)dx − ∑ C
2
−1
1
=
∫
−1
k =0
1
2
k
∫ ρ( x)T
2
k
( x)dx =
−1
π
π

1 − x 2 dx − C02 π + C22 + C42 =
8
27 

+1
1
8 
1

4 8
=  x 1 − x 2 + arcsin x  −  +
+
=
2
2
 −1  π 9π 225π 
π
=
− 1.5675 =
0.0033.
2
3.6 Задачи для самостоятельного решения
n
1. Построить полином для вычисления суммы Sn = ∑ i 3 .
i =1
73
2. Просуммировать ряд
=
Sn
n
∑ (2 j − 1)
2
.
j =1
1, x, x 2 ,..., x n на интервале
3. Показать, что система функций {ϕi ( x)} =
[a, b] является Чебышевской.
4. Показать,
что
система
1,sin x, cos x,...,
{ϕi ( x)} =
функций
sin nx,cos nx на интервале [0,2π] является Чебышевской.
5. В пятизначных таблицах логарифмов даются логарифмы целых чисел от x = 1000 до x = 10000 с предельной абсолютной погрешностью
=
ε 0.5 ⋅ 10−5 . Возможно ли линейное интерполирование с помощью формулы Ньютона с той же степенью точности?
6. С какой погрешностью можно вычислить
2 с помощью полино-
мов 1-го и 2-го порядка, построенных для отрезка [1.69,2.25] . Узлы интерполяции взять следующие: x0 = 1.69 ; x1 = 1.96 ; x2 = 2.25 .
7. Требуется составить четырехзначную таблицу функции f ( x) = sin x
на интервале 0 ≤ x ≤ π / 2 . Какой величины должен быть шаг таблицы h ,
чтобы погрешность интерполяции была не больше погрешности таблицы: а)
при линейной интерполяции; б) при квадратичной интерполяции.
8. Построить интерполяционные полиномы Ньютона 1-го и 2-го порядка для функции f ( x) , заданной таблично на равномерной сетке.
x
y
0
1
2
3
4
5
5.2
8.0
10.4
12.4
14.0
15.2
Вычислить значения полинома и погрешности в точках:
а) x = 0.5;
б) x = 3.5.
74
9 Функция f ( x) задана таблицей
0
x
f ( x)
2
4
1.5 2.5
4.5
Построить интерполяционные сплайны: 1) линейный; 2) параболический.
10. Аппроксимировать полиномом Лежандра 5-й степени функцию
f ( x) = x на интервале [0,1] .
11. Аппроксимировать полиномом Лежандра 5-й степени функцию
=
f ( x) sin x, x ∈ [−π / 2, π / 2] . Вычислить погрешность.
Справка
xdx sin x − x cos x;
∫ x sin =
= 2 x sin x − ( x − 2)cos x;
∫ x sin xdx
∫ x sin xdx = (3x − 6)sin x − ( x − 6 x)cos x;
∫ x sin xdx = (4 x − 24 x)sin x − ( x − 12 x + 24)cos x;
∫ x sin xdx = (5 x − 60 x + 120)sin x − ( x − 20 x + 120 x)cos x.
2
2
3
2
4
3
5
4
3
4
2
2
5
3
12. Аппроксимировать полиномом Чебышева 5-й степени на интервале x ∈ [−1,1] функцию f ( x)= (1 − x 2 )3/2 и вычислить погрешность S .
75
4 ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ
Формулы численного дифференцирования получаются путем дифференцирования интерполяционных формул. Наиболее широкое распространение получили формулы Ньютона и Лагранжа.
4.1 Формулы Ньютона
Пусть задана табличная функция
f ( x) на равномерной сетке
xi = a + i ⋅ h, i = 0,..., n , h – шаг сетки. Дифференцируя полином Ньютона,
для первой производной получим:
1
2q − 1 2
3q 2 − 6q + 2 3
[∆y0 +
∆ y0 +
∆ y0 +
2
6
h
2q 3 − 9q 2 + 11q − 3 4
+
∆ y0 + ] =
12
n
n
∆ i y0 i −1 i −1
∆ i y0 i −1
1
1
(
q
k
)]
[
y
= [∆y0 + ∑
−
=
∆
+
Π j (q )],
∑∏
∑ i! ∑
0
h =i 2=
i ! j 0 k =0
h =i 2=
j 0
Pn′(q ) =
(4.1)
k≠ j
где q
=
x − x0
=
, x0 a ; ∆y0 , ∆ 2 y0 , ∆ 3 y0 , ... – конечные разности,
h
Π j (q) =
i −1
∏ (q − k ).
k =0
k≠ j
Погрешность дифференцирования равна
=
Rn′ (q ) h
n +1
f ( n+1) (ξ) d
[q (q − 1) ⋅ ⋅ ⋅ (q − n)], ξ ∈ [ a, b ] ,
(n + 1)!h dq
или
∆ n+1 y0 d
[q (q − 1) (q − n)].
=
Rn′ (q )
(n + 1)!h dq
(4.2)
76
В частности, при x = x0
1
1 2
1 3
1 4

y
y
y
y
∆
−
∆
+
∆
−
∆
+

0
0
0
0
 ,
h 
2
3
4
Pn′(0) =
(−1) n ∆ n+1 y0
′
.
R (0) =
h n +1
(4.3)
Для второй производной получим следующие формулы (путем дифференцирования (4.1) и (4.2)):
 2

6q 2 − 18q + 11 4
3
y
(
q
1)
y
y

∆
+
−
∆
+
∆
+
0
0
0

=
12




i
n
i −1 i −1 i −1


∆ y0
1
= 2  ∆ 2 y0 + ∑
−
=
q
l

(
)
∑∑∏
h 
i
!
k 0 l =0
=i 3
=j 0=

k ≠ j l ≠k


l≠ j


n
∆ i y0 i −1 i −1
1  2
= 2 ∆ y0 + ∑
Π jk (q )  ,
∑∑


h
i ! =j 0=k 0
=i 3


k≠ j
1
Pn′′(q ) = 2
h
где Π jk (q ) =
(4.4)
i −1
∏ (q − l ) ;
l =0
l≠ j
l ≠k
Погрешность
=
Rn′′(q ) h n+1
f ( n+1) (ξ) d 2
[q (q − 1) ⋅ ⋅ ⋅ (q − n)], ξ ∈ [ a, b ] ,
(n + 1)!h 2 dq 2
или
∆ n+1 y0 d 2
[q (q − 1) (q − n)].
R′′(q )
=
(n + 1)!h 2 dq 2
(4.5)
В частности, при x = x0 будем иметь:
11 4
5 5
 2

3
 ∆ y0 − ∆ y0 + 12 ∆ y0 − 6 ∆ y0 +  ;
2(−1) n+1 ∆ n+1 y0 n 1
.
R′′(0) =
∑
(n + 1)h 2
i
i =1
Pn′′(0) =
1
h2
(4.6)
77
Примечание 1. При нахождении производных y′, y′′,... в фиксированной точке x в качестве x 0 следует брать ближайшее слева от x табличное
значение аргумента.
Примечание 2. В качестве точки x0 может быть использована любая
узловая точка. Поэтому формулы (4.3) и (4.6) могут быть применены для
любой точки xi , если она удовлетворяет условию xi ≤ xn− j , где j – порядок
полинома.
Для неравномерной сетки
i −1
n
Pn′( x) =
[ x0 , x1 ] + ∑[ x0 ,..., xi ]∑ Π j ( x),
=i 2=j 0
n
i −1 i −1
=i 3
=j 0=
k 0
k≠ j
=
Pn′′( x) [ x0 , x1 , x2 ] ⋅ 2 + ∑[ x0 ,..., xi ]∑∑ Π jk ( x),
где Π j ( x) =
i −1
∏ ( x − xk ) , Π jk ( x) =
k =0
k≠ j
i −1
∏(x − x ) .
l =0
l≠ j
l ≠k
l
Погрешность:
=
Rn′ ( x)
M n+1 d
[( x − x0 )( x − x1 ) ⋅⋅⋅ ( x − xn )],
(n + 1)! dx
M n+1 d 2
[( x − x0 )( x − x1 ) ⋅ ⋅ ⋅ ( x − xn )],
Rn′′( x)
=
(n + 1)! dx 2
=
M n+1 max f ( n+1) ( x) ≈ (n + 1)!⋅ [ x0 , x1 ,..., xn+1 ].
x
78
Пример 1. Найти y′(0) и y′′(0) функции y = f ( x) , заданной таблично:
x
y
∆y
∆2 y
∆3 y
∆4 y
0.0
16.991
0.411
–0.028
–0.007
0.017
5.0
17.402
0.383
–0.035
0.010
10
17.785
0.348
–0.025
15
18.133
0.323
20
18.456
Здесь шаг равен 5.
Решение. По формулам (4.3), (4.6) получим (используя интерполяционный полином 3-го порядка):
1
1
1

0.411
0.028
0.007  ≈ 0.0845 ;
+
−

5
2
3

y′(0) =
(−1)
−8.5 ⋅ 10−4 .
R′(0) = ∆ 4 y0 =
5⋅4
y′′(0) =
1
1
 ∆ 2 y0 − ∆ 3 y0  = [ −0.028 + 0.007 ] = −8.4 ⋅ 10−4 ;
25
25
2 ⋅ (−1) ⋅ ∆ 4 y0  1 1 1 
R′′(0) =
−6.2 ⋅ 10−4 .
 + + =
4 ⋅ 25
1 2 3 
Результаты этого примера показывают, что погрешность второй производной сравнима с величиной второй производной.
4.2 Формула Лагранжа
Запишем полином Лагранжа.
n
Ln ( x) = ∑ yi
i =0
где Π i ( x)=
n
∏(x − x ) .
j =0
j ≠i
j
Π i ( x)
,
Π i ( xi )
(4.7)
79
Для первой производной получим выражение
n
n
yi d
d
1
Π i ( x);
Π i ( x) =
Π i ( x)∑
Ln′ ( x) =
∑
Π i ( xi ) dx
dx
j 0=
k 0 x − xk
k≠ j
или
n
Π i ( x) n 1
.
∑
Π
−
x
x
x
(
)
0=
i
i k 0
k
Ln′ ( x) = ∑ yi
=j
(4.8)
k≠ j
Вторая производная вычисляется по формуле:
yi d 2
Ln′′( x) ∑
=
Π i ( x),
2
(
)
x
dx
Π
j =0
i
i
n
которая после преобразования примет вид
2



n
n

1 
1
Π i ( x )  n
.
Ln′′( x) 2∑ yi
=
−
∑
∑
2
 ( x − x ) 
(
)
(
)
x
x
x
Π
−
=j 0=
k 0
i
i  k 0 =
k 
k

 k≠ j
 k ≠ j

(4.9)
Данные формулы не подходят для использования на практике,
т. к. при x = xi (т. е. в узлах исходной сетки) дают деление на 0. Поэтому
вместо выражений (4.8) и (4.9) следует использовать другие выражения:
Ln′ ( x)
=
n
∑
=i 0
n
∏(x − x )
j =0
j ≠i
Ln′′( x)
=
n
n
yi
n
yi
Π ij ( x),
∑
∑
(
)
x
Π
=i 0=
i
i j 0
=j 0 k =0
i
j j ≠i k ≠i
k≠ j
n
n
yi
n
k≠ j l≠ j
l ≠k
yi
n
n
∑ Π ( x ) ∑∑ Π
=i 0
∏ ( x − xk ) , Π ijk ( x) =
k =0
k ≠i
k≠ j
n
n
( x − xl )
=
∑
∑∑∏
n
=i 0
∏ ( xi − x j )=jj ≠i0=kk ≠i0 ll =≠0i
=
где Π ij ( x) =
(4.10)
j ≠i
j =0
j ≠i
n
n
x − xk )
∑ ∏ (=
k 0
i =j 0=
j ≠i k ≠i
k≠ j
i
n
∏(x − x ) .
l =0
l ≠i
l≠ j
l ≠k
l
ijk
( x),
(4.11)
80
Вычислим погрешность первой и второй производной:
M n+1 d
M n+1 d 2
Π n+1 ( x); Rn′′( x) =
Π n+1 ( x),
Rn′ ( x) =
(n + 1)! dx
(n + 1)! dx 2
Π n+1 ( x=
) ( x − x0 )( x − x1 ) ⋅ ⋅ ⋅ ( x − xn ).
Так как
n
d
1
Π n+1 ( x) =
Π n+1 ( x)∑
,
dx
j =0 ( x − x j )
2


n
n


d
1
1

,
Π n+1 ( x) =
Π n+1 ( x)  ∑
 − ∑
2

dx 2
(
x
−
x
)
(
x
−
x
)
 j 0=

=
j 0
j 
j


2
то получим
=
Rn′ ( x)
n
M n+1
1
Π n+1 ( x)∑
,
−
(n + 1)!
x
x
j =0
j
 n 1  2 n

M n+1
1
.
Π n+1 ( x)  ∑
−
Rn′′( x) =
 ∑
2
−
x − x j 
x
x
(n + 1)!=
(
)
 j 0=

j 0
j


(4.12)
(4.13)
Для равномерной сетки имеем
n
n
1 n
yi
=
(q − k )
∑
∑∏
n −i
(
1)
!(
)!
h
i
n
i
−
−
=i 0=j 0 k =0
Ln′ (q )
=
j ≠i k ≠i
k≠ j
n
(4.14)
n
1
yi
∑
∑ Π ij (q),
n −i
(−1) i !(n − i )! j 0
h i 0=
=
=
j ≠i
Ln′′ ( q )
=
n
n
n
yi
1 n
∑ =
∑∑∏ (q − l )
h 2 =i 0 (−1) n−i i !(n − i )!=j 0=k 0 l =0
j ≠i k ≠i l ≠i
k≠ j l≠ j
l ≠k
=
n
n
n
yi
1
∑∑ Π ijk (q),
2 ∑
n −i
h =i 0 (−1) i !(n − i )!=j 0=k 0
j ≠i k ≠i
k≠ j
(4.15)
81
где Π ij (q ) =
n
∏ (q − k ) , Π ijk (q) =
k =0
k ≠i
k≠ j
n
∏ (q − l ) .
l =0
l ≠i
l≠ j
l ≠k
Погрешность в этом случае составит
=
Rn′ (q ) h n+1
=
Rn′′(q ) h
n +1
f ( n+1) (ξ) d
[q (q − 1) ⋅ ⋅ ⋅ (q − n)],
(n + 1)!h dq
f ( n+1) (ξ) d 2
[q (q − 1) ⋅ ⋅ ⋅ (q − n)],
(n + 1)!h 2 dq 2
ξ ∈ [ a , b ].
Пример 2. Рассмотрим предыдущий пример. Вычислить y′(0) и y′′(0)
с помощью полинома 3-го порядка.
x
y
0.0
5.0
10
15
20
16.991
17.402
17.785
18.133
18.456
Решение. По формуле (4.10) получим:
 1
1
1 
=
+
+
y ′( x0 ) y0 
 + ( x0 − x1 ) ×
 x0 − x1 x0 − x2 x0 − x2 

1
1
×( x0 − x2 )( x0 − x3 )  y1
⋅
+
−
−
−
−
x
x
(
x
x
)(
x
x
)(
x
x
)
0
1
1
0
1
2
1
3

+ y2
1
1
⋅
+
x0 − x2 ( x2 − x0 )( x2 − x1 )( x2 − x3 )
+ y3

1
1
⋅
.
x0 − x3 ( x3 − x0 )( x3 − x1 )( x3 − x2 ) 
82
Подставим данные таблицы:
 y
y
y
1
1
1 
 11 
) y0  −  + (−750)  1 ⋅
y ′( x0 =
+ 2 ⋅
+ 3 ⋅
=

(
−
5)
250
(
−
10)
(
−
250)
(
−
15)
750
 30 

3
3
1
 11 
=−
0.0845.

 ⋅ 16.991 + ⋅ 17.402 − ⋅ 17.785 + ⋅ 18.133 =
5
10
15
 30 
По формуле (4.11) имеем:
  1  1

1 
1
y ′′( x0 ) 2  y0 
=
+
+

+
(
)(
)
x
−
x
x
−
x
x
−
x
x
−
x
x
−
x
1 0
2
0
3 
0
2
0
3 
  0

1
+ ( x0 − x1 )( x0 − x2 )( x0 − x3 ) ⋅  y1
×
−
x
x
0
1

 1
1
1 
×
+

+
( x1 − x0 )( x1 − x2 )( x1 − x3 )  x0 − x2 x0 − x3 
+ y2
 1
1
1
1 
⋅
+

+
x0 − x2 ( x2 − x0 )( x2 − x1 )( x2 − x3 )  x0 − x1 x0 − x3 
+ y3
 1
1
1
1   
⋅
+

  .
x0 − x3 ( x3 − x0 )( x3 − x1 )( x3 − x2 )  x0 − x1 x0 − x2   
Подставим табличные данные, получим:
 1  1

1 
1
=
y′′( x0 ) 2  y0  
+
+
+
  −5  −10 −15  (−10)(−15) 

1
1
1 
(
) +
+ y1 (−750) 
+
 (−5)5(−5)(−10) −10 −15 

1
1
1 
+ y2 (−750) 
( +
) +
 (−10)10 ⋅ 5(−5) −5 −15 

1
1
1 
+ y3 (−750) 
( +
)  =
−
⋅
⋅
−
−
(
15)15
10
5
5
10


1
1
2
 1
= 2  y0
− y1 + y2
− y3  =
−8.4 ⋅ 10−4.
50 
10
25
 25
83
4.3 Задачи для самостоятельного решения
1. Исходя из формул Лагранжа (4.8), (4.9) получить формулы (4.10),
(4.11) для первой и второй производной в узлах сетки.
2. Пусть дана равномерная сетка. На примере полинома Лагранжа третьего порядка получить из формул (4.10), (4.11) формулы Ньютона (4.3),
(4.6) для производных y′( xi ), y′′( xi ) .
3. Материальная точка движется прямолинейно. Закон движения
S = f (t ) представлен в виде таблицы.
t,с
S,м
∆S
∆2S
∆3S
∆4S
0
0
2
6
6
0
1
2
8
12
6
0
2
10
20
18
6
0
3
30
38
24
6
4
68
62
30
5
130
92
6
222
Найти скорость V и ускорение w точки в момент t = 3.5 сек.
4. Дана функция=
y ( x) e − x /2 , x ∈ [0,1] . Получить таблицу значений
с шагом h = 0.2 . С помощью полинома Ньютона 3-го порядка вычислить значения первой и второй производной в точке x = 0.1 . Оценить погрешность.
5. Дана функция=
y ( x) e − x /2 , x ∈ [0,1] . Получить таблицу значений
с шагом h = 0.2 . С помощью полинома Лагранжа 3-го порядка вычислить
значения первой и второй производной в точке x = 0.1 . Оценить погрешность.
84
y ( x) e − x , x ∈ [0,1] . Получить таблицу значений
6. Дана функция =
2
с шагом h = 0.2 . С помощью полинома Ньютона 3-го порядка вычислить значения первой и второй производной в точке x = 0.1 . Оценить погрешность.
y ( x) e − x , x ∈ [0,1] . Получить таблицу значений
7. Дана функция =
2
с шагом h = 0.2 . С помощью полинома Лагранжа 3-го порядка вычислить
значения первой и второй производной в точке x = 0.1 . Оценить погрешность.
85
5 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ
Формулы численного интегрирования в общем случае получаются путем интегрирования интерполяционных полиномов, построенных для
подынтегральной функции.
5.1 Формулы трапеции и Симпсона
Запишем интерполяционный полином Лагранжа для равномерной
сетки:
=
Ln (q )
где Π i (q )=
n
∏ (q − j ) , q =
j =0
j ≠i
n
∑ (−1)
i =0
n −i
yi
Π i (q ),
i !(n − i )!
(5.1)
x − x0
b−a
, h=
– шаг сетки. Если подынтегральh
n
ную функцию f ( x) на интервале [a, b] аппроксимировать полиномом Лагранжа (5.1), то для интеграла от f ( x) получим
b
∫
n
f ( x)dx= (b − a )∑ H i yi ,
(5.2)
i =0
a
где H i – коэффициенты Ньютона – Котеса:
1 ( −1)
Π i (q)
=
Hi =
dq, i 0,..., n.
∫
n i !( n − i )! 0 q − i
n −i
n
(5.3)
Формулы вида (5.2) называют квадратурами или квадратурными
формулами.
1. При n = 1 (т. е. имеется два узла на интервале [a, b] ) получим
из (5.3) H=
H=
0
1
1
. В этом случае формула (5.2) примет вид:
2
x1
)dx
∫ f ( x=
x0
h
( y0 + h1 ).
2
86
Применяя эту формулу ко всем подынтервалам xi +1 − xi =
h , получим
b
∫
f ( x)dx=
a
h
[ y0 + 2( y1 + y2 +  + yn−1 ) + yn ].
2
(5.4)
Для остаточного члена
b
=
R
h
∫ f ( x)dx − 2 [ y
0
+ 2( y1 + y2 +  + yn−1 ) + yn ]
a
можно получить следующее выражение:
(b − a ) 2
RT =
−
h y′′(ξ),
12
(5.5)
где a < ξ < b .
Формулу (5.4) называют квадратурной формулой трапеций. Геометрически формула (5.4) означает замену графика функции y = f ( x ) на ломаную линию (рис. 5.1).
Рис. 5.1 – Геометрическая интерпретация формулы трапеций
Из формул (5.5) видно, что если y′′ > 0 , то формула трапеции (5.4) даст
значение интеграла с избытком, если y′′ < 0 , то – с недостатком.
Для неравномерной сетки формула трапеций (5.4) принимает вид:
87
b
1 n−1
=
 ∫ f ( x)dx
∑ hi ( yi+1 + yi ),
2 i =0
a

 R =− 1
hi3 y′′(ξi ); ξi ∈ [ xi ; xi −1 ].
∑
 T
12
(5.6)
2. При n = 2 коэффициенты Ньютона – Котеса равны
=
H0
1
4
1
=
; H1 =
; H2
6
6
6
и формула (5.2) примет вид:
x2
∫ f ( x)dx=
x0
2h
[ y0 + 4 y1 + y2 ].
6
(5.7)
Чтобы получить квадратуру для произвольного интервала [a, b] , рассмотрим сетку с n = 2m узлами. Здесь m – количество подынтервалов
длиной 2h . Применяя формулу (7.7) к каждому подынтервалу, получим
b
dx
∫ f ( x)=
a
2h
[( y0 + y2 m ) + 4( y1 + y3 + y5 +  + y2 m−1 ) +
6
(5.8)
+ 2( y2 + y4 +  + y2 m−2 )].
Эта формула получила название квадратурной формулы Симпсона.
b−a b−a
; n – количество интервалов, четное число
=
n
2m
Здесь
h
=
( n + 1 – количество узлов сетки).
Остаточный член
b
=
RC
∫ f ( x)dx −
a
2h
[( y0 + y2 m ) + 4( y1 + y3 + y5 +  + y2 m−1 ) +
6
+ 2( y2 + y4 +  + y2 m−2 )]
выражается формулой:
b − a 4 (4)
RC =
−
h y ( ξ) .
180
(5.9)
88
Здесь вошла производная 4-го порядка, поэтому формула Симпсона
(5.8) будет точна для подынтегральных функций, заданных полиномами
не только 2-го порядка, но и 3-го порядка.
Геометрически формула Симпсона означает, что кривую y = f ( x ) мы
заменяем
параболой
y = L2 ( x ) ,
проходящей
через
три
точки:
M 0 ( x0 , y0 ) , M 1 ( x1 , y1 ) , M 2 ( x2 , y2 ) (рис. 5.2).
f ( x)
R
M1
M2
M0
y0
y2
y1
h
x0
h
x1
x2
Рис. 5.2 – Геометрическая интерпретация формулы Симпсона
Для неравномерной сетки ( h=i xi − xi −1 ) формула Симпсона имеет следующий вид:
b
∫
a
xn
h2 k −1 + h2 k
{ y2k −2 ( 2h2k −1 − h2k ) h2k +
h
h
6
k =1
2 k −1 2 k
m
f ( x)dx =∫ ydx =∑
x0
+ y2 k −1 ( h2 k −1 + h2 k ) + y2 k ( 2h2 k − h2 k −1 ) h2 k −1} ,
2
где m = n / 2 .
(5.10)
89
5.2 Формулы прямоугольников
Из геометрических соображений можно получить формулы прямоугольников:
b
n −1
a
i =0
b
n −1
a
i =0
b
n −1
= ∑yh,=
h
∫ f ( x)dx
i i
= ∑y
∫ f ( x)dx
i
xi +1 − xi – левосторонняя;
h,=
hi xi +1 − xi – правосторонняя;
i +1 i
dx ∑ f (ξ )h , =
ξ
∫ f ( x)=
a
i =0
i
i
i
xi +1 + xi
– центральная.
2
(5.11)
(5.12)
(5.13)
Погрешности квадратурных формул (5.11), (5.12) и (5.13) (для
h = const ) равны
=
R1
R2
=
b−a
hy′(ξ) – левосторонняя и правосторонняя;
2
(5.14)
b−a 2
h y′′(ξ) – центральная.
24
(5.15)
Сравнивая формулы погрешностей (5.5) и (5.15), делаем заключение,
что центральная формула прямоугольников в 2 раза точнее формулы трапеций.
1
Пример 1. Найти ln 2 с точностью до 10 из соотношения ln 2 =
–4
dx
,
x
0.5
∫
вычислив интеграл тремя методами:
1) по формуле Симпсона;
2) по формуле трапеций;
3) по центральной формуле прямоугольников.
Решение. Оценим требуемое количество узлов для обеспечения заданной точности квадратурных формул. Для этого вычислим производные.
90
=
f ( x)
1
2
24
=
; f ′′( x)
;=
f (4) ( x)
.
3
x
x
x5
На отрезке [1 / 2, 1] имеем
f ′′( x) <
2
= 16 = M 2 ; f (4) ( x) = 24 ⋅ 25 = 768 = M 4 .
3
(1 / 2)
Для метода Симпсона погрешность равна
| R=
C | M4
(b − a ) 4
b−a
1
1
=
h ;=
h
; b −=
a
.
180
2m 4m
2
Поэтому погрешность выражается через количество узлов следующим образом:
4
1  1 
−4
=
| RC | 768

 < 10 .
2 ⋅ 180  4m 
m 4,=
n 2=
m 8 , т. е. получим 9 узлов.
Отсюда ( 4m ) > 2.13 ⋅ 104 или =
4
Занесем данные в таблицу.
x
A1
x0 = 0.5000
f ( x0 ) = 2
A2
f ( x1 ) = 1.77777
x1 = 0.5625
x2 = 0.6250
f ( x2 ) = 1.60
x3 = 0.6875
f ( x3 ) = 1.45454
x4 = 0.7500
f ( x4 ) = 1.33333
x5 = 0.8125
f ( x5 ) = 1.23077
x6 = 0.8750
f ( x6 ) = 1.14286
x7 = 0.9375
x8 = 1.0
A3
f ( x7 ) = 1.06666
f ( x8 ) = 1
91
Получим промежуточные результаты. Сложим цифры по столбцам
=
A1 3;=
A2 5.52976;=
A3 4.07619 . В результате получим искомый результат
ln 2 =
h
[ A1 + 4 A2 + 2 A3 ] = 0.6931 .
3
Рассмотрим формулу прямоугольников:
R<
b−a 2
b−a 1
1
=
h M 2; =
h
a
; b −=
.
n
24
2n
2
2
1
 1 
16   < 10−4 .
Получим R <
2 ⋅ 24  2n 
Отсюда n 2 > 104 / 12 или n = 29 .
Если использовать формулу трапеций, то для нахождения ln 2
с точностью 10−4 потребуется 58 узлов сетки подынтегральной функции.
Заметим, что если для формулы прямоугольников взять n = 8 , то по1
грешность вычисления интеграла ln 2 =
dx
будет превосходить 10−3 .
x
0.5
∫
5.3 Правило Рунге оценки остаточного члена
На практике часто используют правило Рунге для оценки погрешности интегрирования
b
∫ f ( x)dx − S
a
n
S −S
= n 2 mn1 ,
(n 2 / n1) − 1
где Sn1 , Sn 2 – значения интеграла, вычисленные по какой-либо квадратурной формуле с количеством узлов n1 и n 2 соответственно, m – порядок
точности метода:
– m = 1 для формулы левосторонних и правосторонних прямоугольников;
– m = 2 для формулы центральных прямоугольников и трапеции;
92
– m = 4 для формулы Симпсона.
Увеличивая число узлов, можно увеличить точность интегрирования.
Если задать точность ε , то, используя критерий
Sn 2 − Sn1
≤ ε,
(n 2 / n1) m − 1
(5.16)
можно обеспечить требуемую погрешность интегрирования. В качестве значения интеграла берут S n 2 . При этом обычно n 2= 2 ⋅ n1 , т. е. количество узлов удваивается.
Если задана относительная погрешность δ , то используют следующий
критерий:
Sn 2 − Sn1
≤ δ.
Sn 2
(5.17)
5.4 Формула Гаусса
Квадратурная формула Гаусса основана на использовании полиномов
Лежандра:
b
∫
a
b−a n
f ( x)dx =
∑ Ai f ( xi ),
2 i =1
=
xi
b+a b−a
+
ti ,
2
2
(5.18)
(5.19)
где ti – нули полиномов Лежандра степени n .
Коэффициенты Ai определяются как решение системы линейных
уравнений
 2
при k четном;

At  k + 1
k 0,1,..., n − 1.
=
=
∑
i =1
0
при k нечетном.
n
k
i i
93
Формула Гаусса (5.18) является точной для всех полиномов f ( x)
степени до 2n − 1 включительно.
Значения коэффициентов Ai , ti приведены в таблице 5.1.
Таблица 5.1
n
i
ti
Ai
1
1
0
2
2
1;2
±0.57735027
1
3
1;3
±0.77459667
5/9
2
0
8/9
1;4
±0.86113631
0.34785484
2;3
±0.33998104
0.65214516
1;5
±0.90617985
0.23692688
2;4
±0.53846931
0.47862868
3
0
0.56888889
1;6
±0.932469515
0.17132450
2;5
±0.66120939
0.36076158
3;4
±0.23861919
0.46791394
4
5
6
С увеличением количества узлов (т. е. с увеличением порядка квадратурной формулы) точность квадратурной формулы (5.18) увеличивается.
Приведенная таблица позволяет использовать максимальный порядок формулы, равный 5.
Если количество узлов недостаточно для достижения заданной точности, то поступают следующим образом: делят интервал [a, b] пополам,
вычисляют интеграл в каждом подынтервале и суммируют. Это эквивалентно удваиванию числа узлов. Если желаемая точность не достигнута,
94
то интервал [a, b] делят на три подынтервала и т. д., пока не будет достигнута заданная точность. Приведем квадратурную формулу для переменного
количества узлов.
Пусть порядок формулы n фиксирован (например, n = 5 ). Тогда
b−a n
S0 =
Ak f ( xk0 ) ;
∑
2 k =1
b−a n 1
S1
=
∑∑ Ak
2 ⋅ 2 =k 1 =i 0
Sj
=
b−a n j
∑∑ Ak
2( j + 1) =k 1 =i 0
b−a 

f  x1k +
i ;
2 


b−a 
f  xkj +
i ) , j = 0, 1,...,
j
1
+


(5.20)
b + a (2 j + 1)
b−a
+
tk .
2( j + 1)
2( j + 1)
=
xkj
где j + 1 – число подынтервалов;
Критерий останова
S j +1 − S j
S j +1
≤ δ.
Пример 2. Вычислить по формулам Гаусса при n = 3 интеграл
1
=
I
∫
1 + 2 xdx.
0
Вычисления провести с 5 значащими цифрами.
Решение.
Используя таблицу 1, получим
1 1
1 1
x1 = + t1 = + (−0.774597) =0.11270;
2 2
2 2
1 1
1 1
x2 = + t2 = + ⋅ 0 = 0.5;
2 2
2 2
1 1
1 1
x3 = + t3 = + ⋅ 0.774597 = 0.88730;
2 2
2 2
=
f ( x1 ) 1.10698;
=
f ( x2 ) 1.41421;
=
f ( x3 ) 1.39870 .
(5.21)
95
S0=
1 5
8
5 
f1 + f 2 + f3 = 1.3987.

2 9
9
9 
5.5 Задачи для самостоятельного решения
1. Получите формулу для остаточного члена квадратуры трапеции.
2. Получите формулу для остаточного члена квадратуры Симпсона.
3. Получите формулу для остаточного члена квадратуры центральных
прямоугольников.
4. Получите формулу для остаточного члена квадратуры левосторонних прямоугольников.
5. По формуле Симпсона вычислить интеграл
1
dx
∫ 1 + x , приняв n = 10 . Вы0
числить погрешность.
1
dx
∫ 1 + x , приняв
6. По формуле трапеций вычислить интеграл
n = 10 .
0
Вычислить погрешность.
7. По формуле центральных прямоугольников вычислить интеграл
1
dx
∫0 1 + x , приняв n = 10 . Вычислить погрешность.
1
8. По формуле Гаусса вычислить интеграл
dx
∫0 1 + x , приняв n = 5 . Вы-
числить погрешность.
2
9. По формуле Симпсона вычислить интеграл
dx
∫4+ x
2
, приняв n = 10 .
2
, приняв n = 10 .
0
Вычислить погрешность.
2
10. По формуле трапеций вычислить интеграл
0
Вычислить погрешность.
dx
∫4+ x
96
11. По формуле центральных прямоугольников вычислить интеграл
2
dx
∫0 4 + x 2 , приняв n = 10 . Вычислить погрешность.
2
12. По формуле Гаусса вычислить интеграл
0
Вычислить погрешность.
dx
∫4+ x
2
, приняв n = 5 .
97
6 ЗАДАНИЯ ДЛЯ КОНТРОЛЬНОЙ И ЛАБОРАТОРНЫХ РАБОТ
6.1 Решение уравнений с одной переменной
Задание
Написать программу отделения корней их уточнения одним из нижеперечисленных методов:
а) методом дихотомии;
б) методом хорд;
в) методом золотого сечения;
г) методом Ньютона;
д) методом итераций;
е) комбинированным методом.
Входные данные:
• функция f ( x) и ее первая и вторая производные (для метода Ньютона, итераций и комбинированного метода);
• интервал [a, b] ;
• точность по аргументу и по функции ε1 , ε 2 .
Выходные данные:
• корни ξi , точность;
• значения функции f (ξi ) ;
• количество итераций n ;
• количество вычислений функции f ( x) ;
• время счета;
98
• параметр сходимости
α=
xn+1 − xn
xn − xn−1
n
, где n – порядок сходимости.
Варианты заданий
1.=
f ( x) (0.2 x)3 − cos x .
2. f ( x)= x − 10sin x .
3. f ( x) =
2− x − sin x; x < 10 .
4. f ( x)= 2 x − 2cos x; x > −10 .
5. f ( x)= lg( x + 5) − cos x; x < 5 .
)
6. f ( x=
4 x + 7 − 3cos x .
f ( x) x sin x − 1 .
7. =
( x) 8cos x − x − 6 .
8. f =
( x) sin x − 0.2 x .
9. f=
10.=
f ( x) 10cos x − 0.1x 2 .
11. f ( x) =2 ⋅ lg( x + 7) − 5sin x .
f ( x) 4cos x + 0.3 x .
12. =
x) 5sin 2 x − 1 − x .
13. f (=
14. f ( x)= 1.2 x 4 + 2 x3 − 24.1 − 13 x 2 − 14.2 x .
15. f ( x)= 2 x 2 − 5 − 2 x .
16. f ( x=
) 0.5 x 2 − 10 + 2− x .
17. f ( x) = 4 x 4 − 6.2 − cos0.6 x .
18. f ( x)= 3sin8 x − 0.7 x + 0.9 .
19. f ( x) =1.2 − ln x − 4cos 2 x .
20. f ( x) = ln( x + 6.1) − 2sin( x − 1.4) .
99
6.2 Решение задач линейной алгебры
6.2.1 Решение систем линейных уравнений
Задание
Написать программу решения системы линейных алгебраических
уравнений одним из следующих методов:
а) методом Гаусса;
б) методом ортогонализации;
в) методом Халецкого;
г) методом простой итерации;
д) методом Зейделя.
Входные данные:
• порядок системы n ;
• матрица системы A ;
• правая часть системы b ;
• точность ε (для итерационных методов).
Выходные данные:
• промежуточные векторы и матрицы;
• решение системы;
• невязка.
Варианты заданий
2.18;
2.74 x1 − 1.18 x2 + 3.17 x3 =

1. 1.12 x1 + 0.83 x2 − 2.16 x3 =
1.15;
0.81x + 1.27 x + 0.76 x =
3.23.
1
2
3

100
7;
 x1 + 2 x2 + 3 x3 + 4 x4 =
x + 2x + x =
1;
 1
2
3
2. 
1;
− x1 − 2 x2 + 2 x3 =
 x2 + x3 =
2.
3;
4 x1 + 3 x2 + 2 x3 + x4 =
3 x + 6 x + 4 x + 2 x =
6;
 1
2
3
4
3. 
4;
2 x1 + 4 x2 + 6 x3 + 3 x4 =
 x1 + 2 x2 + 3 x3 + 4 x4 =
7.
2;
5 x1 + 8 x2 + x3 =

4. 3 x1 − 2 x2 + 6 x3 =
−7;
2 x + x − x =
−5.
3
 1 2
2.6;
3.2 x1 + 5.4 x2 + 4.2 x3 + 2.2 x4 =
2.1x + 3.2 x + 3.1x + 1.1x =
4.8;

1
2
3
4
5. 
3.6;
1.2 x1 + 0.4 x2 − 0.8 x3 − 0.8 x4 =
4.7 x1 + 10.4 x2 + 9.7 x3 + 9.7 x4 =
−8.4.
11.4;
3.2 x1 + 5.4 x2 + 4.2 x3 + 2.2 x4 =
2.1x + 3.2 x + 3.1x + 1.1x =
9.2;

1
2
3
4
6. 
0.4;
1.2 x1 + 0.4 x2 − 0.8 x3 − 0.8 x4 =
4.7 x1 + 10.4 x2 + 9.7 x3 + 9.7 x4 =
30.4.
−11.33;
6 x1 − x2 − x3 =

7. − x1 + 6 x2 − x3 =
32;
− x − x + 6 x =
42.
3
 1 2
101
1.5471;
1.1161x1 + 0.1254 x2 + 0.1397 x3 + 0.1490 x4 =
0.1582 x + 1.1675 x + 0.1768 x + 0.1871x =
1.6471;

1
2
3
4
8. 
1.7471;
0.1968 x1 + 0.2071x2 + 1.2168 x3 + 0.2271x4 =
0.2368 x1 + 0.2471x2 + 0.2568 x3 + 1.2671x4 =
1.8471.
6.19;
2.67 x1 + 5.1x2 + 3.31x3 + 5.64 x4 + 4.76 x5 =
4.44 x + 7.5 x + 4.67 x + 5.7 x + 6.14 x =
6.95;
1
2
3
4
5

9. 5.33 x1 + 9.8 x2 + 8.67 x3 + 4.8 x4 + 7.33 x5 =
12.2;
3.56 x + 5.3 x + 4.15 x + 3.69 x + 3.25 x =
5.97;
1
2
3
4
5

1.78 x1 + 4.17 x2 + 2.67 x3 + 4.69 x4 + 3.75 x5 =
4.42.
6.68;
7.9 x1 + 5.6 x2 + 5.7 x3 − 7.2 x4 =
8.5 x − 4.8 x + 0.8 x + 3.5 x =
9.95;

1
2
3
4
10. 
8.6;
4.3 x1 + 4.2 x2 − 3.2 x3 + 9.3 x4 =
3.2 x1 − 1.4 x2 − 8.9 x3 + 3.3 x4 =
1.
8;
4 x1 + 0.24 x2 − 0.08 x3 =

11. 0.09 x1 + 3 x2 − 0.15 x3 =
9;
0.04 x − 0.08 x + 4 x =
20.
1
2
3

−3;
2 x1 − 0.24 x2 + x3 =

12. 3 x1 + 5 x2 − 2 x3 =
1;
 x − 4 x + 10 x =
0.
2
3
 1
12;
10 x1 + x2 + x3 =

13. 2 x1 + 10 x2 + x3 =
13;
2 x + 2 x + 10 x =
14.
2
3
 1
102
3;
2 x1 + 3 x2 − 4 x3 + x4 =
 x − 2 x − 5x + x =
2;
 1
2
3
4
14. 
1;
5 x1 − 3 x2 + x3 − 4 x3 =
10 x1 + 2 x2 − x3 + 2 x4 =
−4.
2.1;
2.7 x1 + 3.3 x2 + 1.3 x3 =

15. 3.5 x1 − 1.7 x2 + 2.8 x3 =
1.7;
4.1x + 5.8 x − 1.7 x =
0.8.
1
2
3

0.2;
3.1x1 + 2.8 x2 + 1.9 x3 =

16. 1.9 x1 + 3.1x2 + 2.1x3 =
2.1;
7.5 x + 3.8 x + 4.8 x =
5.6.
1
2
3

3.8;
3.6 x1 + 1.8 x2 − 4.7 x3 =

17. 2.7 x1 − 3.6 x2 + 1.9 x3 =
0.4;

−1.6.
1.5 x1 + 4.5 x2 + 3.3 x3 =
3.5;
2.7 x1 + 0.9 x2 − 1.5 x3 =

18. 4.5 x1 − 2.8 x2 + 6.7 x3 =
2.6;

−0.14.
5.1x1 + 3.7 x2 − 1.4 x3 =
5.2;
3.8 x1 + 6.7 x2 − 1.2 x3 =

19. 6.4 x1 + 1.3 x2 − 2.7 x3 =
3.8;
2.4 x − 4.5 x + 3.5 x =
−0.6.
1
2
3

103
23.84;
2.4 x1 + 0.2 x2 − 0.3 x3 − 1.1x4 + 5.86 x5 =
0.3 x + 0.1x + 1.1x + 10.2 x + x =
38.85;
1
2
3
4
5

20. 0.5 x1 − 6.2 x2 + 0.1x3 + 1.5 x4 − 1.2 x5 =
17.23;
0.1x + 2.1x + 5.1x + 0.2 x − 0.3 x =
6.56;
1
2
3
4
5

2.5 x1 + 0.1x2 + 0.2 x3 + 0.3 x4 + 0.4 x5 =
6.63.
6.2.2 Вычисление определителей матриц
Задание
Написать программу вычисления определителя матрицы одним из
следующих методов:
а) методом Гаусса;
б) методом декомпозиции.
Входные данные:
• порядок системы n ;
• матрица системы A .
Выходные данные:
• промежуточные матрицы;
• значение определителя.
Варианты заданий
В качестве вариантов заданий использовать матрицы из пп. 6.2.1.
6.2.3 Вычисление обратной матрицы
Задание
Написать программу вычисления обратной матрицы одним из следующих методов:
а) методом Гаусса;
104
б) методом ортогонализации;
в) методом Халецкого.
Входные данные:
• порядок системы n ;
• матрица системы A .
Выходные данные:
• промежуточные векторы и матрицы;
• обратная матрица;
• невязка.
Варианты заданий
В качестве вариантов заданий использовать матрицы из пп. 6.2.1.
6.3 Приближение функций
Задание
Написать программу интерполяции таблично заданной функции с помощью полиномов Ньютона или Лагранжа.
Входные данные:
• исходная сетка узлов интерполяции;
• значения интерполируемой функции;
• новая сетка узлов, на которой необходимо вычислить значения
функции;
• порядок полинома.
105
Выходные данные:
• новая сетка;
• значения полинома на новой сетке;
• погрешность интерполирования.
Варианты заданий
−
x
2
e ,
1. y =
x ∈ [0,1],
h
h=
0.1; x j =
j ,
2
h
3
2. y =∈
x , x [1, 2], h =
0.1; x j =
1+ j ,
3
j=
0, , 20 .
j=
0, , 30 .
2
h
3. y =
e − ( x −5) , x ∈ [4, 6], h =
0.2; x j =
4+ j ; j =
0, , 20 .
2
y =e − ( x −3) + e − ( x −5) , x ∈ [2, 6], h =0.2;
4.
h
xj =
2+ j , j =
0, , 40.
2
2
2
2
h
5. y =e x , x ∈ [−1,1], h =0.1; x j =−1 + j , j =0, , 40 .
3
h
6. y =
x ln x, x ∈ [1, 2], h =
0.1; x j =
1+ j , j =
0, , 20 .
2
h
1
7. y = 3 , x ∈ [2, 4], h =
0.2; x j =
2+ j , j =
0, , 30 .
1− x
3
8. y =
ln( x − 1), x ∈ [2, 3], h =
0.1; x j =+
2 j
h
j, j =
0, , 20 .
2
h
9. y = x + 1, x ∈ [1, 2], h =
0.1; x j =+
1 j , j=
0, , 20 .
2
π
π
h
10. y= sin 2 x + 1, x ∈ [0, ], h=
; x=j j , =
j 0, , 20 .
2
20
2
π
π
h
11. y =
1 − cos 2 x, x ∈ [0, ], h =
; x j ==
j , j 0, , 20 .
2
20
2
106
h
1
12. y = , x ∈ [1, 51], h =
2; x j =
1+ j , j =
0, , 50.
1 + lg x
2
1
π π
π
π
h
13. y = , x ∈ [ , ], h =; x j =
+ j , j=
0, , 20 .
sin x
3 2
60
3
2
h
14. y =2 ⋅ tgx, x ∈ [0, 0.2π], h =0.02π; x j =j , j =0, , 20 .
2
h
15. y = 3 ⋅ ctgx, x ∈ [0.3π, 0.5π], h = 0.02π; x j = 0.3π + j , j = 0, , 20 .
2
1
y = e x − , xi = 0.2 + 0.5 ⋅ i; i = 0,1,...,10;
x
16.
x j = 0.2 + 0.25 ⋅ j; j = 0,1,...,20
1
1
; xi = − π + 0.1π ⋅ (i + 1); i = 0,1,...,8;
sin x + cos x
4
17.
1
x j = − π + 0.05π ⋅ ( j + 2); j = 0,1,...,16.
4
3
y = sin x + cos x; xi = − π + 0.1π ⋅ i; i = 0,1,...,10;
4
18.
3
x j = − π + 0.05π ⋅ j; j = 0,1,..., 20.
4
=
y sin x; x=
i 0,1,...,10;
0.1π ⋅ i; =
i
y=
19.
=
x j 0.05π ⋅ j;=
j 0,1,..., 20.
π
0.1π ⋅ i − ; =
y cos x; x=
i 0,1,...,10;
=
i
2
20.
π
x j 0.05π ⋅ j − ;=
j 0,1,..., 20.
=
2
6.4 Численное дифференцирование
Задание
Написать программу вычисления первой и второй производной табличной функции с помощью полинома Ньютона или Лагранжа.
107
Входные данные:
 исходная сетка узлов функции;
 значения дифференцируемой функции;
 новая сетка узлов, на которой необходимо вычислить значения
производных функции;
 порядок полинома.
Выходные данные:
 новая сетка;
 значения производных полинома на новой сетке;
 погрешность дифференцирования.
Варианты заданий
В качестве вариантов заданий использовать функции и сетки из п. 6.3.
6.5 Численное интегрирование
Задание
1. Написать программу вычисления интеграла по одной из квадратурных формул: трапеции, Симпсона или прямоугольников с автоматическим
выбором шага интегрирования.
Входные данные:
 начальное количество узлов n0 ;
 сетка узлов (или шаг сетки и границы интервала);
 значения функции либо аналитическая функция;
 относительная точность.
108
Выходные данные:
• значение интеграла;
• конечное количество узлов;
• точность интегрирования.
2. Написать программу вычисления интеграла по формуле Гаусса.
Входные данные:
• порядок формулы;
• границы интервала;
• подынтегральная функция;
• относительная точность.
Выходные данные:
• значение интеграла;
• точность интегрирования.
Варианты заданий
2
dx
1. ∫
, n = 6.
(1
x
)
x
+
0
3
3.
∫
1
1
5.
7.
∫
dx
, n = 4.
x (e x /2 + 3)
x 2 dx
0
x +1
2
x3dx
∫
0
2
x +1
2
, n = 4.
4
2.
dx
∫
1.5
4
4.
∫
2
dx
x x −1
4
6.
∫
0
, n = 4.
1
8.
x ( x − 1)
4
2
xdx
x +1
2
3
, n = 4.
, n = 4.
, n = 4.
∫ ln x ln(1 + x)dx,
0.1
n=
4.
109
0.75
9.
∫
dx
−0.75
1 − x2 1 + x2
, n = 8.
e− x
11. ∫
dx, n = 10.
2
+
x
−1
3
1
13.
∫
0
dx
1+ x
3
, n = 6.
2
0
2
2
17.
∫
1 + x3 dx, n =
6.
0
4
14.
∫
2
2
16.
∫
0
dx
5 + 4x − x
dx
1+ x
4
2
, n = 6.
, n = 6.
2
18.
0
1+ x
19. ∫
dx, n = 6.
2
x
1
2
12. ∫ e − x sin xdx, n = 6.
2
dx
15. ∫ 2
, n = 6.
0 x +4
2
10. ∫ e − x cos xdx, n = 6.
4
x3dx
∫ x 4 + 1, n = 6.
0
2
20.
∫
−1
1 + x 4 dx, n =
6.
110
ОТВЕТЫ И РЕШЕНИЯ К ЗАДАЧАМ
ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ
Решение уравнений с одной переменной
1. Ответ: x = 0.451 .
2. Решение. Максимальное количество итераций в методе перебора
равно количеству подынтервалов, на которые мы разбиваем интервал [a, b]
. Ответ: n =
b−a
.
ε
3. Решение. Критерий завершения итерационного процесса определяb−a
ется формулой ( bn − an ) / 2 < ε . Отсюда получим n ≥ log 2 
 − 1.
 ε 
4. Ответ: x = 0.867 .
5. Ответ: x = 0.567 .
6. Ответ: x = 2.852 .
7. Ответ: x = 0.567 .
8. Ответ: x = 0.448 .
9. Максимальный отрезок золотого сечения равен ∆ 2 =∆ 0 / γ 2 , где
∆ 0 – исходный интервал [a, b] . Через n итераций получим ∆ 2 =∆ 0 / γ 2 n .
Следовательно, если точность поиска корня равна ε , то из неравенства
ln(∆ 0 / ε)
∆0
n
≥
<
ε
получим
.
2ln γ
γ 2n
10. Ответ: x = 2.596 .
11. Решение. Погрешность корня равна
ξ − xn ≤
q
xn − xn−1 .
1− q
111
Разность xn − xn−1 можно представить как
xn − xn−1 ≤ q n−1 x1 − x0 .
Поэтому
n=
q n−1
qn
ξ − xn ≤
q x1 − x0 ≤
b − a ≤ ε . Отсюда следует
1− q
1− q
lg[ε ⋅ (1 − q )] − lg(b − a )
.
lg q
Решение задач линейной алгебры
1. Ответ: x1 =
1; x2 =
1; x3 =
−1; x4 =
−1.
2. Ответ: x1 =
2; x3 =
1.
−3; x2 =
3. Ответ: x1 =
2; x3 =
1.
−3; x2 =
4. Ответ: 1) p + q < 1 (для нормы I,II); 2) p 2 + q 2 < 0.5 (для нормы III).
5. Ответ: 1) p + 2 q < 1 (для нормы I,II); 2) 3 p 2 + 4q 2 < 1 (для нормы III).
6. Ответ: x1 =
1.995; x2 =
−1.006; x3 =
2.995 .
7. Ответ: x1 =
1.998; x2 =
−1.001; x3 =
2.999 .
8. Ответ: det A = −3.
9. Доказательство:
(ai + bi x, ai x + bi , ci ) = (ai , ai x + bi , ci ) + (bi x, ai x + bi , ci ) =
= (ai , ai x, ci ) + (ai , bi , ci ) + (bi x, ai x, ci ) + (bi x, bi , ci ) =
= x(ai , ai , ci ) + (ai , bi , ci ) + x 2 (bi , ai , ci ) + x(bi , bi , ci ) =
= x ⋅ 0 + (ai , bi , ci ) − x 2 (ai , bi , ci ) + x ⋅ 0 = (1 − x 2 )(ai , bi , ci ).
10. Ответ: D = −8.
11. Ответ: D = −10.
 −8 29 −11
 −5 18 −7  .
12. Ответ: A−1 =


 1 −3 1 


112
Приближение функций
n
1. Решение. Для суммы f (n) = ∑ k 3 построим таблицу конечных разk =1
ностей.
n
f ( n)
∆f
∆2 f
∆3 f
∆4 f
1
1
8
19
18
6
2
9
27
37
24
6
3
36
64
61
30
4
100
125
91
5
225
216
6
441
Построим полином максимальной степени (максимальная степень полинома равна 4):
P (n) =1 + 8 ⋅ (n − 1) + 9,5 ⋅ (n − 1)(n − 2) + 3 ⋅ (n − 1)(n − 2)(n − 3) +
+ 0,25 ⋅ (n − 1)(n − 2)(n − 3)(n − 4).
2. P(n) =1 + 9 ⋅ (n − 1) + 8 ⋅ (n − 1)(n − 2) + (4 / 3) ⋅ (n − 1)(n − 2)(n − 3) .
3. Запишем определитель, составленный из системы функций
1, x, x 2 ,..., x n
{ϕi ( x)} =
на сетке { xk } = x0 , x1 ,..., xn из [a, b]
1
x0
x1
x2
1
=
∆ 1
... ...
1 xn
x02 ... x0n
x12 ... x1n
x22 ... =
x2n
... ...
xn2
xnn
∏ ( x − x ).
i >k
i
k
Это определитель Вандермонда. Если все xi попарно различны, то ∆
отличен от нуля. Отсюда следует, что: 1) система функций {ϕi ( x)} линейно
113
не зависима; 2) любой обобщенный полином Pn=
( x)
n
∑c ⋅ x
i =0
i
i
имеет не более
n корней на [a, b] .
Действительно, если бы определитель ∆ был равен нулю, то мы бы
имели линейно зависимые столбцы определителя, что равносильно выполнению равенств
n
c0 ⋅ 1 + c1 ⋅ xk + c2 ⋅ xk2 + ... + cn ⋅ x=
0, =
k 0,1,..., n.
k
А это означает, что мы бы имели n + 1 корней.
6. Для полинома 1-го порядка погрешность равна:
R1 ( x) ≤
=
M2
M2
( x − 1.96)( x − 2.25) ;
2!
f ''( x) =
f ''(1.96) 0.0911;
max =
x∈[1.96,2.25]
R1 (2) ≤ 0.00046.
Для полинома 2-го порядка:
R2 ( x) ≤
=
M3
1
M 3 ( x − 1.69)( x − 1.96)( x − 2.25) ;
3!
max =
f '''( x) =
f '''(1.69) 0.101;
x∈[1.69,2.25]
R2 (2)=
1
0.101 (2 − 1.69)(2 − 1.96)(2 − 2.25)= 0.000052.
6
7. При линейной интерполяции
M2 2
h ⋅ max ( q ⋅ (q − 1) ) ;
2!
f ''( x) sin(
x) 1;
max =
=
R1 ( x) ≤
M2
=
x∈[0,π /2]
h2
R1 (2) =
≤ 0,0001. h =
2,8 ⋅ 10−2.
8
114
При квадратичной интерполяции:
M3 3
h ⋅ max ( q ⋅ (q − 1) ⋅ (q − 2) ) ;
3!
f ′′′( x) cos(
x) 1;
max =
=
R2 ( x) ≤
M3
=
x∈[0,π /2]
qm =0,423; f (qm ) =qm ⋅ (qm − 1) ⋅ (qm − 2) =0,385;
0,385 ⋅ h3
R2 (2) = ≤ 0,0001. h =
1,2 ⋅ 10−1.
6
11. sin x =1.5704(2 x / π) − 0.6427(2 x / π)3 + 0.0724(2 x / π)5 .
12. (1 − x 2 )3/2 ≅
4 16 2 1
64 4
1
− (x − ) +
( x − x2 + ) ;
3π 5π
2 35π
8
2
2
2
5π 1  4   8  1  8  1 
S =−   +   +    .
12 π  3   5  2  35  2 
Численное дифференцирование
3. Скорость V = 37.75 м/с, ускорение w = 21 м/с2.
4. Производная P3′( 0.1) = −0.4756 . Погрешность, вычисленная по фор-
=
муле (4.2) R3′ ( 0.1
) 4.37 ⋅10−4 . Это самая большая возможная погрешность.
Если использовать максимальное значение четвертой производной на
интервале
max | f (4) ( x) |= 0.0625 ,
x
получим
более
точную
оценку
0.1) 2.083 ⋅ 10−5 .
погрешности R3′ (=
Точная разность | f ′(0.1) − P3′(0.1) |=
1.866 ⋅ 10−5 .
Вторая производная P3′′( 0.1) = 0.2372 . Погрешность, вычисленная
=
по формуле (4.5) R3′′( 0.1
) 1.53 ⋅10−2 . Это самая большая возможная
погрешность.
115
Если использовать максимальное значение четвертой производной
max | f (4) ( x) |= 0.0625 , получим более точную оценку
на интервале
x
=
погрешности R3′′( 0.1
) 7.29 ⋅10−4 .
Точная разность | f ′′(0.1) − P3′′(0.1) |=
6.37 ⋅ 10−4 .
5. Производная
L3′ ( 0.1) = −0.4756 .
Погрешность
вычисления
0.1) 2.083 ⋅ 10−5 . Точное значение разности составляет
производной L3′ (=
| f ′(0.1) − L3′ (0.1) |=
1.866 ⋅ 10−5 .
Вторая производная
=
L3′′( 0.1
) 7.29 ⋅10−4 .
L3′′( 0.1) = 0.2372 . Погрешность вычисления
Точное
значение
разности
составляет
| f ′′(0.1) − L3′′(0.1) |=
6.37 ⋅ 10−4 .
6. Производная P3′( 0.1) = −0.201. Погрешность, вычисленная по формуле (4.2) R3′ ( 0.1) = 0.0341 . Это самая большая возможная погрешность.
Если использовать максимальное значение четвертой производной
(4)
на интервале max | f ( x) |= 12 , получим более точную оценку погрешности
x
R3′ ( 0.1) = 0.004 .
Точная разность | f ′(0.1) − P3′(0.1) |=
0.003 .
Вторая производная P3′′( 0.1) = −2.031. Погрешность, вычисленная
по формуле
(4.5)
R3′′( 0.1) = 1.195 .
Это
самая
большая
возможная
погрешность.
Если использовать максимальное значение четвертой производной
(4)
на интервале max | f ( x) |= 12 , получим более точную оценку погрешности
x
R3′′( 0.1) = 0.14 .
Точная разность | f ′′(0.1) − P3′′(0.1) |=
0.0905 .
116
L3′ ( 0.1) = −0.201 .
7. Производная
производной
Погрешность
вычисления
L3′ ( 0.1) = 0.004 . Точное значение разности составляет
| f ′(0.1) − L3′ (0.1) |=
0.003 .
Вторая производная
L3′′( 0.1) = 0.14 .
L3′′( 0.1) = −2.031 . Погрешность вычисления
Точное
значение
разности
| f ′′(0.1) − L3′′(0.1) |=
0.0905 .
Численное интегрирование
5. I 0.69315 ± 0.00001.
=
6. I 0.693 ± 0.002 .
=
7. I 0.6928 ± 0.0008 .
=
8. I 0.693147 ± 0.000001 .
=
9. I 0.392799 ± 0.000007 .
=
10. I 0.3925 ± 0.0008 .
=
11. I 0.3928 ± 0.0004 .
=
12. I 0.3926991 ± 0.0000007 .
=
составляет
117
ЛИТЕРАТУРА
1. Бахвалов, Н. С. Численные методы : учеб. пособие для вузов /
Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. – М. : БИНОМ. Лаборатория
знаний, 2011. – 637 с.
2. Мицель, А. А. Вычислительные методы : учеб. пособие / А. А. Мицель. – Томск : В-Спектр, 2010. – 264 с.
3. Мицель, А. А. Практикум по численным методам / А. А. Мицель. –
Томск : ТУСУР, 2004. – 196 с.
4. Копченова, Н. В. Вычислительная математика в примерах и задачах : учеб. пособие [Электронный ресурс] / Н. В. Копченова, И. А. Марон. –
СПб. :
Лань,
2009.
–
368
с.
–
Режим
доступа:
http://e.lanbook.com/view/book/198/ (дата обращения: 04.05.2018).
5. Романенко, В. В. Вычислительная математика. Лабораторные работы / В. В. Романенко. – Томск : ТУСУР, 2006. – 114 с.
6. Самарский, А. А. Задачи и упражнения по численным методам /
А. А. Самарский, П. Н. Вабишевич, Е. А. Самарская. – М. : Эдиториал
УРСС, 2009. – 208 с.
7. Образовательный стандарт вуза ОС ТУСУР 01–2013. Работы студенческие по направлениям подготовки и специальностям технического профиля. Общие требования и правила оформления [Электронный ресурс] /
А. А. Чернышев. – Томск : ТУСУР, 2013. – 57 с. – Режим доступа:
https://regulations.tusur.ru/documents/70 (дата обращения: 06.05.2019).
118
ПРИЛОЖЕНИЕ А
(справочное)
Шаблон титульного листа и оглавления отчета
по контрольной и лабораторным работам
Министерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ
(ТУСУР)
Кафедра _______________________ (_____)
Отчет по контрольной (лабораторной) работе № __
по дисциплине
«_______________________________________»
Выполнил: ст. гр. _____
________________Фамилия И. О.
«_____» ________ 20__ г.
Проверил: к.т.н., доц. каф. АСУ
________ Романенко В. В.
«_____» ________ 20__ г.
Томск – 20__
119
Оглавление
1 Решение уравнений с одной переменной ...................................................... 3
1.1 Задание ....................................................................................................... 3
1.2 Теоретический материал .......................................................................... 3
1.3 Алгоритм решения .................................................................................... 5
1.4 Результаты работы программы ................................................................ 6
2 Решение задач линейной алгебры .................................................................. 7
2.1 Задание ....................................................................................................... 7
2.2 Теоретический материал .......................................................................... 8
2.3 Алгоритм решения .................................................................................. 10
2.4 Результаты работы программы .............................................................. 11
(и так далее для всех решаемых задач)
Выводы ............................................................................................................... 40
Список использованных источников .............................................................. 41
Приложение А (обязательное) Листинги программ ...................................... 42
Скачать