n |
0 1 2 3 4 5 6 |
|
an |
1.0000 1.0000 1.0000 1.1250 1.1250 1.1406 1.1406 |
|
bn |
2.0000 1.5000 1.2500 1.2500 1.1875 1.1875 1.1562 |
|
xn |
1.5000 1.2500 1.1250 1.1875 1.1406 1.1562 1.1484 |
|
Зн f(an) |
- - - - - - - |
|
Зн f(bn) |
+ + + + + + + |
|
f(xn) |
5.5938 0.7585 -0.2959 0.1812 -0.0691 0.0532 -0.0078 |
|
bn - an |
1.0000 0.5000 0. 2500 0.1250 0.0625 0.0312 0.0156 |
|
x = (x). (2.4)
Например, уравнение - 0.5 = 0 можно заменить эквивалентным ему уравнением x = 0.5sinx.
Выберем каким-либо образом начальное приближение x0. Вычислим значение функции (x) при x = x0 и найдем уточненное значение x1 = (x0). Подставим теперь x1 в уравнение (2.4) и получим новое приближение x2 = (x1) и т. д. Продолжая этот процесс неограниченно, получим последовательность приближений к корню:
xn+1 = (xn). (2.5)
Формула (2.5) является расчетной формулой метода простых итераций.
Если последовательность {xn} сходится при n, т. е. существует
x* = xn , (2.6)
и функция (x) непрерывна, то, переходя к пределу в (2.5) и учитывая (2.6), получим:
x* = xn = (x n -1) = (xn -1) = (x*).
Таким образом, x* = (x*), следовательно, x* - корень уравнения (2.4).
Сходимость метода. Сходимость метода простых итераций устанавливает следующая теорема.
Теорема 2.2. Если в интервале, содержащем корень x* уравнения (2.4), а также его последовательные приближения x0, x1, …, xn, …, вычисляемые по формуле (2.5), выполнено условие:
|(x)| q < 1, (2.7)
то x* = xn.
т. е. итерационный процесс сходится и справедлива следующая оценка погрешности:
|xn - x*| qn|x0 - x*| (2.8)
Оценка (2.8) является априорной. Она показывает, что метод простой итерации сходится со скоростью геометрической прогрессии с знаменателем q. Чем меньше q, тем выше скорость сходимости.
Как следует из теоремы 2.2, условие (2.7) является достаточным для сходимости метода простых итераций. Его выполнение гарантирует сходимость процесса (2.5), но невыполнение условия (2.7), вообще говоря, не означает, что итерационный процесс будет расходиться.
На рис. 2.3 - 2.6 показаны четыре случая взаимного расположения линий y = x и y = (x) и соответствующие итерационные процессы.
Рис. 2.3 и 2.4 соответствуют случаю |(x)| < 1, и итерационный процесс сходится. При этом, если (x) > 0 (рис. 2.3), сходимость носит односторонний характер, а если (x) < 0 (рис. 2.4), сходимость носит двусторонний, колебательный характер. Рис. 2.5 и 2.6 соответствуют случаю |(x)| > 1 - итерационный процесс расходится. При этом может быть односторонняя (рис. 2.5) и двусторонняя (рис 2.6) расходимость.
Рис. 2.3 Рис. 2.4 Рис. 2.5
Рис. 2.6
Погрешность метода. Если известна величина q в условии (2.7), то применима следующая апостериорная оценка погрешности:
|xn - x*| |xn - xn - 1|, n > 1. (2.9)
Критерий окончания. Из оценки (2.9) вытекает следующий критерий окончания итерационного процесса. Вычисления следует продолжать до выполнения неравенства
|xn - xn - 1| < .
Если это условие выполнено, то можно считать, что xn является приближением к x* с точностью .
Если q 0.5, то можно пользоваться более простым критерием окончания:
|xn - xn - 1| < . (2.10)
Пример 2.2.
Используем метод простой итерации для решения уравнения f(x) = sin x - x2 = 0 с точностью = 0.001.
Преобразуем уравнение к виду (2.4):
x = , т. е. (x)= .
Нетрудно убедиться, что корень уравнения находится на отрезке [/6, /3]. Например, вычислив значения f(x) на концах отрезка, получим: f(/6)> 0, а f(/3)< 0, т. е. функция на концах отрезка имеет разные знаки, что в соответствии с теоремой 2.1 указывает на то, что внутри отрезка есть корень. Расположение корня наглядно иллюстрирует рис.2.7.
Рис. 2.7
Подсчитаем, первую и вторую производные функции (x):
(x) = , "(x) = .
Так как "(x) > 0 на отрезке [/6, /3], то производная (x) монотонно возрастает на этом отрезке и принимает максимальное значение на правом конце отрезка, т. е. в точке /3. Поэтому, справедлива оценка:
| (x)| | (/3)| 0.312.
Таким образом, условие (2.7) выполнено, q < 0.5, и можно воспользоваться критерием окончания вычислений в виде (2.10). В табл. 2.2 приведены приближения, полученные по расчетной формуле (2.5). В качестве начального приближения выбрано значение x0 = 1.
Таблица 2.2
n |
xn |
|
0 1 2 3 4 5 |
1 0.8415 0.8861 0.8742 0.8774 0.8765 |
|
Критерий окончания выполняется при n = 5, |x5 - x4| < 0.001. Сходимость двусторонняя, качественный характер такой сходимости представлен на рис. 2.4. Приближенное значение корня с требуемой точностью x* 0.8765.
2.5 Метод Ньютона (метод касательных)
Метод Ньютона является наиболее эффективным методом решения нелинейных уравнений.
Пусть корень x* [a, b], так, что f(a)f(b) < 0. Предполагаем, что функция f(x) непрерывна на отрезке [a, b] и дважды непрерывно дифференцируема на интервале (a, b). Положим x0 = b. Проведем касательную к графику функции y = f(x) в точке B0 = (x0, f(x0)) (рис. 2.8).
Рис. 2.8
Уравнение касательной будет иметь вид:
y - f(x0) = f (x0)(x - x0). (2.11)
Первое пересечение получим, взяв абсциссу точки пересечения этой касательной с осью OX, т. е. положив в (2.11) y = 0, x = x1:
x1 = x0 - . (2.12)
Аналогично поступим с точкой B1(x1, f(x1)), затем с точкой B2(x2, f(x2)), и т. д. в результате получим последовательность приближений x1, x2, …, xn , …,причем
xn +1 = xn - . (2.13)
Формула (2.13) является расчетной формулой метода Ньютона.
Метод Ньютона можно рассматривать как частный случай метода простых итераций, для которого
(x) = x - . (2.14)
Сходимость метода. Сходимость метода Ньютона устанавливает следующая теорема.
Теорема 2.3. Пусть x* - простой корень уравнения f(x) = 0, и в некоторой окрестности этого корня функция f дважды непрерывно дифференцируема. Тогда найдется такая малая -окрестность корня x*, что при произвольном выборе начального приближения x0 из этой окрестности итерационная последовательность, определенная по формуле (2.13) не выходит за пределы этой окрестности и справедлива оценка:
|xn + 1 - x*| C |xn - x*|2, n 0, (2.15)
где С = -1. Оценка (2.15) означает, что метод сходится с квадратичной скоростью.
Сходимость метода Ньютона зависит от того, насколько близко к корню выбрано начальное приближение. Неудачный выбор начального приближения может дать расходящуюся последовательность. Полезно иметь в виду следующее достаточное условие сходимости метода. Пусть [a, b] - отрезок, содержащий корень. Если в качестве начального приближения x0 выбрать тот из концов отрезка, для которого
f(x)f"(x) 0, (2.16)
то итерации (2.13) сходятся, причем монотонно. Рис. 2.8 соответствует случаю, когда в качестве начального приближения был выбран правый конец отрезка: x0 = b.
Погрешность метода. Оценка (2.15) является априорной и неудобна для практического использования. На практике удобно пользоваться следующей апостериорной оценкой погрешности:
|xn - x*| |xn - xn - 1|. (2.17)
Критерий окончания. Оценка (2.17) позволяет сформулировать следующий критерий окончания итераций метода Ньютона. При заданной точности > 0 вычисления нужно вести до тех пор, пока не будет выполнено неравенство
|xn - xn - 1| < . (2.18)
Пример 2.3.
Применим метод Ньютона для вычисления . где a > 0, p - натуральное число. Вычисление эквивалентно решению уравнения xp = a. Таким образом, нужно найти корень уравнения f(x) = 0, f(x) = xp - a, f (x) = pxp - 1. Итерационная формула метода (2.13) примет вид:
xn +1 = xn - = xn + . (2.19)
Используя формулу (2.19), найдем с точностью = 10-3.
xn +1 = xn + .
Простой корень уравнения x3 - 7 = 0 расположен на отрезке [1, 2]. Действительно, на концах отрезка [1, 2] функция f(x) = x3 - 7 принимает разные знаки, f (1) < 0, f (2) > 0. Кроме того, при x = 2 выполнено достаточное условие сходимости (2.16): f (2)f" (2) 0.
Поэтому в качестве начального приближения можно взять x0 = 2.
Результаты приведены в табл. 2.3.
Таблица 2.3
n |
xn |
|
0 1 2 3 4 5 |
2 0.8415 0.8861 0.8742 0.8774 0.8765 |
|
2.6 Метод секущих (метод хорд)
В этом и следующем разделе рассмотрим модификации метода Ньютона.
Как видно из формулы (2.13), метод Ньютона требует для своей реализации вычисления производной, что ограничивает его применение. Метод секущих лишен этого недостатка. Если производную заменить ее приближением:
f (xn) ,
то вместо формулы (2.13) получим
xn +1 = xn -. . (2.20)
Это означает, что касательные заменены секущими. Метод секущих является двухшаговым методом, для вычисления приближения xn +1 необходимо вычислить два предыдущих приближения xn и xn - 1 , и, в частности, на первой итерации надо знать два начальных значения x0 и x1.
Формула (2.20) является расчетной формулой метода секущих. На рис. 2.9 приведена геометрическая иллюстрация метода секущих.
Рис. 2.9
Очередное приближение xn +1 получается как точка пересечения с осью OX секущей, соединяющей точки графика функции f(x) с координатами (xn -1, f(xn - 1)) и (xn , f(xn)).
Сходимость метода. Сходимость метода секущих устанавливает следующая теорема.
Теорема 2.4 Пусть x* - простой корень уравнения f(x) = 0, и в некоторой окрестности этого корня функция f дважды непрерывно дифференцируема, причем f"(x) 0. Тогда найдется такая малая -окрестность корня x*, что при произвольном выборе начальных приближений x0 и x1 из этой окрестности итерационная последовательность, определенная по формуле (2.20) сходится и справедлива оценка:
|xn + 1 - x*| C |xn - x*| p, n 0, p = 1.618. (2.21)
Сравнение оценок (2.15) и (2.21) показывает, что p < 2, и метод секущих сходится медленнее, чем метод Ньютона. Но в методе Ньютона на каждой итерации надо вычислять и функцию, и производную, а в методе секущих - только функцию. Поэтому при одинаковом объеме вычислений в методе секущих можно сделать примерно вдвое больше итераций и получить более высокую точность.
Так же, как и метод Ньютона, при неудачном выборе начальных приближений (вдали от корня) метод секущих может расходиться. Кроме того применение метода секущих осложняется из-за того, что в знаменатель расчетной формулы метода (2.20) входит разность значений функции. Вблизи корня эта разность мала, и метод теряет устойчивость.
Критерий окончания. Критерий окончания итераций метода секущих такой же, как и для метода Ньютона. При заданной точности > 0 вычисления нужно вести до тех пор, пока не будет выполнено неравенство
|xn - xn - 1| < . (2.22)
Пример 2.4.
Применим метод секущих для вычисления положительного корня уравнения 4(1 - x2) - ex = 0 с точностью = 10-3.
Корень этого уравнения находится на отрезке [0, 1], так как f (0) = 3 > 0, а f (1) = -e < 0. Подсчитаем вторую производную функции: f "(x) = -8 - ex. Условие f(x)f " (x) 0 выполняется для точки b = 1. В качестве начального приближения возьмем x0 = b = 1. В качестве второго начального значения возьмем x1 = 0.5. Проведем вычисления по расчетной формуле (2.20). Результаты приведены в табл. 2.4.
Таблица 2.4
n |
xn |
|
0 1 2 3 4 5 |
1.0000 0.5000 0.6660 0.7093 0.7033 0.7034 |
|
2.7 Метод ложного положения
Рассмотрим еще одну модификацию метода Ньютона.
Пусть известно, что простой корень x* уравнения f(x) = 0 находится на отрезке [a, b] и на одном из концов отрезка выполняется условие f(x)f"(x) 0. Возьмем эту точку в качестве начального приближения. Пусть для определенности это будет b. Положим x0 = a. Будем проводить из точки B = (b, f(b)) прямые через расположенные на графике функции точки Bn с координатами (xn, f(xn), n = 0, 1, … . Абсцисса точки пересечения такой прямой с осью OX есть очередное приближение xn+1.
Геометрическая иллюстрация метода приведена на рис. 2.10.
Рис. 2.10
Прямые на этом рисунке заменяют касательные в методе Ньютона (рис. 2.8). Эта замена основана на приближенном равенстве
f (xn) . (2.23)
Заменим в расчетной формуле Ньютона (2.13) производную f (xn) правой частью приближенного равенства (2.23). В результате получим расчетную формулу метода ложного положения:
xn +1 = xn -.. (2.24)
Метод ложного положения обладает только линейной сходимостью. Сходимость тем выше, чем меньше отрезок [a, b].
Критерий окончания. Критерий окончания итераций метода ложного положения такой же, как и для метода Ньютона. При заданной точности > 0 вычисления нужно вести до тех пор, пока не будет выполнено неравенство
|xn - xn - 1| < . (2.25)
Пример 2.5.
Применим метод ложного положения для вычисления корня уравнения x3 + 2x - 11 = 0 с точностью = 10-3.
Корень этого уравнения находится на отрезке [1, 2], так как f (1) = -8 < 0, а f (2) = 1 > 0. Для ускорения сходимости возьмем более узкий отрезок [1.9, 2], поскольку f (1.9) < 0, а f (2) > 0. Вторая производная функции f (x) = x3 + 2x - 11 равна 6x. Условие f(x)f"(x) 0 выполняется для точки b = 2. В качестве начального приближения возьмем x0 = a = 1.9. По формуле (2.24) имеем
x1 = x0 -. = 1.9 + 1.9254.
Продолжая итерационный процесс, получим результаты, приведенные в табл. 2.5.
Таблица 2.5
n |
xn |
|
0 1 2 3 |
1.9 1.9254 1.9263 1.9263 |
|
Тема 3. Решение систем линейных алгебраических уравнений
3.1 Постановка задачи
Требуется найти решение системы линейных уравнений:
a11x1 + a12 x2 + a13x3 + … + a1nx
n = b1
a21x1 + a22 x2 + a23x3 + … +
a2nxn = b2
a31x1 + a32 x2 + a33x3 + … +
a3nxn = b3 (3.1)
.
an1x1 + an2 x2 + an3x3 + …
+ annxn = bn
или в матричной форме:
Ax = b, (3.2)
где
a11 a12 a13 … a1n x1 b1
a21 a22 a23 … a2n x2 b2
A = a31 a32 a33 … a3n x =x3 ,
b =b3
an1 an2 an3 ann xn
bn
По правилу Крамера система n линейных уравнений имеет единственное решение, если определитель системы отличен от нуля (det A 0) и значение каждого из неизвестных определяется
следующим образом:
xj = , j = 1, …, n, (3.3)
где det Aj - определитель матрицы, получаемой заменой j-го столбца матрицы A столбцом правых частей b.
Непосредственный расчет определителей для больших n является очень трудоемким по сравнению с вычислительными методами.
Известные в настоящее время многочисленные приближенные методы решения систем линейных алгебраических уравнений распадаются на две большие группы: прямые методы и методы итераций.
Прямые методы всегда гарантируют получение решения, если оно существуют, однако, для больших n требуется большое количество операций, и возникает опасность накопления погрешностей.
Этого недостатка лишены итерационные методы, но зато они не всегда сходятся и могут применяться лишь для систем определенных классов.
Среди прямых методов наиболее распространенным является метод исключения Гаусса и его модификации, Наиболее распространенными итерационными методами является метод простых итераций Якоби и метод
Зейделя.
Эти методы будут рассмотрены в следующих разделах.
3.2 Метод исключения Гаусса. Схема единственного деления
Основная идея метода исключений Гаусса состоит в том, что система уравнений (3.1) приводится к эквивалентной ей системе с верхней треугольной матрицей (прямой ход исключений), а затем
неизвестные вычисляются последовательной подстановкой (обратный ход исключений).
Рассмотрим сначала простейший метод исключения Гаусса, называемый схемой единственного деления.
Прямой ход состоит из n - 1 шагов. На первом шаге исключается переменная x1 из всех уравнений, кроме первого. Для этого нужно из второго, третьего, …, n-го уравнений
вычесть первое, умноженное на величину
m = , i = 2, 3, …, n. (3.4)
При этом коэффициенты при x1 обратятся в нуль во всех уравнениях, кроме первого.
Введем обозначения:
a = aij - ma1j , b= bi - mb1. (3.5)
Легко убедиться, что для всех уравнений, начиная со второго, a= 0, i = 2, 3, …, n. Преобразованная система запишется в виде:
a11x1 + a12 x2 + a13x3 + … +
a1nxn = b1
ax2 + ax3 + … + axn = b
a x2 + ax3 + … + axn = b (3.6)
ax2 + ax3 + … + axn = b
Все уравнения (3.6), кроме первого, образуют систему (n - 1)-го порядка. Применяя к ней ту же процедуру, мы можем исключить из третьего, четвертого, …, n-го уравнений переменную
x2. Точно так же исключаем переменную x3 из последних n - 3 уравнений.
На некотором k-ом шаге в предположении, что главный элемент k-ого шага a0, переменная xk исключается с помощью формул:
m = ,
a = a - ma ,
b= b - mb, i, j = k + 1, k + 2, …, n. (3.7)
Индекс k принимает значения 1, 2, …, n - 1.
При k = n - 1 получим треугольную систему:
a11x1 + a12 x2 + a13x3 + … +
a1nxn = b1
ax2 + ax3 + …+ axn = b
ax3 + …+ axn = b (3.8)
axn = b
с треугольной матрицей An.
Приведение системы (3.1) к треугольному виду (3.8) составляет прямой ход метода Гаусса.
При использовании метода Гаусса нет необходимости в предварительном обосновании существования и единственности решения (т. е. доказательства, что det A 0). Если на k-ом шаге
все элементы a (i = k, k + 1, …, n) окажутся равными нулю, то система (3.1) не имеет единственного решения.
Обратный ход состоит в вычислении переменных. Из последнего уравнения (3.8) определяем xn... Подставляя его в предпоследнее уравнение, находим
xn-1, и т. д. Общие формулы имеют вид:
xn = ,
xk = (b- a xk+1 - a xk+2 - … - a xn), k = n
- 1, n - 2, …, 1 (3.9)
Трудоемкость метода. Для реализации метода исключения Гаусса требуется примерно 2/3n3 операций для прямого хода и n2 операций для обратного хода. Таким
образом, общее количество операций составляет примерно 2/3n3 + n2.
Пример 3.1.
Применим метод исключения Гаусса по схеме единственного деления для решения системы уравнений:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
0.4x1 + 0.5x2 + 4.0x3 - 8.5x4 = 21.9
0.3x1 - 1.0x2 + 1.0x3 + 5.2x4 = - 3.9 (3.10)
1.0x1 + 0.2x2 + 2.5x3 - 1.0x4 = 9.9
Будем делать округление чисел до четырех знаков после десятичной точки.
Прямой ход. 1-ый шаг. Вычислим множители:
m = = = 0.2; m = = = 0.15; m = = = 0.5.
Вычитая из второго, третьего и четвертого уравнений системы (3.10) первое уравнение, умноженное соответственно на m, m, m, получим новую систему:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
0.3x2 + 4.02x3 - 8.70x4 = 21.36
-1.15x2 + 1.015x3 + 5.05x4 = - 4.305 (3. 11)
- 0.30x2 + 2.55x3 - 1.50x4 = 8.55
2-ой шаг. Вычислим множители:
m = = = - 3.83333; m = = = -1.0.
Вычитая из третьего и четвертого уравнений системы (3.11) второе уравнение, умноженное соответственно на m и m, приходим к системе:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
0.3x2 + 4.02x3 - 8.70x4 = 21.36
16. 425x3 - 28.300x4 = 77.575 (3.12)
6.570x3 - 10.200x4 = 29.910
3-ий шаг. Вычислим множитель:
m = = = 0.4.
Вычитая из четвертого уравнения системы (3.12) третье, умноженное на m, приведем систему к треугольному виду:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
0.3x2 + 4.02x3 - 8.70x4 = 21.36
16. 425x3 - 28.300x4 = 77.575 (3.13)
1.12x4 = -1.12
Обратный ход. Из последнего уравнения системы (3.13) находим x4 = 1.000. Подставляя значение x4 в третье уравнение, получим x3 =
2.000. Подставляя найденные значения x4 и x3 во второе уравнение, найдем x2 = 3.000. Наконец, из первого уравнения, подставив в него найденные
значения x4, x3 и x2, вычислим x1 = -1.000.
Итак система (3.10) имеет следующее решение:
x1 = 1.000, x2 = 2.000, x3 = 3.000, x4 = - 1.000.
3.3 Метод исключения Гаусса с выбором главного элемента по столбцу
Хотя метод Гаусса является точным методом, ошибки округления могут привести к существенным погрешностям результата. Кроме того исключение по формулам (3.7) нельзя проводить, если элемент главной
диагонали a равен нулю. Если элемент a мал, то велики ошибки округления при делении на этот элемент. Для уменьшения ошибок округления применяют метод исключения
Гаусса с выбором главного элемента по столбцу. Прямой ход так же, как и для схемы единственного деления, состоит из n - 1 шагов. На первом шаге прежде, чем исключать переменную
x1, уравнения переставляются так, чтобы в левом верхнем углу был наибольший по модулю коэффициент ai1, i = 1, 2, …, n. В
дальнейшем, на k-м шаге, прежде, чем исключать переменную xk, уравнения переставляются так, чтобы в левом верхнем углу был наибольший по модулю коэффициент
aik, i = k, k + 1, …, n. После этой перестановки исключение переменной xk производят, как в схеме единственного деления.
Трудоемкость метода. Дополнительные действия по выбору главных элементов требуют примерно n2 операций, что практически не влияет на общую трудоемкость метода.
Пример 3.2.
Применим метод исключения Гаусса с выбором главного элемента по столбцу для решения системы уравнений (3.10) из примера 3.1. Прямой ход. 1-ый шаг. Так как коэффициент a11 =
2.0 наибольший из коэффициентов первого столбца, перестановки строк не требуется и 1-ый шаг полностью совпадает с 1-ым шагом примера 3.1. Из второго, третьего и четвертого уравнений исключается
переменная x1 и система приводится к виду (3.11).
2-ой шаг. Наибольший по модулю коэффициент при x2 в системе (3.11) a = -1.15. Поэтому переставим уравнения следующим образом:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
-1.15x2 + 1.015x3 + 5.05x4 = - 4.305 (3.14)
0.3x2 + 4.02x3 - 8.70x4 = 21.36
- 0.30x2 + 2.55x3 - 1.50x4 = 8.55
Вычислим множители:
m = = = -0.26087 m = = = 0.26087.
Вычитая из третьего и четвертого уравнений системы (3.14) второе уравнение, умноженное соответственно на m и m, приходим к системе:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
-1.15x2 + 1.015x3 + 5.05x4 = - 4.305 (3.15)
4.28478x3 - 7.38261x4 = 20.23696
2.28522x3 - 2.81739x4 = 9.67305
3-ий шаг. Вычислим множитель:
m = = = 0.53333.
Вычитая из четвертого уравнения системы (3.15) третье, умноженное на m, приведем систему к треугольному виду:
2.0x1 + 1.0x2 - 0.1x3 + 1.0x4 = 2.7
-1.15x2 + 1.015x3 + 5.05x4 = - 4.305 (3.16)
4.28478x3 - 7.38261x4 = 20.23696
1.11998x4 = -1.11998
Обратный ход. Обратный ход полностью совпадает с обратным ходом примера 3.1. Решение системы имеет вид:
x1 = 1.000, x2 = 2.000, x3 = 3.000, x4 = - 1.000.
3.4 Вычисление определителя методом исключения Гаусса
Из курса линейной алгебры известно, что определитель треугольной матрицы равен произведению диагональных элементов. В результате метода исключений Гаусса система линейных уравнений (3.2) с
квадратной матрицей A приводится к эквивалентной ей системе (3.8) с треугольной матрицей An. Поэтому
det A = (-1)s det An,
где s - число перестановок строк, (s = 0, если использовался метод Гаусса по схеме единственного деления).Таким образом,
det A = (-1)s a11 aa …a (3.17)
Итак, для вычисления определителя det A необходимо выполнить процедуру прямого хода в методе Гаусса для системы уравнений Ax = 0, затем найти произведение главных
элементов, стоящих на диагонали треугольной матрицы и умножить это произведение на (-1)s, где s - число перестановок строк.
Пример 3.3.
Вычислим определитель det A =
2.0 1.0 0.1 1.0
0.4 0.5 4.0 8.5
0.3 1.0 1.0 5.2
1.0 0.2 2.5 1.0
Данный определитель совпадает с определителем системы, рассмотренной в примере 3.1. Он равен произведению диагональных элементов треугольной матрицы (3.13):
det A = 2.0 0.30 16.425 1.12 = 11.0376.
Если же обратиться к примеру 3.2, то, учитывая, что была одна перестановка строк, т.е. s = 1, получим:
det A = (-1) 2.0 (-1.15) 4.28478 1.11998 = 11.0375.
3.5 Вычисление обратной матрицы методом исключения Гаусса
Обратной матрицей к матрице A называется матрица A-1, для которой выполнено соотношение:
A A-1 = E, (3.18)
где E - единичная матрица:
1 0 0 … 0
0 1 0 … 0
E = 0 0 1 … 0 . (3.19)
0 0 0 … 1
Квадратная матрица A называется невырожденной, если det A 0. Всякая невырожденная матрица имеет обратную матрицу.
Вычисление обратной матрицы можно свести к рассмотренной выше задаче решения системы уравнений.
Пусть A - квадратная невырожденная матрица порядка n:
a11 a12 a13 … a1n
a21 a22 a23 … a2n
A = a31 a32 a33 … a3n
an1 an2 an3 … ann
и A-1 - ее обратная матрица:
x11 x12 x13 … x1n
x21 x22 x23 … x2n
A-1 = x31 x32 x33 … x3n
xn1 xn2 xn3 … xnn
Используя соотношения (3.18), (3. 19) и правило умножения матриц, получим систему из n2 уравнений с n2 переменными xij, i, j = 1,
2, …, n. Чтобы получить первый столбец матрицы E, нужно почленно умножить каждую строку матрицы A на первый столбец матрицы A-1 и
приравнять полученное произведение соответствующему элементу первого столбца матрицы E. В результате получим систему уравнений:
a11x11 + a12 x21 + a13x31 + … +
a1nxn1 = 1
a21x11 + a22 x21 + a23x31 + … +
a2nxn1 = 0
a31x11 + a32 x21 + a33x31 + … +
a3nxn1 = 0 (3.20)
an1x11 + an2 x21 + an3x31 +
… + annxn1 = 0
Аналогично, чтобы получить второй столбец матрицы E, нужно почленно умножить каждую строку матрицы A на второй столбец матрицы A-1 и приравнять
полученное произведение соответствующему элементу второго столбца матрицы E. В результате получим систему уравнений:
a11x12 + a12 x22 + a13x32 + … +
a1nxn2 = 0
a21x12 + a22 x22 + a23x32 + … +
a2nxn2 = 1
a31x12 + a32 x22 + a33x32 + … +
a3nxn2 = 0 (3.21)
an1x12 + an2 x22 + an3x32 +
… + annxn2 = 0
и т. д.
Всего таким образом получим n систем по n уравнений в каждой системе, причем все эти системы имеют одну и ту же матрицу A и отличаются только свободными членами.
Приведение матрицы A к треугольной по формулам (3.7) делается при этом только один раз. Затем по последней из формул (3.7) преобразуются все правые части, и для каждой правой части
делается обратный ход.
Пример 3.4.
Вычислим обратную матрицу A-1 для матрицы
A = 1.8 -3.8 0.7 -3.7
0.7 2.1 -2.6 -2.8
7.3 8.1 1.7 -4.9
1.9 -4.3 -4.3 -4.7
По формулам (3.7) за три шага прямого хода преобразуем матрицу A в треугольную матрицу
1.8 -3.8 0.7 -3.7
0 3.57778 -2.87222 -1.36111
0 0 17.73577 19.04992
0 0 0 5.40155
Далее, применим процедуру обратного хода четыре раза для столбцов свободных членов, преобразованных по формулам (3.7) из столбцов единичной матрицы:
1 0 0 0
0 1 0 0
0 , 0 , 1 , 0
0 0 0 1
Каждый раз будем получать столбцы матрицы A-1. Опустив промежуточные вычисления, приведем окончательный вид матрицы A-1:
-0.21121 -0.46003 0.16248 0.26956
-0.03533 0.16873 0.01573 -0.08920
0.23030 0.04607 -0.00944 -0.19885 .
-0.29316 -0.38837 0.06128 0.18513
3.6 Метод простой итерации Якоби
Метод Гаусса обладает довольно сложной вычислительной схемой. Кроме того, при вычислениях накапливается ошибка округления, что может привести к недостаточно точному результату. Рассмотрим метод
простой итерации Якоби, свободный от этих недостатков, хотя требующий приведения исходной системы уравнений к специальному виду.
Для того, чтобы применить метод простой итерации, необходимо систему уравнений
Ax = b (3.22)
с квадратной невырожденной матрицей A привести к виду
x = Bx + c, (3.23)
где B - квадратная невырожденная матрица с элементами bij, i, j = 1, 2, …, n, x - вектор-столбец неизвестных xi,
c - вектор-столбец с элементами ci, i = 1, 2, …, n.
Существуют различные способы приведения системы (3.22) к виду (3.23). Рассмотрим самый простой. Представим систему (3.22) в развернутом виде:
a11x1 + a12 x2 + a13x3 + … +
a1nxn = b1
a21x1 + a22 x2 + a23x3 + … +
a2nxn = b2
a31x1 + a32 x2 + a33x3 + … +
a3nxn = b3 (3.24)
an1x1 + an2 x2 + an3x3 + …
+ annxn = bn
Из первого уравнения системы (3.24) выразим неизвестную x1:
x1 = a(b1 - a12x2 - a13x3 - … -
a1nxn),
из второго уравнения - неизвестную x2:
x2 = a(b2 - a21x1 - a23x3 - … -
a2nxn),
и т. д. В результате получим систему:
x1 = b12 x2 + b13x3 + … +
b1,n-1xn-1 + b1nxn + c1
x2 = b21x1 + b23x3 + … +
b2,n-1xn-1 + b2nxn + c2
x3 = b31x1 + b32 x2+ … +
b3,n-1xn-1 + b3nxn + c3 (3.25)
.
xn= bn1x1 + bn2 x2 +
bn3x3 + bn,n-1xn-1 + cn
Матричная запись системы (3.25) имеет вид (3.23). На главной диагонали матрицы B находятся нулевые элементы, а остальные элементы вычисляются по формулам:
bij = , ci = , i, j = 1,2, …n, i j. (3.26)
Очевидно, что диагональные элементы матрицы A должны быть отличны от нуля.
Выберем произвольно начальное приближение Обычно в качестве первого приближения берут x= ci или x= 0. Подставим начальное приближение в правую
часть (3.25). Вычисляя левые части, получим значения x, x, …, x. Продолжая этот процесс дальше, получим последовательность приближений, причем (k + 1)-е
приближение строится следующим образом:
x = b12 x + b13 x + … + b1,n-1 x + b1n x +
c1
x = b21 x1 + b23 x + … + b2,n-1 x + b2n
x + c2
x= b31 x + b32 x + … + b3,n-1 x + b3n x +
c3 … (3.27)
x= bn1x + bn2 x + bn3 x +
bn,n-1 x + c.n
Система (3.27) представляет собой расчетные формулы метода простой итерации Якоби.
Сходимость метода простой итерации. Известно следующее достаточное условие сходимости метода простой итерации Якоби.
Если элементы матрицы A удовлетворяют условию:
|aii| > , i = 1, 2, …, n. (3.28)
то итерационная последовательность xk сходится к точному решению x*.
Условие (3.28) называют условием преобладания диагональных элементов матрицы A, так как оно означает, что модуль диагонального элемента i-ой строки больше суммы модулей
остальных элементов этой строки, i = 1, 2, …, n.
Необходимо помнить, что условие сходимости (3.28) является лишь достаточным. Его выполнение гарантирует сходимость метода простых итераций, но его невыполнение, вообще говоря, не означает, что
метод расходится.
Справедлива следующая апостериорная оценка погрешности:
max|x - x| max|x- x|, i = 1, 2, …, n, (3.29)
где = max |bij| i, j = 1, 2, …, n.
Правую часть оценки (3.29) легко вычислить после нахождения очередного приближения.
Критерий окончания. Если требуется найти решение с точностью , то в силу (3.29) итерационный процесс следует закончить как только на (k+1)-ом шаге выполнится неравенство:
max|x- x| < , i = 1, 2, …, n. (3.30)
Поэтому в качестве критерия окончания итерационного процесса можно использовать неравенство
max|x- x| < 1, i = 1, 2, …, n. (3.31)
где 1 = .
Если выполняется условие , то можно пользоваться более простым критерием окончания:
max|x- x| < , i = 1, 2, …, n. (3.32)
В других случаях использование критерия (3.32) неправомерно и может привести к преждевременному окончанию итерационного процесса.
Пример 3.5.
Применим метод простой итерации Якоби для решения системы уравнений
20.9x1 + 1.2 x2 + 2.1x3 + 0.9x4 = 21.70
1.2x1 + 21.2 x2 + 1.5x3 + 2.5x4 = 27.46
2.1x1 + 1.5 x2 + 19.8x3 + 1.3x4 = 28.76 (3.33)
0.9x1 + 2.5 x2 + 1.3x3 + 32.1x4 = 49.72
Заметим, что метод простой итерации сходится, т. к. выполняется условие преобладания диагональных элементов (3.28):
|20.9| > |1.2 + 2.1 + 0.9|,
|21.2| > |1.2| + |1.5| + |2.5|,
|19.8| > |2.1| + |1.5| + |1.3|,
|32.1| > |0.9| + |2.5| + |1.3|.
Пусть требуемая точность = 10-3. Вычисления будем проводить с четырьмя знаками после десятичной точки.
Приведем систему к виду (3.25):
x1 = - 0.0574 x2 - 0.1005x3 - 0.0431x4 + 1.0383
x2 = -0.0566x1 - 0.0708x3 - 0.1179x4 + 1.2953
x3 = -0.1061x1 - 0.0758 x2 - 0.0657x4 + 1.4525 (3.34)
x4 = -0.0280x1 - 0.0779 x2 - 0.0405x3 + 1.5489
Величина = max |bij|, i, j = 1, 2, 3,4 равна 0.1179, т. е. выполняется условие , и можно пользоваться критерием окончания итерационного процесса (3.32).
В качестве начального приближения возьмем элементы столбца свободных членов:
x = 1.0383, x = 1.2953, x = 1.4525, x = 1.5489. (3.35)
Вычисления будем вести до тех пор, пока все величины |x- x|, i = 1, 2, 3, 4, а следовательно, и max|x- x| не станут меньше = 10-3.
Последовательно вычисляем:
при k = 1
x = - 0.0574x - 0.1005x - 0.0431x + 1.0383 = 0.7512
x = -0.0566x - 0.0708x - 0.1179x + 1.2953 = 0.9511
x = -0.1061x - 0.0758 x - 0.0657x + 1.4525 = 1.1423
x = -0.0280x - 0.0779x - 0.0405x + 1.5489 = 1.3601
при k = 2
x= 0.8106, x= 1.0118, x= 1.2117, x= 1.4077.
при k = 3
x= 0.7978, x= 0.9977, x= 1.1975, x= 1.3983.
при k = 4
x= 0.8004, x= 1.0005, x= 1.2005, x = 1.4003.
Вычисляем модули разностей значений xпри k = 3 и k = 4:
| x- x| = 0.026, | x- x| = 0.028, | x- x| = 0.0030, | x- x| = 0.0020.
Так как все они больше заданной точности = 10-3, продолжаем итерации.
При k = 5
x= 0.7999, x= 0.9999, x= 1.1999, x = 1.3999.
Вычисляем модули разностей значений xпри k = 4 и k = 5:
| x- x| = 0.0005, | x- x| = 0.0006, | x - x| = 0.0006, | x- x| = 0.0004.
Все они меньше заданной точности = 10-3, поэтому итерации заканчиваем. Приближенным решением системы являются следующие значения:
x1 0.7999, x2 0.9999, x3 1.1999, x4 1.3999.
Для сравнения приведем точные значения переменных:
x1 = 0.8, x2 = 1.0, x3 = 1.2, x4 = 1.4.
3.7 Метод Зейделя
Модификацией метода простых итераций Якоби можно считать метод Зейделя.
В методе Якоби на (k+1)-ой итерации значения x, i = 1, 2, …, n. вычисляются подстановкой в правую часть (3.27) вычисленных на предыдущей итерации значений
x. В методе Зейделя при вычислении xиспользуются значения x, x, x, уже найденные на (k+1)-ой итерации, а не x, x, …, x,
как в методе Якоби, т.е. (k + 1)-е приближение строится следующим образом:
x = b12 x + b13 x + … + b1,n-1 x + b1n x +
c1
x = b21 x + b23 x + … + b2< i>,n-1 x + b2n x + c2
x= b31 x + b32 x + … + b3,n-1 x + b3n x +
c3 (3.36)
x= bn1 x + bn2 x x + bn3 x x+ … +
bn,n-1 x + c.n
Формулы (3.36) являются расчетными формулами метода Зейделя.
Введем нижнюю и верхнюю треугольные матрицы:
0 0 0 … 0 0 b12 b13 … b1n
b21 0 0 … 0 0 0 b23 … b2n
B1 = b31 b32 0 … 0 и B2 = 0 0 0 … b3n .
bn1 bn2 bn3 …0 0 0 0 … 0
Матричная запись расчетных формул (3.36) имеет вид:
xk+1= B1xk+1+ B2xk+
c. (3.37)
Так как B = B1+ B2, точное решение x* исходной системы удовлетворяет равенству:
x*= B1x*+ B2x*+ c. (3.38)
Сходимость метода Зейделя. Достаточным условием сходимости метода Зейделя является выполнение неравенства:
= max |bij|,< 1, i, j = 1, 2, …, n. (3.39)
Неравенство (3.39) означает, что для сходимости метода Зейделя достаточно, чтобы максимальный по модулю элемент матрицы B был меньше единицы.
Если выполнено условие (3.39), то справедлива следующая апостериорная оценка погрешности:
max|x - x| max|x- x| i = 1, 2, …, n, (3.40)
где - максимальный элемент матрицы B, 2 - максимальный элемент матрицы B2.
Правую часть оценки (3.40) легко вычислить после нахождения очередного приближения.
Критерий окончания. Если требуется найти решение с точностью , то в силу (3.37) итерационный процесс следует закончить как только на (k+1)-ом шаге выполнится неравенство:
max|x- x| < , i = 1, 2, …, n. (3.41)
Поэтому в качестве критерия окончания итерационного процесса можно использовать неравенство
max|x- x| < 1, i = 1, 2, …, n. (3.42)
где 1 = .
Если выполняется условие , то можно пользоваться более простым критерием окончания:
max|x- x| < , i = 1, 2, …, n. (3.43)
Метод Зейделя как правило сходится быстрее, чем метод Якоби. Однако возможны ситуации, когда метод Якоби сходится, а метод Зейделя сходится медленнее или вообще расходится.
Пример 3.6.
Применим метод Зейделя для решения системы уравнений (3.33) из примера 3.5. Первые шаги полностью совпадают с процедурой решения по методу Якоби, а именно: система приводится к виду (3.34), затем в
качестве начального приближения выбираются элементы столбца свободных членов (3.35). Проведем теперь итерации методом Зейделя.
При k = 1
x = - 0.0574x - 0.1005x - 0.0431x + 1.0383 = 0.7512
При вычислении xиспользуем уже полученное значение x:
x = -0.0566 x - 0.0708x - 0.1179x + 1.2953 = 0.9674
При вычислении x используем уже полученные значения x и x:
x = -0.1061 x - 0.0758 x - 0.0657x + 1.4525 = 1.1977
При вычислении x используем уже полученные значения x, x, x:
x = -0.0280 x - 0.0779 x - 0.0405x x + 1.5489 = 1.4037
Аналогичным образом проведем вычисления при k = 2 и k = 3. Получим:
при k = 2
x= 0.8019, x= 0.9996, x= 1.9996, x= 1.4000.
при k = 3
x= 0.80006, x= 1.00002, x= 1.19999, x= 1.40000.
Известны точные значения переменных:
x1 = 0.8, x2 = 1.0, x3 = 1.2, x4 = 1.4.
Сравнение с примером 3.5 показывает, что метод Зейделя сходится быстрее и дает более точный результат.
Тема 4. Приближение функций
4.1 Постановка задачи
Задача приближения (аппроксимации) функций заключается в том, чтобы для данной функции построить другую, отличную от нее функцию, значения которой достаточно близки к значениям данной функции.
Такая задача возникает на практике достаточно часто. Укажем наиболее типичные случаи.
1. Функция задана таблицей в конечном множестве точек, а вычисления нужно произвести в других точках.
2. Функция задана аналитически, но ее вычисление по формуле затруднительно.
При решении задачи поиска приближенной функции возникают следующие проблемы.
1. Необходимо выбрать вид приближенной функции. Для приближения широко используются многочлены, тригонометрические функции, показательные функции и т. д.
2. Необходимо выбрать критерий близости исходной и приближенной функции. Это может быть требование совпадения обеих функций в узловых точках (задача интерполяции), минимизация среднеквадратического
уклонения (метод наименьших квадратов) и др.
3. Необходимо указать правило (алгоритм), позволяющее с заданной точностью найти приближение функции.
4.2 Приближение функции многочленами Тейлора
Пусть функция y = f(x) определена в окрестности точки a и имеет в этой окрестности n + 1 производную. Тогда в этой окрестности справедлива формула Тейлора:
f(x) = c0 + c1(x - a) + c2(x - a)2 + … + cn(x - a )n
+ Rn(x) = Tn(x) + Rn(x),
где
ck =
Tn(x) - многочлен Тейлора:
Tn(x)= c0 + c1(x - a) + c2(x - a)2 + … + cn(x - a
)n, (4.1)
Rn(x) - остаточный член формулы Тейлора. Его можно записать различными способами, например, в форме Лагранжа:
Rn(x)= , a x.
Многочлен Тейлора (4.1) обладает свойством, что в точке x = a все его производные до порядка n включительно совпадают с соответствующими производными функции f, т. е.
T(a)= f(k)(a), k = 0, 1, …, n.
В этом легко убедиться, дифференцируя Tn(x). Благодаря этому свойству многочлен Тейлора хорошо приближает функцию f в окрестности точки a.
Погрешность приближения составляет
|f(x) - Tn(x)| = |Rn(x)|,
т. е. задавая некоторую точность > 0, можно определить окрестность точки a и значение n из условия:
|Rn(x)| = < . (4.2)
Пример 4.1.
Найдем приближение функции y = sinx многочленом Тейлора в окрестности точки a = 0. Воспользуемся известным выражением для k-ой производной функции sinx:
(sinx)(k) = sin x + k (4.3)
Применяя последовательно формулу (4.3), получим:
f(0) = sin0 = 0;
f (0) = cos(0) = 1;
f"(0) = -sin0 = 0;
f(2k-1)(0) = sin (2k - 1) = (-1)k - 1 ;
f(2k)(0) = 0;
f(2k+1)() = (-1)kcos.
Следовательно, многочлен Тейлора для функции y = sinx для n = 2k имеет вид:
sinx = x - + … + (-1)k - 1 + R2k(x),
R2k(x) = (-1)k .
Зададим = 10 -4 и отрезок [-,]. Определим n =2k из неравенства:
|R2k(x)| = < < < = 10-4.
Таким образом, на отрезке -, функция y = sinx с точностью до = 10-4 равна многочлену 5-ой степени:
sinx = x - + = x - 0.1667x3 + 0.0083x5.
Пример 4.2.
Найдем приближение функции y = ex многочленом Тейлора на отрезке [0, 1] с точностью = 10 -5.
Выберем a = ?, т. е в середине отрезка. При этом величина погрешности в левой части (4.2) принимает минимальное значение. Из математического анализа известно, что для k-ой производной
от ex справедливо равенство:
(ex)(k) = ex.
Поэтому
(ea)(k) = ea = e1/2,
Следовательно, многочлен Тейлора для функции y = ex имеет вид:
ex = e1/2 + e1/2(x - ?) + (x - ?)2
+ … + (x - ?)n+ Rn(x),
При этом, учитывая, что x [0, 1], получим оценку погрешности:
|Rn(x)| < . (4.4)
Составим таблицу погрешностей, вычисленных по формуле (4.4):
n
2
3
4
5
6
Rn
0.057
0.0071
0.00071
0.000059
0.0000043
Таким образом, следует взять n = 6.
4.3 Интерполяция функции многочленами Лагранжа
Рассмотрим другой подход к приближению функции многочленами. Пусть функция y = f(x) определена на отрезке [a, b] и известны значения этой функции в некоторой системе узлов
xi [a, b], i = 0, 1, … , n. Например, эти значения получены в эксперименте при наблюдении некоторой величины в определенных точках или в определенные
моменты времени x0, x1, … , xn. Обозначим эти значения следующим образом: yi =
f(xi), i = 0, 1, … , n. Требуется найти такой многочлен P(x) степени m,
P(x) = a0 + a1x + a2x2 + … + amxm, (4.5)
который бы в узлах xi, i = 0, 1, … , n принимал те же значения, что и исходная функция y = f(x), т. е.
P(xi) = yi, i = 0, 1, … , n. (4.6)
Многочлен (4.5), удовлетворяющий условию (4.6), называется интерполяционным многочленом.
Другими словами, ставится задача построения функции y = P(x), график которой проходит через заданные точки (xi, yi), i = 0, 1,
… , n (рис. 4.1).
Рис. 4.1
Объединяя (4.5) и (4.6), получим:
a0 + a1xi + a2x + … + amx = yi, i = 0, 1, … ,
n. (4.7)
В искомом многочлене P(x) неизвестными являются m +1 коэффициент a0 , a1, a2, …, am. Поэтому
систему (4.7) можно рассматривать как систему из n +1 уравнений с m +1 неизвестными. Известно, что для существования единственного решения такой системы необходимо , чтобы выполнялось
условие: m = n. Таким образом, систему (4.7) можно переписать в развернутом виде:
a0 + a1 x0 + a2x + … + anx = y0
a0 + a1 x1 + a2x + … + anx = y1
a0 + a1 x2 + a2x + … + anx = y2 (4.8)
.
a0 + a1 xn + a2x + … + anx = yn
Вопрос о существовании и единственности интерполяционного многочлена решает следующая теорема:
Теорема 4.1. Существует единственный интерполяционный многочлен степени n, удовлетворяющий условиям (4.6).
Имеются различные формы записи интерполяционного многочлена. Широко распространенной формой записи является многочлен Лагранжа
Ln(x) = = . (4.9)
В частности, для линейной и квадратичной интерполяции по Лагранжу получим следующие интерполяционные многочлены:
L1(x) = y0+ y1,
L2(x) = y0+ y1+ y2.
Пример 4.3.
Построим интерполяционный многочлен Лагранжа по следующим данным:
x
0
2
3
5
y
1
3
2
5
Степень многочлена Лагранжа для n +1 узла равна n. Для нашего примера многочлен Лагранжа имеет третью степень. В соответствии с (4.9)
L3(x) = 1+3 + 2 + 5 = 1 + x - x2 + x3.
Пример 4.4.
Рассмотрим пример использования интерполяционного многочлена Лагранжа для вычисления значения заданной функции в промежуточной точке. Эта задача возникает, например, когда заданы табличные значения
функции с крупным шагом, а требуется составить таблицу значений с маленьким шагом.
Для функции y = sinx известны следующие данные.
x
0
/6
/3
/2
y
0
?
1
Вычислим y(0.25).
Найдем многочлен Лагранжа третьей степени:
L3(x) = 0 + +
+ 1.
При x = 0.25 получим y(0.25) = sin 0.25 0.249.
Погрешность интерполяции. Пусть интерполяционный многочлен Лагранжа построен для известной функции f(x). Необходимо выяснить, насколько этот многочлен близок к функции в
точках отрезка [a, b], отличных от узлов. Погрешность интерполяции равна |f(x) - Pn(x)|. Оценку погрешности можно получить на основании
следующей теоремы.
Теорема 4.2. Пусть функция f(x) дифференцируема n +1 раз на отрезке [a, b], содержащем узлы интерполяции xi [a, b],
i = 0, 1, … , n. Тогда для погрешности интерполяции в точке x [a, b] справедлива оценка:
|f(x) - Ln(x)| |n+1(x)|, (4.10)
где
Mn+1 = |f(n+1)(x)|,
n+1(x) = (x - x0)(x - x1)…. (x - xn).
Для максимальной погрешности интерполяции на всем отрезке [a, b] справедлива оценка:
|f(x) - Ln(x)| |n(x)| (4.11)
Пример 4.5.
Оценим погрешность приближения функции f(x) = в точке x = 116 и на всем отрезке [a, b], где a = 100, b = 144, с помощью интерполяционного много
члена Лагранжа L2(x) второй степени, построенного с узлами x0 = 100, x2 = 144.
Найдем первую, вторую и третью производные функции f(x):
f (x)= x - 1/2, f "(x)= - x -3/2, f(x)= x -5/2.
M3 = | f(x)| = 100 -5/2 = 10 -5.
В соответствии с (4.9) получим оценку погрешности в точке x = 116:
| - L2(116)| |(116 - 100)(116 - 121)(116 - 144)| = 10 -516528 = 1.410 - 3.
Оценим погрешность приближения функции f(x) = на всем отрезке в соответствии с (4.11):
| - L2(x)| |(x - 100)(x - 121)(x -144)| 2.510-3.
4.4 Аппроксимация функций. Метод наименьших квадратов
В инженерной деятельности часто возникает необходимость описать в виде функциональной зависимости связь между величинами, заданными таблично или в виде набора точек с координатами
(xi, yi), i = 0, 1, 2,... , n, где n - общее количество точек. Как правило, эти табличные данные получены экспериментально и
имеют погрешности (рис. 2.5)
Рис.4.2
При аппроксимации желательно получить относительно простую функциональную зависимость (например, многочлен), которая позволила бы "сгладить" экспериментальные погрешности, вычислять значения
функции в точках, не содержащихся в исходной таблице.
Эта функциональная зависимость должна с достаточной точностью соответствовать исходной табличной зависимости. В качестве критерия точности чаще всего используют критерий наименьших
квадратов, т.е. определяют такую функциональную зависимость f(x), при которой
S =, (4.12)
обращается в минимум.
Погрешность приближения оценивается величиной среднеквадратического уклонения
= . (4.13)
В качестве функциональной зависимости рассмотрим многочлен
Pm(x)=a0 + a1x +
a2x2+...+amxm. (4.14)
Формула (4.12) примет вид
S =
Условия минимума S можно записать, приравнивая нулю частные производные S по всем переменным a0, a1, a2, … ,
am. Получим систему уравнений
= -= 0, или
= 0, k = 0, 1, … , m. (4.15)
Систему уравнений (4.15) перепишем в следующем виде:
a0+ a1+ … +am= , k = 0, 1, … , m (4.16)
Введем обозначения:
ck = , bk = .
Система (4.16) может быть записана так:
a0ck + a1ck+1 + … + ck+mam =
bk, k = 0, 1, … , m. (4.17)
Перепишем систему (4.17) в развернутом виде:
c0a0 + c1a1 + c2a2… + cmam =
b0
c1a0 + c2a1 + c3a2… + cm+1am
= b1
(4.18)
cma0 + cm+1a1 + cm+2a2… +
c2mam = bm
Матричная запись системы (4.18) имеет следующий вид:
Ca = b. (4.19)
Для определения коэффициентов ak, k = 0, 1, … , m, и, следовательно, искомого многочлена (4.14) необходимо вычислить суммы ck,
bk и решить систему уравнений (4.18). Матрица C системы (4.19) называется матрицей Грама и является симметричной и положительно определенной. Эти полезные свойства
используются при решении.
Погрешность приближения в соответствии с формулой (4.13) составит
= . (4.20)
Рассмотрим частные случаи m =1 и m = 2.
1. Линейная аппроксимация (m = 1).
P1(x) = a0 + a1x.
c0 = = n + 1; c1 = = ; c2 = ; (4.21)
b0 = = ; b1 = = . (4.22)
c0 c1 n+1
C = = ,
c1 c2
b = (b0, b1)T = (,)T.
Решение системы уравнений Ca = b найдем по правилу Крамера:
a0 = , a1 = ,
где C - определитель матрицы C, аCi - определитель матрицы Ci, полученной из матрицы C заменой i-го столбца столбцом
свободных членов b, i = 1, 2.
Таким образом,
a0 = , a1 = . (4.23)
Алгоритм 4.1 (Алгоритм метода наименьших квадратов. Линейная аппроксимация).
Шаг 1. Ввести исходные данные: xi, yi, i=0, 1, 2, ... , n.
Шаг 2. Вычислить коэффициенты c0, c1, b0, b1 по формулам (4.21), (4.22).
Шаг 3. Вычислить a0, a1 по формулам (4.23).
Шаг 4. Вычислить величину погрешности
1 = . (4.24)
Шаг 5. Вывести на экран результаты: аппроксимирующую линейную функцию P1(x) = a0 + a1x и величину погрешности
1.
2. Квадратичная аппроксимация (m = 2).
P2(x) = a0 + a1x + a2x2.
c0 == n+1; c1 ==; c2 =; c3 =; c4 =. (4.25)
b0 ==; b1 ==; b2 = . (4.26)
c0 c1 c2
C = c1 c2 c3 .
c2 c3 c4
b = (b0, b1, b2)T .
Решение системы уравнений Ca = b найдем по правилу Крамера:
ai = , i = 0, 1,
где C - определитель матрицы C, аCi - определитель матрицы Ci, полученной из матрицы C заменой i-го столбца столбцом
свободных членов b.
C = c0c2c4 + 2c1c2c3 - c - сc4 -
cc0. (4.27)
b0 c1 c2
C1 = b1 c2 c3 = b0c2c4 +
b2c1c3 + b1c2c3 - b2c-
b1c1c4 - b0c. (4.28)
b2 c3 c4
c0 b0 c2
C2 = c1 b1 c3 = b1c0c4 +
b0c2c3 + b2c1c2 - b1c-
b0c1c4 - b2c0c3. (4.29)
c2 b2 c4
c0 c1 b0
C3 = c1 c2 b1 = b2c0c2 +
b1c1c2 + b0c1c3 - b0c- b2c -
b1c0c3. (4.30)
c2 c3 b2
a0 = , a1 = , a2 = . (4.31)
Алгоритм 4.2 (Алгоритм метода наименьших квадратов. Квадратичная аппроксимация).
Шаг 1. Ввести исходные данные: xi, yi, i=0, 1, 2, ... , n.
Шаг 2. Вычислить коэффициенты c0, c1, c2, c3, c4, b0, b1,
b2, по формулам (4.25), (4.26).
Шаг 3. Вычислить C, C1, C2, C3 по формулам (4.27) - (4.30).
Шаг 4. Вычислить a0, a1, a2 по формулам (4.31).
Шаг 5. Вычислить величину погрешности
2 = . (4.32)
Шаг 5. Вывести на экран результаты : аппроксимирующую квадратичную функцию P2(x) = a0 + a1x +
a2x2 и величину погрешности 2.
Пример 4.6.
Построим по методу наименьших квадратов многочлены первой и второй степени и оценим степень приближения. Значения yi в точках xi , i =0, 1,
2, 3, 4 приведены в таблице 2.3.
Таблица 4.1
i
0
1
2
3
4
xi
1
2
3
4
5
yi
-1
1
2
4
6
Вычислим коэффициенты c0, c1, c2, c3, c4, b0, b1, b2,
по формулам (4.25), (4.26):
c0 = 5; c1 = 15; c2 = 55; c3 = 225; c4 = 979;
b0 = 12; b1 = 53; b2 = 235.
1. Линейная аппроксимация (m =1).
Система уравнений для определения коэффициентов a0 и a1 многочлена первой степени P2(x) = a0 +
a1x + a2x2 имеет вид
5a0 + 15a1 = 12
15a0 + 55a1 = 53
По формулам (4.23) найдем коэффициенты a0 и a1:
a0 = -2.7, a1 = 1.7.
P1(x) = a0 + a1x = -2.7 + 1.7x.
2. Квадратичная аппроксимация (m =2).
Система уравнений для определения коэффициентов a0, a1 и a2 многочлена второй степени P2(x) = a0 +
a1x + a2x2 имеет вид
5a0 + 15a1 + 55a2 = 12
15a0 + 55a1 + 225a2 = 53
55a0 + 225a1 + 979a2 = 235
По формулам (4.31) найдем коэффициенты a0, a1 и a2:
a0 -2.20, a1 1.27, a2 0.07.
P2(x) = a0 + a1x + a2x2 = -2.20 + 1.27x + 0.07x2.
Сравним значения, рассчитанные для функциональной зависимости, с исходными данными. Результаты приведены в табл.2.4.
Таблица 4.2
i
0
1
2
3
4
xi
1
2
3
4
5
yi
-1
1
2
4
6
P1(xi)
-1
0.7
2.4
4.1
5.8
P2(xi)
-1
0.62
2.24
4
6.9
Погрешность приближения в соответствии с формулами (4.24) и (4.32) составит
1 = = 0.245.
2 = = 0.084.
Тема 5. Численное интегрирование функций одной переменной
5.1 Постановка задачи численного интегрирования
Далеко не все интегралы можно вычислить по известной из математического анализа формуле Ньютона - Лейбница:
I == F(b) - F(a), (5.1)
где F(x) - первообразная функции f(x). Например, в элементарных функциях не выражается интеграл . Но даже в тех случаях, когда удается выразить первообразную
функцию F(x) через элементарные функции, она может оказаться очень сложной для вычислений. Кроме того, точное значение интеграла по формуле (5.1) нельзя получить, если функция
f(x) задается таблицей. В этих случаях обращаются к методам численного интегрирования.
Суть численного интегрирования заключается в том, что подынтегральную функцию f(x) заменяют другой приближенной функцией, так, чтобы, во-первых, она была близка к f(x)
и, во вторых, интеграл от нее легко вычислялся. Например, можно заменить подынтегральную функцию интерполяционным многочленом. Широко используют квадратурные формулы:
, (5.2)
где xi - некоторые точки на отрезке [a, b],называемые узлами квадратурной формулы, Ai - числовые коэффициенты,
называемые весами квадратурной формулы, n 0 - целое число.
5.2 Метод прямоугольников
Формулу прямоугольников можно получить из геометрической интерпретации интеграла. Будем интерпретировать интеграл как площадь криволинейной трапеции, ограниченной графиком функции y =
f(x), осью абсцисс и прямыми x = a и x = b (рис. 5.1).
Рис. 5.1
Разобьем отрезок [a, b] на n равных частей длиной h, так, что h = . При этом получим точки a = x0 < x1< x2
< … < xn = b и xi+1 = xi + h, i = 0, 1, … , n - 1 (рис. 5.2)
Рис. 5.2
Заменим приближенно площадь криволинейной трапеции площадью ступенчатой фигуры, изображенной на рис. 5.3.
Рис. 5.3
Эта фигура состоит из n прямоугольников. Основание i-го прямоугольника образует отрезок [xi, xi+1] длины h, а
высота основания равна значению функции в середине отрезка [xi, xi+1], т е. f(рис. 5.4).
Рис. 5.4
Тогда получим квадратурную формулу средних прямоугольников:
I = Iпр = (5.3)
Формулу (5.3) называют также формулой средних прямоугольников. Иногда используют формулы
I I = , (5.4)
I I = , (5.5)
которые называют соответственно квадратурными формулами левых и правых прямоугольников.
Геометрические иллюстрации этих формул приведены на рис. 5.5 и 5.6.
Рис. 5.5
Рис. 5. 6
Оценка погрешности. Для оценки погрешности формулы прямоугольников воспользуемся следующей теоремой .
Теорема 5.1. Пусть функция f дважды непрерывно дифференцируема на отрезке [a, b]. Тогда для формулы прямоугольников справедлива следующая оценка погрешности:
| I - Iпр | h2, (5.6)
где M2 = |f "(x)|
Пример 5.1.
Вычислим значение интеграла по формуле средних прямоугольников (5.3) с шагом h = 0.1.
Составим таблицу значений функции e(табл. 5.1):
Таблица 5.1
x
e
x
! | Как написать конспект Как правильно подойти к написанию чтобы быстро и информативно все зафиксировать. |
Конспект | Тема I.2. Объемно-планировочная и конструктивная организация зданий. |
Конспект | Глобализация |
Конспект | Понятие и виды компенсационных выплат |
Конспект | Связь педагогики с другими науками |
Конспект | Адаптация супругов в семье |